Elin Decompiled Documentation EA 23.306 Nightly
Loading...
Searching...
No Matches
Card Class Reference
Inheritance diagram for Card:
BaseCard IReservable ICardParent IRenderSource IGlobalValue IInspect EClass Chara Thing

Public Types

enum  MoveResult { Fail , Success , Door , Event }
 
enum  MoveType { Walk , Force }
 
- Public Types inherited from IInspect
enum  NoteMode { Default , Recipe , Product , Info }
 

Public Member Functions

override string ToString ()
 
bool CanReserve (AIAct act)
 
bool TryReserve (AIAct act)
 
void Mod ()
 
Window.SaveData GetWindowSaveData ()
 
bool IsExcludeFromCraft (Recipe.Ingredient ing)
 
void SetDirtyWeight ()
 
void ChangeWeight (int a)
 
int Evalue (int ele)
 
int Evalue (int ele, bool ignoreGlobalElement)
 
int EvalueMax (int ele, int min=0)
 
int Evalue (string alias)
 
bool HasTag (CTAG tag)
 
bool HasEditorTag (EditorTag tag)
 
void AddEditorTag (EditorTag tag)
 
void RemoveEditorTag (EditorTag tag)
 
virtual string GetName (NameStyle style, int num=-1)
 
virtual string GetExtraName ()
 
virtual string GetDetail ()
 
int GetBestAttribute ()
 
void ModExp (string alias, int a)
 
void ModExp (int ele, int a)
 
void ModExpParty (int ele, int a)
 
bool IsChildOf (Card c)
 
FindTool< T > ()
 
string ReferenceId ()
 
void Create (string _id, int _idMat=-1, int genLv=-1)
 
virtual void OnBeforeCreate ()
 
virtual void OnCreate (int genLv)
 
virtual void SetSource ()
 
virtual void ApplyEditorTags (EditorTag tag)
 
void ApplyTrait ()
 
Card SetLv (int a)
 
void ClampInitialSkill ()
 
void AddExp (int a, bool applyMod=true)
 
int GetExpMtp ()
 
int GetAffinityExpBonus ()
 
int GetDaysTogetherBonus ()
 
void LevelUp ()
 
virtual void ApplyMaterialElements (bool remove)
 
virtual void ApplyMaterial (bool remove=false)
 
Card ChangeMaterial (int idNew, bool ignoreFixedMaterial=false)
 
Card ChangeMaterial (string idNew, bool ignoreFixedMaterial=false)
 
Card ChangeMaterial (SourceMaterial.Row row, bool ignoreFixedMaterial=false)
 
void SetReplica (bool on)
 
Thing Add (string id, int num=1, int lv=1)
 
Card AddCard (Card c)
 
void RemoveCard (Card c)
 
void NotifyAddThing (Thing t, int num)
 
Thing AddThing (string id, int lv=-1)
 
Thing AddThing (Thing t, bool tryStack=true, int destInvX=-1, int destInvY=-1)
 
void PurgeDuplicateArtifact (Thing af)
 
void PurgeEythArtifact ()
 
void RemoveThings ()
 
void RemoveThing (Thing thing)
 
bool ShouldTrySetDirtyInventory ()
 
virtual bool CanStackTo (Thing to)
 
bool TryStackTo (Thing to)
 
ICardParent GetRoot ()
 
Card GetRootCard ()
 
bool IsStackable (Thing tg)
 
Thing Duplicate (int num)
 
Thing Split (int a)
 
Thing SetNum (int a)
 
Thing SetNoSell ()
 
void ModNum (int a, bool notify=true)
 
void AddSocket ()
 
void ApplySocket (Thing t)
 
void ApplySocket (int id, int lv, Card mod=null)
 
void EjectSockets ()
 
SocketData AddRune (Card rune)
 
SocketData AddRune (int idEle, int v, bool free)
 
SocketData GetRuneEnc (int idEle)
 
int CountRune (bool countFree=true)
 
int MaxRune ()
 
bool CanAddRune (TraitMod mod)
 
bool HasRune ()
 
void OnChildNumChange (Card c)
 
Card Install ()
 
void SetPlaceState (PlaceState newState, bool byPlayer=false)
 
int GetTotalQuality (bool applyBonus=true)
 
void ModEncLv (int a)
 
void SetEncLv (int a)
 
void SetTier (int a, bool setTraits=true)
 
virtual void SetBlessedState (BlessedState s)
 
virtual void ChangeRarity (Rarity q)
 
bool TryPay (int a, string id="money")
 
void SetCharge (int a)
 
void ModCharge (int a, bool destroy=false)
 
void ModCurrency (int a, string id="money")
 
int GetCurrency (string id="money")
 
virtual void HealHPHost (int a, HealSource origin=HealSource.None)
 
virtual void HealHP (int a, HealSource origin=HealSource.None)
 
virtual int GetArmorSkill ()
 
virtual long ApplyProtection (long dmg, int mod=100)
 
int GetResistPenetrationLevel (int idEle, AttackSource attackSource, Card origin=null)
 
void DamageHP (long dmg, AttackSource attackSource=AttackSource.None, Card origin=null)
 
void DamageHP (long dmg, int ele, int eleP=100, AttackSource attackSource=AttackSource.None, Card origin=null, bool showEffect=true, Thing weapon=null, Chara originalTarget=null, int resistPenetrationLevel=0)
 
void ApplyElementEffect (Element e, int eleP, Card origin, bool checkHostileAct=false)
 
virtual void Die (Element e=null, Card origin=null, AttackSource attackSource=AttackSource.None, Chara originalTarget=null)
 
void Explode (Point p, Card origin)
 
void Deconstruct ()
 
void Destroy ()
 
void SpawnLoot (Card origin)
 
Thing TryMakeRandomItem (int lv=-1, TryMakeRandomItemSource itemSource=TryMakeRandomItemSource.Default, Chara crafter=null)
 
Card MakeFoodFrom (string _id)
 
Card MakeFoodFrom (Card c)
 
void MakeFoodRef (Card c1, Card c2=null)
 
string TryGetFoodName (Card c)
 
string GetFoodName (string s)
 
void MakeFigureFrom (string id)
 
Card MakeRefFrom (string id)
 
void MakeRefFrom (Card c1, Card c2=null, bool simple=false)
 
Thing MakeEgg (bool effect=true, int num=1, bool addToZone=true, int fertChance=20, BlessedState? state=null)
 
Thing MakeMilk (bool effect=true, int num=1, bool addToZone=true, BlessedState? state=null)
 
Thing GiveBirth (Thing t, bool effect)
 
void HatchEgg ()
 
Card SetHidden (bool hide=true)
 
virtual MoveResult _Move (Point p, MoveType type=MoveType.Walk)
 
void MoveImmediate (Point p, bool focus=true, bool cancelAI=true)
 
void Teleport (Point point, bool silent=false, bool force=false)
 
virtual void OnLand ()
 
MoveResult TryMoveFrom (Point p)
 
virtual MoveResult TryMove (Point newPoint, bool allowDestroyPath=true)
 
void Kick (Point p, bool ignoreSelf=false, bool checkWall=true)
 
void Kick (Chara t, bool ignoreSelf=false, bool karmaLoss=true, bool show=true, bool checkWall=true)
 
int ResistLvFrom (int ele)
 
int ResistLv (int res)
 
bool HasElement (int ele, bool includeNagative=false)
 
bool HasElement (int ele, int req)
 
bool HasElement (string id, int req=1)
 
bool HasGlobalElement (int ele)
 
bool HasElementNoCopy ()
 
virtual CardRenderer _CreateRenderer ()
 
void AddBlood (int a=1, int id=-1)
 
RenderParam GetRenderParam ()
 
virtual void SetRenderParam (RenderParam p)
 
void DyeRandom ()
 
void Dye (string idMat)
 
void Dye (SourceMaterial.Row mat)
 
int RefreshColor ()
 
ref Color GetRandomColor ()
 
virtual Sprite GetSprite (int dir=0)
 
virtual Sprite GetImageSprite ()
 
void SetImage (Image image, int dir, int idSkin=0)
 
virtual void SetImage (Image image)
 
void ShowEmo (Emo _emo=Emo.none, float duration=0f, bool skipSame=true)
 
void PlaySoundHold (bool spatial=true)
 
void PlaySoundDrop (bool spatial=true)
 
void PlaySoundImpact (bool spatial=true)
 
void PlaySoundDead (bool spatial=true)
 
SoundSource PlaySound (string id, float v=1f, bool spatial=true)
 
void KillAnime ()
 
void PlayAnime (AnimeID id, bool force=false)
 
void PlayAnime (AnimeID id, Point dest, bool force=false)
 
void PlayAnimeLoot ()
 
Effect PlayEffect (string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
 
void PlayEffect (int ele, bool useRenderPos=true, float range=0f)
 
virtual void SetDir (int d)
 
void SetRandomDir ()
 
virtual void LookAt (Card c)
 
virtual void LookAt (Point p)
 
virtual void Rotate (bool reverse=false)
 
void ChangeAltitude (int a)
 
virtual SubPassData GetSubPassData ()
 
void SetFreePos (Point point)
 
void RenderMarker (Point point, bool active, HitResult result, bool main, int dir, bool useCurrentPosition=false)
 
void RecalculateFOV ()
 
bool HasLight ()
 
float GetLightPower ()
 
int GetHearingRadius ()
 
int GetSightRadius ()
 
int GetLightRadius ()
 
void CalculateFOV ()
 
void SetRandomLightColors ()
 
Fov CreateFov ()
 
void ClearFOV ()
 
virtual void OnSimulateHour (VirtualDate date)
 
void DecayNatural (int hour=1)
 
void CheckJustCooked ()
 
void Decay (int a=10)
 
bool HasTalk (string idTopic)
 
void Talk (string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
 
void TalkRaw (string text, string ref1=null, string ref2=null, bool forceSync=false)
 
string StripTalkSpeiclaCharacters (string text)
 
string ApplyNewLine (string text)
 
void SayRaw (string text, string ref1=null, string ref2=null)
 
void SayNothingHappans ()
 
void Say (string lang, string ref1=null, string ref2=null)
 
void Say (string lang, Card c1, Card c2, string ref1=null, string ref2=null)
 
void Say (string lang, Card c1, string ref1=null, string ref2=null)
 
string GetTalkText (string idTopic, bool stripPun=false, bool useDefault=true)
 
string ApplyTone (string text, bool stripPun=false)
 
void SetRandomTalk ()
 
void SetRandomTone ()
 
bool HasCraftBonusTrait ()
 
List< ElementListCraftBonusTraits ()
 
void TryStack (Thing t)
 
void ApplyBacker (int bid)
 
void RemoveBacker ()
 
void SetPaintData ()
 
byte[] GetPaintData ()
 
void ClearPaintSprite ()
 
Sprite GetPaintSprite ()
 
void TryUnrestrain (bool force=false, Chara c=null)
 
TraitShackle GetRestrainer ()
 
virtual void Tick ()
 
Thing SetPriceFix (int a)
 
int GetEquipValue ()
 
void SetSale (bool sale)
 
int GetValue (PriceType priceType=PriceType.Default, bool sell=false)
 
virtual int GetPrice (CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
 
virtual string GetHoverText ()
 
virtual string GetHoverText2 ()
 
int Dist (Card c)
 
int Dist (Point p)
 
bool IsInMutterDistance (int d=10)
 
void SetCensored (bool enable)
 
void SetDeconstruct (bool deconstruct)
 
virtual bool MatchEncSearch (string s)
 
virtual void SetSortVal (UIList.SortMode m, CurrencyType currency=CurrencyType.Money)
 
virtual int SecondaryCompare (UIList.SortMode m, Card c)
 
void ForeachFOV (Func< Point, bool > func)
 
void ForeachPoint (Action< Point, bool > action)
 
void OnInspect ()
 
virtual void WriteNote (UINote n, Action< UINote > onWriteNote=null, IInspect.NoteMode mode=IInspect.NoteMode.Default, Recipe recipe=null)
 
void Inspect ()
 
virtual bool HasCondition< T > ()
 
virtual T GetCondition< T > ()
 
bool HaveFur ()
 
bool CanBeSheared ()
 
- Public Member Functions inherited from BaseCard
bool GetBool (int id)
 
void SetBool (int id, bool enable)
 
int GetInt (int id, int? defaultInt=null)
 
void AddInt (int id, int value)
 
void SetInt (int id, int value=0)
 
string GetStr (int id, string defaultStr=null)
 
void SetStr (int id, string value=null)
 
GetObj< T > (int id)
 
void SetObj (int id, object o)
 
SetObj< T > (int id, object o)
 
ICardParent GetRoot ()
 
void RemoveCard (Card c)
 
void OnChildNumChange (Card c)
 
string ReferenceId ()
 
void WriteNote (UINote n, Action< UINote > onWriteNote=null, NoteMode mode=NoteMode.Default, Recipe recipe=null)
 
void OnInspect ()
 

Static Public Member Functions

static string ApplyTone (Chara c, ref string text, string _tones, int gender, bool stripPun=false)
 
static int GetTilePrice (TileRow row, SourceMaterial.Row mat)
 
- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
static int rnd (int a)
 
static int curve (long _a, int start, int step, int rate=75)
 
static int sqrt (int a)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 

Public Attributes

int[] _ints = new int[30]
 
string id = ""
 
ThingContainer things = new ThingContainer()
 
ElementContainerCard elements = new ElementContainerCard()
 
Biography bio
 
List< int > sockets
 
AIAct reservedAct
 
Props props
 
Trait trait
 
ICardParent parent
 
Fov fov
 
Point pos = new Point()
 
Point lastPos = new Point()
 
CardRenderer renderer
 
CardRow hat
 
int turn
 
int _colorInt
 
float roundTimer
 
float angle = 180f
 
float animeCounter
 
bool isDestroyed
 
CardBlueprint bp
 
BitArray32 _bits1
 
BitArray32 _bits2
 
PlaceState placeState
 
bool dirtyWeight = true
 
SourceMaterial.Row _material
 
Emo lastEmo
 
int sortVal
 
- Public Attributes inherited from BaseCard
Dictionary< int, object > mapObj = new Dictionary<int, object>()
 
Dictionary< int, int > mapInt = new Dictionary<int, int>()
 
Dictionary< int, string > mapStr = new Dictionary<int, string>()
 

Static Public Attributes

const int MaxWeight = 10000000
 
const int SocketDiv = 1000
 
const int DamageLimit = 99999999
 
- Static Public Attributes inherited from EClass
static Core core
 

Protected Member Functions

virtual void OnSerializing ()
 
virtual void OnDeserialized ()
 

Properties

Card parentCard [get]
 
Thing parentThing [get]
 
int colorInt [get]
 
bool IsHotItem [get]
 
int uid [get, set]
 
int idMaterial [get, set]
 
int dir [get, set]
 
int Num [get, set]
 
int _x [get, set]
 
int _z [get, set]
 
int genLv [get, set]
 
int refVal [get, set]
 
int decay [get, set]
 
int altitude [get, set]
 
int hp [get, set]
 
float fx [get, set]
 
float fy [get, set]
 
BlessedState blessedState [get, set]
 
PlaceState _placeState [get, set]
 
int rarityLv [get, set]
 
Rarity rarity [get, set]
 
int encLV [get, set]
 
int posInvX [get, set]
 
int posInvY [get, set]
 
int idSkin [get, set]
 
int feat [get, set]
 
int LV [get, set]
 
int exp [get, set]
 
int tier [get, set]
 
int version [get, set]
 
bool isCensored [get, set]
 
bool isDeconstructing [get, set]
 
bool isDyed [get, set]
 
bool isModified [get, set]
 
bool isNew [get, set]
 
bool isPlayerCreation [get, set]
 
bool ignoreAutoPick [get, set]
 
bool freePos [get, set]
 
bool isHidden [get, set]
 
bool isOn [get, set]
 
bool isNPCProperty [get, set]
 
bool isRestrained [get, set]
 
bool isRoofItem [get, set]
 
bool isMasked [get, set]
 
bool disableAutoToggle [get, set]
 
bool isImported [get, set]
 
bool autoRefuel [get, set]
 
bool ignoreStackHeight [get, set]
 
bool isFloating [get, set]
 
bool isWeightChanged [get, set]
 
bool isFireproof [get, set]
 
bool isAcidproof [get, set]
 
bool isReplica [get, set]
 
bool isSummon [get, set]
 
bool isElemental [get, set]
 
bool isBroken [get, set]
 
bool isSubsetCard [get, set]
 
bool noSnow [get, set]
 
bool noMove [get, set]
 
bool isGifted [get, set]
 
bool isCrafted [get, set]
 
bool isLostProperty [get, set]
 
bool noShadow [get, set]
 
bool noSell [get, set]
 
bool isLeashed [get, set]
 
bool isStolen [get, set]
 
bool isSale [get, set]
 
bool isCopy [get, set]
 
bool isRestocking [get, set]
 
bool hasSpawned [get, set]
 
bool isScaled [get, set]
 
bool isFav [get, set]
 
bool isBackerContent [get]
 
SourceBacker.Row sourceBacker [get]
 
BedType c_bedType [get, set]
 
int c_equippedSlot [get, set]
 
int c_lockLv [get, set]
 
Hostility c_originalHostility [get, set]
 
MinionType c_minionType [get, set]
 
int c_vomit [get, set]
 
bool c_wasInPcParty [get, set]
 
bool c_isImportant [get, set]
 
bool c_lockedHard [get, set]
 
bool c_revealLock [get, set]
 
bool c_isTrained [get, set]
 
bool c_isPrayed [get, set]
 
bool c_isDisableStockUse [get, set]
 
int c_lightColor [get, set]
 
Color LightColor [get]
 
int c_uidZone [get, set]
 
int c_uidRefCard [get, set]
 
int c_priceFix [get, set]
 
int c_priceAdd [get, set]
 
int c_priceCopy [get, set]
 
int c_fixedValue [get, set]
 
int c_uidAttune [get, set]
 
int c_dyeMat [get, set]
 
VisitorState visitorState [get, set]
 
RescueState c_rescueState [get, set]
 
BossType c_bossType [get, set]
 
int c_dateStockExpire [get, set]
 
int c_dateDeathLock [get, set]
 
int c_IDTState [get, set]
 
int c_charges [get, set]
 
int c_bill [get, set]
 
int c_invest [get, set]
 
int c_seed [get, set]
 
int c_allowance [get, set]
 
int c_fur [get, set]
 
int c_dateCooked [get, set]
 
int c_lockedAge [get, set]
 
int c_containerSize [get, set]
 
int c_weight [get, set]
 
int c_diceDim [get, set]
 
int c_indexContainerIcon [get, set]
 
int c_idMainElement [get, set]
 
int c_summonDuration [get, set]
 
int c_idBacker [get, set]
 
int c_uidMaster [get, set]
 
int c_ammo [get, set]
 
int c_daysWithGod [get, set]
 
int c_daysWithPC [get, set]
 
string c_idPortrait [get, set]
 
string c_idRace [get, set]
 
string c_idJob [get, set]
 
string c_idTone [get, set]
 
string c_color [get, set]
 
string c_idSpriteReplacer [get, set]
 
string c_idTalk [get, set]
 
string c_idDeity [get, set]
 
string c_altName [get, set]
 
string c_altName2 [get, set]
 
string c_extraNameRef [get, set]
 
string c_refText [get, set]
 
string c_idRefName [get, set]
 
string c_idRidePCC [get, set]
 
string c_idAbility [get, set]
 
string c_context [get, set]
 
string c_idEditor [get, set]
 
string c_editorTags [get, set]
 
string c_editorTraitVal [get, set]
 
string c_idTrait [get, set]
 
string c_idRefCard [get, set]
 
string c_idRefCard2 [get, set]
 
string c_note [get, set]
 
UniqueData c_uniqueData [get, set]
 
Thing ammoData [get, set]
 
List< SocketDatasocketList [get, set]
 
Thing c_copyContainer [get, set]
 
Window.SaveData c_windowSaveData [get, set]
 
CharaUpgrade c_upgrades [get, set]
 
LoveData c_love [get, set]
 
CharaGenes c_genes [get, set]
 
List< int > c_corruptionHistory [get, set]
 
ContainerUpgrade c_containerUpgrade [get, set]
 
DNA c_DNA [get, set]
 
CharaList c_charaList [get, set]
 
MixedFoodData c_mixedFoodData [get, set]
 
Thing c_bloodData [get, set]
 
byte[] c_textureData [get, set]
 
SourceMaterial.Row DyeMat [get]
 
int invX [get, set]
 
int invY [get, set]
 
CardRow refCard [get]
 
CardRow refCard2 [get]
 
int ExpToNext [get]
 
int DefaultLV [get]
 
int ChildrenWeight [get]
 
int ChildrenAndSelfWeight [get]
 
int ChildrenAndSelfWeightSingle [get]
 
virtual int SelfWeight [get]
 
virtual int WeightLimit [get]
 
SourceCategory.Row category [get]
 
SourceMaterial.Row material [get]
 
virtual string AliasMaterialOnCreate [get]
 
Cell Cell [get]
 
virtual Thing Thing [get]
 
virtual Chara Chara [get]
 
virtual bool isThing [get]
 
virtual bool isChara [get]
 
bool ExistsOnMap [get]
 
virtual bool isSynced [get]
 
bool IsContainer [get]
 
bool IsUnique [get]
 
bool IsPowerful [get]
 
bool IsImportant [get]
 
virtual SourcePref Pref [get]
 
virtual bool IsDeadOrSleeping [get]
 
virtual bool IsDisabled [get]
 
virtual bool IsMoving [get]
 
virtual bool flipX [get]
 
virtual bool IsAliveInCurrentZone [get]
 
virtual string actorPrefab [get]
 
virtual CardRow sourceCard [get]
 
virtual CardRow sourceRenderCard [get]
 
virtual RenderRow TileRow [get]
 
TileType TileType [get]
 
string Name [get]
 
string NameSimple [get]
 
string NameOne [get]
 
virtual bool IsPC [get]
 
bool _IsPC [get]
 
virtual bool IsPCC [get]
 
virtual bool IsPCParty [get]
 
virtual bool IsMinion [get]
 
virtual bool IsPCPartyMinion [get]
 
virtual bool IsPCFactionMinion [get]
 
virtual bool IsMultisize [get]
 
bool IsToolbelt [get]
 
bool IsLightsource [get]
 
bool IsEquipment [get]
 
bool IsFood [get]
 
bool IsInheritFoodTraits [get]
 
bool ShowFoodEnc [get]
 
bool IsWeapon [get]
 
bool IsEquipmentOrRanged [get]
 
bool IsEquipmentOrRangedOrAmmo [get]
 
bool IsMeleeWeapon [get]
 
bool IsRangedWeapon [get]
 
bool IsThrownWeapon [get]
 
bool IsAmmo [get]
 
bool IsAgent [get]
 
bool IsFurniture [get]
 
bool IsBlessed [get]
 
bool IsCursed [get]
 
bool IsRestrainedResident [get]
 
virtual bool IsPCFaction [get]
 
bool IsPCFactionOrMinion [get]
 
virtual bool IsGlobal [get]
 
virtual int MaxDecay [get]
 
bool IsDecayed [get]
 
bool IsRotting [get]
 
bool IsFresn [get]
 
virtual int MaxHP [get]
 
virtual int Power [get]
 
int FameLv [get]
 
virtual int[] Tiles [get]
 
virtual int PrefIndex [get]
 
bool IsVariation [get]
 
virtual int DV [get]
 
virtual int PV [get]
 
int HIT [get]
 
int DMG [get]
 
int STR [get]
 
int DEX [get]
 
int END [get]
 
int PER [get]
 
int LER [get]
 
int WIL [get]
 
int MAG [get]
 
int CHA [get]
 
int INT [get]
 
int LUC [get]
 
int W [get]
 
int H [get]
 
bool IsIdentified [get]
 
string TextRarity [get]
 
bool IsInstalled [get]
 
bool IsMale [get]
 
bool IsNegativeGift [get]
 
bool HasContainerSize [get]
 
Thing Tool [get]
 
virtual SourceMaterial.Row DefaultMaterial [get]
 
virtual bool HasHost [get]
 
int Quality [get]
 
int QualityLv [get]
 
LightData LightData [get]
 
CardRenderer HostRenderer [get]
 
bool ShouldShowMsg [get]
 
bool CanInspect [get]
 
string InspectName [get]
 
Point InspectPoint [get]
 
Vector3 InspectPosition [get]
 
- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 
- Properties inherited from IInspect
bool CanInspect [get]
 
string InspectName [get]
 
Point InspectPoint [get]
 
Vector3 InspectPosition [get]
 

Private Member Functions

void _OnSerializing (StreamingContext context)
 
void _OnDeserialized (StreamingContext context)
 

Private Attributes

int _childrenWeight
 
SourceCategory.Row _category
 
LightData _LightData
 
Sprite _paintSprite
 

Static Private Attributes

static Color _randColor
 

Detailed Description

Definition at line 10 of file Card.cs.

Member Enumeration Documentation

◆ MoveResult

Enumerator
Fail 
Success 
Door 
Event 

Definition at line 12 of file Card.cs.

◆ MoveType

Enumerator
Walk 
Force 

Definition at line 20 of file Card.cs.

21 {
22 Walk,
23 Force
24 }

Member Function Documentation

◆ _CreateRenderer()

virtual CardRenderer Card._CreateRenderer ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 6267 of file Card.cs.

6268 {
6269 renderer = new CardRenderer();
6270 renderer.SetOwner(this);
6271 return renderer;
6272 }
virtual void SetOwner(Card c)
Definition: CardRenderer.cs:38
CardRenderer renderer
Definition: Card.cs:64

References CardRenderer.SetOwner().

Referenced by _OnDeserialized(), Create(), RecipeCard.CreateMold(), Chara.HoldCard(), SerializedCards.Restore(), SetPlaceState(), AM_MoveInstalled.SetTarget(), and TraitFakeTile.TrySetHeldAct().

◆ _Move()

virtual MoveResult Card._Move ( Point  p,
MoveType  type = MoveType::Walk 
)
inlinevirtual

Reimplemented in Chara.

Definition at line 5996 of file Card.cs.

5997 {
5998 EClass._map.MoveCard(p, this);
5999 if (isChara)
6000 {
6001 Chara.SyncRide();
6002 }
6003 return MoveResult.Success;
6004 }
MoveResult
Definition: Card.cs:13
virtual bool isChara
Definition: Card.cs:2123
Definition: Chara.cs:10
void SyncRide()
Definition: Chara.cs:4008
Definition: EClass.cs:6
static Map _map
Definition: EClass.cs:19
void MoveCard(Point p, Card t)
Definition: Map.cs:853

References EClass._map, Map.MoveCard(), and Chara.SyncRide().

Referenced by Recipe.Build(), and ActThrow.Throw().

◆ _OnDeserialized()

void Card._OnDeserialized ( StreamingContext  context)
inlineprivate

Definition at line 2748 of file Card.cs.

2749 {
2750 if (version < 2 && sockets != null)
2751 {
2752 for (int i = 0; i < sockets.Count; i++)
2753 {
2754 sockets[i] = sockets[i] / 100 * 1000 + sockets[i] % 100;
2755 }
2756 }
2757 _bits1.SetInt(_ints[0]);
2758 _bits2.SetInt(_ints[2]);
2760 pos.Set(_x, _z);
2761 SetSource();
2762 things.SetOwner(this);
2763 elements.SetOwner(this, applyFeat: false);
2765 ApplyTrait();
2766 ApplyMaterialElements(remove: false);
2768 foreach (Thing thing in things)
2769 {
2770 thing.parent = this;
2771 }
2772 if (isThing && Num <= 0)
2773 {
2774 isDestroyed = true;
2775 }
2776 if (version < 5)
2777 {
2778 if (version < 3 && isChara && HasElement(1210))
2779 {
2780 elements.ModBase(960, -5 * Evalue(1210));
2781 }
2782 if (version < 4 && isChara && HasElement(1210))
2783 {
2784 elements.ModBase(423, Evalue(1210));
2785 }
2786 if (version < 5)
2787 {
2788 if (isChara && Chara.race.id == "horse" && Chara.body.GetSlot(30, onlyEmpty: false) == null)
2789 {
2792 }
2793 if (isChara && Chara.race.id == "bike" && id != "bike_cub")
2794 {
2795 Rand.SetSeed(uid);
2797 Chara.SetFeat(1423, 1 + EClass.rnd(10));
2798 Rand.SetSeed();
2799 }
2800 }
2801 version = 5;
2802 }
2803 BaseModManager.PublishEvent(isChara ? "elin.chara_created" : "elin.thing_created", this);
2804 }
static void PublishEvent(string eventId, object data=null)
bool isDestroyed
Definition: Card.cs:78
BitArray32 _bits1
Definition: Card.cs:82
virtual bool isThing
Definition: Card.cs:2121
int version
Definition: Card.cs:425
virtual void ApplyMaterialElements(bool remove)
Definition: Card.cs:3110
ElementContainerCard elements
Definition: Card.cs:42
virtual void SetSource()
Definition: Card.cs:2929
BitArray32 _bits2
Definition: Card.cs:84
virtual CardRenderer _CreateRenderer()
Definition: Card.cs:6267
PlaceState placeState
Definition: Card.cs:86
Point pos
Definition: Card.cs:60
virtual void OnDeserialized()
Definition: Card.cs:2806
int[] _ints
Definition: Card.cs:33
int uid
Definition: Card.cs:125
void ApplyTrait()
Definition: Card.cs:2958
ThingContainer things
Definition: Card.cs:39
int Evalue(int ele)
Definition: Card.cs:2613
int _z
Definition: Card.cs:185
PlaceState _placeState
Definition: Card.cs:293
int Num
Definition: Card.cs:161
int _x
Definition: Card.cs:173
List< int > sockets
Definition: Card.cs:48
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6214
void AddBodyPart(int ele, Thing thing=null)
Definition: CharaBody.cs:283
BodySlot GetSlot(Thing t, bool onlyEmpty=false, bool secondSlot=false)
Definition: CharaBody.cs:369
void RefreshBodyParts()
Definition: CharaBody.cs:309
CharaBody body
Definition: Chara.cs:94
void SetFeat(int id, int value=1, bool msg=false)
Definition: Chara.cs:10165
SourceRace.Row race
Definition: Chara.cs:466
static int rnd(long a)
Definition: EClass.cs:59
void SetOwner(Card c, bool applyFeat)
Element ModBase(int ele, int v)
Point Set(int _x, int _z)
Definition: Point.cs:503
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:44
void SetOwner(Card owner)
Definition: Thing.cs:8
void SetInt(int i)
Definition: BitArray32.cs:89

References _bits1, _bits2, _CreateRenderer(), _ints, _placeState, _x, _z, CharaBody.AddBodyPart(), ApplyMaterialElements(), ApplyTrait(), Chara.body, elements, Evalue(), CharaBody.GetSlot(), HasElement(), isChara, isDestroyed, isThing, ElementContainer.ModBase(), Num, OnDeserialized(), placeState, pos, BaseModManager.PublishEvent(), Chara.race, CharaBody.RefreshBodyParts(), EClass.rnd(), Point.Set(), Chara.SetFeat(), BitArray32.SetInt(), ElementContainerCard.SetOwner(), ThingContainer.SetOwner(), Rand.SetSeed(), SetSource(), sockets, things, uid, and version.

◆ _OnSerializing()

void Card._OnSerializing ( StreamingContext  context)
inlineprivate

Definition at line 2733 of file Card.cs.

2734 {
2735 _x = pos.x;
2736 _z = pos.z;
2737 _ints[0] = _bits1.ToInt();
2738 _ints[2] = _bits2.ToInt();
2740 OnSerializing();
2741 }
virtual void OnSerializing()
Definition: Card.cs:2743
int x
Definition: Point.cs:36
int z
Definition: Point.cs:39
int ToInt()
Definition: BitArray32.cs:84

References _bits1, _bits2, _ints, _placeState, _x, _z, OnSerializing(), placeState, pos, BitArray32.ToInt(), Point.x, and Point.z.

◆ Add()

Thing Card.Add ( string  id,
int  num = 1,
int  lv = 1 
)
inline

Definition at line 3159 of file Card.cs.

3160 {
3161 if (num == 0)
3162 {
3163 num = 1;
3164 }
3165 return AddCard(ThingGen.Create(id, -1, lv).SetNum(num)) as Thing;
3166 }
Card AddCard(Card c)
Definition: Card.cs:3168
Thing SetNum(int a)
Definition: Card.cs:3579
virtual Thing Thing
Definition: Card.cs:2098
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53

References AddCard(), ThingGen.Create(), SetNum(), and Thing.

Referenced by DropdownGrid.BuildIngredients(), ThingGen.CreateTreasureContent(), ZonePreEnterBout.Execute(), ThingContainer.FindStealable(), DramaOutcome.ListFelmeraBarter(), CraftUtil.MakeDish(), Zone_TestRoom.OnGenerateMap(), TraitBaseContainer.Prespawn(), UIRecipeInfo.RefreshList(), SerializedCards.Restore(), SpawnLoot(), Zone.SpawnLostItems(), Player.TargetRanged(), and Map.TryShatter().

◆ AddBlood()

void Card.AddBlood ( int  a = 1,
int  id = -1 
)
inline

Definition at line 6274 of file Card.cs.

6275 {
6276 if (!EClass._zone.IsRegion)
6277 {
6278 for (int i = 0; i < a; i++)
6279 {
6280 EClass._map.AddDecal(pos.x + ((EClass.rnd(2) != 0) ? (EClass.rnd(3) - 1) : 0), pos.z + ((EClass.rnd(2) != 0) ? (EClass.rnd(3) - 1) : 0), (id == -1) ? (isChara ? Chara.race.blood : material.decal) : id);
6281 }
6282 PlaySound("blood");
6283 }
6284 }
SourceMaterial.Row material
Definition: Card.cs:2091
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6472
static Zone _zone
Definition: EClass.cs:21
void AddDecal(int x, int z, int id, int amount=1, bool refresh=true)
Definition: Map.cs:2050
virtual bool IsRegion
Definition: Spatial.cs:515

References EClass._map, EClass._zone, Map.AddDecal(), Spatial.IsRegion, material, Chara.race, EClass.rnd(), Point.x, and Point.z.

Referenced by TraitSyringe.EffectInject(), and ConBleed.Tick().

◆ AddCard()

◆ AddEditorTag()

void Card.AddEditorTag ( EditorTag  tag)
inline

Definition at line 2647 of file Card.cs.

2648 {
2649 c_editorTags = (c_editorTags.IsEmpty() ? tag.ToString() : (c_editorTags + "," + tag));
2650 }
string c_editorTags
Definition: Card.cs:1729

References c_editorTags.

Referenced by Zone.Activate(), Player.CreateEquip(), ThingGen.CreateTreasureContent(), Zone_Nymelle.OnBeforeSimulate(), QuestDialog.OnDropReward(), Zone_DungeonPuppy.OnGenerateMap(), and CoreDebug.TestSpawn().

◆ AddExp()

void Card.AddExp ( int  a,
bool  applyMod = true 
)
inline

Definition at line 3025 of file Card.cs.

3026 {
3027 if (applyMod)
3028 {
3029 a = a * GetExpMtp() / 100;
3030 }
3031 exp += a;
3032 while (exp >= ExpToNext && exp > 0 && ExpToNext > 0)
3033 {
3034 exp -= ExpToNext;
3035 LevelUp();
3036 }
3037 }
int ExpToNext
Definition: Card.cs:2048
void LevelUp()
Definition: Card.cs:3071
int exp
Definition: Card.cs:401
int GetExpMtp()
Definition: Card.cs:3039

References exp, ExpToNext, GetExpMtp(), and LevelUp().

Referenced by Chara.GiveGift(), Player.MoveZone(), Player.OnAdvanceHour(), ElementContainerCard.OnLevelUp(), and TraitBookExp.OnRead().

◆ AddRune() [1/2]

SocketData Card.AddRune ( Card  rune)
inline

Definition at line 3682 of file Card.cs.

3683 {
3684 return AddRune(rune.refVal, rune.encLV, rune.trait is TraitRuneFree);
3685 }
SocketData AddRune(Card rune)
Definition: Card.cs:3682
int refVal
Definition: Card.cs:209
Trait trait
Definition: Card.cs:54
int encLV
Definition: Card.cs:329

References AddRune(), encLV, refVal, and trait.

Referenced by InvOwnerMod._OnProcess(), AddRune(), and RecipeCard.Craft().

◆ AddRune() [2/2]

SocketData Card.AddRune ( int  idEle,
int  v,
bool  free 
)
inline

Definition at line 3687 of file Card.cs.

3688 {
3689 if (socketList == null)
3690 {
3691 socketList = new List<SocketData>();
3692 }
3693 SourceElement.Row row = EClass.sources.elements.map[idEle];
3694 SocketData socketData = new SocketData
3695 {
3696 idEle = idEle,
3697 value = v,
3698 type = SocketData.Type.Rune,
3699 isFree = free
3700 };
3701 socketList.Add(socketData);
3702 if (IsWeapon || !row.IsWeaponEnc)
3703 {
3704 elements.SetTo(idEle, v);
3705 }
3706 return socketData;
3707 }
List< SocketData > socketList
Definition: Card.cs:1825
bool IsWeapon
Definition: Card.cs:2248
static SourceManager sources
Definition: EClass.cs:43
void SetTo(int id, int v)
SourceElement elements

References elements, SourceManager.elements, IsWeapon, SourceElement.Row.IsWeaponEnc, ElementContainer.SetTo(), socketList, and EClass.sources.

◆ AddSocket()

void Card.AddSocket ( )
inline

Definition at line 3625 of file Card.cs.

3626 {
3627 if (sockets == null)
3628 {
3629 sockets = new List<int>();
3630 }
3631 sockets.Add(0);
3632 }

References sockets.

Referenced by Thing.OnCreate().

◆ AddThing() [1/2]

◆ AddThing() [2/2]

Thing Card.AddThing ( Thing  t,
bool  tryStack = true,
int  destInvX = -1,
int  destInvY = -1 
)
inline

Definition at line 3187 of file Card.cs.

3188 {
3189 if (t.Num == 0 || t.isDestroyed)
3190 {
3191 Debug.LogWarning("tried to add destroyed thing:" + t.Num + "/" + t.isDestroyed + "/" + t?.ToString() + "/" + this);
3192 return t;
3193 }
3194 if (t.parent == this)
3195 {
3196 Debug.LogWarning("already child:" + t);
3197 return t;
3198 }
3199 if (things.Contains(t))
3200 {
3201 Debug.Log("already in the list" + t);
3202 return t;
3203 }
3204 _ = t.parent;
3205 _ = EClass._zone;
3206 bool flag = IsPC && t.GetRootCard() == EClass.pc;
3207 if (t.parent != null)
3208 {
3209 t.parent.RemoveCard(t);
3210 }
3211 if (t.trait.ToggleType == ToggleType.Fire && destInvY == 0)
3212 {
3213 t.trait.Toggle(on: false);
3214 }
3215 t.isMasked = false;
3216 t.ignoreAutoPick = false;
3217 t.parent = this;
3218 t.noShadow = false;
3219 t.isSale = false;
3220 if (t.IsContainer)
3221 {
3222 t.RemoveEditorTag(EditorTag.PreciousContainer);
3223 }
3224 t.invX = -1;
3225 if (destInvY == -1)
3226 {
3227 t.invY = 0;
3228 }
3229 if (t.IsUnique && t.HasTag(CTAG.godArtifact) && t.GetRootCard() is Chara { IsPCFactionOrMinion: not false })
3230 {
3232 }
3233 Thing thing = (tryStack ? things.TryStack(t, destInvX, destInvY) : t);
3234 if (t == thing)
3235 {
3236 things.Add(t);
3237 things.OnAdd(t);
3238 }
3239 if (thing == t && IsPC && EClass.core.IsGameStarted && EClass._map != null && parent == EClass.game.activeZone && pos.IsValid && !flag)
3240 {
3241 NotifyAddThing(t, t.Num);
3242 }
3243 if (t == thing && isThing && parent == EClass._zone && placeState != 0)
3244 {
3246 }
3249 {
3251 LayerInventory.SetDirty(thing);
3252 }
3253 if (IsPC)
3254 {
3255 goto IL_029f;
3256 }
3257 if (IsContainer)
3258 {
3259 Card rootCard = GetRootCard();
3260 if (rootCard != null && rootCard.IsPC)
3261 {
3262 goto IL_029f;
3263 }
3264 }
3265 goto IL_0345;
3266 IL_0345:
3267 return thing;
3268 IL_029f:
3269 t.isNPCProperty = false;
3270 t.isGifted = false;
3271 int count = 0;
3272 HashSet<string> ings = EClass.player.recipes.knownIngredients;
3273 TryAdd(t);
3274 if (t.CanSearchContents)
3275 {
3276 t.things.Foreach(delegate(Thing _t)
3277 {
3278 TryAdd(_t);
3279 });
3280 }
3281 if (count > 0 && EClass.core.IsGameStarted)
3282 {
3283 Msg.Say((count == 1) ? "newIng" : "newIngs", count.ToString() ?? "");
3284 }
3285 goto IL_0345;
3286 void TryAdd(Thing a)
3287 {
3288 if (!ings.Contains(a.id))
3289 {
3290 ings.Add(a.id);
3291 count++;
3292 if (a.sourceCard.origin != null && !ings.Contains(a.sourceCard.origin.id))
3293 {
3294 ings.Add(a.sourceCard.origin.id);
3295 }
3296 }
3297 }
3298 }
CTAG
Definition: CTAG.cs:2
EditorTag
Definition: EditorTag.cs:2
ToggleType
Definition: ToggleType.cs:2
void Add(Act a, string s="")
Definition: ActPlan.cs:11
CardRow origin
Definition: CardRow.cs:49
string id
Definition: CardRow.cs:7
Definition: Card.cs:11
void PurgeDuplicateArtifact(Thing af)
Definition: Card.cs:3300
void RemoveEditorTag(EditorTag tag)
Definition: Card.cs:2652
string id
Definition: Card.cs:36
bool IsUnique
Definition: Card.cs:2131
ICardParent parent
Definition: Card.cs:56
void NotifyAddThing(Thing t, int num)
Definition: Card.cs:3178
bool HasTag(CTAG tag)
Definition: Card.cs:2637
void SetDirtyWeight()
Definition: Card.cs:2596
bool ShouldTrySetDirtyInventory()
Definition: Card.cs:3463
virtual bool IsPC
Definition: Card.cs:2185
Card GetRootCard()
Definition: Card.cs:3510
bool IsContainer
Definition: Card.cs:2129
bool IsGameStarted
Definition: Core.cs:84
static Game game
Definition: EClass.cs:9
static Core core
Definition: EClass.cs:7
static Player player
Definition: EClass.cs:13
static Chara pc
Definition: EClass.cs:15
Zone activeZone
Definition: Game.cs:252
static void SetDirty(Thing t)
PropsStocked Stocked
Definition: Map.cs:121
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
RecipeManager recipes
Definition: Player.cs:1164
bool IsValid
Definition: Point.cs:88
void Add(Card t)
Definition: Props.cs:63
HashSet< string > knownIngredients
void OnAdd(Thing t)
Thing TryStack(Thing target, int destInvX=-1, int destInvY=-1)
void Foreach(Action< Thing > action, bool onlyAccessible=true)
bool CanSearchContents
Definition: Thing.cs:98
override CardRow sourceCard
Definition: Thing.cs:47
virtual void Toggle(bool on, bool silent=false)
Definition: Trait.cs:1258
virtual ToggleType ToggleType
Definition: Trait.cs:482
void RemoveCard(Card c)

References EClass._map, EClass._zone, Game.activeZone, ActPlan.List.Add(), Props.Add(), Thing.CanSearchContents, EClass.core, Debug, ThingContainer.Foreach(), EClass.game, GetRootCard(), HasTag(), id, CardRow.id, IsContainer, isDestroyed, Core.IsGameStarted, IsPC, isThing, IsUnique, Point.IsValid, RecipeManager.knownIngredients, NotifyAddThing(), Num, ThingContainer.OnAdd(), CardRow.origin, parent, EClass.pc, placeState, EClass.player, pos, PurgeDuplicateArtifact(), Player.recipes, ICardParent.RemoveCard(), RemoveEditorTag(), Msg.Say(), LayerInventory.SetDirty(), SetDirtyWeight(), ShouldTrySetDirtyInventory(), Thing.sourceCard, Map.Stocked, things, Trait.Toggle(), Trait.ToggleType, ToString(), trait, and ThingContainer.TryStack().

◆ ApplyBacker()

void Card.ApplyBacker ( int  bid)
inline

Definition at line 7327 of file Card.cs.

7328 {
7329 ChangeRarity(Rarity.Normal);
7330 SourceBacker.Row row = EClass.sources.backers.map.TryGetValue(bid);
7331 if (row == null)
7332 {
7333 return;
7334 }
7335 c_idBacker = row.id;
7336 if (row.type == 4)
7337 {
7339 Chara chara = Chara;
7340 Hostility hostility2 = (Chara.c_originalHostility = Hostility.Neutral);
7341 chara.hostility = hostility2;
7342 }
7343 if (row.type == 6)
7344 {
7347 Chara.idFaith = row.deity.ToLowerInvariant();
7348 }
7349 if (row.type == 4 || row.type == 5 || row.type == 7)
7350 {
7351 idSkin = ((row.skin == 0) ? EClass.rnd(sourceCard._tiles.Length) : row.skin);
7352 if (id == "putty_snow")
7353 {
7354 idSkin = 0;
7355 }
7356 }
7357 if (bid == 164)
7358 {
7359 Chara.EQ_ID("amulet_moonnight");
7360 }
7361 }
@ ChangeRarity
Hostility
Definition: Hostility.cs:2
Rarity
Definition: Rarity.cs:2
void SetGender(int g)
Definition: Biography.cs:478
void SetPortrait(Chara c)
Definition: Biography.cs:487
virtual Chara Chara
Definition: Card.cs:2110
Biography bio
Definition: Card.cs:45
int c_idBacker
Definition: Card.cs:1465
int idSkin
Definition: Card.cs:365
virtual CardRow sourceCard
Definition: Card.cs:2171
Thing EQ_ID(string s, int mat=-1, Rarity r=Rarity.Random)
Definition: Chara.cs:5180
int[] _tiles
Definition: RenderRow.cs:12
SourceBacker backers

References RenderRow._tiles, SourceManager.backers, bio, ChangeRarity, SourceBacker.Row.deity, Chara.EQ_ID(), SourceBacker.Row.gender, SourceBacker.Row.id, EClass.rnd(), Biography.SetGender(), Biography.SetPortrait(), SourceBacker.Row.skin, EClass.sources, and SourceBacker.Row.type.

Referenced by BackerContentInspector.ContentCard.Apply(), Zone_Casino.OnActivate(), Chara.OnCreate(), TraitSpecialLantern.OnCreate(), SerializedCards.Restore(), and Zone.TrySpawnFollower().

◆ ApplyEditorTags()

virtual void Card.ApplyEditorTags ( EditorTag  tag)
inlinevirtual

Reimplemented in Chara.

Definition at line 2933 of file Card.cs.

2934 {
2935 switch (tag)
2936 {
2937 case EditorTag.Hidden:
2938 SetHidden();
2939 break;
2940 case EditorTag.Empty:
2941 RemoveThings();
2942 break;
2943 case EditorTag.IsOn:
2944 isOn = true;
2945 break;
2946 case EditorTag.IsOff:
2947 isOn = false;
2948 break;
2949 case EditorTag.NoSnow:
2950 noSnow = true;
2951 break;
2952 case EditorTag.Boss:
2953 EClass._zone.Boss = Chara;
2954 break;
2955 }
2956 }
Card SetHidden(bool hide=true)
Definition: Card.cs:5989
bool isOn
Definition: Card.cs:545
bool noSnow
Definition: Card.cs:761
void RemoveThings()
Definition: Card.cs:3394

References Chara, isOn, noSnow, RemoveThings(), and SetHidden().

Referenced by SerializedCards.Restore().

◆ ApplyElementEffect()

void Card.ApplyElementEffect ( Element  e,
int  eleP,
Card  origin,
bool  checkHostileAct = false 
)
inline

Definition at line 4970 of file Card.cs.

4971 {
4972 if (!isChara)
4973 {
4974 return;
4975 }
4976 bool flag = true;
4977 bool hostile = false;
4978 switch (e.id)
4979 {
4980 case 910:
4981 if (Chance(30 + eleP / 5, 100))
4982 {
4983 MarkHostile().AddCondition<ConBurning>(eleP);
4984 }
4985 break;
4986 case 911:
4987 if (Chara.isWet)
4988 {
4989 if (Chance(30 + eleP / 10, 100))
4990 {
4992 }
4993 }
4994 else if (Chance(50 + eleP / 10, 100))
4995 {
4996 Chara.AddCondition<ConWet>(eleP);
4997 }
4998 break;
4999 case 912:
5000 if (Chance(75 + eleP / 20, 100) && EClass.rnd(3) == 0)
5001 {
5002 Chara.AddCondition<ConParalyze>(1, force: true);
5003 }
5004 break;
5005 case 915:
5006 if (Chance(30 + eleP / 5, 100))
5007 {
5008 MarkHostile().AddCondition<ConPoison>(eleP);
5009 }
5010 break;
5011 case 913:
5012 if (Chance(30 + eleP / 5, 100))
5013 {
5015 }
5016 break;
5017 case 918:
5018 flag = false;
5019 if (Chance(30 + eleP / 5, 100))
5020 {
5022 }
5023 break;
5024 case 914:
5025 flag = false;
5026 if (EClass.rnd(3) != 0)
5027 {
5028 if (Chance(30 + eleP / 5, 100))
5029 {
5031 }
5032 }
5033 else if (Chance(30 + eleP / 5, 100))
5034 {
5036 }
5037 break;
5038 case 917:
5039 if (Chance(50 + eleP / 10, 100))
5040 {
5041 Chara.AddCondition<ConDim>(eleP);
5042 }
5043 break;
5044 case 925:
5045 if (EClass.rnd(3) == 0)
5046 {
5047 if (Chance(30 + eleP / 5, 100))
5048 {
5049 Chara.AddCondition<ConDim>(eleP);
5050 }
5051 }
5052 else if (EClass.rnd(2) == 0)
5053 {
5054 if (EClass.rnd(3) == 0)
5055 {
5056 Chara.AddCondition<ConParalyze>(1, force: true);
5057 }
5058 }
5059 else if (EClass.rnd(2) == 0)
5060 {
5061 Chara.AddCondition<ConConfuse>(1 + EClass.rnd(3), force: true);
5062 }
5063 break;
5064 case 920:
5065 flag = false;
5066 if (Chance(5 + eleP / 25, 40))
5067 {
5068 Chara.AddCondition<ConBlind>(eleP / 2);
5069 }
5070 if (Chance(5 + eleP / 25, 40))
5071 {
5072 Chara.AddCondition<ConParalyze>(eleP / 2);
5073 }
5074 if (Chance(5 + eleP / 25, 40))
5075 {
5076 Chara.AddCondition<ConConfuse>(eleP / 2);
5077 }
5078 if (Chance(5 + eleP / 25, 40))
5079 {
5080 MarkHostile().AddCondition<ConPoison>(eleP / 2);
5081 }
5082 if (Chance(5 + eleP / 25, 40))
5083 {
5084 Chara.AddCondition<ConSleep>(eleP / 2);
5085 }
5086 if (Chance(5 + eleP / 25, 40))
5087 {
5088 Chara.AddCondition<ConDim>(eleP / 2);
5089 }
5090 if (Chance(30 + eleP / 10, 100))
5091 {
5092 Chara.SAN.Mod(EClass.rnd(2));
5093 }
5094 break;
5095 case 924:
5096 if (Chance(50 + eleP / 10, 100))
5097 {
5098 MarkHostile().AddCondition<ConBleed>(eleP);
5099 }
5100 break;
5101 case 923:
5102 if (Chance(50 + eleP / 10, 100) && EClass.rnd(4) == 0)
5103 {
5105 }
5106 break;
5107 case 922:
5108 Chara.ModCorruption(EClass.rnd(eleP / 50 + 10));
5109 break;
5110 }
5111 if (Chara.conSleep != null && flag)
5112 {
5114 }
5115 if (checkHostileAct && hostile && origin != null && origin.isChara)
5116 {
5117 origin.Chara.DoHostileAction(this);
5118 }
5119 static bool Chance(int a, int max)
5120 {
5121 return Mathf.Min(a, max) > EClass.rnd(100);
5122 }
5123 Chara MarkHostile()
5124 {
5125 hostile = true;
5126 return Chara;
5127 }
5128 }
EffectId
Definition: EffectId.cs:2
static void Proc(EffectId id, Card cc, Card tc=null, int power=100, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:1040
bool isWet
Definition: Chara.cs:144
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:9526
ConSleep conSleep
Definition: Chara.cs:102
Stats SAN
Definition: Chara.cs:1184
void ModCorruption(int a)
Definition: Chara.cs:10107
void DoHostileAction(Card _tg, bool immediate=false)
Definition: Chara.cs:6509
Definition: ConDim.cs:2
Definition: ConWet.cs:2
void Kill(bool silent=false)
Definition: Condition.cs:95
int id
Definition: ELEMENT.cs:255
virtual void Mod(int a)
Definition: Stats.cs:135

References Chara.AddCondition(), Chara, Chara.conSleep, Chara.DoHostileAction(), Element.id, isChara, Chara.isWet, Condition.Kill(), Stats.Mod(), Chara.ModCorruption(), ActEffect.Proc(), EClass.rnd(), and Chara.SAN.

Referenced by AI_PlayMusic.Run().

◆ ApplyMaterial()

virtual void Card.ApplyMaterial ( bool  remove = false)
inlinevirtual

Reimplemented in Thing.

Definition at line 3114 of file Card.cs.

3115 {
3116 _colorInt = 0;
3117 }
int _colorInt
Definition: Card.cs:70

References _colorInt.

Referenced by ChangeMaterial(), and Create().

◆ ApplyMaterialElements()

virtual void Card.ApplyMaterialElements ( bool  remove)
inlinevirtual

Reimplemented in Thing.

Definition at line 3110 of file Card.cs.

3111 {
3112 }

Referenced by _OnDeserialized(), and ModEncLv().

◆ ApplyNewLine()

string Card.ApplyNewLine ( string  text)
inline

Definition at line 7117 of file Card.cs.

7118 {
7119 if (text.Contains("&"))
7120 {
7121 string text2 = "_comma".lang();
7122 text = text.Replace(text2 + " &", Environment.NewLine ?? "");
7123 text = text.Replace(text2 + "&", Environment.NewLine ?? "");
7124 text = text.Replace("&", Environment.NewLine ?? "");
7125 }
7126 return text;
7127 }

◆ ApplyProtection()

virtual long Card.ApplyProtection ( long  dmg,
int  mod = 100 
)
inlinevirtual

Definition at line 4126 of file Card.cs.

4127 {
4128 int armorSkill = GetArmorSkill();
4129 Element orCreateElement = elements.GetOrCreateElement(armorSkill);
4130 int num = PV + orCreateElement.Value + DEX / 10;
4131 int num2 = 1;
4132 int sides = 1;
4133 int bonus = 0;
4134 if (num > 0)
4135 {
4136 int num3 = num / 4;
4137 num2 = num3 / 10 + 1;
4138 sides = num3 / num2 + 1;
4139 bonus = 0;
4140 dmg = dmg * 100 / Mathf.Max(100 + num, 1);
4141 }
4142 int num4 = Dice.Roll(num2, sides, bonus, this);
4143 dmg -= num4 * mod / 100;
4144 if (dmg < 0)
4145 {
4146 dmg = 0L;
4147 }
4148 return dmg;
4149 }
virtual int PV
Definition: Card.cs:2369
int DEX
Definition: Card.cs:2377
virtual int GetArmorSkill()
Definition: Card.cs:4121
Definition: Dice.cs:5
static int Roll(int num, int sides, int bonus=0, Card card=null)
Definition: Dice.cs:48
Element GetOrCreateElement(Element ele)

References DEX, elements, GetArmorSkill(), ElementContainer.GetOrCreateElement(), PV, and Dice.Roll().

Referenced by ActMelee.Attack().

◆ ApplySocket() [1/2]

void Card.ApplySocket ( int  id,
int  lv,
Card  mod = null 
)
inline

Definition at line 3642 of file Card.cs.

3643 {
3644 for (int i = 0; i < sockets.Count; i++)
3645 {
3646 if (sockets[i] == 0)
3647 {
3648 if (lv >= 1000)
3649 {
3650 lv = 999;
3651 }
3652 sockets[i] = id * 1000 + lv;
3653 elements.ModBase(id, lv);
3654 mod?.Destroy();
3655 break;
3656 }
3657 }
3658 }
void Destroy()
Definition: Card.cs:5198

References elements, ElementContainer.ModBase(), and sockets.

◆ ApplySocket() [2/2]

void Card.ApplySocket ( Thing  t)
inline

Definition at line 3634 of file Card.cs.

3635 {
3636 if (t.trait is TraitMod traitMod && sockets != null)
3637 {
3638 ApplySocket(traitMod.source.id, traitMod.owner.encLV, traitMod.owner);
3639 }
3640 }
void ApplySocket(Thing t)
Definition: Card.cs:3634

References ApplySocket(), sockets, and trait.

Referenced by InvOwnerMod._OnProcess(), ApplySocket(), and Thing.OnCreate().

◆ ApplyTone() [1/2]

static string Card.ApplyTone ( Chara  c,
ref string  text,
string  _tones,
int  gender,
bool  stripPun = false 
)
inlinestatic

Definition at line 7203 of file Card.cs.

7204 {
7205 if (text.IsEmpty())
7206 {
7207 return text;
7208 }
7209 string[] array = _tones.IsEmpty("").Split('|');
7210 string key = array[0];
7211 string text2 = "";
7213 if (!Lang.setting.useTone || MOD.tones.list.Count == 0)
7214 {
7215 text2 = text.Replace("{", "").Replace("}", "");
7216 }
7217 else
7218 {
7219 if (array[0].IsEmpty())
7220 {
7221 key = "default";
7222 }
7223 if (MOD.tones.all.ContainsKey(key))
7224 {
7225 StringBuilder stringBuilder = MOD.tones.ApplyTone(key, ref text, gender);
7226 if (Lang.isJP && c != null)
7227 {
7228 if (array.Length >= 2)
7229 {
7230 stringBuilder.Replace("_toneI".lang(), array[1]);
7231 }
7232 if (array.Length >= 3)
7233 {
7234 stringBuilder.Replace("_toneYou".lang(), array[2]);
7235 }
7236 }
7237 text2 = stringBuilder.ToString();
7238 }
7239 else
7240 {
7241 text2 = text.Replace("{", "").Replace("}", "");
7242 }
7243 }
7244 if (c != null)
7245 {
7246 text2 = text2.Replace("#me", c.NameSimple);
7247 }
7248 if (!stripPun || !Lang.setting.stripPuns)
7249 {
7250 return text2;
7251 }
7252 return text2.StripLastPun();
7253 }
string NameSimple
Definition: Card.cs:2181
Dictionary< string, Dictionary< string, string > > all
Definition: ExcelDataList.cs:8
List< Dictionary< string, string > > list
virtual void Initialize()
bool stripPuns
Definition: LangSetting.cs:44
bool useTone
Definition: LangSetting.cs:40
Definition: Lang.cs:6
static LangSetting setting
Definition: Lang.cs:54
static bool isJP
Definition: Lang.cs:38
Definition: MOD.cs:7
static ToneDataList tones
Definition: MOD.cs:12
StringBuilder ApplyTone(string id, ref string text, int gender)
Definition: ToneDataList.cs:11

References ExcelDataList.all, ToneDataList.ApplyTone(), ExcelDataList.Initialize(), Lang.isJP, ExcelDataList.list, NameSimple, Lang.setting, LangSetting.stripPuns, MOD.tones, and LangSetting.useTone.

◆ ApplyTone() [2/2]

string Card.ApplyTone ( string  text,
bool  stripPun = false 
)
inline

Definition at line 7197 of file Card.cs.

7198 {
7199 text = GameLang.ConvertDrama(text, Chara);
7200 return ApplyTone(Chara, ref text, c_idTone, bio?.gender ?? 0, stripPun);
7201 }
string c_idTone
Definition: Card.cs:1561
string ApplyTone(string text, bool stripPun=false)
Definition: Card.cs:7197
static string ConvertDrama(string text, Chara c=null)
Definition: GameLang.cs:21

References GameLang.ConvertDrama().

Referenced by Person.ApplyTone(), DramaCustomSequence.GetText(), and Quest.Parse().

◆ ApplyTrait()

void Card.ApplyTrait ( )
inline

Definition at line 2958 of file Card.cs.

2959 {
2960 string str = c_idTrait;
2961 if (str.IsEmpty())
2962 {
2963 if (!sourceCard.trait.IsEmpty())
2964 {
2965 trait = ClassCache.Create<Trait>("Trait" + sourceCard.trait[0], "Elin");
2966 }
2967 }
2968 else
2969 {
2970 trait = ClassCache.Create<Trait>(str, "Elin");
2971 }
2972 if (trait == null)
2973 {
2974 trait = (isChara ? new TraitChara() : new Trait());
2975 }
2976 trait.SetOwner(this);
2977 }
string[] trait
Definition: CardRow.cs:33
string c_idTrait
Definition: Card.cs:1753
Definition: Trait.cs:7
virtual void SetOwner(Card _owner)
Definition: Trait.cs:663

References c_idTrait, isChara, Trait.SetOwner(), sourceCard, trait, and CardRow.trait.

Referenced by _OnDeserialized(), Create(), and SerializedCards.Restore().

◆ CalculateFOV()

void Card.CalculateFOV ( )
inline

Definition at line 6805 of file Card.cs.

6806 {
6807 int radius = GetLightRadius();
6808 if (radius == 0 || !IsAliveInCurrentZone || !EClass._zone.isStarted)
6809 {
6810 return;
6811 }
6812 float power = GetLightPower();
6813 if (IsPC)
6814 {
6815 if (Chara.held != null && Chara.held.GetLightRadius() > 0)
6816 {
6817 power += Chara.held.GetLightPower();
6818 }
6819 if (radius <= 2)
6820 {
6821 power = 0f;
6822 }
6823 foreach (Condition condition in Chara.conditions)
6824 {
6825 condition.OnCalculateFov(fov, ref radius, ref power);
6826 }
6827 if (power > EClass.scene.profile.global.playerLightPowerLimit)
6828 {
6829 power = EClass.scene.profile.global.playerLightPowerLimit;
6830 }
6831 power *= EClass.scene.profile.light.playerLightMod + (float)EClass.player.customLightMod * EClass.scene.profile.light.playerLightCustomMod;
6832 radius += EvalueMax(490) + EClass._zone.SightRadiusBonus;
6833 EClass.player.lightRadius = radius;
6834 EClass.player.lightPower = power;
6835 }
6836 if (fov == null)
6837 {
6838 fov = CreateFov();
6839 }
6840 fov.Perform(pos.x, pos.z, radius, power * 2f);
6841 }
int EvalueMax(int ele, int min=0)
Definition: Card.cs:2627
float GetLightPower()
Definition: Card.cs:6707
Fov fov
Definition: Card.cs:58
Fov CreateFov()
Definition: Card.cs:6848
virtual bool IsAliveInCurrentZone
Definition: Card.cs:2167
int GetLightRadius()
Definition: Card.cs:6735
Card held
Definition: Chara.cs:70
List< Condition > conditions
Definition: Chara.cs:213
virtual void OnCalculateFov(Fov fov, ref int radius, ref float power)
Definition: Condition.cs:79
static Scene scene
Definition: EClass.cs:31
void Perform(int _x, int _z, int _range, float power=1f)
Definition: Fov.cs:139
int customLightMod
Definition: Player.cs:1026
SceneGlobalProfile global
Definition: SceneProfile.cs:6
SceneLightProfile light
Definition: SceneProfile.cs:10
SceneProfile profile
Definition: Scene.cs:75
bool isStarted
Definition: Zone.cs:73
virtual int SightRadiusBonus
Definition: Zone.cs:133

References EClass._zone, Chara.conditions, Player.customLightMod, GetLightPower(), GetLightRadius(), SceneProfile.global, Chara.held, Zone.isStarted, SceneProfile.light, Condition.OnCalculateFov(), Fov.Perform(), EClass.player, SceneLightProfile.playerLightCustomMod, Scene.profile, EClass.scene, Zone.SightRadiusBonus, Point.x, and Point.z.

Referenced by Map._AddCard(), TaskHarvest.OnCreateProgress(), and Map.RefreshFOV().

◆ CanAddRune()

bool Card.CanAddRune ( TraitMod  mod)
inline

Definition at line 3745 of file Card.cs.

3746 {
3747 SourceElement.Row source = mod.source;
3748 if (category.slot == 0)
3749 {
3750 return false;
3751 }
3752 if (material.HasEnc(source.id))
3753 {
3754 return false;
3755 }
3756 if (!IsWeapon && source.IsWeaponEnc)
3757 {
3758 return false;
3759 }
3760 if (source.category == "resist")
3761 {
3762 foreach (Element item in elements.ListElements())
3763 {
3764 if (item.source.category == "resist" && (item.vBase != 0 || item.vSource != 0))
3765 {
3766 return false;
3767 }
3768 }
3769 }
3770 string encSlot = source.encSlot;
3771 if (encSlot == null || encSlot.Length != 0)
3772 {
3773 switch (encSlot)
3774 {
3775 case "shield":
3776 if (!category.IsChildOf("shield") && !category.IsChildOf("martial"))
3777 {
3778 return false;
3779 }
3780 break;
3781 default:
3782 {
3783 bool flag = false;
3784 string[] array = source.encSlot.Split(',');
3785 foreach (string key in array)
3786 {
3787 if (EClass.sources.elements.alias[key].id == category.slot)
3788 {
3789 flag = true;
3790 }
3791 }
3792 if (!flag)
3793 {
3794 return false;
3795 }
3796 break;
3797 }
3798 case "global":
3799 case "all":
3800 case "weapon":
3801 break;
3802 }
3803 }
3804 if (mod is TraitRuneFree)
3805 {
3806 return true;
3807 }
3808 return CountRune(countFree: false) < MaxRune();
3809 }
int CountRune(bool countFree=true)
Definition: Card.cs:3724
int MaxRune()
Definition: Card.cs:3740
SourceCategory.Row category
Definition: Card.cs:2089
List< Element > ListElements(Func< Element, bool > shoudList=null, Comparison< Element > comparison=null)
SourceElement.Row source
Definition: TraitMod.cs:11

References category, SourceElement.Row.category, CountRune(), elements, SourceManager.elements, SourceElement.Row.encSlot, SourceElement.Row.id, IsWeapon, SourceElement.Row.IsWeaponEnc, item, ElementContainer.ListElements(), material, MaxRune(), TraitMod.source, and EClass.sources.

Referenced by RecipeCard.Craft(), and InvOwnerMod.ShouldShowGuide().

◆ CanBeSheared()

bool Card.CanBeSheared ( )
inline

Definition at line 8249 of file Card.cs.

8250 {
8252 {
8253 return false;
8254 }
8255 if (!HaveFur() || c_fur < 0)
8256 {
8257 return false;
8258 }
8259 return true;
8260 }
bool HaveFur()
Definition: Card.cs:8235
int c_fur
Definition: Card.cs:1357
virtual bool IsUserZone
Definition: Zone.cs:273

References EClass._zone, and Zone.IsUserZone.

Referenced by TraitToolShears.GetHeldEmo(), AI_Shear.IsValidTC(), TCOrbitThing.RefreshAll(), and TraitToolShears.TrySetHeldAct().

◆ CanReserve()

bool Card.CanReserve ( AIAct  act)
inline

Definition at line 2534 of file Card.cs.

2535 {
2536 if (reservedAct != null && reservedAct != act)
2537 {
2538 return !reservedAct.IsRunning;
2539 }
2540 return true;
2541 }
virtual bool IsRunning
Definition: AIAct.cs:31
AIAct reservedAct
Definition: Card.cs:50

References AIAct.IsRunning, and reservedAct.

Referenced by TryReserve().

◆ CanStackTo()

virtual bool Card.CanStackTo ( Thing  to)
inlinevirtual

Reimplemented in Thing.

Definition at line 3476 of file Card.cs.

3477 {
3478 return false;
3479 }

Referenced by TryStackTo().

◆ ChangeAltitude()

void Card.ChangeAltitude ( int  a)
inline

Definition at line 6582 of file Card.cs.

6583 {
6584 altitude += a;
6585 if (altitude < 0)
6586 {
6587 altitude = 0;
6588 }
6590 {
6592 }
6593 }
int altitude
Definition: Card.cs:233
virtual int MaxAltitude
Definition: TileType.cs:214

References TileType.MaxAltitude.

◆ ChangeMaterial() [1/3]

◆ ChangeMaterial() [2/3]

Card Card.ChangeMaterial ( SourceMaterial::Row  row,
bool  ignoreFixedMaterial = false 
)
inline

Definition at line 3129 of file Card.cs.

3130 {
3131 if (sourceCard.fixedMaterial && !ignoreFixedMaterial)
3132 {
3133 return this;
3134 }
3135 ApplyMaterial(remove: true);
3136 _material = row;
3137 idMaterial = row.id;
3138 decay = 0;
3139 dirtyWeight = true;
3140 Card rootCard = GetRootCard();
3141 if (rootCard != null && rootCard.IsPC)
3142 {
3144 }
3145 if (isThing)
3146 {
3148 }
3149 ApplyMaterial();
3150 return this;
3151 }
int idMaterial
Definition: Card.cs:137
bool dirtyWeight
Definition: Card.cs:88
SourceMaterial.Row _material
Definition: Card.cs:94
int decay
Definition: Card.cs:221
virtual void ApplyMaterial(bool remove=false)
Definition: Card.cs:3114
bool fixedMaterial
Definition: RenderRow.cs:66

References _material, ApplyMaterial(), decay, dirtyWeight, RenderRow.fixedMaterial, GetRootCard(), idMaterial, IsPC, isThing, LayerInventory.SetDirty(), SetDirtyWeight(), and sourceCard.

◆ ChangeMaterial() [3/3]

Card Card.ChangeMaterial ( string  idNew,
bool  ignoreFixedMaterial = false 
)
inline

Definition at line 3124 of file Card.cs.

3125 {
3126 return ChangeMaterial(EClass.sources.materials.alias.TryGetValue(idNew, "oak"), ignoreFixedMaterial);
3127 }

References ChangeMaterial, SourceManager.materials, and EClass.sources.

◆ ChangeRarity()

virtual void Card.ChangeRarity ( Rarity  q)
inlinevirtual

Reimplemented in Chara.

Definition at line 4004 of file Card.cs.

4005 {
4006 rarity = q;
4007 }
Rarity rarity
Definition: Card.cs:317

References rarity.

Referenced by TaskHarvest.OnCreateProgress().

◆ ChangeWeight()

void Card.ChangeWeight ( int  a)
inline

Definition at line 2606 of file Card.cs.

2607 {
2608 c_weight = a;
2609 isWeightChanged = true;
2611 }
int c_weight
Definition: Card.cs:1405
bool isWeightChanged
Definition: Card.cs:665

References c_weight, isWeightChanged, and SetDirtyWeight().

Referenced by TraitTent.OnChangePlaceState(), and Religion.Punish().

◆ CheckJustCooked()

void Card.CheckJustCooked ( )
inline

Definition at line 6935 of file Card.cs.

6936 {
6937 if (HasElement(757) && c_dateCooked <= EClass.world.date.GetRaw() - 120)
6938 {
6939 c_dateCooked = 0;
6940 elements.Remove(757);
6941 }
6942 }
int c_dateCooked
Definition: Card.cs:1369
int GetRaw(int offsetHours=0)
Definition: Date.cs:328
static World world
Definition: EClass.cs:41
void Remove(int id)
GameDate date
Definition: World.cs:6

References World.date, Date.GetRaw(), ElementContainer.Remove(), and EClass.world.

Referenced by Religion.GetOfferingValue(), and Affinity.OnGift().

◆ ClampInitialSkill()

void Card.ClampInitialSkill ( )
inline

Definition at line 3017 of file Card.cs.

3018 {
3019 if (elements.Base(286) > 50)
3020 {
3021 elements.SetTo(286, 50 + (int)Mathf.Sqrt(elements.Base(286) - 50));
3022 }
3023 }

References ElementContainer.Base(), elements, and ElementContainer.SetTo().

Referenced by Chara.OnCreate(), and SetLv().

◆ ClearFOV()

void Card.ClearFOV ( )
inline

Definition at line 6895 of file Card.cs.

6896 {
6897 if (fov != null && fov.lastPoints.Count != 0)
6898 {
6899 fov.Perform(pos.x, pos.z, 0);
6900 }
6901 }
Dictionary< int, byte > lastPoints
Definition: Fov.cs:36

References Fov.lastPoints, Fov.Perform(), Point.x, and Point.z.

Referenced by Map._RemoveCard().

◆ ClearPaintSprite()

void Card.ClearPaintSprite ( )
inline

Definition at line 7404 of file Card.cs.

7405 {
7406 if ((bool)_paintSprite)
7407 {
7408 UnityEngine.Object.Destroy(_paintSprite.texture);
7409 UnityEngine.Object.Destroy(_paintSprite);
7410 _paintSprite = null;
7411 }
7412 }
Sprite _paintSprite
Definition: Card.cs:102

Referenced by LayerPixelPaint.SetCanvas().

◆ CountRune()

int Card.CountRune ( bool  countFree = true)
inline

Definition at line 3724 of file Card.cs.

3725 {
3726 int num = 0;
3727 if (socketList != null)
3728 {
3729 foreach (SocketData socket in socketList)
3730 {
3731 if (socket.type == SocketData.Type.Rune && (countFree || !socket.isFree))
3732 {
3733 num++;
3734 }
3735 }
3736 }
3737 return num;
3738 }
bool isFree
Definition: SocketData.cs:54
Type type
Definition: SocketData.cs:18

References SocketData.isFree, socketList, and SocketData.type.

Referenced by Element.AddEncNote(), CanAddRune(), and HasRune().

◆ Create()

void Card.Create ( string  _id,
int  _idMat = -1,
int  genLv = -1 
)
inline

Definition at line 2815 of file Card.cs.

2816 {
2817 if (CardBlueprint.current != null)
2818 {
2820 CardBlueprint.current = null;
2821 }
2822 else
2823 {
2825 }
2826 id = _id;
2827 Num = 1;
2828 autoRefuel = true;
2829 EClass.game.cards.AssignUID(this);
2830 this.genLv = genLv;
2831 isNew = true;
2832 version = 5;
2833 SetSource();
2835 if (sourceCard.quality != 0)
2836 {
2837 rarity = sourceCard.quality.ToEnum<Rarity>();
2838 }
2839 else if (bp.rarity != Rarity.Random)
2840 {
2841 rarity = bp.rarity;
2842 }
2843 else if ((category.slot != 0 && category.slot != 45 && category.slot != 44) || category.tag.Contains("randomRarity"))
2844 {
2845 if (EClass.rnd(10) == 0)
2846 {
2847 rarity = Rarity.Crude;
2848 }
2849 else if (EClass.rnd(10) == 0)
2850 {
2851 rarity = Rarity.Superior;
2852 }
2853 else if (EClass.rnd(80) == 0)
2854 {
2855 rarity = Rarity.Legendary;
2856 }
2857 else if (EClass.rnd(250) == 0)
2858 {
2859 rarity = Rarity.Mythical;
2860 }
2861 }
2862 if (rarity != 0 && category.tag.Contains("fixedRarity"))
2863 {
2864 rarity = Rarity.Normal;
2865 }
2866 LV = DefaultLV;
2867 if (bp.lv != -999)
2868 {
2869 LV = bp.lv;
2870 }
2871 if (id == "microchip")
2872 {
2873 Debug.Log(id + "/" + _idMat + "/" + sourceCard.fixedMaterial);
2874 }
2876 {
2878 }
2879 else
2880 {
2881 bool flag = (bp != null && bp.fixedMat) || sourceCard.quality == 4 || sourceCard.tierGroup.IsEmpty();
2882 if (_idMat != -1)
2883 {
2884 _material = EClass.sources.materials.map.TryGetValue(_idMat) ?? EClass.sources.materials.map[1];
2885 }
2886 else if (!flag)
2887 {
2888 if (sourceCard.tierGroup == "wood")
2889 {
2890 Debug.Log(id);
2891 }
2893 }
2894 else
2895 {
2897 }
2898 }
2899 idMaterial = _material.id;
2900 things.SetOwner(this);
2901 elements.SetOwner(this, applyFeat: true);
2902 ApplyTrait();
2904 {
2905 tier = Mathf.Clamp(EClass.rnd(5) + 1, 1, 3);
2906 LV = LV + tier * 10 + (LV - 1) * (125 + tier * 25) / 100;
2907 }
2908 ApplyMaterial();
2909 OnCreate(genLv);
2912 hp = MaxHP;
2913 if (HasTag(CTAG.hidden))
2914 {
2915 SetHidden();
2916 }
2918 BaseModManager.PublishEvent(isChara ? "elin.chara_created" : "elin.thing_created", this);
2919 }
static CardBlueprint current
bool tryLevelMatTier
static CardBlueprint _Default
void AssignUID(Card c)
Definition: CardManager.cs:78
int quality
Definition: CardRow.cs:19
string tierGroup
Definition: CardRow.cs:11
virtual string AliasMaterialOnCreate
Definition: Card.cs:2093
int tier
Definition: Card.cs:413
bool isFloating
Definition: Card.cs:653
CardBlueprint bp
Definition: Card.cs:80
int DefaultLV
Definition: Card.cs:2050
int hp
Definition: Card.cs:245
virtual void OnBeforeCreate()
Definition: Card.cs:2921
bool autoRefuel
Definition: Card.cs:629
virtual SourcePref Pref
Definition: Card.cs:2147
virtual void OnCreate(int genLv)
Definition: Card.cs:2925
virtual int MaxHP
Definition: Card.cs:2335
bool isNew
Definition: Card.cs:485
int genLv
Definition: Card.cs:197
bool testThingQuality
Definition: CoreDebug.cs:230
static FactionBranch Branch
Definition: EClass.cs:23
static CoreDebug debug
Definition: EClass.cs:49
CardManager cards
Definition: Game.cs:156
static SourceMaterial.Row GetRandomMaterial(int lv, string group=null, bool tryLevelMatTier=false)
Definition: MATERIAL.cs:56
bool Float
Definition: SourcePref.cs:328
virtual void OnCreate(int lv)
Definition: Trait.cs:690
virtual bool LevelAsQuality
Definition: Trait.cs:205
bool IsPCFaction
Definition: Zone.cs:475

References _CreateRenderer(), CardBlueprint._Default, _material, EClass._zone, AliasMaterialOnCreate, ApplyMaterial(), ApplyTrait(), CardManager.AssignUID(), autoRefuel, bp, EClass.Branch, Game.cards, category, CardBlueprint.current, EClass.debug, Debug, DefaultLV, elements, CardBlueprint.fixedMat, RenderRow.fixedMaterial, CardBlueprint.fixedQuality, SourcePref.Float, EClass.game, genLv, MATERIAL.GetRandomMaterial(), HasTag(), hp, idMaterial, isChara, isFloating, isNew, Zone.IsPCFaction, Trait.LevelAsQuality, LV, CardBlueprint.lv, FactionBranch.lv, SourceManager.materials, MaxHP, Num, OnBeforeCreate(), OnCreate(), Trait.OnCreate(), Pref, BaseModManager.PublishEvent(), CardRow.quality, rarity, CardBlueprint.rarity, EClass.rnd(), SetHidden(), ElementContainerCard.SetOwner(), ThingContainer.SetOwner(), SetSource(), sourceCard, EClass.sources, CoreDebug.testThingQuality, things, tier, CardRow.tierGroup, trait, CardBlueprint.tryLevelMatTier, and version.

Referenced by CharaGen._Create(), and ThingGen._Create().

◆ CreateFov()

Fov Card.CreateFov ( )
inline

Definition at line 6848 of file Card.cs.

6849 {
6850 Fov fov = new Fov();
6851 int num = (trait.UseLightColor ? c_lightColor : 0);
6852 if (num != 0)
6853 {
6854 fov.r = (byte)(num / 1024);
6855 fov.g = (byte)(num % 1024 / 32);
6856 fov.b = (byte)(num % 32);
6857 }
6858 else if (LightData != null)
6859 {
6860 fov.r = (byte)(LightData.color.r * 16f);
6861 fov.g = (byte)(LightData.color.g * 16f);
6862 fov.b = (byte)(LightData.color.b * 16f);
6863 }
6864 else if (isChara)
6865 {
6866 fov.r = 0;
6867 fov.g = 0;
6868 fov.b = 0;
6869 }
6870 else
6871 {
6872 fov.r = 3;
6873 fov.g = 2;
6874 fov.b = 1;
6875 }
6876 if (isChara && Chara.held != null && Chara.held.GetLightRadius() > 0)
6877 {
6878 Fov fov2 = Chara.held.CreateFov();
6879 fov.r += fov2.r;
6880 fov.g += fov2.g;
6881 fov.b += fov2.b;
6882 }
6883 if (IsPC)
6884 {
6885 fov.isPC = true;
6886 foreach (Condition condition in Chara.conditions)
6887 {
6888 condition.OnCreateFov(fov);
6889 }
6890 }
6891 fov.limitGradient = IsPCParty && EClass.scene.profile.global.limitGradient;
6892 return fov;
6893 }
virtual bool IsPCParty
Definition: Card.cs:2191
int c_lightColor
Definition: Card.cs:1111
virtual void OnCreateFov(Fov fov)
Definition: Condition.cs:83
Definition: Fov.cs:6
byte b
Definition: Fov.cs:30
byte g
Definition: Fov.cs:28
byte r
Definition: Fov.cs:26
Color color
Definition: LightData.cs:7

References Fov.b, LightData.color, Chara.conditions, CreateFov(), Fov.g, GetLightRadius(), SceneProfile.global, Chara.held, Condition.OnCreateFov(), Scene.profile, Fov.r, and EClass.scene.

Referenced by CreateFov().

◆ DamageHP() [1/2]

void Card.DamageHP ( long  dmg,
AttackSource  attackSource = AttackSource::None,
Card  origin = null 
)
inline

◆ DamageHP() [2/2]

void Card.DamageHP ( long  dmg,
int  ele,
int  eleP = 100,
AttackSource  attackSource = AttackSource::None,
Card  origin = null,
bool  showEffect = true,
Thing  weapon = null,
Chara  originalTarget = null,
int  resistPenetrationLevel = 0 
)
inline

Definition at line 4186 of file Card.cs.

4187 {
4188 if (hp < 0)
4189 {
4190 return;
4191 }
4192 bool flag = originalTarget != null;
4193 Action onEvade = null;
4194 if (isChara && !isRestrained && !flag)
4195 {
4196 if (HasElement(1249))
4197 {
4198 foreach (Chara chara3 in EClass._map.charas)
4199 {
4200 if (chara3 != this && !chara3.IsHostile(Chara) && !chara3.IsDisabled && !chara3.isRestrained && (!IsPCFactionOrMinion || chara3.IsPCFactionOrMinion) && chara3.Dist(this) <= 3)
4201 {
4202 Say("wall_bond", chara3, this);
4203 chara3.DamageHP(dmg, ele, eleP, attackSource, origin, showEffect, weapon, Chara);
4204 return;
4205 }
4206 }
4207 }
4208 if (!HasElement(1241))
4209 {
4210 AttackSource attackSource2 = attackSource;
4211 if ((uint)(attackSource2 - 3) > 2u && (uint)(attackSource2 - 13) > 5u)
4212 {
4213 foreach (Chara chara4 in EClass._map.charas)
4214 {
4215 if (chara4 != this && !chara4.IsHostile(Chara))
4216 {
4217 int num = chara4.Evalue(1241);
4218 int num2 = chara4.Evalue(438);
4219 if ((num != 0 || num2 != 0) && !chara4.IsDisabled && !chara4.isRestrained && (!IsPCFactionOrMinion || chara4.IsPCFactionOrMinion) && (IsPCFactionOrMinion || !chara4.IsPCFactionOrMinion) && chara4.Dist(this) <= Mathf.Max(num, (num2 > 0) ? 1 : 0) && (num != 0 || num2 <= 0 || hp * 100 / MaxHP <= chara4.hp * 100 / chara4.MaxHP))
4220 {
4221 Say((num2 == 0) ? "wall_flesh" : "wall_knightly", chara4, this);
4222 chara4.DamageHP(dmg * (100 + ((num2 > 0) ? (-10) : 0) + ((num > 0) ? 10 : 0)) / 100, ele, eleP, attackSource, origin, showEffect, weapon, Chara);
4223 return;
4224 }
4225 }
4226 }
4227 }
4228 }
4229 }
4230 if (origin != null && origin.HasElement(1208))
4231 {
4232 switch (attackSource)
4233 {
4234 case AttackSource.MagicHand:
4235 dmg = dmg * 130 / 100;
4236 eleP = eleP * 150 / 100;
4237 break;
4238 case AttackSource.MagicSword:
4239 dmg = dmg * 120 / 100;
4240 eleP = eleP * 150 / 100;
4241 break;
4242 }
4243 }
4244 if (origin != null)
4245 {
4246 dmg = dmg * (100 + origin.Evalue(94)) / 100;
4247 }
4248 Element e;
4249 if (ele == 0 || ele == 926)
4250 {
4251 e = Element.Void;
4252 if (origin != null)
4253 {
4254 dmg = dmg * Mathf.Max(100 + origin.Evalue(93) / 2, 10) / 100;
4255 }
4256 }
4257 else
4258 {
4259 e = Element.Create(ele);
4260 if (attackSource != AttackSource.Condition && showEffect)
4261 {
4262 ActEffect.TryDelay(delegate
4263 {
4264 PlayEffect(e.id, useRenderPos: true, 0.25f);
4265 EClass.Sound.Play("atk_" + e.source.alias);
4266 });
4267 }
4268 if (!e.source.aliasRef.IsEmpty() && attackSource != AttackSource.ManaBackfire)
4269 {
4270 dmg = Element.GetResistDamage(dmg, Evalue(e.source.aliasRef), (resistPenetrationLevel != 0) ? resistPenetrationLevel : GetResistPenetrationLevel(e.id, attackSource, origin));
4271 dmg = dmg * 100 / (100 + Mathf.Clamp(Evalue(961) * 5, -50, 200));
4272 dmg = dmg * Mathf.Max(100 - Evalue(93), 10) / 100;
4273 }
4274 switch (e.id)
4275 {
4276 case 910:
4277 {
4278 Chara chara2 = Chara;
4279 if (chara2 != null && chara2.isWet)
4280 {
4281 dmg /= 3L;
4282 }
4283 break;
4284 }
4285 case 912:
4286 {
4287 Chara chara = Chara;
4288 if (chara != null && chara.isWet)
4289 {
4290 dmg = dmg * 150 / 100;
4291 }
4292 break;
4293 }
4294 }
4295 }
4296 if (origin != null && origin.isChara && origin.Chara.HasCondition<ConSupress>())
4297 {
4298 dmg = dmg * 2 / 3;
4299 }
4300 if (attackSource != AttackSource.Finish)
4301 {
4302 if (!IsPCFaction && LV > 50)
4303 {
4304 dmg = dmg * (100 - (int)Mathf.Min(80f, Mathf.Sqrt(LV - 50) * 2.5f)) / 100;
4305 }
4306 if (origin != null && origin.HasCondition<ConBerserk>())
4307 {
4308 dmg = dmg * 3 / 2;
4309 }
4311 {
4312 int num3 = ((origin != null) ? origin.LV : EClass._zone.DangerLv);
4313 if (num3 > 50)
4314 {
4315 dmg = dmg * (100 - (int)Mathf.Min(95f, Mathf.Sqrt(num3 - 50))) / 100;
4316 }
4317 }
4318 if (attackSource == AttackSource.Throw || attackSource == AttackSource.Range)
4319 {
4320 dmg = dmg * 100 / (100 + Evalue(435) * 2);
4321 }
4322 dmg = dmg * Mathf.Max(0, 100 - Mathf.Min(Evalue((e == Element.Void || e.id == 926) ? 55 : 56), 100) / ((!flag) ? 1 : 2)) / 100;
4323 if (origin != null && origin.IsPC && EClass.player.codex.Has(id))
4324 {
4325 dmg = dmg * (100 + Mathf.Min(10, EClass.player.codex.GetOrCreate(id).weakspot)) / 100;
4326 }
4327 if (isChara && Chara.body.GetAttackStyle() == AttackStyle.Shield && elements.ValueWithoutLink(123) >= 5 && (e == Element.Void || e.id == 926))
4328 {
4329 dmg = dmg * 90 / 100;
4330 }
4331 if (HasElement(971))
4332 {
4333 dmg = dmg * 100 / Mathf.Clamp(100 + Evalue(971), 25, 1000);
4334 }
4335 if (HasElement(1305))
4336 {
4337 dmg = dmg * 90 / 100;
4338 }
4339 if (EClass.pc.HasElement(1207) && isChara)
4340 {
4341 int num4 = 0;
4342 int num5 = 0;
4343 foreach (Condition condition3 in Chara.conditions)
4344 {
4345 if (condition3.Type == ConditionType.Buff)
4346 {
4347 num4++;
4348 }
4349 else if (condition3.Type == ConditionType.Debuff)
4350 {
4351 num5++;
4352 }
4353 }
4355 {
4356 dmg = dmg * 100 / Mathf.Min(100 + num4 * 5, 120);
4357 }
4358 else
4359 {
4360 dmg = dmg * Mathf.Min(100 + num5 * 5, 120) / 100;
4361 }
4362 }
4364 {
4365 dmg = dmg * 100 / Mathf.Clamp(105 + EClass.pc.Evalue(135) / 10, 10, 110);
4366 }
4367 if (HasElement(1218) && attackSource != AttackSource.ManaBackfire && (hp > 0 || Evalue(1421) <= 0))
4368 {
4369 dmg = dmg * (1000 - Mathf.Min(Evalue(1218), 1000) / ((!flag) ? 1 : 2)) / 1000;
4370 if (dmg <= 0 && EClass.rnd(4) == 0)
4371 {
4372 dmg++;
4373 }
4374 }
4375 if (dmg >= MaxHP / 10 && Evalue(68) > 0)
4376 {
4377 int num6 = MaxHP / 10;
4378 long num7 = dmg - num6;
4379 num7 = num7 * 100 / (200 + Evalue(68) * 10);
4380 dmg = num6 + num7;
4381 }
4382 }
4383 if (origin != null && origin.IsPC && EClass.pc.Evalue(654) > 0)
4384 {
4385 dmg = 0L;
4386 }
4387 if (dmg < 0)
4388 {
4389 dmg = 0L;
4390 }
4391 long num8 = 99999999L;
4392 if (origin != null && (attackSource == AttackSource.Melee || attackSource == AttackSource.Range))
4393 {
4394 ConStrife condition = origin.GetCondition<ConStrife>();
4395 if (condition != null)
4396 {
4397 num8 = num8 * (100 + condition.lv * 5) / 100;
4398 }
4399 }
4400 if (dmg > num8)
4401 {
4402 dmg = num8;
4403 }
4404 float num9 = Mathf.Clamp(dmg * 6 / MaxHP, 0f, 4f) + (float)((dmg > 0) ? 1 : 0);
4405 int num10 = hp;
4406 if (Evalue(1421) > 0)
4407 {
4408 long num11 = 0L;
4409 long num12 = dmg;
4410 if (hp > 0)
4411 {
4412 num12 = dmg - hp;
4413 hp -= (int)dmg;
4414 num11 += dmg;
4415 if (hp < 0 && Chara.mana.value >= 0)
4416 {
4417 num11 += hp;
4418 hp = 0;
4419 }
4420 }
4421 if (hp <= 0)
4422 {
4423 if (Evalue(1421) >= 2)
4424 {
4425 num12 /= 2;
4426 }
4427 dmg = num12;
4428 if (Chara.mana.value > 0)
4429 {
4430 num12 -= Chara.mana.value;
4431 Chara.mana.value -= (int)dmg;
4432 num11 += dmg;
4433 }
4434 if (Chara.mana.value <= 0)
4435 {
4436 hp -= (int)num12;
4437 num11 += num12;
4438 }
4439 }
4440 dmg = num11;
4441 }
4442 else
4443 {
4444 hp -= (int)dmg;
4445 }
4446 if (isSynced && dmg != 0L)
4447 {
4448 float ratio = (float)dmg / (float)MaxHP;
4449 Card c = ((parent is Chara) ? (parent as Chara) : this);
4450 ActEffect.TryDelay(delegate
4451 {
4452 c.PlayEffect("blood").SetParticleColor(EClass.Colors.matColors[material.alias].main).Emit(20 + (int)(30f * ratio));
4454 {
4455 EClass.scene.damageTextRenderer.Add(this, c, (int)dmg, e);
4456 }
4457 });
4458 }
4459 if (EClass.pc.ai is AI_PracticeDummy { IsRunning: not false } aI_PracticeDummy && aI_PracticeDummy.target == this && (origin == null || origin.IsPC))
4460 {
4461 aI_PracticeDummy.hit++;
4462 aI_PracticeDummy.totalDamage += dmg;
4463 }
4464 ZoneInstanceBout zoneInstanceBout = EClass._zone.instance as ZoneInstanceBout;
4465 bool flag2 = false;
4466 if (hp < 0 && Religion.recentWrath == null)
4467 {
4469 {
4470 EvadeDeath(null);
4471 if (Chara.stamina.value > 0 && (EClass.rnd(2) == 0 || !IsPC))
4472 {
4473 Chara.stamina.Mod(-1);
4474 }
4475 }
4476 else if (IsInstalled && pos.HasBlock && trait.IsDoor)
4477 {
4478 EvadeDeath(null);
4479 }
4480 else if (!trait.CanBeDestroyed)
4481 {
4482 EvadeDeath(null);
4483 }
4484 else if (HasEditorTag(EditorTag.Invulnerable) || (HasEditorTag(EditorTag.InvulnerableToMobs) && (origin == null || !origin.IsPCParty)))
4485 {
4486 EvadeDeath(null);
4487 }
4488 else if (isChara)
4489 {
4491 {
4492 EvadeDeath(null);
4493 }
4494 else if (IsPC && EClass.debug.godMode)
4495 {
4496 EvadeDeath(null);
4497 }
4498 else if (Chara.host != null || (weapon != null && weapon.HasElement(485)))
4499 {
4500 EvadeDeath(null);
4501 flag2 = true;
4502 }
4503 else
4504 {
4505 if (origin != null && origin != this && Evalue(436) > 0 && !HasCondition<ConFractured>())
4506 {
4507 int half = (HasElement(1218) ? MaxHP : (MaxHP / 2));
4508 if (num10 > half)
4509 {
4510 EvadeDeath(delegate
4511 {
4512 Say("guts", this);
4513 Chara.AddCondition<ConFractured>((int)Mathf.Max(10f, 30f - Mathf.Sqrt(Evalue(436))));
4514 hp = Mathf.Min(half * (int)Mathf.Sqrt(Evalue(436) * 2) / 100, MaxHP / 3);
4515 });
4516 goto IL_1071;
4517 }
4518 }
4519 if (zoneInstanceBout != null && (bool)LayerDrama.Instance)
4520 {
4521 EvadeDeath(null);
4522 }
4523 else if (LayerDrama.IsActive() && IsPC)
4524 {
4525 EvadeDeath(null);
4526 }
4527 else
4528 {
4529 if (attackSource != AttackSource.Finish && IsPCParty && Chara.host == null)
4530 {
4531 if (EClass.pc.ai is GoalAutoCombat && !EClass.player.invlunerable && (EClass.pc.ai as GoalAutoCombat).listHealthy.Contains(Chara))
4532 {
4533 EClass.core.actionsNextFrame.Add(delegate
4534 {
4535 Msg.Say(IsPC ? "abort_damage" : "abort_damgeAlly");
4536 });
4537 EClass.player.invlunerable = true;
4540 }
4542 {
4543 EvadeDeath(null);
4544 goto IL_1071;
4545 }
4546 }
4547 if (Evalue(1220) > 0 && Chara.stamina.value >= (IsPC ? (Chara.stamina.max / 2) : (Chara.stamina.max / 3 * 2)))
4548 {
4549 EvadeDeath(delegate
4550 {
4551 Say("fate", this);
4552 PlaySound("revive");
4553 PlayEffect("aura_heaven");
4556 });
4557 }
4558 }
4559 }
4560 }
4561 }
4562 goto IL_1071;
4563 IL_1071:
4564 if (trait.CanBeAttacked)
4565 {
4566 renderer.PlayAnime(AnimeID.HitObj);
4567 hp = MaxHP;
4569 {
4570 hp = -1;
4571 }
4572 }
4573 Chara target;
4574 if (hp < 0)
4575 {
4576 if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null && originalTarget == null && (origin.isSynced || IsPC))
4577 {
4578 string text = "";
4579 if (IsPC && Lang.setting.combatTextStyle == 0)
4580 {
4581 if (e != Element.Void && e != null)
4582 {
4583 text = "dead_" + e.source.alias;
4584 }
4585 if (text == "" || !LangGame.Has(text))
4586 {
4587 text = "dead_attack";
4588 }
4589 EClass.pc.Say(text, this, "");
4590 }
4591 else
4592 {
4593 if (e != Element.Void && e != null)
4594 {
4595 text = "kill_" + e.source.alias;
4596 }
4597 if (text == "" || !LangGame.Has(text))
4598 {
4599 text = "kill_attack";
4600 }
4601 (IsPC ? EClass.pc : origin).Say(text, origin, this);
4602 }
4603 }
4604 if (isChara && Religion.recentWrath == null)
4605 {
4606 if (HasElement(1410) && !Chara.HasCooldown(1410))
4607 {
4608 Chara.AddCooldown(1410);
4609 Say("reboot", this);
4610 PlaySound("reboot");
4611 Chara.Cure(CureType.Boss);
4612 hp = MaxHP / 3;
4614 return;
4615 }
4616 if (HasCondition<ConRebirth>())
4617 {
4618 Say("rebirth", this);
4619 hp = (int)Mathf.Min((long)MaxHP * (long)(int)(5f + Mathf.Sqrt(Chara.GetCondition<ConRebirth>().power)) / 100, MaxHP);
4621 Chara.RemoveCondition<ConRebirth>();
4622 PlayEffect("revive");
4623 PlaySound("revive");
4624 return;
4625 }
4626 foreach (Chara chara5 in EClass._map.charas)
4627 {
4628 if (Chara.IsFriendOrAbove(chara5) && chara5.HasElement(1408) && chara5.faith == EClass.game.religions.Healing && EClass.world.date.GetRawDay() != chara5.GetInt(58) && (!chara5.IsPCFaction || IsPCFaction) && (chara5.memberType != FactionMemberType.Livestock || Chara.memberType == FactionMemberType.Livestock))
4629 {
4630 Msg.alwaysVisible = true;
4631 Msg.Say("layhand", chara5, this);
4632 Msg.Say("pray_heal", this);
4633 hp = MaxHP;
4635 PlayEffect("revive");
4636 PlaySound("revive");
4637 chara5.SetInt(58, EClass.world.date.GetRawDay());
4638 return;
4639 }
4640 }
4641 }
4642 if (zoneInstanceBout != null)
4643 {
4644 target = EClass._map.FindChara(zoneInstanceBout.uidTarget);
4645 if (target != null)
4646 {
4647 EClass.pc.ai.Cancel();
4648 if (IsPC)
4649 {
4650 EClass.pc.hp = 0;
4651 Heal();
4652 EClass.player.ModFame(-10 - (int)((float)EClass.player.fame * 0.05f));
4653 target.ShowDialog("_chara", "bout_lose");
4654 return;
4655 }
4656 if (target == this)
4657 {
4658 hp = 0;
4659 Heal();
4660 target.ModAffinity(EClass.pc, 10);
4661 target.ShowDialog("_chara", "bout_win");
4662 return;
4663 }
4664 }
4665 }
4666 if (!isDestroyed)
4667 {
4668 if (attackSource == AttackSource.MoonSpear && isChara)
4669 {
4671 ActEffect.LoveMiracle(Chara, origin?.Chara, 100, EffectId.MoonSpear);
4672 Rand.SetSeed();
4673 }
4674 Die(e, origin, attackSource, originalTarget);
4675 if (origin != null && origin.id == "unseenhand" && !origin.IsGlobal)
4676 {
4677 origin.isSummon = true;
4678 origin.c_summonDuration = 4;
4679 }
4681 {
4682 Rand.SetSeed(uid);
4683 if (EClass.rnd(3) == 0 && !isCrafted && !isCopy)
4684 {
4685 string text2 = new int[18]
4686 {
4687 233, 235, 236, 236, 236, 1170, 1143, 1144, 727, 728,
4688 237, 869, 1178, 1179, 1180, 1243, 1244, 1245
4689 }.RandomItem().ToString();
4690 if (EClass.rnd(10) == 0)
4691 {
4692 text2 = "casino_coin";
4693 }
4694 if (EClass.rnd(10) == 0)
4695 {
4696 text2 = "scratchcard";
4697 }
4698 if (EClass.rnd(3) == 0)
4699 {
4700 text2 = "money";
4701 }
4702 if (EClass.rnd(5) == 0)
4703 {
4704 text2 = "plat";
4705 }
4706 if (EClass.rnd(10) == 0)
4707 {
4708 text2 = "money2";
4709 }
4710 if (EClass.rnd(20) == 0 || EClass.debug.enable)
4711 {
4712 text2 = "medal";
4713 }
4714 EClass._zone.AddCard(ThingGen.Create(text2).SetNum((!(text2 == "money")) ? 1 : EClass.rndHalf(100)).SetHidden(hide: false), pos);
4715 }
4716 Rand.SetSeed();
4717 }
4718 ProcAbsorb();
4719 if (EClass.pc.Evalue(1355) > 0 && isChara && (IsPCFactionOrMinion || (origin != null && origin.IsPCParty)))
4720 {
4721 ((EClass.pc.AddCondition<ConStrife>() as ConStrife) ?? EClass.pc.GetCondition<ConStrife>())?.AddKill(Chara);
4722 }
4723 }
4724 if (origin != null && origin.isChara)
4725 {
4726 if (origin.IsPCFactionOrMinion && isChara && !isCopy)
4727 {
4729 EClass.game.quests.list.ForeachReverse(delegate(Quest q)
4730 {
4731 q.OnKillChara(Chara);
4732 });
4735 {
4736 Guild.Fighter.AddContribution(10 + Mathf.Min(LV, 200) / 5);
4737 }
4739 {
4740 int a = EClass.rndHalf(200 + EClass.curve(LV, 20, 15) * 20);
4741 Msg.Say("bounty", Chara, a.ToString() ?? "");
4743 SE.Pay();
4744 }
4745 }
4746 if (origin.GetInt(106) == 0)
4747 {
4748 origin.Chara.TalkTopic("kill");
4749 }
4750 }
4751 Msg.SetColor();
4752 }
4753 else if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null && originalTarget == null)
4754 {
4755 (IsPC ? EClass.pc : origin).Say("dmgMelee" + num9 + (IsPC ? "pc" : ""), origin, this);
4756 }
4757 else if (isChara)
4758 {
4759 int num13 = ((attackSource != AttackSource.Condition && attackSource != AttackSource.WeaponEnchant) ? 1 : 2);
4760 if (num9 >= (float)num13)
4761 {
4762 if (e != Element.Void)
4763 {
4764 Say("dmg_" + e.source.alias, this);
4765 }
4766 if (e == Element.Void || num9 >= 2f)
4767 {
4768 Say("dmg" + num9, this);
4769 }
4770 }
4771 }
4772 onEvade?.Invoke();
4773 if (isChara)
4774 {
4775 for (int num14 = Chara.conditions.Count - 1; num14 >= 0; num14--)
4776 {
4777 Chara.conditions[num14].OnHit(origin, attackSource);
4778 }
4779 if (Chara.mimicry == null && HasElement(1429))
4780 {
4782 }
4783 if (flag2)
4784 {
4785 if (!Chara.HasCondition<ConFaint>())
4786 {
4787 Chara.AddCondition<ConFaint>(200, force: true);
4788 }
4789 return;
4790 }
4791 if (origin != null && origin.IsAliveInCurrentZone && origin.isChara)
4792 {
4793 if (e.id == 916)
4794 {
4795 origin.HealHP(Mathf.Clamp(EClass.rnd(dmg * (50 + eleP) / 500 + 5), 1, origin.MaxHP / 5 + EClass.rnd(10)));
4796 }
4797 if (attackSource == AttackSource.Melee || attackSource == AttackSource.Range)
4798 {
4799 int num15 = origin.Dist(this);
4800 if (attackSource == AttackSource.Melee && HasElement(1221) && num15 <= Evalue(1221))
4801 {
4802 int ele2 = ((Chara.MainElement == Element.Void) ? 924 : Chara.MainElement.id);
4803 if (id == "hedgehog_ether")
4804 {
4805 ele2 = 922;
4806 }
4807 Say("reflect_thorne", origin, this);
4808 origin.DamageHP((int)Mathf.Clamp(dmg / 10, 1f, MaxHP / (origin.IsPowerful ? 200 : 20)), ele2, Power, AttackSource.Condition, this);
4809 }
4810 if (HasElement(1223) && num15 <= Evalue(1223))
4811 {
4812 int ele3 = ((Chara.MainElement == Element.Void) ? 923 : Chara.MainElement.id);
4813 Say("reflect_acid", this, origin);
4814 origin.DamageHP((int)Mathf.Clamp(dmg / 10, 1f, MaxHP / (origin.IsPowerful ? 200 : 20)), ele3, Power * 2, AttackSource.Condition, this);
4815 }
4816 }
4817 ProcAbsorb();
4818 }
4819 }
4820 if (hp < 0 || !isChara)
4821 {
4822 return;
4823 }
4824 if (dmg > 0)
4825 {
4826 int a2 = (int)(100 * (dmg * 100 / MaxHP) / 100) + 1;
4827 a2 = Mathf.Min(a2, Chara.isRestrained ? 15 : 200);
4828 if (a2 > 0)
4829 {
4831 if (Chara.body.GetAttackStyle() == AttackStyle.Shield)
4832 {
4833 elements.ModExp(123, a2);
4834 }
4835 }
4836 }
4837 int num16 = ((EClass.rnd(2) == 0) ? 1 : 0);
4838 if (attackSource == AttackSource.Condition)
4839 {
4840 num16 = 1 + EClass.rnd(2);
4841 }
4842 if (num16 > 0)
4843 {
4844 bool flag3 = Chara.HasCondition<ConPoison>() || ((e.id == 915 || e.id == 923) && ResistLv(Evalue(955)) < 4);
4845 AddBlood(num16, flag3 ? 6 : (-1));
4846 }
4847 if (dmg > 0 || (origin != null && origin.HasElement(1345)))
4848 {
4849 ApplyElementEffect(e, eleP, origin);
4850 }
4851 if (origin != null && origin.HasElement(1411) && !Chara.HasCondition<ConGravity>())
4852 {
4853 Condition.ignoreEffect = true;
4855 Condition.ignoreEffect = false;
4856 }
4857 if (IsPC)
4858 {
4859 float num17 = (float)hp / (float)MaxHP;
4860 if (Evalue(1421) > 0)
4861 {
4862 num17 = (float)Chara.mana.value / (float)Chara.mana.max;
4863 }
4864 if (num17 < 0.3f)
4865 {
4866 PlaySound("heartbeat", 1f - num17 * 2f);
4867 }
4868 }
4869 if (!IsPC && hp < MaxHP / 5 && Evalue(423) <= 0 && dmg * 100 / MaxHP + 10 > EClass.rnd(IsPowerful ? 400 : 150) && !HasCondition<ConFear>())
4870 {
4871 Chara.AddCondition<ConFear>(100 + EClass.rnd(100));
4872 }
4873 if (Chara.ai.Current.CancelWhenDamaged && attackSource != AttackSource.Hunger && attackSource != AttackSource.Fatigue && (!EClass.core.config.test.dontCancelIfZeroDamage || dmg != 0L || !IsPC))
4874 {
4875 Chara.ai.Current.TryCancel(origin);
4876 }
4878 {
4879 ConWeapon condition2 = Chara.GetCondition<ConWeapon>();
4880 if (e.source.aliasRef == condition2.sourceElement.aliasRef)
4881 {
4882 condition2.Mod(-1);
4883 }
4884 }
4885 if (Chara.HasElement(1222) && (dmg >= MaxHP / 10 || EClass.rnd(20) == 0))
4886 {
4887 ActEffect.Proc(EffectId.Duplicate, this);
4888 }
4889 if (origin != null && !Chara.isRestrained)
4890 {
4892 }
4893 if (hp < MaxHP / 3 && HasElement(1409) && !Chara.HasCooldown(1409))
4894 {
4895 Chara.AddCooldown(1409);
4897 Chara.Cure(CureType.Boss);
4898 Chara.HealHP(MaxHP / 2);
4899 EClass.player.forceTalk = true;
4900 }
4901 if (origin != null && origin.isChara && attackSource != AttackSource.Finish)
4902 {
4904 {
4905 Chara.TrySetEnemy(origin.Chara);
4906 }
4907 if ((weapon == null || !weapon.HasElement(486)) && origin.Evalue(428) > 0 && !IsPCFactionOrMinion && EClass.rnd(dmg) >= EClass.rnd(MaxHP / 10) + MaxHP / 100 + 1)
4908 {
4909 origin.Chara.TryNeckHunt(Chara, origin.Evalue(428) * 20, harvest: true);
4910 }
4911 }
4912 void EvadeDeath(Action action)
4913 {
4914 hp = 0;
4915 if (Evalue(1421) > 0 && isChara && Chara.mana.value < 0)
4916 {
4917 Chara.mana.value = 0;
4918 }
4919 onEvade = action;
4920 }
4921 void Heal()
4922 {
4923 target.Cure(CureType.HealComplete);
4924 foreach (Chara member in EClass.pc.party.members)
4925 {
4926 member.Cure(CureType.HealComplete);
4927 }
4928 }
4929 void ProcAbsorb()
4930 {
4931 if (origin != null && origin.isChara && isChara && (weapon == null || !weapon.HasElement(486)))
4932 {
4933 int num18 = origin.Evalue(662) + (weapon?.Evalue(662, ignoreGlobalElement: true) ?? 0);
4934 int num19 = origin.Evalue(661) + (weapon?.Evalue(661, ignoreGlobalElement: true) ?? 0);
4935 if (num18 != 0)
4936 {
4937 Debug.Log(num18);
4938 }
4939 if (num18 > 0 && attackSource == AttackSource.Melee && origin.isChara && !origin.Chara.ignoreSPAbsorb && Chara.IsHostile(origin as Chara))
4940 {
4941 int num20 = EClass.rnd(3 + (int)Mathf.Clamp(dmg / 100, 0f, num18 / 10));
4942 origin.Chara.stamina.Mod(num20);
4944 {
4945 Chara.stamina.Mod(-num20);
4946 }
4947 }
4948 if (origin.HasElement(1350) && attackSource == AttackSource.Melee)
4949 {
4950 int num21 = EClass.rndHalf(2 + (int)Mathf.Clamp(dmg / 10, 0f, origin.Chara.GetPietyValue() + 10));
4951 origin.Chara.mana.Mod(num21);
4953 {
4954 Chara.mana.Mod(-num21);
4955 }
4956 }
4957 if (num19 > 0 && attackSource == AttackSource.Melee)
4958 {
4959 int num22 = EClass.rnd(2 + (int)Mathf.Clamp(dmg / 10, 0f, num19 + 10));
4960 origin.Chara.mana.Mod(num22);
4962 {
4963 Chara.mana.Mod(-num22);
4964 }
4965 }
4966 }
4967 }
4968 }
AnimeID
Definition: AnimeID.cs:2
AttackSource
Definition: AttackSource.cs:2
AttackStyle
Definition: AttackStyle.cs:2
ConditionType
Definition: ConditionType.cs:2
CureType
Definition: CureType.cs:2
@ harvest
FactionMemberType
AIAct Current
Definition: AIAct.cs:103
bool TryCancel(Card c)
Definition: AIAct.cs:280
virtual Status Cancel()
Definition: AIAct.cs:305
virtual bool CancelWhenDamaged
Definition: AIAct.cs:94
static bool ignoreDamage
Definition: AI_PlayMusic.cs:14
static void LoveMiracle(Chara tc, Chara c, int power, EffectId idEffect=EffectId.Love, BlessedState? state=null)
Definition: ActEffect.cs:2885
static void TryDelay(Action a)
Definition: ActEffect.cs:23
static void ProcShieldEncs(Chara CC, Card TC, int mtpChance=100)
int GetInt(int id, int? defaultInt=null)
Definition: BaseCard.cs:25
void SetInt(int id, int value=0)
Definition: BaseCard.cs:39
void Mod(int a, bool force=false)
SourceElement.Row sourceElement
List< Action > actionsNextFrame
Definition: BaseCore.cs:31
virtual ConditionType Type
Definition: BaseStats.cs:19
void PlayAnime(AnimeID id, bool force)
bool IsPCFactionOrMinion
Definition: Card.cs:2314
bool isCrafted
Definition: Card.cs:797
virtual void Die(Element e=null, Card origin=null, AttackSource attackSource=AttackSource.None, Chara originalTarget=null)
Definition: Card.cs:5130
void AddBlood(int a=1, int id=-1)
Definition: Card.cs:6274
bool isRestrained
Definition: Card.cs:569
virtual int Power
Definition: Card.cs:2337
bool isCopy
Definition: Card.cs:881
virtual void HealHP(int a, HealSource origin=HealSource.None)
Definition: Card.cs:4091
int GetResistPenetrationLevel(int idEle, AttackSource attackSource, Card origin=null)
Definition: Card.cs:4151
void ApplyElementEffect(Element e, int eleP, Card origin, bool checkHostileAct=false)
Definition: Card.cs:4970
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6506
void ModCurrency(int a, string id="money")
Definition: Card.cs:4045
bool IsPowerful
Definition: Card.cs:2134
bool HasEditorTag(EditorTag tag)
Definition: Card.cs:2642
bool IsInstalled
Definition: Card.cs:2423
int Dist(Card c)
Definition: Card.cs:8025
virtual bool IsPCFaction
Definition: Card.cs:2311
int ResistLv(int res)
Definition: Card.cs:6209
virtual bool IsGlobal
Definition: Card.cs:2325
virtual bool isSynced
Definition: Card.cs:2127
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:7150
AttackStyle GetAttackStyle()
Definition: CharaBody.cs:479
Element MainElement
Definition: Chara.cs:731
AIAct ai
Definition: Chara.cs:204
bool TryNeckHunt(Chara TC, int power, bool harvest=false)
Definition: Chara.cs:9915
void ModAffinity(Chara c, int a, bool show=true, bool showOnlyEmo=false)
Definition: Chara.cs:8151
Chara host
Definition: Chara.cs:33
void ShowDialog()
Definition: Chara.cs:7230
override string ToString()
Definition: Chara.cs:1198
Party party
Definition: Chara.cs:43
bool HasCondition(string alias)
Definition: Chara.cs:9687
override bool IsDisabled
Definition: Chara.cs:587
override bool IsPCFaction
Definition: Chara.cs:685
bool IsFriendOrAbove()
Definition: Chara.cs:6786
override int MaxHP
Definition: Chara.cs:722
Stats mana
Definition: Chara.cs:1180
FactionMemberType memberType
Definition: Chara.cs:46
string TalkTopic(string topic="calm")
Definition: Chara.cs:7159
Stats stamina
Definition: Chara.cs:1172
void AddCooldown(int idEle, int turns=0)
Definition: Chara.cs:8937
bool ignoreSPAbsorb
Definition: Chara.cs:148
Religion faith
Definition: Chara.cs:441
int GetPietyValue()
Definition: Chara.cs:10470
bool IsHostile()
Definition: Chara.cs:6690
ConBaseTransmuteMimic mimicry
Definition: Chara.cs:106
void Cure(CureType type, int p=100, BlessedState state=BlessedState.Normal)
Definition: Chara.cs:9779
void TrySetEnemy(Chara c)
Definition: Chara.cs:6477
bool HasCooldown(int idEle)
Definition: Chara.cs:8988
bool Has(string id)
Definition: CodexManager.cs:36
CodexCreature GetOrCreate(string id)
Definition: CodexManager.cs:9
void AddKill(string id)
Definition: CodexManager.cs:55
UD_String_MatData matColors
bool dontCancelIfZeroDamage
Definition: CoreConfig.cs:562
bool godMode
Definition: CoreDebug.cs:188
bool enable
Definition: CoreDebug.cs:301
CoreConfig config
Definition: Core.cs:70
void Add(Card target, Card attacker, int dmg, Element e=null)
int day
Definition: Date.cs:62
int GetRawDay()
Definition: Date.cs:333
static int curve(long _a, int start, int step, int rate=75)
Definition: EClass.cs:69
static ColorProfile Colors
Definition: EClass.cs:39
static int rndHalf(int a)
Definition: EClass.cs:97
static SoundManager Sound
Definition: EClass.cs:47
Effect Emit(int num)
Definition: Effect.cs:281
Effect SetParticleColor(Color c)
Definition: Effect.cs:291
void ModExp(int ele, float a, bool chain=false)
int ValueWithoutLink(int ele)
SourceElement.Row source
Definition: ELEMENT.cs:278
static Element Create(int id, int v=0)
Definition: ELEMENT.cs:1119
static Element Void
Definition: ELEMENT.cs:243
static long GetResistDamage(long dmg, int v, int power=0)
Definition: ELEMENT.cs:1157
void AddContribution(int a)
Definition: FACTION.cs:318
bool enableDamageReduction
ReligionManager religions
Definition: Game.cs:159
GamePrincipal principal
Definition: Game.cs:225
QuestManager quests
Definition: Game.cs:183
bool HasBounty(Chara c)
Definition: GuildFighter.cs:44
bool CanGiveContribution(Chara c)
Definition: GuildFighter.cs:26
Definition: Guild.cs:2
static GuildFighter Fighter
Definition: Guild.cs:56
static bool Has(string id)
Definition: LangGame.cs:81
int combatTextStyle
Definition: LangSetting.cs:50
static bool IsActive()
Definition: LayerDrama.cs:34
static LayerDrama Instance
Definition: LayerDrama.cs:20
Chara FindChara(string id)
Definition: Map.cs:2589
List< Chara > charas
Definition: Map.cs:81
static void SetColor()
Definition: Msg.cs:22
List< Chara > members
Definition: Party.cs:19
int kills
Definition: Player.cs:87
CodexManager codex
Definition: Player.cs:1182
void ModFame(int a)
Definition: Player.cs:2166
Stats stats
Definition: Player.cs:1083
bool invlunerable
Definition: Player.cs:1243
int fame
Definition: Player.cs:948
bool TryAbortAutoCombat(bool immediate=true)
Definition: Player.cs:2504
bool HasBlock
Definition: Point.cs:141
List< Quest > list
Definition: QuestManager.cs:11
Definition: Quest.cs:7
virtual void OnKillChara(Chara c)
Definition: Quest.cs:548
ReligionHealing Healing
static Religion recentWrath
Definition: Religion.cs:22
DamageTextRenderer damageTextRenderer
Definition: Scene.cs:109
virtual int value
Definition: Stats.cs:56
virtual int max
Definition: Stats.cs:68
virtual bool CanBeAttacked
Definition: Trait.cs:177
virtual bool CanBeDestroyed
Definition: Trait.cs:307
virtual bool IsDoor
Definition: Trait.cs:58
virtual bool CanBeSmashedToDeath
Definition: Trait.cs:309
override int DangerLv
Definition: Zone.cs:110
Card AddCard(Card t, Point point)
Definition: Zone.cs:2017

References EClass._map, EClass._zone, DamageTextRenderer.Add(), Chara.ai, Chara.body, Chara, Map.charas, Player.codex, EClass.Colors, Chara.conditions, Core.config, EClass.core, Element.Create(), DamageHP(), Scene.damageTextRenderer, Zone.DangerLv, Dist(), elements, Effect.Emit(), GamePrincipal.enableDamageReduction, Evalue(), EClass.game, CharaBody.GetAttackStyle(), CodexManager.GetOrCreate(), Element.GetResistDamage(), GetResistPenetrationLevel(), CodexManager.Has(), HasElement(), hp, Element.id, isChara, Chara.IsDisabled, Chara.IsHostile(), IsPCFaction, IsPCFactionOrMinion, IsPCParty, isRestrained, isSynced, isThing, Chara.isWet, LV, Chara.mana, ColorProfile.matColors, material, MaxHP, Chara.MaxHP, parent, EClass.pc, PlayEffect(), EClass.player, Game.principal, EClass.rnd(), Say(), EClass.scene, Effect.SetParticleColor(), CoreConfig.Test.showNumbers, EClass.Sound, Element.source, CoreConfig.test, ActEffect.TryDelay(), BaseStats.Type, Stats.value, ElementContainer.ValueWithoutLink(), Element.Void, CodexCreature.weakspot, and weapon.

◆ Decay()

void Card.Decay ( int  a = 10)
inline

Definition at line 6944 of file Card.cs.

6945 {
6946 Card card = parent as Card;
6947 int num = 200;
6948 int num2 = MaxDecay / 4 * 3;
6949 if (a > 0)
6950 {
6951 if (card != null)
6952 {
6953 num = card.trait.DecaySpeedChild;
6954 }
6955 num = num * trait.DecaySpeed / 100;
6956 int num3 = Evalue(405);
6957 if (num3 != 0)
6958 {
6959 num = num * (100 - num3 * 2) / 100;
6960 }
6961 if (num < 0)
6962 {
6963 num = 0;
6964 }
6965 }
6966 else
6967 {
6968 num = 100;
6969 }
6970 a = a * num / 100;
6971 if (decay + a > MaxDecay)
6972 {
6973 if (card != null && !card.trait.OnChildDecay(this, !IsDecayed))
6974 {
6975 return;
6976 }
6977 if (!IsDecayed)
6978 {
6979 if (EClass.pc.HasElement(1325) && GetRootCard() is Chara && category.IsChildOf("food"))
6980 {
6981 Thing thing = TraitSeed.MakeRandomSeed(enc: true).SetNum(Mathf.Min(Num, 3));
6982 card.AddCard(thing);
6983 if (!IsParentLocked())
6984 {
6985 GetRootCard().Say("seed_rot", GetRootCard(), this, thing.Name);
6986 }
6987 Destroy();
6988 return;
6989 }
6990 if (parent == EClass._zone)
6991 {
6992 Say("rot", this);
6993 }
6994 else if (GetRootCard() == EClass.pc)
6995 {
6996 if (!IsParentLocked())
6997 {
6998 EClass.pc.Say("rotInv", this, EClass.pc);
6999 }
7001 }
7002 if (IsFood)
7003 {
7004 elements.ModBase(73, -10);
7005 }
7006 }
7007 }
7008 else if (decay < num2 && decay + a >= num2 && GetRootCard() == EClass.pc)
7009 {
7010 if (!IsParentLocked())
7011 {
7012 EClass.pc.Say("rottingInv", this, EClass.pc);
7013 }
7015 }
7016 decay += a;
7017 bool IsParentLocked()
7018 {
7019 if (parent is Thing)
7020 {
7021 return (parent as Thing).c_lockLv > 0;
7022 }
7023 return false;
7024 }
7025 }
bool IsDecayed
Definition: Card.cs:2329
string Name
Definition: Card.cs:2179
bool IsFood
Definition: Card.cs:2217
virtual int MaxDecay
Definition: Card.cs:2327
bool IsChildOf(Card c)
Definition: Card.cs:2718
static Thing MakeRandomSeed(bool enc=false)
Definition: TraitSeed.cs:192

References EClass._zone, card, HasElement(), SourceCategory.Row.IsChildOf(), TraitSeed.MakeRandomSeed(), ElementContainer.ModBase(), Name, EClass.pc, Say(), LayerInventory.SetDirty(), and SetNum().

◆ DecayNatural()

void Card.DecayNatural ( int  hour = 1)
inline

Definition at line 6912 of file Card.cs.

6913 {
6914 if (!isNPCProperty)
6915 {
6916 things.ForeachReverse(delegate(Thing t)
6917 {
6918 t.DecayNatural(hour);
6919 });
6920 if (sourceCard._origin == "dish")
6921 {
6923 }
6924 if (parent is Card && (parent as Card).trait.CanChildDecay(this))
6925 {
6926 Decay(10 * hour);
6927 }
6928 else if (!isChara && trait.Decay != 0)
6929 {
6930 Decay(trait.Decay * hour);
6931 }
6932 }
6933 }
string _origin
Definition: CardRow.cs:15
bool isNPCProperty
Definition: Card.cs:557
void DecayNatural(int hour=1)
Definition: Card.cs:6912
void Decay(int a=10)
Definition: Card.cs:6944
void CheckJustCooked()
Definition: Card.cs:6935
virtual bool CanChildDecay(Card c)
Definition: Trait.cs:1169
virtual int Decay
Definition: Trait.cs:123

References CardRow._origin, Trait.CanChildDecay(), Trait.Decay, and DecayNatural().

Referenced by DecayNatural(), Zone.OnSimulateHour(), and Zone.Simulate().

◆ Deconstruct()

void Card.Deconstruct ( )
inline

Definition at line 5192 of file Card.cs.

5193 {
5194 PlaySound(material.GetSoundDead(sourceCard));
5195 Destroy();
5196 }

References material.

Referenced by AI_Deconstruct.Run().

◆ Destroy()

void Card.Destroy ( )
inline

Definition at line 5198 of file Card.cs.

5199 {
5200 if (isDestroyed)
5201 {
5202 Debug.Log(Name + " is already destroyed.");
5203 return;
5204 }
5205 if (isChara)
5206 {
5207 if (IsPCFaction && !Chara.isSummon)
5208 {
5209 Debug.Log(this);
5210 return;
5211 }
5212 Chara.DropHeld();
5213 Chara.isDead = true;
5214 if (IsPCParty)
5215 {
5217 }
5218 if (IsGlobal)
5219 {
5221 }
5222 }
5223 if (renderer.hasActor)
5224 {
5226 }
5227 if (parent != null)
5228 {
5229 parent.RemoveCard(this);
5230 }
5231 for (int num = things.Count - 1; num >= 0; num--)
5232 {
5233 things[num].Destroy();
5234 }
5235 isDestroyed = true;
5236 }
GlobalCharaList globalCharas
Definition: CardManager.cs:46
void KillActor()
bool isSummon
Definition: Card.cs:713
Card DropHeld(Point dropPos=null)
Definition: Chara.cs:4689
void RemoveMember(Chara c)
Definition: Party.cs:102

References Game.cards, Debug, Chara.DropHeld(), EClass.game, CardManager.globalCharas, CardRenderer.hasActor, isSummon, CardRenderer.KillActor(), Chara.party, EClass.pc, CardManager.GlobalCharaList.Remove(), ICardParent.RemoveCard(), and Party.RemoveMember().

Referenced by InvOwnerDeliver._OnProcess(), InvOwnerGacha._OnProcess(), InvOwnerRecycle._OnProcess(), MapSubset.Apply(), PartialMap.Apply(), Chara.Banish(), FactionBranch.BanishMember(), DramaOutcome.check_sketch(), Chara.ClearInventory(), ContentCodex.Collect(), TraitSpotBiome.CountNotableThing(), TraitCrafter.Craft(), RecipeCard.CreateMold(), FactionBranch.DailyOutcome(), Trait.DamageRandomProperty(), QuestDeliver.Deliver(), ThingContainer.DestroyAll(), Chara.DropThing(), Chara.EQ_CAT(), Chara.EQ_ID(), CoreDebug.Fix_RemoveAshland(), CoreDebug.Fix_RemoveDemitas(), DramaOutcome.give_sketch_special(), Chara.GiveGift(), Chara.GiveLovePotion(), TaskHarvest.HarvestThing(), ModNum(), TraitTrap.OnActivateTrap(), TraitBrewery.OnChildDecay(), Meeting.OnEndDrama(), Chara.OnGiveErohon(), Game.OnLoad(), TraitAltar.OnOffer(), AM_FlagCell.OnProcessTiles(), AI_Fish.ProgressFish.OnProgressComplete(), TaskDig.OnProgressComplete(), TraitFertilizer.OnSimulateHour(), Zone.OnSimulateHour(), TraitFarmChest.OnUse(), TraitScrollMapTreasure.OnUse(), TraitStairsLocked.OnUse(), TraitFoodMeat.OnUse(), InvOwnerDeliver.PayBill(), ActEffect.Proc(), PurgeDuplicateArtifact(), Map.PutAway(), Trait.Refuel(), QuestEscort.ReleaseEscort(), RemoveBacker(), ConSleep.SuccubusVisit(), ActThrow.Throw(), AI_PlayMusic.ThrowReward(), Zone.TryAddThing(), TraitSwitch.TryDisarmTrap(), Chara.TryPoisonPotion(), ActPray.TryPray(), AI_Shopping.TryRestock(), Map.TryShatter(), TraitSeed.TrySprout(), TryStackTo(), TraitFoodEgg.Update(), and ActionMode.UpdateInput().

◆ Die()

virtual void Card.Die ( Element  e = null,
Card  origin = null,
AttackSource  attackSource = AttackSource::None,
Chara  originalTarget = null 
)
inlinevirtual

Reimplemented in Chara.

Definition at line 5130 of file Card.cs.

5131 {
5132 Card rootCard = GetRootCard();
5133 Point _pos = rootCard?.pos ?? pos;
5134 if (_pos != null && !_pos.IsValid)
5135 {
5136 _pos = null;
5137 }
5138 if (trait.EffectDead == EffectDead.Default && _pos != null)
5139 {
5140 _pos.PlaySound(material.GetSoundDead(sourceCard));
5141 _pos.PlayEffect("mine").SetParticleColor(material.GetColor()).Emit(10 + EClass.rnd(10));
5142 material.AddBlood(_pos, trait.CanBeSmashedToDeath ? (12 + EClass.rnd(8)) : 6);
5143 if (_pos.IsSync)
5144 {
5145 string text = ((rootCard != this) ? "destroyed_inv_" : "destroyed_ground_");
5146 if (e != null && LangGame.Has(text + e.source.alias))
5147 {
5148 text += e.source.alias;
5149 }
5150 if (attackSource != AttackSource.Throw)
5151 {
5152 Msg.Say(text, this, rootCard);
5153 }
5154 }
5155 else if (attackSource != AttackSource.Throw)
5156 {
5157 Msg.Say("destroyed", this);
5158 }
5159 }
5160 if (_pos != null && !EClass._zone.IsUserZone)
5161 {
5162 things.ForeachReverse(delegate(Thing t)
5163 {
5164 if (!(t.trait is TraitChestMerchant))
5165 {
5166 t.isHidden = false;
5167 EClass._zone.AddCard(t, _pos);
5168 }
5169 });
5170 }
5171 Destroy();
5172 if (e != null && _pos != null && e.id == 21)
5173 {
5174 EClass._zone.AddCard(ThingGen.Create((EClass.rnd(2) == 0) ? "ash" : "ash2"), _pos);
5175 }
5176 if (trait.ThrowType == ThrowType.Explosive && EClass.rnd((!(trait is TraitAmmoRocket)) ? 1 : 2) == 0)
5177 {
5178 Explode(pos, origin);
5179 }
5180 }
EffectDead
Definition: EffectDead.cs:2
ThrowType
Definition: ThrowType.cs:2
void Explode(Point p, Card origin)
Definition: Card.cs:5182
Definition: Point.cs:9
bool IsSync
Definition: Point.cs:344
SoundSource PlaySound(string id, bool synced=true, float v=1f, bool spatial=true)
Definition: Point.cs:1254
Effect PlayEffect(string id)
Definition: Point.cs:1249
virtual EffectDead EffectDead
Definition: Trait.cs:263
virtual ThrowType ThrowType
Definition: Trait.cs:261

References EClass._zone, Zone.AddCard(), Trait.CanBeSmashedToDeath, ThingGen.Create(), Trait.EffectDead, Effect.Emit(), LangGame.Has(), Point.IsSync, Zone.IsUserZone, Point.IsValid, material, Point.PlayEffect(), Point.PlaySound(), pos, EClass.rnd(), Msg.Say(), Effect.SetParticleColor(), Trait.ThrowType, and trait.

Referenced by TaskHarvest.HarvestThing(), TraitDye.OnThrowGround(), AI_Slaughter.Run(), ActThrow.Throw(), Trait.TryPryOpenLock(), and Map.TryShatter().

◆ Dist() [1/2]

int Card.Dist ( Card  c)
inline

Definition at line 8025 of file Card.cs.

8026 {
8027 if (!IsMultisize && !c.IsMultisize)
8028 {
8029 return pos.Distance(c.pos);
8030 }
8031 if (IsMultisize)
8032 {
8033 int dist = 99;
8034 ForeachPoint(delegate(Point p, bool main)
8035 {
8036 int num2 = DistMulti(p, c);
8037 if (num2 < dist)
8038 {
8039 dist = num2;
8040 }
8041 });
8042 return dist;
8043 }
8044 return DistMulti(pos, c);
8045 static int DistMulti(Point p1, Card c)
8046 {
8047 if (!c.IsMultisize)
8048 {
8049 return p1.Distance(c.pos);
8050 }
8051 int dist2 = 99;
8052 c.ForeachPoint(delegate(Point p, bool main)
8053 {
8054 int num = p1.Distance(p);
8055 if (num < dist2)
8056 {
8057 dist2 = num;
8058 }
8059 });
8060 return dist2;
8061 }
8062 }
virtual bool IsMultisize
Definition: Card.cs:2200
void ForeachPoint(Action< Point, bool > action)
Definition: Card.cs:8190
int Distance(Point p)
Definition: Point.cs:990

References Point.Distance(), ForeachPoint(), IsMultisize, and pos.

Referenced by Chara._Move(), AM_Adv._OnUpdateInput(), ActPlan._Update(), ActMelee.Attack(), Point.CallGuard(), ActMelee.CanPerform(), ActRush.CanPerform(), ActSwarm.CanPerform(), ActTelekinesis.CanPerform(), Player.CanSee(), TraitDye.CanUse(), AM_MoveInstalled.CheckEnemyNearBy(), AI_Torture.CreateProgress(), DamageHP(), ActionMode.DoFunc(), TaskCullLife.GetTarget(), ActorEx.GetVolume(), QuestManager.HasFarAwayEscort(), AI_OpenGambleChest.IsValid(), Point.ListCharasInRadius(), Chara.MoveByForce(), Chara.MoveZone(), AI_Sleep.OnProgressComplete(), ActRanged.Perform(), ActRush.Perform(), ActTelekinesis.Perform(), PlaySound(), ActEffect.Proc(), ActorEx.Refresh(), AI_ArmPillow.Run(), AI_Churyu.Run(), AI_Fish.Run(), AI_Fuck.Run(), AI_Idle.Run(), AI_Massage.Run(), AI_Mofu.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_TargetCard.Run(), GoalCombat.Run(), TaskClean.Run(), TaskCullLife.Run(), TaskDump.Run(), TaskWater.Run(), TraitDetector.Search(), SpawnLoot(), ConSleep.SuccubusVisit(), Player.TargetRanged(), ConChampagne.Tick(), ThingGen.TryLickChest(), Map.TrySmoothPick(), and GoalCombat.TryUseAbility().

◆ Dist() [2/2]

int Card.Dist ( Point  p)
inline

Definition at line 8064 of file Card.cs.

8065 {
8066 return pos.Distance(p);
8067 }

References Point.Distance().

◆ Duplicate()

Thing Card.Duplicate ( int  num)
inline

Definition at line 3528 of file Card.cs.

3529 {
3530 Thing thing = ThingGen.Create(id);
3531 thing.ChangeMaterial(idMaterial, ignoreFixedMaterial: true);
3532 thing._bits1 = _bits1;
3533 thing._bits2 = _bits2;
3534 thing.dir = dir;
3535 thing.refVal = refVal;
3536 thing.altitude = altitude;
3537 thing.idSkin = idSkin;
3538 thing.blessedState = blessedState;
3539 thing.rarityLv = rarityLv;
3540 thing.tier = tier;
3541 thing.LV = LV;
3542 thing.exp = exp;
3543 thing.encLV = encLV;
3544 thing.decay = decay;
3545 thing.mapInt.Clear();
3546 thing.mapStr.Clear();
3547 foreach (KeyValuePair<int, int> item in mapInt)
3548 {
3549 thing.mapInt[item.Key] = item.Value;
3550 }
3551 foreach (KeyValuePair<int, string> item2 in mapStr)
3552 {
3553 thing.mapStr[item2.Key] = item2.Value;
3554 }
3555 elements.CopyTo(thing.elements);
3556 thing.SetNum(num);
3557 if (thing.IsRangedWeapon)
3558 {
3559 thing.sockets = IO.DeepCopy(sockets);
3560 }
3561 if (thing.c_containerSize != 0)
3562 {
3563 thing.things.SetOwner(thing);
3564 }
3565 return thing;
3566 }
Dictionary< int, int > mapInt
Definition: BaseCard.cs:10
Dictionary< int, string > mapStr
Definition: BaseCard.cs:13
Card ChangeMaterial(int idNew, bool ignoreFixedMaterial=false)
Definition: Card.cs:3119
bool IsRangedWeapon
Definition: Card.cs:2285
int c_containerSize
Definition: Card.cs:1393
int rarityLv
Definition: Card.cs:305
BlessedState blessedState
Definition: Card.cs:281
int dir
Definition: Card.cs:149
void CopyTo(ElementContainer container)
Definition: IO.cs:11

References _bits1, _bits2, altitude, blessedState, c_containerSize, ChangeMaterial(), ElementContainer.CopyTo(), ThingGen.Create(), decay, dir, elements, encLV, exp, idMaterial, idSkin, IsRangedWeapon, item, LV, BaseCard.mapInt, BaseCard.mapStr, rarityLv, refVal, SetNum(), ThingContainer.SetOwner(), sockets, things, and tier.

Referenced by TraitCrafter.Craft(), Chara.Drink(), CraftUtil.MakeBloodMeal(), Trait.OnBarter(), ConTransmuteMimic.OnBeforeStart(), TraitBrewery.OnChildDecay(), TraitBookExp.OnRead(), TraitBookSecret.OnRead(), AI_Read.OnSetOwner(), TraitPotionEmpty.OnUse(), AI_Read.Run(), and AM_MoveInstalled.SetTarget().

◆ Dye() [1/2]

void Card.Dye ( SourceMaterial::Row  mat)
inline

Definition at line 6310 of file Card.cs.

6311 {
6312 isDyed = mat != null;
6313 c_dyeMat = mat?.id ?? 0;
6314 _colorInt = 0;
6315 }
int c_dyeMat
Definition: Card.cs:1213
bool isDyed
Definition: Card.cs:461

◆ Dye() [2/2]

◆ DyeRandom()

void Card.DyeRandom ( )
inline

Definition at line 6300 of file Card.cs.

6301 {
6302 Dye(EClass.sources.materials.rows.Where((SourceMaterial.Row r) => r.tier <= 4 && (r.matColor.r != r.matColor.g || r.matColor.g != r.matColor.b || r.matColor.b != r.matColor.r)).RandomItem().alias);
6303 }

References Dye, SourceManager.materials, and EClass.sources.

Referenced by Trait.OnBarter(), Chara.OnCreate(), Game.OnLoad(), and TraitPlamoBox.OnUse().

◆ EjectSockets()

void Card.EjectSockets ( )
inline

Definition at line 3660 of file Card.cs.

3661 {
3662 for (int i = 0; i < sockets.Count; i++)
3663 {
3664 int num = sockets[i];
3665 if (num != 0)
3666 {
3667 Thing thing = ThingGen.Create(isCopy ? "ash3" : "mod_ranged");
3668 int ele = num / 1000;
3669 int num2 = num % 1000;
3670 elements.ModBase(ele, -num2);
3671 if (!isCopy)
3672 {
3673 thing.refVal = ele;
3674 thing.encLV = num2;
3675 }
3677 sockets[i] = 0;
3678 }
3679 }
3680 }
bool ExistsOnMap
Definition: Card.cs:2125
void TrySmoothPick(Cell cell, Thing t, Chara c)
Definition: Map.cs:1825
bool IsBlocked
Definition: Point.cs:363

References EClass._map, ThingGen.Create(), elements, ExistsOnMap, Point.IsBlocked, isCopy, ElementContainer.ModBase(), EClass.pc, pos, sockets, and Map.TrySmoothPick().

Referenced by TaskHarvest.HarvestThing().

◆ Evalue() [1/3]

int Card.Evalue ( int  ele)
inline

Definition at line 2613 of file Card.cs.

2614 {
2615 return elements.Value(ele);
2616 }
int Value(int ele)

References elements, and ElementContainer.Value().

Referenced by Chara._Move(), _OnDeserialized(), TraitAltar._OnOffer(), AM_Adv._OnUpdateInput(), ActPlan._Update(), Element._WriteNote(), GameDate.AdvanceDay(), GrowSystem.ApplySeed(), ActMelee.Attack(), RecipeCard.Build(), RecipeCard.BuildIngredientList(), Chara.CalcCastingChance(), AttackProcess.CalcHit(), ActBloodsuck.CanPerform(), ActNTR.CanPerform(), RecipeManager.ComeUpWithRecipe(), TraitCrafter.Craft(), RecipeCard.Craft(), Dice.Create(), Chara.Cuddle(), ActEffect.DamageEle(), DamageHP(), Player.DreamSpell(), CharaBody.Equip(), Party.EvalueBest(), Party.EvalueTotal(), Chara.FindNewEnemy(), Zone.Generate(), TraitBaseSpellbook.GetActDuration(), Party.GetBestSkill(), CraftUtil.GetBloodText(), HomeResourceEducation.GetDestValue(), HomeResourceSafety.GetDestValue(), TraitCrafter.GetDuration(), Hobby.GetEfficiency(), GetExpMtp(), Religion.GetGiftRank(), TraitDrinkMilkMother.GetHeldEmo(), DNA.GetInvalidFeat(), Hobby.GetLv(), CharaBody.GetMeleeDistance(), Ability.GetPower(), Recipe.GetQualityBonus(), CraftUtil.GetRandomLoveLunchIngredient(), AttackProcess.GetRawDamage(), RecipeManager.GetRecipeLearnState(), RecipeSource.GetSPCost(), ElementContainer.GetSpellExp(), LayerTravel.GetTravelHours(), AttackProcess.GetTwoHandEncBonus(), RecipeManager.GetUnlearnedRecipe(), AttackProcess.GetWeaponEnc(), GoalAutoCombat.GoalAutoCombat(), HealHP(), TraitFoodEggFertilized.Incubate(), Quest.Init(), CalcMoney.Invest(), Chara.IsCriticallyWounded(), Chara.IsHostile(), Religion.LeaveFaith(), LevelUp(), CraftUtil.MakeBloodMeal(), RecipeCard.MakeDish(), AI_Fish.Makefish(), CraftUtil.MakeLoveLunch(), TraitSeed.MakeSeed(), DNA.MakeSlimeFood(), MaxRune(), CraftUtil.MixIngredients(), StatsStamina.Mod(), CalcMoney.Negotiate(), Player.OnAdvanceDay(), Player.OnAdvanceHour(), Trait.OnBarter(), TraitPotionAlchemy.OnCrafted(), TraitDrinkMilkMother.OnDrink(), TraitAgingShelf.OnProduce(), AI_Fish.ProgressFish.OnProgress(), ConSleep.OnRemoved(), RecipeManager.OnSleep(), TraitFloorSwitch.OnStepped(), Affinity.OnTalkRumor(), TraitItemProc.OnUse(), RaceBonus.OnWriteNote(), ActMultihit.Perform(), ActRanged.Perform(), ActRush.Perform(), ActZap.Perform(), AttackProcess.Perform(), AttackProcess.Prepare(), FoodEffect.Proc(), ActEffect.ProcAt(), AttackProcess.ProcShieldEncs(), Religion.Punish(), Religion.PunishTakeOver(), WindowCharaMini.Refresh(), WindowChara.RefreshNote(), WindowChara.RefreshSkill(), Chara.RefreshSpeed(), Chara.RequestProtection(), Dice.Roll(), AI_Eat.Run(), AI_Fuck.Run(), AI_Idle.Run(), AI_OpenGambleChest.Run(), AI_PassTime.Run(), AI_PlayMusic.Run(), AI_Steal.Run(), AI_UseCrafter.Run(), ActWait.Search(), Player.SelectDomain(), QuestSupplySpecific.SetIdThing(), Map.SetObj(), BaseTaskHarvest.SetTarget(), SpawnLoot(), Chara.Stumble(), ConSleep.SuccubusVisit(), ConPeaky.Tick(), TraitSwitch.TryDisarmTrap(), Trait.TryOpenLock(), ActPray.TryPray(), TraitBaseSpellbook.TryProgress(), ActRanged.TryReload(), HotItemHeld.TrySetAct(), TraitSwitch.TrySetAct(), TraitEcoMark.TrySetHeldAct(), GoalCombat.TryUseAbility(), DramaOutcome.upgrade_miscreation(), ElementContainerCard.ValueBonus(), and Element.BonusInfo.WriteNote().

◆ Evalue() [2/3]

int Card.Evalue ( int  ele,
bool  ignoreGlobalElement 
)
inline

Definition at line 2618 of file Card.cs.

2619 {
2620 if (!ignoreGlobalElement || !HasGlobalElement(ele))
2621 {
2622 return elements.Value(ele);
2623 }
2624 return 0;
2625 }
bool HasGlobalElement(int ele)
Definition: Card.cs:6237

References elements, HasGlobalElement(), and ElementContainer.Value().

◆ Evalue() [3/3]

int Card.Evalue ( string  alias)
inline

Definition at line 2632 of file Card.cs.

2633 {
2634 return elements.Value(EClass.sources.elements.alias[alias].id);
2635 }

References elements, SourceManager.elements, EClass.sources, and ElementContainer.Value().

◆ EvalueMax()

int Card.EvalueMax ( int  ele,
int  min = 0 
)
inline

Definition at line 2627 of file Card.cs.

2628 {
2629 return Mathf.Max(elements.Value(ele), min);
2630 }

References elements, and ElementContainer.Value().

Referenced by Chara._Move(), StatsMana.Mod(), and AttackProcess.Prepare().

◆ Explode()

void Card.Explode ( Point  p,
Card  origin 
)
inline

Definition at line 5182 of file Card.cs.

5183 {
5184 ActEffect.ProcAt(EffectId.Explosive, 100, blessedState, this, null, p, isNeg: true, new ActRef
5185 {
5186 origin = origin?.Chara,
5187 refThing = Thing,
5188 aliasEle = "eleImpact"
5189 });
5190 }
static void ProcAt(EffectId id, int power, BlessedState state, Card cc, Card tc, Point tp, bool isNeg, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:493
Definition: ActRef.cs:2

References ActEffect.ProcAt().

◆ FindTool< T >()

T Card.FindTool< T > ( )
inline
Type Constraints
T :Trait 

Definition at line 2723 of file Card.cs.

2723 : Trait
2724 {
2725 if (IsPC)
2726 {
2727 return Tool?.trait as T;
2728 }
2729 return things.Find<T>()?.trait as T;
2730 }
Thing Tool
Definition: Card.cs:2452
Thing Find(int uid)

References ThingContainer.Find(), IsPC, things, Tool, and trait.

◆ ForeachFOV()

void Card.ForeachFOV ( Func< Point, bool >  func)
inline

Definition at line 8174 of file Card.cs.

8175 {
8176 if (fov == null)
8177 {
8178 return;
8179 }
8180 foreach (KeyValuePair<int, byte> lastPoint in fov.lastPoints)
8181 {
8182 Point arg = new Point().Set(lastPoint.Key);
8183 if (func(arg))
8184 {
8185 break;
8186 }
8187 }
8188 }

References Fov.lastPoints, and Point.Set().

◆ ForeachPoint()

void Card.ForeachPoint ( Action< Point, bool >  action)
inline

Definition at line 8190 of file Card.cs.

8191 {
8192 if (IsMultisize)
8193 {
8194 pos.ForeachMultiSize(W, H, action);
8195 }
8196 else
8197 {
8198 action(pos, arg2: true);
8199 }
8200 }
int H
Definition: Card.cs:2408
int W
Definition: Card.cs:2396
void ForeachMultiSize(int w, int h, Action< Point, bool > action)
Definition: Point.cs:1386

References Point.ForeachMultiSize().

Referenced by Map._AddCard(), Map._RemoveCard(), RecipeCard.Build(), Act.CanPerform(), Player.CanSee(), Dist(), UIInspector.DrawHighlight(), TraitBoat.GetWaterMat(), AM_MoveInstalled.OnProcessTiles(), TaskDump.Run(), SetPlaceState(), and ActThrow.Throw().

◆ GetAffinityExpBonus()

int Card.GetAffinityExpBonus ( )
inline

Definition at line 3057 of file Card.cs.

3058 {
3059 return Mathf.Clamp(100 + Chara.affinity.value / 10, 50, 200);
3060 }
int value
Definition: Affinity.cs:26
Affinity affinity
Definition: Chara.cs:316

References Chara.affinity, and Affinity.value.

Referenced by GetExpMtp(), and WindowChara.RefreshNote().

◆ GetArmorSkill()

virtual int Card.GetArmorSkill ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 4121 of file Card.cs.

4122 {
4123 return 0;
4124 }

Referenced by ApplyProtection().

◆ GetBestAttribute()

int Card.GetBestAttribute ( )
inline

Definition at line 2672 of file Card.cs.

2673 {
2674 int num = 1;
2675 foreach (Element item in elements.dict.Values.Where((Element a) => Element.List_MainAttributesMajor.Contains(a.id)))
2676 {
2677 int num2 = item.Value;
2678 if (isChara && Chara.tempElements != null)
2679 {
2680 num2 -= Chara.tempElements.Value(item.id);
2681 }
2682 if (num2 > num)
2683 {
2684 num = num2;
2685 }
2686 }
2687 return num;
2688 }
ElementContainer tempElements
Definition: Chara.cs:36
Dictionary< int, Element > dict
static int[] List_MainAttributesMajor
Definition: ELEMENT.cs:247

References ElementContainer.dict, elements, Element.id, isChara, item, Element.List_MainAttributesMajor, Chara.tempElements, and ElementContainer.Value().

Referenced by AI_Fuck.Finish().

◆ GetCondition< T >()

virtual T Card.GetCondition< T > ( )
inlinevirtual

Reimplemented in Chara.

Type Constraints
T :Condition 

Definition at line 8230 of file Card.cs.

8230 : Condition
8231 {
8232 return null;
8233 }

◆ GetCurrency()

◆ GetDaysTogetherBonus()

int Card.GetDaysTogetherBonus ( )
inline

Definition at line 3062 of file Card.cs.

3063 {
3065 {
3066 return 100;
3067 }
3068 return 100 + EClass.curve(c_daysWithPC / 100 * 3, 100, 20, 70);
3069 }
int c_daysWithPC
Definition: Card.cs:1513

References c_daysWithPC, EClass.curve(), and IsPCFactionOrMinion.

Referenced by ElementContainer.ModExp(), and WindowChara.RefreshNote().

◆ GetDetail()

virtual string Card.GetDetail ( )
inlinevirtual

Definition at line 2667 of file Card.cs.

2668 {
2669 return sourceCard.GetText("detail", returnNull: true);
2670 }
string GetText(string id="name", bool returnNull=false)
Definition: SourceData.cs:665

References SourceData< T, T2 >.BaseRow.GetText(), and sourceCard.

◆ GetEquipValue()

int Card.GetEquipValue ( )
inline

Definition at line 7504 of file Card.cs.

7505 {
7506 return GetValue();
7507 }
int GetValue(PriceType priceType=PriceType.Default, bool sell=false)
Definition: Card.cs:7525

Referenced by Chara.GetBestRangedWeapon(), and Chara.ShouldEquip().

◆ GetExpMtp()

int Card.GetExpMtp ( )
inline

Definition at line 3039 of file Card.cs.

3040 {
3041 int num = 100;
3042 if (!IsPC)
3043 {
3044 num *= 2;
3045 if (IsPCFaction)
3046 {
3047 num = num * GetAffinityExpBonus() / 100;
3049 {
3050 num = num * (50 + EClass.game.principal.petFeatExpMtp * 50) / 100;
3051 }
3052 }
3053 }
3054 return num * (100 + Evalue(1237) * 30 + Evalue(1273) * 50 + ((Evalue(1275) >= 2) ? 50 : 0)) / 100;
3055 }
int GetAffinityExpBonus()
Definition: Card.cs:3057

References Evalue(), EClass.game, GetAffinityExpBonus(), IsPC, IsPCFaction, GamePrincipal.petFeatExp, and Game.principal.

Referenced by AddExp().

◆ GetExtraName()

virtual string Card.GetExtraName ( )
inlinevirtual

Reimplemented in Thing.

Definition at line 2662 of file Card.cs.

2663 {
2664 return "";
2665 }

Referenced by Act.GetTextSmall().

◆ GetFoodName()

string Card.GetFoodName ( string  s)
inline

Definition at line 5861 of file Card.cs.

5862 {
5863 return s.Replace("_corpseFrom".lang(), "_corpseTo".lang());
5864 }

◆ GetHearingRadius()

int Card.GetHearingRadius ( )
inline

Definition at line 6721 of file Card.cs.

6722 {
6723 return 8;
6724 }

Referenced by AI_Idle.Run().

◆ GetHoverText()

virtual string Card.GetHoverText ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 8015 of file Card.cs.

8016 {
8017 return Name + GetExtraName();
8018 }
virtual string GetExtraName()
Definition: Card.cs:2662

Referenced by ConBaseTransmuteMimic.GetHoverText().

◆ GetHoverText2()

virtual string Card.GetHoverText2 ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 8020 of file Card.cs.

8021 {
8022 return "";
8023 }

Referenced by ConBaseTransmuteMimic.GetHoverText2().

◆ GetImageSprite()

virtual Sprite Card.GetImageSprite ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 6408 of file Card.cs.

6409 {
6410 return null;
6411 }

Referenced by HotItemThing.GetSprite().

◆ GetLightPower()

float Card.GetLightPower ( )
inline

Definition at line 6707 of file Card.cs.

6708 {
6710 if (LightData != null)
6711 {
6712 return 0.01f * LightData.color.a * 256f * 1.12f;
6713 }
6714 if (IsPCFaction && !IsPC)
6715 {
6716 num *= 4f;
6717 }
6718 return num;
6719 }
AnimationCurve fovCurveChara
float timeRatio
Definition: Scene.cs:130

References SceneLightProfile.fovCurveChara, SceneProfile.global, SceneProfile.light, Scene.profile, EClass.scene, and Scene.timeRatio.

Referenced by CalculateFOV().

◆ GetLightRadius()

int Card.GetLightRadius ( )
inline

Definition at line 6735 of file Card.cs.

6736 {
6737 if (isThing)
6738 {
6739 if (!IsInstalled && EClass.pc.held != this)
6740 {
6741 return 0;
6742 }
6744 {
6745 return (trait as TraitLightSource).LightRadius;
6746 }
6747 if (LightData == null || !trait.IsLightOn)
6748 {
6749 return 0;
6750 }
6751 return LightData.radius;
6752 }
6753 int num = ((LightData != null) ? LightData.radius : 0);
6754 int num2 = 0;
6755 if (IsPC)
6756 {
6757 if (Chara.isBlind)
6758 {
6759 return 1;
6760 }
6761 num = ((EClass._map.IsIndoor || EClass.world.date.IsNight) ? 2 : ((EClass.world.date.periodOfDay == PeriodOfDay.Day) ? 6 : 5));
6762 num2 = 2;
6763 }
6764 else
6765 {
6767 {
6768 return 0;
6769 }
6770 if (LightData == null && !EClass._map.IsIndoor && !EClass.world.date.IsNight)
6771 {
6772 return 0;
6773 }
6774 }
6775 if (IsPCFaction)
6776 {
6777 Thing equippedThing = Chara.body.GetEquippedThing(45);
6778 if (equippedThing != null && equippedThing.trait is TraitLightSource traitLightSource)
6779 {
6780 num2 = traitLightSource.LightRadius;
6781 }
6782 if (Chara.held != null && IsPC)
6783 {
6784 int lightRadius = Chara.held.GetLightRadius();
6785 if (lightRadius > 0)
6786 {
6787 if (lightRadius > num2)
6788 {
6789 num2 = Chara.held.GetLightRadius() - 1;
6790 }
6791 if (num2 < 3)
6792 {
6793 num2 = 3;
6794 }
6795 }
6796 }
6797 if (num < num2)
6798 {
6799 num = num2;
6800 }
6801 }
6802 return num;
6803 }
PeriodOfDay
Definition: PeriodOfDay.cs:2
Thing GetEquippedThing(int elementId)
Definition: CharaBody.cs:424
bool isBlind
Definition: Chara.cs:132
GraphicSetting graphic
Definition: CoreConfig.cs:611
bool IsNight
Definition: Date.cs:112
PeriodOfDay periodOfDay
Definition: Date.cs:128
int radius
Definition: LightData.cs:10
bool IsIndoor
Definition: Map.cs:131
bool isEquipped
Definition: Thing.cs:17
virtual bool IsLightOn
Definition: Trait.cs:426

References EClass._map, Chara.body, Core.config, EClass.core, World.date, CoreConfig.GraphicSetting.drawAllyLight, CharaBody.GetEquippedThing(), GetLightRadius(), CoreConfig.graphic, Chara.held, Chara.isBlind, Thing.isEquipped, Map.IsIndoor, Trait.IsLightOn, Date.IsNight, EClass.pc, Date.periodOfDay, LightData.radius, trait, and EClass.world.

Referenced by CalculateFOV(), CreateFov(), GetLightRadius(), and Chara.HoldCard().

◆ GetName()

virtual string Card.GetName ( NameStyle  style,
int  num = -1 
)
inlinevirtual

Reimplemented in Thing, and Chara.

Definition at line 2657 of file Card.cs.

2658 {
2659 return "Card";
2660 }

Referenced by Chara._Move(), InvOwnerBlend._OnProcess(), ConBaseTransmuteMimic.GetName(), MakeRefFrom(), AI_Eat.Run(), AI_Read.Run(), and SecondaryCompare().

◆ GetPaintData()

byte[] Card.GetPaintData ( )
inline

Definition at line 7386 of file Card.cs.

7387 {
7388 Sprite sprite = GetSprite();
7389 Texture2D texture2D = ScreenCapture.CaptureScreenshotAsTexture();
7390 int num = sprite.texture.width * 2;
7391 int num2 = sprite.texture.height * 2;
7392 int x = (int)Mathf.Clamp(Input.mousePosition.x - (float)(num / 2), 1f, texture2D.width - num - 1);
7393 int y = (int)Mathf.Clamp(Input.mousePosition.y - (float)(num2 / 2), 1f, texture2D.height - num2 - 1);
7394 Color[] pixels = texture2D.GetPixels(x, y, num, num2);
7395 Texture2D texture2D2 = new Texture2D(num, num2, TextureFormat.ARGB32, mipChain: false);
7396 texture2D2.SetPixels(pixels);
7397 texture2D2.Apply();
7398 byte[] result = texture2D2.EncodeToJPG();
7399 UnityEngine.Object.Destroy(texture2D);
7400 UnityEngine.Object.Destroy(texture2D2);
7401 return result;
7402 }
virtual Sprite GetSprite(int dir=0)
Definition: Card.cs:6391

References Color.

Referenced by AM_Paint.OnUpdateInput().

◆ GetPaintSprite()

Sprite Card.GetPaintSprite ( )
inline

Definition at line 7414 of file Card.cs.

7415 {
7416 if (!_paintSprite)
7417 {
7418 byte[] data = c_textureData;
7419 Texture2D texture2D = new Texture2D(1, 1);
7420 texture2D.LoadImage(data);
7421 _paintSprite = Sprite.Create(texture2D, new Rect(0f, 0f, texture2D.width, texture2D.height), new Vector2(0.5f, 0.5f), 200f);
7422 EClass.game.loadedTextures.Add(texture2D);
7423 if (trait is TraitCanvas traitCanvas)
7424 {
7425 texture2D.filterMode = ((!traitCanvas.PointFilter) ? FilterMode.Bilinear : FilterMode.Point);
7426 }
7427 }
7428 return _paintSprite;
7429 }
byte[] c_textureData
Definition: Card.cs:1969
HashSet< Texture2D > loadedTextures
Definition: Game.cs:258

References EClass.game, and Game.loadedTextures.

Referenced by TraitCanvas.OnSetCardGrid(), CardActor.RefreshSprite(), and LayerPixelPaint.SetCanvas().

◆ GetPrice()

virtual int Card.GetPrice ( CurrencyType  currency = CurrencyType::Money,
bool  sell = false,
PriceType  priceType = PriceType::Default,
Chara  c = null 
)
inlinevirtual

Definition at line 7603 of file Card.cs.

7604 {
7605 if (priceType == PriceType.CopyShop && sell)
7606 {
7607 return 0;
7608 }
7609 if (!sell)
7610 {
7611 if (id == "littleball")
7612 {
7613 return 0;
7614 }
7615 switch (currency)
7616 {
7617 case CurrencyType.Money:
7618 if (id == "crimale2")
7619 {
7620 return 6480;
7621 }
7622 break;
7623 case CurrencyType.Influence:
7624 switch (id)
7625 {
7626 case "ticket_fortune":
7627 return 5;
7628 case "medal":
7629 return 5;
7630 case "lunch_love":
7631 return 20;
7632 case "scroll_alias":
7633 return 5;
7634 case "scroll_biography":
7635 return 5;
7636 case "1268":
7637 return 8;
7638 case "1329":
7639 return 20;
7640 case "statue_lulu":
7641 case "statue_jure":
7642 case "statue_ehe":
7643 return 100;
7644 }
7645 break;
7646 case CurrencyType.Money2:
7647 {
7648 string text = id;
7649 if (!(text == "mathammer"))
7650 {
7651 if (!(text == "water_jure"))
7652 {
7653 break;
7654 }
7655 return 2000;
7656 }
7657 return 50 + material.tier * material.tier * 10;
7658 }
7659 case CurrencyType.Ecopo:
7660 switch (id)
7661 {
7662 case "plat":
7663 return 500;
7664 case "rune_free":
7665 return 1000;
7666 case "whip_egg":
7667 return 3000;
7668 case "brush_strip":
7669 return 2500;
7670 case "hammer_strip":
7671 return 5000;
7672 case "helm_chef":
7673 return 25000;
7674 }
7675 break;
7676 case CurrencyType.Plat:
7677 switch (id)
7678 {
7679 case "lucky_coin":
7680 return 100;
7681 case "book_exp":
7682 return 200;
7683 case "book_skill":
7684 return 50;
7685 }
7686 break;
7687 case CurrencyType.Medal:
7688 switch (id)
7689 {
7690 case "1282":
7691 return 5;
7692 case "bill_tax":
7693 return 3;
7694 case "water":
7695 return 3;
7696 case "bill":
7697 return 3;
7698 case "1165":
7699 return 10;
7700 case "diary_sister":
7701 return 12;
7702 case "diary_lady":
7703 return 25;
7704 case "diary_catsister":
7705 return 85;
7706 case "container_magic":
7707 return 20;
7708 case "wrench_tent_elec":
7709 return 3;
7710 case "wrench_tent_soil":
7711 return 3;
7712 case "wrench_tent_seabed":
7713 return 12;
7714 case "wrench_bed":
7715 return 3;
7716 case "wrench_storage":
7717 return 4;
7718 case "wrench_fridge":
7719 return 15;
7720 case "wrench_extend_v":
7721 return 6;
7722 case "wrench_extend_h":
7723 return 6;
7724 case "monsterball":
7725 return LV / 8;
7726 case "372":
7727 return 3;
7728 case "hammer_garokk":
7729 return 100;
7730 case "scroll_random":
7731 if (refVal == 8288)
7732 {
7733 return 20;
7734 }
7735 break;
7736 }
7737 break;
7738 }
7739 }
7740 if (sell && noSell)
7741 {
7742 return 0;
7743 }
7744 if (!sell && id == "casino_coin")
7745 {
7746 return 20;
7747 }
7748 int value = GetValue(priceType, sell);
7749 if (value == 0)
7750 {
7751 return 0;
7752 }
7753 if (c == null)
7754 {
7755 c = EClass.pc;
7756 }
7757 double p = value;
7758 Trait trait = this.trait;
7759 if (!(trait is TraitBed))
7760 {
7761 if (trait is TraitContainer traitContainer)
7762 {
7763 p *= 1f + 4f * (float)(things.width - traitContainer.Width) + 4f * (float)(things.height - traitContainer.Height);
7764 }
7765 }
7766 else
7767 {
7768 p *= 1f + 0.5f * (float)c_containerSize;
7769 }
7770 p += c_priceAdd;
7771 if (c_priceFix != 0)
7772 {
7773 p = (int)((float)p * (float)Mathf.Clamp(100 + c_priceFix, 0, 1000000) / 100f);
7774 if (p == 0.0)
7775 {
7776 return 0;
7777 }
7778 }
7779 if (isStolen)
7780 {
7781 if (sell && priceType == PriceType.PlayerShop && EClass.Branch != null && EClass.Branch.policies.IsActive(2824))
7782 {
7783 p = p * 100.0 / (double)Mathf.Max(110f, 170f - Mathf.Sqrt(EClass.Branch.Evalue(2824) * 5));
7784 }
7785 else if (sell && Guild.Thief.IsMember)
7786 {
7787 p = Guild.Thief.SellStolenPrice((int)p);
7788 }
7789 else
7790 {
7791 p *= 0.5;
7792 }
7793 }
7794 if (!sell && category.id == "spellbook")
7795 {
7796 p = Guild.Mage.BuySpellbookPrice((int)p);
7797 }
7798 bool flag = priceType == PriceType.CopyShop;
7799 int num = ((!flag) ? 1 : 5);
7800 float num2 = Mathf.Min(0.01f * (float)Evalue(752), 1f);
7801 float num3 = Mathf.Min(0.01f * (float)Evalue(751), 1f);
7802 float num4 = Mathf.Min(0.02f * (float)Evalue(759), 2f);
7803 if (num3 > 0f)
7804 {
7805 num3 *= (float)num;
7806 }
7807 float num5 = Mathf.Clamp(1f + num2 + num3, 0.5f, 5f) + num4;
7808 p *= num5;
7809 p *= 0.20000000298023224;
7810 if (sell)
7811 {
7812 p *= 0.20000000298023224;
7813 if (isCopy)
7814 {
7815 p *= 0.20000000298023224;
7816 }
7817 if (isReplica)
7818 {
7819 p *= 0.20000000298023224;
7820 }
7821 if (currency == CurrencyType.Money && (category.IsChildOf("meal") || category.IsChildOf("preserved")))
7822 {
7823 p *= 0.5;
7824 }
7825 if ((uint)(priceType - 1) <= 1u)
7826 {
7827 if (category.IsChildOf("fish"))
7828 {
7829 p *= ((EClass.pc.faith == EClass.game.religions.Luck) ? 1.5f : 1f);
7830 }
7831 if (category.IsChildOf("vegi") || category.IsChildOf("fruit"))
7832 {
7833 p *= ((EClass.pc.faith == EClass.game.religions.Harvest) ? 3f : 2f);
7834 }
7835 }
7836 }
7837 if (id == "rod_wish")
7838 {
7839 p *= (sell ? 0.01f : 50f);
7840 }
7841 switch (currency)
7842 {
7843 case CurrencyType.Ecopo:
7844 if (this.trait is TraitSeed)
7845 {
7846 p *= 2.0;
7847 }
7848 else if (this.trait is TraitEcoMark)
7849 {
7850 p *= 1.0;
7851 }
7852 else
7853 {
7854 p *= 0.20000000298023224;
7855 }
7856 break;
7857 case CurrencyType.Casino_coin:
7858 p *= 0.10000000149011612;
7859 break;
7860 case CurrencyType.Influence:
7861 p *= 0.0020000000949949026;
7862 break;
7863 case CurrencyType.Medal:
7864 p *= 0.00019999999494757503;
7865 break;
7866 case CurrencyType.Money2:
7867 p *= 0.004999999888241291;
7868 break;
7869 default:
7870 if (IsIdentified || (this.trait is TraitErohon && !sell) || priceType == PriceType.Tourism)
7871 {
7872 if (blessedState == BlessedState.Blessed)
7873 {
7874 p *= 1.25;
7875 }
7876 else if (blessedState <= BlessedState.Cursed)
7877 {
7878 p *= (flag ? 1.25f : 0.3f);
7879 }
7880 if (this.trait.HasCharges)
7881 {
7882 p = p * 0.05000000074505806 + p * (double)(0.5f + Mathf.Clamp(0.1f * (float)c_charges, 0f, 1.5f));
7883 }
7884 if (IsDecayed)
7885 {
7886 p *= (flag ? 0.9f : 0.5f);
7887 }
7888 }
7889 else
7890 {
7891 Rand.UseSeed(uid, delegate
7892 {
7893 p = (sell ? (1 + EClass.rnd(15)) : (50 + EClass.rnd(500)));
7894 });
7895 }
7896 if (!sell)
7897 {
7898 p *= 1f + 0.2f * (float)c.Evalue(1406);
7899 }
7900 break;
7901 }
7902 float num6 = Math.Clamp(Mathf.Sqrt(c.EvalueMax(291) + ((!sell && EClass._zone.IsPCFaction) ? (EClass.Branch.Evalue(2800) * 2) : 0)), 0f, 25f);
7903 switch (priceType)
7904 {
7905 case PriceType.Tourism:
7906 num6 = 0f;
7907 break;
7908 case PriceType.Shipping:
7909 if (sell)
7910 {
7911 p *= 1.100000023841858;
7912 }
7913 break;
7914 case PriceType.PlayerShop:
7915 {
7916 if (!sell)
7917 {
7918 break;
7919 }
7920 float num7 = 1.25f;
7921 if (EClass.Branch != null)
7922 {
7923 if (EClass.Branch.policies.IsActive(2817))
7924 {
7925 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2817));
7926 }
7927 if (EClass.Branch.policies.IsActive(2816))
7928 {
7929 num7 += 0.2f + 0.02f * Mathf.Sqrt(EClass.Branch.Evalue(2816));
7930 }
7931 if (isChara)
7932 {
7933 if (EClass.Branch.policies.IsActive(2828))
7934 {
7935 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2828));
7936 }
7937 }
7938 else if (category.IsChildOf("food") || category.IsChildOf("drink"))
7939 {
7940 if (EClass.Branch.policies.IsActive(2818))
7941 {
7942 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2818));
7943 }
7944 }
7945 else if (category.IsChildOf("furniture"))
7946 {
7947 if (EClass.Branch.policies.IsActive(2819))
7948 {
7949 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2819));
7950 }
7951 }
7952 else if (EClass.Branch.policies.IsActive(2820))
7953 {
7954 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2820));
7955 }
7956 }
7957 p *= num7;
7958 break;
7959 }
7960 }
7961 if ((uint)currency > 1u)
7962 {
7963 num6 = 0f;
7964 }
7965 p *= (sell ? (1f + num6 * 0.02f) : (1f - num6 * 0.02f));
7966 if (sell)
7967 {
7968 p = EClass.curve((int)p, 10000, 10000, 80);
7969 }
7970 if (p < 1.0)
7971 {
7972 p = ((!sell) ? 1 : 0);
7973 }
7974 if (!sell)
7975 {
7976 if (currency == CurrencyType.Casino_coin)
7977 {
7978 if (p > 100000.0)
7979 {
7980 p = Mathf.CeilToInt((float)p / 100000f) * 100000;
7981 }
7982 else if (p > 10000.0)
7983 {
7984 p = Mathf.CeilToInt((float)p / 10000f) * 10000;
7985 }
7986 else if (p > 1000.0)
7987 {
7988 p = Mathf.CeilToInt((float)p / 1000f) * 1000;
7989 }
7990 else if (p > 100.0)
7991 {
7992 p = Mathf.CeilToInt((float)p / 100f) * 100;
7993 }
7994 else if (p > 10.0)
7995 {
7996 p = Mathf.CeilToInt((float)p / 10f) * 10;
7997 }
7998 }
7999 if (this.trait is TraitDeed)
8000 {
8001 p *= Mathf.Pow(2f, EClass.player.flags.landDeedBought);
8002 }
8003 }
8004 if (p > (double)(sell ? 500000000 : 1000000000))
8005 {
8006 if (!sell)
8007 {
8008 return 1000000000;
8009 }
8010 return 500000000;
8011 }
8012 return (int)p;
8013 }
BlessedState
Definition: BlessedState.cs:2
@ currency
CurrencyType
Definition: CurrencyType.cs:2
PriceType
Definition: PriceType.cs:2
int c_priceFix
Definition: Card.cs:1152
bool noSell
Definition: Card.cs:833
int c_priceAdd
Definition: Card.cs:1164
bool isStolen
Definition: Card.cs:857
bool IsIdentified
Definition: Card.cs:2419
bool isReplica
Definition: Card.cs:701
int c_charges
Definition: Card.cs:1297
int Evalue(int ele)
PolicyManager policies
int BuySpellbookPrice(int a)
Definition: GuildMage.cs:17
int SellStolenPrice(int a)
Definition: GuildThief.cs:17
static GuildMage Mage
Definition: Guild.cs:58
bool IsMember
Definition: Guild.cs:72
static GuildThief Thief
Definition: Guild.cs:60
int landDeedBought
Definition: Player.cs:688
Flags flags
Definition: Player.cs:1161
bool IsActive(int id, int days=-1)
static void UseSeed(int seed, Action action)
Definition: Rand.cs:24
ReligionHarvest Harvest
ReligionLuck Luck
virtual bool HasCharges
Definition: Trait.cs:341

References EClass._zone, EClass.Branch, GuildMage.BuySpellbookPrice(), currency, EClass.curve(), FactionBranch.Evalue(), Player.flags, EClass.game, ReligionManager.Harvest, Trait.HasCharges, ThingContainer.height, SourceCategory.Row.id, PolicyManager.IsActive(), SourceCategory.Row.IsChildOf(), Guild.IsMember, Zone.IsPCFaction, Player.Flags.landDeedBought, ReligionManager.Luck, Guild.Mage, EClass.pc, EClass.player, FactionBranch.policies, Game.religions, EClass.rnd(), GuildThief.SellStolenPrice(), Guild.Thief, Rand.UseSeed(), and ThingContainer.width.

Referenced by InvOwnerRecycle._OnProcess(), AI_Shopping.Buy(), TraitSalesTag.CanTagSale(), Chara.ClearInventory(), ZonePreEnterBoutWin.Execute(), QuestSupply.GetBonus(), QuestSupplySpecific.GetBonus(), Thing.GetName(), Chara.GetName(), TraitTicketFurniture.GetPrice(), HomeResourceWorth.GetPrice(), ShopTransaction.GetPrice(), InvOwner.ListInteractions(), Trait.OnBarter(), Affinity.OnGift(), ShopTransaction.Process(), UIInventory.RefreshList(), PartialMap.Save(), GameDate.ShipGoods(), TraitSalesTag.TrySetHeldAct(), and ActEffect.Wish().

◆ GetRandomColor()

ref Color Card.GetRandomColor ( )
inline

Definition at line 6364 of file Card.cs.

6365 {
6366 int num = EClass.game.seed + refVal;
6367 num += id[0] % 10000;
6368 if (id.Length > 1)
6369 {
6370 num += id[1] % 1000;
6371 if (id.Length > 2)
6372 {
6373 num += id[2] % 1000;
6374 if (id.Length > 3)
6375 {
6376 num += id[3] % 1000;
6377 if (id.Length > 4)
6378 {
6379 num += id[4] % 1000;
6380 }
6381 }
6382 }
6383 }
6384 Rand.UseSeed(num, delegate
6385 {
6386 _randColor = EClass.sources.materials.rows[EClass.rnd(90)].matColor;
6387 });
6388 return ref _randColor;
6389 }
static Color _randColor
Definition: Card.cs:96

References SourceManager.materials, EClass.rnd(), EClass.sources, and Rand.UseSeed().

◆ GetRenderParam()

RenderParam Card.GetRenderParam ( )
inline

Definition at line 6286 of file Card.cs.

6287 {
6289 shared.color = 11010048f;
6290 shared.liquidLv = 0;
6291 shared.cell = null;
6292 SetRenderParam(shared);
6293 return shared;
6294 }
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:6296
static RenderParam shared
Definition: RenderParam.cs:5

References RenderParam.shared.

Referenced by EffectIRenderer.OnUpdate().

◆ GetResistPenetrationLevel()

int Card.GetResistPenetrationLevel ( int  idEle,
AttackSource  attackSource,
Card  origin = null 
)
inline

Definition at line 4151 of file Card.cs.

4152 {
4153 if (origin == null)
4154 {
4155 return 0;
4156 }
4157 int num = origin.Evalue(1238);
4158 if (attackSource == AttackSource.MagicSword)
4159 {
4160 num += 2;
4161 if (origin.HasElement(1247))
4162 {
4163 num++;
4164 }
4165 }
4166 if (attackSource == AttackSource.MagicArrow && origin.HasElement(1244))
4167 {
4168 num++;
4169 }
4170 if (attackSource == AttackSource.MagicHand && origin.HasElement(1246))
4171 {
4172 num++;
4173 }
4174 if (idEle == 916 && (HasElement(1253) || origin.HasElement(1253)))
4175 {
4176 num++;
4177 }
4178 return num;
4179 }

References HasElement().

Referenced by DamageHP(), and ConMiasma.SetResistPenetrationLevel().

◆ GetRestrainer()

TraitShackle Card.GetRestrainer ( )
inline

Definition at line 7467 of file Card.cs.

7468 {
7469 foreach (Card item in pos.ListCards())
7470 {
7471 if (item.trait is TraitShackle && item.c_uidRefCard == uid)
7472 {
7473 return item.trait as TraitShackle;
7474 }
7475 }
7476 return null;
7477 }
List< Card > ListCards(bool includeMasked=false)
Definition: Point.cs:1052

References item, and Point.ListCards().

Referenced by BaseTileMap.DrawTile().

◆ GetRoot()

ICardParent Card.GetRoot ( )
inline

Implements ICardParent.

Definition at line 3501 of file Card.cs.

3502 {
3503 if (parent == null)
3504 {
3505 return this;
3506 }
3507 return parent.GetRoot();
3508 }
ICardParent GetRoot()

References ICardParent.GetRoot(), and parent.

Referenced by UIInventory.RefreshMenu().

◆ GetRootCard()

Card Card.GetRootCard ( )
inline

Definition at line 3510 of file Card.cs.

3511 {
3512 if (!(parent is Card card))
3513 {
3514 return this;
3515 }
3516 return card.GetRootCard();
3517 }

References card, and parent.

Referenced by InvOwnerBlend._OnProcess(), InvOwnerChangeMaterial._OnProcess(), InvOwnerChangeRarity._OnProcess(), InvOwnerEnchant._OnProcess(), InvOwnerIdentify._OnProcess(), InvOwnerLighten._OnProcess(), InvOwnerReconstruction._OnProcess(), InvOwnerUncurse._OnProcess(), AM_Adv._OnUpdateInput(), AddThing(), Thing.ApplyMaterialElements(), Thing.CanAutoFire(), Chara.CanPick(), AI_TargetCard.CanProgress(), InvOwner.CanShiftClick(), ChangeMaterial(), Recipe.Craft(), LayerInventory.CreateContainer(), DragItemCard.DragInfo.DragInfo(), Player.EquipTool(), BaseGameScreen.Focus(), TaskBuild.GetHitResult(), Thing.GetName(), Chara.HoldCard(), IsChildOf(), ModNum(), TraitBrewery.OnChildDecay(), TaskBuild.OnProgressComplete(), TraitEquipItem.OnSetCardGrid(), AI_Drink.OnSetOwner(), AI_Read.OnSetOwner(), AM_Paint.OnUpdateInput(), TraitMannequin.OnUse(), ActThrow.Perform(), Chara.PickHeld(), ActEffect.Proc(), InvOwner.Transaction.Process(), BuildMenu.RefreshCategory(), Player.RefreshCurrentHotItem(), WidgetSearch.RefreshList(), UIInventory.RefreshMenu(), RemoveThing(), AI_Churyu.Run(), AI_Drink.Run(), AI_Eat.Run(), AI_Grab< T >.Run(), AI_Read.Run(), AI_TargetCard.Run(), ButtonGrid.SetCard(), ButtonGrid.SetIngredient(), ShouldTrySetDirtyInventory(), Player.TryEquipBait(), TraitContainer.TryOpen(), Trait.TryPryOpenLock(), ActRanged.TryReload(), TraitContainer.TrySetAct(), Map.TryShatter(), ThingContainer.TryStack(), and TryStackTo().

◆ GetRuneEnc()

SocketData Card.GetRuneEnc ( int  idEle)
inline

Definition at line 3709 of file Card.cs.

3710 {
3711 if (socketList != null)
3712 {
3713 foreach (SocketData socket in socketList)
3714 {
3715 if (socket.type == SocketData.Type.Rune && socket.idEle == idEle)
3716 {
3717 return socket;
3718 }
3719 }
3720 }
3721 return null;
3722 }

References SocketData.idEle, socketList, and SocketData.type.

Referenced by Element.AddEncNote().

◆ GetSightRadius()

int Card.GetSightRadius ( )
inline

Definition at line 6726 of file Card.cs.

6727 {
6728 if (IsPC)
6729 {
6730 return EClass.player.lightRadius;
6731 }
6732 return (EClass._map.IsIndoor ? 4 : 5) + (IsPCFaction ? 1 : 0) + EvalueMax(490) + EClass._zone.SightRadiusBonus;
6733 }
int lightRadius
Definition: Player.cs:1259

References EClass._map, EClass._zone, Map.IsIndoor, Player.lightRadius, EClass.player, and Zone.SightRadiusBonus.

Referenced by Chara.CanSeeLos(), ActRanged.Perform(), GoalCombat.Run(), GoalCombat.TryThrow(), and GoalCombat.TryUseAbility().

◆ GetSprite()

virtual Sprite Card.GetSprite ( int  dir = 0)
inlinevirtual

Reimplemented in Chara.

Definition at line 6391 of file Card.cs.

6392 {
6393 if (trait is TraitFakeTile)
6394 {
6395 if (trait is TraitFakeBlock)
6396 {
6397 return EClass.sources.blocks.map[refVal].GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
6398 }
6399 return EClass.sources.objs.map[refVal].GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
6400 }
6401 if (trait is TraitAbility)
6402 {
6403 return (trait as TraitAbility).CreateAct()?.GetSprite() ?? EClass.core.refs.icons.defaultAbility;
6404 }
6405 return sourceCard.GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
6406 }
bool IsSnowTile
Definition: Cell.cs:790
Sprite defaultAbility
Definition: CoreRef.cs:119
Icons icons
Definition: CoreRef.cs:356
CoreRef refs
Definition: Core.cs:51
Cell cell
Definition: Point.cs:51
Sprite GetSprite(int dir=0, int skin=0, bool snow=false)
Definition: RenderRow.cs:271
SourceObj objs
SourceBlock blocks
virtual int IdSkin
Definition: Trait.cs:46

References SourceManager.blocks, Point.cell, EClass.core, CoreRef.Icons.defaultAbility, RenderRow.GetSprite(), CoreRef.icons, Trait.IdSkin, Cell.IsSnowTile, Point.IsValid, SourceManager.objs, Core.refs, and EClass.sources.

Referenced by AM_Paint.OnUpdateInput(), CardActor.RefreshSprite(), and LayerPixelPaint.SetCanvas().

◆ GetSubPassData()

virtual SubPassData Card.GetSubPassData ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 6595 of file Card.cs.

6596 {
6597 return SubPassData.Default;
6598 }
static SubPassData Default
Definition: SubPassData.cs:7

References SubPassData.Default.

Referenced by CardRenderer.Draw().

◆ GetTalkText()

string Card.GetTalkText ( string  idTopic,
bool  stripPun = false,
bool  useDefault = true 
)
inline

Definition at line 7177 of file Card.cs.

7178 {
7179 bool flag = isChara && Chara.IsHumanSpeak;
7180 ConTransmuteHuman condition = GetCondition<ConTransmuteHuman>();
7181 string text = MOD.listTalk.GetTalk((condition != null) ? condition.chara.id : c_idTalk.IsEmpty(id), idTopic, useDefault, flag);
7182 if (!text.IsEmpty())
7183 {
7184 text = text.Split('|').RandomItem();
7185 if (!flag || (IsDeadOrSleeping && IsAliveInCurrentZone))
7186 {
7187 if (!text.StartsWith("(") && !text.StartsWith("*"))
7188 {
7189 text = "(" + text + ")";
7190 }
7191 text = text.Replace("。)", ")");
7192 }
7193 }
7194 return ApplyTone(text, stripPun);
7195 }
virtual bool IsDeadOrSleeping
Definition: Card.cs:2149
string c_idTalk
Definition: Card.cs:1597
bool IsHumanSpeak
Definition: Chara.cs:1029
static TalkDataList listTalk
Definition: MOD.cs:10
string GetTalk(string id, string idTopic, bool useDefault=false, bool human=true)
Definition: TalkDataList.cs:23

References ConTransmuteHuman.chara, TalkDataList.GetTalk(), id, Chara.IsHumanSpeak, and MOD.listTalk.

Referenced by DramaCustomSequence.GetRumor(), DramaManager.ParseLine(), Msg.Talk(), and WidgetFeed.Talk().

◆ GetTilePrice()

static int Card.GetTilePrice ( TileRow  row,
SourceMaterial::Row  mat 
)
inlinestatic

Definition at line 7483 of file Card.cs.

7484 {
7485 int result = 0;
7486 if (row.id == 0)
7487 {
7488 return result;
7489 }
7490 result = row.value * mat.value / 100;
7491 if (result < 0)
7492 {
7493 result = 1;
7494 }
7495 return result;
7496 }
int id
Definition: TileRow.cs:8

References TileRow.id.

Referenced by PartialMap.Save().

◆ GetTotalQuality()

int Card.GetTotalQuality ( bool  applyBonus = true)
inline

Definition at line 3920 of file Card.cs.

3921 {
3922 int num = 5 + LV + material.quality;
3923 if (applyBonus)
3924 {
3925 num = num * (100 + Quality) / 100;
3926 }
3927 return num;
3928 }
int Quality
Definition: Card.cs:2467

References LV, material, and Quality.

Referenced by Hobby.GetEfficiency().

◆ GetValue()

int Card.GetValue ( PriceType  priceType = PriceType::Default,
bool  sell = false 
)
inline

Definition at line 7525 of file Card.cs.

7526 {
7527 int num = ((c_fixedValue == 0) ? trait.GetValue() : c_fixedValue);
7528 if (id == "plat" && !sell)
7529 {
7530 num = 10000;
7531 }
7532 if (num == 0)
7533 {
7534 return 0;
7535 }
7536 float num2 = num;
7537 if (priceType == PriceType.CopyShop)
7538 {
7539 num2 += (float)c_priceCopy * 0.2f;
7540 num2 = num2 * (float)Mathf.Max(150 + rarityLv, 150) / 100f;
7541 }
7542 else
7543 {
7544 num2 = num2 * (float)Mathf.Max(100 + rarityLv + Mathf.Min(QualityLv * 10, 200), 80) / 100f;
7545 }
7546 if (IsFood && !material.tag.Contains("food"))
7547 {
7548 num2 *= 0.5f;
7549 }
7550 float num3;
7552 {
7553 if (sell)
7554 {
7555 num2 *= 0.3f;
7556 }
7557 num3 = 2f;
7558 }
7559 else
7560 {
7561 num3 = 0.5f;
7562 }
7563 if (isReplica)
7564 {
7565 num2 *= 0.15f;
7566 }
7567 if (!IsUnique)
7568 {
7569 if (IsEquipmentOrRanged && rarity >= Rarity.Legendary)
7570 {
7571 num2 = Mathf.Max(num2, 1800f + num2 / 5f);
7572 }
7573 num2 = num2 * (100f + num3 * (float)(material.value - 100)) / 100f;
7575 {
7576 int num4 = 0;
7577 foreach (Element value in elements.dict.Values)
7578 {
7579 num4 += value.source.value;
7580 }
7581 num2 = num2 * (float)(100 + (sell ? ((int)MathF.Sqrt(num4) * 10) : num4)) / 100f;
7582 if (rarity >= Rarity.Legendary)
7583 {
7584 num2 = Mathf.Max(num2, 3600f + num2 / 5f);
7585 }
7586 }
7587 }
7588 if (trait is TraitRecipe && sell)
7589 {
7590 num2 *= 0.1f;
7591 }
7592 if (encLV != 0 && !category.tag.Contains("noEnc"))
7593 {
7594 num2 = (category.tag.Contains("enc") ? (num2 * (0.7f + (float)(encLV - 1) * 0.2f)) : ((!IsFood) ? (num2 * (1f + (float)encLV * 0.01f)) : ((!(id == "honey")) ? (num2 * Mathf.Min(1f + 0.1f * (float)encLV, 2f) + (float)(encLV * 100)) : (num2 + (float)(encLV * 10)))));
7595 }
7596 if (tier > 0)
7597 {
7598 num2 *= (float)(tier + 1);
7599 }
7600 return (int)num2;
7601 }
bool IsEquipmentOrRangedOrAmmo
Definition: Card.cs:2272
int c_fixedValue
Definition: Card.cs:1188
int c_priceCopy
Definition: Card.cs:1176
bool IsEquipmentOrRanged
Definition: Card.cs:2260
int QualityLv
Definition: Card.cs:2469
virtual int GetValue()
Definition: Trait.cs:610

References ElementContainer.dict, Trait.GetValue(), material, Element.source, and SourceCategory.Row.tag.

Referenced by CraftUtil.MixIngredients(), TraitBrewery.OnChildDecay(), and SpawnLoot().

◆ GetWindowSaveData()

Window.SaveData Card.GetWindowSaveData ( )
inline

Definition at line 2558 of file Card.cs.

2559 {
2560 if (IsPC)
2561 {
2562 return Window.dictData.TryGetValue("LayerInventoryFloatMain0");
2563 }
2565 {
2566 return Window.dictData.TryGetValue("ChestMerchant");
2567 }
2568 return c_windowSaveData;
2569 }
Window.SaveData c_windowSaveData
Definition: Card.cs:1849
Definition: Window.cs:13
static Dictionary< string, SaveData > dictData
Definition: Window.cs:594

References c_windowSaveData, Window.dictData, IsPC, and trait.

Referenced by LayerInventory.CreateBuy(), ThingContainer.GetDest(), TaskDump.IsValidContainer(), TaskDump.ListThingsToPut(), UIDragGridIngredients.Refresh(), and Zone.TryAddThingInSharedContainer().

◆ GiveBirth()

Thing Card.GiveBirth ( Thing  t,
bool  effect 
)
inline

Definition at line 5943 of file Card.cs.

5944 {
5945 Card card = (ExistsOnMap ? this : (GetRootCard() ?? EClass.pc));
5946 EClass.player.forceTalk = true;
5947 card.Talk("giveBirth");
5948 EClass._zone.TryAddThing(t, card.pos);
5949 if (effect)
5950 {
5951 card.pos.PlayEffect("revive");
5952 card.pos.PlaySound("egg");
5953 PlayAnime(AnimeID.Shiver);
5954 if (isChara)
5955 {
5957 }
5958 }
5959 return t;
5960 }
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:6491
bool TryAddThing(Thing target, Point p, bool destroyIfFail=false)
Definition: Zone.cs:2257

References EClass._zone, Chara.AddCondition(), card, EClass.pc, and Zone.TryAddThing().

Referenced by ActEffect.GeneMiracle(), and ActEffect.LoveMiracle().

◆ HasCondition< T >()

virtual bool Card.HasCondition< T > ( )
inlinevirtual

Reimplemented in Chara.

Type Constraints
T :Condition 

Definition at line 8225 of file Card.cs.

8225 : Condition
8226 {
8227 return false;
8228 }

◆ HasCraftBonusTrait()

bool Card.HasCraftBonusTrait ( )
inline

Definition at line 7289 of file Card.cs.

7290 {
7291 return ListCraftBonusTraits().Count > 0;
7292 }
List< Element > ListCraftBonusTraits()
Definition: Card.cs:7294

Referenced by CraftUtil.MixIngredients().

◆ HasEditorTag()

bool Card.HasEditorTag ( EditorTag  tag)
inline

Definition at line 2642 of file Card.cs.

2643 {
2644 return c_editorTags?.Contains(tag.ToString()) ?? false;
2645 }

References c_editorTags.

Referenced by HotItemNoItem._TrySetAct(), AttackProcess.Perform(), AI_Idle.Run(), GoalCombat.Run(), CoreDebug.TestSpawn(), TraitBaseSpellbook.TryProgress(), and Map.TryShatter().

◆ HasElement() [1/3]

bool Card.HasElement ( int  ele,
bool  includeNagative = false 
)
inline

Definition at line 6214 of file Card.cs.

6215 {
6216 if (elements.Value(ele) <= 0)
6217 {
6218 if (includeNagative)
6219 {
6220 return elements.Value(ele) < 0;
6221 }
6222 return false;
6223 }
6224 return true;
6225 }

References ElementContainer.Value().

Referenced by Chara._Move(), _OnDeserialized(), TraitAltar._OnOffer(), InvOwnerGene._OnProcess(), ActPlan._Update(), Element._WriteNote(), CharaAbility.Add(), UICharaMaker.AddDomain(), ActMelee.Attack(), DramaCustomSequence.Build(), RecipeCard.Build(), RecipeCard.BuildIngredientList(), AttackProcess.CalcHit(), Chara.CanBeTempAlly(), TraitKettle.CanCopy(), Trait.CanEat(), Chara.CanEat(), TaskMine.CanMine(), TraitAltar.CanOffer(), ActBloodsuck.CanPerform(), ActDreamBug.CanPerform(), ActNTR.CanPerform(), TaskChopWood.CanProgress(), ActThrow.CanThrow(), TraitCrafter.Craft(), RecipeCard.Craft(), FactionBranch.DailyOutcome(), ActEffect.DamageEle(), DamageHP(), Decay(), CharaBody.Equip(), AI_Fuck.Finish(), HotItemHeld.GetAct(), Chara.GetHoverText(), TaskHarvest.GetIdDismantled(), Religion.GetOfferingValue(), GetResistPenetrationLevel(), BaseTaskHarvest.GetText(), BaseTaskHarvest.GetToolEfficiency(), Chara.GiveGift(), TaskHarvest.HarvestThing(), Party.HasElement(), CharaBody.IsEquippable(), Chara.IsHostile(), CharaBody.IsTooHeavyToEquip(), Recipe.Ingredient.IsValidIngredient(), AI_Eat.IsValidTarget(), Religion.JoinFaith(), CalcPlat.Learn(), LevelUp(), Props.ListThingStack(), Thing.ListValidTraits(), RecipeCard.MakeDish(), CraftUtil.MakeLoveLunch(), TraitSeed.MakeSeed(), CraftUtil.MixIngredients(), StatsMana.Mod(), StatsStamina.Mod(), Zone_Casino.OnActivate(), AM_Adv.OnBecomeNoGoal(), ConTransmuteHuman.OnBeforeStart(), TraitTent.OnChangePlaceState(), TraitBrewery.OnChildDecay(), Affinity.OnGift(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgress(), TraitBookExp.OnRead(), ConSleep.OnRemoved(), ZoneEventWedding.OnVisit(), ActRanged.Perform(), ActRush.Perform(), ActThrow.Perform(), AttackProcess.Perform(), AttackProcess.Prepare(), FoodEffect.Proc(), ActEffect.Proc(), PurgeDuplicateArtifact(), PurgeEythArtifact(), CoreDebug.QuickStart(), Chara.Refresh(), WindowCharaMini.Refresh(), TCOrbitChara.RefreshAll(), WindowChara.RefreshSkill(), Chara.RefreshSpeed(), CharaAbility.Remove(), Chara.RequestProtection(), ActRide.Ride(), AI_Fuck.Run(), AI_Idle.Run(), AI_Slaughter.Run(), AI_Steal.Run(), GoalCombat.Run(), Player.SelectDomain(), LayerAbility.SelectGroup(), Weather.SetCondition(), SpawnLoot(), ConSleep.SuccubusVisit(), DramaActor.Talk(), ActThrow.Throw(), ConSuffocation.Tick(), Chara.TickConditions(), CalcPlat.Train(), Zone.TryGenerateBigDaddy(), Zone.TryGenerateEvolved(), Zone.TryGenerateShrine(), TaskHarvest.TryGetAct(), ThingGen.TryLickChest(), TryMakeRandomItem(), Chara.TryNullifyCurse(), ActPray.TryPray(), TraitGene.TrySetHeldAct(), HotItemHeld.TrySetToolAct(), Chara.TryTakeSharedItems(), GoalCombat.TryThrow(), GoalCombat.TryUseAbility(), CharaBody.Unequip(), DramaOutcome.upgrade_miscreation(), TraitGene.WriteNote(), and DNA.WriteNoteExtra().

◆ HasElement() [2/3]

bool Card.HasElement ( int  ele,
int  req 
)
inline

Definition at line 6227 of file Card.cs.

6228 {
6229 return elements.Value(ele) >= req;
6230 }

References ElementContainer.Value().

◆ HasElement() [3/3]

bool Card.HasElement ( string  id,
int  req = 1 
)
inline

Definition at line 6232 of file Card.cs.

6233 {
6234 return HasElement(EClass.sources.elements.alias[id].id, req);
6235 }

References SourceManager.elements, and EClass.sources.

◆ HasElementNoCopy()

bool Card.HasElementNoCopy ( )
inline

Definition at line 6242 of file Card.cs.

6243 {
6244 if (HasElement(764))
6245 {
6246 return true;
6247 }
6248 if (HasElement(759))
6249 {
6250 return true;
6251 }
6252 if (HasElement(703))
6253 {
6254 return true;
6255 }
6256 if (HasElement(758))
6257 {
6258 return true;
6259 }
6260 if (HasElement(704))
6261 {
6262 return true;
6263 }
6264 return false;
6265 }

Referenced by TraitDemitas.CanCopy(), and TraitKettle.CanCopy().

◆ HasGlobalElement()

bool Card.HasGlobalElement ( int  ele)
inline

Definition at line 6237 of file Card.cs.

6238 {
6239 return elements.GetElement(ele)?.IsGlobalElement ?? false;
6240 }
Element GetElement(string alias)
bool IsGlobalElement
Definition: ELEMENT.cs:350

References ElementContainer.GetElement(), and Element.IsGlobalElement.

Referenced by Evalue().

◆ HasLight()

bool Card.HasLight ( )
inline

Definition at line 6702 of file Card.cs.

6703 {
6704 return GetLightRadius() > 0;
6705 }

◆ HasRune()

bool Card.HasRune ( )
inline

Definition at line 3811 of file Card.cs.

3812 {
3813 return CountRune() > 0;
3814 }

References CountRune().

Referenced by TraitKettle.CanCopy().

◆ HasTag()

◆ HasTalk()

bool Card.HasTalk ( string  idTopic)
inline

Definition at line 7027 of file Card.cs.

7028 {
7029 return !MOD.listTalk.GetTalk(c_idTalk.IsEmpty(id), idTopic, useDefault: true).IsEmpty();
7030 }

References TalkDataList.GetTalk(), and MOD.listTalk.

◆ HatchEgg()

void Card.HatchEgg ( )
inline

Definition at line 5962 of file Card.cs.

5963 {
5964 string[] array = ((!(id == "cocoon")) ? new string[4] { "alien", "alien", "alien", "alien2" } : new string[6] { "spider_queen", "spider_vampire", "spider_paralyzer", "spider_black", "spider_tarantula", "spider_spotted" });
5965 int num = EClass.rnd(array.Length);
5966 Point point = pos.Copy();
5968 AddBlood(12, (uid % 2 == 0) ? (-1) : 3);
5969 Say("egghatch");
5970 PlaySound("egghatch");
5971 if (c_bossType == BossType.none)
5972 {
5973 Destroy();
5974 }
5975 if (!isDestroyed)
5976 {
5977 Die();
5978 }
5979 for (int i = 0; i < 1 + EClass.rnd(num + 1); i++)
5980 {
5981 Chara chara = EClass._zone.SpawnMob(array[num], point.GetNearestPoint(allowBlock: false, allowChara: false));
5982 if (chara != null && isChara)
5983 {
5985 }
5986 }
5987 }
BossType
Definition: BossType.cs:2
BossType c_bossType
Definition: Card.cs:1249
Hostility OriginalHostility
Definition: Chara.cs:473
Chara SetHostility(Hostility h)
Definition: Chara.cs:1468
Point Copy()
Definition: Point.cs:491
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false, int minRadius=0)
Definition: Point.cs:619
Chara SpawnMob(string id, Point pos=null)
Definition: Zone.cs:2816

References EClass._zone, EClass.Colors, Point.Copy(), Point.GetNearestPoint(), ColorProfile.matColors, material, Chara.OriginalHostility, EClass.rnd(), Chara.SetHostility(), and Zone.SpawnMob().

◆ HaveFur()

bool Card.HaveFur ( )
inline

Definition at line 8235 of file Card.cs.

8236 {
8237 if (!isChara)
8238 {
8239 return false;
8240 }
8241 string text = id;
8242 if (text == "putty_snow" || text == "putty_snow_gold")
8243 {
8244 return true;
8245 }
8246 return !Chara.race.fur.IsEmpty();
8247 }

References Chara.race.

Referenced by FactionBranch.DailyOutcome(), Chara.Duplicate(), ActEffect.ProcAt(), and AI_Slaughter.Run().

◆ HealHP()

virtual void Card.HealHP ( int  a,
HealSource  origin = HealSource::None 
)
inlinevirtual

Definition at line 4091 of file Card.cs.

4092 {
4093 long num = a;
4094 if (origin == HealSource.Magic)
4095 {
4096 num = (long)a * (long)Mathf.Max(100 - Evalue(93), 1) / 100;
4097 }
4098 if (num > 100000000)
4099 {
4100 num = 100000000L;
4101 }
4102 hp += (int)num;
4103 if (hp > MaxHP)
4104 {
4105 hp = MaxHP;
4106 }
4107 switch (origin)
4108 {
4109 case HealSource.Magic:
4110 case HealSource.Item:
4111 PlaySound("heal");
4112 PlayEffect("heal");
4113 break;
4114 case HealSource.HOT:
4115 PlaySound("heal_tick");
4116 PlayEffect("heal_tick");
4117 break;
4118 }
4119 }
HealSource
Definition: HealSource.cs:2

References Evalue(), hp, MaxHP, PlayEffect(), and PlaySound().

Referenced by HealHPHost(), StatsMana.Mod(), ConTransmuteBat.OnRemoved(), ActPray.Pray(), AI_PassTime.Run(), Zone.Simulate(), ConHOT.Tick(), and ConSleep.Tick().

◆ HealHPHost()

virtual void Card.HealHPHost ( int  a,
HealSource  origin = HealSource::None 
)
inlinevirtual

Definition at line 4075 of file Card.cs.

4076 {
4077 if (isChara)
4078 {
4079 if (Chara.parasite != null)
4080 {
4082 }
4083 if (Chara.ride != null)
4084 {
4085 Chara.ride.HealHP(a);
4086 }
4087 }
4088 HealHP(a, origin);
4089 }
Chara parasite
Definition: Chara.cs:30
Chara ride
Definition: Chara.cs:27

References HealHP(), isChara, Chara.parasite, and Chara.ride.

◆ Inspect()

void Card.Inspect ( )
inline

Definition at line 8210 of file Card.cs.

8211 {
8212 SE.Play("pop_paper");
8213 if (isChara)
8214 {
8215 LayerChara layerChara = EClass.ui.AddLayerDontCloseOthers<LayerChara>();
8216 layerChara.windows[0].SetRect(EClass.core.refs.rects.center);
8217 layerChara.SetChara(Chara);
8218 }
8219 else
8220 {
8221 EClass.ui.AddLayerDontCloseOthers<LayerInfo>().SetThing(Thing);
8222 }
8223 }
RectData center
Definition: CoreRef.cs:167
Rects rects
Definition: CoreRef.cs:362
static UI ui
Definition: EClass.cs:17
LayerChara SetChara(Chara c)
Definition: LayerChara.cs:9
List< Window > windows
Definition: Layer.cs:116

References CoreRef.Rects.center, EClass.core, CoreRef.rects, Core.refs, LayerChara.SetChara(), EClass.ui, and Layer.windows.

Referenced by ActPlan._Update().

◆ Install()

◆ IsChildOf()

bool Card.IsChildOf ( Card  c)
inline

Definition at line 2718 of file Card.cs.

2719 {
2720 return GetRootCard() == c;
2721 }

References GetRootCard().

Referenced by AI_OpenGambleChest.IsValid().

◆ IsExcludeFromCraft()

bool Card.IsExcludeFromCraft ( Recipe::Ingredient  ing)
inline

Definition at line 2571 of file Card.cs.

2572 {
2573 if ((IsUnique && ing.id != id && !ing.idOther.Contains(id)) || c_isImportant)
2574 {
2575 return true;
2576 }
2577 if (parent is Card card)
2578 {
2579 if (card.trait is TraitChestMerchant)
2580 {
2581 return true;
2582 }
2583 if (card.isSale || !card.trait.CanUseContent)
2584 {
2585 return true;
2586 }
2587 Window.SaveData windowSaveData = card.GetWindowSaveData();
2588 if (windowSaveData != null)
2589 {
2590 return windowSaveData.excludeCraft;
2591 }
2592 }
2593 return false;
2594 }
bool c_isImportant
Definition: Card.cs:1039
List< string > idOther
Definition: Recipe.cs:41
bool excludeCraft
Definition: Window.cs:379

References c_isImportant, card, Window.SaveData.excludeCraft, IsUnique, and parent.

Referenced by Props.ListThingStack().

◆ IsInMutterDistance()

bool Card.IsInMutterDistance ( int  d = 10)
inline

Definition at line 8069 of file Card.cs.

8070 {
8071 return pos.Distance(EClass.pc.pos) < d;
8072 }

References Point.Distance(), EClass.pc, and pos.

Referenced by ActCryRage.Perform(), ActCrySad.Perform(), ActEffect.ProcAt(), and AI_Idle.Run().

◆ IsStackable()

bool Card.IsStackable ( Thing  tg)
inline

Definition at line 3519 of file Card.cs.

3520 {
3521 if (id != tg.id || material != tg.material)
3522 {
3523 return false;
3524 }
3525 return true;
3526 }

References id, and material.

◆ Kick() [1/2]

void Card.Kick ( Chara  t,
bool  ignoreSelf = false,
bool  karmaLoss = true,
bool  show = true,
bool  checkWall = true 
)
inline

Definition at line 6154 of file Card.cs.

6155 {
6157 {
6158 return;
6159 }
6160 if (t.IsPC)
6161 {
6163 }
6164 if (t.host != null)
6165 {
6166 return;
6167 }
6168 if (t == this)
6169 {
6170 if (!ignoreSelf)
6171 {
6172 Debug.Log(t.pos.GetNearestPoint());
6173 if (TryMove(t.pos.GetNearestPoint()) != MoveResult.Success)
6174 {
6176 }
6177 }
6178 return;
6179 }
6180 if (show)
6181 {
6182 Say("kick", this, t);
6183 }
6184 PlaySound("kick");
6185 if ((t.conSuspend == null || t.conSuspend.uidMachine != 0) && t.trait.CanBePushed && (!t.IsHostile() || EClass.rnd(2) == 0) && !t.noMove && !t.isRestrained)
6186 {
6187 t.MoveByForce(t.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true), this, checkWall && !t.pos.IsBlocked);
6188 }
6189 if (t.conSleep != null)
6190 {
6191 t.conSleep.Kill();
6192 }
6193 if (IsPC && t.IsFriendOrAbove() && !t.IsPCFactionOrMinion && karmaLoss)
6194 {
6196 }
6197 t.PlayEffect("kick");
6198 if (t.mimicry != null && t.mimicry.ShouldRevealOnContact)
6199 {
6200 t.mimicry.Reveal(this);
6201 }
6202 }
void ClearPlans()
Definition: AM_Adv.cs:427
static AM_Adv Adv
Definition: ActionMode.cs:15
bool noMove
Definition: Card.cs:773
void MoveImmediate(Point p, bool focus=true, bool cancelAI=true)
Definition: Card.cs:6006
virtual MoveResult TryMove(Point newPoint, bool allowDestroyPath=true)
Definition: Card.cs:6141
new TraitChara trait
Definition: Chara.cs:505
ConSuspend conSuspend
Definition: Chara.cs:104
override bool IsPC
Definition: Chara.cs:626
void MoveByForce(Point newPoint, Card c=null, bool checkWall=false)
Definition: Chara.cs:2691
override void Reveal(Card attacker=null, bool surprise=false)
int uidMachine
Definition: ConSuspend.cs:6
virtual bool ShouldRevealOnContact
Definition: ConTransmute.cs:9
void ModKarma(int a)
Definition: Player.cs:2610
virtual bool CanBePushed
Definition: TraitChara.cs:113

References ActionMode.Adv, TraitChara.CanBePushed, AM_Adv.ClearPlans(), Chara.conSleep, Chara.conSuspend, Debug, Point.GetNearestPoint(), Chara.host, Point.IsBlocked, Chara.IsFriendOrAbove(), Chara.IsHostile(), Chara.IsPC, IsPCFactionOrMinion, isRestrained, Condition.Kill(), Chara.mimicry, Player.ModKarma(), Chara.MoveByForce(), MoveImmediate(), noMove, PlayEffect(), EClass.player, pos, ConBaseTransmuteMimic.Reveal(), EClass.rnd(), ConTransmute.ShouldRevealOnContact, Chara.trait, and ConSuspend.uidMachine.

◆ Kick() [2/2]

void Card.Kick ( Point  p,
bool  ignoreSelf = false,
bool  checkWall = true 
)
inline

Definition at line 6146 of file Card.cs.

6147 {
6148 foreach (Chara item in p.ListCharas())
6149 {
6150 Kick(item, ignoreSelf, karmaLoss: true, show: true, checkWall);
6151 }
6152 }
List< Chara > ListCharas()
Definition: Point.cs:1172

References item, and Kick.

Referenced by Recipe.Build(), RecipeCard.Build(), Map.MineFloor(), TraitGeneMachine.OnUse(), ActKick.Perform(), ActTelekinesis.Perform(), AI_Bladder.Run(), AI_Trolley.Run(), and ActThrow.Throw().

◆ KillAnime()

void Card.KillAnime ( )
inline

Definition at line 6486 of file Card.cs.

6487 {
6489 }
virtual void KillAnime()

References CardRenderer.KillAnime().

Referenced by ActThrow.Throw().

◆ LevelUp()

void Card.LevelUp ( )
inline

Definition at line 3071 of file Card.cs.

3072 {
3073 if (IsPC)
3074 {
3076 {
3077 Msg.Say("demoLimit");
3078 return;
3079 }
3081 Tutorial.Reserve("feat");
3082 }
3083 feat++;
3084 LV++;
3085 Say("dingExp", this);
3086 PlaySound("jingle_lvup");
3087 PlayEffect("aura_heaven");
3088 if (HasElement(1415) && Evalue(1415) < 9 && LV >= Evalue(1415) * 5 + 10)
3089 {
3090 Chara.SetFeat(1415, Evalue(1415) + 1, msg: true);
3091 }
3092 if (IsPC && HasElement(1274) && Evalue(1274) < 8 && LV >= Evalue(1274) * 5)
3093 {
3094 Chara.SetFeat(1274, Evalue(1274) + 1, msg: true);
3095 }
3096 if (IsPC || !(Chara.race.id == "mutant"))
3097 {
3098 return;
3099 }
3100 int num = Mathf.Min(1 + LV / 5, 20);
3101 for (int i = 0; i < num; i++)
3102 {
3103 if (Evalue(1644) < i + 1)
3104 {
3105 Chara.SetFeat(1644, i + 1, msg: true);
3106 }
3107 }
3108 }
Version version
Definition: BaseCore.cs:17
int feat
Definition: Card.cs:377
int totalFeat
Definition: Player.cs:972
static void Reserve(string idStep, Action onBeforePlay=null)
Definition: Tutorial.cs:55
bool demo
Definition: Version.cs:14

References EClass.core, Version.demo, Evalue(), feat, HasElement(), IsPC, LV, PlayEffect(), EClass.player, PlaySound(), Chara.race, Tutorial.Reserve(), Msg.Say(), Say(), Chara.SetFeat(), Player.totalFeat, and BaseCore.version.

Referenced by AddExp().

◆ ListCraftBonusTraits()

List< Element > Card.ListCraftBonusTraits ( )
inline

Definition at line 7294 of file Card.cs.

7295 {
7296 List<Element> list = new List<Element>();
7297 string[] tag = sourceCard.tag;
7298 for (int i = 0; i < tag.Length; i++)
7299 {
7300 string[] array = tag[i].Split('/');
7301 if (!(array[0] != "craft_bonus"))
7302 {
7303 Element item = Element.Create(array[1], array[2].ToInt());
7304 list.Add(item);
7305 }
7306 }
7307 return list;
7308 }

References Element.Create(), item, and RenderRow.tag.

Referenced by CraftUtil.MixIngredients().

◆ LookAt() [1/2]

virtual void Card.LookAt ( Card  c)
inlinevirtual

Reimplemented in Chara.

Definition at line 6539 of file Card.cs.

6540 {
6541 }

Referenced by ActThrow.Throw().

◆ LookAt() [2/2]

virtual void Card.LookAt ( Point  p)
inlinevirtual

Reimplemented in Chara.

Definition at line 6543 of file Card.cs.

6544 {
6545 }

◆ MakeEgg()

Thing Card.MakeEgg ( bool  effect = true,
int  num = 1,
bool  addToZone = true,
int  fertChance = 20,
BlessedState state = null 
)
inline

Definition at line 5889 of file Card.cs.

5890 {
5891 Thing thing = ThingGen.Create((EClass.rnd(EClass.debug.enable ? 1 : fertChance) == 0) ? "egg_fertilized" : "_egg").SetNum(num);
5892 if (!EClass.debug.enable && HasElement(1290) && Evalue(418) >= 0)
5893 {
5894 thing.MakeFoodFrom(EClass.sources.charas.map["caladrius"].model);
5895 }
5896 else
5897 {
5898 thing.MakeFoodFrom(this);
5899 }
5900 thing.c_idMainElement = c_idMainElement;
5901 if (state.HasValue)
5902 {
5903 thing.SetBlessedState(state.Value);
5904 }
5905 if (!addToZone)
5906 {
5907 return thing;
5908 }
5909 return GiveBirth(thing, effect);
5910 }
int c_idMainElement
Definition: Card.cs:1441
Thing GiveBirth(Thing t, bool effect)
Definition: Card.cs:5943
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:3979
Card MakeFoodFrom(string _id)
Definition: Card.cs:5680
SourceChara charas

References SourceManager.charas, ThingGen.Create(), EClass.debug, CoreDebug.enable, MakeFoodFrom(), EClass.rnd(), SetBlessedState(), SetNum(), and EClass.sources.

Referenced by InvOwnerRecycle._OnProcess(), Chara.Cuddle(), FactionBranch.DailyOutcome(), Chara.Kiss(), ActEffect.LoveMiracle(), and CoreDebug.UpdateInput().

◆ MakeFigureFrom()

void Card.MakeFigureFrom ( string  id)
inline

Definition at line 5866 of file Card.cs.

5867 {
5868 MakeRefFrom(id);
5869 }
Card MakeRefFrom(string id)
Definition: Card.cs:5871

Referenced by ContentCodex.OnClickGetCard(), CoreDebug.QuickStart(), Chara.ShowDialog(), and SpawnLoot().

◆ MakeFoodFrom() [1/2]

Card Card.MakeFoodFrom ( Card  c)
inline

Definition at line 5685 of file Card.cs.

5686 {
5687 MakeRefFrom(c);
5689 if (!c.isChara)
5690 {
5691 return this;
5692 }
5693 SourceRace.Row race = c.Chara.race;
5694 int num = race.food[0].ToInt();
5695 bool flag = id == "meat_marble";
5696 int num2 = 1;
5697 bool flag2 = category.IsChildOf("meat");
5698 bool flag3 = category.IsChildOf("egg") || trait is TraitGene;
5699 if (flag)
5700 {
5701 num += 100;
5702 }
5703 if (flag2)
5704 {
5705 if (c.IsPCFaction && c.IsUnique)
5706 {
5707 num = -100;
5708 }
5709 elements.SetBase(70, race.STR * race.STR / 5 * num / 100 - 10 + num / 10);
5710 if (flag)
5711 {
5712 elements.SetBase(440, race.END * race.END / 5 * num / 100 - 10 + num / 10);
5713 }
5714 elements.SetBase(71, (int)Mathf.Clamp((float)(num / 10) + Mathf.Sqrt(race.height) - 10f, 1f, 60f));
5715 }
5716 else if (flag3)
5717 {
5718 elements.SetBase(444, race.LER * race.LER / 5 * num / 100 - 10 + num / 10);
5719 num2 = 2;
5720 }
5721 else
5722 {
5723 num2 = 3;
5724 }
5725 if (flag2)
5726 {
5727 if (c.Chara.IsHuman)
5728 {
5729 elements.SetBase(708, 1);
5730 }
5731 if (c.Chara.IsUndead)
5732 {
5733 elements.SetBase(709, 1);
5734 }
5735 }
5736 foreach (Element value in c.elements.dict.Values)
5737 {
5738 if ((!flag3 || value.id != 1229) && (value.source.category == "food" || value.source.tag.Contains("foodEnc") || value.IsTrait))
5739 {
5740 elements.SetBase(value.id, value.Value);
5741 }
5742 }
5743 List<Tuple<int, int>> list = new List<Tuple<int, int>>();
5744 foreach (KeyValuePair<int, int> item in race.elementMap)
5745 {
5746 if (EClass.sources.elements.map[item.Key].tag.Contains("primary"))
5747 {
5748 list.Add(new Tuple<int, int>(item.Key, item.Value));
5749 }
5750 }
5751 list.Sort((Tuple<int, int> a, Tuple<int, int> b) => b.Item2 - a.Item2);
5752 for (int i = 0; i < num2 && i < list.Count; i++)
5753 {
5754 Tuple<int, int> tuple = list[i];
5755 elements.SetBase(tuple.Item1, tuple.Item2 * tuple.Item2 / 4);
5756 }
5757 if (c.Chara.IsUndead)
5758 {
5759 elements.ModBase(73, (c.Chara.race.id == "undeadgod") ? (-90) : (-20));
5760 }
5761 isWeightChanged = true;
5762 c_weight = race.height * 4 + 100;
5765 int num3 = c.LV - c.sourceCard.LV;
5766 if (num3 < 0)
5767 {
5768 num3 = 0;
5769 }
5770 num3 = EClass.curve(num3, 10, 10, 80);
5771 if (c.rarity >= Rarity.Legendary || c.IsUnique)
5772 {
5773 num3 += 60;
5774 }
5775 if (flag2 && c.IsPCFaction && c.IsUnique)
5776 {
5777 num3 = 0;
5778 }
5779 if (num3 > 0)
5780 {
5781 elements.ModBase(2, num3);
5782 }
5783 return this;
5784 }
bool IsHuman
Definition: Chara.cs:893
bool IsUndead
Definition: Chara.cs:905
Element SetBase(string alias, int v, int potential=0)
int Value
Definition: ELEMENT.cs:297
bool IsTrait
Definition: ELEMENT.cs:367
int LV
Definition: RenderRow.cs:22
string[] food
Definition: SourceRace.cs:89
Dictionary< int, int > elementMap
Definition: SourceRace.cs:97

References ChangeMaterial, Chara, EClass.curve(), SourceManager.elements, SourceRace.Row.END, SourceRace.Row.food, SourceRace.Row.height, Element.id, isChara, SourceCategory.Row.IsChildOf(), Chara.IsHuman, IsPCFaction, Element.IsTrait, Chara.IsUndead, IsUnique, item, SourceRace.Row.LER, material, ElementContainer.ModBase(), Chara.race, ElementContainer.SetBase(), Element.source, EClass.sources, SourceRace.Row.STR, and Element.Value.

◆ MakeFoodFrom() [2/2]

Card Card.MakeFoodFrom ( string  _id)
inline

Definition at line 5680 of file Card.cs.

5681 {
5682 return MakeFoodFrom(EClass.sources.cards.map[_id].model);
5683 }
Dictionary< string, CardRow > map
Definition: SourceCard.cs:9
SourceCard cards

References SourceManager.cards, SourceCard.map, and EClass.sources.

Referenced by AI_Fuck.Finish(), MakeEgg(), TaskHarvest.OnCreateProgress(), QuestFiamaLock.OnStart(), and SpawnLoot().

◆ MakeFoodRef()

void Card.MakeFoodRef ( Card  c1,
Card  c2 = null 
)
inline

Definition at line 5786 of file Card.cs.

5787 {
5788 Card card = c1;
5789 Card card2 = c2;
5790 if (IsIgnoreName(card))
5791 {
5792 card = null;
5793 }
5794 if (IsIgnoreName(card2))
5795 {
5796 card2 = null;
5797 }
5798 if (card == null && card2 != null)
5799 {
5800 card = card2;
5801 card2 = null;
5802 }
5803 if (card != null)
5804 {
5805 MakeRefFrom(card, card2);
5806 if (card.c_idRefCard != null)
5807 {
5808 c_idRefCard = card.c_idRefCard;
5810 }
5811 if (card2 != null && card2.c_idRefCard != null)
5812 {
5813 c_idRefCard2 = card2.c_idRefCard;
5814 c_altName2 = TryGetFoodName(card2);
5815 }
5816 }
5817 static bool IsIgnoreName(Card c)
5818 {
5819 if (c == null)
5820 {
5821 return true;
5822 }
5823 switch (c.id)
5824 {
5825 case "dough_cake":
5826 case "dough_bread":
5827 case "noodle":
5828 case "flour":
5829 case "rice":
5830 return true;
5831 default:
5832 return false;
5833 }
5834 }
5835 }
string c_altName
Definition: Card.cs:1621
string TryGetFoodName(Card c)
Definition: Card.cs:5837
string c_altName2
Definition: Card.cs:1633
string c_idRefCard2
Definition: Card.cs:1777
string c_idRefCard
Definition: Card.cs:1765

References c_idRefCard, card, and id.

Referenced by TraitBrewery.OnChildDecay().

◆ MakeMilk()

Thing Card.MakeMilk ( bool  effect = true,
int  num = 1,
bool  addToZone = true,
BlessedState state = null 
)
inline

Definition at line 5912 of file Card.cs.

5913 {
5914 Thing thing = ThingGen.Create("milk").SetNum(num);
5915 if (!EClass.debug.enable && HasElement(1290) && Evalue(418) >= 0)
5916 {
5917 thing.MakeRefFrom(EClass.sources.charas.map["caladrius"].model);
5918 }
5919 else
5920 {
5921 thing.MakeRefFrom(this);
5922 }
5923 if (state.HasValue)
5924 {
5925 thing.SetBlessedState(state.Value);
5926 }
5927 int num2 = LV - sourceCard.LV;
5929 {
5930 num2 = 0;
5931 }
5932 if (num2 >= 10 && !HasElement(1290))
5933 {
5934 thing.SetEncLv(num2 / 10);
5935 }
5936 if (!addToZone)
5937 {
5938 return thing;
5939 }
5940 return GiveBirth(thing, effect);
5941 }
void SetEncLv(int a)
Definition: Card.cs:3948

References EClass._zone, SourceManager.charas, ThingGen.Create(), EClass.debug, CoreDebug.enable, Zone.IsUserZone, RenderRow.LV, MakeRefFrom(), SetBlessedState(), SetEncLv(), SetNum(), and EClass.sources.

Referenced by FactionBranch.DailyOutcome(), and ActEffect.LoveMiracle().

◆ MakeRefFrom() [1/2]

void Card.MakeRefFrom ( Card  c1,
Card  c2 = null,
bool  simple = false 
)
inline

Definition at line 5877 of file Card.cs.

5878 {
5879 c_idRefCard = c1.id;
5880 c_altName = (c1.IsPC ? c1.c_altName : c1.GetName((!simple) ? NameStyle.Ref : NameStyle.Simple, (!c1.isChara) ? 1 : 0));
5881 if (c2 != null)
5882 {
5883 c_idRefCard2 = c2.id;
5884 c_altName2 = (c2.IsPC ? c2.c_altName : c2.GetName((!simple) ? NameStyle.Ref : NameStyle.Simple, (!c2.isChara) ? 1 : 0));
5885 }
5886 c_extraNameRef = (c1.IsPC ? EClass.pc.c_altName : c1.c_extraNameRef);
5887 }
NameStyle
Definition: NameStyle.cs:2
virtual string GetName(NameStyle style, int num=-1)
Definition: Card.cs:2657
string c_extraNameRef
Definition: Card.cs:1645

References c_extraNameRef, GetName(), id, and isChara.

◆ MakeRefFrom() [2/2]

◆ MatchEncSearch()

virtual bool Card.MatchEncSearch ( string  s)
inlinevirtual

Reimplemented in Thing.

Definition at line 8100 of file Card.cs.

8101 {
8102 return false;
8103 }

◆ MaxRune()

int Card.MaxRune ( )
inline

Definition at line 3740 of file Card.cs.

3741 {
3742 return ((!IsUnique && !isReplica) ? 1 : 0) + Evalue(484);
3743 }

References Evalue(), isReplica, and IsUnique.

Referenced by Element.AddEncNote(), and CanAddRune().

◆ Mod()

void Card.Mod ( )
inline

Definition at line 2553 of file Card.cs.

2554 {
2555 isModified = true;
2556 }
bool isModified
Definition: Card.cs:473

References isModified.

◆ ModCharge()

void Card.ModCharge ( int  a,
bool  destroy = false 
)
inline

Definition at line 4034 of file Card.cs.

4035 {
4036 c_charges += a;
4038 if (c_charges <= 0 && destroy)
4039 {
4040 Say("spellbookCrumble", this);
4041 ModNum(-1);
4042 }
4043 }
void ModNum(int a, bool notify=true)
Definition: Card.cs:3599

References c_charges, ModNum(), Say(), and LayerInventory.SetDirty().

Referenced by TraitBaseSpellbook.ModCharge(), TaskDrawWater.OnCreateProgress(), TaskPourWater.OnCreateProgress(), ActWater.Perform(), ActZap.Perform(), Trait.Refuel(), AI_UseCrafter.Run(), TaskWater.Run(), ConSleep.SuccubusVisit(), Trait.TryOpenLock(), and Map.TryShatter().

◆ ModCurrency()

void Card.ModCurrency ( int  a,
string  id = "money" 
)
inline

Definition at line 4045 of file Card.cs.

4046 {
4047 if (a != 0)
4048 {
4049 if (id == "influence")
4050 {
4052 return;
4053 }
4054 SourceMaterial.Row mat = null;
4055 things.AddCurrency(this, id, a, mat);
4056 }
4057 }
void AddCurrency(Card owner, string id, int a, SourceMaterial.Row mat=null)
void ModInfluence(int a)
Definition: Zone.cs:3682

References EClass._zone, ThingContainer.AddCurrency(), Zone.ModInfluence(), and things.

Referenced by DramaOutcome.chara_hired(), ItemGachaResult.Confirm(), MiniGame.Deactivate(), HitSummary.Execute(), AI_Fuck.Finish(), TraitGamble.IdleUse(), Faction.OnAdvanceMonth(), InvOwnerDeliver.PayBill(), ActMoneyDump.Perform(), ActMoneySlap.Perform(), InvOwner.Transaction.Process(), CoreDebug.QuickStart(), AI_Idle.Run(), DramaOutcome.sister_friend(), TryPay(), and Chara.TryPush().

◆ ModEncLv()

void Card.ModEncLv ( int  a)
inline

Definition at line 3930 of file Card.cs.

3931 {
3932 ApplyMaterialElements(remove: true);
3933 encLV += a;
3934 ApplyMaterialElements(remove: false);
3936 {
3937 if (IsWeapon || IsAmmo)
3938 {
3939 elements.ModBase(67, a);
3940 }
3941 else
3942 {
3943 elements.ModBase(65, a * 2);
3944 }
3945 }
3946 }
bool IsAmmo
Definition: Card.cs:2289

References ApplyMaterialElements(), elements, encLV, IsAmmo, IsEquipmentOrRangedOrAmmo, IsWeapon, and ElementContainer.ModBase().

Referenced by TraitSeed.LevelSeed(), TraitDrink.OnBlend(), TraitFoodMeat.OnUse(), ActEffect.Proc(), AI_Idle.Run(), CoreDebug.Rust(), and SetEncLv().

◆ ModExp() [1/2]

void Card.ModExp ( int  ele,
int  a 
)
inline

Definition at line 2695 of file Card.cs.

2696 {
2697 if (isChara)
2698 {
2699 elements.ModExp(ele, a);
2700 }
2701 }

References elements, isChara, and ElementContainer.ModExp().

◆ ModExp() [2/2]

◆ ModExpParty()

void Card.ModExpParty ( int  ele,
int  a 
)
inline

Definition at line 2703 of file Card.cs.

2704 {
2705 if (isChara)
2706 {
2707 if (Chara.party == null)
2708 {
2709 elements.ModExp(ele, a);
2710 }
2711 else
2712 {
2713 Chara.party.ModExp(ele, a);
2714 }
2715 }
2716 }
void ModExp(int ele, int a)
Definition: Party.cs:139

References elements, isChara, ElementContainer.ModExp(), Party.ModExp(), and Chara.party.

Referenced by GrowSystem.PopHarvest().

◆ ModNum()

void Card.ModNum ( int  a,
bool  notify = true 
)
inline

Definition at line 3599 of file Card.cs.

3600 {
3601 if (Num + a < 0)
3602 {
3603 a = -Num;
3604 }
3605 Num += a;
3606 if (props != null)
3607 {
3608 props.OnNumChange(this, a);
3609 }
3610 if (parent != null)
3611 {
3613 }
3614 if (a > 0 && EClass.core.IsGameStarted && GetRootCard() == EClass.pc && notify)
3615 {
3617 }
3619 if (Num <= 0)
3620 {
3621 Destroy();
3622 }
3623 }
Props props
Definition: Card.cs:52
void OnNumChange(Card c, int a)
Definition: Props.cs:160
void OnChildNumChange(Card c)

References EClass.core, Destroy(), GetRootCard(), Core.IsGameStarted, NotifyAddThing(), Num, ICardParent.OnChildNumChange(), Props.OnNumChange(), parent, EClass.pc, props, and SetDirtyWeight().

Referenced by InvOwnerChangeMaterial._OnProcess(), InvOwnerChangeRarity._OnProcess(), InvOwnerChaosOffering._OnProcess(), InvOwnerMod._OnProcess(), DramaOutcome.chara_hired_ticket(), TraitCrafter.Craft(), SourceMaterial.Row.CreateByProduct(), FactionBranch.DailyOutcome(), Chara.Drink(), DramaOutcome.duponne_capture(), TraitDye.Dye(), HitSummary.Execute(), AI_Fuck.Finish(), Chara.GiveGift(), DramaOutcome.guild_mageTrial(), TraitBaseSpellbook.ModCharge(), ModCharge(), TraitDreamBug.OnBlend(), TraitDrink.OnBlend(), TraitWell.OnBlend(), TaskChopWood.OnCreateProgress(), DragItemCard.OnDragSpecial(), AI_Fish.ProgressFish.OnProgressComplete(), TaskBuild.OnProgressComplete(), TraitBookExp.OnRead(), TraitBookSecret.OnRead(), TraitDeed.OnRead(), TraitDeedRelocate.OnRead(), TraitDiary.OnRead(), TraitIndulgence.OnRead(), TraitLicense.OnRead(), TraitRecipe.OnRead(), TraitRecipeCat.OnRead(), TraitScrollMap.OnRead(), TraitScrollStatic.OnRead(), TraitFirework.OnUse(), TraitGainPrecious.OnUse(), TraitGiftJure.OnUse(), TraitGiftNewYear.OnUse(), TraitGiftPack.OnUse(), TraitGoodsCoin.OnUse(), TraitItemProc.OnUse(), TraitParcel.OnUse(), TraitPlamoBox.OnUse(), TraitTape.OnUse(), TraitWaystone.OnUse(), TraitPotionEmpty.OnUse(), LayerGacha.PlayGacha(), AI_Idle.Run(), AI_OpenGambleChest.Run(), SetNum(), CoreDebug.SetStartStockpile(), Split(), TraitWaystone.TrySetAct(), TraitSyringeGene.TrySetHeldAct(), TraitSyringeHeaven.TrySetHeldAct(), TraitToolTorch.TrySetHeldAct(), TryStackTo(), and TraitFoodEgg.Update().

◆ MoveImmediate()

void Card.MoveImmediate ( Point  p,
bool  focus = true,
bool  cancelAI = true 
)
inline

Definition at line 6006 of file Card.cs.

6007 {
6008 if (p == null)
6009 {
6010 return;
6011 }
6012 EClass._map.MoveCard(p, this);
6013 if (!IsPC || focus)
6014 {
6015 renderer.SetFirst(first: true, p.PositionCenter());
6016 }
6017 if (isChara)
6018 {
6019 if (cancelAI)
6020 {
6021 Chara.ai.Cancel();
6022 }
6023 Chara.SyncRide();
6024 }
6025 if (IsPC && focus)
6026 {
6029 }
6030 }
virtual void RefreshPosition()
virtual void SetFirst(bool first, Vector3 pos)
static BaseGameScreen screen
Definition: EClass.cs:33
ref Vector3 PositionCenter()
Definition: Point.cs:587

References EClass._map, Chara.ai, AIAct.Cancel(), BaseGameScreen.FocusPC(), Map.MoveCard(), Point.PositionCenter(), BaseGameScreen.RefreshPosition(), EClass.screen, CardRenderer.SetFirst(), and Chara.SyncRide().

Referenced by ListPeopleParty.JoinParty(), Kick(), FactionBranch.OnActivateZone(), FactionBranch.OnAfterSimulate(), AI_Sleep.OnProgressComplete(), GoalGraze.OnSimulatePosition(), GoalSleep.OnSimulatePosition(), GoalWork.OnSimulatePosition(), TraitShackle.OnUse(), ActRush.Perform(), ActTelekinesis.Perform(), LayerTravel.Refresh(), AI_Trolley.Run(), Meeting.SetChara(), MeetingManager.Start(), ConSleep.Tick(), ActRide.Unride(), and DramaOutcome.wedding_setup().

◆ NotifyAddThing()

void Card.NotifyAddThing ( Thing  t,
int  num 
)
inline

Definition at line 3178 of file Card.cs.

3179 {
3180 }

Referenced by AddThing(), and ModNum().

◆ OnBeforeCreate()

virtual void Card.OnBeforeCreate ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 2921 of file Card.cs.

2922 {
2923 }

Referenced by Create().

◆ OnChildNumChange()

void Card.OnChildNumChange ( Card  c)
inline

◆ OnCreate()

virtual void Card.OnCreate ( int  genLv)
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 2925 of file Card.cs.

2926 {
2927 }

Referenced by Create().

◆ OnDeserialized()

virtual void Card.OnDeserialized ( )
inlineprotectedvirtual

Reimplemented in Chara.

Definition at line 2806 of file Card.cs.

2807 {
2808 }

Referenced by _OnDeserialized().

◆ OnInspect()

void Card.OnInspect ( )
inline

Implements IInspect.

Definition at line 8202 of file Card.cs.

8203 {
8204 }

◆ OnLand()

virtual void Card.OnLand ( )
inlinevirtual

Definition at line 6074 of file Card.cs.

6075 {
6077 {
6078 PlayEffect("ripple");
6079 PlaySound("Footstep/water");
6080 }
6081 }
Definition: Cell.cs:7
bool IsTopWaterAndNoSnow
Definition: Cell.cs:720

References Cell.IsTopWaterAndNoSnow.

◆ OnSerializing()

virtual void Card.OnSerializing ( )
inlineprotectedvirtual

Reimplemented in Chara.

Definition at line 2743 of file Card.cs.

2744 {
2745 }

Referenced by _OnSerializing().

◆ OnSimulateHour()

virtual void Card.OnSimulateHour ( VirtualDate  date)
inlinevirtual

Definition at line 6903 of file Card.cs.

6904 {
6905 trait.OnSimulateHour(date);
6906 if (date.IsRealTime)
6907 {
6908 DecayNatural();
6909 }
6910 }
virtual void OnSimulateHour(VirtualDate date)
Definition: Trait.cs:714
bool IsRealTime
Definition: VirtualDate.cs:7

References VirtualDate.IsRealTime, and Trait.OnSimulateHour().

Referenced by Zone.OnSimulateHour().

◆ PlayAnime() [1/2]

◆ PlayAnime() [2/2]

void Card.PlayAnime ( AnimeID  id,
Point  dest,
bool  force = false 
)
inline

Definition at line 6496 of file Card.cs.

6497 {
6498 renderer.PlayAnime(id, dest);
6499 }

References CardRenderer.PlayAnime().

◆ PlayAnimeLoot()

void Card.PlayAnimeLoot ( )
inline

Definition at line 6501 of file Card.cs.

6502 {
6504 }

References CardRenderer.PlayAnime().

Referenced by Zone.AddCard().

◆ PlayEffect() [1/2]

void Card.PlayEffect ( int  ele,
bool  useRenderPos = true,
float  range = 0f 
)
inline

Definition at line 6516 of file Card.cs.

6517 {
6518 Effect effect = Effect.Get("Element/" + EClass.sources.elements.map[ele].alias);
6519 if (effect == null)
6520 {
6521 Debug.Log(ele);
6522 return;
6523 }
6524 Card rootCard = GetRootCard();
6525 effect._Play(rootCard.pos, ((isSynced && useRenderPos) ? rootCard.renderer.position : rootCard.pos.Position()) + new Vector3(Rand.Range(0f - range, range), Rand.Range(0f - range, range), 0f));
6526 }
Vector3 position
Definition: CardRenderer.cs:21
Definition: Effect.cs:7
Effect _Play(Point from, Vector3 fromV, float fixY=0f, Point to=null, Sprite sprite=null)
Definition: Effect.cs:117
static Effect Get(Effect original)
Definition: Effect.cs:85
ref Vector3 Position(int height)
Definition: Point.cs:548
static int Range(int min, int max)
Definition: Rand.cs:49

References Effect._Play(), Debug, SourceManager.elements, Effect.Get(), pos, CardRenderer.position, Point.Position(), Rand.Range(), renderer, and EClass.sources.

◆ PlayEffect() [2/2]

Effect Card.PlayEffect ( string  id,
bool  useRenderPos = true,
float  range = 0f,
Vector3  fix = default(Vector3) 
)
inline

Definition at line 6506 of file Card.cs.

6507 {
6508 if (id.IsEmpty())
6509 {
6510 return null;
6511 }
6512 Card rootCard = GetRootCard();
6513 return Effect.Get(id)._Play(rootCard.pos, fix + ((isSynced && useRenderPos) ? rootCard.renderer.position : rootCard.pos.Position()) + new Vector3(Rand.Range(0f - range, range), Rand.Range(0f - range, range), 0f));
6514 }

References Effect._Play(), Effect.Get(), pos, CardRenderer.position, Point.Position(), Rand.Range(), and renderer.

Referenced by InvOwnerChaosOffering._OnProcess(), InvOwnerGene._OnProcess(), InvOwnerMod._OnProcess(), TraitShrine._OnUse(), TraitCrafter.Craft(), ActEffect.DamageEle(), DamageHP(), TraitSyringe.EffectInject(), AI_Fuck.Finish(), AI_Massage.Finish(), Chara.GiveGift(), HealHP(), Religion.JoinFaith(), Kick(), LevelUp(), AI_Fish.Makefish(), DramaOutcome.marry(), ConTransmuteHuman.NyaruSpecial(), TraitTrap.OnActivateTrap(), TraitDrinkMilkMother.OnDrink(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgressComplete(), TraitBookSecret.OnRead(), TraitDiary.OnRead(), TraitIndulgence.OnRead(), TraitScrollStatic.OnRead(), TraitFertilizer.OnSimulateHour(), Scene.OnUpdate(), TraitDaggerGrave.OnUse(), TraitGiftJure.OnUse(), TraitPowerStatue.OnUse(), ActMoneySlap.Perform(), ActTelekinesis.Perform(), ActWhirlwind.Perform(), ActZap.Perform(), BaseCondition.PlayEffect(), ConBuffStats.PlayEffect(), BaseCondition.PlayEndEffect(), AttackProcess.PlayRangedAnime(), ActPray.Pray(), AI_Pray.Pray(), FoodEffect.Proc(), ActEffect.Proc(), ActEffect.ProcAt(), Religion.Reforge(), GoalCombat.Run(), ZoneEventSiege.SpawnMob(), TraitAltar.TakeOver(), ActThrow.Throw(), ConBurning.Tick(), Religion.TryGetGift(), ActPray.TryPray(), Chara.TryPush(), TraitFoodEgg.Update(), CoreDebug.UpdateInput(), FactionBranch.Upgrade(), and DramaOutcome.wedding_success().

◆ PlaySound()

SoundSource Card.PlaySound ( string  id,
float  v = 1f,
bool  spatial = true 
)
inline

Definition at line 6472 of file Card.cs.

6473 {
6474 Card rootCard = GetRootCard();
6475 if (rootCard.IsPC)
6476 {
6477 spatial = false;
6478 }
6479 if (rootCard.Dist(EClass.pc) < 6 || !spatial)
6480 {
6481 return rootCard.pos.PlaySound(id, isSynced || !spatial, v, spatial);
6482 }
6483 return null;
6484 }

References Dist(), IsPC, EClass.pc, Point.PlaySound(), and pos.

Referenced by Chara._Move(), RecipeManager.Add(), Chara.AddRandomBodyPart(), ActMelee.Attack(), Core.Awake(), Recipe.Build(), RecipeCard.Build(), AI_Shopping.Buy(), Zone.ClaimZone(), Trait.CookProgress(), TraitCrafter.Craft(), AI_OpenLock.CreateProgress(), AI_PryOpen.CreateProgress(), ActEffect.DamageEle(), TraitDye.Dye(), TraitSyringe.EffectInject(), CharaBody.Equip(), AI_Fuck.Finish(), AI_Massage.Finish(), Chara.GiveGift(), Chara.GiveLovePotion(), HealHP(), TraitChopper.IdleUse(), TraitGamble.IdleUse(), Trait.Install(), AM_Adv.IsEntangled(), LevelUp(), TraitSeed.MakeSeed(), TraitNewZone.MoveZone(), ConTransmuteHuman.NyaruSpecial(), Trait.Offer(), TraitChangingRoom.OnActivateTrap(), TraitSeesaw.OnActivateTrap(), TraitTrap.OnActivateTrap(), AIWork_Lumberjack.OnCreateProgress(), AIWork_Research.OnCreateProgress(), TaskDig.OnCreateProgress(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), TraitDrinkMilkMother.OnDrink(), Affinity.OnGift(), ElementContainerCard.OnModTempPotential(), TraitAltar.OnOffer(), TraitDoorBell.OnOpenDoor(), AI_Farm.OnProgress(), AI_Fish.ProgressFish.OnProgress(), AI_Water.OnProgress(), TaskCraft.OnProgress(), AI_Fish.ProgressFish.OnProgressComplete(), AI_Water.OnProgressComplete(), TraitBaseSpellbook.OnRead(), TraitBook.OnRead(), TraitBookExp.OnRead(), TraitBookSecret.OnRead(), TraitDeedRelocate.OnRead(), TraitDiary.OnRead(), TraitIndulgence.OnRead(), ConSleep.OnRemoved(), TraitJukeBox.OnSetBGM(), TraitToolTorch.OnSetCurrentItem(), TraitClock.OnSimulateHour(), TraitFertilizer.OnSimulateHour(), AI_Fish.ProgressFish.OnStart(), ConBoost.OnStart(), ConTransmuteBat.OnStart(), TraitMiniPool.OnStepped(), TraitSwing.OnSteppedOut(), TraitLeverBreaker.OnToggle(), Scene.OnUpdate(), TraitDaggerGrave.OnUse(), TraitEquipItem.OnUse(), TraitGeneMachine.OnUse(), TraitGiftJure.OnUse(), TraitStairsLocked.OnUse(), TraitWhistlePeace.OnUse(), TraitFoodMeat.OnUse(), ActBash.Perform(), ActClearWater.Perform(), ActCryRage.Perform(), ActCrySad.Perform(), ActDrawWater.Perform(), ActDreamBug.Perform(), ActMissileBarrage.Perform(), ActMoneyDump.Perform(), ActMoneySlap.Perform(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.Perform(), ActTelekinesis.Perform(), ActWater.Perform(), ActWhirlwind.Perform(), ActZap.Perform(), AttackProcess.Perform(), BaseCondition.PlayEffect(), ConBuffStats.PlayEffect(), BaseCondition.PlayEndEffect(), AttackProcess.PlayRangedAnime(), Trait.PlayToggleEffect(), AI_Pray.Pray(), FoodEffect.Proc(), ActEffect.Proc(), ActEffect.ProcAt(), TraitBaseSpellbook.ReadFailEffect(), TraitGenerator.Recover(), Chara.RemoveLastBodyPart(), ActRide.Ride(), AI_Bladder.Run(), AI_Churyu.Run(), AI_Clean.Run(), AI_Craft_Snowman.Run(), AI_Deconstruct.Run(), AI_Eat.Run(), AI_Fuck.Run(), AI_HaulResource.Run(), AI_Idle.Run(), AI_OpenGambleChest.Run(), AI_Paint.Run(), AI_PlayMusic.Run(), AI_Read.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_Trolley.Run(), AI_UseCrafter.Run(), GoalCombat.Run(), TaskClean.Run(), TaskCullLife.Run(), TaskWater.Run(), TraitDetector.Search(), LayerPixelPaint.SetCanvas(), TraitGenerator.ShortOut(), CardRenderer.ShowBossText(), ZoneEventSiege.SpawnMob(), ActThrow.Throw(), ConBurning.Tick(), ConPeaky.Tick(), Trait.Toggle(), TraitDoor.ToggleDoor(), TraitDoorSwing.ToggleDoor(), TraitToolTorch.ToggleOn(), TraitSwitch.TryDisarmTrap(), Trait.TryOpenLock(), ActPray.TryPray(), Trait.TryPryOpenLock(), Chara.TryPush(), AI_Shopping.TryRestock(), TraitWell.TrySetAct(), Trait.Uninstall(), ActRide.Unride(), TraitFoodEgg.Update(), CoreDebug.UpdateInput(), and DramaOutcome.wedding_success().

◆ PlaySoundDead()

void Card.PlaySoundDead ( bool  spatial = true)
inline

Definition at line 6467 of file Card.cs.

6468 {
6469 PlaySound(material.GetSoundDead(sourceCard), 1f, spatial);
6470 }

References material.

Referenced by TaskChopWood.OnCreateProgress().

◆ PlaySoundDrop()

void Card.PlaySoundDrop ( bool  spatial = true)
inline

◆ PlaySoundHold()

void Card.PlaySoundHold ( bool  spatial = true)
inline

Definition at line 6452 of file Card.cs.

6453 {
6454 PlaySound(material.GetSoundDrop(sourceCard), 1f, spatial);
6455 }

References material.

◆ PlaySoundImpact()

void Card.PlaySoundImpact ( bool  spatial = true)
inline

Definition at line 6462 of file Card.cs.

6463 {
6464 PlaySound(material.GetSoundImpact(sourceCard), 1f, spatial);
6465 }

References material.

Referenced by TaskChopWood.OnCreateProgress().

◆ PurgeDuplicateArtifact()

void Card.PurgeDuplicateArtifact ( Thing  af)
inline

Definition at line 3300 of file Card.cs.

3301 {
3302 if (af.isReplica)
3303 {
3304 return;
3305 }
3306 List<Chara> list = new List<Chara>();
3307 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
3308 {
3309 foreach (Chara member in child.members)
3310 {
3311 list.Add(member);
3312 }
3313 }
3314 foreach (Chara chara in EClass._map.charas)
3315 {
3316 list.Add(chara);
3317 }
3319 {
3320 foreach (Chara item in list)
3321 {
3322 if (!item.IsPCFactionOrMinion)
3323 {
3324 continue;
3325 }
3326 List<Thing> list2 = item.things.List((Thing t) => t.HasTag(CTAG.godArtifact) && t != af && !t.isReplica && t.c_idDeity == EClass.game.religions.Eyth.id);
3327 if (list2.Count == 0)
3328 {
3329 continue;
3330 }
3331 foreach (Thing item2 in list2)
3332 {
3333 Religion artifactDeity = Religion.GetArtifactDeity(item2.id);
3334 if (item2.isEquipped)
3335 {
3336 item.body.Unequip(item2);
3337 }
3338 item2.c_idDeity = artifactDeity?.id ?? null;
3339 Msg.Say("waterCurse", item2);
3340 }
3341 }
3342 }
3343 foreach (Chara item3 in list)
3344 {
3345 if (!item3.IsPCFactionOrMinion)
3346 {
3347 continue;
3348 }
3349 List<Thing> list3 = item3.things.List((Thing t) => t.id == af.id && t != af && !t.isReplica);
3350 if (list3.Count == 0)
3351 {
3352 continue;
3353 }
3354 foreach (Thing item4 in list3)
3355 {
3356 Msg.Say("destroyed_inv_", item4, item3);
3357 item4.Destroy();
3358 }
3359 }
3360 }
string c_idDeity
Definition: Card.cs:1609
Faction faction
Definition: Chara.cs:429
List< Chara > members
List< FactionBranch > GetChildren()
Definition: FACTION.cs:202
override string id
Definition: ReligionEyth.cs:3
ReligionEyth Eyth
virtual string id
Definition: Religion.cs:26
static Religion GetArtifactDeity(string id)
Definition: Religion.cs:275
List< Thing > List(Func< Thing, bool > func, bool onlyAccessible=false)

References EClass._map, c_idDeity, Map.charas, Destroy(), ReligionManager.Eyth, Chara.faction, EClass.game, Religion.GetArtifactDeity(), Faction.GetChildren(), HasElement(), HasTag(), id, Religion.id, ReligionEyth.id, Thing.isEquipped, IsPCFactionOrMinion, isReplica, item, ThingContainer.List(), FactionBranch.members, EClass.pc, Game.religions, Msg.Say(), and things.

Referenced by FactionBranch.AddMemeber(), AddThing(), and PurgeEythArtifact().

◆ PurgeEythArtifact()

void Card.PurgeEythArtifact ( )
inline

Definition at line 3362 of file Card.cs.

3363 {
3364 if (!EClass.pc.IsEyth || !EClass.pc.HasElement(1228))
3365 {
3366 return;
3367 }
3368 List<Chara> list = new List<Chara>();
3369 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
3370 {
3371 foreach (Chara member in child.members)
3372 {
3373 list.Add(member);
3374 }
3375 }
3376 foreach (Chara chara in EClass._map.charas)
3377 {
3378 list.Add(chara);
3379 }
3380 foreach (Chara item in list)
3381 {
3382 if (item.IsPCFactionOrMinion)
3383 {
3384 Thing thing = item.things.Find((Thing t) => t.HasTag(CTAG.godArtifact) && t.c_idDeity == "eyth");
3385 if (thing != null)
3386 {
3388 }
3389 break;
3390 }
3391 }
3392 }
bool IsEyth
Definition: Chara.cs:1066

References EClass._map, c_idDeity, Map.charas, Chara.faction, Faction.GetChildren(), HasElement(), HasTag(), Chara.IsEyth, item, FactionBranch.members, EClass.pc, and PurgeDuplicateArtifact().

Referenced by Religion.JoinFaith().

◆ RecalculateFOV()

◆ ReferenceId()

string Card.ReferenceId ( )
inline

Implements IGlobalValue.

Definition at line 2810 of file Card.cs.

2811 {
2812 return "c" + uid;
2813 }

References uid.

◆ RefreshColor()

int Card.RefreshColor ( )
inline

Definition at line 6317 of file Card.cs.

6318 {
6319 if (isChara)
6320 {
6321 if (Chara.mimicry != null && Chara.mimicry.Card != this)
6322 {
6324 }
6325 else if (isDyed)
6326 {
6328 }
6329 else if (isElemental)
6330 {
6332 }
6333 else
6334 {
6335 _colorInt = 104025;
6336 }
6337 }
6338 else if (isDyed)
6339 {
6340 if (TileRow.useAltColor)
6341 {
6343 }
6344 else
6345 {
6347 }
6348 }
6350 {
6352 }
6354 {
6356 }
6357 else
6358 {
6360 }
6361 return _colorInt;
6362 }
static int GetColorInt(ref Color matColor, int p)
bool isElemental
Definition: Card.cs:725
SourceMaterial.Row DyeMat
Definition: Card.cs:1980
int RefreshColor()
Definition: Card.cs:6317
virtual CardRow sourceRenderCard
Definition: Card.cs:2173
ref Color GetRandomColor()
Definition: Card.cs:6364
static GameSetting setting
Definition: EClass.cs:35
UD_String_ElementRef elements
Definition: GameSetting.cs:315
bool useAltColor
Definition: RenderRow.cs:80
bool useRandomColor
Definition: RenderRow.cs:83
int colorMod
Definition: RenderRow.cs:16

References SourceMaterial.Row.altColor, ConBaseTransmuteMimic.Card, RenderRow.colorMod, GameSetting.elements, BaseTileMap.GetColorInt(), Chara.MainElement, SourceMaterial.Row.matColor, material, Chara.mimicry, RefreshColor(), EClass.setting, Element.source, RenderRow.useAltColor, and RenderRow.useRandomColor.

Referenced by RefreshColor().

◆ RemoveBacker()

void Card.RemoveBacker ( )
inline

Definition at line 7363 of file Card.cs.

7364 {
7365 if (c_idBacker == 164)
7366 {
7367 Chara.things.Find("amulet_moonnight")?.Destroy();
7368 }
7369 c_idBacker = 0;
7370 }

References Destroy(), ThingContainer.Find(), and things.

Referenced by Zone_Casino.OnActivate(), BackerContentInspector.ContentCard.Remove(), and Zone.Revive().

◆ RemoveCard()

void Card.RemoveCard ( Card  c)
inline

Implements ICardParent.

Definition at line 3173 of file Card.cs.

3174 {
3175 RemoveThing(c as Thing);
3176 }
void RemoveThing(Thing thing)
Definition: Card.cs:3402

References RemoveThing().

Referenced by ZonePreEnterBoutWin.Execute(), InvOwner.Grab(), and InvOwner.OnShiftClick().

◆ RemoveEditorTag()

void Card.RemoveEditorTag ( EditorTag  tag)
inline

Definition at line 2652 of file Card.cs.

2653 {
2654 c_editorTags = (c_editorTags.IsEmpty() ? null : c_editorTags.Replace(tag.ToString(), "").Replace(",,", ","));
2655 }

References c_editorTags.

Referenced by AddThing(), QuestDebt.OnStart(), SurvivalManager.OnUpdateRecruit(), DramaOutcome.poppy_found(), DramaOutcome.QuestExploration_AfterCrystal(), and DramaOutcome.QuestExploration_MeetFarris().

◆ RemoveThing()

void Card.RemoveThing ( Thing  thing)
inline

Definition at line 3402 of file Card.cs.

3403 {
3404 Card rootCard = GetRootCard();
3405 if (rootCard != null && rootCard.isChara && (rootCard.Chara.held == thing || (rootCard.IsPC && thing.things.Find((Thing t) => EClass.pc.held == t) != null)))
3406 {
3407 rootCard.Chara.held = null;
3408 if (rootCard.IsPC)
3409 {
3411 if ((bool)instance && instance.selected != -1 && instance.selectedButton.card != null && instance.selectedButton.card == thing)
3412 {
3413 instance.selectedButton.card = null;
3414 }
3416 ActionMode.AdvOrRegion.updatePlans = true;
3417 LayerInventory.SetDirty(thing);
3418 }
3420 }
3421 dirtyWeight = true;
3422 if (thing.c_equippedSlot != 0 && isChara)
3423 {
3424 Chara.body.Unequip(thing);
3425 }
3426 things.Remove(thing);
3427 things.OnRemove(thing);
3428 if (isSale && things.Count == 0 && IsContainer)
3429 {
3430 isSale = false;
3431 EClass._map.props.sales.Remove(this);
3432 }
3433 if (thing.invY == 1)
3434 {
3435 WidgetCurrentTool.dirty = true;
3436 }
3437 thing.invX = -1;
3438 thing.invY = 0;
3439 if (thing.props != null)
3440 {
3441 thing.props.Remove(thing);
3442 }
3445 {
3446 LayerInventory.SetDirty(thing);
3447 WidgetHotbar.dirtyCurrentItem = true;
3448 thing.parent = null;
3449 if (thing.trait.IsContainer)
3450 {
3451 foreach (LayerInventory item in LayerInventory.listInv.Copy())
3452 {
3453 if (item.invs[0].owner.Container.GetRootCard() != EClass.pc && item.floatInv)
3454 {
3455 EClass.ui.layerFloat.RemoveLayer(item);
3456 }
3457 }
3458 }
3459 }
3460 thing.parent = null;
3461 }
Card card
Definition: ButtonGrid.cs:24
int c_equippedSlot
Definition: Card.cs:967
int invY
Definition: Card.cs:1995
bool isSale
Definition: Card.cs:869
void RecalculateFOV()
Definition: Card.cs:6688
void Unequip(Thing thing, bool refresh=true)
Definition: CharaBody.cs:49
static List< LayerInventory > listInv
PropsManager props
Definition: Map.cs:91
void RefreshCurrentHotItem()
Definition: Player.cs:2271
List< Card > sales
Definition: PropsManager.cs:14
void Remove(Card t)
Definition: Props.cs:115
void OnRemove(Thing t)
virtual bool IsContainer
Definition: Trait.cs:225
static WidgetCurrentTool Instance
ButtonGrid selectedButton

References EClass._map, Chara.body, c_equippedSlot, ButtonGrid.card, Chara, dirtyWeight, ThingContainer.Find(), GetRootCard(), Chara.held, WidgetCurrentTool.Instance, invY, isChara, IsContainer, Trait.IsContainer, IsPC, isSale, item, LayerInventory.listInv, ThingContainer.OnRemove(), EClass.pc, EClass.player, props, Map.props, RecalculateFOV(), Player.RefreshCurrentHotItem(), Props.Remove(), PropsManager.sales, WidgetCurrentTool.selected, WidgetCurrentTool.selectedButton, LayerInventory.SetDirty(), SetDirtyWeight(), ShouldTrySetDirtyInventory(), things, trait, EClass.ui, and CharaBody.Unequip().

Referenced by RemoveCard(), and RemoveThings().

◆ RemoveThings()

void Card.RemoveThings ( )
inline

Definition at line 3394 of file Card.cs.

3395 {
3396 for (int num = things.Count - 1; num >= 0; num--)
3397 {
3398 RemoveThing(things[num]);
3399 }
3400 }

References RemoveThing(), and things.

Referenced by ApplyEditorTags(), RecipeCard.Craft(), Trait.OnBarter(), and FactionBranch.OnCreate().

◆ RenderMarker()

void Card.RenderMarker ( Point  point,
bool  active,
HitResult  result,
bool  main,
int  dir,
bool  useCurrentPosition = false 
)
inline

Definition at line 6624 of file Card.cs.

6625 {
6626 if (dir != -1)
6627 {
6628 this.dir = dir;
6629 }
6630 Vector3 v = point.Position();
6631 bool skipRender = point.cell.skipRender;
6632 if (result != 0 && EClass.screen.guide.isActive && !skipRender)
6633 {
6634 EClass.screen.guide.passGuideBlock.Add(ref v, (point.HasObj || point.HasChara) ? 5 : 0);
6635 }
6636 if (!main)
6637 {
6638 return;
6639 }
6640 RenderParam renderParam = GetRenderParam();
6642 {
6643 renderParam.x = v.x;
6644 renderParam.y = v.y;
6645 renderParam.z = v.z;
6646 EClass.screen.tileMap.SetRoofHeight(renderParam, point.cell, point.x, point.z);
6647 v.x = renderParam.x;
6648 v.y = renderParam.y;
6649 v.z = renderParam.z;
6650 }
6651 else if (TileType.UseMountHeight)
6652 {
6653 TileType.GetMountHeight(ref v, point, this.dir, this);
6654 }
6655 v.z += EClass.setting.render.thingZ;
6656 if (!skipRender)
6657 {
6658 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
6659 if (freePos)
6660 {
6661 v.x += fx;
6662 v.y += fy;
6663 v.z += thingPosition.z;
6664 }
6665 else
6666 {
6667 v += thingPosition;
6668 }
6669 }
6670 if (useCurrentPosition)
6671 {
6672 v = renderer.position;
6673 v.z += -0.01f;
6674 }
6675 if (TileType == TileType.Door)
6676 {
6677 v.z -= 0.5f;
6678 }
6679 renderParam.matColor = (active ? EClass.Colors.blockColors.Active : EClass.Colors.blockColors.Inactive);
6680 point.ApplyAnime(ref v);
6681 if (renderer.hasActor)
6682 {
6684 }
6685 renderer.Draw(renderParam, ref v, drawShadow: false);
6686 }
virtual bool IsRoofEditMode(Card c=null)
Definition: ActionMode.cs:311
ScreenGuide guide
BaseTileMap tileMap
void SetRoofHeight(MeshPassParam _param, Cell _cell, int _cx, int _cz, int h=0, int altitude=0, int dirWall=-1, bool ignoreAltitudeY=false)
Vector3 GetThingPosition(Card tg, Point p)
virtual void RefreshSprite()
Definition: CardActor.cs:233
override void Draw(RenderParam p)
Definition: CardRenderer.cs:49
CardActor actor
Definition: CardRenderer.cs:11
float fy
Definition: Card.cs:269
float fx
Definition: Card.cs:257
RenderParam GetRenderParam()
Definition: Card.cs:6286
bool freePos
Definition: Card.cs:521
bool skipRender
Definition: Cell.cs:278
BlockColors blockColors
RenderSetting render
Definition: GameSetting.cs:301
void Add(Point point, float tile=0f, float color=0f)
Definition: MeshPass.cs:122
RenderParam ApplyAnime(RenderParam p)
Definition: Point.cs:1326
bool HasObj
Definition: Point.cs:137
bool HasChara
Definition: Point.cs:238
ActionMode actionMode
Definition: Scene.cs:79
bool isActive
Definition: ScreenGuide.cs:15
MeshPass passGuideBlock
Definition: ScreenGuide.cs:5
virtual void GetMountHeight(ref Vector3 v, Point p, int d, Card target=null)
Definition: TileType.cs:391
virtual bool UseMountHeight
Definition: TileType.cs:227
static TileTypeDoor Door
Definition: TileType.cs:101

References Scene.actionMode, CardRenderer.actor, MeshPass.Add(), Point.ApplyAnime(), ColorProfile.blockColors, Point.cell, EClass.Colors, TileType.Door, CardRenderer.Draw(), TileType.GetMountHeight(), BaseTileMap.GetThingPosition(), BaseGameScreen.guide, CardRenderer.hasActor, Point.HasChara, Point.HasObj, ColorProfile.BlockColors.Inactive, ScreenGuide.isActive, ActionMode.IsRoofEditMode(), ScreenGuide.passGuideBlock, CardRenderer.position, Point.Position(), CardActor.RefreshSprite(), GameSetting.render, EClass.scene, EClass.screen, BaseTileMap.SetRoofHeight(), EClass.setting, Cell.skipRender, GameSetting.RenderSetting.thingZ, BaseGameScreen.tileMap, TileType.UseMountHeight, MeshPassParam.x, Point.x, MeshPassParam.y, MeshPassParam.z, and Point.z.

Referenced by RecipeCard.OnRenderMarker().

◆ ResistLv()

int Card.ResistLv ( int  res)
inline

Definition at line 6209 of file Card.cs.

6210 {
6211 return Element.GetResistLv(Evalue(res));
6212 }
static int GetResistLv(int v)
Definition: ELEMENT.cs:1143

References Element.GetResistLv().

Referenced by ActEffect.ProcAt().

◆ ResistLvFrom()

int Card.ResistLvFrom ( int  ele)
inline

Definition at line 6204 of file Card.cs.

6205 {
6206 return ResistLv(EClass.sources.elements.alias.TryGetValue(EClass.sources.elements.map[ele].aliasRef)?.id ?? 0);
6207 }

References SourceManager.elements, and EClass.sources.

Referenced by GoalCombat.TryUseAbility().

◆ Rotate()

virtual void Card.Rotate ( bool  reverse = false)
inlinevirtual

Reimplemented in Chara.

Definition at line 6547 of file Card.cs.

6548 {
6549 int num = 4;
6550 if (sourceCard.tiles.Length > 4)
6551 {
6552 num = sourceCard.tiles.Length;
6553 }
6554 if (TileType == TileType.Door)
6555 {
6556 num = 2;
6557 }
6558 if (trait is TraitFakeObj)
6559 {
6560 num = (trait as TraitFakeObj).GetMaxDir();
6561 }
6562 if (reverse)
6563 {
6564 dir--;
6565 }
6566 else
6567 {
6568 dir++;
6569 }
6570 if (dir < 0)
6571 {
6572 dir = num - 1;
6573 }
6574 if (dir == num)
6575 {
6576 dir = 0;
6577 }
6578 SetDir(dir);
6580 }
void RefreshSprite()
virtual void SetDir(int d)
Definition: Card.cs:6528
int[] tiles
Definition: RenderRow.cs:10

References TileType.Door, CardRenderer.RefreshSprite(), and RenderRow.tiles.

Referenced by RecipeCard.Rotate(), Cell.RotateAll(), and AM_Adv.ShowAllAction().

◆ Say() [1/3]

void Card.Say ( string  lang,
Card  c1,
Card  c2,
string  ref1 = null,
string  ref2 = null 
)
inline

Definition at line 7159 of file Card.cs.

7160 {
7161 if (ShouldShowMsg)
7162 {
7163 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, c2, ref1, ref2);
7164 }
7165 Msg.SetColor();
7166 }
bool ShouldShowMsg
Definition: Card.cs:2496
static LangGame Game
Definition: Lang.cs:48
string TryGetId(string id, string id2)
Definition: SourceLang.cs:34

References Lang.Game, Msg.Say(), Msg.SetColor(), and SourceLang< T >.TryGetId().

◆ Say() [2/3]

void Card.Say ( string  lang,
Card  c1,
string  ref1 = null,
string  ref2 = null 
)
inline

Definition at line 7168 of file Card.cs.

7169 {
7170 if (ShouldShowMsg)
7171 {
7172 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, ref1, ref2);
7173 }
7174 Msg.SetColor();
7175 }

References Lang.Game, Msg.Say(), Msg.SetColor(), and SourceLang< T >.TryGetId().

◆ Say() [3/3]

void Card.Say ( string  lang,
string  ref1 = null,
string  ref2 = null 
)
inline

Definition at line 7150 of file Card.cs.

7151 {
7152 if (ShouldShowMsg)
7153 {
7154 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, ref1, ref2);
7155 }
7156 Msg.SetColor();
7157 }

References Lang.Game, Msg.Say(), Msg.SetColor(), and SourceLang< T >.TryGetId().

Referenced by Chara._Move(), InvOwnerBlend._OnProcess(), TraitShrine._OnUse(), TraitSwitch.ActivateTrap(), RecipeManager.Add(), Chara.AddRandomBodyPart(), ActMelee.Attack(), Chara.Banish(), Point.CallGuard(), ElementContainerCard.CheckSkillActions(), TraitCrafter.Craft(), AI_OpenLock.CreateProgress(), AI_PryOpen.CreateProgress(), DamageHP(), Trait.DamageRandomProperty(), Decay(), Chara.Die(), Chara.DoHostileAction(), TraitSyringe.EffectInject(), CharaBody.Equip(), AI_Fish.ProgressFish.Fail(), AI_Fuck.Finish(), AI_Massage.Finish(), ActEffect.GeneMiracle(), Chara.GiveGift(), Chara.GiveLovePotion(), TraitGamble.IdleUse(), AM_Adv.IsEntangled(), Condition.Kill(), Chara.Kiss(), LevelUp(), ActEffect.LoveMiracle(), Chara.MakeAlly(), CraftUtil.MakeBloodMeal(), AI_Fish.Makefish(), DramaOutcome.marry(), StatsMana.Mod(), TraitBaseSpellbook.ModCharge(), ModCharge(), TraitWell.ModCharges(), TraitChangingRoom.OnActivateTrap(), TraitTrap.OnActivateTrap(), ConSleep.OnBeforeStart(), TraitDrink.OnBlend(), AI_PassTime.OnCancel(), AI_PryOpen.OnCancelOrSuccess(), Stats.OnChangePhase(), TraitBrewery.OnChildDecay(), InvOwner.OnClick(), TaskChopWood.OnCreateProgress(), TaskDig.OnCreateProgress(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), TraitDrinkMilkMother.OnDrink(), Affinity.OnGift(), GrowSystemTree.OnHitFail(), ElementContainerCard.OnLevelUp(), ElementContainerCard.OnModTempPotential(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgressComplete(), AI_Sleep.OnProgressComplete(), TaskBuild.OnProgressComplete(), TraitBaseSpellbook.OnRead(), TraitBook.OnRead(), TraitBookExp.OnRead(), TraitBookSecret.OnRead(), TraitBookSkill.OnRead(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), AI_Read.OnSetOwner(), AI_Fish.ProgressFish.OnStart(), TraitFloorSwitch.OnStepped(), TraitMiniPool.OnStepped(), TraitFoodPreparedPackage.OnUse(), TraitGiftJure.OnUse(), TraitGiftNewYear.OnUse(), TraitGiftPack.OnUse(), TraitItemProc.OnUse(), TraitParcel.OnUse(), TraitPlamoBox.OnUse(), TraitWhistlePeace.OnUse(), TraitFoodMeat.OnUse(), TraitPotionEmpty.OnUse(), ActBash.Perform(), ActClearWater.Perform(), ActCryRage.Perform(), ActCrySad.Perform(), ActDrawWater.Perform(), ActDreamBug.Perform(), ActMissileBarrage.Perform(), ActMoneySlap.Perform(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.Perform(), ActTelekinesis.Perform(), ActWater.Perform(), ActWhirlwind.Perform(), ActZap.Perform(), AttackProcess.Perform(), BaseCondition.PhaseMsg(), ConBuffStats.PlayEffect(), Trait.PlayToggleEffect(), ActEffect.Poison(), GrowSystem.PopHarvest(), ActPray.Pray(), AI_Pray.Pray(), FoodEffect.Proc(), ActEffect.Proc(), ActEffect.ProcAt(), InvOwner.Transaction.Process(), TraitBaseSpellbook.ReadFailEffect(), TraitGenerator.Recover(), Chara.RemoveLastBodyPart(), TraitShackle.Restrain(), ActRide.Ride(), AI_ArmPillow.Run(), AI_Clean.Run(), AI_Craft_Snowman.Run(), AI_Eat.Run(), AI_Fuck.Run(), AI_Haul.Run(), AI_Idle.Run(), AI_Massage.Run(), AI_OpenGambleChest.Run(), AI_PassTime.Run(), AI_PlayMusic.Run(), AI_Read.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_Trolley.Run(), GoalCombat.Run(), TaskClean.Run(), TaskWater.Run(), TraitGenerator.ShortOut(), DramaOutcome.sister_friend(), AI_Trolley.Stop(), Chara.Stumble(), ActThrow.Throw(), ConDeathSentense.Tick(), ConFear.Tick(), ConInsane.Tick(), ConSleep.Tick(), Trait.Toggle(), TraitDoorAutoShoji.ToggleDoor(), TraitToolTorch.ToggleOn(), Zone.TryAddThingInSharedContainer(), AIAct.TryCancel(), TraitSwitch.TryDisarmTrap(), ThingGen.TryLickChest(), Thing.TryLickEnchant(), BaseCondition.TryNullify(), ConTransmute.TryNullify(), TraitDoor.TryOpen(), Trait.TryOpenLock(), ActPray.TryPray(), TraitBaseSpellbook.TryProgress(), Trait.TryPryOpenLock(), ActRanged.TryReload(), TraitDoor.TrySetAct(), TraitWell.TrySetAct(), CharaBody.Unequip(), CharaBody.UnqeuipIfTooHeavy(), ActRide.Unride(), ActSlime.ValidatePerform(), and DramaOutcome.wedding_success().

◆ SayNothingHappans()

◆ SayRaw()

void Card.SayRaw ( string  text,
string  ref1 = null,
string  ref2 = null 
)
inline

Definition at line 7129 of file Card.cs.

7130 {
7131 if (isSynced && !text.IsEmpty())
7132 {
7133 if (ref1 != null)
7134 {
7135 text = text.Replace("#1", ref1);
7136 }
7137 if (ref2 != null)
7138 {
7139 text = text.Replace("#2", ref2);
7140 }
7141 HostRenderer.Say(text);
7142 }
7143 }
void Say(string text, Color c=default(Color), float duration=0f)
CardRenderer HostRenderer
Definition: Card.cs:2484

Referenced by AM_Adv._OnUpdateInput(), CoreDebug.BroadcastNext(), and ActPlan.Order().

◆ SecondaryCompare()

virtual int Card.SecondaryCompare ( UIList::SortMode  m,
Card  c 
)
inlinevirtual

Definition at line 8136 of file Card.cs.

8137 {
8138 int num = 0;
8139 if (num == 0)
8140 {
8141 num = id.CompareTo(c.id);
8142 }
8143 if (num == 0)
8144 {
8145 num = trait.CompareTo(c);
8146 }
8147 if (num == 0)
8148 {
8149 num = Lang.comparer.Compare(c.GetName(NameStyle.Full, 1), GetName(NameStyle.Full, 1));
8150 }
8151 if (num == 0)
8152 {
8153 num = refVal - c.refVal;
8154 }
8155 if (num == 0)
8156 {
8157 num = c_charges - c.c_charges;
8158 }
8159 if (num == 0)
8160 {
8161 num = encLV - c.encLV;
8162 }
8163 if (num == 0)
8164 {
8165 num = Num - c.Num;
8166 }
8167 if (num == 0)
8168 {
8169 num = uid - c.uid;
8170 }
8171 return num;
8172 }
static NaturalStringComparer comparer
Definition: Lang.cs:22
virtual int CompareTo(Card b)
Definition: Trait.cs:742

References c_charges, Lang.comparer, Trait.CompareTo(), encLV, GetName(), id, Num, refVal, and uid.

◆ SetBlessedState()

virtual void Card.SetBlessedState ( BlessedState  s)
inlinevirtual

Definition at line 3979 of file Card.cs.

3980 {
3981 int num = 0;
3982 if (s == BlessedState.Blessed && blessedState < BlessedState.Blessed)
3983 {
3984 num = 1;
3985 }
3986 if (s < BlessedState.Blessed && blessedState == BlessedState.Blessed)
3987 {
3988 num = -1;
3989 }
3990 if (num != 0 && IsEquipmentOrRangedOrAmmo)
3991 {
3992 if (IsWeapon || IsAmmo)
3993 {
3994 elements.ModBase(67, num);
3995 }
3996 else
3997 {
3998 elements.ModBase(65, num * 2);
3999 }
4000 }
4001 blessedState = s;
4002 }

References blessedState, elements, IsAmmo, IsEquipmentOrRangedOrAmmo, IsWeapon, and ElementContainer.ModBase().

Referenced by Recipe.Craft(), RecipeCard.Craft(), Player.CreateEquip(), FactionBranch.DailyOutcome(), CharaBody.Equip(), MakeEgg(), AI_Fish.Makefish(), MakeMilk(), TraitSeed.MakeSeed(), Chara.MutateRandom(), TraitDrink.OnBlend(), Thing.OnCreate(), TaskHarvest.OnCreateProgress(), TraitAltar.OnOffer(), TraitPotionEmpty.OnUse(), ActEffect.Proc(), CoreDebug.QuickStart(), and AI_UseCrafter.Run().

◆ SetCensored()

void Card.SetCensored ( bool  enable)
inline

Definition at line 8074 of file Card.cs.

8075 {
8076 isCensored = enable;
8078 {
8079 isCensored = false;
8080 }
8082 }
void SetCensored(bool enable)
bool isCensored
Definition: Card.cs:437
OtherSetting other
Definition: CoreConfig.cs:623

References Core.config, EClass.core, CoreConfig.OtherSetting.noCensor, CoreConfig.other, and CardRenderer.SetCensored().

Referenced by AI_Slaughter.OnCancelOrSuccess(), AI_Bladder.OnReset(), AI_Bladder.Run(), and AI_Slaughter.Run().

◆ SetCharge()

void Card.SetCharge ( int  a)
inline

◆ SetDeconstruct()

void Card.SetDeconstruct ( bool  deconstruct)
inline

Definition at line 8084 of file Card.cs.

8085 {
8086 if (isDeconstructing != deconstruct)
8087 {
8088 if (deconstruct)
8089 {
8090 EClass._map.props.deconstructing.Add(this);
8091 }
8092 else
8093 {
8094 EClass._map.props.deconstructing.Remove(this);
8095 }
8096 isDeconstructing = deconstruct;
8097 }
8098 }
bool isDeconstructing
Definition: Card.cs:449
List< Card > deconstructing
Definition: PropsManager.cs:12

References EClass._map, PropsManager.deconstructing, and Map.props.

Referenced by InspectGroupThing.OnSetActions(), and AI_Deconstruct.Run().

◆ SetDir()

virtual void Card.SetDir ( int  d)
inlinevirtual

Reimplemented in Chara.

Definition at line 6528 of file Card.cs.

6529 {
6530 dir = d;
6532 }

References CardRenderer.RefreshSprite().

Referenced by RecipeCard.Build(), CharaRenderer.DrawHeld(), ActThrow.Throw(), and TraitPillowStrange.TrySetAct().

◆ SetDirtyWeight()

void Card.SetDirtyWeight ( )
inline

Definition at line 2596 of file Card.cs.

2597 {
2599 {
2600 EClass.player.wasDirtyWeight = true;
2601 }
2602 dirtyWeight = true;
2603 (parent as Card)?.SetDirtyWeight();
2604 }

References EClass.core, dirtyWeight, Core.IsGameStarted, IsPC, parent, and SetDirtyWeight().

Referenced by AddThing(), ChangeMaterial(), ChangeWeight(), ModNum(), AttbMain.OnChangeValue(), Skill.OnChangeValue(), ActEffect.Proc(), Religion.PunishTakeOver(), RemoveThing(), SetDirtyWeight(), and SetLv().

◆ SetEncLv()

◆ SetFreePos()

void Card.SetFreePos ( Point  point)
inline

Definition at line 6600 of file Card.cs.

6601 {
6602 freePos = EClass.game.config.FreePos && isThing && TileType.FreeStyle;
6603 if (freePos)
6604 {
6605 Vector3 vector = point.Position();
6606 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
6607 fx = EInput.mposWorld.x + EClass.setting.render.freePosFix.x;
6608 fy = EInput.mposWorld.y + EClass.setting.render.freePosFix.y;
6610 {
6611 fx -= fx % 0.2f;
6612 fy -= fy % 0.1f;
6613 }
6614 fx = fx - vector.x + thingPosition.x;
6615 fy = fy - vector.y + thingPosition.y;
6616 }
6617 else
6618 {
6619 float num2 = (fy = 0f);
6620 fx = num2;
6621 }
6622 }
bool snapFreePos
Definition: Game.cs:34
Config config
Definition: Game.cs:219
virtual bool FreeStyle
Definition: TileType.cs:239

References Game.config, GameSetting.RenderSetting.freePosFix, TileType.FreeStyle, EClass.game, BaseTileMap.GetThingPosition(), Point.Position(), GameSetting.render, EClass.screen, EClass.setting, Game.Config.snapFreePos, and BaseGameScreen.tileMap.

Referenced by RecipeCard.OnRenderMarker().

◆ SetHidden()

Card Card.SetHidden ( bool  hide = true)
inline

Definition at line 5989 of file Card.cs.

5990 {
5991 isHidden = hide;
5992 pos.cell.Refresh();
5993 return this;
5994 }
bool isHidden
Definition: Card.cs:533
void Refresh()
Definition: Cell.cs:1164

References Point.cell, and Cell.Refresh().

Referenced by ApplyEditorTags(), Create(), TraitSwitch.OnInstall(), TraitFloorSwitch.OnStepped(), and ActWait.SearchMedal().

◆ SetImage() [1/2]

virtual void Card.SetImage ( Image  image)
inlinevirtual

Definition at line 6418 of file Card.cs.

6419 {
6420 if (trait is TraitAbility)
6421 {
6422 (trait as TraitAbility).act.SetImage(image);
6423 return;
6424 }
6425 Sprite sprite = GetSprite();
6426 if (!c_idSpriteReplacer.IsEmpty())
6427 {
6428 SpriteReplacer spriteReplacer = SpriteReplacer.dictSkins.TryGetValue(c_idSpriteReplacer);
6429 if (spriteReplacer != null)
6430 {
6431 sprite = spriteReplacer.GetSprite();
6432 RenderData renderData = ResourceCache.Load<RenderData>("Scene/Render/Data/chara_custom_" + ((sprite.texture.height <= 128) ? "128" : "256"));
6433 sourceRenderCard.SetImage(image, sprite, colorInt, setNativeSize: true, 0, 0, renderData, spriteReplacer.data.pref ?? Pref);
6434 return;
6435 }
6436 }
6437 sourceRenderCard.SetImage(image, sprite, colorInt, setNativeSize: true, 0, 0, this);
6438 }
string c_idSpriteReplacer
Definition: Card.cs:1585
int colorInt
Definition: Card.cs:111
void SetImage(Image image, Sprite sprite=null, int matCol=0, bool setNativeSize=true, int dir=0, int idSkin=0, Card card=null)
Definition: RenderRow.cs:366
SourcePref pref
Definition: SpriteData.cs:30
SpriteData data
Sprite GetSprite(string suffix="")
static Dictionary< string, SpriteReplacer > dictSkins

References SpriteReplacer.data, SpriteReplacer.dictSkins, SpriteReplacer.GetSprite(), SpriteData.pref, and RenderRow.SetImage().

◆ SetImage() [2/2]

◆ SetLv()

Card Card.SetLv ( int  a)
inline

Definition at line 2979 of file Card.cs.

2980 {
2981 bool flag = a > LV;
2982 LV = a;
2983 if (!isChara)
2984 {
2985 return this;
2986 }
2987 isScaled = true;
2988 Rand.SetSeed(uid);
2989 ElementContainer elementContainer = new ElementContainer();
2990 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.job.elementMap, LV);
2991 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.race.elementMap, LV);
2992 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.source.elementMap, 1, invert: false, applyFeat: true);
2993 foreach (Element value in elements.dict.Values)
2994 {
2995 int num = elementContainer.Value(value.id);
2996 if (num != 0)
2997 {
2998 int num2 = num - value.ValueWithoutLink;
2999 if (num2 != 0)
3000 {
3001 elements.ModBase(value.id, num2);
3002 }
3003 }
3004 }
3005 if (flag)
3006 {
3008 }
3009 Rand.SetSeed();
3010 hp = MaxHP;
3011 Chara.mana.value = Chara.mana.max;
3014 return this;
3015 }
SourceValueType
void ClampInitialSkill()
Definition: Card.cs:3017
bool isScaled
Definition: Card.cs:917
SourceJob.Row job
Definition: Chara.cs:468
void CalculateMaxStamina()
Definition: Chara.cs:2063
SourceChara.Row source
Definition: Chara.cs:160
void ApplyElementMap(int uid, SourceValueType type, Dictionary< int, int > map, int lv, bool invert=false, bool applyFeat=false)
int ValueWithoutLink
Definition: ELEMENT.cs:299

References ElementContainer.ApplyElementMap(), Chara.CalculateMaxStamina(), ClampInitialSkill(), ElementContainer.dict, elements, hp, Element.id, isChara, isScaled, Chara.job, LV, Chara.mana, Stats.max, MaxHP, ElementContainer.ModBase(), Chara.race, SetDirtyWeight(), Rand.SetSeed(), Chara.source, uid, and Element.ValueWithoutLink.

Referenced by Chara.Die(), ZonePreEnterBout.Execute(), DNA.Generate(), TraitFoodEggFertilized.Incubate(), Trait.OnBarter(), Chara.OnCreate(), TraitMonsterBall.OnCreate(), TraitPowerStatue.OnCreate(), TraitDrinkMilkMother.OnDrink(), ActEffect.ProcAt(), CoreDebug.QuickStart(), SerializedCards.Restore(), Chara.ScaleByPrincipal(), and CoreDebug.Spawn().

◆ SetNoSell()

Thing Card.SetNoSell ( )
inline

Definition at line 3593 of file Card.cs.

3594 {
3595 noSell = true;
3596 return this as Thing;
3597 }

References noSell, and Thing.

Referenced by DramaOutcome.fiama_starter_gift(), and TraitGiftJure.OnUse().

◆ SetNum()

Thing Card.SetNum ( int  a)
inline

Definition at line 3579 of file Card.cs.

3580 {
3581 if (!isThing)
3582 {
3583 return null;
3584 }
3585 if (a == Num)
3586 {
3587 return this as Thing;
3588 }
3589 ModNum(a - Num);
3590 return this as Thing;
3591 }

References isThing, ModNum(), Num, and Thing.

Referenced by ThingGen._Create(), InvOwnerRecycle._OnProcess(), Add(), ThingContainer.AddCurrency(), DropdownGrid.BuildIngredients(), TraitCrafter.Craft(), RecipeCard.Craft(), ThingGen.CreateCurrency(), Player.CreateEquip(), ThingGen.CreatePerfume(), ThingGen.CreatePotion(), ThingGen.CreateRedBook(), ThingGen.CreateScroll(), ThingGen.CreateSkillbook(), ThingGen.CreateSpellbook(), Trait.CreateStock(), FactionBranch.DailyOutcome(), Trait.DamageRandomProperty(), Decay(), Recipe.DropIngredients(), Duplicate(), Chara.EQ_Item(), ZonePreEnterBoutWin.Execute(), DramaOutcome.fiama_gold(), DramaOutcome.fiama_starter_gift(), AI_Fuck.Finish(), FactionBranch.GetDailyIncome(), AI_Shear.GetFur(), FortuneRollData.GetPrize(), MiniGame.GetSlotReward(), TaskHarvest.HarvestThing(), MakeEgg(), AI_Fish.Makefish(), MakeMilk(), AI_OpenGambleChest.MakeReward(), Map.MineObj(), Faction.OnAdvanceMonth(), Trait.OnBarter(), ConTransmuteMimic.OnBeforeStart(), QuestVernis.OnChangePhase(), TraitBrewery.OnChildDecay(), QuestCurry.OnComplete(), QuestLoytelFarm.OnComplete(), QuestNasu.OnComplete(), TraitParchmentBottle.OnCreate(), TaskChopWood.OnCreateProgress(), TaskHarvest.OnCreateProgress(), QuestDefense.OnDropReward(), QuestRandom.OnDropReward(), Zone_CursedManorDungeon.OnGenerateMap(), GrowSystemTree.OnMineObj(), SurvivalManager.OnMineWreck(), TraitGiftJure.OnUse(), InvOwnerDeliver.PayBill(), ActMoneyDump.Perform(), ActMoneySlap.Perform(), Chara.PickOrDrop(), TraitGacha.PlayGacha(), TraitBaseContainer.Prespawn(), TraitContainerCurrency.Prespawn(), FoodEffect.Proc(), ActEffect.Proc(), DramaOutcome.QuestDefense_1(), CoreDebug.QuickStart(), LayerCraft.RefreshProduct(), Chara.RestockInventory(), AI_Idle.Run(), AI_OpenGambleChest.Run(), AI_Steal.Run(), TaskCullLife.Run(), GameDate.ShipRandomPackages(), CoreDebug.Spawn(), SpawnLoot(), AI_PlayMusic.ThrowReward(), Recipe.TryGetFirstTimeBonus(), GrowSystem.TryPick(), Chara.TryPoisonPotion(), and TraitFoodEgg.Update().

◆ SetPaintData()

void Card.SetPaintData ( )
inline

Definition at line 7372 of file Card.cs.

7373 {
7374 EClass.ui.Hide(0f);
7376 {
7380 {
7381 EClass.ui.Show(0f);
7382 });
7383 });
7384 }
void WaitForEndOfFrame(Action action)
Definition: BaseCore.cs:61
byte[] GetPaintData()
Definition: Card.cs:7386
void ClearPaintSprite()
Definition: Card.cs:7404

References EClass.core, EClass.ui, and BaseCore.WaitForEndOfFrame().

◆ SetPlaceState()

void Card.SetPlaceState ( PlaceState  newState,
bool  byPlayer = false 
)
inline

Definition at line 3831 of file Card.cs.

3832 {
3833 if (this.placeState == newState)
3834 {
3835 return;
3836 }
3837 if (parent != EClass._zone)
3838 {
3839 Debug.Log("tried to change placestate of non-root card:" + this);
3840 return;
3841 }
3843 Area area = pos.area;
3844 if (placeState == PlaceState.installed)
3845 {
3846 area?.OnUninstallCard(this);
3847 if (!isRoofItem)
3848 {
3849 altitude = 0;
3850 freePos = false;
3851 float num2 = (fy = 0f);
3852 fx = num2;
3853 }
3854 trait.Uninstall();
3855 }
3856 if (placeState == PlaceState.installed || newState == PlaceState.installed)
3857 {
3858 ForeachPoint(delegate(Point p, bool main)
3859 {
3860 p.cell.RemoveCard(this);
3861 });
3862 this.placeState = newState;
3863 ForeachPoint(delegate(Point p, bool main)
3864 {
3865 p.cell.AddCard(this);
3866 });
3867 }
3868 else
3869 {
3870 this.placeState = newState;
3871 }
3872 if (trait is TraitFakeTile)
3873 {
3875 }
3876 if (newState == PlaceState.none)
3877 {
3878 this.placeState = PlaceState.roaming;
3879 if (props != null)
3880 {
3881 props.Remove(this);
3882 }
3883 }
3884 else
3885 {
3887 if (this.placeState == PlaceState.installed)
3888 {
3889 if (isThing)
3890 {
3891 if (trait.InstallBottomPriority != -1)
3892 {
3894 }
3895 else
3896 {
3898 }
3899 }
3900 area?.OnInstallCard(this);
3901 isRoofItem = false;
3902 trait.Install(byPlayer);
3903 }
3904 }
3906 {
3908 }
3909 if (trait.ShouldTryRefreshRoom && (placeState == PlaceState.installed || this.placeState == PlaceState.installed))
3910 {
3912 }
3913 trait.OnChangePlaceState(newState);
3915 {
3917 }
3918 }
Definition: Area.cs:4
virtual void OnInstallCard(Card t)
Definition: Area.cs:59
virtual void OnUninstallCard(Card t)
Definition: Area.cs:63
bool isRoofItem
Definition: Card.cs:581
void MoveThingToBottom(Thing t)
Definition: CellDetail.cs:45
void MoveThingToTop(Thing t)
Definition: CellDetail.cs:58
void RemoveCard(Card c)
Definition: Cell.cs:1602
void AddCard(Card c)
Definition: Cell.cs:1586
HomeResourceManager resources
void OnSetBlockOrDoor(int x, int z)
Definition: Map.cs:1045
CellDetail detail
Definition: Point.cs:71
void RefreshNeighborTiles()
Definition: Point.cs:1277
Area area
Definition: Point.cs:73
void OnCardAddedToZone(Card c)
Definition: PropsManager.cs:25
virtual bool ShouldRefreshTile
Definition: Trait.cs:77
virtual void OnChangePlaceState(PlaceState state)
Definition: Trait.cs:702
virtual bool ShouldTryRefreshRoom
Definition: Trait.cs:88
void Uninstall()
Definition: Trait.cs:1210
virtual int InstallBottomPriority
Definition: Trait.cs:90
void Install(bool byPlayer)
Definition: Trait.cs:1190

References _CreateRenderer(), EClass._map, EClass._zone, Cell.AddCard(), altitude, Point.area, EClass.Branch, Point.cell, Debug, Point.detail, ForeachPoint(), freePos, fx, fy, Trait.Install(), Trait.InstallBottomPriority, Zone.IsPCFaction, isRoofItem, isThing, CellDetail.MoveThingToBottom(), CellDetail.MoveThingToTop(), PropsManager.OnCardAddedToZone(), Trait.OnChangePlaceState(), Area.OnInstallCard(), Map.OnSetBlockOrDoor(), Area.OnUninstallCard(), parent, placeState, pos, props, Map.props, Point.RefreshNeighborTiles(), Props.Remove(), Cell.RemoveCard(), FactionBranch.resources, HomeResourceManager.SetDirty(), Trait.ShouldRefreshTile, Trait.ShouldTryRefreshRoom, trait, Trait.Uninstall(), Point.x, and Point.z.

Referenced by RecipeCard.Build(), Zone.ClaimZone(), ZonePreEnterDigStairs.Execute(), CoreDebug.GetOrCreateDebugContainer(), Install(), Map.OnCardRemovedFromZone(), AM_MoveInstalled.OnProcessTiles(), TaskMoveInstalled.OnProgressComplete(), InspectGroupThing.OnSetActions(), TraitCurrencyMedal.OnStepped(), TraitStairsLocked.OnUse(), ActRestrain.Perform(), AI_Steal.Run(), DramaOutcome.Tutorial1(), and CoreDebug.UpdateInput().

◆ SetPriceFix()

Thing Card.SetPriceFix ( int  a)
inline

Definition at line 7498 of file Card.cs.

7499 {
7500 c_priceFix = a;
7501 return Thing;
7502 }

Referenced by Trait.CreateStock(), Trait.OnBarter(), and TraitSpotBiome.Update().

◆ SetRandomDir()

void Card.SetRandomDir ( )
inline

Definition at line 6534 of file Card.cs.

6535 {
6536 SetDir(EClass.rnd(4));
6537 }

References EClass.rnd().

Referenced by AI_Idle.Run(), and Zone.TryGenerateShrine().

◆ SetRandomLightColors()

void Card.SetRandomLightColors ( )
inline

Definition at line 6843 of file Card.cs.

6844 {
6845 c_lightColor = (byte)(EClass.rnd(8) + 1) * 1024 + (byte)(EClass.rnd(8) + 1) * 32 + (byte)(EClass.rnd(8) + 1);
6846 }

References EClass.rnd().

◆ SetRandomTalk()

void Card.SetRandomTalk ( )
inline

Definition at line 7255 of file Card.cs.

7256 {
7258 if (!MOD.listTalk.list[0].ContainsKey(id))
7259 {
7260 c_idTalk = MOD.listTalk.GetRandomID("human");
7261 }
7262 }
string GetRandomID(string tag)
Definition: TalkDataList.cs:58

References TalkDataList.GetRandomID(), ExcelDataList.Initialize(), ExcelDataList.list, and MOD.listTalk.

Referenced by Biography.Generate().

◆ SetRandomTone()

void Card.SetRandomTone ( )
inline

Definition at line 7264 of file Card.cs.

7265 {
7267 List<Dictionary<string, string>> list = MOD.tones.list;
7268 if (list.Count != 0)
7269 {
7270 int mtp = EClass.core.config.test.extraToneMTP switch
7271 {
7272 4 => 10,
7273 3 => 5,
7274 2 => 2,
7275 1 => 1,
7276 0 => 0,
7277 _ => 0,
7278 };
7279 if (EClass.debug.enable)
7280 {
7281 mtp *= 100;
7282 }
7283 string text = list.RandomItem()["id"];
7284 text = list.RandomItemWeighted((Dictionary<string, string> a) => a["chance"].ToInt() * ((!a["tag"].Contains("meta")) ? 1 : mtp))["id"];
7285 c_idTone = MOD.tones.GetToneID(text, bio?.gender ?? 0);
7286 }
7287 }
string GetToneID(string id, int gender)
Definition: ToneDataList.cs:58

References EClass.debug, CoreDebug.enable, ToneDataList.GetToneID(), ExcelDataList.Initialize(), ExcelDataList.list, and MOD.tones.

Referenced by Biography.Generate().

◆ SetRenderParam()

virtual void Card.SetRenderParam ( RenderParam  p)
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 6296 of file Card.cs.

6297 {
6298 }

Referenced by CardRenderer.Draw(), and CharaRenderer.DrawHeld().

◆ SetReplica()

void Card.SetReplica ( bool  on)
inline

Definition at line 3153 of file Card.cs.

3154 {
3155 isReplica = true;
3156 ChangeMaterial("granite");
3157 }

References ChangeMaterial, and isReplica.

Referenced by Chara.RestockEquip().

◆ SetSale()

void Card.SetSale ( bool  sale)
inline

Definition at line 7509 of file Card.cs.

7510 {
7511 if (isSale != sale)
7512 {
7513 isSale = sale;
7514 if (isSale)
7515 {
7516 EClass._map.props.sales.Add(this);
7517 }
7518 else
7519 {
7520 EClass._map.props.sales.Remove(this);
7521 }
7522 }
7523 }

References EClass._map, Map.props, and PropsManager.sales.

Referenced by AI_Slaughter.Run().

◆ SetSortVal()

virtual void Card.SetSortVal ( UIList::SortMode  m,
CurrencyType  currency = CurrencyType::Money 
)
inlinevirtual

Reimplemented in Chara.

Definition at line 8105 of file Card.cs.

8106 {
8107 switch (m)
8108 {
8109 case UIList.SortMode.ByEquip:
8110 sortVal = ((c_equippedSlot == 0) ? (category.sortVal * 1000) : 0);
8111 break;
8112 case UIList.SortMode.ByValue:
8113 sortVal = -GetPrice(currency) * 1000;
8114 break;
8115 case UIList.SortMode.ByNumber:
8116 sortVal = -Num * 1000;
8117 break;
8118 case UIList.SortMode.ByCategory:
8119 sortVal = category.sortVal * 1000;
8120 break;
8121 case UIList.SortMode.ByWeight:
8123 break;
8124 case UIList.SortMode.ByWeightSingle:
8126 break;
8127 case UIList.SortMode.ByPrice:
8128 sortVal = -GetPrice(currency) * 1000;
8129 break;
8130 default:
8131 sortVal = sourceCard._index * 1000;
8132 break;
8133 }
8134 }
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:7603
int sortVal
Definition: Card.cs:104
int ChildrenAndSelfWeightSingle
Definition: Card.cs:2083
int ChildrenAndSelfWeight
Definition: Card.cs:2081
Definition: UIList.cs:9
SortMode
Definition: UIList.cs:27

References currency, and SourceCategory.Row.sortVal.

Referenced by CoreExtension.Sort().

◆ SetSource()

virtual void Card.SetSource ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 2929 of file Card.cs.

2930 {
2931 }

Referenced by _OnDeserialized(), and Create().

◆ SetTier()

void Card.SetTier ( int  a,
bool  setTraits = true 
)
inline

Definition at line 3953 of file Card.cs.

3954 {
3955 if (a < 0)
3956 {
3957 a = 0;
3958 }
3959 tier = a;
3960 if (setTraits)
3961 {
3962 int num = ((a == 1) ? 180 : ((a == 2) ? 400 : ((a >= 3) ? 600 : 0)));
3963 if (a > 0)
3964 {
3965 foreach (Element value in elements.dict.Values)
3966 {
3967 if (value.IsFoodTrait || value.IsTrait)
3968 {
3969 elements.SetTo(value.id, value.Value * num / 100);
3970 }
3971 }
3972 }
3973 elements.SetBase(2, a * 30);
3974 elements.SetBase(759, (a > 1) ? a : 0);
3975 }
3977 }
bool IsFoodTrait
Definition: ELEMENT.cs:369

References ElementContainer.dict, elements, Element.id, Element.IsFoodTrait, Element.IsTrait, ElementContainer.SetBase(), LayerInventory.SetDirty(), ElementContainer.SetTo(), tier, and Element.Value.

Referenced by FactionBranch.DailyOutcome(), and AI_Fish.Makefish().

◆ ShouldTrySetDirtyInventory()

bool Card.ShouldTrySetDirtyInventory ( )
inline

Definition at line 3463 of file Card.cs.

3464 {
3465 if (EClass.player.chara != null)
3466 {
3467 if (!IsPC && GetRootCard() != EClass.pc)
3468 {
3469 return EClass.ui.layers.Count > 0;
3470 }
3471 return true;
3472 }
3473 return false;
3474 }
Chara chara
Definition: Player.cs:1275

References Player.chara, GetRootCard(), IsPC, EClass.pc, and EClass.player.

Referenced by AddThing(), OnChildNumChange(), and RemoveThing().

◆ ShowEmo()

void Card.ShowEmo ( Emo  _emo = Emo::none,
float  duration = 0f,
bool  skipSame = true 
)
inline

◆ SpawnLoot()

void Card.SpawnLoot ( Card  origin)
inline

Definition at line 5238 of file Card.cs.

5239 {
5240 if (!isChara || IsPCFactionMinion || (isCopy && EClass.rnd(10) != 0))
5241 {
5242 return;
5243 }
5244 bool isUserZone = EClass._zone.IsUserZone;
5245 bool flag = EClass._zone is Zone_Music;
5246 List<Card> list = new List<Card>();
5247 if (!IsPCFaction && !isUserZone && sourceCard.idActor.IsEmpty())
5248 {
5249 int i2 = 500;
5250 if (this.rarity >= Rarity.Legendary)
5251 {
5252 i2 = ((!EClass.player.codex.DroppedCard(id)) ? 1 : 10);
5254 }
5256 {
5257 i2 = 10;
5258 }
5259 if (chance(i2))
5260 {
5261 Thing thing = ThingGen.Create("figure");
5262 thing.MakeFigureFrom(id);
5263 list.Add(thing);
5264 }
5265 if (chance(i2))
5266 {
5267 Thing thing2 = ThingGen.Create("figure3");
5268 thing2.MakeFigureFrom(id);
5269 list.Add(thing2);
5270 }
5271 }
5272 bool flag2 = Chara.race.corpse[1].ToInt() > EClass.rnd(1500) || (Chara.IsPowerful && !IsPCFaction) || EClass.debug.godFood;
5273 int num = 1;
5274 if (!IsMinion && Chara.IsAnimal && EClass.rnd(EClass._zone.IsPCFaction ? 3 : 5) == 0)
5275 {
5276 flag2 = true;
5277 }
5279 {
5280 flag2 = true;
5281 num = EClass.rndHalf(4 + 10 * (50 + Mathf.Max(0, (int)MathF.Sqrt(EClass.pc.Evalue(290) * 10))) / 100);
5282 }
5283 else if (origin != null && origin.HasElement(290) && !IsMinion)
5284 {
5285 if (!flag2 && Chara.race.corpse[1].ToInt() > EClass.rnd(150000 / (100 + (int)Mathf.Sqrt(origin.Evalue(290)) * 5)))
5286 {
5287 flag2 = true;
5288 origin.elements.ModExp(290, 150f);
5289 }
5290 else
5291 {
5292 origin.elements.ModExp(290, 25f);
5293 }
5294 }
5295 if (id == "littleOne" && IsPCFactionOrMinion)
5296 {
5297 flag2 = false;
5298 }
5299 if (Chara.race.id == "spider" && EClass._zone.HasField(10000))
5300 {
5301 flag2 = false;
5302 }
5303 if (flag2 && !isUserZone)
5304 {
5305 string text = Chara.race.corpse[0];
5306 bool num2 = text == "_meat";
5307 int num3 = 10;
5309 {
5310 num3 += (int)Mathf.Min(Mathf.Sqrt(EClass.pc.Evalue(290)), 20f);
5311 }
5312 if (EClass.rnd((Act.CurrentAct is ActMeleeBladeStorm || (origin != null && (origin.HasElement(1556) || origin.HasCondition<ConTransmuteCat>()))) ? 2 : 100) == 0)
5313 {
5314 text = "dattamono";
5315 }
5316 if (num2 && num3 > EClass.rnd(100))
5317 {
5318 text = "meat_marble";
5319 }
5320 Thing thing3 = ThingGen.Create(text).SetNum(num);
5321 if (thing3.source._origin == "meat")
5322 {
5323 thing3.MakeFoodFrom(this);
5324 }
5325 else
5326 {
5328 }
5329 list.Add(thing3);
5330 }
5331 if (!IsPCFaction && (!isUserZone || !EClass.game.principal.disableUsermapBenefit) && chance(200))
5332 {
5333 list.Add(Chara.MakeGene());
5334 }
5335 if (!IsPCFaction && !isUserZone)
5336 {
5337 foreach (string item2 in sourceCard.loot.Concat(Chara.race.loot).ToList())
5338 {
5339 string[] array = item2.Split('/');
5340 int num4 = array[1].ToInt();
5341 if (num4 >= 1000 || num4 > EClass.rnd(1000) || EClass.debug.godMode)
5342 {
5343 CardRow cardRow = EClass.sources.cards.map[array[0]];
5344 if (cardRow != null && cardRow.Category.slot != 0 && cardRow.quality == 0 && EClass.pc.Evalue(1660) * 25 > EClass.rnd(100))
5345 {
5346 CardBlueprint.SetRarity((EClass.rnd(20) == 0) ? Rarity.Mythical : Rarity.Legendary);
5347 }
5348 list.Add(ThingGen.Create(array[0], -1, LV).SetNum((num4 < 1000) ? 1 : (num4 / 1000 + ((EClass.rnd(1000) < num4 % 1000) ? 1 : 0))));
5349 }
5350 }
5351 if (Chara.IsMachine)
5352 {
5353 bool flag3 = Chara.HasElement(1248);
5354 if (chance(200))
5355 {
5356 list.Add(ThingGen.Create("memory_chip"));
5357 }
5358 if (chance(20))
5359 {
5360 list.Add(ThingGen.Create(flag3 ? "scrap" : "microchip"));
5361 }
5362 if (chance(15))
5363 {
5364 list.Add(ThingGen.Create(flag3 ? "bolt" : "battery"));
5365 }
5366 }
5367 else
5368 {
5369 if (Chara.IsAnimal)
5370 {
5371 if (chance(15))
5372 {
5373 list.Add(ThingGen.Create("fang"));
5374 }
5375 if (chance(10))
5376 {
5377 list.Add(ThingGen.Create("skin"));
5378 }
5379 }
5380 if (chance(20))
5381 {
5382 list.Add(ThingGen.Create("offal"));
5383 }
5384 if (chance(20))
5385 {
5386 list.Add(ThingGen.Create("heart"));
5387 }
5388 }
5389 if (!isBackerContent && !flag)
5390 {
5391 switch (id)
5392 {
5393 case "pumpkin":
5394 if (chance(3))
5395 {
5396 list.Add(ThingGen.CreateFromCategory((EClass.rnd(2) == 0) ? "meal_cookie" : "meal_cake", 5 + EClass.rnd(EClass.rnd(50) + 1)));
5397 }
5398 break;
5399 case "isca":
5400 list.Add(ThingGen.Create("blood_angel"));
5401 break;
5402 case "golem_wood":
5403 if (chance(30))
5404 {
5405 list.Add(ThingGen.Create("crystal_earth"));
5406 }
5407 break;
5408 case "golem_fish":
5409 case "golem_stone":
5410 if (chance(30))
5411 {
5412 list.Add(ThingGen.Create("crystal_sun"));
5413 }
5414 break;
5415 case "golem_steel":
5416 if (chance(30))
5417 {
5418 list.Add(ThingGen.Create("crystal_mana"));
5419 }
5420 break;
5421 case "golem_gold":
5422 list.Add(ThingGen.Create("money2"));
5423 break;
5424 }
5425 int num5 = ((EClass._zone.Boss == this) ? 2 : ((this.rarity >= Rarity.Legendary) ? 1 : 0));
5426 if (EClass._zone is Zone_Void)
5427 {
5428 num5++;
5429 }
5430 if (EClass.rnd(5) == 0)
5431 {
5432 num5++;
5433 }
5434 switch (id)
5435 {
5436 case "big_daddy":
5437 case "big_daddy2":
5438 case "santa":
5439 num5 += 2;
5440 break;
5441 }
5442 if (num5 > 0 && EClass.game.principal.dropRate)
5443 {
5444 num5 = Mathf.Max(1, num5 * (50 + EClass.game.principal.dropRateMtp * 50) / 100);
5445 }
5446 List<Thing> list2 = new List<Thing>();
5447 foreach (Thing thing6 in things)
5448 {
5449 if (thing6.HasTag(CTAG.gift) || thing6.trait is TraitChestMerchant)
5450 {
5451 continue;
5452 }
5453 if (thing6.isGifted || thing6.rarity >= Rarity.Artifact || thing6.trait.DropChance > EClass.rndf(1f))
5454 {
5455 list.Add(thing6);
5456 }
5457 else if (thing6.IsEquipmentOrRanged)
5458 {
5459 if (thing6.rarity >= Rarity.Legendary)
5460 {
5461 list2.Add(thing6);
5462 }
5463 else if (EClass.rnd(100) == 0)
5464 {
5465 list.Add(thing6);
5466 }
5467 }
5468 else if (EClass.rnd(5) == 0)
5469 {
5470 list.Add(thing6);
5471 }
5472 }
5473 if (num5 > 0 && list2.Count > 0)
5474 {
5475 list2.Shuffle();
5476 for (int j = 0; j < list2.Count && j < num5; j++)
5477 {
5478 list.Add(list2[j]);
5479 num5--;
5480 }
5481 }
5482 if (this.rarity >= Rarity.Legendary && !IsUnique && c_bossType != BossType.Evolved)
5483 {
5484 int num6 = 0;
5485 foreach (Card item3 in list)
5486 {
5487 if (item3.rarity >= Rarity.Legendary || item3.IsContainer)
5488 {
5489 num6++;
5490 }
5491 }
5492 if (num6 == 0)
5493 {
5494 int num7 = ((!(EClass._zone is Zone_Void)) ? 1 : 2);
5495 if (num5 < num7)
5496 {
5497 num5 = num7;
5498 }
5499 for (int k = 0; k < num5; k++)
5500 {
5501 Rand.SetSeed(uid + k);
5502 if (EClass.rnd((EClass._zone.events.GetEvent<ZoneEventDefenseGame>() != null) ? 3 : 2) == 0)
5503 {
5504 Rarity rarity = ((EClass.rnd(20) == 0) ? Rarity.Mythical : Rarity.Legendary);
5506 {
5507 rarity = rarity
5508 });
5510 list.Add(item);
5511 }
5512 else if (EClass.rnd(3) == 0)
5513 {
5514 list.Add(ThingGen.Create("medal"));
5515 }
5516 Rand.SetSeed();
5517 }
5518 }
5519 }
5521 {
5522 trait.OnBarter();
5523 Thing thing4 = things.Find<TraitChestMerchant>();
5524 if (thing4 != null)
5525 {
5526 Rand.SetSeed(uid);
5527 int num8 = 1 + EClass.rnd(3);
5528 List<Thing> list3 = thing4.things.ToList();
5530 {
5531 list3.Shuffle();
5532 }
5533 else
5534 {
5535 list3.Sort((Thing a, Thing b) => b.GetValue() - a.GetValue());
5536 }
5537 Rand.SetSeed();
5538 while (num8 > 0 && list3.Count != 0)
5539 {
5540 Thing thing5 = list3.First();
5541 list3.Remove(thing5);
5542 if (!thing5.IsUnique)
5543 {
5544 list.Add(thing5);
5545 num8--;
5546 }
5547 }
5548 }
5549 }
5550 }
5551 }
5552 foreach (Thing thing7 in things)
5553 {
5554 if (thing7.GetInt(116) != 0)
5555 {
5556 list.Add(thing7);
5557 }
5558 }
5559 Point nearestPoint = GetRootCard().pos;
5560 if (nearestPoint.IsBlocked)
5561 {
5562 nearestPoint = nearestPoint.GetNearestPoint();
5563 }
5564 foreach (Card item4 in list)
5565 {
5566 if (item4.parent == EClass._zone)
5567 {
5568 continue;
5569 }
5570 item4.isHidden = false;
5571 item4.isNPCProperty = false;
5572 item4.SetInt(116);
5573 EClass._zone.AddCard(item4, nearestPoint);
5574 if (!item4.IsEquipment || item4.rarity < Rarity.Superior || item4.IsCursed)
5575 {
5576 continue;
5577 }
5578 foreach (Chara chara in EClass._map.charas)
5579 {
5580 if (chara.HasElement(1412) && chara.Dist(nearestPoint) < 3)
5581 {
5582 item4.Thing.TryLickEnchant(chara);
5583 break;
5584 }
5585 }
5586 }
5587 bool chance(int i)
5588 {
5589 i = i * 100 / (100 + EClass.player.codex.GetOrCreate(id).BonusDropLv * 10);
5590 if (i < 1)
5591 {
5592 i = 1;
5593 }
5594 if (IsMinion)
5595 {
5596 i *= 5;
5597 }
5598 if (EClass.rnd(i) == 0)
5599 {
5600 return true;
5601 }
5602 return false;
5603 }
5604 }
static bool slaughtering
Definition: AI_Slaughter.cs:6
Definition: ACT.cs:62
static Act CurrentAct
Definition: ACT.cs:89
static void SetRarity(Rarity q=Rarity.Normal)
static void Set(CardBlueprint _bp=null)
string[] idActor
Definition: CardRow.cs:35
string[] loot
Definition: CardRow.cs:29
Thing Split(int a)
Definition: Card.cs:3568
void MakeFigureFrom(string id)
Definition: Card.cs:5866
bool IsCursed
Definition: Card.cs:2297
virtual bool IsMinion
Definition: Card.cs:2193
bool IsEquipment
Definition: Card.cs:2215
bool isGifted
Definition: Card.cs:785
virtual bool IsPCFactionMinion
Definition: Card.cs:2197
Thing Add(string id, int num=1, int lv=1)
Definition: Card.cs:3159
bool isBackerContent
Definition: Card.cs:940
bool IsAnimal
Definition: Chara.cs:881
Thing MakeGene(DNA.Type? type=null)
Definition: Chara.cs:8393
bool IsMachine
Definition: Chara.cs:917
bool DroppedCard(string id)
Definition: CodexManager.cs:46
void MarkCardDrop(string id)
Definition: CodexManager.cs:41
bool godFood
Definition: CoreDebug.cs:198
static float rndf(float a)
Definition: EClass.cs:102
bool disableUsermapBenefit
SourceCategory.Row Category
Definition: RenderRow.cs:119
static Thing CreateFromFilter(string id, int lv=-1)
Definition: ThingGen.cs:63
static Thing CreateFromCategory(string idCat, int lv=-1)
Definition: ThingGen.cs:75
SourceThing.Row source
Definition: Thing.cs:11
void TryLickEnchant(Chara c, bool msg=true, Chara tg=null, BodySlot slot=null)
Definition: Thing.cs:2035
virtual float DropChance
Definition: Trait.cs:371
virtual void OnBarter(bool reroll=false)
Definition: Trait.cs:1607
ZoneEventManager events
Definition: Zone.cs:40
bool HasField(int idEle)
Definition: Zone.cs:2965
virtual bool IsFestival
Definition: Zone.cs:211

References EClass._map, EClass._zone, Add(), Zone.AddCard(), CodexCreature.BonusDropLv, SourceManager.cards, RenderRow.Category, ChangeMaterial(), Map.charas, Player.codex, ThingGen.Create(), ThingGen.CreateFromCategory(), ThingGen.CreateFromFilter(), Act.CurrentAct, EClass.debug, GamePrincipal.disableUsermapBenefit, Dist(), Trait.DropChance, CodexManager.DroppedCard(), GamePrincipal.dropRate, GamePrincipal.dropRateMtp, elements, Evalue(), Zone.events, EClass.game, BaseCard.GetInt(), Point.GetNearestPoint(), CodexManager.GetOrCreate(), GetValue(), CoreDebug.godFood, CoreDebug.godMode, HasElement(), Zone.HasField(), HasTag(), CardRow.idActor, Chara.IsAnimal, Point.IsBlocked, IsContainer, IsCursed, IsEquipment, IsEquipmentOrRanged, Zone.IsFestival, isGifted, Chara.IsMachine, Zone.IsPCFaction, IsUnique, Zone.IsUserZone, item, CardRow.loot, MakeFigureFrom(), MakeFoodFrom(), Chara.MakeGene(), SourceCard.map, CodexManager.MarkCardDrop(), material, ElementContainer.ModExp(), Trait.OnBarter(), parent, EClass.pc, EClass.player, Game.principal, CardRow.quality, Chara.race, rarity, EClass.rnd(), EClass.rndf(), EClass.rndHalf(), CardBlueprint.Set(), BaseCard.SetInt(), SetNum(), CardBlueprint.SetRarity(), Rand.SetSeed(), AI_Slaughter.slaughtering, Thing.source, EClass.sources, Split(), Thing, things, trait, and Thing.TryLickEnchant().

◆ Split()

◆ StripTalkSpeiclaCharacters()

string Card.StripTalkSpeiclaCharacters ( string  text)
inline

Definition at line 7098 of file Card.cs.

7099 {
7100 switch (text[0])
7101 {
7102 case '@':
7103 {
7104 if (text.Length > 1 && int.TryParse(text[1].ToString() ?? "", out var _))
7105 {
7106 return text.Substring(2);
7107 }
7108 break;
7109 }
7110 case '^':
7111 case '|':
7112 return text.Substring(1);
7113 }
7114 return text;
7115 }

◆ Talk()

void Card.Talk ( string  idTopic,
string  ref1 = null,
string  ref2 = null,
bool  forceSync = false 
)
inline

Definition at line 7032 of file Card.cs.

7033 {
7034 if (IsPC && !EClass.player.forceTalk && idTopic != "goodBoy" && idTopic != "insane")
7035 {
7036 EClass.player.forceTalk = false;
7037 Msg.SetColor();
7038 return;
7039 }
7040 EClass.player.forceTalk = false;
7041 if (!isSynced && !forceSync)
7042 {
7043 Msg.SetColor();
7044 return;
7045 }
7046 GameLang.refDrama1 = ref1;
7047 GameLang.refDrama2 = ref2;
7048 string text = GetTalkText(idTopic, stripPun: true);
7049 ConTransmuteHuman condition = GetCondition<ConTransmuteHuman>();
7050 if ((HasElement(1232) || (condition != null && condition.IsBaby)) && idTopic != "baby")
7051 {
7052 BackerContent.GakiConvert(ref text, "babu");
7053 }
7054 else
7055 {
7056 switch ((condition != null) ? condition.chara.id : id)
7057 {
7058 case "adv_gaki":
7059 BackerContent.GakiConvert(ref text);
7060 break;
7061 case "corgon":
7062 BackerContent.GakiConvert(ref text, "mokyu");
7063 break;
7064 case "mimu":
7065 BackerContent.GakiConvert(ref text, "mimu");
7066 break;
7067 }
7068 }
7069 TalkRaw(text, ref1, ref2, forceSync);
7070 }
static void GakiConvert(ref string text, string idLang="zako")
string GetTalkText(string idTopic, bool stripPun=false, bool useDefault=true)
Definition: Card.cs:7177
void TalkRaw(string text, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:7072
bool forceTalk
Definition: Player.cs:1221

References ConTransmuteHuman.chara, Player.forceTalk, BackerContent.GakiConvert(), id, ConTransmuteHuman.IsBaby, EClass.player, and Msg.SetColor().

Referenced by Chara._Move(), AI_Shopping.Buy(), Point.CallGuard(), AI_Torture.CreateProgress(), ZonePreEnterEncounter.Execute(), AI_Fuck.Finish(), AI_Massage.Finish(), Chara.GiveGift(), Chara.GiveLovePotion(), TraitGamble.IdleUse(), Trait.OfferProcess(), InvOwner.OnClick(), QuestEscort.OnEnterZone(), Affinity.OnGift(), TraitBaseSpellbook.OnRead(), TraitBookExp.OnRead(), ConBoost.OnStart(), QuestEscort.OnStart(), TraitStairsLocked.OnUse(), ActMoneyDump.Perform(), ActWater.Perform(), ActEffect.Poison(), FoodEffect.Proc(), ActEffect.Proc(), InvOwner.Transaction.Process(), Chara.RequestProtection(), ActRide.Ride(), AI_ArmPillow.Run(), AI_Churyu.Run(), AI_Clean.Run(), AI_Eat.Run(), AI_Fuck.Run(), AI_GotoHearth.Run(), AI_Haul.Run(), AI_Idle.Run(), AI_Massage.Run(), AI_PlayMusic.Run(), AI_Shear.Run(), AI_Trolley.Run(), AIWork.Run(), GoalCombat.Run(), Chara.Sniff(), ActThrow.Throw(), ConChampagne.Tick(), ConEntangle.Tick(), ConInsane.Tick(), ConSleep.Tick(), Chara.TryPush(), and ActRide.Unride().

◆ TalkRaw()

void Card.TalkRaw ( string  text,
string  ref1 = null,
string  ref2 = null,
bool  forceSync = false 
)
inline

Definition at line 7072 of file Card.cs.

7073 {
7074 if ((!isSynced && !forceSync) || text.IsEmpty())
7075 {
7076 Msg.SetColor();
7077 return;
7078 }
7079 if (ref1 != null)
7080 {
7081 text = text.Replace("#1", ref1);
7082 }
7083 if (ref2 != null)
7084 {
7085 text = text.Replace("#2", ref2);
7086 }
7088 text = StripTalkSpeiclaCharacters(text);
7089 bool flag = text.StartsWith("*");
7090 Msg.SetColor(text.StartsWith("(") ? Msg.colors.Thinking : (flag ? Msg.colors.Ono : Msg.colors.Talk));
7091 if (!flag)
7092 {
7093 text = text.Bracket();
7094 }
7095 Msg.Say(text.Replace("&", ""));
7096 }
string ApplyNewLine(string text)
Definition: Card.cs:7117
string StripTalkSpeiclaCharacters(string text)
Definition: Card.cs:7098
Color Thinking
Definition: MsgColors.cs:17
Color Talk
Definition: MsgColors.cs:7
Color Ono
Definition: MsgColors.cs:13
static MsgColors colors
Definition: Msg.cs:20

References Msg.colors, MsgColors.Ono, Msg.Say(), Msg.SetColor(), MsgColors.Talk, and MsgColors.Thinking.

Referenced by DramaOutcome.event_az2(), ZoneEventPhone.OnTickRound(), TraitDaggerGrave.OnUse(), and TraitASMR.Update().

◆ Teleport()

void Card.Teleport ( Point  point,
bool  silent = false,
bool  force = false 
)
inline

Definition at line 6032 of file Card.cs.

6033 {
6034 if (EClass._zone.IsRegion)
6035 {
6037 return;
6038 }
6039 PlayEffect("teleport");
6040 if (!force && (!trait.CanBeTeleported || elements.Has(400) || (isChara && Chara.HasCondition<ConGravity>())))
6041 {
6042 Say("antiTeleport", this);
6043 PlaySound("gravity");
6044 return;
6045 }
6046 if (!silent)
6047 {
6048 PlaySound("teleport");
6049 Say("teleported", this);
6050 }
6051 _Move(point);
6052 renderer.SetFirst(first: true, pos.PositionCenter());
6053 if (isChara)
6054 {
6055 Chara.ai.Cancel();
6056 foreach (Chara chara in EClass._map.charas)
6057 {
6058 if (chara.enemy == this)
6059 {
6060 chara.SetEnemy();
6061 }
6062 }
6063 Chara.RemoveCondition<ConEntangle>();
6064 }
6065 if (IsPC)
6066 {
6069 EClass.player.haltMove = true;
6070 }
6071 PlayEffect("teleport", useRenderPos: false);
6072 }
virtual MoveResult _Move(Point p, MoveType type=MoveType.Walk)
Definition: Card.cs:5996
void SayNothingHappans()
Definition: Card.cs:7145
Chara enemy
Definition: Chara.cs:86
Chara SetEnemy(Chara c=null)
Definition: Chara.cs:6460
bool Has(int ele)
virtual bool CanBeTeleported
Definition: Trait.cs:179

References EClass._map, EClass._zone, Chara.ai, Trait.CanBeTeleported, AIAct.Cancel(), Map.charas, Chara.enemy, BaseGameScreen.FocusPC(), ElementContainer.Has(), Chara.HasCondition(), Spatial.IsRegion, Point.PositionCenter(), BaseGameScreen.RefreshPosition(), EClass.screen, Chara.SetEnemy(), and CardRenderer.SetFirst().

Referenced by CoreDebug.COM_Teleport(), TraitGeneMachine.OnUse(), ActSummonGuard.Perform(), ActEffect.Proc(), Chara.RequestProtection(), AI_Idle.Run(), AI_PassTime.Run(), GoalCombat.Run(), ConSleep.SuccubusVisit(), and TraitTeleporter.TryTeleport().

◆ Tick()

virtual void Card.Tick ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 7479 of file Card.cs.

7480 {
7481 }

◆ ToString()

override string Card.ToString ( )
inline

Definition at line 2529 of file Card.cs.

2530 {
2531 return Name + "/" + pos?.ToString() + "/" + parent;
2532 }
override string ToString()
Definition: Point.cs:524

References Name, parent, pos, and Point.ToString().

Referenced by AddThing(), ButtonGrid.ToString(), and HotItemAct.TrySetAct().

◆ TryGetFoodName()

string Card.TryGetFoodName ( Card  c)
inline

Definition at line 5837 of file Card.cs.

5838 {
5839 if (c.c_idRefCard.IsEmpty())
5840 {
5841 return c.c_altName;
5842 }
5843 if (!(c.refCard is SourceChara.Row { isChara: not false } row))
5844 {
5845 return c.c_altName;
5846 }
5847 if (!row.aka.IsEmpty())
5848 {
5849 if (row.name == "*r" && row.aka == "*r")
5850 {
5851 return "corpseGeneral".lang();
5852 }
5853 if (row.name == "*r")
5854 {
5855 return row.GetText("aka");
5856 }
5857 }
5858 return row.GetName();
5859 }
CardRow refCard
Definition: Card.cs:2007

References c_altName, c_idRefCard, and refCard.

◆ TryMakeRandomItem()

Thing Card.TryMakeRandomItem ( int  lv = -1,
TryMakeRandomItemSource  itemSource = TryMakeRandomItemSource::Default,
Chara  crafter = null 
)
inline

Definition at line 5606 of file Card.cs.

5607 {
5608 if (lv == -1)
5609 {
5610 lv = EClass._zone.DangerLv;
5611 }
5612 switch (id)
5613 {
5614 case "gene":
5616 break;
5617 case "log":
5618 ChangeMaterial(EClass.sources.materials.rows.Where((SourceMaterial.Row m) => m.category == "wood").RandomItem());
5619 break;
5620 case "ore_gem":
5622 break;
5623 case "ore":
5625 break;
5626 case "milk":
5627 case "_egg":
5628 case "egg_fertilized":
5629 case "_meat":
5630 case "meat_marble":
5631 case "dattamono":
5632 {
5633 string text = "c_wilds";
5634 if (id == "_meat" || id == "meat_marble")
5635 {
5636 text = "c_animal";
5637 }
5638 if (itemSource == TryMakeRandomItemSource.Cooking && crafter != null && crafter.HasElement(1205))
5639 {
5640 text = "c_human";
5641 }
5642 for (int i = 0; i < 20; i++)
5643 {
5644 CardRow cardRow = SpawnList.Get(text).Select(lv + i);
5645 if (cardRow.model.Chara.race.corpse[0] != "_meat" && id != "milk" && id != "_egg" && id != "egg_fertilized")
5646 {
5647 continue;
5648 }
5649 if (itemSource == TryMakeRandomItemSource.Cooking)
5650 {
5651 if (cardRow.model.HasElement(701))
5652 {
5653 continue;
5654 }
5655 if (crafter != null && crafter.id == "big_sister")
5656 {
5657 cardRow = crafter.source;
5658 }
5659 }
5660 if (id == "milk")
5661 {
5662 if (c_idRefCard.IsEmpty())
5663 {
5664 MakeRefFrom(cardRow.model);
5665 }
5666 }
5667 else
5668 {
5669 MakeFoodFrom(cardRow.model);
5670 }
5671 return this as Thing;
5672 }
5673 MakeFoodFrom(EClass.sources.charas.map.Values.Where((SourceChara.Row r) => r.chance > 0 && r.quality == 0).RandomItem().model);
5674 break;
5675 }
5676 }
5677 return this as Thing;
5678 }
TryMakeRandomItemSource
Card model
Definition: CardRow.cs:60
Definition: DNA.cs:8
static Thing CopyDNA(Thing from, Thing to)
Definition: DNA.cs:142
static Thing GenerateRandomGene(int lv=-1, int seed=-1)
Definition: DNA.cs:150
static SourceMaterial.Row GetRandomMaterialFromCategory(int lv, string cat, SourceMaterial.Row fallback)
Definition: MATERIAL.cs:93
static SpawnList Get(string id, string parent=null, CardFilter filter=null)
Definition: SpawnList.cs:18
CardRow Select(int lv=-1, int levelRange=-1)
Definition: SpawnList.cs:139

References EClass._zone, ChangeMaterial, Chara, SourceManager.charas, DNA.CopyDNA(), Zone.DangerLv, DNA.GenerateRandomGene(), SpawnList.Get(), MATERIAL.GetRandomMaterialFromCategory(), HasElement(), material, SourceManager.materials, CardRow.model, Chara.race, SpawnList.Select(), and EClass.sources.

Referenced by FactionBranch.DailyOutcome(), CraftUtil.MakeDish(), Map.MineObj(), Trait.OnBarter(), SurvivalManager.OnMineWreck(), and CoreDebug.UpdateInput().

◆ TryMove()

virtual MoveResult Card.TryMove ( Point  newPoint,
bool  allowDestroyPath = true 
)
inlinevirtual

Reimplemented in Chara.

Definition at line 6141 of file Card.cs.

6142 {
6143 return _Move(newPoint);
6144 }

◆ TryMoveFrom()

MoveResult Card.TryMoveFrom ( Point  p)
inline

Definition at line 6083 of file Card.cs.

6084 {
6086 {
6087 return MoveResult.Fail;
6088 }
6089 Point point = p.Copy();
6090 int num = p.x - pos.x;
6091 int num2 = p.z - pos.z;
6092 if (num > 1)
6093 {
6094 num = 1;
6095 }
6096 else if (num < -1)
6097 {
6098 num = -1;
6099 }
6100 if (num2 > 1)
6101 {
6102 num2 = 1;
6103 }
6104 else if (num2 < -1)
6105 {
6106 num2 = -1;
6107 }
6108 if (num == 0 && num2 == 0)
6109 {
6110 num = EClass.rnd(3) - 1;
6111 num2 = EClass.rnd(3) - 1;
6112 }
6113 point.Set(pos);
6114 point.x -= num;
6115 point.z -= num2;
6116 if (point.IsValid && !point.HasChara && TryMove(point, allowDestroyPath: false) == MoveResult.Success)
6117 {
6118 return MoveResult.Success;
6119 }
6120 if (trait is TraitSnitch)
6121 {
6122 for (int i = -1; i < 2; i++)
6123 {
6124 for (int j = -1; j < 2; j++)
6125 {
6126 if (EClass.rnd(2) != 0)
6127 {
6128 point.x = pos.x + j;
6129 point.z = pos.z + i;
6130 if (!point.Equals(lastPos) && point.IsValid && !point.HasChara && TryMove(point, allowDestroyPath: false) == MoveResult.Success)
6131 {
6132 return MoveResult.Success;
6133 }
6134 }
6135 }
6136 }
6137 }
6138 return MoveResult.Fail;
6139 }
Point lastPos
Definition: Card.cs:62
bool TooHeavyToMove()
Definition: Player.cs:2653
bool Equals(int _x, int _z)
Definition: Point.cs:961

References Point.Copy(), Point.Equals(), Point.HasChara, Point.IsValid, EClass.player, EClass.rnd(), Point.Set(), Player.TooHeavyToMove(), Point.x, and Point.z.

Referenced by ActMelee.Attack(), GoalCombat.Run(), ConFear.Tick(), and GoalCombat.TryMove().

◆ TryPay()

bool Card.TryPay ( int  a,
string  id = "money" 
)
inline

Definition at line 4009 of file Card.cs.

4010 {
4011 if (GetCurrency(id) < a)
4012 {
4013 if (IsPC)
4014 {
4015 SE.Beep();
4016 Msg.Say((id == "ration") ? "notEnoughFood" : "notEnoughMoney");
4017 }
4018 return false;
4019 }
4020 if (IsPC && !(id == "ration"))
4021 {
4022 SE.Pay();
4023 }
4024 ModCurrency(-a, id);
4025 return true;
4026 }
int GetCurrency(string id="money")
Definition: Card.cs:4059

References GetCurrency(), IsPC, ModCurrency(), and Msg.Say().

Referenced by ListPeopleRevive.OnClick(), InvOwnerDeliver.PayBill(), and LayerTravel.Refresh().

◆ TryReserve()

bool Card.TryReserve ( AIAct  act)
inline

Definition at line 2543 of file Card.cs.

2544 {
2545 if (CanReserve(act))
2546 {
2547 reservedAct = act;
2548 return true;
2549 }
2550 return false;
2551 }
bool CanReserve(AIAct act)
Definition: Card.cs:2534

References CanReserve(), and reservedAct.

Referenced by AI_Cook.Run(), and TaskMoveInstalled.Run().

◆ TryStack()

void Card.TryStack ( Thing  t)
inline

Definition at line 7310 of file Card.cs.

7311 {
7312 if (t == this)
7313 {
7314 return;
7315 }
7317 if (dest.stack != null)
7318 {
7319 if (IsPC)
7320 {
7321 Say("stack_thing", t, dest.stack);
7322 }
7323 t.TryStackTo(dest.stack);
7324 }
7325 }
bool TryStackTo(Thing to)
Definition: Card.cs:3481
DestData GetDest(Thing t, bool tryStack=true)

References ThingContainer.GetDest(), ThingContainer.DestData.stack, and TryStackTo().

Referenced by Chara.PickHeld(), and ActEffect.Proc().

◆ TryStackTo()

bool Card.TryStackTo ( Thing  to)
inline

Definition at line 3481 of file Card.cs.

3482 {
3483 if (isDestroyed || to.isDestroyed || !CanStackTo(to))
3484 {
3485 return false;
3486 }
3487 to.decay = (to.decay * to.Num + decay * Num) / (to.Num + Num);
3488 to.ModNum(Num);
3489 if (c_isImportant)
3490 {
3491 to.c_isImportant = true;
3492 }
3494 {
3495 to.isNew = true;
3496 }
3497 Destroy();
3498 return true;
3499 }
virtual bool CanStackTo(Thing to)
Definition: Card.cs:3476
new GameConfig game
Definition: CoreConfig.cs:613

References c_isImportant, CanStackTo(), Core.config, EClass.core, decay, Destroy(), CoreConfig.game, GetRootCard(), isDestroyed, CoreConfig.GameConfig.markStack, ModNum(), Num, and EClass.pc.

Referenced by RecipeCard.Craft(), Chara.Pick(), UIInventory.Sort(), Zone.TryAddThing(), TryStack(), and ThingContainer.TryStack().

◆ TryUnrestrain()

void Card.TryUnrestrain ( bool  force = false,
Chara  c = null 
)
inline

Definition at line 7431 of file Card.cs.

7432 {
7433 if (!(GetRestrainer() == null || force))
7434 {
7435 return;
7436 }
7437 isRestrained = false;
7438 Say("unrestrained", this);
7439 if (this != c)
7440 {
7441 Talk("thanks");
7442 }
7444 renderer.SetFirst(first: true);
7445 if (c == null)
7446 {
7447 return;
7448 }
7449 if (c_rescueState == RescueState.WaitingForRescue)
7450 {
7451 c_rescueState = RescueState.Rescued;
7452 if (c.IsPC)
7453 {
7455 }
7456 }
7458 {
7459 return;
7460 }
7461 foreach (Chara item in c.pos.ListCharasInRadius(c, 5, (Chara _c) => _c.id == "fanatic" && _c.faith != Chara.faith))
7462 {
7463 c.DoHostileAction(item, immediate: true);
7464 }
7465 }
RescueState
Definition: RescueState.cs:2
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:7032
TraitShackle GetRestrainer()
Definition: Card.cs:7467
RescueState c_rescueState
Definition: Card.cs:1237
List< Chara > ListCharasInRadius(Chara cc, int dist, Func< Chara, bool > func, bool onlyVisible=true)
Definition: Point.cs:1221

References EClass._zone, Chara.faith, Point.GetNearestPoint(), id, Zone.IsPCFaction, item, Player.ModKarma(), EClass.player, and CardRenderer.SetFirst().

Referenced by ActPlan._Update().

◆ WriteNote()

virtual void Card.WriteNote ( UINote  n,
Action< UINote onWriteNote = null,
IInspect::NoteMode  mode = IInspect::NoteMode::Default,
Recipe  recipe = null 
)
inlinevirtual

Implements IInspect.

Reimplemented in Chara, and Thing.

Definition at line 8206 of file Card.cs.

8207 {
8208 }

Referenced by GridItemCard.SetButton(), ButtonGrid.SetCard(), and ButtonGrid.SetCraftRecipe().

Member Data Documentation

◆ _bits1

◆ _bits2

◆ _category

SourceCategory.Row Card._category
private

Definition at line 92 of file Card.cs.

◆ _childrenWeight

int Card._childrenWeight
private

Definition at line 90 of file Card.cs.

◆ _colorInt

int Card._colorInt

Definition at line 70 of file Card.cs.

Referenced by ApplyMaterial(), Thing.ApplyMaterial(), and Chara.SetMainElement().

◆ _ints

int [] Card._ints = new int[30]

Definition at line 33 of file Card.cs.

Referenced by _OnDeserialized(), and _OnSerializing().

◆ _LightData

LightData Card._LightData
private

Definition at line 100 of file Card.cs.

◆ _material

SourceMaterial.Row Card._material

Definition at line 94 of file Card.cs.

Referenced by ChangeMaterial(), and Create().

◆ _paintSprite

Sprite Card._paintSprite
private

Definition at line 102 of file Card.cs.

◆ _randColor

Color Card._randColor
staticprivate

Definition at line 96 of file Card.cs.

◆ angle

float Card.angle = 180f

◆ animeCounter

float Card.animeCounter

Definition at line 76 of file Card.cs.

◆ bio

◆ bp

CardBlueprint Card.bp

Definition at line 80 of file Card.cs.

Referenced by Create(), Chara.OnBeforeCreate(), Chara.OnCreate(), and Thing.OnCreate().

◆ DamageLimit

const int Card.DamageLimit = 99999999
static

Definition at line 30 of file Card.cs.

◆ dirtyWeight

bool Card.dirtyWeight = true

Definition at line 88 of file Card.cs.

Referenced by ChangeMaterial(), RemoveThing(), and SetDirtyWeight().

◆ elements

Definition at line 42 of file Card.cs.

Referenced by _OnDeserialized(), TraitAltar._OnOffer(), Element._WriteNote(), CharaAbility.Add(), Element.AddEncNote(), AddRune(), LayerSleep.Advance(), DNA.Apply(), Chara.ApplyDeathPenalty(), Chara.ApplyJob(), Thing.ApplyMaterial(), Thing.ApplyMaterialElements(), ApplyProtection(), Chara.ApplyRace(), ApplySocket(), ActMelee.Attack(), TraitDrink.BlendLove(), TraitDrink.BlendPoison(), WidgetStatsBar.Build(), TraitTrainingDummyArmor.CalcPV(), Chara.CalculateMaxStamina(), CanAddRune(), Thing.CanAutoFire(), Thing.CanStackTo(), TraitAmmo.CanStackTo(), ClampInitialSkill(), TraitCrafter.Craft(), RecipeCard.Craft(), TraitPotion.Create(), TraitSpellbook.Create(), TraitRod.Create(), Create(), DamageHP(), Player.DreamSpell(), Chara.Duplicate(), Duplicate(), EjectSockets(), CharaBody.Equip(), Evalue(), EvalueMax(), DramaOutcome.fiama_starter_gift(), AI_Fuck.Finish(), CoreDebug.Fix_EtherDisease(), DNA.GenerateWithGene(), GetBestAttribute(), Party.GetBestSkill(), Check.GetFinalDC(), AI_Shear.GetFur(), DNA.GetInvalidFeat(), Element.GetParent(), Chara.GiveGift(), TaskHarvest.HarvestThing(), CharaBody.HasElement(), TraitFoodEggFertilized.Incubate(), Religion.JoinFaith(), Religion.LeaveFaith(), ElementContainer.ListElements(), CraftUtil.MakeBloodMeal(), CraftUtil.MakeBloodSample(), CraftUtil.MakeDish(), CraftUtil.MakeLoveLunch(), TraitSeed.MakeSeed(), CraftUtil.MixIngredients(), StatsMana.Mod(), ModEncLv(), ModExp(), ModExpParty(), Player.MoveZone(), Trait.OnBarter(), TraitPotionAlchemy.OnCrafted(), Thing.OnCreate(), TraitRod.OnCreate(), TraitToolRangeCane.OnCreate(), TaskChopWood.OnCreateProgress(), TaskDig.OnCreateProgress(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), Chara.OnDeserialized(), TraitDrinkMilkMother.OnDrink(), QuestWedding.OnDropReward(), Game.OnLoad(), TraitAgingShelf.OnProduce(), TraitDryBrick.OnProduce(), TaskCraft.OnProgress(), AI_Fish.ProgressFish.OnProgressComplete(), TaskCraft.OnProgressComplete(), TaskDig.OnProgressComplete(), TaskMine.OnProgressComplete(), TraitBookSkill.OnRead(), TraitScrollStatic.OnRead(), Player.OnStartNewGame(), ZoneEventWedding.OnVisit(), Act.Perform(), AttackProcess.Perform(), AttackProcess.PlayRangedAnime(), AttackProcess.Prepare(), FoodEffect.Proc(), ActEffect.Proc(), AttackProcess.ProcShieldEncs(), CoreDebug.QuickStart(), ButtonElement.Refresh(), UICharaMaker.Refresh(), WidgetTracker.Refresh(), WindowCharaMini.Refresh(), UIRecipeInfo.RefreshList(), LayerEmbark.RefreshMembers(), LayerCraft.RefreshProduct(), WindowChara.RefreshProfile(), WindowChara.RefreshSkill(), Chara.RefreshSpeed(), WindowChara.RefreshStatic(), CharaAbility.Remove(), Chara.RestockEquip(), AI_Eat.Run(), AI_Fuck.Run(), AI_Idle.Run(), AI_PlayMusic.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_UseCrafter.Run(), LayerAbility.SelectGroup(), ButtonAbility.SetAct(), SetBlessedState(), ItemGachaResult.SetChara(), CoreDebug.SetElement(), ButtonElement.SetGrid(), SetLv(), Chara.SetMainElement(), TraitAbility.SetMainText(), CharaBody.SetOwner(), Recipe.SetTextDifficulty(), SetTier(), Chara.ShouldEquip(), SpawnLoot(), ButtonAbility.SpecialHoldAction(), BaseSong.Tick(), ConVampire.Tick(), WidgetTracker.Toggle(), CalcPlat.Train(), HotItemAct.TrySetAct(), TraitCatalyst.TrySetHeldAct(), Map.TryShatter(), CharaBody.Unequip(), TraitFoodEgg.Update(), CoreDebug.UpdateInput(), TraitWrench.Upgrade(), Element.BonusInfo.WriteNote(), RecipeCard.WriteNote(), Thing.WriteNote(), TraitBookSkill.WriteNote(), and Recipe.WriteReqSkill().

◆ fov

◆ hat

CardRow Card.hat

Definition at line 66 of file Card.cs.

Referenced by CharaRenderer.Draw(), and CharaRenderer.DrawHat().

◆ id

string Card.id = ""

Definition at line 36 of file Card.cs.

Referenced by ThingContainer._ListCurrency(), InvOwnerRecycle._OnProcess(), BuildMenu._Search(), SerializedCards.Add(), Props.Add(), Zone.AddCard(), ThingContainer.AddFactory(), FactionBranch.AddMemeber(), AddThing(), InvOwner.AllowHold(), DramaCustomSequence.Build(), Recipe.BuildIngredientList(), Chara.CanAcceptGift(), TraitDrink.CanBlend(), TraitBrewery.CanChildDecay(), Chara.CanDuplicate(), TraitAltar.CanOffer(), Recipe.Ingredient.CanSetThing(), Thing.CanStackTo(), QuestCrafter.CanUpdateOnTalk(), QuestDefense.CanUpdateOnTalk(), QuestExploration.CanUpdateOnTalk(), QuestShippingChest.CanUpdateOnTalk(), Trait.Contains(), TraitCrafter.Craft(), RecipeCard.Craft(), Recipe.Create(), LayerInventory.CreateContainer(), Chara.Cuddle(), FactionBranch.DailyOutcome(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), GrowSystem.EqualizePlants(), CharaBody.Equip(), ZonePreEnterEncounter.Execute(), CardManager.GlobalCharaList.Find(), Party.Find(), ThingContainer.Find(), Map.FindChara(), Zone.FindChara(), CoreDebug.Fix_RemoveAshland(), CoreDebug.Fix_RemoveDemitas(), CoreDebug.Fix_RemoveDuplicateUnique(), Biography.Generate(), FactionBranch.GenerateGarbage(), DNA.GenerateGene(), TraitChara.GetAdvRank(), TraitItemProc.GetCraftNum(), ThingContainer.GetCurrency(), Trait.GetFuelValue(), AI_Shear.GetFur(), TraitTrolley.GetIdSound(), TaskChopWood.GetLog(), Thing.GetName(), ReligionMoonShadow.GetOfferingMtp(), ReligionTrickery.GetOfferingMtp(), TraitBrewery.GetProductID(), ConTransmuteHuman.GetRendererReplacer(), ConTransmuteMimic.GetRendererReplacer(), DramaCustomSequence.GetRumor(), GetTalkText(), TaskBuild.GetText(), ThingContainer.GetThingStack(), AI_Haul.GetThingToClean(), Chara.GetTopicText(), Chara.GiveGift(), TaskHarvest.HarvestThing(), Faction.HasMember(), ActClearWater.HasWaterSource(), ActDrawWater.HasWaterSource(), AI_HaulResource.HoldingResource(), UIDragGridInfo.InitFuel(), QuestDeliver.IsDestThing(), Player.IsPriorityAction(), IsStackable(), Recipe.Ingredient.IsValidIngredient(), Faction.IsWearingPanty(), Props.ListThingStack(), Props.ListThingStacksInCategory(), TraitFoodEggFertilized.MakeBaby(), CraftUtil.MakeDish(), AI_Fish.Makefish(), MakeFoodRef(), MakeRefFrom(), TraitSeed.MakeSeed(), DramaOutcome.melilith_friend(), CraftUtil.MixIngredients(), Chara.MoveZone(), DramaOutcome.nasu_join(), ConTransmuteHuman.NyaruSpecial(), Zone.OnActivate(), Zone_Casino.OnActivate(), Zone_LittleGarden.OnActivate(), TraitTrap.OnActivateTrap(), Zone_WindRest.OnAfterSimulate(), Trait.OnBarter(), TraitWell.OnBlend(), TraitBrewery.OnChildDecay(), FactionBranch.OnClaimZone(), ContentCodex.OnClickAddCards(), Thing.OnCreate(), TraitRod.OnCreate(), TraitDrink.OnDrink(), TraitDrinkMilkMother.OnDrink(), QuestRandom.OnDropReward(), ShopTransaction.OnEndTransaction(), Zone_CursedManor.OnGenerateMap(), Zone_CursedManorDungeon.OnGenerateMap(), Zone_WindRest.OnGenerateMap(), QuestTaskFlyer.OnGiveItem(), LayerCraft.OnKill(), Game.OnLoad(), Props.OnNumChange(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgressComplete(), TaskBuild.OnProgressComplete(), TraitLicense.OnRead(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), TraitPaintBoard.OnRenderExtra(), TraitTrapMine.OnStepped(), TraitGainPrecious.OnUse(), TraitHat.OnUse(), TraitPotionEmpty.OnUse(), RecipeManager.OnVersionUpdate(), ZoneEventMusic.OnVisit(), ZoneEventWedding.OnVisit(), AttackProcess.Perform(), AttackProcess.PlayRangedAnime(), DramaOutcome.poppy_found(), ActEffect.Proc(), ActEffect.ProcAt(), InvOwner.Transaction.Process(), PurgeDuplicateArtifact(), TCOrbitChara.RefreshAll(), LayerCraft.RefreshCategory(), LayerCraftFloat.RefreshDisassemble(), UIRecipeInfo.RefreshList(), TraitDaggerGrave.RemainingSword(), SerializedCards.Restore(), AI_Haul.Run(), AI_Idle.Run(), AI_PlayMusic.Run(), GoalCombat.Run(), RecipeUpdater.RunRecipe(), TraitDetector.Search(), ActWait.SearchMedal(), SecondaryCompare(), Zone_CurryRuinDungeon.SetAlarm(), Portrait.SetChara(), TraitAltar.SetDeity(), Chara.SetMainElement(), CardActor.SetOwner(), Biography.SetPortrait(), Player.SetPriorityAction(), HitSummary.SetRecipe(), Chara.SetSource(), Thing.SetSource(), TaskHarvest.ShouldGenerateDismantled(), InvOwnerRecycle.ShouldShowGuide(), Chara.ShouldThrowAway(), CardRenderer.ShowBossText(), Zone.Simulate(), DramaOutcome.sister_friend(), Tactics.Tactics(), Talk(), DramaActor.Talk(), ActThrow.Throw(), AI_PlayMusic.ThrowReward(), Chara.TryPoisonPotion(), Chara.TryReservePickupTutorial(), Chara.TryTakeSharedItems(), TryUnrestrain(), Chara.TryUse(), GoalCombat.TryUseAbility(), CoreDebug.UpdateInput(), ElementContainerCard.ValueBonus(), and Element.BonusInfo.WriteNote().

◆ isDestroyed

◆ lastEmo

Emo Card.lastEmo

Definition at line 98 of file Card.cs.

◆ lastPos

Point Card.lastPos = new Point()

Definition at line 62 of file Card.cs.

Referenced by Map._AddCard().

◆ MaxWeight

const int Card.MaxWeight = 10000000
static

Definition at line 26 of file Card.cs.

◆ parent

◆ placeState

◆ pos

Point Card.pos = new Point()

Definition at line 60 of file Card.cs.

Referenced by Map._AddCard(), TaskPoint._CanPerformTask(), AIWork._FuncWorkPoint(), Chara._Move(), _OnDeserialized(), InvOwnerChaosOffering._OnProcess(), _OnSerializing(), AM_Adv._OnUpdateInput(), TraitShrine._OnUse(), WidgetDate._Refresh(), ActPlan._Update(), Zone.Activate(), SerializedCards.Add(), CharaMassTransfer.Add(), Map.AddCardOnActivate(), Zone.AddGlobalCharasOnActivate(), Quest.AddResident(), AddThing(), PartialMap.Apply(), TraitHouseBoard.ApplyData(), Chara.ApplyDeathPenalty(), ActMelee.Attack(), AM_Adv.AxisMove(), Chara.Banish(), Recipe.Build(), AI_Shopping.Buy(), MeetingManager.CallNext(), TraitTrolley.CanActivate(), TraitDoor.CanClose(), Chara.CanDuplicate(), Chara.CanInteractTo(), GoalManualMove.CanMove(), Chara.CanMoveTo(), ActBash.CanPerform(), ActKick.CanPerform(), ActRanged.CanPerform(), ActRush.CanPerform(), ActTelekinesis.CanPerform(), ActThrow.CanPerform(), Act.CanPerform(), Chara.CanPick(), Chara.CanReplace(), Chara.CanSee(), Player.CanSee(), Chara.CanSeeLos(), ActThrow.CanThrow(), QuestDefense.CanUpdateOnTalk(), TraitGeneratorWheel.CanUse(), TraitShackle.CanUse(), ConTransmuteBat.CheckSeen(), Zone.ClaimZone(), CoreDebug.COM_Teleport(), Trait.CookProgress(), TraitCrafter.Craft(), RecipeCard.Craft(), SpatialGen.CreateInstance(), AI_OpenLock.CreateProgress(), AI_PracticeDummy.CreateProgress(), AI_PryOpen.CreateProgress(), AI_Torture.CreateProgress(), Region.CreateRandomSite(), TraitNewZone.CreateZone(), FactionBranch.DailyOutcome(), ActEffect.DamageEle(), Chara.DestroyPath(), Die(), Dist(), ActionMode.DoFunc(), AI_Idle.DoSomethingToCharaInRadius(), AI_Idle.DoSomethingToNearChara(), BaseGameScreen.Draw(), BaseTileMap.Draw(), TileMapElona.Draw(), CardRenderer.Draw(), CharaRenderer.DrawHat(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), Player.DropReward(), EjectSockets(), WidgetMinimap.EmitParticle(), Player.EnterLocalZone(), DramaOutcome.event_az(), ZonePreEnterBout.Execute(), ZonePreEnterBoutWin.Execute(), ZonePreEnterEncounter.Execute(), DramaOutcome.fiama_pet(), Chara.FindNearestNewEnemy(), Map.FindThing(), BaseGameScreen.Focus(), BaseGameScreen.FocusPC(), TraitBoat.ForeachDeck(), FactionBranch.GenerateGarbage(), DramaOutcome.get_scratch(), ActPlan.GetAction(), AI_Pray.GetAltar(), AI_Clean.GetCleanPoint(), AI_Goto.GetDestination(), AIAct.GetDestination(), Hobby.GetEfficiency(), BaseArea.GetEmptySeat(), TraitNewZone.GetExitPos(), TraitStairs.GetExitPos(), Chara.GetFirstStep(), TaskMine.GetHitResult(), FactionBranch.GetMailBoxPos(), CoreDebug.GetOrCreateDebugContainer(), Trait.GetPoint(), AI_Trolley.GetPoint(), FortuneRollData.GetPrize(), SurvivalManager.GetRandomPoint(), Trait.GetRandomPoint(), Zone.GetRandomVisitPos(), Chara.GetRevived(), Chara.GetRoomWork(), ZoneEventRaid.GetSpawnPos(), Zone.GetSpawnPos(), Chara.GetSubPassData(), TraitGeneMachine.GetTarget(), AI_Haul.GetThingToClean(), TaskHarvest.HarvestThing(), Chara.HasAccess(), Chara.HasHigherGround(), ZoneEventDefenseGame.Horn_Ally(), TraitFoodEggFertilized.Incubate(), Scene.Init(), AI_Goto.IsDestinationReached(), IsInMutterDistance(), TraitDoor.IsOpen(), TraitShackle.IsRestraining(), TraitDoor.IsValid(), Los.IsVisible(), ListPeopleParty.JoinParty(), Kick(), Chara.Kiss(), HomeResourceWorth.ListHeirloom(), Trait.ListPoints(), TraitLightSun.ListPoints(), Props.ListThingStack(), Region.ListTravelZones(), Chara.LookAt(), DramaOutcome.marry(), Map.MineFloor(), Player.ModKarma(), Chara.MoveNeighborDefinitely(), Chara.MoveRandom(), TraitNewZone.MoveZone(), TraitMoongate.MoveZone(), Trait.Offer(), Trait.OfferProcess(), AM_Adv.OnActivate(), WidgetArtTool.OnActivate(), TraitHitchingPost.OnActivateTrap(), FactionBranch.OnActivateZone(), Region.OnAdvanceHour(), FactionBranch.OnAfterSimulate(), AM_Adv.OnAfterUpdate(), Chara.OnBanish(), AM_Adv.OnBecomeNoGoal(), Zone_Nymelle.OnBeforeSimulate(), ConSleep.OnBeforeStart(), ConTransmuteHuman.OnBeforeStart(), TraitHouseBoard.OnChangePlaceState(), TaskDig.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TraitRollingFortune.OnEndAI(), ZoneEventRaid.OnKill(), ZoneEventSiege.OnKill(), ElementContainerCard.OnLevelUp(), ElementContainerZone.OnLevelUp(), Act.OnMarkMapHighlights(), ActBolt.OnMarkMapHighlights(), ActRush.OnMarkMapHighlights(), ActTelekinesis.OnMarkMapHighlights(), TraitAltar.OnOffer(), AM_Designation< T >.OnProcessTiles(), AM_MoveInstalled.OnProcessTiles(), AI_Fish.ProgressFish.OnProgressComplete(), AI_Sleep.OnProgressComplete(), QuestCraft.OnProgressComplete(), TaskBuild.OnProgressComplete(), TaskDig.OnProgressComplete(), TraitBook.OnRead(), TraitDeedRelocate.OnRead(), TraitDiary.OnRead(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), ConSuspend.OnRemoved(), AM_Adv.OnRenderTile(), TraitFertilizer.OnSimulateHour(), GoalSleep.OnSimulatePosition(), QuestEscort.OnStart(), TraitNewZone.OnStepped(), TraitSwing.OnSteppedOut(), LayerCraftFloat.OnSwitchContent(), Scene.OnUpdate(), TraitDaggerGrave.OnUse(), TraitFarmChest.OnUse(), TraitGeneMachine.OnUse(), TraitGiftNewYear.OnUse(), TraitMannequin.OnUse(), TraitShackle.OnUse(), TraitStairsLocked.OnUse(), ZoneEventWedding.OnVisit(), TraitContainer.Open(), DramaManager.ParseLine(), Act.Perform(), ActMissileBarrage.Perform(), ActMoneySlap.Perform(), ActMultihit.Perform(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.Perform(), ActTelekinesis.Perform(), ActThrow.Perform(), ActWhirlwind.Perform(), HotItemActionSleep.Perform(), ActPlan.Item.Perform(), AttackProcess.Perform(), Zone_Dungeon.PlaceRail(), EffectIRenderer.Play(), CardRenderer.PlayAnime(), PlayEffect(), AttackProcess.PlayRangedAnime(), PlaySound(), Trait.PlayToggleEffect(), AttackProcess.Prepare(), AM_Adv.PressedActionMove(), FoodEffect.Proc(), ActEffect.Proc(), ActEffect.ProcAt(), InvOwner.Transaction.Process(), DramaOutcome.QuestExploration_AfterCrystal(), CoreDebug.QuickStart(), TraitBaseSpellbook.ReadFailEffect(), FactionBranch.Recruit(), Religion.Reforge(), ActorEx.Refresh(), LayerTravel.Refresh(), WidgetMouseover.Refresh(), AM_Adv.RefreshArrow(), AM_Region.RefreshArrow(), Zone.RefreshBGM(), LayerCraftFloat.RefreshCraft(), WidgetSearch.RefreshList(), BaseGameScreen.RefreshPosition(), GameScreenElona.RefreshPosition(), BaseGameScreen.RefreshWeather(), GameScreenElona.RefreshWeather(), Weather.RefreshWeather(), Map.Resize(), SerializedCards.Restore(), Zone.Revive(), Chara.Revive(), AI_ArmPillow.Run(), AI_Bladder.Run(), AI_Churyu.Run(), AI_Clean.Run(), AI_Cook.Run(), AI_Fuck.Run(), AI_Haul.Run(), AI_Idle.Run(), AI_Massage.Run(), AI_Offer.Run(), AI_PassTime.Run(), AI_PlayMusic.Run(), AI_Shear.Run(), AI_Shopping.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_TargetCard.Run(), AI_Torture.Run(), AI_UseCrafter.Run(), AIWork.Run(), GoalCombat.Run(), GoalManualMove.Run(), GoalSleep.Run(), TaskDump.Run(), TaskPoint.Run(), RecipeUpdater.RunDisassemble(), PartialMap.Save(), Map.Save(), ActWait.Search(), CharaRenderer.SetFirst(), SetPlaceState(), AM_Adv.SetPressedAction(), RegionPoint.SetRegionPoint(), WidgetHotbar.SetShortcutMenu(), UISong.SetSong(), TraitGeneratorWheel.ShouldWork(), AM_Adv.ShowAllAction(), LayerCraftFloat.ShowContextMenu(), Zone.Simulate(), Player.SimulateFaction(), CoreDebug.Spawn(), CoreDebug.SpawnBoss(), ButtonAbility.SpecialHoldAction(), SurvivalManager.StartRaid(), Chara.Stumble(), ConSleep.SuccubusVisit(), Chara.SyncRide(), Player.TargetRanged(), CoreDebug.TestSpawn(), ActThrow.Throw(), AI_PlayMusic.ThrowReward(), Chara.Tick(), ConFear.Tick(), ConMiasma.Tick(), ConSleep.Tick(), ConSuspend.Tick(), StanceSongEnd.TickSong(), StanceSongSleep.TickSong(), StanceSongValor.TickSong(), TraitDoor.ToggleDoor(), TraitDoorSwing.ToggleDoor(), ToString(), Chara.ToString(), TraitSwitch.TryDisarmTrap(), Religion.TryGetGift(), AI_Goto.TryGoTo(), GoalCombat.TryMove(), GoalManualMove.TryMove(), Chara.TryMoveTowards(), Trait.TryPryOpenLock(), AI_Shopping.TryRestock(), HotItemAct.TrySetAct(), HotItemHeld.TrySetAct(), TraitBed.TrySetAct(), TraitCanvas.TrySetAct(), TraitCoreZone.TrySetAct(), TraitHouseBoard.TrySetAct(), TraitNewZone.TrySetAct(), TraitRoomPlate.TrySetAct(), TraitWaystone.TrySetAct(), TraitCatalyst.TrySetHeldAct(), TraitGene.TrySetHeldAct(), TraitToolBrush.TrySetHeldAct(), TraitToolButcher.TrySetHeldAct(), TraitToolShears.TrySetHeldAct(), Map.TryShatter(), Map.TrySmoothPick(), TraitSeed.TrySprout(), TraitTeleporter.TryTeleport(), GoalCombat.TryThrow(), ButtonAbility.TryUse(), ActRide.Unride(), GameUpdater.Update(), TraitFoodEgg.Update(), TraitSpotBiome.Update(), TraitSpotSpawn.Update(), GameUpdater.Update100ms(), CoreDebug.UpdateInput(), AM_Adv.UpdateLangWheel(), CharaRenderer.UpdatePosition(), WidgetDebug.UpdateText(), Chara.UseAbility(), VirtualRoom.VirtualRoom(), and ActEffect.Wish().

◆ props

Props Card.props

Definition at line 52 of file Card.cs.

Referenced by Props.Add(), ModNum(), Props.Remove(), RemoveThing(), and SetPlaceState().

◆ renderer

CardRenderer Card.renderer

Definition at line 64 of file Card.cs.

Referenced by Chara._Move(), ActPlan._Update(), GameDate.AdvanceMonth(), ActMelee.Attack(), RecipeCard.Build(), Chara.ChangeRarity(), BaseGameScreen.Draw(), CardRenderer.Draw(), CharaRenderer.DrawHeld(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), RecipeCard.GetRenderer(), BaseTileMap.GetThingPosition(), Condition.Kill(), AM_Adv.OnActivate(), AM_Adv.OnBeforeUpdate(), TraitGodStatue.OnChangeMaterial(), BaseListPeople.OnClick(), TaskChopWood.OnCreateProgress(), TaskDig.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), Map.OnDeactivate(), GrowSystemTree.OnHitFail(), EffectIRenderer.OnKill(), Zone.OnKillGame(), AM_MoveInstalled.OnProcessTiles(), AI_Fish.ProgressFish.OnProgress(), AI_Fish.ProgressFish.OnProgressComplete(), TaskBuild.OnProgressComplete(), ConFaint.OnRemoved(), ConTransmute.OnRemoved(), CardActor.OnRender(), CharaActorPCC.OnRender(), CharaActorPCC.OnSetOwner(), TCOrbitChara.OnSetOwner(), TCOrbitThing.OnSetOwner(), EffectIRenderer.OnUpdate(), Scene.OnUpdate(), TraitPowerStatue.OnUse(), ActBash.Perform(), ActMoneySlap.Perform(), ActRanged.Perform(), EffectIRenderer.Play(), CardRenderer.PlayAnime(), PlayEffect(), AttackProcess.PlayRangedAnime(), BaseStats.PopText(), TraitEffect.Proc(), TCOrbitChara.Refresh(), TCOrbitThing.Refresh(), BaseGameScreen.RefreshPosition(), GameScreenElona.RefreshPosition(), Trait.RefreshRenderer(), TraitToolTorch.RefreshRenderer(), Trait.Refuel(), Zone.RemoveCard(), TraitDoor.RotateDoor(), AI_Bladder.Run(), AI_Deconstruct.Run(), AI_Fuck.Run(), AI_Massage.Run(), AI_OpenGambleChest.Run(), AI_Paint.Run(), AI_PlayMusic.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_UseCrafter.Run(), GoalWait.Run(), NoGoal.Run(), TaskClean.Run(), LayerPixelPaint.SetCanvas(), ConFaint.SetOwner(), ConSleep.SetOwner(), ActThrow.Throw(), Player.TooHeavyToMove(), CoreDebug.UpdateInput(), and WidgetDebug.UpdateText().

◆ reservedAct

AIAct Card.reservedAct

Definition at line 50 of file Card.cs.

Referenced by CanReserve(), and TryReserve().

◆ roundTimer

float Card.roundTimer

Definition at line 72 of file Card.cs.

Referenced by WidgetDebug.UpdateText().

◆ SocketDiv

const int Card.SocketDiv = 1000
static

Definition at line 28 of file Card.cs.

◆ sockets

◆ sortVal

◆ things

ThingContainer Card.things = new ThingContainer()

Definition at line 39 of file Card.cs.

Referenced by ThingContainer._List(), ThingContainer._ListCurrency(), _OnDeserialized(), AM_Adv._OnUpdateInput(), TraitGodStatue._OnUse(), BuildMenu._Search(), Zone.Activate(), Props.Add(), ThingContainer.AddFactory(), FactionBranch.AddMemeber(), AddThing(), CardManager.AssignUIDRecursive(), DramaCustomSequence.Build(), ActItem.BuildAct(), DropdownGrid.BuildIngredients(), AI_Shopping.Buy(), QuestCraft.CanDeliverToClient(), ActBloodsuck.CanPerform(), ActNTR.CanPerform(), InvOwner.CanShiftClick(), QuestLoytelFarm.CanUpdateOnTalk(), DramaOutcome.chara_hired_ticket(), DramaOutcome.check_sketch(), Create(), LayerInventory.CreateBuy(), ThingGen.CreateCardboardBox(), LayerInventory.CreateContainer(), AI_OpenLock.CreateProgress(), ThingGen.CreateTreasureContent(), FactionBranch.DailyOutcome(), Trait.DamageRandomProperty(), QuestDeliver.Deliver(), Chara.Die(), Player.DropReward(), Duplicate(), DramaOutcome.duponne_capture(), CharaBody.Equip(), ZonePreEnterBoutWin.Execute(), ZonePreEnterEncounter.Execute(), ThingContainer.Find(), ThingContainer.Find< T >(), Chara.FindAmmo(), Props.FindEmptyContainer< T >(), FindTool< T >(), AI_Fuck.Finish(), CoreDebug.Fix_LostCore(), ThingContainer.Foreach(), DNA.GenerateManiGene(), GoalAutoCombat.GetAbilities(), BaseTaskHarvest.GetBestTool(), TraitPainter.GetCanvas(), ThingContainer.GetCurrency(), GetCurrency(), ThingContainer.GetDest(), Point.GetInstalled< T >(), FactionBranch.GetMeal(), InvOwner.GetShitDestOwner(), ThingContainer.GetThingStack(), TaskDig.GetTreasureMap(), DramaOutcome.give_sketch_special(), Chara.GiveGift(), DramaOutcome.guild_mageTrial(), Point.HasNonHomeProperty(), TraitFoodEggFertilized.Incubate(), QuestDeliver.IsDestThing(), InvOwner.Transaction.IsValid(), QuestDeliver.ListDestThing(), InvOwner.ListInteractions(), InvOwnerEquip.ListInteractions(), Props.ListThingStack(), TaskDump.ListThingsToPut(), Chara.MakeGrave(), ModCurrency(), WidgetEquip.OnActivate(), Player.OnAdvanceHour(), Faction.OnAdvanceMonth(), Chara.OnBanish(), Trait.OnBarter(), AM_Adv.OnBecomeNoGoal(), ConTransmuteHuman.OnBeforeStart(), ConTransmuteMimic.OnBeforeStart(), ContentCodex.OnClickAddCards(), QuestNasu.OnComplete(), TraitBaseContainer.OnCreate(), Player.OnCreateGame(), ShopTransaction.OnEndTransaction(), ZoneEventHarvest.OnLeaveZone(), Game.OnLoad(), Player.OnLoad(), AI_Fish.ProgressFish.OnProgressComplete(), TraitBook.OnRead(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), ConWrath.OnRemoved(), InvOwner.OnShiftClick(), QuestFiamaLock.OnStart(), Player.OnStartNewGame(), TraitMannequin.OnUse(), TraitParcel.OnUse(), RecipeManager.OnVersionUpdate(), TraitContainer.Open(), UI.OpenFloatInv(), ActDreamBug.Perform(), HotItemActionSleep.Perform(), HotItemEQSet.Perform(), LayerGacha.PlayGacha(), LayerGachaResult.PlayGacha(), PurgeDuplicateArtifact(), InvOwner.PutBack(), DramaOutcome.QuestDefense_0(), CoreDebug.QuickStart(), WidgetCurrentTool.RebuildSlots(), UIRecipeInfo.Refresh(), UIMagicChest.RefreshBottom(), BuildMenu.RefreshCategory(), ButtonGrid.RefreshCraftable(), ThingContainer.RefreshGridRecursive(), LayerQuestBoard.RefreshHire(), Recipe.Ingredient.RefreshThing(), Props.Remove(), RemoveBacker(), RemoveThing(), RemoveThings(), SerializedCards.Restore(), Chara.Revive(), AI_Churyu.Run(), AI_Idle.Run(), AI_PlayMusic.Run(), AI_Steal.Run(), RecipeUpdater.RunDisassemble(), RecipeUpdater.RunRecipe(), CoreDebug.Rust(), Chara.ScaleByPrincipal(), UIMagicChest.Search(), WidgetSearch.Search(), ActWait.SearchMedal(), LayerDragGrid.SetInv(), CharaBody.SetOwner(), HitSummary.SetRecipe(), GameDate.ShipGoods(), GameDate.ShipPackages(), InvOwnerRecycle.ShouldShowGuide(), LayerCraftFloat.ShowContextMenu(), UIInventory.Sort(), SpawnLoot(), Zone.SpawnLostItems(), ButtonAbility.SpecialHoldAction(), ConSleep.SuccubusVisit(), Map.TryAddRoom(), Zone.TryAddThingInSharedContainer(), Zone.TryAddThingInSpot< T >(), Player.TryEquipBait(), Zone.TryGetRestock< T >(), Zone.TryGetThingFromSharedContainer(), ThingGen.TryLickChest(), Zone.TryListThingsInSpot< T >(), Trait.TryOpenLock(), AI_Idle.TryPerformIdleUse(), ActPray.TryPray(), LayerDragGrid.TryProc(), Trait.TryPryOpenLock(), Trait.TryRefuel(), TraitDeliveryChest.TrySetAct(), TraitToolTorch.TrySetHeldAct(), LayerInventory.TryShowGuide(), ThingContainer.TryStack(), Chara.TryTakeSharedItems(), GoalAutoCombat.TryUseRanged(), and TraitWrench.Upgrade().

◆ trait

Trait Card.trait

Definition at line 54 of file Card.cs.

Referenced by Map._AddCard(), ThingGen._Create(), TaskBuild._GetHitResult(), TileType._HitTest(), AM_Build._IsRoofEditMode(), ThingContainer._List(), Chara._Move(), InvOwnerBlend._OnProcess(), InvOwnerChangeMaterial._OnProcess(), InvOwnerMod._OnProcess(), InvOwnerRefuel._OnProcess(), AM_Adv._OnUpdateInput(), BuildMenu._Search(), HotItemNoItem._TrySetAct(), ActPlan._Update(), Zone.Activate(), Scene.AddActorEx(), Cell.AddCard(), ThingContainer.AddFactory(), AddRune(), AddThing(), LayerSleep.Advance(), InvOwner.AllowHold(), InvOwnerCopyShop.AllowMoved(), PartialMap.Apply(), ApplySocket(), ApplyTrait(), ActMelee.Attack(), RecipeCard.Build(), ActItem.BuildAct(), VirtualDate.BuildSunMap(), FactionBranch.CalcInnIncome(), Chara.CanAcceptGift(), Chara.CanAcceptItem(), TraitNewZone.CanAutoEnter(), Thing.CanAutoFire(), HotItemHeld.CanChangeHeightByWheel(), TraitBrewery.CanChildDecay(), Trait.CanCook(), TraitKettle.CanCopy(), Chara.CanEat(), Player.CanExitBorder(), Trait.CanOffer(), InvOwner.CanOpenContainer(), ActRush.CanPerform(), ActTelekinesis.CanPerform(), AI_Steal.CanPerform(), TaskBaseBuild.CanPlaceCard(), TaskChopWood.CanProgress(), TaskHarvest.CanProgress(), AM_MoveInstalled.CanPutAway(), HotItemHeld.CanRotate(), TaskBuild.CanRotateBlock(), InvOwner.CanShiftClick(), TraitSalesTag.CanTagSale(), ActThrow.CanThrow(), CoreDebug.ChangeRace(), TraitSpotBiome.CountNotableThing(), Recipe.Craft(), RecipeCard.Craft(), Create(), LayerInventory.CreateBuy(), LayerInventory.CreateContainer(), Trait.CreateStock(), FactionBranch.DailyOutcome(), ActEffect.DamageEle(), Zone.Deactivate(), Chara.DestroyPath(), Die(), CardRenderer.Draw(), CharaRenderer.Draw(), CharaRenderer.DrawHeld(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), Chara.Drink(), Chara.DropThing(), CharaBody.Equip(), Player.EquipTool(), ZonePreEnterDigStairs.Execute(), Props.Find< T >(), ThingContainer.Find< T >(), ThingContainer.FindBest< T >(), Props.FindEmptyContainer< T >(), ThingContainer.FindStealable(), Map.FindThing(), Map.FindThing< T >(), Point.FindThing< T >(), FindTool< T >(), CoreDebug.Fix_LostCore(), GoalAutoCombat.GetAbilities(), HotItemHeld.GetAct(), InvOwner.GetAutoUseLang(), BaseTaskHarvest.GetBestTool(), TraitPainter.GetCanvas(), ThingContainer.GetDest(), Zone.GetElectricity(), BaseArea.GetEmptySeat(), TaskBuild.GetHitResult(), Chara.GetHoverText2(), Point.GetInstalled< T >(), GetLightRadius(), DramaCustomSequence.GetListGuide(), Thing.GetName(), LayerInteraction.GetPage(), GoalGraze.GetPos(), TraitTicketFurniture.GetPrice(), ConTransmuteMimic.GetRendererReplacer(), HotItemHeld.GetSelfAct(), ActionMode.GetSimpleText(), Zone.GetSpawnPos(), MapBounds.GetSpawnPos(), AM_Visibility.GetTarget(), BaseTileMap.GetThingPosition(), BaseTaskHarvest.GetToolEfficiency(), TaskDig.GetTreasureMap(), GetWindowSaveData(), Chara.GiveGift(), Zone.GrowPlants(), TaskHarvest.HarvestThing(), ActClearWater.HasWaterSource(), ActDrawWater.HasWaterSource(), Cell.HasZoneStairs(), AM_Copy.HitTest(), Scene.Init(), UIDragGridInfo.InitFuel(), QuestDeliver.IsDestThing(), ThingContainer.IsFull(), TraitCrafter.IsIngredient(), TraitToolTalisman.IsIngredient(), Point.IsInSpot< T >(), SourceElement.Row.IsMaterialEncAppliable(), InvOwner.Transaction.IsValid(), TaskDump.IsValidContainer(), Recipe.Ingredient.IsValidIngredient(), InvOwnerMod.IsValidRangedMod(), AI_Cook.IsValidTarget(), AI_Eat.IsValidTarget(), AI_Offer.IsValidTarget(), TraitWrench.IsValidTarget(), Act.IsValidTC(), AI_Steal.IsValidTC(), TraitManager.List< T >(), GenBounds.ListEmptyPoint(), HomeResourceWorth.ListHeirloom(), InvOwner.ListInteractions(), Map.ListThing< T >(), Point.ListThings< T >(), Props.ListThingStack(), TaskDump.ListThingsToPut(), WidgetEquip.OnActivate(), TraitManager.OnAddCard(), Trait.OnBarter(), AM_Adv.OnBecomeNoGoal(), ConTransmuteHuman.OnBeforeStart(), Map.OnCardAddedToZone(), Map.OnCardRemovedFromZone(), TraitBrewery.OnChildDecay(), LayerCraft.OnClickCraft(), InvOwner.OnDrag(), CardRenderer.OnEnterScreen(), Affinity.OnGift(), Game.OnLoad(), ButtonGrid.OnMiddleClick(), AM_MoveInstalled.OnProcessTiles(), TaskBuild.OnProgressComplete(), TraitManager.OnRemoveCard(), ConSleep.OnRemoved(), ConTorch.OnRemoved(), CharaActorPCC.OnRender(), RecipeCard.OnRenderMarker(), ActionMode.OnRenderTile(), AM_Adv.OnRenderTile(), InspectGroupThing.OnSetActions(), HotItemHeld.OnSetCurrentItem(), AI_Read.OnSetOwner(), Zone.OnSimulateHour(), TraitAmmo.OnUse(), UI.OpenFloatInv(), ActRanged.Perform(), ActTelekinesis.Perform(), AttackProcess.Perform(), Chara.Pick(), Chara.PickHeld(), Zone_Dungeon.PlaceRail(), AttackProcess.Prepare(), ActEffect.Proc(), InvOwner.Transaction.Process(), Map.PutAway(), DramaOutcome.QuestDefense_0(), DramaOutcome.QuestDefense_1(), CoreDebug.QuickStart(), Scene.RebuildActorEx(), BranchMap.Refresh(), Cell.Refresh(), UIPlaceHelper.Refresh(), TCOrbitChara.RefreshAll(), TCOrbitThing.RefreshAll(), UIMagicChest.RefreshBottom(), BuildMenu.RefreshCategory(), LayerDragGrid.RefreshCost(), Player.RefreshCurrentHotItem(), Zone.RefreshElectricity(), UIInventory.RefreshMenu(), LayerCraft.RefreshProduct(), CardActor.RefreshSprite(), Map.RefreshSunMap(), Trait.Refuel(), Map.ReloadRoom(), Cell.RemoveCard(), Zone.RemoveCard(), RemoveThing(), Map.ResetEditorPos(), SerializedCards.Restore(), Chara.Revive(), ActionMode.RotateUnderMouse(), AI_Cook.Run(), AI_Idle.Run(), AI_Offer.Run(), AI_Read.Run(), RecipeUpdater.RunRecipe(), PartialMap.Save(), Map.Save(), WidgetCurrentTool.Select(), ButtonGrid.SetCard(), AIWork.SetDestPos(), LayerAbility.SetDirty(), LayerCraft.SetFactory(), LayerDragGrid.SetInv(), LayerRegisterHotbar.SetItem(), CardRenderer.SetOwner(), CharaBody.SetOwner(), SetPlaceState(), ButtonGrid.SetRecipe(), CoreDebug.SetStartStockpile(), HotItemThing.SetSubText(), BaseTaskHarvest.SetTarget(), GameDate.ShipGoods(), TaskHarvest.ShouldGenerateDismantled(), PointTarget.ShouldIgnore(), InvOwnerBlend.ShouldShowGuide(), InvOwnerChangeMaterial.ShouldShowGuide(), InvOwnerCopyShop.ShouldShowGuide(), InvOwnerGive.ShouldShowGuide(), InvOwnerLighten.ShouldShowGuide(), InvOwnerReconstruction.ShouldShowGuide(), InvOwnerRecycle.ShouldShowGuide(), InvOwnerRefuel.ShouldShowGuide(), ThingContainer.ShouldShowOnGrid(), Chara.ShouldThrowAway(), TaskWater.ShouldWater(), TraitGeneratorWheel.ShouldWork(), Zone.Simulate(), Zone.SpawnAltar(), SpawnLoot(), Chara.Stumble(), UIInventory.SwitchTab(), Player.TargetRanged(), AM_Picker.TestThing(), ActThrow.Throw(), Chara.Tick(), Chara.TryAbsorbRod(), Map.TryAddRoom(), Zone.TryAddThingInSharedContainer(), Zone.TryAddThingInSpot< T >(), Chara.TryDropCarryOnly(), TaskHarvest.TryGetAct(), Zone.TryGetRestock< T >(), InvOwner.TryHold(), Zone.TryListThingsInSpot< T >(), TraitDoor.TryOpen(), AI_Idle.TryPerformIdleUse(), Chara.TryPoisonPotion(), Trait.TryPryOpenLock(), HotItemHeld.TrySetAct(), TraitContainer.TrySetAct(), TraitNewZone.TrySetAct(), TraitSalesTag.TrySetHeldAct(), TraitTicketFurniture.TrySetHeldAct(), HotItemHeld.TrySetToolAct(), Map.TryShatter(), Zone.TrySpawnFollower(), CardRenderer.TrySpawnOrbit(), InvOwnerCraft.TryStartCraft(), Chara.TryTakeSharedItems(), TraitTeleporter.TryTeleport(), Chara.TryUse(), GoalCombat.TryUseAbility(), GoalAutoCombat.TryUseRanged(), CharaBody.Unequip(), TraitSpotBiome.Update(), CoreDebug.UpdateInput(), and VirtualRoom.VirtualRoom().

◆ turn

Property Documentation

◆ _IsPC

bool Card._IsPC
get

Definition at line 2187 of file Card.cs.

Referenced by ConHallucination.OnRemoved(), and ConHallucination.SetOwner().

◆ _placeState

PlaceState Card._placeState
getset

Definition at line 292 of file Card.cs.

293 {
294 get
295 {
296 return _ints[18].ToEnum<PlaceState>();
297 }
298 set
299 {
300 _ints[18] = (int)value;
301 }
302 }

Referenced by _OnDeserialized(), and _OnSerializing().

◆ _x

int Card._x
getset

Definition at line 172 of file Card.cs.

173 {
174 get
175 {
176 return _ints[7];
177 }
178 set
179 {
180 _ints[7] = value;
181 }
182 }

Referenced by _OnDeserialized(), _OnSerializing(), and AI_Clean.GetCleanPoint().

◆ _z

int Card._z
getset

Definition at line 184 of file Card.cs.

185 {
186 get
187 {
188 return _ints[9];
189 }
190 set
191 {
192 _ints[9] = value;
193 }
194 }

Referenced by _OnDeserialized(), and _OnSerializing().

◆ actorPrefab

virtual string Card.actorPrefab
get

Definition at line 2169 of file Card.cs.

◆ AliasMaterialOnCreate

virtual string Card.AliasMaterialOnCreate
get

Definition at line 2093 of file Card.cs.

Referenced by Create().

◆ altitude

int Card.altitude
getset

Definition at line 232 of file Card.cs.

233 {
234 get
235 {
236 return _ints[13];
237 }
238 set
239 {
240 _ints[13] = value;
241 }
242 }

Referenced by SerializedCards.Add(), CardRenderer.Draw(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), Duplicate(), Cell.GetSurfaceHeight(), BaseTileMap.GetThingPosition(), AM_MoveInstalled.OnProcessTiles(), and SetPlaceState().

◆ ammoData

Thing Card.ammoData
getset

Definition at line 1812 of file Card.cs.

1813 {
1814 get
1815 {
1816 return GetObj<Thing>(9);
1817 }
1818 set
1819 {
1820 SetObj(9, value);
1821 }
1822 }
void SetObj(int id, object o)
Definition: BaseCard.cs:91

Referenced by AttackProcess.Prepare(), and Trait.SetMainText().

◆ autoRefuel

bool Card.autoRefuel
getset

Definition at line 628 of file Card.cs.

629 {
630 get
631 {
632 return _bits1[17];
633 }
634 set
635 {
636 _bits1[17] = value;
637 }
638 }

Referenced by Create(), Trait.IsFuelEnough(), LayerDragGrid.RefreshCost(), LayerCraft.RefreshProduct(), and LayerCraft.SetFactory().

◆ blessedState

◆ c_allowance

int Card.c_allowance
getset

Definition at line 1344 of file Card.cs.

1345 {
1346 get
1347 {
1348 return GetInt(114);
1349 }
1350 set
1351 {
1352 SetInt(114, value);
1353 }
1354 }

Referenced by WindowChara.RefreshProfile(), and AI_Shopping.TryShop().

◆ c_altName

string Card.c_altName
getset

Definition at line 1620 of file Card.cs.

1621 {
1622 get
1623 {
1624 return GetStr(1);
1625 }
1626 set
1627 {
1628 SetStr(1, value);
1629 }
1630 }
void SetStr(int id, string value=null)
Definition: BaseCard.cs:63
string GetStr(int id, string defaultStr=null)
Definition: BaseCard.cs:54

Referenced by Thing.CanStackTo(), TraitFood.CanStackTo(), GameIndex.Create(), UICharaMaker.EditName(), CoreDebug.GetDebugContainer(), CoreDebug.GetOrCreateDebugContainer(), QuestDeliver.IsDestThing(), BaseListPeople.OnClick(), UICharaMaker.Refresh(), UIInventory.RefreshMenu(), Map.Save(), TraitBaseContainer.SetName(), TraitParcel.SetName(), and TryGetFoodName().

◆ c_altName2

string Card.c_altName2
getset

Definition at line 1632 of file Card.cs.

1633 {
1634 get
1635 {
1636 return GetStr(2);
1637 }
1638 set
1639 {
1640 SetStr(2, value);
1641 }
1642 }

◆ c_ammo

int Card.c_ammo
getset

Definition at line 1488 of file Card.cs.

1489 {
1490 get
1491 {
1492 return GetInt(27);
1493 }
1494 set
1495 {
1496 SetInt(27, value);
1497 }
1498 }

Referenced by ActMelee.Attack(), Trait.SetMainText(), and GoalAutoCombat.TryUseRanged().

◆ c_bedType

BedType Card.c_bedType
getset

Definition at line 954 of file Card.cs.

955 {
956 get
957 {
958 return GetInt(9).ToEnum<BedType>();
959 }
960 set
961 {
962 SetInt(9, (int)value);
963 }
964 }
BedType
Definition: BedType.cs:2

Referenced by FactionBranch.CalcInnIncome(), TraitBed.CanAssign(), TraitBed.SetBedType(), TraitBed.SetName(), and TraitBed.TrySetAct().

◆ c_bill

int Card.c_bill
getset

Definition at line 1308 of file Card.cs.

1309 {
1310 get
1311 {
1312 return GetInt(23);
1313 }
1314 set
1315 {
1316 SetInt(23, value);
1317 }
1318 }

Referenced by ThingGen.CreateBill(), and InvOwnerDeliver.PayBill().

◆ c_bloodData

Thing Card.c_bloodData
getset

Definition at line 1956 of file Card.cs.

1957 {
1958 get
1959 {
1960 return GetObj<Thing>(19);
1961 }
1962 set
1963 {
1964 SetObj(19, value);
1965 }
1966 }

Referenced by CraftUtil.MakeBloodMeal(), and AI_Idle.Run().

◆ c_bossType

BossType Card.c_bossType
getset

Definition at line 1248 of file Card.cs.

1249 {
1250 get
1251 {
1252 return GetInt(65).ToEnum<BossType>();
1253 }
1254 set
1255 {
1256 SetInt(65, (int)value);
1257 }
1258 }

Referenced by GuildFighter.CanGiveContribution(), CardRenderer.RefreshExtra(), GoalCombat.Run(), and ActThrow.Throw().

◆ c_charaList

CharaList Card.c_charaList
getset

Definition at line 1932 of file Card.cs.

1933 {
1934 get
1935 {
1936 return GetObj<CharaList>(13);
1937 }
1938 set
1939 {
1940 SetObj(13, value);
1941 }
1942 }

Referenced by TraitBed.AddHolder(), TraitBed.CanAssign(), TraitBed.ClearHolders(), TraitBed.CountHolders(), TraitBed.GetHoverText(), TraitBed.HasHolder(), TraitBed.IsFull(), TraitBed.IsHolder(), TraitBed.RemoveHolder(), TraitBed.SetName(), and TraitBed.ValidateOwners().

◆ c_charges

◆ c_color

string Card.c_color
getset

Definition at line 1572 of file Card.cs.

1573 {
1574 get
1575 {
1576 return GetStr(8);
1577 }
1578 set
1579 {
1580 SetStr(8, value);
1581 }
1582 }

◆ c_containerSize

int Card.c_containerSize
getset

Definition at line 1392 of file Card.cs.

1393 {
1394 get
1395 {
1396 return GetInt(8);
1397 }
1398 set
1399 {
1400 SetInt(8, value);
1401 }
1402 }

Referenced by Duplicate(), and TraitWrench.Upgrade().

◆ c_containerUpgrade

ContainerUpgrade Card.c_containerUpgrade
getset

Definition at line 1908 of file Card.cs.

1909 {
1910 get
1911 {
1912 return GetObj<ContainerUpgrade>(12) ?? (c_containerUpgrade = new ContainerUpgrade());
1913 }
1914 set
1915 {
1916 SetObj(12, value);
1917 }
1918 }
ContainerUpgrade c_containerUpgrade
Definition: Card.cs:1909

Referenced by TraitWrench.Upgrade().

◆ c_context

string Card.c_context
getset

Definition at line 1704 of file Card.cs.

1705 {
1706 get
1707 {
1708 return GetStr(20);
1709 }
1710 set
1711 {
1712 SetStr(20, value);
1713 }
1714 }

Referenced by TraitDaggerGrave.OnUse().

◆ c_copyContainer

Thing Card.c_copyContainer
getset

Definition at line 1836 of file Card.cs.

1837 {
1838 get
1839 {
1840 return GetObj<Thing>(10);
1841 }
1842 set
1843 {
1844 SetObj(10, value);
1845 }
1846 }

Referenced by Trait.OnBarter().

◆ c_corruptionHistory

List<int> Card.c_corruptionHistory
getset

Definition at line 1896 of file Card.cs.

1897 {
1898 get
1899 {
1900 return GetObj<List<int>>(16);
1901 }
1902 set
1903 {
1904 SetObj(16, value);
1905 }
1906 }

◆ c_dateCooked

int Card.c_dateCooked
getset

Definition at line 1368 of file Card.cs.

1369 {
1370 get
1371 {
1372 return GetInt(66);
1373 }
1374 set
1375 {
1376 SetInt(66, value);
1377 }
1378 }

◆ c_dateDeathLock

int Card.c_dateDeathLock
getset

Definition at line 1272 of file Card.cs.

1273 {
1274 get
1275 {
1276 return GetInt(130);
1277 }
1278 set
1279 {
1280 SetInt(130, value);
1281 }
1282 }

◆ c_dateStockExpire

int Card.c_dateStockExpire
getset

Definition at line 1260 of file Card.cs.

1261 {
1262 get
1263 {
1264 return GetInt(22);
1265 }
1266 set
1267 {
1268 SetInt(22, value);
1269 }
1270 }

Referenced by TraitSpotBiome.CountNotableThing(), Trait.GetRestockedIcon(), Trait.GetTextRestock(), and Trait.OnBarter().

◆ c_daysWithGod

int Card.c_daysWithGod
getset

Definition at line 1500 of file Card.cs.

1501 {
1502 get
1503 {
1504 return GetInt(57);
1505 }
1506 set
1507 {
1508 SetInt(57, value);
1509 }
1510 }

Referenced by Player.OnAdvanceDay(), and WindowChara.RefreshNote().

◆ c_daysWithPC

int Card.c_daysWithPC
getset

Definition at line 1512 of file Card.cs.

1513 {
1514 get
1515 {
1516 return GetInt(67);
1517 }
1518 set
1519 {
1520 SetInt(67, value);
1521 }
1522 }

Referenced by GetDaysTogetherBonus(), FactionBranch.OnAdvanceDay(), and WindowChara.RefreshNote().

◆ c_diceDim

int Card.c_diceDim
getset

Definition at line 1416 of file Card.cs.

1417 {
1418 get
1419 {
1420 return GetInt(14);
1421 }
1422 set
1423 {
1424 SetInt(14, value);
1425 }
1426 }

Referenced by AttackProcess.Prepare().

◆ c_DNA

DNA Card.c_DNA
getset

◆ c_dyeMat

int Card.c_dyeMat
getset

Definition at line 1212 of file Card.cs.

1213 {
1214 get
1215 {
1216 return GetInt(3);
1217 }
1218 set
1219 {
1220 SetInt(3, value);
1221 }
1222 }

Referenced by Thing.CanStackTo(), and TraitToolWaterPot.SetName().

◆ c_editorTags

string Card.c_editorTags
getset

Definition at line 1728 of file Card.cs.

1729 {
1730 get
1731 {
1732 return GetStr(28);
1733 }
1734 set
1735 {
1736 SetStr(28, value);
1737 }
1738 }

Referenced by HotItemNoItem._TrySetAct(), SerializedCards.Add(), AddEditorTag(), AM_EditMarker.GetSimpleText(), HasEditorTag(), RemoveEditorTag(), and CardInspector.SetCard().

◆ c_editorTraitVal

string Card.c_editorTraitVal
getset

Definition at line 1740 of file Card.cs.

1741 {
1742 get
1743 {
1744 return GetStr(25);
1745 }
1746 set
1747 {
1748 SetStr(25, value);
1749 }
1750 }

Referenced by SerializedCards.Add(), AM_EditMarker.GetSimpleText(), and CardInspector.SetCard().

◆ c_equippedSlot

int Card.c_equippedSlot
getset

Definition at line 966 of file Card.cs.

967 {
968 get
969 {
970 return GetInt(6);
971 }
972 set
973 {
974 SetInt(6, value);
975 }
976 }

Referenced by HotItemEQSet.Perform(), UIInventory.RefreshList(), RemoveThing(), ButtonGrid.SetCard(), and CharaBody.Unequip().

◆ c_extraNameRef

string Card.c_extraNameRef
getset

Definition at line 1644 of file Card.cs.

1645 {
1646 get
1647 {
1648 return GetStr(12);
1649 }
1650 set
1651 {
1652 SetStr(12, value);
1653 }
1654 }

Referenced by MakeRefFrom().

◆ c_fixedValue

int Card.c_fixedValue
getset

Definition at line 1187 of file Card.cs.

1188 {
1189 get
1190 {
1191 return GetInt(131);
1192 }
1193 set
1194 {
1195 SetInt(131, value);
1196 }
1197 }

◆ c_fur

int Card.c_fur
getset

Definition at line 1356 of file Card.cs.

1357 {
1358 get
1359 {
1360 return GetInt(62);
1361 }
1362 set
1363 {
1364 SetInt(62, value);
1365 }
1366 }

Referenced by FactionBranch.DailyOutcome(), AI_Shear.GetFurLv(), TraitToolShears.GetHeldEmo(), AI_Shear.GetText(), and AI_Slaughter.GetText().

◆ c_genes

CharaGenes Card.c_genes
getset

Definition at line 1884 of file Card.cs.

1885 {
1886 get
1887 {
1888 return GetObj<CharaGenes>(15);
1889 }
1890 set
1891 {
1892 SetObj(15, value);
1893 }
1894 }

Referenced by InvOwnerGene._OnProcess(), DNA.Apply(), TraitGeneMachine.OnUse(), FoodEffect.Proc(), WindowCharaMini.Refresh(), WindowChara.RefreshSkill(), CharaGenes.Remove(), Tactics.Tactics(), and DNA.WriteNoteExtra().

◆ c_idAbility

string Card.c_idAbility
getset

Definition at line 1692 of file Card.cs.

1693 {
1694 get
1695 {
1696 return GetStr(50);
1697 }
1698 set
1699 {
1700 SetStr(50, value);
1701 }
1702 }

Referenced by TraitAbility.CreateAct(), TraitAbility.SetMainText(), and TraitAbility.SetName().

◆ c_idBacker

int Card.c_idBacker
getset

Definition at line 1464 of file Card.cs.

1465 {
1466 get
1467 {
1468 return GetInt(52);
1469 }
1470 set
1471 {
1472 SetInt(52, value);
1473 }
1474 }

Referenced by SerializedCards.Add(), Zone_Casino.OnActivate(), SerializedCards.Restore(), Zone.Revive(), and TraitSpecialLantern.TrySetAct().

◆ c_idDeity

string Card.c_idDeity
getset

◆ c_idEditor

string Card.c_idEditor
getset

Definition at line 1716 of file Card.cs.

1717 {
1718 get
1719 {
1720 return GetStr(27);
1721 }
1722 set
1723 {
1724 SetStr(27, value);
1725 }
1726 }

Referenced by SerializedCards.Add(), and AM_EditMarker.GetSimpleText().

◆ c_idJob

string Card.c_idJob
getset

Definition at line 1548 of file Card.cs.

1549 {
1550 get
1551 {
1552 return GetStr(4);
1553 }
1554 set
1555 {
1556 SetStr(4, value);
1557 }
1558 }

◆ c_idMainElement

int Card.c_idMainElement
getset

Definition at line 1440 of file Card.cs.

1441 {
1442 get
1443 {
1444 return GetInt(16);
1445 }
1446 set
1447 {
1448 SetInt(16, value);
1449 }
1450 }

Referenced by SerializedCards.Add(), and TraitFoodEggFertilized.CanStackTo().

◆ c_idPortrait

string Card.c_idPortrait
getset

Definition at line 1524 of file Card.cs.

1525 {
1526 get
1527 {
1528 return GetStr(9);
1529 }
1530 set
1531 {
1532 SetStr(9, value);
1533 }
1534 }

Referenced by LayerEditPCC.Activate(), GameIndex.Create(), and LayerEditPortrait.RefreshList().

◆ c_idRace

string Card.c_idRace
getset

Definition at line 1536 of file Card.cs.

1537 {
1538 get
1539 {
1540 return GetStr(3);
1541 }
1542 set
1543 {
1544 SetStr(3, value);
1545 }
1546 }

◆ c_idRefCard

◆ c_idRefCard2

string Card.c_idRefCard2
getset

Definition at line 1776 of file Card.cs.

1777 {
1778 get
1779 {
1780 return GetStr(6);
1781 }
1782 set
1783 {
1784 SetStr(6, value);
1785 }
1786 }

Referenced by Thing.CanStackTo().

◆ c_idRefName

string Card.c_idRefName
getset

Definition at line 1668 of file Card.cs.

1669 {
1670 get
1671 {
1672 return GetStr(7);
1673 }
1674 set
1675 {
1676 SetStr(7, value);
1677 }
1678 }

Referenced by SerializedCards.Add(), Chara.GiveGift(), TraitBaseSpellbook.OnRead(), AM_Blueprint.OnSave(), TraitBaseContainer.SetName(), TraitBaseSpellbook.SetName(), TraitBlueprint.SetName(), TraitParcel.SetName(), and ActThrow.Throw().

◆ c_idRidePCC

string Card.c_idRidePCC
getset

Definition at line 1680 of file Card.cs.

1681 {
1682 get
1683 {
1684 return GetStr(55);
1685 }
1686 set
1687 {
1688 SetStr(55, value);
1689 }
1690 }

Referenced by ActPlan._Update().

◆ c_idSpriteReplacer

string Card.c_idSpriteReplacer
getset

Definition at line 1584 of file Card.cs.

1585 {
1586 get
1587 {
1588 return GetStr(13);
1589 }
1590 set
1591 {
1592 SetStr(13, value);
1593 }
1594 }

Referenced by CharaRenderer.SetOwner().

◆ c_idTalk

string Card.c_idTalk
getset

Definition at line 1596 of file Card.cs.

1597 {
1598 get
1599 {
1600 return GetStr(21);
1601 }
1602 set
1603 {
1604 SetStr(21, value);
1605 }
1606 }

Referenced by Person.GetDramaTitle().

◆ c_idTone

string Card.c_idTone
getset

Definition at line 1560 of file Card.cs.

1561 {
1562 get
1563 {
1564 return GetStr(22);
1565 }
1566 set
1567 {
1568 SetStr(22, value);
1569 }
1570 }

Referenced by Person.GetDramaTitle(), and Person.SetChara().

◆ c_idTrait

string Card.c_idTrait
getset

Definition at line 1752 of file Card.cs.

1753 {
1754 get
1755 {
1756 return GetStr(29);
1757 }
1758 set
1759 {
1760 SetStr(29, value);
1761 }
1762 }

Referenced by SerializedCards.Add(), ApplyTrait(), and AM_EditMarker.GetSimpleText().

◆ c_IDTState

int Card.c_IDTState
getset

Definition at line 1284 of file Card.cs.

1285 {
1286 get
1287 {
1288 return GetInt(2);
1289 }
1290 set
1291 {
1292 SetInt(2, value);
1293 }
1294 }

Referenced by SerializedCards.Add(), Thing.CanStackTo(), Player.CreateEquip(), Player.OnAdvanceHour(), and DramaOutcome.QuestExploration_Drop1().

◆ c_indexContainerIcon

int Card.c_indexContainerIcon
getset

Definition at line 1428 of file Card.cs.

1429 {
1430 get
1431 {
1432 return GetInt(15);
1433 }
1434 set
1435 {
1436 SetInt(15, value);
1437 }
1438 }

Referenced by ButtonGrid.SetCard().

◆ c_invest

int Card.c_invest
getset

Definition at line 1320 of file Card.cs.

1321 {
1322 get
1323 {
1324 return GetInt(28);
1325 }
1326 set
1327 {
1328 SetInt(28, value);
1329 }
1330 }

Referenced by TraitChara.GetDramaText(), and CalcMoney.InvestShop().

◆ c_isDisableStockUse

bool Card.c_isDisableStockUse
getset

Definition at line 1098 of file Card.cs.

1099 {
1100 get
1101 {
1102 return GetInt(122) != 0;
1103 }
1104 set
1105 {
1106 SetInt(122, value ? 1 : 0);
1107 }
1108 }

Referenced by UIDragGridIngredients.Refresh(), and LayerDragGrid.RefreshCost().

◆ c_isImportant

◆ c_isPrayed

bool Card.c_isPrayed
getset

Definition at line 1086 of file Card.cs.

1087 {
1088 get
1089 {
1090 return GetInt(121) != 0;
1091 }
1092 set
1093 {
1094 SetInt(121, value ? 1 : 0);
1095 }
1096 }

Referenced by FactionBranch.OnSimulateDay(), and GoalIdle.Run().

◆ c_isTrained

bool Card.c_isTrained
getset

Definition at line 1074 of file Card.cs.

1075 {
1076 get
1077 {
1078 return GetInt(120) != 0;
1079 }
1080 set
1081 {
1082 SetInt(120, value ? 1 : 0);
1083 }
1084 }

◆ c_lightColor

int Card.c_lightColor
getset

Definition at line 1110 of file Card.cs.

1111 {
1112 get
1113 {
1114 return GetInt(5);
1115 }
1116 set
1117 {
1118 Mod();
1119 SetInt(5, value);
1120 }
1121 }
void Mod()
Definition: Card.cs:2553

Referenced by ActPlan._Update(), and SerializedCards.Add().

◆ c_lockedAge

int Card.c_lockedAge
getset

Definition at line 1380 of file Card.cs.

1381 {
1382 get
1383 {
1384 return GetInt(38);
1385 }
1386 set
1387 {
1388 SetInt(38, value);
1389 }
1390 }

Referenced by Biography.GetAge(), ActEffect.Proc(), and Biography.SetAge().

◆ c_lockedHard

bool Card.c_lockedHard
getset

Definition at line 1050 of file Card.cs.

1051 {
1052 get
1053 {
1054 return GetInt(63) != 0;
1055 }
1056 set
1057 {
1058 SetInt(63, value ? 1 : 0);
1059 }
1060 }

Referenced by Trait.OnLockOpen(), Trait.TryOpenLock(), and Trait.TryPryOpenLock().

◆ c_lockLv

◆ c_love

LoveData Card.c_love
getset

Definition at line 1872 of file Card.cs.

1873 {
1874 get
1875 {
1876 return GetObj<LoveData>(20);
1877 }
1878 set
1879 {
1880 SetObj(20, value);
1881 }
1882 }

Referenced by GameDate.AdvanceDay().

◆ c_minionType

MinionType Card.c_minionType
getset

Definition at line 1002 of file Card.cs.

1003 {
1004 get
1005 {
1006 return GetInt(61).ToEnum<MinionType>();
1007 }
1008 set
1009 {
1010 SetInt(61, (int)value);
1011 }
1012 }
MinionType
Definition: MinionType.cs:2

Referenced by TaskCullLife.CanCull(), Zone.CountMinions(), Zone.ListMinions(), Chara.MoveZone(), and AI_Idle.Run().

◆ c_mixedFoodData

MixedFoodData Card.c_mixedFoodData
getset

Definition at line 1944 of file Card.cs.

1945 {
1946 get
1947 {
1948 return GetObj<MixedFoodData>(18);
1949 }
1950 set
1951 {
1952 SetObj(18, value);
1953 }
1954 }

Referenced by CraftUtil.WrapIngredient().

◆ c_note

string Card.c_note
getset

Definition at line 1788 of file Card.cs.

1789 {
1790 get
1791 {
1792 return GetStr(51);
1793 }
1794 set
1795 {
1796 SetStr(51, value);
1797 }
1798 }

Referenced by SerializedCards.Add(), TraitNote.CanStackTo(), and TraitNote.TrySetAct().

◆ c_originalHostility

Hostility Card.c_originalHostility
getset

Definition at line 990 of file Card.cs.

991 {
992 get
993 {
994 return GetInt(12).ToEnum<Hostility>();
995 }
996 set
997 {
998 SetInt(12, (int)value);
999 }
1000 }

Referenced by Chara.CreateReplacement().

◆ c_priceAdd

int Card.c_priceAdd
getset

Definition at line 1163 of file Card.cs.

1164 {
1165 get
1166 {
1167 return GetInt(29);
1168 }
1169 set
1170 {
1171 SetInt(29, value);
1172 }
1173 }

Referenced by Thing.CanStackTo().

◆ c_priceCopy

int Card.c_priceCopy
getset

Definition at line 1175 of file Card.cs.

1176 {
1177 get
1178 {
1179 return GetInt(124);
1180 }
1181 set
1182 {
1183 SetInt(124, value);
1184 }
1185 }

Referenced by Thing.CanStackTo(), and CraftUtil.MixIngredients().

◆ c_priceFix

int Card.c_priceFix
getset

Definition at line 1151 of file Card.cs.

1152 {
1153 get
1154 {
1155 return GetInt(21);
1156 }
1157 set
1158 {
1159 SetInt(21, value);
1160 }
1161 }

Referenced by Thing.CanStackTo(), and TraitSpotBiome.CountNotableThing().

◆ c_refText

string Card.c_refText
getset

Definition at line 1656 of file Card.cs.

1657 {
1658 get
1659 {
1660 return GetStr(10);
1661 }
1662 set
1663 {
1664 SetStr(10, value);
1665 }
1666 }

Referenced by ActPlan._Update(), SerializedCards.Add(), Cell.GetObjName(), and TraitSeed.MakeSeed().

◆ c_rescueState

RescueState Card.c_rescueState
getset

Definition at line 1236 of file Card.cs.

1237 {
1238 get
1239 {
1240 return GetInt(53).ToEnum<RescueState>();
1241 }
1242 set
1243 {
1244 SetInt(53, (int)value);
1245 }
1246 }

◆ c_revealLock

bool Card.c_revealLock
getset

Definition at line 1062 of file Card.cs.

1063 {
1064 get
1065 {
1066 return GetInt(64) != 0;
1067 }
1068 set
1069 {
1070 SetInt(64, value ? 1 : 0);
1071 }
1072 }

Referenced by Trait.OnBarter().

◆ c_seed

int Card.c_seed
getset

Definition at line 1332 of file Card.cs.

1333 {
1334 get
1335 {
1336 return GetInt(33);
1337 }
1338 set
1339 {
1340 SetInt(33, value);
1341 }
1342 }

Referenced by TraitGodStatue._OnUse(), DNA.GenerateManiGene(), TraitSeed.LevelSeed(), and TraitSeed.MakeSeed().

◆ c_summonDuration

int Card.c_summonDuration
getset

Definition at line 1452 of file Card.cs.

1453 {
1454 get
1455 {
1456 return GetInt(17);
1457 }
1458 set
1459 {
1460 SetInt(17, value);
1461 }
1462 }

◆ c_textureData

byte [] Card.c_textureData
getset

Definition at line 1968 of file Card.cs.

1969 {
1970 get
1971 {
1972 return GetObj<byte[]>(4);
1973 }
1974 set
1975 {
1976 SetObj(4, value);
1977 }
1978 }

Referenced by TraitPainter.GetCanvas(), TraitCanvas.OnSetCardGrid(), CardActor.RefreshSprite(), LayerPixelPaint.SetCanvas(), and TraitCanvas.TrySetAct().

◆ c_uidAttune

int Card.c_uidAttune
getset

Definition at line 1199 of file Card.cs.

1200 {
1201 get
1202 {
1203 return GetInt(133);
1204 }
1205 set
1206 {
1207 Mod();
1208 SetInt(133, value);
1209 }
1210 }

Referenced by TraitKettle.CanCopy(), CharaBody.Equip(), CharaBody.IsEquippable(), ActEffect.Proc(), InvOwner.Transaction.Process(), and Chara.ShouldEquip().

◆ c_uidMaster

int Card.c_uidMaster
getset

Definition at line 1476 of file Card.cs.

1477 {
1478 get
1479 {
1480 return GetInt(54);
1481 }
1482 set
1483 {
1484 SetInt(54, value);
1485 }
1486 }

Referenced by Chara.CanReplace(), Zone.CountMinions(), Chara.HasMinion(), Zone.ListMinions(), Chara.MoveZone(), ActEffect.ProcAt(), and AI_Idle.Run().

◆ c_uidRefCard

int Card.c_uidRefCard
getset

Definition at line 1138 of file Card.cs.

1139 {
1140 get
1141 {
1142 return GetInt(11);
1143 }
1144 set
1145 {
1146 Mod();
1147 SetInt(11, value);
1148 }
1149 }

Referenced by TraitShackle.IsRestraining().

◆ c_uidZone

int Card.c_uidZone
getset

Definition at line 1125 of file Card.cs.

1126 {
1127 get
1128 {
1129 return GetInt(10);
1130 }
1131 set
1132 {
1133 Mod();
1134 SetInt(10, value);
1135 }
1136 }

◆ c_uniqueData

UniqueData Card.c_uniqueData
getset

Definition at line 1800 of file Card.cs.

1801 {
1802 get
1803 {
1804 return GetObj<UniqueData>(6);
1805 }
1806 set
1807 {
1808 SetObj(6, value);
1809 }
1810 }

◆ c_upgrades

CharaUpgrade Card.c_upgrades
getset

Definition at line 1860 of file Card.cs.

1861 {
1862 get
1863 {
1864 return GetObj<CharaUpgrade>(11);
1865 }
1866 set
1867 {
1868 SetObj(11, value);
1869 }
1870 }

Referenced by WindowCharaMini.Refresh().

◆ c_vomit

int Card.c_vomit
getset

Definition at line 1014 of file Card.cs.

1015 {
1016 get
1017 {
1018 return GetInt(13);
1019 }
1020 set
1021 {
1022 SetInt(13, value);
1023 }
1024 }

◆ c_wasInPcParty

bool Card.c_wasInPcParty
getset

Definition at line 1026 of file Card.cs.

1027 {
1028 get
1029 {
1030 return GetInt(103) != 0;
1031 }
1032 set
1033 {
1034 SetInt(103, value ? 1 : 0);
1035 }
1036 }

Referenced by FactionBranch.DailyOutcome(), and FactionBranch.OnAfterSimulate().

◆ c_weight

int Card.c_weight
getset

Definition at line 1404 of file Card.cs.

1405 {
1406 get
1407 {
1408 return GetInt(1);
1409 }
1410 set
1411 {
1412 SetInt(1, value);
1413 }
1414 }

Referenced by ChangeWeight().

◆ c_windowSaveData

Window.SaveData Card.c_windowSaveData
getset

Definition at line 1848 of file Card.cs.

1849 {
1850 get
1851 {
1852 return GetObj<Window.SaveData>(2);
1853 }
1854 set
1855 {
1856 SetObj(2, value);
1857 }
1858 }

Referenced by LayerInventory.CreateContainer(), LayerInventory.CreateContainer< T >(), and GetWindowSaveData().

◆ CanInspect

bool Card.CanInspect
get

Implements IInspect.

Definition at line 2511 of file Card.cs.

2512 {
2513 get
2514 {
2515 if (!isDestroyed)
2516 {
2517 return ExistsOnMap;
2518 }
2519 return false;
2520 }
2521 }

◆ category

SourceCategory.Row Card.category
get

Definition at line 2089 of file Card.cs.

Referenced by Chara._Move(), ActMelee.Attack(), AI_Shopping.Buy(), Chara.CanAcceptItem(), CanAddRune(), TraitDrink.CanBlend(), TraitWell.CanBlend(), RecipeCard.Craft(), Create(), FactionBranch.DailyOutcome(), Trait.DamageRandomProperty(), CardRenderer.Draw(), BaseTileMap.DrawTile(), CharaBody.Equip(), ThingContainer.GetDest(), Religion.GetOfferingValue(), TraitTicketFurniture.GetPrice(), TraitBrewery.GetProductID(), CharaBody.GetSlot(), TaskBuild.GetText(), QuestSupplyCat.IsDestThing(), Recipe.Ingredient.IsValidIngredient(), Props.ListThingsInCategory(), Props.ListThingStack(), TaskDump.ListThingsToPut(), Trait.OnBarter(), TraitBrewery.OnChildDecay(), InvOwner.OnDrag(), Affinity.OnGift(), Props.OnNumChange(), AI_Fish.ProgressFish.OnProgressComplete(), AttackProcess.Prepare(), AttackProcess.ProcShieldEncs(), ThingContainer.RefreshGrid(), UIInventory.RefreshList(), AI_Fish.Run(), AI_Idle.Run(), AI_Steal.Run(), AI_UseCrafter.Run(), Chara.ShouldEquip(), InvOwnerChangeMaterial.ShouldShowGuide(), InvOwnerDeliver.ShouldShowGuide(), InvOwnerDeliverBox.ShouldShowGuide(), InvOwnerEnchant.ShouldShowGuide(), InvOwnerLighten.ShouldShowGuide(), InvOwnerReconstruction.ShouldShowGuide(), InvOwnerRecycle.ShouldShowGuide(), Chara.ShouldThrowAway(), ActThrow.Throw(), Zone.TryAddThingInSharedContainer(), Chara.TryEquip(), Zone.TryGetRestock< T >(), Chara.TryPutSharedItems(), Chara.TryReservePickupTutorial(), TraitToolHammerStrip.TrySetHeldAct(), Map.TryShatter(), and LayerInventory.TryShowGuide().

◆ Cell

◆ CHA

◆ Chara

virtual Chara Card.Chara
get

Definition at line 2109 of file Card.cs.

2110 {
2111 get
2112 {
2113 if (!isChara)
2114 {
2115 return null;
2116 }
2117 return (Chara)this;
2118 }
2119 }

Referenced by InvOwnerBlend._OnProcess(), HotItemNoItem._TrySetAct(), ActPlan._Update(), SerializedCards.Add(), Props.Add(), Cell.AddCard(), Zone.AddCard(), Map.AddCardOnActivate(), InvOwner.AllowHold(), Feat.Apply(), ApplyEditorTags(), ApplyElementEffect(), Thing.ApplyMaterialElements(), ActMelee.Attack(), GoalCombat.BuildAbilityList(), GuildFighter.CanGiveContribution(), ActNTR.CanPerform(), ActRestrain.CanPerform(), ActRush.CanPerform(), Chara.CanSee(), Chara.CanSeeLos(), InvOwner.CanShiftClick(), TraitSalesTag.CanTagSale(), Faction.CountMembers(), ActEffect.DamageEle(), DamageHP(), Chara.DoHostileAction(), DragItemCard.DragInfo.DragInfo(), CardRenderer.Draw(), AI_Fuck.Finish(), Biography.Generate(), AI_Shear.GetFur(), LayerInspect.GetItem(), CardRow.GetName(), CardRenderer.GetPref(), Chara.GoHostile(), InvOwner.Grab(), Chara.HasHigherGround(), Act.IsValidTC(), ElementContainer.ListElements(), InvOwner.ListInteractions(), MakeFoodFrom(), ElementContainer.ModExp(), Trait.OnBarter(), AI_Slaughter.OnCancelOrSuccess(), Map.OnCardAddedToZone(), Map.OnCardRemovedFromZone(), InvOwner.OnClick(), InvOwner.OnDrag(), SurvivalManager.OnExpandFloor(), ElementContainerCard.OnLevelDown(), ElementContainerCard.OnLevelUp(), AM_MoveInstalled.OnProcessTiles(), ItemGeneral.OnRefreshPref(), ActBloodsuck.Perform(), ActChat.Perform(), ActDreamBug.Perform(), ActKick.Perform(), ActKiss.Perform(), ActMoneySlap.Perform(), ActNTR.Perform(), ActRanged.Perform(), ActRestrain.Perform(), ActRush.Perform(), ActSlime.Perform(), ActTelekinesis.Perform(), ActEffect.Proc(), ActEffect.ProcAt(), InvOwner.Transaction.Process(), InvOwner.PutBack(), CardRenderer.RefreshExtra(), Props.Remove(), Cell.RemoveCard(), RemoveThing(), SerializedCards.Restore(), AI_AttackHome.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), GoalSiege.Run(), ButtonGrid.SetBodySlot(), ButtonGeneral.SetCard(), Portrait.SetChara(), Meeting.SetChara(), PointTarget.ShouldIgnore(), CardRenderer.ShowBossText(), ActThrow.Throw(), TryMakeRandomItem(), Trait.TrySetAct(), TraitLeash.TrySetHeldAct(), TraitStethoscope.TrySetHeldAct(), TraitWhipLove.TrySetHeldAct(), Map.TryShatter(), ElementContainerCard.ValueBonus(), and Thing.WriteNote().

◆ ChildrenAndSelfWeight

◆ ChildrenAndSelfWeightSingle

int Card.ChildrenAndSelfWeightSingle
get

Definition at line 2083 of file Card.cs.

◆ ChildrenWeight

int Card.ChildrenWeight
get

Definition at line 2052 of file Card.cs.

2053 {
2054 get
2055 {
2056 if (dirtyWeight)
2057 {
2058 _childrenWeight = 0;
2059 if (!(trait is TraitMagicChest))
2060 {
2061 foreach (Thing thing in things)
2062 {
2064 }
2065 dirtyWeight = false;
2066 (parent as Card)?.SetDirtyWeight();
2067 if (isChara && IsPCFaction)
2068 {
2069 Chara.CalcBurden();
2070 }
2071 if (_childrenWeight < 0 || _childrenWeight > 10000000)
2072 {
2073 _childrenWeight = 10000000;
2074 }
2075 }
2076 }
2077 return _childrenWeight * Mathf.Max(100 - Evalue(404), 0) / 100;
2078 }
2079 }
int _childrenWeight
Definition: Card.cs:90
void CalcBurden()
Definition: Chara.cs:1870

Referenced by UICurrency.Build(), AI_Fish.ProgressFish.OnProgressComplete(), and AttackProcess.Prepare().

◆ colorInt

int Card.colorInt
get

Definition at line 110 of file Card.cs.

111 {
112 get
113 {
114 if (_colorInt == 0)
115 {
116 RefreshColor();
117 }
118 return _colorInt;
119 }
120 }

◆ decay

int Card.decay
getset

Definition at line 220 of file Card.cs.

221 {
222 get
223 {
224 return _ints[12];
225 }
226 set
227 {
228 _ints[12] = value;
229 }
230 }

Referenced by ChangeMaterial(), Duplicate(), TaskHarvest.HarvestThing(), and TryStackTo().

◆ DefaultLV

int Card.DefaultLV
get

Definition at line 2050 of file Card.cs.

Referenced by Create().

◆ DefaultMaterial

virtual SourceMaterial.Row Card.DefaultMaterial
get

Definition at line 2463 of file Card.cs.

Referenced by SerializedCards.Add().

◆ DEX

int Card.DEX
get

◆ dir

◆ disableAutoToggle

bool Card.disableAutoToggle
getset

Definition at line 604 of file Card.cs.

605 {
606 get
607 {
608 return _bits1[15];
609 }
610 set
611 {
612 _bits1[15] = value;
613 }
614 }

Referenced by Trait.TrySetToggleAct().

◆ DMG

int Card.DMG
get

Definition at line 2373 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ DV

virtual int Card.DV
get

Definition at line 2367 of file Card.cs.

Referenced by Thing.GetName().

◆ DyeMat

◆ encLV

◆ END

int Card.END
get

Definition at line 2379 of file Card.cs.

Referenced by AI_Fuck.Finish(), and ConPoison.Tick().

◆ ExistsOnMap

bool Card.ExistsOnMap
get

Definition at line 2125 of file Card.cs.

Referenced by HotItemNoItem._TrySetAct(), FactionBranch.AutoClean(), AI_Shopping.Buy(), ActThrow.CanPerform(), Chara.CanPick(), AI_TargetCard.CanProgress(), TaskHarvest.CanProgress(), ActThrow.CanThrow(), QuestDefense.CanUpdateOnTalk(), FactionBranch.DailyOutcome(), ActEffect.DamageEle(), CardRenderer.Draw(), EjectSockets(), AI_Fuck.Finish(), FactionBranch.GenerateGarbage(), TaskHarvest.GetHitResult(), Scene.Init(), TaskDump.IsValidContainer(), AI_Deconstruct.IsValidTarget(), AI_Slaughter.IsValidTC(), AI_Slaughter.OnCancelOrSuccess(), AI_UseCrafter.OnEnd(), TraitRollingFortune.OnEndAI(), CharaRenderer.OnEnterScreen(), AM_Build.OnFinishProcessTiles(), CardRenderer.OnLeaveScreen(), AI_Sleep.OnProgressComplete(), TaskMoveInstalled.OnProgressComplete(), ConSleep.OnRemoved(), TraitGiftNewYear.OnUse(), TraitItemProc.OnUse(), SourcePrefInspector.OnValidate(), TraitContainer.Open(), ActMoneySlap.Perform(), ActRush.Perform(), ActThrow.Perform(), EffectIRenderer.Play(), ActEffect.Proc(), ActEffect.ProcAt(), UIRecipeInfo.Refresh(), WidgetMouseover.Refresh(), BuildMenu.RefreshCategory(), AI_Churyu.Run(), AI_Cook.Run(), AI_Equip.Run(), AI_Grab< T >.Run(), AI_Haul.Run(), AI_Idle.Run(), AI_Mofu.Run(), AI_Offer.Run(), AI_PlayMusic.Run(), AI_Shopping.Run(), AI_Steal.Run(), AI_TargetCard.Run(), AI_Torture.Run(), AI_Trolley.Run(), AI_UseCrafter.Run(), GoalCombat.Run(), TaskMoveInstalled.Run(), AIWork.SetDestPos(), AI_PlayMusic.ThrowReward(), StanceSongEnd.TickSong(), StanceSongSleep.TickSong(), HotItemAct.TrySetAct(), TraitCatalyst.TrySetHeldAct(), and Thing.WriteNote().

◆ exp

int Card.exp
getset

Definition at line 400 of file Card.cs.

401 {
402 get
403 {
404 return _ints[26];
405 }
406 set
407 {
408 _ints[26] = value;
409 }
410 }

Referenced by AddExp(), Duplicate(), WidgetExp.Refresh(), WidgetExpHome.Refresh(), and WindowChara.RefreshNote().

◆ ExpToNext

int Card.ExpToNext
get

◆ FameLv

int Card.FameLv
get

Definition at line 2339 of file Card.cs.

2340 {
2341 get
2342 {
2343 if (!IsPC)
2344 {
2345 return LV;
2346 }
2347 return Mathf.Min(EClass.player.fame / 100 + 1, 21474836);
2348 }
2349 }

Referenced by Region.CreateRandomSite(), ZonePreEnterEncounter.Execute(), Quest.Init(), CraftUtil.MixIngredients(), TraitParchmentBottle.OnCreate(), Chara.RestockEquip(), and Thing.WriteNote().

◆ feat

int Card.feat
getset

Definition at line 376 of file Card.cs.

377 {
378 get
379 {
380 return _ints[24];
381 }
382 set
383 {
384 _ints[24] = value;
385 }
386 }

Referenced by LevelUp(), ButtonElement.Refresh(), WidgetExp.Refresh(), WidgetExpHome.Refresh(), WindowCharaMini.Refresh(), WindowChara.RefreshFeatMode(), TraitGene.TrySetHeldAct(), and DNA.WriteNoteExtra().

◆ flipX

virtual bool Card.flipX
get

Definition at line 2155 of file Card.cs.

2156 {
2157 get
2158 {
2159 if (Tiles.Length == 1)
2160 {
2161 return dir % 2 == 1;
2162 }
2163 return false;
2164 }
2165 }
virtual int[] Tiles
Definition: Card.cs:2351

Referenced by CardRenderer.Draw(), BaseTileMap.DrawTile(), BaseTileMap.GetThingPosition(), TraitPaintBoard.OnRenderExtra(), and CoreDebug.UpdateInput().

◆ freePos

bool Card.freePos
getset

Definition at line 520 of file Card.cs.

521 {
522 get
523 {
524 return _bits1[8];
525 }
526 set
527 {
528 _bits1[8] = value;
529 }
530 }

Referenced by BaseTileMap.DrawTile(), AM_MoveInstalled.OnProcessTiles(), RecipeCard.OnRenderMarker(), SerializedCards.Restore(), and SetPlaceState().

◆ fx

float Card.fx
getset

Definition at line 256 of file Card.cs.

257 {
258 get
259 {
260 return 0.001f * (float)_ints[15];
261 }
262 set
263 {
264 _ints[15] = (int)(value * 1000f);
265 }
266 }

Referenced by BaseTileMap.DrawTile(), RecipeCard.OnRenderMarker(), and SetPlaceState().

◆ fy

float Card.fy
getset

Definition at line 268 of file Card.cs.

269 {
270 get
271 {
272 return 0.001f * (float)_ints[16];
273 }
274 set
275 {
276 _ints[16] = (int)(value * 1000f);
277 }
278 }

Referenced by BaseTileMap.DrawTile(), RecipeCard.OnRenderMarker(), SerializedCards.Restore(), and SetPlaceState().

◆ genLv

int Card.genLv
getset

Definition at line 196 of file Card.cs.

197 {
198 get
199 {
200 return _ints[10];
201 }
202 set
203 {
204 _ints[10] = value;
205 }
206 }

Referenced by Create(), Chara.OnCreate(), Thing.OnCreate(), and ActEffect.Proc().

◆ H

int Card.H
get

Definition at line 2407 of file Card.cs.

2408 {
2409 get
2410 {
2411 if (dir % 2 != 0)
2412 {
2413 return sourceCard.W;
2414 }
2415 return sourceCard.H;
2416 }
2417 }

Referenced by HitSummary.CanExecute(), TraitBoat.ForeachDeck(), TaskMoveInstalled.Run(), AM_Adv.ShowAllAction(), and TraitNewZone.TrySetAct().

◆ HasContainerSize

bool Card.HasContainerSize
get

Definition at line 2449 of file Card.cs.

◆ HasHost

virtual bool Card.HasHost
get

◆ hasSpawned

bool Card.hasSpawned
getset

Definition at line 904 of file Card.cs.

905 {
906 get
907 {
908 return _bits2[8];
909 }
910 set
911 {
912 _bits2[8] = value;
913 }
914 }

Referenced by Zone.AddCard().

◆ HIT

int Card.HIT
get

Definition at line 2371 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ HostRenderer

CardRenderer Card.HostRenderer
get

Definition at line 2483 of file Card.cs.

2484 {
2485 get
2486 {
2487 if (!isChara || Chara.host == null)
2488 {
2489 return renderer;
2490 }
2491 return Chara.host.renderer;
2492 }
2493 }

Referenced by AI_Idle.Run().

◆ hp

◆ idMaterial

int Card.idMaterial
getset

Definition at line 136 of file Card.cs.

137 {
138 get
139 {
140 return _ints[4];
141 }
142 set
143 {
144 _ints[4] = value;
145 }
146 }

Referenced by Thing.CanStackTo(), ChangeMaterial(), Create(), Duplicate(), and ActEffect.Proc().

◆ idSkin

int Card.idSkin
getset

◆ ignoreAutoPick

bool Card.ignoreAutoPick
getset

Definition at line 508 of file Card.cs.

509 {
510 get
511 {
512 return _bits1[7];
513 }
514 set
515 {
516 _bits1[7] = value;
517 }
518 }

Referenced by Chara._Move(), and ActPlan._Update().

◆ ignoreStackHeight

bool Card.ignoreStackHeight
getset

Definition at line 640 of file Card.cs.

641 {
642 get
643 {
644 return _bits1[18];
645 }
646 set
647 {
648 _bits1[18] = value;
649 }
650 }

Referenced by BaseTileMap.DrawTile(), BaseTileMap.GetThingPosition(), and AM_MoveInstalled.OnProcessTiles().

◆ InspectName

string Card.InspectName
get

Implements IInspect.

Definition at line 2523 of file Card.cs.

◆ InspectPoint

Point Card.InspectPoint
get

Implements IInspect.

Definition at line 2525 of file Card.cs.

◆ InspectPosition

Vector3 Card.InspectPosition
get

Implements IInspect.

Definition at line 2527 of file Card.cs.

◆ INT

int Card.INT
get

Definition at line 2391 of file Card.cs.

◆ invX

int Card.invX
getset

Definition at line 1982 of file Card.cs.

1983 {
1984 get
1985 {
1986 return pos.x;
1987 }
1988 set
1989 {
1990 pos.x = value;
1991 }
1992 }

Referenced by DragItemCard.DragInfo.DragInfo(), ItemPosition.Get(), ThingContainer.IsOccupied(), InvOwner.ListInteractions(), Game.OnLoad(), HotItemEQSet.Perform(), WidgetCurrentTool.RebuildSlots(), ThingContainer.RefreshGrid(), and ThingContainer.TryStack().

◆ invY

◆ isAcidproof

bool Card.isAcidproof
getset

Definition at line 688 of file Card.cs.

689 {
690 get
691 {
692 return _bits1[22];
693 }
694 set
695 {
696 _bits1[22] = value;
697 }
698 }

Referenced by TraitDrink.CanBlend(), ActEffect.Proc(), and Chara.TryUse().

◆ IsAgent

bool Card.IsAgent
get

◆ IsAliveInCurrentZone

◆ IsAmmo

◆ isBackerContent

bool Card.isBackerContent
get

Definition at line 940 of file Card.cs.

Referenced by TraitSpecialLantern.OnCreate(), SerializedCards.Restore(), and Zone.Revive().

◆ IsBlessed

bool Card.IsBlessed
get

Definition at line 2295 of file Card.cs.

Referenced by TraitWell.OnBlend().

◆ isBroken

bool Card.isBroken
getset

Definition at line 736 of file Card.cs.

737 {
738 get
739 {
740 return _bits1[26];
741 }
742 set
743 {
744 _bits1[26] = value;
745 }
746 }

Referenced by TraitGenerator.ModHP(), TraitGenerator.OnSimulateHour(), and TraitGenerator.SetName().

◆ isCensored

bool Card.isCensored
getset

Definition at line 436 of file Card.cs.

437 {
438 get
439 {
440 return _bits1[1];
441 }
442 set
443 {
444 _bits1[1] = value;
445 }
446 }

Referenced by CardRenderer.OnEnterScreen().

◆ isChara

virtual bool Card.isChara
get

Definition at line 2123 of file Card.cs.

Referenced by _OnDeserialized(), HotItemNoItem._TrySetAct(), SerializedCards.Add(), Props.Add(), Cell.AddCard(), Map.AddCardOnActivate(), InvOwner.AllowHold(), ApplyElementEffect(), ApplyTrait(), ActMelee.Attack(), Trait.CanOffer(), ActBloodsuck.CanPerform(), ActKick.CanPerform(), ActKiss.CanPerform(), ActNTR.CanPerform(), ActSlime.CanPerform(), AM_MoveInstalled.CanPutAway(), Chara.CanSee(), InvOwner.CanShiftClick(), TraitSalesTag.CanTagSale(), AM_MoveInstalled.CheckEnemyNearBy(), Create(), LayerInventory.CreateContainer(), ActEffect.DamageEle(), DamageHP(), Chara.DoHostileAction(), CardRenderer.Draw(), CharaRenderer.DrawHeld(), GetBestAttribute(), ThingContainer.GetDest(), LayerInspect.GetItem(), Msg.GetName(), CardRow.GetName(), BaseTileMap.GetThingPosition(), HealHPHost(), ActMelee.HideHint(), AM_MoveInstalled.HitTest(), Chara.HoldCard(), Act.IsValidTC(), MakeFoodFrom(), MakeRefFrom(), ElementContainer.ModExp(), ModExp(), ModExpParty(), Map.OnCardAddedToZone(), Map.OnCardRemovedFromZone(), InvOwner.OnClick(), CardRenderer.OnEnterScreen(), ElementContainerCard.OnLevelDown(), ElementContainerCard.OnLevelUp(), Props.OnNumChange(), AM_MoveInstalled.OnProcessTiles(), ItemGeneral.OnRefreshPref(), ActDreamBug.Perform(), ActMoneySlap.Perform(), ActRanged.Perform(), ActRush.Perform(), ActTelekinesis.Perform(), Chara.PickHeld(), InvOwner.Transaction.Process(), Map.PutAway(), UIInventory.RefreshMenu(), Props.Remove(), Cell.RemoveCard(), Zone.RemoveCard(), RemoveThing(), SerializedCards.Restore(), SetLv(), CardRenderer.SetOwner(), PointTarget.ShouldIgnore(), ActThrow.Throw(), CardInspector.Traits(), Map.TryShatter(), CardRenderer.TrySpawnOrbit(), RecipeCard.WriteNote(), and Thing.WriteNote().

◆ IsContainer

◆ isCopy

bool Card.isCopy
getset

Definition at line 880 of file Card.cs.

881 {
882 get
883 {
884 return _bits2[6];
885 }
886 set
887 {
888 _bits2[6] = value;
889 }
890 }

Referenced by TraitAltar.CanOffer(), Thing.CanStackTo(), EjectSockets(), Chara.GiveGift(), TaskHarvest.HarvestThing(), TraitBrewery.OnChildDecay(), AttackProcess.Perform(), and ActEffect.Proc().

◆ isCrafted

bool Card.isCrafted
getset

Definition at line 796 of file Card.cs.

797 {
798 get
799 {
800 return _bits1[31];
801 }
802 set
803 {
804 _bits1[31] = value;
805 }
806 }

Referenced by TraitKettle.CanCopy(), and Thing.CanStackTo().

◆ IsCursed

bool Card.IsCursed
get

Definition at line 2297 of file Card.cs.

Referenced by InvOwner.AllowHold(), Chara.GiveGift(), and SpawnLoot().

◆ IsDeadOrSleeping

virtual bool Card.IsDeadOrSleeping
get

Definition at line 2149 of file Card.cs.

Referenced by CardRenderer.Draw().

◆ IsDecayed

◆ isDeconstructing

bool Card.isDeconstructing
getset

Definition at line 448 of file Card.cs.

449 {
450 get
451 {
452 return _bits1[2];
453 }
454 set
455 {
456 _bits1[2] = value;
457 }
458 }

Referenced by BaseTileMap.DrawTile(), TileMapElona.DrawTile(), AI_Deconstruct.IsValidTarget(), and InspectGroupThing.OnSetActions().

◆ IsDisabled

virtual bool Card.IsDisabled
get

Definition at line 2151 of file Card.cs.

Referenced by ActMelee.Attack().

◆ isDyed

bool Card.isDyed
getset

Definition at line 460 of file Card.cs.

461 {
462 get
463 {
464 return _bits1[3];
465 }
466 set
467 {
468 _bits1[3] = value;
469 }
470 }

Referenced by Thing.CanStackTo(), Recipe.GetColorMaterial(), Recipe.GetDefaultColor(), Game.OnLoad(), TraitToolBrushStrip.TrySetHeldAct(), and ActionMode.UpdateInput().

◆ isElemental

bool Card.isElemental
getset

Definition at line 724 of file Card.cs.

725 {
726 get
727 {
728 return _bits1[25];
729 }
730 set
731 {
732 _bits1[25] = value;
733 }
734 }

◆ IsEquipment

◆ IsEquipmentOrRanged

bool Card.IsEquipmentOrRanged
get

Definition at line 2259 of file Card.cs.

2260 {
2261 get
2262 {
2263 if (category.slot == 0)
2264 {
2265 return IsRangedWeapon;
2266 }
2267 return true;
2268 }
2269 }

Referenced by Chara.GiveGift(), ActEffect.Proc(), InvOwnerReconstruction.ShouldShowGuide(), SpawnLoot(), Chara.TryTakeSharedItems(), and Chara.TryUse().

◆ IsEquipmentOrRangedOrAmmo

bool Card.IsEquipmentOrRangedOrAmmo
get

Definition at line 2271 of file Card.cs.

2272 {
2273 get
2274 {
2275 if (category.slot == 0 && !IsRangedWeapon)
2276 {
2277 return IsAmmo;
2278 }
2279 return true;
2280 }
2281 }

Referenced by TraitDrink.CanBlend(), TaskHarvest.GetIdDismantled(), SourceElement.Row.IsMaterialEncAppliable(), ModEncLv(), LayerCraft.RefreshProduct(), SetBlessedState(), and ButtonGrid.SetCard().

◆ isFav

bool Card.isFav
getset

Definition at line 928 of file Card.cs.

929 {
930 get
931 {
932 return _bits2[10];
933 }
934 set
935 {
936 _bits2[10] = value;
937 }
938 }

Referenced by ListPeopleParty.OnInstantiate().

◆ isFireproof

bool Card.isFireproof
getset

Definition at line 676 of file Card.cs.

677 {
678 get
679 {
680 return _bits1[21];
681 }
682 set
683 {
684 _bits1[21] = value;
685 }
686 }

◆ isFloating

bool Card.isFloating
getset

Definition at line 652 of file Card.cs.

653 {
654 get
655 {
656 return _bits1[19];
657 }
658 set
659 {
660 _bits1[19] = value;
661 }
662 }

Referenced by ActPlan._Update(), Cell.CanSuffocate(), Create(), BaseTileMap.DrawTile(), and Cell.GetSurfaceHeight().

◆ IsFood

◆ IsFresn

bool Card.IsFresn
get

Definition at line 2333 of file Card.cs.

◆ IsFurniture

bool Card.IsFurniture
get

◆ isGifted

bool Card.isGifted
getset

Definition at line 784 of file Card.cs.

785 {
786 get
787 {
788 return _bits1[30];
789 }
790 set
791 {
792 _bits1[30] = value;
793 }
794 }

Referenced by InvOwner.AllowHold(), Thing.CanStackTo(), ZonePreEnterBoutWin.Execute(), AI_Idle.Run(), ButtonGrid.SetCard(), Chara.ShouldThrowAway(), and SpawnLoot().

◆ IsGlobal

virtual bool Card.IsGlobal
get

Definition at line 2325 of file Card.cs.

◆ isHidden

◆ IsHotItem

◆ IsIdentified

◆ IsImportant

bool Card.IsImportant
get

Definition at line 2145 of file Card.cs.

◆ isImported

bool Card.isImported
getset

Definition at line 616 of file Card.cs.

617 {
618 get
619 {
620 return _bits1[16];
621 }
622 set
623 {
624 _bits1[16] = value;
625 }
626 }

◆ IsInheritFoodTraits

bool Card.IsInheritFoodTraits
get

Definition at line 2219 of file Card.cs.

2220 {
2221 get
2222 {
2223 if (!IsFood && !category.IsChildOf("seed") && !category.IsChildOf("drink") && !(id == "pasture"))
2224 {
2225 return id == "grass";
2226 }
2227 return true;
2228 }
2229 }

◆ IsInstalled

bool Card.IsInstalled
get

Definition at line 2423 of file Card.cs.

Referenced by Chara._Move(), ActPlan._Update(), TraitHouseBoard.ApplyData(), FactionBranch.CalcInnIncome(), TraitTrolley.CanActivate(), Cell.CanSuffocate(), TraitSalesTag.CanTagSale(), QuestSharedContainer.CanUpdateOnTalk(), QuestShippingChest.CanUpdateOnTalk(), TraitGamble.CanUse(), TraitGeneMachine.CanUse(), TraitGeneratorHamster.CanUse(), TraitGeneratorWheel.CanUse(), TraitItem.CanUse(), TraitLoytelMart.CanUse(), TraitMoongate.CanUse(), TraitShackle.CanUse(), TraitSpotBiome.CountNotableThing(), Chara.DestroyPath(), CardRenderer.Draw(), UIInspector.DrawHighlight(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), Zone.GetElectricity(), BaseArea.GetEmptySeat(), Point.GetInstalled< T >(), DramaCustomSequence.GetListGuide(), LayerInteraction.GetPage(), Zone.GetSpawnPos(), Cell.GetSurfaceHeight(), TraitGeneMachine.GetTarget(), BaseTileMap.GetThingPosition(), ActorEx.GetVolume(), Zone.GrowPlants(), Cell.HasZoneStairs(), Scene.Init(), TraitShackle.IsRestraining(), TaskDump.IsValidContainer(), TraitWrench.IsValidTarget(), HomeResourceWorth.ListHeirloom(), BaseArea.ListRoomNames(), Map.ListThing< T >(), Point.ListThings< T >(), InspectGroupThing.OnSetActions(), TraitClock.OnSimulateHour(), TraitFertilizer.OnSimulateHour(), TraitGenerator.OnSimulateHour(), TraitPhone.OnSimulateHour(), Zone.OnSimulateHour(), TraitNewZone.OnStepped(), ActRestrain.Perform(), BranchMap.Refresh(), Cell.Refresh(), TCOrbitThing.RefreshAll(), Zone.RefreshElectricity(), UIInventory.RefreshMenu(), SerializedCards.Restore(), AI_Idle.Run(), AI_Steal.Run(), RecipeUpdater.RunRecipe(), PartialMap.Save(), Zone_CurryRuinDungeon.SetAlarm(), TraitGeneratorWheel.ShouldWork(), Zone.Simulate(), Chara.Stumble(), Zone.TryGetRestock< T >(), Zone.TryListThingsInSpot< T >(), AI_Idle.TryPerformIdleUse(), TraitCanvas.TrySetAct(), TraitCoreZone.TrySetAct(), TraitDoor.TrySetAct(), TraitFactionBoard.TrySetAct(), TraitPillowStrange.TrySetAct(), TraitRoomPlate.TrySetAct(), TraitTrainingDummy.TrySetAct(), TraitEcoMark.TrySetHeldAct(), TraitTicketFurniture.TrySetHeldAct(), TraitTeleporter.TryTeleport(), Trait.TryToggle(), TraitSpotBiome.Update(), and ActionMode.UpdateInput().

◆ isLeashed

bool Card.isLeashed
getset

Definition at line 844 of file Card.cs.

845 {
846 get
847 {
848 return _bits2[3];
849 }
850 set
851 {
852 _bits2[3] = value;
853 }
854 }

Referenced by Chara._Move(), and TraitTrolley.CanActivate().

◆ IsLightsource

bool Card.IsLightsource
get

Definition at line 2213 of file Card.cs.

Referenced by ActEffect.Proc(), and InvOwnerChangeRarity.ShouldShowGuide().

◆ isLostProperty

bool Card.isLostProperty
getset

Definition at line 808 of file Card.cs.

809 {
810 get
811 {
812 return _bits2[0];
813 }
814 set
815 {
816 _bits2[0] = value;
817 }
818 }

Referenced by DramaCustomSequence.Build(), and Trait.OnLockOpen().

◆ IsMale

bool Card.IsMale
get

Definition at line 2425 of file Card.cs.

2426 {
2427 get
2428 {
2429 if (bio != null)
2430 {
2431 return bio.gender == 2;
2432 }
2433 return false;
2434 }
2435 }

Referenced by GameLang.Convert(), GameLang.ConvertDrama(), and Player.GetBackgroundText().

◆ isMasked

◆ IsMeleeWeapon

bool Card.IsMeleeWeapon
get

◆ IsMinion

virtual bool Card.IsMinion
get

Definition at line 2193 of file Card.cs.

◆ isModified

bool Card.isModified
getset

Definition at line 472 of file Card.cs.

473 {
474 get
475 {
476 return _bits1[4];
477 }
478 set
479 {
480 _bits1[4] = value;
481 }
482 }

Referenced by Thing.CanStackTo(), and Mod().

◆ IsMoving

virtual bool Card.IsMoving
get

Definition at line 2153 of file Card.cs.

◆ IsMultisize

virtual bool Card.IsMultisize
get

Definition at line 2199 of file Card.cs.

2200 {
2201 get
2202 {
2204 {
2205 return IsInstalled;
2206 }
2207 return false;
2208 }
2209 }
bool multisize
Definition: RenderRow.cs:64

Referenced by Map._AddCard(), Map._RemoveCard(), ActRestrain.CanPerform(), ActTelekinesis.CanPerform(), ActEffect.DamageEle(), Dist(), AI_Trolley.GetPoint(), ActRestrain.Perform(), and TaskDump.Run().

◆ IsNegativeGift

bool Card.IsNegativeGift
get

Definition at line 2437 of file Card.cs.

2438 {
2439 get
2440 {
2441 if (!HasTag(CTAG.neg))
2442 {
2443 return blessedState <= BlessedState.Cursed;
2444 }
2445 return true;
2446 }
2447 }

Referenced by Chara.CanEat(), ActThrow.Throw(), and Chara.TryUse().

◆ isNew

bool Card.isNew
getset

Definition at line 484 of file Card.cs.

485 {
486 get
487 {
488 return _bits1[5];
489 }
490 set
491 {
492 _bits1[5] = value;
493 }
494 }

Referenced by Create(), Chara.Pick(), and ButtonGrid.SetCard().

◆ isNPCProperty

◆ isOn

◆ IsPC

◆ IsPCC

virtual bool Card.IsPCC
get

Definition at line 2189 of file Card.cs.

Referenced by CardRenderer.GetPref().

◆ IsPCFaction

◆ IsPCFactionMinion

virtual bool Card.IsPCFactionMinion
get

Definition at line 2197 of file Card.cs.

Referenced by Chara.GoHostile().

◆ IsPCFactionOrMinion

◆ IsPCParty

◆ IsPCPartyMinion

virtual bool Card.IsPCPartyMinion
get

Definition at line 2195 of file Card.cs.

◆ isPlayerCreation

bool Card.isPlayerCreation
getset

Definition at line 496 of file Card.cs.

497 {
498 get
499 {
500 return _bits1[6];
501 }
502 set
503 {
504 _bits1[6] = value;
505 }
506 }

Referenced by AM_EditMarker.HitTest(), Map.ResetEditorPos(), and Map.Save().

◆ IsPowerful

bool Card.IsPowerful
get

Definition at line 2133 of file Card.cs.

2134 {
2135 get
2136 {
2137 if (rarity >= Rarity.Legendary || trait is TraitAdventurer)
2138 {
2139 return !IsPCFactionOrMinion;
2140 }
2141 return false;
2142 }
2143 }

Referenced by ActEffect.DamageEle(), ActRanged.Perform(), ActRush.Perform(), ActEffect.Proc(), GoalCombat.Run(), ConBurning.Tick(), ConDeathSentense.Tick(), and ConSuffocation.Tick().

◆ IsRangedWeapon

◆ isReplica

bool Card.isReplica
getset

Definition at line 700 of file Card.cs.

701 {
702 get
703 {
704 return _bits1[23];
705 }
706 set
707 {
708 _bits1[23] = value;
709 }
710 }

Referenced by TraitRuneMold.IsIngredient(), MaxRune(), PurgeDuplicateArtifact(), ElementContainerCard.SetOwner(), SetReplica(), and InvOwnerReconstruction.ShouldShowGuide().

◆ isRestocking

bool Card.isRestocking
getset

Definition at line 892 of file Card.cs.

893 {
894 get
895 {
896 return _bits2[7];
897 }
898 set
899 {
900 _bits2[7] = value;
901 }
902 }

Referenced by Trait.OnBarter(), TCOrbitChara.RefreshAll(), and TCOrbitThing.RefreshAll().

◆ isRestrained

◆ IsRestrainedResident

bool Card.IsRestrainedResident
get

Definition at line 2299 of file Card.cs.

2300 {
2301 get
2302 {
2303 if (isRestrained)
2304 {
2305 return IsPCFaction;
2306 }
2307 return false;
2308 }
2309 }

Referenced by ActPlan._Update(), ActMelee.Attack(), ActRanged.Perform(), AI_Idle.Run(), ActThrow.Throw(), and GoalCombat.TryUseAbility().

◆ isRoofItem

◆ IsRotting

bool Card.IsRotting
get

Definition at line 2331 of file Card.cs.

Referenced by ButtonGrid.SetCard().

◆ isSale

bool Card.isSale
getset

Definition at line 868 of file Card.cs.

869 {
870 get
871 {
872 return _bits2[5];
873 }
874 set
875 {
876 _bits2[5] = value;
877 }
878 }

Referenced by AI_Shopping.Buy(), TraitSalesTag.CanTagSale(), PropsManager.OnCardAddedToZone(), PropsManager.OnSetPlaceState(), RemoveThing(), AI_Shopping.Run(), Zone.TryGetRestock< T >(), and TraitSalesTag.TrySetHeldAct().

◆ isScaled

bool Card.isScaled
getset

Definition at line 916 of file Card.cs.

917 {
918 get
919 {
920 return _bits2[9];
921 }
922 set
923 {
924 _bits2[9] = value;
925 }
926 }

Referenced by Chara.GetHoverText2(), WindowCharaMini.Refresh(), and SetLv().

◆ isStolen

bool Card.isStolen
getset

Definition at line 856 of file Card.cs.

857 {
858 get
859 {
860 return _bits2[4];
861 }
862 set
863 {
864 _bits2[4] = value;
865 }
866 }

Referenced by TraitKettle.CanCopy(), Thing.CanStackTo(), and ShopTransaction.OnEndTransaction().

◆ isSubsetCard

bool Card.isSubsetCard
getset

Definition at line 748 of file Card.cs.

749 {
750 get
751 {
752 return _bits1[27];
753 }
754 set
755 {
756 _bits1[27] = value;
757 }
758 }

Referenced by Zone.UpdateQuests().

◆ isSummon

bool Card.isSummon
getset

Definition at line 712 of file Card.cs.

713 {
714 get
715 {
716 return _bits1[24];
717 }
718 set
719 {
720 _bits1[24] = value;
721 }
722 }

Referenced by Chara.CanReplace(), Destroy(), BaseListPeople.OnList(), and AI_Idle.Run().

◆ isSynced

virtual bool Card.isSynced
get

◆ isThing

◆ IsThrownWeapon

◆ IsToolbelt

bool Card.IsToolbelt
get

Definition at line 2211 of file Card.cs.

Referenced by ActEffect.Proc().

◆ IsUnique

◆ IsVariation

bool Card.IsVariation
get

Definition at line 2365 of file Card.cs.

◆ IsWeapon

bool Card.IsWeapon
get

Definition at line 2247 of file Card.cs.

2248 {
2249 get
2250 {
2251 if (!IsMeleeWeapon)
2252 {
2253 return IsRangedWeapon;
2254 }
2255 return true;
2256 }
2257 }
bool IsMeleeWeapon
Definition: Card.cs:2283

Referenced by AddRune(), CanAddRune(), AttackProcess.GetTwoHandEncBonus(), CharaBody.HasWeapon(), ModEncLv(), ActEffect.Proc(), and SetBlessedState().

◆ isWeightChanged

bool Card.isWeightChanged
getset

Definition at line 664 of file Card.cs.

665 {
666 get
667 {
668 return _bits1[20];
669 }
670 set
671 {
672 _bits1[20] = value;
673 }
674 }

Referenced by Thing.CanStackTo(), and ChangeWeight().

◆ LER

int Card.LER
get

Definition at line 2383 of file Card.cs.

Referenced by CraftUtil.MakeBloodMeal().

◆ LightColor

Color Card.LightColor
get

Definition at line 1123 of file Card.cs.

Referenced by ActPlan._Update().

◆ LightData

LightData Card.LightData
get

Definition at line 2471 of file Card.cs.

2472 {
2473 get
2474 {
2475 if (_LightData == null)
2476 {
2477 return _LightData = ((!sourceCard.lightData.IsEmpty()) ? EClass.Colors.lightColors[sourceCard.lightData] : null);
2478 }
2479 return _LightData;
2480 }
2481 }
string lightData
Definition: CardRow.cs:13
LightData _LightData
Definition: Card.cs:100
UD_String_LightData lightColors

Referenced by ActPlan._Update().

◆ LUC

int Card.LUC
get

Definition at line 2393 of file Card.cs.

◆ LV

int Card.LV
getset

Definition at line 388 of file Card.cs.

389 {
390 get
391 {
392 return _ints[25];
393 }
394 set
395 {
396 _ints[25] = value;
397 }
398 }

Referenced by TraitGodStatue._OnUse(), TraitShrine._OnUse(), SerializedCards.Add(), AddThing(), Feat.Apply(), RecipeCard.Build(), CalcMoney.BuySlave(), TraitMonsterBall.CanStackTo(), TraitRecipeCat.CanStackTo(), TraitCrafter.Craft(), Create(), Region.CreateRandomSite(), FactionBranch.DailyOutcome(), DamageHP(), Chara.Die(), Duplicate(), ZonePreEnterBout.Execute(), ZonePreEnterBoutWin.Execute(), DNA.GenerateGene(), DNA.GenerateManiGene(), TraitChara.GetAdvRank(), AI_Shear.GetFur(), Chara.GetHoverText(), Hobby.GetLv(), Religion.GetOfferingValue(), Ability.GetPower(), CraftUtil.GetRandomDarkSoupIngredient(), CraftUtil.GetRandomLoveLunchIngredient(), FactionBranch.GetResidentTax(), ActThrow.GetText(), GetTotalQuality(), TraitMonsterBall.GetValue(), TaskHarvest.HarvestThing(), LevelUp(), CraftUtil.MakeBloodMeal(), TraitSeed.MakeSeed(), TraitBlanket.OnCrafted(), TraitChestPractice.OnCreate(), TraitDrinkMilkMother.OnDrink(), QuestTaskHunt.OnKillChara(), TaskDig.OnProgressComplete(), TraitRecipeCat.OnRead(), TraitChestPractice.OnSimulateHour(), AttackProcess.Perform(), AttackProcess.Prepare(), ActEffect.Proc(), ActEffect.ProcAt(), TraitBaseContainer.PutChara(), CoreDebug.QuickStart(), WindowChara.RefreshNote(), WindowChara.RefreshProfile(), LayerQuestBoard.RefreshRanking(), Chara.RefreshSpeed(), CalcMoney.Revive(), AI_Idle.Run(), AI_PlayMusic.Run(), AI_Steal.Run(), GoalCombat.Run(), TaskCullLife.Run(), CalcMoney.SellSlave(), SetLv(), TraitMonsterBall.SetName(), TraitRecipeCat.SetName(), ElementContainerCard.SetOwner(), GameDate.ShipRandomPackages(), ActThrow.Throw(), AI_PlayMusic.ThrowReward(), Chara.TryIdentify(), and DramaOutcome.upgrade_miscreation().

◆ MAG

int Card.MAG
get

Definition at line 2387 of file Card.cs.

◆ material

◆ MaxDecay

virtual int Card.MaxDecay
get

Definition at line 2327 of file Card.cs.

◆ MaxHP

virtual int Card.MaxHP
get

Definition at line 2335 of file Card.cs.

Referenced by Create(), DamageHP(), HealHP(), and SetLv().

◆ Name

string Card.Name
get

Definition at line 2179 of file Card.cs.

Referenced by InvOwnerRecycle._OnProcess(), BuildMenu._Search(), Party.AddMemeber(), Quest.AddResident(), DramaCustomSequence.Build(), MeetingManager.CallNext(), GameLang.ConvertDrama(), LayerInventory.CreateContainerAlly(), FactionBranch.DailyOutcome(), ActEffect.DamageEle(), Decay(), Chara.DropThing(), Expedition.End(), ZonePreEnterEncounter.Execute(), AI_Fuck.Finish(), Person.GetDramaTitle(), LayerInspect.GetItem(), Msg.GetName(), FactionBranch.GetResidentTax(), ActPlan.Item.GetTextContext(), TaskHarvest.GetTextSmall(), ShopTransaction.Log(), GlobalGoalVisitAndStay.OnAdvanceHour(), TraitWell.OnBlend(), TaskHarvest.OnCreateProgress(), UIInventory.OnInit(), ElementContainerCard.OnLevelUp(), Game.OnLoad(), TraitBaseSpellbook.OnRead(), ActMoneySlap.Perform(), ActZap.Perform(), ActEffect.Proc(), ShopTransaction.Process(), WidgetCurrentTool.RebuildSlots(), FactionBranch.Recruit(), LayerQuestBoard.RefreshHire(), UIInventory.RefreshList(), UIInventory.RefreshMenu(), UIHomeInfo.RefreshReport(), Chara.RefreshSpeed(), SerializedCards.Restore(), AI_Slaughter.Run(), GoalCombat.Run(), TraitDetector.Search(), WidgetSearch.Search(), ButtonGeneral.SetCard(), ButtonGrid.SetCard(), Person.SetChara(), ItemGeneral.SetChara(), ButtonChara.SetChara(), LayerDragGrid.SetInv(), TraitMonsterBall.SetName(), CardActor.SetOwner(), ItemPopulation.SetTopic(), UIFactionInfo.SetZone(), UIZoneInfo.SetZone(), GameDate.ShipGoods(), CoreDebug.Spawn(), ZoneEventQuest.SpawnBoss(), CoreDebug.SpawnBoss(), Expedition.Start(), WidgetInspector.SwitchPage(), ToString(), GoalCombat.TryMove(), TraitSalesTag.TrySetHeldAct(), TraitSyringeBlood.TrySetHeldAct(), TraitSyringeGene.TrySetHeldAct(), TraitSyringeHeaven.TrySetHeldAct(), TraitSyringeUnicorn.TrySetHeldAct(), TraitWrench.TrySetHeldAct(), Map.TryShatter(), GoalCombat.TryUseAbility(), Dialog.TryWarnSlaughter(), CoreDebug.UpdateInput(), CraftUtil.WrapIngredient(), HomeResourceWorth.WriteNote(), EloPos.WriteNote(), and TraitBookSkill.WriteNote().

◆ NameOne

string Card.NameOne
get

Definition at line 2183 of file Card.cs.

Referenced by BuildMenu._Search(), and TraitSyringe.EffectInject().

◆ NameSimple

◆ noMove

bool Card.noMove
getset

◆ noSell

bool Card.noSell
getset

Definition at line 832 of file Card.cs.

833 {
834 get
835 {
836 return _bits2[2];
837 }
838 set
839 {
840 _bits2[2] = value;
841 }
842 }

Referenced by TraitKettle.CanCopy(), Thing.CanStackTo(), HomeResourceWorth.GetPrice(), and SetNoSell().

◆ noShadow

bool Card.noShadow
getset

Definition at line 820 of file Card.cs.

821 {
822 get
823 {
824 return _bits2[1];
825 }
826 set
827 {
828 _bits2[1] = value;
829 }
830 }

Referenced by CardRenderer.Draw(), BaseTileMap.DrawTile(), and AM_FlagCell.OnProcessTiles().

◆ noSnow

bool Card.noSnow
getset

Definition at line 760 of file Card.cs.

761 {
762 get
763 {
764 return _bits1[28];
765 }
766 set
767 {
768 _bits1[28] = value;
769 }
770 }

Referenced by ApplyEditorTags(), and CardRenderer.Draw().

◆ Num

int Card.Num
getset

Definition at line 160 of file Card.cs.

161 {
162 get
163 {
164 return _ints[6];
165 }
166 set
167 {
168 _ints[6] = value;
169 }
170 }

Referenced by LittlePopper._OnAddStockpile(), _OnDeserialized(), TraitAltar._OnOffer(), InvOwnerDeliver._OnProcess(), InvOwnerRefuel._OnProcess(), WidgetPopText._SayPick(), PropSet.Add(), ThingStack.Add(), AddThing(), DropdownGrid.BuildIngredients(), InvOwner.CanCtrlClick(), QuestCraft.CanDeliverToClient(), ShopTransaction.CanSellBack(), Recipe.Ingredient.CanSetThing(), Thing.CanStackTo(), DramaOutcome.check_sketch(), Chara.ClearInventory(), ContentCodex.Collect(), RecipeCard.Craft(), Create(), FactionBranch.DailyOutcome(), Trait.DamageRandomProperty(), HitSummary.Execute(), ZonePreEnterEncounter.Execute(), ThingContainer.GetCurrency(), DropdownRecipe.GetLabel(), Religion.GetOfferingValue(), TaskHarvest.HarvestThing(), Chara.HoldCard(), QuestDeliver.IsDestThing(), TaskCraft.IsIngredientsValid(), Msg.IsThirdPerson(), InvOwner.ListInteractions(), Props.ListThingStacksInCategory(), Map.Load(), ModNum(), Trait.OnBarter(), TraitBrewery.OnChildDecay(), TaskHarvest.OnCreateProgress(), InvOwner.OnDrag(), DragItemCard.OnDragSpecial(), AM_Build.OnFinishProcessTiles(), Game.OnLoad(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgressComplete(), LayerGacha.PlayGacha(), ActEffect.Proc(), InvOwner.Transaction.Process(), UIInventory.RefreshList(), Trait.Refuel(), PropSet.Remove(), AI_Grab< T >.Run(), AI_HaulResource.Run(), AI_Idle.Run(), AI_OpenGambleChest.Run(), PartialMap.Save(), SecondaryCompare(), GridItemCard.SetButton(), ButtonGrid.SetIngredient(), Trait.SetMainText(), SetNum(), ButtonGrid.SetRecipe(), GameDate.ShipGoods(), Thing.ShowSplitMenu(), Thing.ShowSplitMenu2(), Split(), Chara.TryHoldCard(), GrowSystem.TryPick(), Chara.TryPoisonPotion(), Trait.TryPryOpenLock(), LayerDragGrid.TryPutBack(), TraitCanvas.TrySetAct(), TraitToolTorch.TrySetHeldAct(), TryStackTo(), Chara.TryTakeSharedItems(), TraitFoodEgg.Update(), and Props.Validate().

◆ parentCard

◆ parentThing

Thing Card.parentThing
get

Definition at line 108 of file Card.cs.

◆ PER

int Card.PER
get

Definition at line 2381 of file Card.cs.

Referenced by ActRanged.Perform().

◆ posInvX

int Card.posInvX
getset

Definition at line 340 of file Card.cs.

341 {
342 get
343 {
344 return _ints[21];
345 }
346 set
347 {
348 _ints[21] = value;
349 }
350 }

Referenced by UIInventory.RefreshGrid(), and Thing.ShowSplitMenu().

◆ posInvY

int Card.posInvY
getset

Definition at line 352 of file Card.cs.

353 {
354 get
355 {
356 return _ints[22];
357 }
358 set
359 {
360 _ints[22] = value;
361 }
362 }

Referenced by UIInventory.RefreshGrid(), and Thing.ShowSplitMenu().

◆ Power

virtual int Card.Power
get

Definition at line 2337 of file Card.cs.

Referenced by StatsMana.Mod(), TraitItemProc.OnUse(), and AttackProcess.Perform().

◆ Pref

◆ PrefIndex

virtual int Card.PrefIndex
get

Definition at line 2353 of file Card.cs.

2354 {
2355 get
2356 {
2357 if (Tiles.Length < 3)
2358 {
2359 return dir % 2;
2360 }
2361 return dir;
2362 }
2363 }

Referenced by CardRenderer.Draw().

◆ PV

virtual int Card.PV
get

Definition at line 2369 of file Card.cs.

Referenced by ApplyProtection(), and Thing.GetName().

◆ Quality

int Card.Quality
get

Definition at line 2467 of file Card.cs.

Referenced by GetTotalQuality().

◆ QualityLv

int Card.QualityLv
get

Definition at line 2469 of file Card.cs.

Referenced by TraitPotionAlchemy.OnCrafted(), and TraitBlanket.OnCreate().

◆ rarity

◆ rarityLv

int Card.rarityLv
getset

Definition at line 304 of file Card.cs.

305 {
306 get
307 {
308 return _ints[19];
309 }
310 set
311 {
312 _ints[19] = value;
313 }
314 }

Referenced by Thing.CanStackTo(), and Duplicate().

◆ refCard

CardRow Card.refCard
get

Definition at line 2006 of file Card.cs.

2007 {
2008 get
2009 {
2010 object obj;
2011 if (!c_idRefCard.IsEmpty())
2012 {
2013 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard);
2014 if (obj == null)
2015 {
2016 return EClass.sources.cards.map["ash3"];
2017 }
2018 }
2019 else
2020 {
2021 obj = null;
2022 }
2023 return (CardRow)obj;
2024 }
2025 }

Referenced by Religion.GetOfferingValue(), AI_Eat.Run(), and TryGetFoodName().

◆ refCard2

CardRow Card.refCard2
get

Definition at line 2027 of file Card.cs.

2028 {
2029 get
2030 {
2031 object obj;
2032 if (!c_idRefCard2.IsEmpty())
2033 {
2034 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard2);
2035 if (obj == null)
2036 {
2037 return EClass.sources.cards.map["ash3"];
2038 }
2039 }
2040 else
2041 {
2042 obj = null;
2043 }
2044 return (CardRow)obj;
2045 }
2046 }

◆ refVal

◆ SelfWeight

virtual int Card.SelfWeight
get

Definition at line 2085 of file Card.cs.

Referenced by ActTelekinesis.DoDamage(), AI_Eat.Run(), and AI_Fish.Run().

◆ ShouldShowMsg

bool Card.ShouldShowMsg
get

Definition at line 2495 of file Card.cs.

2496 {
2497 get
2498 {
2499 if (IsPC || parent == EClass.pc || isSynced)
2500 {
2501 if (isChara)
2502 {
2503 return !Chara.isDead;
2504 }
2505 return true;
2506 }
2507 return false;
2508 }
2509 }
bool isDead
Definition: Chara.cs:391

Referenced by StatsMana.Mod(), StatsStamina.Mod(), Stats.OnChangePhase(), and BaseStats.PopText().

◆ ShowFoodEnc

bool Card.ShowFoodEnc
get

Definition at line 2231 of file Card.cs.

2232 {
2233 get
2234 {
2236 {
2237 if (Evalue(10) > 0)
2238 {
2240 }
2241 return false;
2242 }
2243 return true;
2244 }
2245 }
bool IsInheritFoodTraits
Definition: Card.cs:2220

Referenced by Element.AddEncNote(), and Element.SortVal().

◆ socketList

List<SocketData> Card.socketList
getset

Definition at line 1824 of file Card.cs.

1825 {
1826 get
1827 {
1828 return GetObj<List<SocketData>>(17);
1829 }
1830 set
1831 {
1832 SetObj(17, value);
1833 }
1834 }

Referenced by AddRune(), CountRune(), and GetRuneEnc().

◆ sourceBacker

SourceBacker.Row Card.sourceBacker
get

Definition at line 942 of file Card.cs.

943 {
944 get
945 {
946 if (!isBackerContent)
947 {
948 return null;
949 }
950 return EClass.sources.backers.map.TryGetValue(c_idBacker);
951 }
952 }

◆ sourceCard

◆ sourceRenderCard

virtual CardRow Card.sourceRenderCard
get

◆ STR

int Card.STR
get

Definition at line 2375 of file Card.cs.

Referenced by AttackProcess.Prepare(), AI_Steal.Run(), and Trait.TryPryOpenLock().

◆ TextRarity

string Card.TextRarity
get

Definition at line 2421 of file Card.cs.

◆ Thing

virtual Thing Card.Thing
get

Definition at line 2097 of file Card.cs.

2098 {
2099 get
2100 {
2101 if (!isThing)
2102 {
2103 return null;
2104 }
2105 return (Thing)this;
2106 }
2107 }

Referenced by Chara._Move(), InvOwnerMod._OnProcess(), ActPlan._Update(), Add(), Cell.AddCard(), Element.AddEncNote(), AI_Shopping.Buy(), InvOwner.CanAltClick(), Chara.CanPick(), InvOwner.CanShiftClick(), TraitDye.CanUse(), TraitCrafter.Craft(), RecipeCard.Craft(), TraitCatalyst.CreateAct(), LayerInventory.CreateContainer(), LayerInventory.CreateContainerAlly(), LayerInventory.CreateContainerPC(), DragItemCard.DragInfo.DragInfo(), Chara.DropHeld(), Trait.GetBuildModeRecipe(), TraitTile.GetBuildModeRecipe(), CoreDebug.GetOrCreateDebugContainer(), Trait.GetRecipe(), InvOwner.GetShitDestOwner(), Chara.HoldCard(), InvOwner.ListInteractions(), Props.ListThingStack(), CraftUtil.MixIngredients(), InvOwner.OnAltClick(), Trait.OnBarter(), Map.OnCardAddedToZone(), Map.OnCardRemovedFromZone(), TraitBrewery.OnChildDecay(), OnChildNumChange(), InvOwner.OnClick(), TraitSeed.OnCreate(), InvOwner.OnCtrlClick(), TraitDrink.OnDrink(), Affinity.OnGift(), Props.OnNumChange(), TraitBaseSpellbook.OnRead(), TraitContainer.OnSetCardGrid(), AI_Read.OnSetOwner(), InvOwner.OnShiftClick(), GoalSleep.OnSimulatePosition(), TraitAmmo.OnUse(), TraitCrafter.OnUse(), TraitEquipItem.OnUse(), TraitFoodPreparedPackage.OnUse(), TraitContainer.Open(), ActZap.Perform(), Chara.Pick(), Chara.PickHeld(), TraitChest.Prespawn(), TraitChestOyster.Prespawn(), TraitCoffin.Prespawn(), ActEffect.Proc(), Map.PutAway(), Cell.RemoveCard(), SerializedCards.Restore(), AI_Eat.Run(), AI_GotoHearth.Run(), AI_Idle.Run(), AI_Steal.Run(), GoalSleep.Run(), RecipeUpdater.RunDisassemble(), Trait.SetMainText(), TraitBaseContainer.SetName(), SetNoSell(), SetNum(), Thing.ShowSplitMenu(), SpawnLoot(), Split(), Zone.TryAddThingInSpot< T >(), TraitBed.TrySetAct(), TraitCanvas.TrySetAct(), TraitCrafter.TrySetAct(), TraitFakeTile.TrySetHeldAct(), TraitSeed.TrySprout(), TraitFoodEgg.Update(), and UIDragGridIngredients.Update().

◆ tier

int Card.tier
getset

Definition at line 412 of file Card.cs.

413 {
414 get
415 {
416 return _ints[27];
417 }
418 set
419 {
420 _ints[27] = value;
421 }
422 }

Referenced by Thing.CanStackTo(), Create(), Duplicate(), AI_Fish.ProgressFish.OnProgressComplete(), ButtonGrid.SetCard(), and SetTier().

◆ TileRow

virtual RenderRow Card.TileRow
get

Definition at line 2175 of file Card.cs.

Referenced by Chara._Move().

◆ Tiles

virtual int [] Card.Tiles
get

Definition at line 2351 of file Card.cs.

◆ TileType

◆ Tool

◆ uid

int Card.uid
getset

Definition at line 124 of file Card.cs.

125 {
126 get
127 {
128 return _ints[1];
129 }
130 set
131 {
132 _ints[1] = value;
133 }
134 }

Referenced by _OnDeserialized(), CardManager.GlobalCharaList.Add(), CharaList.Add(), CharaMassTransfer.Add(), FactionBranch.AddMemeber(), Party.AddMemeber(), Faction.AddReserve(), ElementContainer.ApplyMaterialElementMap(), Thing.Attune(), Recipe.BuildIngredientList(), DropdownGrid.BuildIngredients(), CalcMoney.BuySlave(), QuestDeliver.CanDeliverToClient(), Expedition.Create(), Recipe.Create(), QuestInstance.CreateInstanceZone(), CardRenderer.Draw(), BaseTileMap.DrawTile(), ZonePreEnterOnCompleteQuestInstance.Execute(), CardManager.GlobalCharaList.Find(), CardManager.Find(), Props.Find(), ThingContainer.Find(), Map.FindChara(), Zone.FindChara(), Map.FindThing(), ItemPosition.Get(), RefChara.GetAndCache(), GoalGraze.GetPos(), Portrait.GetRandomHairColor(), RelationManager.GetRelation(), TraitGeneMachine.GetTarget(), TeleportManager.GetTeleportZone(), TaskHarvest.HarvestThing(), GuildFighter.HasBounty(), CharaBody.IsEquippable(), TraitBed.IsHolder(), TraitShackle.IsRestraining(), UICharaMaker.ListJob(), UICharaMaker.ListRace(), CraftUtil.MakeBloodMeal(), Chara.MakeMinion(), TraitTeleporter.OnChangePlaceState(), BaseListPeople.OnClick(), ListPeopleExpedition.OnClick(), TraitParchmentBottle.OnCreate(), Player.OnCreateGame(), QuestDeliver.OnEnterZone(), Game.OnGameInstantiated(), ListPeopleExpedition.OnList(), ListPeopleParty.OnRefreshMenu(), ConSleep.OnRemoved(), Chara.OnSerializing(), QuestEscort.OnStart(), TraitGeneMachine.OnUse(), ZoneEventSiege.OnVisit(), HotItemEQSet.Perform(), ActEffect.Proc(), InvOwner.Transaction.Process(), ReferenceId(), ItemQuestTracker.Refresh(), HotItemEQSet.Register(), Party.RegisterSetup(), CardManager.GlobalCharaList.Remove(), CharaList.Remove(), Party.RemoveMember(), Faction.RemoveReserve(), Party.Replace(), SerializedCards.Restore(), TraitShackle.Restrain(), Recipe.SaveLastIngredients(), SecondaryCompare(), RefChara.Set(), ConDeathSentense.SetChara(), Person.SetChara(), ItemGeneral.SetChara(), TeleportManager.SetID(), SetLv(), ElementContainerCard.SetOwner(), ListPeopleExpedition.SetSubText(), ZoneEventQuest.Spawn(), ZoneEventQuest.SpawnBoss(), ZoneEventSiege.SpawnMob(), Msg.TalkMaid(), ActThrow.Throw(), ConSleep.Tick(), Thing.TryLickEnchant(), and DramaOutcome.upgrade_miscreation().

◆ version

int Card.version
getset

Definition at line 424 of file Card.cs.

425 {
426 get
427 {
428 return _ints[29];
429 }
430 set
431 {
432 _ints[29] = value;
433 }
434 }

Referenced by _OnDeserialized(), and Create().

◆ visitorState

VisitorState Card.visitorState
getset

Definition at line 1224 of file Card.cs.

1225 {
1226 get
1227 {
1228 return GetInt(4).ToEnum<VisitorState>();
1229 }
1230 set
1231 {
1232 SetInt(4, (int)value);
1233 }
1234 }
VisitorState
Definition: VisitorState.cs:2

◆ W

int Card.W
get

Definition at line 2395 of file Card.cs.

2396 {
2397 get
2398 {
2399 if (dir % 2 != 0)
2400 {
2401 return sourceCard.H;
2402 }
2403 return sourceCard.W;
2404 }
2405 }

Referenced by HitSummary.CanExecute(), TraitBoat.ForeachDeck(), TaskMoveInstalled.Run(), and TraitNewZone.TrySetAct().

◆ WeightLimit

virtual int Card.WeightLimit
get

Definition at line 2087 of file Card.cs.

Referenced by UICurrency.Build().

◆ WIL

int Card.WIL
get

Definition at line 2385 of file Card.cs.

Referenced by AttackProcess.Prepare().


The documentation for this class was generated from the following file: