Elin Decompiled Documentation EA 23.316 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

bool GetBool (string id)
 
void SetBool (string id, bool enable)
 
int GetInt (string id, int? defaultInt=null)
 
void AddInt (string id, int value)
 
void SetInt (string id, int value=0)
 
string GetStr (string id, string defaultStr=null)
 
void SetStr (string id, string value=null)
 
GetObj< T > (string id)
 
void SetObj (string id, object o)
 
SetObj< T > (string id, object o)
 
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 StripTalkSpecialCharacters (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 isHatchling [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 6338 of file Card.cs.

6339 {
6340 renderer = new CardRenderer();
6341 renderer.SetOwner(this);
6342 return renderer;
6343 }
virtual void SetOwner(Card c)
Definition: CardRenderer.cs:38
CardRenderer renderer
Definition: Card.cs:64

References CardRenderer.SetOwner().

Referenced by _OnDeserialized(), Create(), RecipeCard.CreateMold(), CoreDebug.Fix_Awning(), 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 6067 of file Card.cs.

6068 {
6069 EClass._map.MoveCard(p, this);
6070 if (isChara)
6071 {
6072 Chara.SyncRide();
6073 }
6074 return MoveResult.Success;
6075 }
MoveResult
Definition: Card.cs:13
virtual bool isChara
Definition: Card.cs:2135
Definition: Chara.cs:10
void SyncRide()
Definition: Chara.cs:4076
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 2823 of file Card.cs.

2824 {
2825 if (version < 2 && sockets != null)
2826 {
2827 for (int i = 0; i < sockets.Count; i++)
2828 {
2829 sockets[i] = sockets[i] / 100 * 1000 + sockets[i] % 100;
2830 }
2831 }
2832 _bits1.SetInt(_ints[0]);
2833 _bits2.SetInt(_ints[2]);
2835 pos.Set(_x, _z);
2836 SetSource();
2837 things.SetOwner(this);
2838 elements.SetOwner(this, applyFeat: false);
2840 ApplyTrait();
2841 ApplyMaterialElements(remove: false);
2843 foreach (Thing thing in things)
2844 {
2845 thing.parent = this;
2846 }
2847 if (isThing && Num <= 0)
2848 {
2849 isDestroyed = true;
2850 }
2851 if (version < 5)
2852 {
2853 if (version < 3 && isChara && HasElement(1210))
2854 {
2855 elements.ModBase(960, -5 * Evalue(1210));
2856 }
2857 if (version < 4 && isChara && HasElement(1210))
2858 {
2859 elements.ModBase(423, Evalue(1210));
2860 }
2861 if (version < 5)
2862 {
2863 if (isChara && Chara.race.id == "horse" && Chara.body.GetSlot(30, onlyEmpty: false) == null)
2864 {
2867 }
2868 if (isChara && Chara.race.id == "bike" && id != "bike_cub")
2869 {
2870 Rand.SetSeed(uid);
2872 Chara.SetFeat(1423, 1 + EClass.rnd(10));
2873 Rand.SetSeed();
2874 }
2875 }
2876 version = 5;
2877 }
2878 BaseModManager.PublishEvent(isChara ? "elin.chara_created" : "elin.thing_created", this);
2879 }
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:2133
int version
Definition: Card.cs:425
virtual void ApplyMaterialElements(bool remove)
Definition: Card.cs:3185
ElementContainerCard elements
Definition: Card.cs:42
virtual void SetSource()
Definition: Card.cs:3004
BitArray32 _bits2
Definition: Card.cs:84
virtual CardRenderer _CreateRenderer()
Definition: Card.cs:6338
PlaceState placeState
Definition: Card.cs:86
Point pos
Definition: Card.cs:60
virtual void OnDeserialized()
Definition: Card.cs:2881
int[] _ints
Definition: Card.cs:33
int uid
Definition: Card.cs:125
void ApplyTrait()
Definition: Card.cs:3033
ThingContainer things
Definition: Card.cs:39
int Evalue(int ele)
Definition: Card.cs:2688
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:6285
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:10286
SourceRace.Row race
Definition: Chara.cs:468
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 2808 of file Card.cs.

2809 {
2810 _x = pos.x;
2811 _z = pos.z;
2812 _ints[0] = _bits1.ToInt();
2813 _ints[2] = _bits2.ToInt();
2815 OnSerializing();
2816 }
virtual void OnSerializing()
Definition: Card.cs:2818
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

◆ AddBlood()

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

Definition at line 6345 of file Card.cs.

6346 {
6347 if (!EClass._zone.IsRegion)
6348 {
6349 for (int i = 0; i < a; i++)
6350 {
6351 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);
6352 }
6353 PlaySound("blood");
6354 }
6355 }
SourceMaterial.Row material
Definition: Card.cs:2103
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6543
static Zone _zone
Definition: EClass.cs:21
void AddDecal(int x, int z, int id, int amount=1, bool refresh=true)
Definition: Map.cs:2074
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 2722 of file Card.cs.

2723 {
2724 c_editorTags = (c_editorTags.IsEmpty() ? tag.ToString() : (c_editorTags + "," + tag));
2725 }
string c_editorTags
Definition: Card.cs:1741

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 3100 of file Card.cs.

3101 {
3102 if (applyMod)
3103 {
3104 a = a * GetExpMtp() / 100;
3105 }
3106 exp += a;
3107 while (exp >= ExpToNext && exp > 0 && ExpToNext > 0)
3108 {
3109 exp -= ExpToNext;
3110 LevelUp();
3111 }
3112 }
int ExpToNext
Definition: Card.cs:2060
void LevelUp()
Definition: Card.cs:3146
int exp
Definition: Card.cs:401
int GetExpMtp()
Definition: Card.cs:3114

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

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

◆ AddInt()

void Card.AddInt ( string  id,
int  value 
)
inline

Definition at line 2561 of file Card.cs.

2562 {
2563 AddInt(id.GetHashCode(), value);
2564 if (IsPC)
2565 {
2566 EClass.player.dialogFlags[id] = GetInt(id.GetHashCode());
2567 }
2568 }
string id
Definition: Card.cs:36
virtual bool IsPC
Definition: Card.cs:2197
void AddInt(string id, int value)
Definition: Card.cs:2561
int GetInt(string id, int? defaultInt=null)
Definition: Card.cs:2551
static Player player
Definition: EClass.cs:13
Dictionary< string, int > dialogFlags
Definition: Player.cs:1107

References AddInt(), Player.dialogFlags, GetInt(), id, IsPC, and EClass.player.

Referenced by AddInt().

◆ AddRune() [1/2]

SocketData Card.AddRune ( Card  rune)
inline

Definition at line 3756 of file Card.cs.

3757 {
3758 return AddRune(rune.refVal, rune.encLV, rune.trait is TraitRuneFree);
3759 }
SocketData AddRune(Card rune)
Definition: Card.cs:3756
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 3761 of file Card.cs.

3762 {
3763 if (socketList == null)
3764 {
3765 socketList = new List<SocketData>();
3766 }
3767 SourceElement.Row row = EClass.sources.elements.map[idEle];
3768 SocketData socketData = new SocketData
3769 {
3770 idEle = idEle,
3771 value = v,
3772 type = SocketData.Type.Rune,
3773 isFree = free
3774 };
3775 socketList.Add(socketData);
3776 if (IsWeapon || !row.IsWeaponEnc)
3777 {
3778 elements.SetTo(idEle, v);
3779 }
3780 return socketData;
3781 }
List< SocketData > socketList
Definition: Card.cs:1837
bool IsWeapon
Definition: Card.cs:2260
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 3699 of file Card.cs.

3700 {
3701 if (sockets == null)
3702 {
3703 sockets = new List<int>();
3704 }
3705 sockets.Add(0);
3706 }

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 3262 of file Card.cs.

3263 {
3264 if (t.Num == 0 || t.isDestroyed)
3265 {
3266 Debug.LogWarning("tried to add destroyed thing:" + t.Num + "/" + t.isDestroyed + "/" + t?.ToString() + "/" + this);
3267 return t;
3268 }
3269 if (t.parent == this)
3270 {
3271 Debug.LogWarning("already child:" + t);
3272 return t;
3273 }
3274 if (things.Contains(t))
3275 {
3276 Debug.Log("already in the list" + t);
3277 return t;
3278 }
3279 _ = t.parent;
3280 _ = EClass._zone;
3281 bool flag = IsPC && t.GetRootCard() == EClass.pc;
3282 if (t.parent != null)
3283 {
3284 t.parent.RemoveCard(t);
3285 }
3286 if (t.trait.ToggleType == ToggleType.Fire && destInvY == 0)
3287 {
3288 t.trait.Toggle(on: false);
3289 }
3290 t.isMasked = false;
3291 t.ignoreAutoPick = false;
3292 t.parent = this;
3293 t.noShadow = false;
3294 t.isSale = false;
3295 if (t.IsContainer)
3296 {
3297 t.RemoveEditorTag(EditorTag.PreciousContainer);
3298 }
3299 t.invX = -1;
3300 if (destInvY == -1)
3301 {
3302 t.invY = 0;
3303 }
3304 if (t.IsUnique && t.HasTag(CTAG.godArtifact) && t.GetRootCard() is Chara { IsPCFactionOrMinion: not false })
3305 {
3307 }
3308 Thing thing = (tryStack ? things.TryStack(t, destInvX, destInvY) : t);
3309 if (t == thing)
3310 {
3311 things.Add(t);
3312 things.OnAdd(t);
3313 }
3314 if (thing == t && IsPC && EClass.core.IsGameStarted && EClass._map != null && parent == EClass.game.activeZone && pos.IsValid && !flag)
3315 {
3316 NotifyAddThing(t, t.Num);
3317 }
3318 if (t == thing && isThing && parent == EClass._zone && placeState != 0)
3319 {
3321 }
3324 {
3326 LayerInventory.SetDirty(thing);
3327 }
3328 if (IsPC)
3329 {
3330 goto IL_029f;
3331 }
3332 if (IsContainer)
3333 {
3334 Card rootCard = GetRootCard();
3335 if (rootCard != null && rootCard.IsPC)
3336 {
3337 goto IL_029f;
3338 }
3339 }
3340 goto IL_0345;
3341 IL_0345:
3342 return thing;
3343 IL_029f:
3344 t.isNPCProperty = false;
3345 t.isGifted = false;
3346 int count = 0;
3347 HashSet<string> ings = EClass.player.recipes.knownIngredients;
3348 TryAdd(t);
3349 if (t.CanSearchContents)
3350 {
3351 t.things.Foreach(delegate(Thing _t)
3352 {
3353 TryAdd(_t);
3354 });
3355 }
3356 if (count > 0 && EClass.core.IsGameStarted)
3357 {
3358 Msg.Say((count == 1) ? "newIng" : "newIngs", count.ToString() ?? "");
3359 }
3360 goto IL_0345;
3361 void TryAdd(Thing a)
3362 {
3363 if (!ings.Contains(a.id))
3364 {
3365 ings.Add(a.id);
3366 count++;
3367 if (a.sourceCard.origin != null && !ings.Contains(a.sourceCard.origin.id))
3368 {
3369 ings.Add(a.sourceCard.origin.id);
3370 }
3371 }
3372 }
3373 }
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:3375
void RemoveEditorTag(EditorTag tag)
Definition: Card.cs:2727
bool IsUnique
Definition: Card.cs:2143
ICardParent parent
Definition: Card.cs:56
void NotifyAddThing(Thing t, int num)
Definition: Card.cs:3253
bool HasTag(CTAG tag)
Definition: Card.cs:2712
void SetDirtyWeight()
Definition: Card.cs:2671
bool ShouldTrySetDirtyInventory()
Definition: Card.cs:3537
Card GetRootCard()
Definition: Card.cs:3584
bool IsContainer
Definition: Card.cs:2141
bool IsGameStarted
Definition: Core.cs:87
static Game game
Definition: EClass.cs:9
static Core core
Definition: EClass.cs:7
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:1343
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 7398 of file Card.cs.

7399 {
7400 ChangeRarity(Rarity.Normal);
7401 SourceBacker.Row row = EClass.sources.backers.map.TryGetValue(bid);
7402 if (row == null)
7403 {
7404 return;
7405 }
7406 c_idBacker = row.id;
7407 if (row.type == 4)
7408 {
7410 Chara chara = Chara;
7411 Hostility hostility2 = (Chara.c_originalHostility = Hostility.Neutral);
7412 chara.hostility = hostility2;
7413 }
7414 if (row.type == 6)
7415 {
7418 Chara.idFaith = row.deity.ToLowerInvariant();
7419 }
7420 if (row.type == 4 || row.type == 5 || row.type == 7)
7421 {
7422 idSkin = ((row.skin == 0) ? EClass.rnd(sourceCard._tiles.Length) : row.skin);
7423 if (id == "putty_snow")
7424 {
7425 idSkin = 0;
7426 }
7427 }
7428 if (bid == 164)
7429 {
7430 Chara.EQ_ID("amulet_moonnight");
7431 }
7432 }
@ ChangeRarity
Hostility
Definition: Hostility.cs:2
Rarity
Definition: Rarity.cs:2
void SetGender(int g)
Definition: Biography.cs:469
void SetPortrait(Chara c)
Definition: Biography.cs:478
virtual Chara Chara
Definition: Card.cs:2122
Biography bio
Definition: Card.cs:45
int c_idBacker
Definition: Card.cs:1477
int idSkin
Definition: Card.cs:365
virtual CardRow sourceCard
Definition: Card.cs:2183
Thing EQ_ID(string s, int mat=-1, Rarity r=Rarity.Random)
Definition: Chara.cs:5248
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 3008 of file Card.cs.

3009 {
3010 switch (tag)
3011 {
3012 case EditorTag.Hidden:
3013 SetHidden();
3014 break;
3015 case EditorTag.Empty:
3016 RemoveThings();
3017 break;
3018 case EditorTag.IsOn:
3019 isOn = true;
3020 break;
3021 case EditorTag.IsOff:
3022 isOn = false;
3023 break;
3024 case EditorTag.NoSnow:
3025 noSnow = true;
3026 break;
3027 case EditorTag.Boss:
3028 EClass._zone.Boss = Chara;
3029 break;
3030 }
3031 }
Card SetHidden(bool hide=true)
Definition: Card.cs:6060
bool isOn
Definition: Card.cs:545
bool noSnow
Definition: Card.cs:761
void RemoveThings()
Definition: Card.cs:3468

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 5040 of file Card.cs.

5041 {
5042 if (!isChara)
5043 {
5044 return;
5045 }
5046 bool flag = true;
5047 bool hostile = false;
5048 switch (e.id)
5049 {
5050 case 910:
5051 if (Chance(30 + eleP / 5, 100))
5052 {
5053 MarkHostile().AddCondition<ConBurning>(eleP);
5054 }
5055 break;
5056 case 911:
5057 if (Chara.isWet)
5058 {
5059 if (Chance(30 + eleP / 10, 100))
5060 {
5062 }
5063 }
5064 else if (Chance(50 + eleP / 10, 100))
5065 {
5066 Chara.AddCondition<ConWet>(eleP);
5067 }
5068 break;
5069 case 912:
5070 if (Chance(75 + eleP / 20, 100) && EClass.rnd(3) == 0)
5071 {
5072 Chara.AddCondition<ConParalyze>(1, force: true);
5073 }
5074 break;
5075 case 915:
5076 if (Chance(30 + eleP / 5, 100))
5077 {
5078 MarkHostile().AddCondition<ConPoison>(eleP);
5079 }
5080 break;
5081 case 913:
5082 if (Chance(30 + eleP / 5, 100))
5083 {
5085 }
5086 break;
5087 case 918:
5088 flag = false;
5089 if (Chance(30 + eleP / 5, 100))
5090 {
5092 }
5093 break;
5094 case 914:
5095 flag = false;
5096 if (EClass.rnd(3) != 0)
5097 {
5098 if (Chance(30 + eleP / 5, 100))
5099 {
5101 }
5102 }
5103 else if (Chance(30 + eleP / 5, 100))
5104 {
5106 }
5107 break;
5108 case 917:
5109 if (Chance(50 + eleP / 10, 100))
5110 {
5111 Chara.AddCondition<ConDim>(eleP);
5112 }
5113 break;
5114 case 925:
5115 if (EClass.rnd(3) == 0)
5116 {
5117 if (Chance(30 + eleP / 5, 100))
5118 {
5119 Chara.AddCondition<ConDim>(eleP);
5120 }
5121 }
5122 else if (EClass.rnd(2) == 0)
5123 {
5124 if (EClass.rnd(3) == 0)
5125 {
5126 Chara.AddCondition<ConParalyze>(1, force: true);
5127 }
5128 }
5129 else if (EClass.rnd(2) == 0)
5130 {
5131 Chara.AddCondition<ConConfuse>(1 + EClass.rnd(3), force: true);
5132 }
5133 break;
5134 case 920:
5135 flag = false;
5136 if (Chance(5 + eleP / 25, 40))
5137 {
5138 Chara.AddCondition<ConBlind>(eleP / 2);
5139 }
5140 if (Chance(5 + eleP / 25, 40))
5141 {
5142 Chara.AddCondition<ConParalyze>(eleP / 2);
5143 }
5144 if (Chance(5 + eleP / 25, 40))
5145 {
5146 Chara.AddCondition<ConConfuse>(eleP / 2);
5147 }
5148 if (Chance(5 + eleP / 25, 40))
5149 {
5150 MarkHostile().AddCondition<ConPoison>(eleP / 2);
5151 }
5152 if (Chance(5 + eleP / 25, 40))
5153 {
5154 Chara.AddCondition<ConSleep>(eleP / 2);
5155 }
5156 if (Chance(5 + eleP / 25, 40))
5157 {
5158 Chara.AddCondition<ConDim>(eleP / 2);
5159 }
5160 if (Chance(30 + eleP / 10, 100))
5161 {
5162 Chara.SAN.Mod(EClass.rnd(2));
5163 }
5164 break;
5165 case 924:
5166 if (Chance(50 + eleP / 10, 100))
5167 {
5168 MarkHostile().AddCondition<ConBleed>(eleP);
5169 }
5170 break;
5171 case 923:
5172 if (Chance(50 + eleP / 10, 100) && EClass.rnd(4) == 0)
5173 {
5175 }
5176 break;
5177 case 922:
5178 Chara.ModCorruption(EClass.rnd(eleP / 50 + 10));
5179 break;
5180 }
5181 if (Chara.conSleep != null && flag)
5182 {
5184 }
5185 if (checkHostileAct && hostile && origin != null && origin.isChara)
5186 {
5187 origin.Chara.DoHostileAction(this);
5188 }
5189 static bool Chance(int a, int max)
5190 {
5191 return Mathf.Min(a, max) > EClass.rnd(100);
5192 }
5193 Chara MarkHostile()
5194 {
5195 hostile = true;
5196 return Chara;
5197 }
5198 }
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:1017
bool isWet
Definition: Chara.cs:144
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:9647
ConSleep conSleep
Definition: Chara.cs:102
Stats SAN
Definition: Chara.cs:1193
void ModCorruption(int a)
Definition: Chara.cs:10228
void DoHostileAction(Card _tg, bool immediate=false)
Definition: Chara.cs:6577
Definition: ConDim.cs:2
Definition: ConWet.cs:2
void Kill(bool silent=false)
Definition: Condition.cs:108
int id
Definition: ELEMENT.cs:257
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 3189 of file Card.cs.

3190 {
3191 _colorInt = 0;
3192 }
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 3185 of file Card.cs.

3186 {
3187 }

Referenced by _OnDeserialized(), and ModEncLv().

◆ ApplyNewLine()

string Card.ApplyNewLine ( string  text)
inline

Definition at line 7188 of file Card.cs.

7189 {
7190 if (text.Contains("&"))
7191 {
7192 string text2 = "_comma".lang();
7193 text = text.Replace(text2 + " &", Environment.NewLine ?? "");
7194 text = text.Replace(text2 + "&", Environment.NewLine ?? "");
7195 text = text.Replace("&", Environment.NewLine ?? "");
7196 }
7197 return text;
7198 }

◆ ApplyProtection()

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

Definition at line 4200 of file Card.cs.

4201 {
4202 int armorSkill = GetArmorSkill();
4203 Element orCreateElement = elements.GetOrCreateElement(armorSkill);
4204 int num = PV + orCreateElement.Value + DEX / 10;
4205 int num2 = 1;
4206 int sides = 1;
4207 int bonus = 0;
4208 if (num > 0)
4209 {
4210 int num3 = num / 4;
4211 num2 = num3 / 10 + 1;
4212 sides = num3 / num2 + 1;
4213 bonus = 0;
4214 dmg = dmg * 100 / Mathf.Max(100 + num, 1);
4215 }
4216 int num4 = Dice.Roll(num2, sides, bonus, this);
4217 dmg -= num4 * mod / 100;
4218 if (dmg < 0)
4219 {
4220 dmg = 0L;
4221 }
4222 return dmg;
4223 }
virtual int PV
Definition: Card.cs:2381
int DEX
Definition: Card.cs:2389
virtual int GetArmorSkill()
Definition: Card.cs:4195
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 3716 of file Card.cs.

3717 {
3718 for (int i = 0; i < sockets.Count; i++)
3719 {
3720 if (sockets[i] == 0)
3721 {
3722 if (lv >= 1000)
3723 {
3724 lv = 999;
3725 }
3726 sockets[i] = id * 1000 + lv;
3727 elements.ModBase(id, lv);
3728 mod?.Destroy();
3729 break;
3730 }
3731 }
3732 }
void Destroy()
Definition: Card.cs:5268

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

◆ ApplySocket() [2/2]

void Card.ApplySocket ( Thing  t)
inline

Definition at line 3708 of file Card.cs.

3709 {
3710 if (t.trait is TraitMod traitMod && sockets != null)
3711 {
3712 ApplySocket(traitMod.source.id, traitMod.owner.encLV, traitMod.owner);
3713 }
3714 }
void ApplySocket(Thing t)
Definition: Card.cs:3708

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 7274 of file Card.cs.

7275 {
7276 if (text.IsEmpty())
7277 {
7278 return text;
7279 }
7280 string[] array = _tones.IsEmpty("").Split('|');
7281 string key = array[0];
7282 string text2 = "";
7284 if (!Lang.setting.useTone || MOD.tones.list.Count == 0)
7285 {
7286 text2 = text.Replace("{", "").Replace("}", "");
7287 }
7288 else
7289 {
7290 if (array[0].IsEmpty())
7291 {
7292 key = "default";
7293 }
7294 if (MOD.tones.all.ContainsKey(key))
7295 {
7296 StringBuilder stringBuilder = MOD.tones.ApplyTone(key, ref text, gender);
7297 if (Lang.isJP && c != null)
7298 {
7299 if (array.Length >= 2)
7300 {
7301 stringBuilder.Replace("_toneI".lang(), array[1]);
7302 }
7303 if (array.Length >= 3)
7304 {
7305 stringBuilder.Replace("_toneYou".lang(), array[2]);
7306 }
7307 }
7308 text2 = stringBuilder.ToString();
7309 }
7310 else
7311 {
7312 text2 = text.Replace("{", "").Replace("}", "");
7313 }
7314 }
7315 if (c != null)
7316 {
7317 text2 = text2.Replace("#me", c.NameSimple);
7318 }
7319 if (!stripPun || !Lang.setting.stripPuns)
7320 {
7321 return text2;
7322 }
7323 return text2.StripLastPun();
7324 }
string NameSimple
Definition: Card.cs:2193
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:7
static LangSetting setting
Definition: Lang.cs:55
static bool isJP
Definition: Lang.cs:39
Definition: MOD.cs:7
static ToneDataList tones
Definition: MOD.cs:14
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 7268 of file Card.cs.

7269 {
7270 text = GameLang.ConvertDrama(text, Chara);
7271 return ApplyTone(Chara, ref text, c_idTone, bio?.gender ?? 0, stripPun);
7272 }
string c_idTone
Definition: Card.cs:1573
string ApplyTone(string text, bool stripPun=false)
Definition: Card.cs:7268
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 3033 of file Card.cs.

3034 {
3035 string str = c_idTrait;
3036 if (str.IsEmpty())
3037 {
3038 if (!sourceCard.trait.IsEmpty())
3039 {
3040 trait = ClassCache.Create<Trait>("Trait" + sourceCard.trait[0], "Elin");
3041 }
3042 }
3043 else
3044 {
3045 trait = ClassCache.Create<Trait>(str, "Elin");
3046 }
3047 if (trait == null)
3048 {
3049 trait = (isChara ? new TraitChara() : new Trait());
3050 }
3051 trait.SetOwner(this);
3052 }
string[] trait
Definition: CardRow.cs:33
string c_idTrait
Definition: Card.cs:1765
Definition: Trait.cs:7
virtual void SetOwner(Card _owner)
Definition: Trait.cs:673

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 6876 of file Card.cs.

6877 {
6878 int radius = GetLightRadius();
6879 if (radius == 0 || !IsAliveInCurrentZone || !EClass._zone.isStarted)
6880 {
6881 return;
6882 }
6883 float power = GetLightPower();
6884 if (IsPC)
6885 {
6886 if (Chara.held != null && Chara.held.GetLightRadius() > 0)
6887 {
6888 power += Chara.held.GetLightPower();
6889 }
6890 if (radius <= 2)
6891 {
6892 power = 0f;
6893 }
6894 foreach (Condition condition in Chara.conditions)
6895 {
6896 condition.OnCalculateFov(fov, ref radius, ref power);
6897 }
6898 if (power > EClass.scene.profile.global.playerLightPowerLimit)
6899 {
6900 power = EClass.scene.profile.global.playerLightPowerLimit;
6901 }
6902 power *= EClass.scene.profile.light.playerLightMod + (float)EClass.player.customLightMod * EClass.scene.profile.light.playerLightCustomMod;
6903 radius += EvalueMax(490) + EClass._zone.SightRadiusBonus;
6904 EClass.player.lightRadius = radius;
6905 EClass.player.lightPower = power;
6906 }
6907 if (fov == null)
6908 {
6909 fov = CreateFov();
6910 }
6911 fov.Perform(pos.x, pos.z, radius, power * 2f);
6912 }
int EvalueMax(int ele, int min=0)
Definition: Card.cs:2702
float GetLightPower()
Definition: Card.cs:6778
Fov fov
Definition: Card.cs:58
Fov CreateFov()
Definition: Card.cs:6919
virtual bool IsAliveInCurrentZone
Definition: Card.cs:2179
int GetLightRadius()
Definition: Card.cs:6806
Card held
Definition: Chara.cs:70
List< Condition > conditions
Definition: Chara.cs:215
virtual void OnCalculateFov(Fov fov, ref int radius, ref float power)
Definition: Condition.cs:92
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:135

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 3819 of file Card.cs.

3820 {
3821 SourceElement.Row source = mod.source;
3822 if (category.slot == 0)
3823 {
3824 return false;
3825 }
3826 if (material.HasEnc(source.id))
3827 {
3828 return false;
3829 }
3830 if (!IsWeapon && source.IsWeaponEnc)
3831 {
3832 return false;
3833 }
3834 if (source.category == "resist")
3835 {
3836 foreach (Element item in elements.ListElements())
3837 {
3838 if (item.source.category == "resist" && (item.vBase != 0 || item.vSource != 0))
3839 {
3840 return false;
3841 }
3842 }
3843 }
3844 string encSlot = source.encSlot;
3845 if (encSlot == null || encSlot.Length != 0)
3846 {
3847 switch (encSlot)
3848 {
3849 case "shield":
3850 if (!category.IsChildOf("shield") && !category.IsChildOf("martial"))
3851 {
3852 return false;
3853 }
3854 break;
3855 default:
3856 {
3857 bool flag = false;
3858 string[] array = source.encSlot.Split(',');
3859 foreach (string key in array)
3860 {
3861 if (EClass.sources.elements.alias[key].id == category.slot)
3862 {
3863 flag = true;
3864 }
3865 }
3866 if (!flag)
3867 {
3868 return false;
3869 }
3870 break;
3871 }
3872 case "global":
3873 case "all":
3874 case "weapon":
3875 break;
3876 }
3877 }
3878 if (mod is TraitRuneFree)
3879 {
3880 return true;
3881 }
3882 return CountRune(countFree: false) < MaxRune();
3883 }
int CountRune(bool countFree=true)
Definition: Card.cs:3798
int MaxRune()
Definition: Card.cs:3814
SourceCategory.Row category
Definition: Card.cs:2101
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 8320 of file Card.cs.

8321 {
8323 {
8324 return false;
8325 }
8326 if (!HaveFur() || c_fur < 0)
8327 {
8328 return false;
8329 }
8330 return true;
8331 }
bool HaveFur()
Definition: Card.cs:8306
int c_fur
Definition: Card.cs:1369
virtual bool IsUserZone
Definition: Zone.cs:275

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 2609 of file Card.cs.

2610 {
2611 if (reservedAct != null && reservedAct != act)
2612 {
2613 return !reservedAct.IsRunning;
2614 }
2615 return true;
2616 }
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 3550 of file Card.cs.

3551 {
3552 return false;
3553 }

Referenced by TryStackTo().

◆ ChangeAltitude()

void Card.ChangeAltitude ( int  a)
inline

Definition at line 6653 of file Card.cs.

6654 {
6655 altitude += a;
6656 if (altitude < 0)
6657 {
6658 altitude = 0;
6659 }
6661 {
6663 }
6664 }
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 3204 of file Card.cs.

3205 {
3206 if (sourceCard.fixedMaterial && !ignoreFixedMaterial)
3207 {
3208 return this;
3209 }
3210 ApplyMaterial(remove: true);
3211 _material = row;
3212 idMaterial = row.id;
3213 decay = 0;
3214 dirtyWeight = true;
3215 Card rootCard = GetRootCard();
3216 if (rootCard != null && rootCard.IsPC)
3217 {
3219 }
3220 if (isThing)
3221 {
3223 }
3224 ApplyMaterial();
3225 return this;
3226 }
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:3189
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 3199 of file Card.cs.

3200 {
3201 return ChangeMaterial(EClass.sources.materials.alias.TryGetValue(idNew, "oak"), ignoreFixedMaterial);
3202 }

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

◆ ChangeRarity()

virtual void Card.ChangeRarity ( Rarity  q)
inlinevirtual

Reimplemented in Chara.

Definition at line 4078 of file Card.cs.

4079 {
4080 rarity = q;
4081 }
Rarity rarity
Definition: Card.cs:317

References rarity.

Referenced by TaskHarvest.OnCreateProgress().

◆ ChangeWeight()

void Card.ChangeWeight ( int  a)
inline

Definition at line 2681 of file Card.cs.

2682 {
2683 c_weight = a;
2684 isWeightChanged = true;
2686 }
int c_weight
Definition: Card.cs:1417
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 7006 of file Card.cs.

7007 {
7008 if (HasElement(757) && c_dateCooked <= EClass.world.date.GetRaw() - 120)
7009 {
7010 c_dateCooked = 0;
7011 elements.Remove(757);
7012 }
7013 }
int c_dateCooked
Definition: Card.cs:1381
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 3092 of file Card.cs.

3093 {
3094 if (elements.Base(286) > 50)
3095 {
3096 elements.SetTo(286, 50 + (int)Mathf.Sqrt(elements.Base(286) - 50));
3097 }
3098 }

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

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

◆ ClearFOV()

void Card.ClearFOV ( )
inline

Definition at line 6966 of file Card.cs.

6967 {
6968 if (fov != null && fov.lastPoints.Count != 0)
6969 {
6970 fov.Perform(pos.x, pos.z, 0);
6971 }
6972 }
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 7475 of file Card.cs.

7476 {
7477 if ((bool)_paintSprite)
7478 {
7479 UnityEngine.Object.Destroy(_paintSprite.texture);
7480 UnityEngine.Object.Destroy(_paintSprite);
7481 _paintSprite = null;
7482 }
7483 }
Sprite _paintSprite
Definition: Card.cs:102

Referenced by LayerPixelPaint.SetCanvas().

◆ CountRune()

int Card.CountRune ( bool  countFree = true)
inline

Definition at line 3798 of file Card.cs.

3799 {
3800 int num = 0;
3801 if (socketList != null)
3802 {
3803 foreach (SocketData socket in socketList)
3804 {
3805 if (socket.type == SocketData.Type.Rune && (countFree || !socket.isFree))
3806 {
3807 num++;
3808 }
3809 }
3810 }
3811 return num;
3812 }
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 2890 of file Card.cs.

2891 {
2892 if (CardBlueprint.current != null)
2893 {
2895 CardBlueprint.current = null;
2896 }
2897 else
2898 {
2900 }
2901 id = _id;
2902 Num = 1;
2903 autoRefuel = true;
2904 EClass.game.cards.AssignUID(this);
2905 this.genLv = genLv;
2906 isNew = true;
2907 version = 5;
2908 SetSource();
2910 if (sourceCard.quality != 0)
2911 {
2912 rarity = sourceCard.quality.ToEnum<Rarity>();
2913 }
2914 else if (bp.rarity != Rarity.Random)
2915 {
2916 rarity = bp.rarity;
2917 }
2918 else if ((category.slot != 0 && category.slot != 45 && category.slot != 44) || category.tag.Contains("randomRarity"))
2919 {
2920 if (EClass.rnd(10) == 0)
2921 {
2922 rarity = Rarity.Crude;
2923 }
2924 else if (EClass.rnd(10) == 0)
2925 {
2926 rarity = Rarity.Superior;
2927 }
2928 else if (EClass.rnd(80) == 0)
2929 {
2930 rarity = Rarity.Legendary;
2931 }
2932 else if (EClass.rnd(250) == 0)
2933 {
2934 rarity = Rarity.Mythical;
2935 }
2936 }
2937 if (rarity != 0 && category.tag.Contains("fixedRarity"))
2938 {
2939 rarity = Rarity.Normal;
2940 }
2941 LV = DefaultLV;
2942 if (bp.lv != -999)
2943 {
2944 LV = bp.lv;
2945 }
2946 if (id == "microchip")
2947 {
2948 Debug.Log(id + "/" + _idMat + "/" + sourceCard.fixedMaterial);
2949 }
2951 {
2953 }
2954 else
2955 {
2956 bool flag = (bp != null && bp.fixedMat) || sourceCard.quality == 4 || sourceCard.tierGroup.IsEmpty();
2957 if (_idMat != -1)
2958 {
2959 _material = EClass.sources.materials.map.TryGetValue(_idMat) ?? EClass.sources.materials.map[1];
2960 }
2961 else if (!flag)
2962 {
2963 if (sourceCard.tierGroup == "wood")
2964 {
2965 Debug.Log(id);
2966 }
2968 }
2969 else
2970 {
2972 }
2973 }
2974 idMaterial = _material.id;
2975 things.SetOwner(this);
2976 elements.SetOwner(this, applyFeat: true);
2977 ApplyTrait();
2979 {
2980 tier = Mathf.Clamp(EClass.rnd(5) + 1, 1, 3);
2981 LV = LV + tier * 10 + (LV - 1) * (125 + tier * 25) / 100;
2982 }
2983 ApplyMaterial();
2984 OnCreate(genLv);
2987 hp = MaxHP;
2988 if (HasTag(CTAG.hidden))
2989 {
2990 SetHidden();
2991 }
2993 BaseModManager.PublishEvent(isChara ? "elin.chara_created" : "elin.thing_created", this);
2994 }
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:2105
int tier
Definition: Card.cs:413
bool isFloating
Definition: Card.cs:653
CardBlueprint bp
Definition: Card.cs:80
int DefaultLV
Definition: Card.cs:2062
int hp
Definition: Card.cs:245
virtual void OnBeforeCreate()
Definition: Card.cs:2996
bool autoRefuel
Definition: Card.cs:629
virtual SourcePref Pref
Definition: Card.cs:2159
virtual void OnCreate(int genLv)
Definition: Card.cs:3000
virtual int MaxHP
Definition: Card.cs:2347
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:700
virtual bool LevelAsQuality
Definition: Trait.cs:205
bool IsPCFaction
Definition: Zone.cs:477

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 6919 of file Card.cs.

6920 {
6921 Fov fov = new Fov();
6922 int num = (trait.UseLightColor ? c_lightColor : 0);
6923 if (num != 0)
6924 {
6925 fov.r = (byte)(num / 1024);
6926 fov.g = (byte)(num % 1024 / 32);
6927 fov.b = (byte)(num % 32);
6928 }
6929 else if (LightData != null)
6930 {
6931 fov.r = (byte)(LightData.color.r * 16f);
6932 fov.g = (byte)(LightData.color.g * 16f);
6933 fov.b = (byte)(LightData.color.b * 16f);
6934 }
6935 else if (isChara)
6936 {
6937 fov.r = 0;
6938 fov.g = 0;
6939 fov.b = 0;
6940 }
6941 else
6942 {
6943 fov.r = 3;
6944 fov.g = 2;
6945 fov.b = 1;
6946 }
6947 if (isChara && Chara.held != null && Chara.held.GetLightRadius() > 0)
6948 {
6949 Fov fov2 = Chara.held.CreateFov();
6950 fov.r += fov2.r;
6951 fov.g += fov2.g;
6952 fov.b += fov2.b;
6953 }
6954 if (IsPC)
6955 {
6956 fov.isPC = true;
6957 foreach (Condition condition in Chara.conditions)
6958 {
6959 condition.OnCreateFov(fov);
6960 }
6961 }
6962 fov.limitGradient = IsPCParty && EClass.scene.profile.global.limitGradient;
6963 return fov;
6964 }
virtual bool IsPCParty
Definition: Card.cs:2203
int c_lightColor
Definition: Card.cs:1123
virtual void OnCreateFov(Fov fov)
Definition: Condition.cs:96
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 4260 of file Card.cs.

4261 {
4262 if (hp < 0)
4263 {
4264 return;
4265 }
4266 bool flag = originalTarget != null;
4267 Action onEvade = null;
4268 if (isChara && !isRestrained && !flag)
4269 {
4270 if (HasElement(1249))
4271 {
4272 foreach (Chara chara3 in EClass._map.charas)
4273 {
4274 if (chara3 != this && !chara3.IsHostile(Chara) && !chara3.IsDisabled && !chara3.isRestrained && (!IsPCFactionOrMinion || chara3.IsPCFactionOrMinion) && chara3.Dist(this) <= 3)
4275 {
4276 Say("wall_bond", chara3, this);
4277 chara3.DamageHP(dmg, ele, eleP, attackSource, origin, showEffect, weapon, Chara);
4278 return;
4279 }
4280 }
4281 }
4282 if (!HasElement(1241))
4283 {
4284 AttackSource attackSource2 = attackSource;
4285 if ((uint)(attackSource2 - 3) > 2u && (uint)(attackSource2 - 13) > 5u)
4286 {
4287 foreach (Chara chara4 in EClass._map.charas)
4288 {
4289 if (chara4 != this && !chara4.IsHostile(Chara))
4290 {
4291 int num = chara4.Evalue(1241);
4292 int num2 = chara4.Evalue(438);
4293 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))
4294 {
4295 Say((num2 == 0) ? "wall_flesh" : "wall_knightly", chara4, this);
4296 chara4.DamageHP(dmg * (100 + ((num2 > 0) ? (-10) : 0) + ((num > 0) ? 10 : 0)) / 100, ele, eleP, attackSource, origin, showEffect, weapon, Chara);
4297 return;
4298 }
4299 }
4300 }
4301 }
4302 }
4303 }
4304 if (origin != null && origin.HasElement(1208))
4305 {
4306 switch (attackSource)
4307 {
4308 case AttackSource.MagicHand:
4309 dmg = dmg * 130 / 100;
4310 eleP = eleP * 150 / 100;
4311 break;
4312 case AttackSource.MagicSword:
4313 dmg = dmg * 120 / 100;
4314 eleP = eleP * 150 / 100;
4315 break;
4316 }
4317 }
4318 if (origin != null)
4319 {
4320 dmg = dmg * (100 + origin.Evalue(94)) / 100;
4321 }
4322 Element e;
4323 if (ele == 0 || ele == 926)
4324 {
4325 e = Element.Void;
4326 if (origin != null)
4327 {
4328 dmg = dmg * Mathf.Max(100 + origin.Evalue(93) / 2, 10) / 100;
4329 }
4330 }
4331 else
4332 {
4333 e = Element.Create(ele);
4334 if (attackSource != AttackSource.Condition && showEffect)
4335 {
4336 ActEffect.TryDelay(delegate
4337 {
4338 PlayEffect(e.id, useRenderPos: true, 0.25f);
4339 EClass.Sound.Play("atk_" + e.source.alias);
4340 });
4341 }
4342 if (!e.source.aliasRef.IsEmpty() && attackSource != AttackSource.ManaBackfire)
4343 {
4344 dmg = Element.GetResistDamage(dmg, Evalue(e.source.aliasRef), (resistPenetrationLevel != 0) ? resistPenetrationLevel : GetResistPenetrationLevel(e.id, attackSource, origin));
4345 dmg = dmg * 100 / (100 + Mathf.Clamp(Evalue(961) * 5, -50, 200));
4346 dmg = dmg * Mathf.Max(100 - Evalue(93), 10) / 100;
4347 }
4348 switch (e.id)
4349 {
4350 case 910:
4351 {
4352 Chara chara2 = Chara;
4353 if (chara2 != null && chara2.isWet)
4354 {
4355 dmg /= 3L;
4356 }
4357 break;
4358 }
4359 case 912:
4360 {
4361 Chara chara = Chara;
4362 if (chara != null && chara.isWet)
4363 {
4364 dmg = dmg * 150 / 100;
4365 }
4366 break;
4367 }
4368 }
4369 }
4370 if (origin != null && origin.isChara && origin.Chara.HasCondition<ConSupress>())
4371 {
4372 dmg = dmg * 2 / 3;
4373 }
4374 if (attackSource != AttackSource.Finish)
4375 {
4376 if (!IsPCFaction && LV > 50)
4377 {
4378 dmg = dmg * (100 - (int)Mathf.Min(80f, Mathf.Sqrt(LV - 50) * 2.5f)) / 100;
4379 }
4380 if (origin != null && origin.HasCondition<ConBerserk>())
4381 {
4382 dmg = dmg * 3 / 2;
4383 }
4385 {
4386 int num3 = ((origin != null) ? origin.LV : EClass._zone.DangerLv);
4387 if (num3 > 50)
4388 {
4389 dmg = dmg * (100 - (int)Mathf.Min(95f, Mathf.Sqrt(num3 - 50))) / 100;
4390 }
4391 }
4392 if (attackSource == AttackSource.Throw || attackSource == AttackSource.Range)
4393 {
4394 dmg = dmg * 100 / (100 + Evalue(435) * 2);
4395 }
4396 dmg = dmg * Mathf.Max(0, 100 - Mathf.Min(Evalue((e == Element.Void || e.id == 926) ? 55 : 56), 100) / ((!flag) ? 1 : 2)) / 100;
4397 if (origin != null && origin.IsPC && EClass.player.codex.Has(id))
4398 {
4399 dmg = dmg * (100 + Mathf.Min(10, EClass.player.codex.GetOrCreate(id).weakspot)) / 100;
4400 }
4401 if (isChara && Chara.body.GetAttackStyle() == AttackStyle.Shield && elements.ValueWithoutLink(123) >= 5 && (e == Element.Void || e.id == 926))
4402 {
4403 dmg = dmg * 90 / 100;
4404 }
4405 if (HasElement(971))
4406 {
4407 dmg = dmg * 100 / Mathf.Clamp(100 + Evalue(971), 25, 1000);
4408 }
4409 if (HasElement(1305))
4410 {
4411 dmg = dmg * 90 / 100;
4412 }
4413 if (EClass.pc.HasElement(1207) && isChara)
4414 {
4415 int num4 = 0;
4416 int num5 = 0;
4417 foreach (Condition condition3 in Chara.conditions)
4418 {
4419 if (condition3.Type == ConditionType.Buff)
4420 {
4421 num4++;
4422 }
4423 else if (condition3.Type == ConditionType.Debuff)
4424 {
4425 num5++;
4426 }
4427 }
4429 {
4430 dmg = dmg * 100 / Mathf.Min(100 + num4 * 5, 120);
4431 }
4432 else
4433 {
4434 dmg = dmg * Mathf.Min(100 + num5 * 5, 120) / 100;
4435 }
4436 }
4438 {
4439 dmg = dmg * 100 / Mathf.Clamp(105 + EClass.pc.Evalue(135) / 10, 10, 110);
4440 }
4441 if (HasElement(1218) && attackSource != AttackSource.ManaBackfire && (hp > 0 || Evalue(1421) <= 0))
4442 {
4443 dmg = dmg * (1000 - Mathf.Min(Evalue(1218), 1000) / ((!flag) ? 1 : 2)) / 1000;
4444 if (dmg <= 0 && EClass.rnd(4) == 0)
4445 {
4446 dmg++;
4447 }
4448 }
4449 if (dmg >= MaxHP / 10 && Evalue(68) > 0)
4450 {
4451 int num6 = MaxHP / 10;
4452 long num7 = dmg - num6;
4453 num7 = num7 * 100 / (200 + Evalue(68) * 10);
4454 dmg = num6 + num7;
4455 }
4456 }
4457 if (origin != null && origin.IsPC && EClass.pc.Evalue(654) > 0)
4458 {
4459 dmg = 0L;
4460 }
4461 if (dmg < 0)
4462 {
4463 dmg = 0L;
4464 }
4465 long num8 = 99999999L;
4466 if (origin != null && (attackSource == AttackSource.Melee || attackSource == AttackSource.Range))
4467 {
4468 ConStrife condition = origin.GetCondition<ConStrife>();
4469 if (condition != null)
4470 {
4471 num8 = num8 * (100 + condition.lv * 5) / 100;
4472 }
4473 }
4474 if (dmg > num8)
4475 {
4476 dmg = num8;
4477 }
4478 float num9 = Mathf.Clamp(dmg * 6 / MaxHP, 0f, 4f) + (float)((dmg > 0) ? 1 : 0);
4479 int num10 = hp;
4480 if (Evalue(1421) > 0)
4481 {
4482 long num11 = 0L;
4483 long num12 = dmg;
4484 if (hp > 0)
4485 {
4486 num12 = dmg - hp;
4487 hp -= (int)dmg;
4488 num11 += dmg;
4489 if (hp < 0 && Chara.mana.value >= 0)
4490 {
4491 num11 += hp;
4492 hp = 0;
4493 }
4494 }
4495 if (hp <= 0)
4496 {
4497 if (Evalue(1421) >= 2)
4498 {
4499 num12 /= 2;
4500 }
4501 dmg = num12;
4502 if (Chara.mana.value > 0)
4503 {
4504 num12 -= Chara.mana.value;
4505 Chara.mana.value -= (int)dmg;
4506 num11 += dmg;
4507 }
4508 if (Chara.mana.value <= 0)
4509 {
4510 hp -= (int)num12;
4511 num11 += num12;
4512 }
4513 }
4514 dmg = num11;
4515 }
4516 else
4517 {
4518 hp -= (int)dmg;
4519 }
4520 if (isSynced && dmg != 0L)
4521 {
4522 float ratio = (float)dmg / (float)MaxHP;
4523 Card c = ((parent is Chara) ? (parent as Chara) : this);
4524 ActEffect.TryDelay(delegate
4525 {
4526 c.PlayEffect("blood").SetParticleColor(EClass.Colors.matColors[material.alias].main).Emit(20 + (int)(30f * ratio));
4528 {
4529 EClass.scene.damageTextRenderer.Add(this, c, (int)dmg, e);
4530 }
4531 });
4532 }
4533 if (EClass.pc.ai is AI_PracticeDummy { IsRunning: not false } aI_PracticeDummy && aI_PracticeDummy.target == this && (origin == null || origin.IsPC))
4534 {
4535 aI_PracticeDummy.hit++;
4536 aI_PracticeDummy.totalDamage += dmg;
4537 }
4538 ZoneInstanceBout zoneInstanceBout = EClass._zone.instance as ZoneInstanceBout;
4539 bool flag2 = false;
4540 if (hp < 0 && Religion.recentWrath == null)
4541 {
4543 {
4544 EvadeDeath(null);
4545 if (Chara.stamina.value > 0 && (EClass.rnd(2) == 0 || !IsPC))
4546 {
4547 Chara.stamina.Mod(-1);
4548 }
4549 }
4550 else if (IsInstalled && pos.HasBlock && trait.IsDoor)
4551 {
4552 EvadeDeath(null);
4553 }
4554 else if (!trait.CanBeDestroyed)
4555 {
4556 EvadeDeath(null);
4557 }
4558 else if (HasEditorTag(EditorTag.Invulnerable) || (HasEditorTag(EditorTag.InvulnerableToMobs) && (origin == null || !origin.IsPCParty)))
4559 {
4560 EvadeDeath(null);
4561 }
4562 else if (isChara)
4563 {
4565 {
4566 EvadeDeath(null);
4567 }
4568 else if (IsPC && EClass.debug.godMode)
4569 {
4570 EvadeDeath(null);
4571 }
4572 else if (Chara.host != null || (weapon != null && weapon.HasElement(485)))
4573 {
4574 EvadeDeath(null);
4575 flag2 = true;
4576 }
4577 else
4578 {
4579 if (origin != null && origin != this && Evalue(436) > 0 && !HasCondition<ConFractured>())
4580 {
4581 int half = (HasElement(1218) ? MaxHP : (MaxHP / 2));
4582 if (num10 > half)
4583 {
4584 EvadeDeath(delegate
4585 {
4586 Say("guts", this);
4587 Chara.AddCondition<ConFractured>((int)Mathf.Max(10f, 30f - Mathf.Sqrt(Evalue(436))));
4588 hp = Mathf.Min(half * (int)Mathf.Sqrt(Evalue(436) * 2) / 100, MaxHP / 3);
4589 });
4590 goto IL_1071;
4591 }
4592 }
4593 if (zoneInstanceBout != null && (bool)LayerDrama.Instance)
4594 {
4595 EvadeDeath(null);
4596 }
4597 else if (LayerDrama.IsActive() && IsPC)
4598 {
4599 EvadeDeath(null);
4600 }
4601 else
4602 {
4603 if (attackSource != AttackSource.Finish && IsPCParty && Chara.host == null)
4604 {
4605 if (EClass.pc.ai is GoalAutoCombat && !EClass.player.invlunerable && (EClass.pc.ai as GoalAutoCombat).listHealthy.Contains(Chara))
4606 {
4607 EClass.core.actionsNextFrame.Add(delegate
4608 {
4609 Msg.Say(IsPC ? "abort_damage" : "abort_damgeAlly");
4610 });
4611 EClass.player.invlunerable = true;
4614 }
4616 {
4617 EvadeDeath(null);
4618 goto IL_1071;
4619 }
4620 }
4621 if (Evalue(1220) > 0 && Chara.stamina.value >= (IsPC ? (Chara.stamina.max / 2) : (Chara.stamina.max / 3 * 2)))
4622 {
4623 EvadeDeath(delegate
4624 {
4625 Say("fate", this);
4626 PlaySound("revive");
4627 PlayEffect("aura_heaven");
4630 });
4631 }
4632 }
4633 }
4634 }
4635 }
4636 goto IL_1071;
4637 IL_1071:
4638 if (trait.CanBeAttacked)
4639 {
4640 renderer.PlayAnime(AnimeID.HitObj);
4641 hp = MaxHP;
4643 {
4644 hp = -1;
4645 }
4646 }
4647 Chara target;
4648 if (hp < 0)
4649 {
4650 if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null && originalTarget == null && (origin.isSynced || IsPC))
4651 {
4652 string text = "";
4653 if (IsPC && Lang.setting.combatTextStyle == 0)
4654 {
4655 if (e != Element.Void && e != null)
4656 {
4657 text = "dead_" + e.source.alias;
4658 }
4659 if (text == "" || !LangGame.Has(text))
4660 {
4661 text = "dead_attack";
4662 }
4663 EClass.pc.Say(text, this, "");
4664 }
4665 else
4666 {
4667 if (e != Element.Void && e != null)
4668 {
4669 text = "kill_" + e.source.alias;
4670 }
4671 if (text == "" || !LangGame.Has(text))
4672 {
4673 text = "kill_attack";
4674 }
4675 (IsPC ? EClass.pc : origin).Say(text, origin, this);
4676 }
4677 }
4678 if (isChara && Religion.recentWrath == null)
4679 {
4680 if (HasElement(1410) && !Chara.HasCooldown(1410))
4681 {
4682 Chara.AddCooldown(1410);
4683 Say("reboot", this);
4684 PlaySound("reboot");
4685 Chara.Cure(CureType.Boss);
4686 hp = MaxHP / 3;
4688 return;
4689 }
4690 if (HasCondition<ConRebirth>())
4691 {
4692 Say("rebirth", this);
4693 hp = (int)Mathf.Min((long)MaxHP * (long)(int)(5f + Mathf.Sqrt(Chara.GetCondition<ConRebirth>().power)) / 100, MaxHP);
4695 Chara.RemoveCondition<ConRebirth>();
4696 PlayEffect("revive");
4697 PlaySound("revive");
4698 return;
4699 }
4700 foreach (Chara chara5 in EClass._map.charas)
4701 {
4702 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))
4703 {
4704 Msg.alwaysVisible = true;
4705 Msg.Say("layhand", chara5, this);
4706 Msg.Say("pray_heal", this);
4707 hp = MaxHP;
4709 PlayEffect("revive");
4710 PlaySound("revive");
4711 chara5.SetInt(58, EClass.world.date.GetRawDay());
4712 return;
4713 }
4714 }
4715 }
4716 if (zoneInstanceBout != null)
4717 {
4718 target = EClass._map.FindChara(zoneInstanceBout.uidTarget);
4719 if (target != null)
4720 {
4721 EClass.pc.ai.Cancel();
4722 if (IsPC)
4723 {
4724 EClass.pc.hp = 0;
4725 Heal();
4726 EClass.player.ModFame(-10 - (int)((float)EClass.player.fame * 0.05f));
4727 target.ShowDialog("_chara", "bout_lose");
4728 return;
4729 }
4730 if (target == this)
4731 {
4732 hp = 0;
4733 Heal();
4734 target.ModAffinity(EClass.pc, 10);
4735 target.ShowDialog("_chara", "bout_win");
4736 return;
4737 }
4738 }
4739 }
4740 if (!isDestroyed)
4741 {
4742 if (attackSource == AttackSource.MoonSpear && isChara)
4743 {
4745 ActEffect.LoveMiracle(Chara, origin?.Chara, 100, EffectId.MoonSpear);
4746 Rand.SetSeed();
4747 }
4748 Die(e, origin, attackSource, originalTarget);
4749 if (origin != null && origin.id == "unseenhand" && !origin.IsGlobal)
4750 {
4751 origin.isSummon = true;
4752 origin.c_summonDuration = 4;
4753 }
4755 {
4756 Rand.SetSeed(uid);
4757 if (EClass.rnd(3) == 0 && !isCrafted && !isCopy)
4758 {
4759 string text2 = new int[18]
4760 {
4761 233, 235, 236, 236, 236, 1170, 1143, 1144, 727, 728,
4762 237, 869, 1178, 1179, 1180, 1243, 1244, 1245
4763 }.RandomItem().ToString();
4764 if (EClass.rnd(10) == 0)
4765 {
4766 text2 = "casino_coin";
4767 }
4768 if (EClass.rnd(10) == 0)
4769 {
4770 text2 = "scratchcard";
4771 }
4772 if (EClass.rnd(3) == 0)
4773 {
4774 text2 = "money";
4775 }
4776 if (EClass.rnd(5) == 0)
4777 {
4778 text2 = "plat";
4779 }
4780 if (EClass.rnd(10) == 0)
4781 {
4782 text2 = "money2";
4783 }
4784 if (EClass.rnd(20) == 0 || EClass.debug.enable)
4785 {
4786 text2 = "medal";
4787 }
4788 EClass._zone.AddCard(ThingGen.Create(text2).SetNum((!(text2 == "money")) ? 1 : EClass.rndHalf(100)).SetHidden(hide: false), pos);
4789 }
4790 Rand.SetSeed();
4791 }
4792 ProcAbsorb();
4793 if (EClass.pc.Evalue(1355) > 0 && isChara && (IsPCFactionOrMinion || (origin != null && origin.IsPCParty)))
4794 {
4795 ((EClass.pc.AddCondition<ConStrife>() as ConStrife) ?? EClass.pc.GetCondition<ConStrife>())?.AddKill(Chara);
4796 }
4797 }
4798 if (origin != null && origin.isChara)
4799 {
4800 if (origin.IsPCFactionOrMinion && isChara && !isCopy)
4801 {
4803 EClass.game.quests.list.ForeachReverse(delegate(Quest q)
4804 {
4805 q.OnKillChara(Chara);
4806 });
4809 {
4810 Guild.Fighter.AddContribution(10 + Mathf.Min(LV, 200) / 5);
4811 }
4813 {
4814 int a = EClass.rndHalf(200 + EClass.curve(LV, 20, 15) * 20);
4815 Msg.Say("bounty", Chara, a.ToString() ?? "");
4817 SE.Pay();
4818 }
4819 }
4820 if (origin.GetInt(106) == 0)
4821 {
4822 origin.Chara.TalkTopic("kill");
4823 }
4824 }
4825 Msg.SetColor();
4826 }
4827 else if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null && originalTarget == null)
4828 {
4829 (IsPC ? EClass.pc : origin).Say("dmgMelee" + num9 + (IsPC ? "pc" : ""), origin, this);
4830 }
4831 else if (isChara)
4832 {
4833 int num13 = ((attackSource != AttackSource.Condition && attackSource != AttackSource.WeaponEnchant) ? 1 : 2);
4834 if (num9 >= (float)num13)
4835 {
4836 if (e != Element.Void)
4837 {
4838 Say("dmg_" + e.source.alias, this);
4839 }
4840 if (e == Element.Void || num9 >= 2f)
4841 {
4842 Say("dmg" + num9, this);
4843 }
4844 }
4845 }
4846 onEvade?.Invoke();
4847 if (isChara)
4848 {
4849 for (int num14 = Chara.conditions.Count - 1; num14 >= 0; num14--)
4850 {
4851 Chara.conditions[num14].OnHit(origin, attackSource);
4852 }
4853 if (Chara.mimicry == null && HasElement(1429))
4854 {
4856 }
4857 if (flag2)
4858 {
4859 if (!Chara.HasCondition<ConFaint>())
4860 {
4861 Chara.AddCondition<ConFaint>(200, force: true);
4862 }
4863 return;
4864 }
4865 if (origin != null && origin.IsAliveInCurrentZone && origin.isChara)
4866 {
4867 if (e.id == 916)
4868 {
4869 origin.HealHP(Mathf.Clamp(EClass.rnd(dmg * (50 + eleP) / 500 + 5), 1, origin.MaxHP / 5 + EClass.rnd(10)));
4870 }
4871 if (attackSource == AttackSource.Melee || attackSource == AttackSource.Range)
4872 {
4873 int num15 = origin.Dist(this);
4874 if (attackSource == AttackSource.Melee && HasElement(1221) && num15 <= Evalue(1221))
4875 {
4876 int ele2 = ((Chara.MainElement == Element.Void) ? 924 : Chara.MainElement.id);
4877 if (id == "hedgehog_ether")
4878 {
4879 ele2 = 922;
4880 }
4881 Say("reflect_thorne", origin, this);
4882 origin.DamageHP((int)Mathf.Clamp(dmg / 10, 1f, MaxHP / (origin.IsPowerful ? 200 : 20)), ele2, Power, AttackSource.Condition, this);
4883 }
4884 if (HasElement(1223) && num15 <= Evalue(1223))
4885 {
4886 int ele3 = ((Chara.MainElement == Element.Void) ? 923 : Chara.MainElement.id);
4887 Say("reflect_acid", this, origin);
4888 origin.DamageHP((int)Mathf.Clamp(dmg / 10, 1f, MaxHP / (origin.IsPowerful ? 200 : 20)), ele3, Power * 2, AttackSource.Condition, this);
4889 }
4890 }
4891 ProcAbsorb();
4892 }
4893 }
4894 if (hp < 0 || !isChara)
4895 {
4896 return;
4897 }
4898 if (dmg > 0)
4899 {
4900 int a2 = (int)(100 * (dmg * 100 / MaxHP) / 100) + 1;
4901 a2 = Mathf.Min(a2, Chara.isRestrained ? 15 : 200);
4902 if (a2 > 0)
4903 {
4905 if (Chara.body.GetAttackStyle() == AttackStyle.Shield)
4906 {
4907 elements.ModExp(123, a2);
4908 }
4909 }
4910 }
4911 int num16 = ((EClass.rnd(2) == 0) ? 1 : 0);
4912 if (attackSource == AttackSource.Condition)
4913 {
4914 num16 = 1 + EClass.rnd(2);
4915 }
4916 if (num16 > 0)
4917 {
4918 bool flag3 = Chara.HasCondition<ConPoison>() || ((e.id == 915 || e.id == 923) && ResistLv(Evalue(955)) < 4);
4919 AddBlood(num16, flag3 ? 6 : (-1));
4920 }
4921 if (dmg > 0 || (origin != null && origin.HasElement(1345)))
4922 {
4923 ApplyElementEffect(e, eleP, origin);
4924 }
4925 if (origin != null && origin.HasElement(1411) && !Chara.HasCondition<ConGravity>())
4926 {
4927 Condition.ignoreEffect = true;
4929 Condition.ignoreEffect = false;
4930 }
4931 if (IsPC)
4932 {
4933 float num17 = (float)hp / (float)MaxHP;
4934 if (Evalue(1421) > 0)
4935 {
4936 num17 = (float)Chara.mana.value / (float)Chara.mana.max;
4937 }
4938 if (num17 < 0.3f)
4939 {
4940 PlaySound("heartbeat", 1f - num17 * 2f);
4941 }
4942 }
4943 if (!IsPC && hp < MaxHP / 5 && Evalue(423) <= 0 && dmg * 100 / MaxHP + 10 > EClass.rnd(IsPowerful ? 400 : 150) && !HasCondition<ConFear>())
4944 {
4945 Chara.AddCondition<ConFear>(100 + EClass.rnd(100));
4946 }
4947 if (Chara.ai.Current.CancelWhenDamaged && attackSource != AttackSource.Hunger && attackSource != AttackSource.Fatigue && (!EClass.core.config.test.dontCancelIfZeroDamage || dmg != 0L || !IsPC))
4948 {
4949 Chara.ai.Current.TryCancel(origin);
4950 }
4952 {
4953 ConWeapon condition2 = Chara.GetCondition<ConWeapon>();
4954 if (e.source.aliasRef == condition2.sourceElement.aliasRef)
4955 {
4956 condition2.Mod(-1);
4957 }
4958 }
4959 if (Chara.HasElement(1222) && (dmg >= MaxHP / 10 || EClass.rnd(20) == 0))
4960 {
4961 ActEffect.Proc(EffectId.Duplicate, this);
4962 }
4963 if (origin != null && !Chara.isRestrained)
4964 {
4966 }
4967 if (hp < MaxHP / 3 && HasElement(1409) && !Chara.HasCooldown(1409))
4968 {
4969 Chara.AddCooldown(1409);
4971 Chara.Cure(CureType.Boss);
4972 Chara.HealHP(MaxHP / 2);
4973 EClass.player.forceTalk = true;
4974 }
4975 if (origin != null && origin.isChara && attackSource != AttackSource.Finish)
4976 {
4978 {
4979 Chara.TrySetEnemy(origin.Chara);
4980 }
4981 if ((weapon == null || !weapon.HasElement(486)) && origin.Evalue(428) > 0 && !IsPCFactionOrMinion && EClass.rnd(dmg) >= EClass.rnd(MaxHP / 10) + MaxHP / 100 + 1)
4982 {
4983 origin.Chara.TryNeckHunt(Chara, origin.Evalue(428) * 20, harvest: true);
4984 }
4985 }
4986 void EvadeDeath(Action action)
4987 {
4988 hp = 0;
4989 if (Evalue(1421) > 0 && isChara && Chara.mana.value < 0)
4990 {
4991 Chara.mana.value = 0;
4992 }
4993 onEvade = action;
4994 }
4995 void Heal()
4996 {
4997 target.Cure(CureType.HealComplete);
4998 foreach (Chara member in EClass.pc.party.members)
4999 {
5000 member.Cure(CureType.HealComplete);
5001 }
5002 }
5003 void ProcAbsorb()
5004 {
5005 if (origin != null && origin.isChara && isChara && (weapon == null || !weapon.HasElement(486)))
5006 {
5007 int num18 = origin.Evalue(662) + (weapon?.Evalue(662, ignoreGlobalElement: true) ?? 0);
5008 int num19 = origin.Evalue(661) + (weapon?.Evalue(661, ignoreGlobalElement: true) ?? 0);
5009 if (num18 > 0 && attackSource == AttackSource.Melee && origin.isChara && !origin.Chara.ignoreSPAbsorb && Chara.IsHostile(origin as Chara))
5010 {
5011 int num20 = EClass.rnd(3 + (int)Mathf.Clamp(dmg / 100, 0f, num18 / 10));
5012 origin.Chara.stamina.Mod(num20);
5014 {
5015 Chara.stamina.Mod(-num20);
5016 }
5017 }
5018 if (origin.HasElement(1350) && attackSource == AttackSource.Melee)
5019 {
5020 int num21 = EClass.rndHalf(2 + (int)Mathf.Clamp(dmg / 10, 0f, origin.Chara.GetPietyValue() + 10));
5021 origin.Chara.mana.Mod(num21);
5023 {
5024 Chara.mana.Mod(-num21);
5025 }
5026 }
5027 if (num19 > 0 && attackSource == AttackSource.Melee)
5028 {
5029 int num22 = EClass.rnd(2 + (int)Mathf.Clamp(dmg / 10, 0f, num19 + 10));
5030 origin.Chara.mana.Mod(num22);
5032 {
5033 Chara.mana.Mod(-num22);
5034 }
5035 }
5036 }
5037 }
5038 }
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
static bool not(DramaManager dm, Dictionary< string, string > line, params string[] parameters)
@ 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:2851
static void TryDelay(Action a)
Definition: ActEffect.cs:23
static void ProcShieldEncs(Chara CC, Card TC, int mtpChance=100)
void Mod(int a, bool force=false)
SourceElement.Row sourceElement
List< Action > actionsNextFrame
Definition: BaseCore.cs:31
virtual ConditionType Type
Definition: BaseStats.cs:33
void PlayAnime(AnimeID id, bool force)
bool IsPCFactionOrMinion
Definition: Card.cs:2326
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:5200
void AddBlood(int a=1, int id=-1)
Definition: Card.cs:6345
bool isRestrained
Definition: Card.cs:569
virtual int Power
Definition: Card.cs:2349
bool isCopy
Definition: Card.cs:881
void SetInt(string id, int value=0)
Definition: Card.cs:2570
virtual void HealHP(int a, HealSource origin=HealSource.None)
Definition: Card.cs:4165
int GetResistPenetrationLevel(int idEle, AttackSource attackSource, Card origin=null)
Definition: Card.cs:4225
void ApplyElementEffect(Element e, int eleP, Card origin, bool checkHostileAct=false)
Definition: Card.cs:5040
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6577
void ModCurrency(int a, string id="money")
Definition: Card.cs:4119
bool IsPowerful
Definition: Card.cs:2146
bool HasEditorTag(EditorTag tag)
Definition: Card.cs:2717
bool IsInstalled
Definition: Card.cs:2435
int Dist(Card c)
Definition: Card.cs:8096
virtual bool IsPCFaction
Definition: Card.cs:2323
int ResistLv(int res)
Definition: Card.cs:6280
virtual bool IsGlobal
Definition: Card.cs:2337
virtual bool isSynced
Definition: Card.cs:2139
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:7221
AttackStyle GetAttackStyle()
Definition: CharaBody.cs:479
Element MainElement
Definition: Chara.cs:735
AIAct ai
Definition: Chara.cs:206
bool TryNeckHunt(Chara TC, int power, bool harvest=false)
Definition: Chara.cs:10036
void ModAffinity(Chara c, int a, bool show=true, bool showOnlyEmo=false)
Definition: Chara.cs:8236
Chara host
Definition: Chara.cs:33
void ShowDialog()
Definition: Chara.cs:7313
override string ToString()
Definition: Chara.cs:1207
Party party
Definition: Chara.cs:43
bool HasCondition(string alias)
Definition: Chara.cs:9808
override bool IsDisabled
Definition: Chara.cs:591
override bool IsPCFaction
Definition: Chara.cs:689
bool IsFriendOrAbove()
Definition: Chara.cs:6854
override int MaxHP
Definition: Chara.cs:726
Stats mana
Definition: Chara.cs:1189
FactionMemberType memberType
Definition: Chara.cs:46
string TalkTopic(string topic="calm")
Definition: Chara.cs:7236
Stats stamina
Definition: Chara.cs:1181
void AddCooldown(int idEle, int turns=0)
Definition: Chara.cs:9048
bool ignoreSPAbsorb
Definition: Chara.cs:148
Religion faith
Definition: Chara.cs:443
int GetPietyValue()
Definition: Chara.cs:10591
bool IsHostile()
Definition: Chara.cs:6758
ConBaseTransmuteMimic mimicry
Definition: Chara.cs:106
void Cure(CureType type, int p=100, BlessedState state=BlessedState.Normal)
Definition: Chara.cs:9900
void TrySetEnemy(Chara c)
Definition: Chara.cs:6545
bool HasCooldown(int idEle)
Definition: Chara.cs:9099
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:564
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:283
Effect SetParticleColor(Color c)
Definition: Effect.cs:293
void ModExp(int ele, float a, bool chain=false)
int ValueWithoutLink(int ele)
SourceElement.Row source
Definition: ELEMENT.cs:280
static Element Create(int id, int v=0)
Definition: ELEMENT.cs:1121
static Element Void
Definition: ELEMENT.cs:245
static long GetResistDamage(long dmg, int v, int power=0)
Definition: ELEMENT.cs:1159
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:99
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:2613
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:112
Card AddCard(Card t, Point point)
Definition: Zone.cs:2066

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, not(), 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 7015 of file Card.cs.

7016 {
7017 Card card = parent as Card;
7018 int num = 200;
7019 int num2 = MaxDecay / 4 * 3;
7020 if (a > 0)
7021 {
7022 if (card != null)
7023 {
7024 num = card.trait.DecaySpeedChild;
7025 }
7026 num = num * trait.DecaySpeed / 100;
7027 int num3 = Evalue(405);
7028 if (num3 != 0)
7029 {
7030 num = num * (100 - num3 * 2) / 100;
7031 }
7032 if (num < 0)
7033 {
7034 num = 0;
7035 }
7036 }
7037 else
7038 {
7039 num = 100;
7040 }
7041 a = a * num / 100;
7042 if (decay + a > MaxDecay)
7043 {
7044 if (card != null && !card.trait.OnChildDecay(this, !IsDecayed))
7045 {
7046 return;
7047 }
7048 if (!IsDecayed)
7049 {
7050 if (EClass.pc.HasElement(1325) && GetRootCard() is Chara && category.IsChildOf("food"))
7051 {
7052 Thing thing = TraitSeed.MakeRandomSeed(enc: true).SetNum(Mathf.Min(Num, 3));
7053 card.AddCard(thing);
7054 if (!IsParentLocked())
7055 {
7056 GetRootCard().Say("seed_rot", GetRootCard(), this, thing.Name);
7057 }
7058 Destroy();
7059 return;
7060 }
7061 if (parent == EClass._zone)
7062 {
7063 Say("rot", this);
7064 }
7065 else if (GetRootCard() == EClass.pc)
7066 {
7067 if (!IsParentLocked())
7068 {
7069 EClass.pc.Say("rotInv", this, EClass.pc);
7070 }
7072 }
7073 if (IsFood)
7074 {
7075 elements.ModBase(73, -10);
7076 }
7077 }
7078 }
7079 else if (decay < num2 && decay + a >= num2 && GetRootCard() == EClass.pc)
7080 {
7081 if (!IsParentLocked())
7082 {
7083 EClass.pc.Say("rottingInv", this, EClass.pc);
7084 }
7086 }
7087 decay += a;
7088 bool IsParentLocked()
7089 {
7090 if (parent is Thing)
7091 {
7092 return (parent as Thing).c_lockLv > 0;
7093 }
7094 return false;
7095 }
7096 }
bool IsDecayed
Definition: Card.cs:2341
string Name
Definition: Card.cs:2191
bool IsFood
Definition: Card.cs:2229
virtual int MaxDecay
Definition: Card.cs:2339
bool IsChildOf(Card c)
Definition: Card.cs:2793
static Thing MakeRandomSeed(bool enc=false)
Definition: TraitSeed.cs:97

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 6983 of file Card.cs.

6984 {
6985 if (!isNPCProperty)
6986 {
6987 things.ForeachReverse(delegate(Thing t)
6988 {
6989 t.DecayNatural(hour);
6990 });
6991 if (sourceCard._origin == "dish")
6992 {
6994 }
6995 if (parent is Card && (parent as Card).trait.CanChildDecay(this))
6996 {
6997 Decay(10 * hour);
6998 }
6999 else if (!isChara && trait.Decay != 0)
7000 {
7001 Decay(trait.Decay * hour);
7002 }
7003 }
7004 }
string _origin
Definition: CardRow.cs:15
bool isNPCProperty
Definition: Card.cs:557
void DecayNatural(int hour=1)
Definition: Card.cs:6983
void Decay(int a=10)
Definition: Card.cs:7015
void CheckJustCooked()
Definition: Card.cs:7006
virtual bool CanChildDecay(Card c)
Definition: Trait.cs:1254
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 5262 of file Card.cs.

5263 {
5264 PlaySound(material.GetSoundDead(sourceCard));
5265 Destroy();
5266 }

References material.

Referenced by AI_Deconstruct.Run().

◆ Destroy()

void Card.Destroy ( )
inline

Definition at line 5268 of file Card.cs.

5269 {
5270 if (isDestroyed)
5271 {
5272 Debug.Log(Name + " is already destroyed.");
5273 return;
5274 }
5275 if (isChara)
5276 {
5277 if (IsPCFaction && !Chara.isSummon)
5278 {
5279 Debug.Log(this);
5280 return;
5281 }
5282 Chara.DropHeld();
5283 Chara.isDead = true;
5284 if (IsPCParty)
5285 {
5287 }
5288 if (IsGlobal)
5289 {
5291 }
5292 }
5293 if (renderer.hasActor)
5294 {
5296 }
5297 if (parent != null)
5298 {
5299 parent.RemoveCard(this);
5300 }
5301 for (int num = things.Count - 1; num >= 0; num--)
5302 {
5303 things[num].Destroy();
5304 }
5305 isDestroyed = true;
5306 }
GlobalCharaList globalCharas
Definition: CardManager.cs:46
void KillActor()
bool isSummon
Definition: Card.cs:713
Card DropHeld(Point dropPos=null)
Definition: Chara.cs:4757
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(), Zone.Activate(), 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(), CharaExtension.DestroyImmediate(), 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 5200 of file Card.cs.

5201 {
5202 Card rootCard = GetRootCard();
5203 Point _pos = rootCard?.pos ?? pos;
5204 if (_pos != null && !_pos.IsValid)
5205 {
5206 _pos = null;
5207 }
5208 if (trait.EffectDead == EffectDead.Default && _pos != null)
5209 {
5210 _pos.PlaySound(material.GetSoundDead(sourceCard));
5211 _pos.PlayEffect("mine").SetParticleColor(material.GetColor()).Emit(10 + EClass.rnd(10));
5212 material.AddBlood(_pos, trait.CanBeSmashedToDeath ? (12 + EClass.rnd(8)) : 6);
5213 if (_pos.IsSync)
5214 {
5215 string text = ((rootCard != this) ? "destroyed_inv_" : "destroyed_ground_");
5216 if (e != null && LangGame.Has(text + e.source.alias))
5217 {
5218 text += e.source.alias;
5219 }
5220 if (attackSource != AttackSource.Throw)
5221 {
5222 Msg.Say(text, this, rootCard);
5223 }
5224 }
5225 else if (attackSource != AttackSource.Throw)
5226 {
5227 Msg.Say("destroyed", this);
5228 }
5229 }
5230 if (_pos != null && !EClass._zone.IsUserZone)
5231 {
5232 things.ForeachReverse(delegate(Thing t)
5233 {
5234 if (!(t.trait is TraitChestMerchant))
5235 {
5236 t.isHidden = false;
5237 EClass._zone.AddCard(t, _pos);
5238 }
5239 });
5240 }
5241 Destroy();
5242 if (e != null && _pos != null && e.id == 21)
5243 {
5244 EClass._zone.AddCard(ThingGen.Create((EClass.rnd(2) == 0) ? "ash" : "ash2"), _pos);
5245 }
5246 if (trait.ThrowType == ThrowType.Explosive && EClass.rnd((!(trait is TraitAmmoRocket)) ? 1 : 2) == 0)
5247 {
5248 Explode(pos, origin);
5249 }
5250 }
EffectDead
Definition: EffectDead.cs:2
ThrowType
Definition: ThrowType.cs:2
void Explode(Point p, Card origin)
Definition: Card.cs:5252
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:1259
Effect PlayEffect(string id)
Definition: Point.cs:1254
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 8096 of file Card.cs.

8097 {
8098 if (!IsMultisize && !c.IsMultisize)
8099 {
8100 return pos.Distance(c.pos);
8101 }
8102 if (IsMultisize)
8103 {
8104 int dist = 99;
8105 ForeachPoint(delegate(Point p, bool main)
8106 {
8107 int num2 = DistMulti(p, c);
8108 if (num2 < dist)
8109 {
8110 dist = num2;
8111 }
8112 });
8113 return dist;
8114 }
8115 return DistMulti(pos, c);
8116 static int DistMulti(Point p1, Card c)
8117 {
8118 if (!c.IsMultisize)
8119 {
8120 return p1.Distance(c.pos);
8121 }
8122 int dist2 = 99;
8123 c.ForeachPoint(delegate(Point p, bool main)
8124 {
8125 int num = p1.Distance(p);
8126 if (num < dist2)
8127 {
8128 dist2 = num;
8129 }
8130 });
8131 return dist2;
8132 }
8133 }
virtual bool IsMultisize
Definition: Card.cs:2212
void ForeachPoint(Action< Point, bool > action)
Definition: Card.cs:8261
int Distance(Point p)
Definition: Point.cs:995

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 8135 of file Card.cs.

8136 {
8137 return pos.Distance(p);
8138 }

References Point.Distance().

◆ Duplicate()

Thing Card.Duplicate ( int  num)
inline

Definition at line 3602 of file Card.cs.

3603 {
3604 Thing thing = ThingGen.Create(id);
3605 thing.ChangeMaterial(idMaterial, ignoreFixedMaterial: true);
3606 thing._bits1 = _bits1;
3607 thing._bits2 = _bits2;
3608 thing.dir = dir;
3609 thing.refVal = refVal;
3610 thing.altitude = altitude;
3611 thing.idSkin = idSkin;
3612 thing.blessedState = blessedState;
3613 thing.rarityLv = rarityLv;
3614 thing.tier = tier;
3615 thing.LV = LV;
3616 thing.exp = exp;
3617 thing.encLV = encLV;
3618 thing.decay = decay;
3619 thing.mapInt.Clear();
3620 thing.mapStr.Clear();
3621 foreach (KeyValuePair<int, int> item in mapInt)
3622 {
3623 thing.mapInt[item.Key] = item.Value;
3624 }
3625 foreach (KeyValuePair<int, string> item2 in mapStr)
3626 {
3627 thing.mapStr[item2.Key] = item2.Value;
3628 }
3629 elements.CopyTo(thing.elements);
3630 thing.SetNum(num);
3631 if (thing.IsRangedWeapon)
3632 {
3633 thing.sockets = IO.DeepCopy(sockets);
3634 }
3635 if (thing.c_containerSize != 0)
3636 {
3637 thing.things.SetOwner(thing);
3638 }
3639 return thing;
3640 }
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:3194
bool IsRangedWeapon
Definition: Card.cs:2297
int c_containerSize
Definition: Card.cs:1405
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:10

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 6381 of file Card.cs.

6382 {
6383 isDyed = mat != null;
6384 c_dyeMat = mat?.id ?? 0;
6385 _colorInt = 0;
6386 }
int c_dyeMat
Definition: Card.cs:1225
bool isDyed
Definition: Card.cs:461

◆ Dye() [2/2]

◆ DyeRandom()

void Card.DyeRandom ( )
inline

Definition at line 6371 of file Card.cs.

6372 {
6373 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);
6374 }

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 3734 of file Card.cs.

3735 {
3736 for (int i = 0; i < sockets.Count; i++)
3737 {
3738 int num = sockets[i];
3739 if (num != 0)
3740 {
3741 Thing thing = ThingGen.Create(isCopy ? "ash3" : "mod_ranged");
3742 int ele = num / 1000;
3743 int num2 = num % 1000;
3744 elements.ModBase(ele, -num2);
3745 if (!isCopy)
3746 {
3747 thing.refVal = ele;
3748 thing.encLV = num2;
3749 }
3751 sockets[i] = 0;
3752 }
3753 }
3754 }
bool ExistsOnMap
Definition: Card.cs:2137
void TrySmoothPick(Cell cell, Thing t, Chara c)
Definition: Map.cs:1849
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 2688 of file Card.cs.

2689 {
2690 return elements.Value(ele);
2691 }
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(), 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(), 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.Prepare(), FoodEffect.Proc(), ActEffect.ProcAt(), 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(), Map.TryShatter(), 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 2693 of file Card.cs.

2694 {
2695 if (!ignoreGlobalElement || !HasGlobalElement(ele))
2696 {
2697 return elements.Value(ele);
2698 }
2699 return 0;
2700 }
bool HasGlobalElement(int ele)
Definition: Card.cs:6308

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

◆ Evalue() [3/3]

int Card.Evalue ( string  alias)
inline

Definition at line 2707 of file Card.cs.

2708 {
2709 return elements.Value(EClass.sources.elements.alias[alias].id);
2710 }

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

◆ EvalueMax()

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

Definition at line 2702 of file Card.cs.

2703 {
2704 return Mathf.Max(elements.Value(ele), min);
2705 }

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 5252 of file Card.cs.

5253 {
5254 ActEffect.ProcAt(EffectId.Explosive, 100, blessedState, this, null, p, isNeg: true, new ActRef
5255 {
5256 origin = origin?.Chara,
5257 refThing = Thing,
5258 aliasEle = "eleImpact"
5259 });
5260 }
static void ProcAt(EffectId id, int power, BlessedState state, Card cc, Card tc, Point tp, bool isNeg, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:470
Definition: ActRef.cs:2

References ActEffect.ProcAt().

◆ FindTool< T >()

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

Definition at line 2798 of file Card.cs.

2798 : Trait
2799 {
2800 if (IsPC)
2801 {
2802 return Tool?.trait as T;
2803 }
2804 return things.Find<T>()?.trait as T;
2805 }
Thing Tool
Definition: Card.cs:2464
Thing Find(int uid)

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

◆ ForeachFOV()

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

Definition at line 8245 of file Card.cs.

8246 {
8247 if (fov == null)
8248 {
8249 return;
8250 }
8251 foreach (KeyValuePair<int, byte> lastPoint in fov.lastPoints)
8252 {
8253 Point arg = new Point().Set(lastPoint.Key);
8254 if (func(arg))
8255 {
8256 break;
8257 }
8258 }
8259 }

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

◆ ForeachPoint()

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

Definition at line 8261 of file Card.cs.

8262 {
8263 if (IsMultisize)
8264 {
8265 pos.ForeachMultiSize(W, H, action);
8266 }
8267 else
8268 {
8269 action(pos, arg2: true);
8270 }
8271 }
int H
Definition: Card.cs:2420
int W
Definition: Card.cs:2408
void ForeachMultiSize(int w, int h, Action< Point, bool > action)
Definition: Point.cs:1391

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 3132 of file Card.cs.

3133 {
3134 return Mathf.Clamp(100 + Chara.affinity.value / 10, 50, 200);
3135 }
int value
Definition: Affinity.cs:26
Affinity affinity
Definition: Chara.cs:318

References Chara.affinity, and Affinity.value.

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

◆ GetArmorSkill()

virtual int Card.GetArmorSkill ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 4195 of file Card.cs.

4196 {
4197 return 0;
4198 }

Referenced by ApplyProtection().

◆ GetBestAttribute()

int Card.GetBestAttribute ( )
inline

Definition at line 2747 of file Card.cs.

2748 {
2749 int num = 1;
2750 foreach (Element item in elements.dict.Values.Where((Element a) => Element.List_MainAttributesMajor.Contains(a.id)))
2751 {
2752 int num2 = item.Value;
2753 if (isChara && Chara.tempElements != null)
2754 {
2755 num2 -= Chara.tempElements.Value(item.id);
2756 }
2757 if (num2 > num)
2758 {
2759 num = num2;
2760 }
2761 }
2762 return num;
2763 }
ElementContainer tempElements
Definition: Chara.cs:36
Dictionary< int, Element > dict
static int[] List_MainAttributesMajor
Definition: ELEMENT.cs:249

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

Referenced by AI_Fuck.Finish().

◆ GetBool()

◆ GetCondition< T >()

virtual T Card.GetCondition< T > ( )
inlinevirtual

Reimplemented in Chara.

Type Constraints
T :Condition 

Definition at line 8301 of file Card.cs.

8301 : Condition
8302 {
8303 return null;
8304 }

◆ GetCurrency()

◆ GetDaysTogetherBonus()

int Card.GetDaysTogetherBonus ( )
inline

Definition at line 3137 of file Card.cs.

3138 {
3140 {
3141 return 100;
3142 }
3143 return 100 + EClass.curve(c_daysWithPC / 100 * 3, 100, 20, 70);
3144 }
int c_daysWithPC
Definition: Card.cs:1525

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

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

◆ GetDetail()

virtual string Card.GetDetail ( )
inlinevirtual

Definition at line 2742 of file Card.cs.

2743 {
2744 return sourceCard.GetText("detail", returnNull: true);
2745 }
string GetText(string id="name", bool returnNull=false)
Definition: SourceData.cs:688

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

◆ GetEquipValue()

int Card.GetEquipValue ( )
inline

Definition at line 7575 of file Card.cs.

7576 {
7577 return GetValue();
7578 }
int GetValue(PriceType priceType=PriceType.Default, bool sell=false)
Definition: Card.cs:7596

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

◆ GetExpMtp()

int Card.GetExpMtp ( )
inline

Definition at line 3114 of file Card.cs.

3115 {
3116 int num = 100;
3117 if (!IsPC)
3118 {
3119 num *= 2;
3120 if (IsPCFaction)
3121 {
3122 num = num * GetAffinityExpBonus() / 100;
3124 {
3125 num = num * (50 + EClass.game.principal.petFeatExpMtp * 50) / 100;
3126 }
3127 }
3128 }
3129 return num * (100 + Evalue(1237) * 30 + Evalue(1273) * 50 + ((Evalue(1275) >= 2) ? 50 : 0)) / 100;
3130 }
int GetAffinityExpBonus()
Definition: Card.cs:3132

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 2737 of file Card.cs.

2738 {
2739 return "";
2740 }

Referenced by Act.GetTextSmall().

◆ GetFoodName()

string Card.GetFoodName ( string  s)
inline

Definition at line 5931 of file Card.cs.

5932 {
5933 return s.Replace("_corpseFrom".lang(), "_corpseTo".lang());
5934 }

◆ GetHearingRadius()

int Card.GetHearingRadius ( )
inline

Definition at line 6792 of file Card.cs.

6793 {
6794 return 8;
6795 }

Referenced by AI_Idle.Run().

◆ GetHoverText()

virtual string Card.GetHoverText ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 8086 of file Card.cs.

8087 {
8088 return Name + GetExtraName();
8089 }
virtual string GetExtraName()
Definition: Card.cs:2737

Referenced by ConBaseTransmuteMimic.GetHoverText().

◆ GetHoverText2()

virtual string Card.GetHoverText2 ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 8091 of file Card.cs.

8092 {
8093 return "";
8094 }

Referenced by ConBaseTransmuteMimic.GetHoverText2().

◆ GetImageSprite()

virtual Sprite Card.GetImageSprite ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 6479 of file Card.cs.

6480 {
6481 return null;
6482 }

Referenced by HotItemThing.GetSprite().

◆ GetInt()

◆ GetLightPower()

float Card.GetLightPower ( )
inline

Definition at line 6778 of file Card.cs.

6779 {
6781 if (LightData != null)
6782 {
6783 return 0.01f * LightData.color.a * 256f * 1.12f;
6784 }
6785 if (IsPCFaction && !IsPC)
6786 {
6787 num *= 4f;
6788 }
6789 return num;
6790 }
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 6806 of file Card.cs.

6807 {
6808 if (isThing)
6809 {
6810 if (!IsInstalled && EClass.pc.held != this)
6811 {
6812 return 0;
6813 }
6815 {
6816 return (trait as TraitLightSource).LightRadius;
6817 }
6818 if (LightData == null || !trait.IsLightOn)
6819 {
6820 return 0;
6821 }
6822 return LightData.radius;
6823 }
6824 int num = ((LightData != null) ? LightData.radius : 0);
6825 int num2 = 0;
6826 if (IsPC)
6827 {
6828 if (Chara.isBlind)
6829 {
6830 return 1;
6831 }
6832 num = ((EClass._map.IsIndoor || EClass.world.date.IsNight) ? 2 : ((EClass.world.date.periodOfDay == PeriodOfDay.Day) ? 6 : 5));
6833 num2 = 2;
6834 }
6835 else
6836 {
6838 {
6839 return 0;
6840 }
6841 if (LightData == null && !EClass._map.IsIndoor && !EClass.world.date.IsNight)
6842 {
6843 return 0;
6844 }
6845 }
6846 if (IsPCFaction)
6847 {
6848 Thing equippedThing = Chara.body.GetEquippedThing(45);
6849 if (equippedThing != null && equippedThing.trait is TraitLightSource traitLightSource)
6850 {
6851 num2 = traitLightSource.LightRadius;
6852 }
6853 if (Chara.held != null && IsPC)
6854 {
6855 int lightRadius = Chara.held.GetLightRadius();
6856 if (lightRadius > 0)
6857 {
6858 if (lightRadius > num2)
6859 {
6860 num2 = Chara.held.GetLightRadius() - 1;
6861 }
6862 if (num2 < 3)
6863 {
6864 num2 = 3;
6865 }
6866 }
6867 }
6868 if (num < num2)
6869 {
6870 num = num2;
6871 }
6872 }
6873 return num;
6874 }
PeriodOfDay
Definition: PeriodOfDay.cs:2
Thing GetEquippedThing(int elementId)
Definition: CharaBody.cs:424
bool isBlind
Definition: Chara.cs:132
GraphicSetting graphic
Definition: CoreConfig.cs:615
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 2732 of file Card.cs.

2733 {
2734 return "Card";
2735 }

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

◆ GetObj< T >()

T Card.GetObj< T > ( string  id)
inline

Definition at line 2589 of file Card.cs.

2590 {
2591 return GetObj<T>(id.GetHashCode());
2592 }
T GetObj< T >(string id)
Definition: Card.cs:2589

References GetObj< T >().

Referenced by GetObj< T >().

◆ GetPaintData()

byte[] Card.GetPaintData ( )
inline

Definition at line 7457 of file Card.cs.

7458 {
7459 Sprite sprite = GetSprite();
7460 Texture2D texture2D = ScreenCapture.CaptureScreenshotAsTexture();
7461 int num = sprite.texture.width * 2;
7462 int num2 = sprite.texture.height * 2;
7463 int x = (int)Mathf.Clamp(Input.mousePosition.x - (float)(num / 2), 1f, texture2D.width - num - 1);
7464 int y = (int)Mathf.Clamp(Input.mousePosition.y - (float)(num2 / 2), 1f, texture2D.height - num2 - 1);
7465 Color[] pixels = texture2D.GetPixels(x, y, num, num2);
7466 Texture2D texture2D2 = new Texture2D(num, num2, TextureFormat.ARGB32, mipChain: false);
7467 texture2D2.SetPixels(pixels);
7468 texture2D2.Apply();
7469 byte[] result = texture2D2.EncodeToJPG();
7470 UnityEngine.Object.Destroy(texture2D);
7471 UnityEngine.Object.Destroy(texture2D2);
7472 return result;
7473 }
virtual Sprite GetSprite(int dir=0)
Definition: Card.cs:6462

References Color.

Referenced by AM_Paint.OnUpdateInput().

◆ GetPaintSprite()

Sprite Card.GetPaintSprite ( )
inline

Definition at line 7485 of file Card.cs.

7486 {
7487 if (!_paintSprite)
7488 {
7489 byte[] data = c_textureData;
7490 Texture2D texture2D = new Texture2D(1, 1);
7491 texture2D.LoadImage(data);
7492 _paintSprite = Sprite.Create(texture2D, new Rect(0f, 0f, texture2D.width, texture2D.height), new Vector2(0.5f, 0.5f), 200f);
7493 EClass.game.loadedTextures.Add(texture2D);
7494 if (trait is TraitCanvas traitCanvas)
7495 {
7496 texture2D.filterMode = ((!traitCanvas.PointFilter) ? FilterMode.Bilinear : FilterMode.Point);
7497 }
7498 }
7499 return _paintSprite;
7500 }
byte[] c_textureData
Definition: Card.cs:1981
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

Reimplemented in Thing.

Definition at line 7674 of file Card.cs.

7675 {
7676 if (priceType == PriceType.CopyShop && sell)
7677 {
7678 return 0;
7679 }
7680 if (!sell)
7681 {
7682 if (id == "littleball")
7683 {
7684 return 0;
7685 }
7686 switch (currency)
7687 {
7688 case CurrencyType.Money:
7689 if (id == "crimale2")
7690 {
7691 return 6480;
7692 }
7693 break;
7694 case CurrencyType.Influence:
7695 switch (id)
7696 {
7697 case "ticket_fortune":
7698 return 5;
7699 case "medal":
7700 return 5;
7701 case "lunch_love":
7702 return 20;
7703 case "scroll_alias":
7704 return 5;
7705 case "scroll_biography":
7706 return 5;
7707 case "1268":
7708 return 8;
7709 case "1329":
7710 return 20;
7711 case "statue_lulu":
7712 case "statue_jure":
7713 case "statue_ehe":
7714 return 100;
7715 }
7716 break;
7717 case CurrencyType.Money2:
7718 {
7719 string text = id;
7720 if (!(text == "mathammer"))
7721 {
7722 if (!(text == "water_jure"))
7723 {
7724 break;
7725 }
7726 return 2000;
7727 }
7728 return 50 + material.tier * material.tier * 10;
7729 }
7730 case CurrencyType.Ecopo:
7731 switch (id)
7732 {
7733 case "plat":
7734 return 500;
7735 case "rune_free":
7736 return 1000;
7737 case "whip_egg":
7738 return 3000;
7739 case "brush_strip":
7740 return 2500;
7741 case "hammer_strip":
7742 return 5000;
7743 case "helm_chef":
7744 return 25000;
7745 }
7746 break;
7747 case CurrencyType.Plat:
7748 switch (id)
7749 {
7750 case "lucky_coin":
7751 return 100;
7752 case "book_exp":
7753 return 200;
7754 case "book_skill":
7755 return 50;
7756 }
7757 break;
7758 case CurrencyType.Medal:
7759 switch (id)
7760 {
7761 case "1282":
7762 return 5;
7763 case "bill_tax":
7764 return 3;
7765 case "water":
7766 return 3;
7767 case "bill":
7768 return 3;
7769 case "1165":
7770 return 10;
7771 case "diary_sister":
7772 return 12;
7773 case "diary_lady":
7774 return 25;
7775 case "diary_catsister":
7776 return 85;
7777 case "container_magic":
7778 return 20;
7779 case "wrench_tent_elec":
7780 return 3;
7781 case "wrench_tent_soil":
7782 return 3;
7783 case "wrench_tent_seabed":
7784 return 12;
7785 case "wrench_bed":
7786 return 3;
7787 case "wrench_storage":
7788 return 4;
7789 case "wrench_fridge":
7790 return 15;
7791 case "wrench_extend_v":
7792 return 6;
7793 case "wrench_extend_h":
7794 return 6;
7795 case "monsterball":
7796 return LV / 8;
7797 case "372":
7798 return 3;
7799 case "hammer_garokk":
7800 return 100;
7801 case "scroll_random":
7802 if (refVal == 8288)
7803 {
7804 return 20;
7805 }
7806 break;
7807 }
7808 break;
7809 }
7810 }
7811 if (sell && noSell)
7812 {
7813 return 0;
7814 }
7815 if (!sell && id == "casino_coin")
7816 {
7817 return 20;
7818 }
7819 int value = GetValue(priceType, sell);
7820 if (value == 0)
7821 {
7822 return 0;
7823 }
7824 if (c == null)
7825 {
7826 c = EClass.pc;
7827 }
7828 double p = value;
7829 Trait trait = this.trait;
7830 if (!(trait is TraitBed))
7831 {
7832 if (trait is TraitContainer traitContainer)
7833 {
7834 p *= 1f + 4f * (float)(things.width - traitContainer.Width) + 4f * (float)(things.height - traitContainer.Height);
7835 }
7836 }
7837 else
7838 {
7839 p *= 1f + 0.5f * (float)c_containerSize;
7840 }
7841 p += c_priceAdd;
7842 if (c_priceFix != 0)
7843 {
7844 p = (int)((float)p * (float)Mathf.Clamp(100 + c_priceFix, 0, 1000000) / 100f);
7845 if (p == 0.0)
7846 {
7847 return 0;
7848 }
7849 }
7850 if (isStolen)
7851 {
7852 if (sell && priceType == PriceType.PlayerShop && EClass.Branch != null && EClass.Branch.policies.IsActive(2824))
7853 {
7854 p = p * 100.0 / (double)Mathf.Max(110f, 170f - Mathf.Sqrt(EClass.Branch.Evalue(2824) * 5));
7855 }
7856 else if (sell && Guild.Thief.IsMember)
7857 {
7858 p = Guild.Thief.SellStolenPrice((int)p);
7859 }
7860 else
7861 {
7862 p *= 0.5;
7863 }
7864 }
7865 if (!sell && category.id == "spellbook")
7866 {
7867 p = Guild.Mage.BuySpellbookPrice((int)p);
7868 }
7869 bool flag = priceType == PriceType.CopyShop;
7870 int num = ((!flag) ? 1 : 5);
7871 float num2 = Mathf.Min(0.01f * (float)Evalue(752), 1f);
7872 float num3 = Mathf.Min(0.01f * (float)Evalue(751), 1f);
7873 float num4 = Mathf.Min(0.02f * (float)Evalue(759), 2f);
7874 if (num3 > 0f)
7875 {
7876 num3 *= (float)num;
7877 }
7878 float num5 = Mathf.Clamp(1f + num2 + num3, 0.5f, 5f) + num4;
7879 p *= num5;
7880 p *= 0.20000000298023224;
7881 if (sell)
7882 {
7883 p *= 0.20000000298023224;
7884 if (isCopy)
7885 {
7886 p *= 0.20000000298023224;
7887 }
7888 if (isReplica)
7889 {
7890 p *= 0.20000000298023224;
7891 }
7892 if (currency == CurrencyType.Money && (category.IsChildOf("meal") || category.IsChildOf("preserved")))
7893 {
7894 p *= 0.5;
7895 }
7896 if ((uint)(priceType - 1) <= 1u)
7897 {
7898 if (category.IsChildOf("fish"))
7899 {
7900 p *= ((EClass.pc.faith == EClass.game.religions.Luck) ? 1.5f : 1f);
7901 }
7902 if (category.IsChildOf("vegi") || category.IsChildOf("fruit"))
7903 {
7904 p *= ((EClass.pc.faith == EClass.game.religions.Harvest) ? 3f : 2f);
7905 }
7906 }
7907 }
7908 if (id == "rod_wish")
7909 {
7910 p *= (sell ? 0.01f : 50f);
7911 }
7912 switch (currency)
7913 {
7914 case CurrencyType.Ecopo:
7915 if (this.trait is TraitSeed)
7916 {
7917 p *= 2.0;
7918 }
7919 else if (this.trait is TraitEcoMark)
7920 {
7921 p *= 1.0;
7922 }
7923 else
7924 {
7925 p *= 0.20000000298023224;
7926 }
7927 break;
7928 case CurrencyType.Casino_coin:
7929 p *= 0.10000000149011612;
7930 break;
7931 case CurrencyType.Influence:
7932 p *= 0.0020000000949949026;
7933 break;
7934 case CurrencyType.Medal:
7935 p *= 0.00019999999494757503;
7936 break;
7937 case CurrencyType.Money2:
7938 p *= 0.004999999888241291;
7939 break;
7940 default:
7941 if (IsIdentified || (this.trait is TraitErohon && !sell) || priceType == PriceType.Tourism)
7942 {
7943 if (blessedState == BlessedState.Blessed)
7944 {
7945 p *= 1.25;
7946 }
7947 else if (blessedState <= BlessedState.Cursed)
7948 {
7949 p *= (flag ? 1.25f : 0.3f);
7950 }
7951 if (this.trait.HasCharges)
7952 {
7953 p = p * 0.05000000074505806 + p * (double)(0.5f + Mathf.Clamp(0.1f * (float)c_charges, 0f, 1.5f));
7954 }
7955 if (IsDecayed)
7956 {
7957 p *= (flag ? 0.9f : 0.5f);
7958 }
7959 }
7960 else
7961 {
7962 Rand.UseSeed(uid, delegate
7963 {
7964 p = (sell ? (1 + EClass.rnd(15)) : (50 + EClass.rnd(500)));
7965 });
7966 }
7967 if (!sell)
7968 {
7969 p *= 1f + 0.2f * (float)c.Evalue(1406);
7970 }
7971 break;
7972 }
7973 float num6 = Math.Clamp(Mathf.Sqrt(c.EvalueMax(291) + ((!sell && EClass._zone.IsPCFaction) ? (EClass.Branch.Evalue(2800) * 2) : 0)), 0f, 25f);
7974 switch (priceType)
7975 {
7976 case PriceType.Tourism:
7977 num6 = 0f;
7978 break;
7979 case PriceType.Shipping:
7980 if (sell)
7981 {
7982 p *= 1.100000023841858;
7983 }
7984 break;
7985 case PriceType.PlayerShop:
7986 {
7987 if (!sell)
7988 {
7989 break;
7990 }
7991 float num7 = 1.25f;
7992 if (EClass.Branch != null)
7993 {
7994 if (EClass.Branch.policies.IsActive(2817))
7995 {
7996 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2817));
7997 }
7998 if (EClass.Branch.policies.IsActive(2816))
7999 {
8000 num7 += 0.2f + 0.02f * Mathf.Sqrt(EClass.Branch.Evalue(2816));
8001 }
8002 if (isChara)
8003 {
8004 if (EClass.Branch.policies.IsActive(2828))
8005 {
8006 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2828));
8007 }
8008 }
8009 else if (category.IsChildOf("food") || category.IsChildOf("drink"))
8010 {
8011 if (EClass.Branch.policies.IsActive(2818))
8012 {
8013 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2818));
8014 }
8015 }
8016 else if (category.IsChildOf("furniture"))
8017 {
8018 if (EClass.Branch.policies.IsActive(2819))
8019 {
8020 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2819));
8021 }
8022 }
8023 else if (EClass.Branch.policies.IsActive(2820))
8024 {
8025 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2820));
8026 }
8027 }
8028 p *= num7;
8029 break;
8030 }
8031 }
8032 if ((uint)currency > 1u)
8033 {
8034 num6 = 0f;
8035 }
8036 p *= (sell ? (1f + num6 * 0.02f) : (1f - num6 * 0.02f));
8037 if (sell)
8038 {
8039 p = EClass.curve((int)p, 10000, 10000, 80);
8040 }
8041 if (p < 1.0)
8042 {
8043 p = ((!sell) ? 1 : 0);
8044 }
8045 if (!sell)
8046 {
8047 if (currency == CurrencyType.Casino_coin)
8048 {
8049 if (p > 100000.0)
8050 {
8051 p = Mathf.CeilToInt((float)p / 100000f) * 100000;
8052 }
8053 else if (p > 10000.0)
8054 {
8055 p = Mathf.CeilToInt((float)p / 10000f) * 10000;
8056 }
8057 else if (p > 1000.0)
8058 {
8059 p = Mathf.CeilToInt((float)p / 1000f) * 1000;
8060 }
8061 else if (p > 100.0)
8062 {
8063 p = Mathf.CeilToInt((float)p / 100f) * 100;
8064 }
8065 else if (p > 10.0)
8066 {
8067 p = Mathf.CeilToInt((float)p / 10f) * 10;
8068 }
8069 }
8070 if (this.trait is TraitDeed)
8071 {
8072 p *= Mathf.Pow(2f, EClass.player.flags.landDeedBought);
8073 }
8074 }
8075 if (p > (double)(sell ? 500000000 : 1000000000))
8076 {
8077 if (!sell)
8078 {
8079 return 1000000000;
8080 }
8081 return 500000000;
8082 }
8083 return (int)p;
8084 }
BlessedState
Definition: BlessedState.cs:2
@ currency
CurrencyType
Definition: CurrencyType.cs:2
PriceType
Definition: PriceType.cs:2
int c_priceFix
Definition: Card.cs:1164
bool noSell
Definition: Card.cs:833
int c_priceAdd
Definition: Card.cs:1176
bool isStolen
Definition: Card.cs:857
bool IsIdentified
Definition: Card.cs:2431
bool isReplica
Definition: Card.cs:701
int c_charges
Definition: Card.cs:1309
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 AI_Shopping.Buy(), TraitSalesTag.CanTagSale(), Chara.GetName(), and TraitSalesTag.TrySetHeldAct().

◆ GetRandomColor()

ref Color Card.GetRandomColor ( )
inline

Definition at line 6435 of file Card.cs.

6436 {
6437 int num = EClass.game.seed + refVal;
6438 num += id[0] % 10000;
6439 if (id.Length > 1)
6440 {
6441 num += id[1] % 1000;
6442 if (id.Length > 2)
6443 {
6444 num += id[2] % 1000;
6445 if (id.Length > 3)
6446 {
6447 num += id[3] % 1000;
6448 if (id.Length > 4)
6449 {
6450 num += id[4] % 1000;
6451 }
6452 }
6453 }
6454 }
6455 Rand.UseSeed(num, delegate
6456 {
6457 _randColor = EClass.sources.materials.rows[EClass.rnd(90)].matColor;
6458 });
6459 return ref _randColor;
6460 }
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 6357 of file Card.cs.

6358 {
6360 shared.color = 11010048f;
6361 shared.liquidLv = 0;
6362 shared.cell = null;
6363 SetRenderParam(shared);
6364 return shared;
6365 }
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:6367
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 4225 of file Card.cs.

4226 {
4227 if (origin == null)
4228 {
4229 return 0;
4230 }
4231 int num = origin.Evalue(1238);
4232 if (attackSource == AttackSource.MagicSword)
4233 {
4234 num += 2;
4235 if (origin.HasElement(1247))
4236 {
4237 num++;
4238 }
4239 }
4240 if (attackSource == AttackSource.MagicArrow && origin.HasElement(1244))
4241 {
4242 num++;
4243 }
4244 if (attackSource == AttackSource.MagicHand && origin.HasElement(1246))
4245 {
4246 num++;
4247 }
4248 if (idEle == 916 && (HasElement(1253) || origin.HasElement(1253)))
4249 {
4250 num++;
4251 }
4252 return num;
4253 }

References HasElement().

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

◆ GetRestrainer()

TraitShackle Card.GetRestrainer ( )
inline

Definition at line 7538 of file Card.cs.

7539 {
7540 foreach (Card item in pos.ListCards())
7541 {
7542 if (item.trait is TraitShackle && item.c_uidRefCard == uid)
7543 {
7544 return item.trait as TraitShackle;
7545 }
7546 }
7547 return null;
7548 }
List< Card > ListCards(bool includeMasked=false)
Definition: Point.cs:1057

References item, and Point.ListCards().

Referenced by BaseTileMap.DrawTile().

◆ GetRoot()

ICardParent Card.GetRoot ( )
inline

Implements ICardParent.

Definition at line 3575 of file Card.cs.

3576 {
3577 if (parent == null)
3578 {
3579 return this;
3580 }
3581 return parent.GetRoot();
3582 }
ICardParent GetRoot()

References ICardParent.GetRoot(), and parent.

Referenced by UIInventory.RefreshMenu().

◆ GetRootCard()

Card Card.GetRootCard ( )
inline

Definition at line 3584 of file Card.cs.

3585 {
3586 if (!(parent is Card card))
3587 {
3588 return this;
3589 }
3590 return card.GetRootCard();
3591 }

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 3783 of file Card.cs.

3784 {
3785 if (socketList != null)
3786 {
3787 foreach (SocketData socket in socketList)
3788 {
3789 if (socket.type == SocketData.Type.Rune && socket.idEle == idEle)
3790 {
3791 return socket;
3792 }
3793 }
3794 }
3795 return null;
3796 }

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

Referenced by Element.AddEncNote().

◆ GetSightRadius()

int Card.GetSightRadius ( )
inline

Definition at line 6797 of file Card.cs.

6798 {
6799 if (IsPC)
6800 {
6801 return EClass.player.lightRadius;
6802 }
6803 return (EClass._map.IsIndoor ? 4 : 5) + (IsPCFaction ? 1 : 0) + EvalueMax(490) + EClass._zone.SightRadiusBonus;
6804 }
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 6462 of file Card.cs.

6463 {
6464 if (trait is TraitFakeTile)
6465 {
6466 if (trait is TraitFakeBlock)
6467 {
6468 return EClass.sources.blocks.map[refVal].GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
6469 }
6470 return EClass.sources.objs.map[refVal].GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
6471 }
6472 if (trait is TraitAbility)
6473 {
6474 return (trait as TraitAbility).CreateAct()?.GetSprite() ?? EClass.core.refs.icons.defaultAbility;
6475 }
6476 return sourceCard.GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
6477 }
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:264
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().

◆ GetStr()

string Card.GetStr ( string  id,
string  defaultStr = null 
)
inline

◆ GetSubPassData()

virtual SubPassData Card.GetSubPassData ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 6666 of file Card.cs.

6667 {
6668 return SubPassData.Default;
6669 }
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 7248 of file Card.cs.

7249 {
7250 bool flag = isChara && Chara.IsHumanSpeak;
7251 ConTransmuteHuman condition = GetCondition<ConTransmuteHuman>();
7252 string text = MOD.listTalk.GetTalk((condition != null) ? condition.chara.id : c_idTalk.IsEmpty(id), idTopic, useDefault, flag);
7253 if (!text.IsEmpty())
7254 {
7255 text = text.Split('|').RandomItem();
7256 if (!flag || (IsDeadOrSleeping && IsAliveInCurrentZone))
7257 {
7258 if (!text.StartsWith("(") && !text.StartsWith("*"))
7259 {
7260 text = "(" + text + ")";
7261 }
7262 text = text.Replace("。)", ")");
7263 }
7264 }
7265 return ApplyTone(text, stripPun);
7266 }
virtual bool IsDeadOrSleeping
Definition: Card.cs:2161
string c_idTalk
Definition: Card.cs:1609
bool IsHumanSpeak
Definition: Chara.cs:1038
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 7554 of file Card.cs.

7555 {
7556 int result = 0;
7557 if (row.id == 0)
7558 {
7559 return result;
7560 }
7561 result = row.value * mat.value / 100;
7562 if (result < 0)
7563 {
7564 result = 1;
7565 }
7566 return result;
7567 }
int id
Definition: TileRow.cs:8

References TileRow.id.

Referenced by PartialMap.Save().

◆ GetTotalQuality()

int Card.GetTotalQuality ( bool  applyBonus = true)
inline

Definition at line 3994 of file Card.cs.

3995 {
3996 int num = 5 + LV + material.quality;
3997 if (applyBonus)
3998 {
3999 num = num * (100 + Quality) / 100;
4000 }
4001 return num;
4002 }
int Quality
Definition: Card.cs:2479

References LV, material, and Quality.

Referenced by Hobby.GetEfficiency().

◆ GetValue()

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

Definition at line 7596 of file Card.cs.

7597 {
7598 int num = ((c_fixedValue == 0) ? trait.GetValue() : c_fixedValue);
7599 if (id == "plat" && !sell)
7600 {
7601 num = 10000;
7602 }
7603 if (num == 0)
7604 {
7605 return 0;
7606 }
7607 float num2 = num;
7608 if (priceType == PriceType.CopyShop)
7609 {
7610 num2 += (float)c_priceCopy * 0.2f;
7611 num2 = num2 * (float)Mathf.Max(150 + rarityLv, 150) / 100f;
7612 }
7613 else
7614 {
7615 num2 = num2 * (float)Mathf.Max(100 + rarityLv + Mathf.Min(QualityLv * 10, 200), 80) / 100f;
7616 }
7617 if (IsFood && !material.tag.Contains("food"))
7618 {
7619 num2 *= 0.5f;
7620 }
7621 float num3;
7623 {
7624 if (sell)
7625 {
7626 num2 *= 0.3f;
7627 }
7628 num3 = 2f;
7629 }
7630 else
7631 {
7632 num3 = 0.5f;
7633 }
7634 if (isReplica)
7635 {
7636 num2 *= 0.15f;
7637 }
7638 if (!IsUnique)
7639 {
7640 if (IsEquipmentOrRanged && rarity >= Rarity.Legendary)
7641 {
7642 num2 = Mathf.Max(num2, 1800f + num2 / 5f);
7643 }
7644 num2 = num2 * (100f + num3 * (float)(material.value - 100)) / 100f;
7646 {
7647 int num4 = 0;
7648 foreach (Element value in elements.dict.Values)
7649 {
7650 num4 += value.source.value;
7651 }
7652 num2 = num2 * (float)(100 + (sell ? ((int)MathF.Sqrt(num4) * 10) : num4)) / 100f;
7653 if (rarity >= Rarity.Legendary)
7654 {
7655 num2 = Mathf.Max(num2, 3600f + num2 / 5f);
7656 }
7657 }
7658 }
7659 if (trait is TraitRecipe && sell)
7660 {
7661 num2 *= 0.1f;
7662 }
7663 if (encLV != 0 && !category.tag.Contains("noEnc"))
7664 {
7665 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)))));
7666 }
7667 if (tier > 0)
7668 {
7669 num2 *= (float)(tier + 1);
7670 }
7671 return (int)num2;
7672 }
bool IsEquipmentOrRangedOrAmmo
Definition: Card.cs:2284
int c_fixedValue
Definition: Card.cs:1200
int c_priceCopy
Definition: Card.cs:1188
bool IsEquipmentOrRanged
Definition: Card.cs:2272
int QualityLv
Definition: Card.cs:2481
virtual int GetValue()
Definition: Trait.cs:620

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 2633 of file Card.cs.

2634 {
2635 if (IsPC)
2636 {
2637 return Window.dictData.TryGetValue("LayerInventoryFloatMain0");
2638 }
2640 {
2641 return Window.dictData.TryGetValue("ChestMerchant");
2642 }
2643 return c_windowSaveData;
2644 }
Window.SaveData c_windowSaveData
Definition: Card.cs:1861
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 6013 of file Card.cs.

6014 {
6015 Card card = (ExistsOnMap ? this : (GetRootCard() ?? EClass.pc));
6016 EClass.player.forceTalk = true;
6017 card.Talk("giveBirth");
6018 EClass._zone.TryAddThing(t, card.pos);
6019 if (effect)
6020 {
6021 card.pos.PlayEffect("revive");
6022 card.pos.PlaySound("egg");
6023 PlayAnime(AnimeID.Shiver);
6024 if (isChara)
6025 {
6027 }
6028 }
6029 return t;
6030 }
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:6562
bool TryAddThing(Thing target, Point p, bool destroyIfFail=false)
Definition: Zone.cs:2306

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 8296 of file Card.cs.

8296 : Condition
8297 {
8298 return false;
8299 }

◆ HasCraftBonusTrait()

bool Card.HasCraftBonusTrait ( )
inline

Definition at line 7360 of file Card.cs.

7361 {
7362 return ListCraftBonusTraits().Count > 0;
7363 }
List< Element > ListCraftBonusTraits()
Definition: Card.cs:7365

Referenced by CraftUtil.MixIngredients().

◆ HasEditorTag()

bool Card.HasEditorTag ( EditorTag  tag)
inline

Definition at line 2717 of file Card.cs.

2718 {
2719 return c_editorTags?.Contains(tag.ToString()) ?? false;
2720 }

References c_editorTags.

Referenced by HotItemNoItem._TrySetAct(), Zone.Activate(), 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 6285 of file Card.cs.

6286 {
6287 if (elements.Value(ele) <= 0)
6288 {
6289 if (includeNagative)
6290 {
6291 return elements.Value(ele) < 0;
6292 }
6293 return false;
6294 }
6295 return true;
6296 }

References ElementContainer.Value().

Referenced by Chara._Move(), _OnDeserialized(), TraitAltar._OnOffer(), InvOwnerGene._OnProcess(), ActPlan._Update(), Element._WriteNote(), CharaAbility.Add(), UICharaMaker.AddDomain(), Chara.ApplyRace(), ActMelee.Attack(), DramaCustomSequence.Build(), RecipeCard.Build(), RecipeCard.BuildIngredientList(), 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(), if(), CustomDramaExpansionHelper.InjectUniqueRumor(), 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(), CustomElementContent.OnGameLoad(), Affinity.OnGift(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgress(), TraitBookExp.OnRead(), ConSleep.OnRemoved(), ConWet.OnStart(), ZoneEventWedding.OnVisit(), ActRanged.Perform(), ActRush.Perform(), ActThrow.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(), Player.TooHeavyToMove(), 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 6298 of file Card.cs.

6299 {
6300 return elements.Value(ele) >= req;
6301 }

References ElementContainer.Value().

◆ HasElement() [3/3]

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

Definition at line 6303 of file Card.cs.

6304 {
6305 return HasElement(EClass.sources.elements.alias[id].id, req);
6306 }

References SourceManager.elements, and EClass.sources.

◆ HasElementNoCopy()

bool Card.HasElementNoCopy ( )
inline

Definition at line 6313 of file Card.cs.

6314 {
6315 if (HasElement(764))
6316 {
6317 return true;
6318 }
6319 if (HasElement(759))
6320 {
6321 return true;
6322 }
6323 if (HasElement(703))
6324 {
6325 return true;
6326 }
6327 if (HasElement(758))
6328 {
6329 return true;
6330 }
6331 if (HasElement(704))
6332 {
6333 return true;
6334 }
6335 return false;
6336 }

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

◆ HasGlobalElement()

bool Card.HasGlobalElement ( int  ele)
inline

Definition at line 6308 of file Card.cs.

6309 {
6310 return elements.GetElement(ele)?.IsGlobalElement ?? false;
6311 }
Element GetElement(string alias)
bool IsGlobalElement
Definition: ELEMENT.cs:352

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

Referenced by Evalue().

◆ HasLight()

bool Card.HasLight ( )
inline

Definition at line 6773 of file Card.cs.

6774 {
6775 return GetLightRadius() > 0;
6776 }

◆ HasRune()

bool Card.HasRune ( )
inline

Definition at line 3885 of file Card.cs.

3886 {
3887 return CountRune() > 0;
3888 }

References CountRune().

Referenced by TraitKettle.CanCopy().

◆ HasTag()

◆ HasTalk()

bool Card.HasTalk ( string  idTopic)
inline

Definition at line 7098 of file Card.cs.

7099 {
7100 return !MOD.listTalk.GetTalk(c_idTalk.IsEmpty(id), idTopic, useDefault: true).IsEmpty();
7101 }

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

◆ HatchEgg()

void Card.HatchEgg ( )
inline

Definition at line 6032 of file Card.cs.

6033 {
6034 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" });
6035 int num = EClass.rnd(array.Length);
6036 Point point = pos.Copy();
6038 AddBlood(12, (uid % 2 == 0) ? (-1) : 3);
6039 Say("egghatch");
6040 PlaySound("egghatch");
6041 if (c_bossType == BossType.none)
6042 {
6043 Destroy();
6044 }
6045 if (!isDestroyed)
6046 {
6047 Die();
6048 }
6049 for (int i = 0; i < 1 + EClass.rnd(num + 1); i++)
6050 {
6051 Chara chara = EClass._zone.SpawnMob(array[num], point.GetNearestPoint(allowBlock: false, allowChara: false));
6052 if (chara != null && isChara)
6053 {
6055 chara.isHatchling = true;
6056 }
6057 }
6058 }
BossType
Definition: BossType.cs:2
BossType c_bossType
Definition: Card.cs:1261
Hostility OriginalHostility
Definition: Chara.cs:475
Chara SetHostility(Hostility h)
Definition: Chara.cs:1481
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:624
Chara SpawnMob(string id, Point pos=null)
Definition: Zone.cs:2865

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 8306 of file Card.cs.

8307 {
8308 if (!isChara)
8309 {
8310 return false;
8311 }
8312 string text = id;
8313 if (text == "putty_snow" || text == "putty_snow_gold")
8314 {
8315 return true;
8316 }
8317 return !Chara.race.fur.IsEmpty();
8318 }

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 4165 of file Card.cs.

4166 {
4167 long num = a;
4168 if (origin == HealSource.Magic)
4169 {
4170 num = (long)a * (long)Mathf.Max(100 - Evalue(93), 1) / 100;
4171 }
4172 if (num > 100000000)
4173 {
4174 num = 100000000L;
4175 }
4176 hp += (int)num;
4177 if (hp > MaxHP)
4178 {
4179 hp = MaxHP;
4180 }
4181 switch (origin)
4182 {
4183 case HealSource.Magic:
4184 case HealSource.Item:
4185 PlaySound("heal");
4186 PlayEffect("heal");
4187 break;
4188 case HealSource.HOT:
4189 PlaySound("heal_tick");
4190 PlayEffect("heal_tick");
4191 break;
4192 }
4193 }
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 4149 of file Card.cs.

4150 {
4151 if (isChara)
4152 {
4153 if (Chara.parasite != null)
4154 {
4155 Chara.parasite.HealHP(a, origin);
4156 }
4157 if (Chara.ride != null)
4158 {
4159 Chara.ride.HealHP(a, origin);
4160 }
4161 }
4162 HealHP(a, origin);
4163 }
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 8281 of file Card.cs.

8282 {
8283 SE.Play("pop_paper");
8284 if (isChara)
8285 {
8286 LayerChara layerChara = EClass.ui.AddLayerDontCloseOthers<LayerChara>();
8287 layerChara.windows[0].SetRect(EClass.core.refs.rects.center);
8288 layerChara.SetChara(Chara);
8289 }
8290 else
8291 {
8292 EClass.ui.AddLayerDontCloseOthers<LayerInfo>().SetThing(Thing);
8293 }
8294 }
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 2793 of file Card.cs.

2794 {
2795 return GetRootCard() == c;
2796 }

References GetRootCard().

Referenced by AI_OpenGambleChest.IsValid().

◆ IsExcludeFromCraft()

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

Definition at line 2646 of file Card.cs.

2647 {
2648 if ((IsUnique && ing.id != id && !ing.idOther.Contains(id)) || c_isImportant)
2649 {
2650 return true;
2651 }
2652 if (parent is Card card)
2653 {
2654 if (card.trait is TraitChestMerchant)
2655 {
2656 return true;
2657 }
2658 if (card.isSale || !card.trait.CanUseContent)
2659 {
2660 return true;
2661 }
2662 Window.SaveData windowSaveData = card.GetWindowSaveData();
2663 if (windowSaveData != null)
2664 {
2665 return windowSaveData.excludeCraft;
2666 }
2667 }
2668 return false;
2669 }
bool c_isImportant
Definition: Card.cs:1051
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 8140 of file Card.cs.

8141 {
8142 return pos.Distance(EClass.pc.pos) < d;
8143 }

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 3593 of file Card.cs.

3594 {
3595 if (id != tg.id || material != tg.material)
3596 {
3597 return false;
3598 }
3599 return true;
3600 }

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 6225 of file Card.cs.

6226 {
6228 {
6229 return;
6230 }
6231 if (t.IsPC)
6232 {
6234 }
6235 if (t.host != null)
6236 {
6237 return;
6238 }
6239 if (t == this)
6240 {
6241 if (!ignoreSelf)
6242 {
6243 Debug.Log(t.pos.GetNearestPoint());
6244 if (TryMove(t.pos.GetNearestPoint()) != MoveResult.Success)
6245 {
6247 }
6248 }
6249 return;
6250 }
6251 if (show)
6252 {
6253 Say("kick", this, t);
6254 }
6255 PlaySound("kick");
6256 if ((t.conSuspend == null || t.conSuspend.uidMachine != 0) && t.trait.CanBePushed && (!t.IsHostile() || EClass.rnd(2) == 0) && !t.noMove && !t.isRestrained)
6257 {
6258 t.MoveByForce(t.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true), this, checkWall && !t.pos.IsBlocked);
6259 }
6260 if (t.conSleep != null)
6261 {
6262 t.conSleep.Kill();
6263 }
6264 if (IsPC && t.IsFriendOrAbove() && !t.IsPCFactionOrMinion && karmaLoss)
6265 {
6267 }
6268 t.PlayEffect("kick");
6269 if (t.mimicry != null && t.mimicry.ShouldRevealOnContact)
6270 {
6271 t.mimicry.Reveal(this);
6272 }
6273 }
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:6077
virtual MoveResult TryMove(Point newPoint, bool allowDestroyPath=true)
Definition: Card.cs:6212
new TraitChara trait
Definition: Chara.cs:509
ConSuspend conSuspend
Definition: Chara.cs:104
override bool IsPC
Definition: Chara.cs:630
void MoveByForce(Point newPoint, Card c=null, bool checkWall=false)
Definition: Chara.cs:2744
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:114

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 6217 of file Card.cs.

6218 {
6219 foreach (Chara item in p.ListCharas())
6220 {
6221 Kick(item, ignoreSelf, karmaLoss: true, show: true, checkWall);
6222 }
6223 }
List< Chara > ListCharas()
Definition: Point.cs:1177

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 6557 of file Card.cs.

6558 {
6560 }
virtual void KillAnime()

References CardRenderer.KillAnime().

Referenced by ActThrow.Throw().

◆ LevelUp()

void Card.LevelUp ( )
inline

Definition at line 3146 of file Card.cs.

3147 {
3148 if (IsPC)
3149 {
3151 {
3152 Msg.Say("demoLimit");
3153 return;
3154 }
3156 Tutorial.Reserve("feat");
3157 }
3158 feat++;
3159 LV++;
3160 Say("dingExp", this);
3161 PlaySound("jingle_lvup");
3162 PlayEffect("aura_heaven");
3163 if (HasElement(1415) && Evalue(1415) < 9 && LV >= Evalue(1415) * 5 + 10)
3164 {
3165 Chara.SetFeat(1415, Evalue(1415) + 1, msg: true);
3166 }
3167 if (IsPC && HasElement(1274) && Evalue(1274) < 8 && LV >= Evalue(1274) * 5)
3168 {
3169 Chara.SetFeat(1274, Evalue(1274) + 1, msg: true);
3170 }
3171 if (IsPC || !(Chara.race.id == "mutant"))
3172 {
3173 return;
3174 }
3175 int num = Mathf.Min(1 + LV / 5, 20);
3176 for (int i = 0; i < num; i++)
3177 {
3178 if (Evalue(1644) < i + 1)
3179 {
3180 Chara.SetFeat(1644, i + 1, msg: true);
3181 }
3182 }
3183 }
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 7365 of file Card.cs.

7366 {
7367 List<Element> list = new List<Element>();
7368 string[] tag = sourceCard.tag;
7369 for (int i = 0; i < tag.Length; i++)
7370 {
7371 string[] array = tag[i].Split('/');
7372 if (!(array[0] != "craft_bonus"))
7373 {
7374 Element item = Element.Create(array[1], array[2].ToInt());
7375 list.Add(item);
7376 }
7377 }
7378 return list;
7379 }

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 6610 of file Card.cs.

6611 {
6612 }

Referenced by ActThrow.Throw().

◆ LookAt() [2/2]

virtual void Card.LookAt ( Point  p)
inlinevirtual

Reimplemented in Chara.

Definition at line 6614 of file Card.cs.

6615 {
6616 }

◆ MakeEgg()

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

Definition at line 5959 of file Card.cs.

5960 {
5961 Thing thing = ThingGen.Create((EClass.rnd(EClass.debug.enable ? 1 : fertChance) == 0) ? "egg_fertilized" : "_egg").SetNum(num);
5962 if (!EClass.debug.enable && HasElement(1290) && Evalue(418) >= 0)
5963 {
5964 thing.MakeFoodFrom(EClass.sources.charas.map["caladrius"].model);
5965 }
5966 else
5967 {
5968 thing.MakeFoodFrom(this);
5969 }
5970 thing.c_idMainElement = c_idMainElement;
5971 if (state.HasValue)
5972 {
5973 thing.SetBlessedState(state.Value);
5974 }
5975 if (!addToZone)
5976 {
5977 return thing;
5978 }
5979 return GiveBirth(thing, effect);
5980 }
int c_idMainElement
Definition: Card.cs:1453
Thing GiveBirth(Thing t, bool effect)
Definition: Card.cs:6013
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:4053
Card MakeFoodFrom(string _id)
Definition: Card.cs:5750
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 5936 of file Card.cs.

5937 {
5938 MakeRefFrom(id);
5939 }
Card MakeRefFrom(string id)
Definition: Card.cs:5941

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

◆ MakeFoodFrom() [1/2]

Card Card.MakeFoodFrom ( Card  c)
inline

Definition at line 5755 of file Card.cs.

5756 {
5757 MakeRefFrom(c);
5759 if (!c.isChara)
5760 {
5761 return this;
5762 }
5763 SourceRace.Row race = c.Chara.race;
5764 int num = race.food[0].ToInt();
5765 bool flag = id == "meat_marble";
5766 int num2 = 1;
5767 bool flag2 = category.IsChildOf("meat");
5768 bool flag3 = category.IsChildOf("egg") || trait is TraitGene;
5769 if (flag)
5770 {
5771 num += 100;
5772 }
5773 if (flag2)
5774 {
5775 if (c.IsPCFaction && c.IsUnique)
5776 {
5777 num = -100;
5778 }
5779 elements.SetBase(70, race.STR * race.STR / 5 * num / 100 - 10 + num / 10);
5780 if (flag)
5781 {
5782 elements.SetBase(440, race.END * race.END / 5 * num / 100 - 10 + num / 10);
5783 }
5784 elements.SetBase(71, (int)Mathf.Clamp((float)(num / 10) + Mathf.Sqrt(race.height) - 10f, 1f, 60f));
5785 }
5786 else if (flag3)
5787 {
5788 elements.SetBase(444, race.LER * race.LER / 5 * num / 100 - 10 + num / 10);
5789 num2 = 2;
5790 }
5791 else
5792 {
5793 num2 = 3;
5794 }
5795 if (flag2)
5796 {
5797 if (c.Chara.IsHuman)
5798 {
5799 elements.SetBase(708, 1);
5800 }
5801 if (c.Chara.IsUndead)
5802 {
5803 elements.SetBase(709, 1);
5804 }
5805 }
5806 foreach (Element value in c.elements.dict.Values)
5807 {
5808 if ((!flag3 || value.id != 1229) && (value.source.category == "food" || value.source.tag.Contains("foodEnc") || value.IsTrait))
5809 {
5810 elements.SetBase(value.id, value.Value);
5811 }
5812 }
5813 List<Tuple<int, int>> list = new List<Tuple<int, int>>();
5814 foreach (KeyValuePair<int, int> item in race.elementMap)
5815 {
5816 if (EClass.sources.elements.map[item.Key].tag.Contains("primary"))
5817 {
5818 list.Add(new Tuple<int, int>(item.Key, item.Value));
5819 }
5820 }
5821 list.Sort((Tuple<int, int> a, Tuple<int, int> b) => b.Item2 - a.Item2);
5822 for (int i = 0; i < num2 && i < list.Count; i++)
5823 {
5824 Tuple<int, int> tuple = list[i];
5825 elements.SetBase(tuple.Item1, tuple.Item2 * tuple.Item2 / 4);
5826 }
5827 if (c.Chara.IsUndead)
5828 {
5829 elements.ModBase(73, (c.Chara.race.id == "undeadgod") ? (-90) : (-20));
5830 }
5831 isWeightChanged = true;
5832 c_weight = race.height * 4 + 100;
5835 int num3 = c.LV - c.sourceCard.LV;
5836 if (num3 < 0)
5837 {
5838 num3 = 0;
5839 }
5840 num3 = EClass.curve(num3, 10, 10, 80);
5841 if (c.rarity >= Rarity.Legendary || c.IsUnique)
5842 {
5843 num3 += 60;
5844 }
5845 if (flag2 && c.IsPCFaction && c.IsUnique)
5846 {
5847 num3 = 0;
5848 }
5849 if (num3 > 0)
5850 {
5851 elements.ModBase(2, num3);
5852 }
5853 return this;
5854 }
bool IsHuman
Definition: Chara.cs:902
bool IsUndead
Definition: Chara.cs:914
Element SetBase(string alias, int v, int potential=0)
int Value
Definition: ELEMENT.cs:299
bool IsTrait
Definition: ELEMENT.cs:369
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 5750 of file Card.cs.

5751 {
5752 return MakeFoodFrom(EClass.sources.cards.map[_id].model);
5753 }
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 5856 of file Card.cs.

5857 {
5858 Card card = c1;
5859 Card card2 = c2;
5860 if (IsIgnoreName(card))
5861 {
5862 card = null;
5863 }
5864 if (IsIgnoreName(card2))
5865 {
5866 card2 = null;
5867 }
5868 if (card == null && card2 != null)
5869 {
5870 card = card2;
5871 card2 = null;
5872 }
5873 if (card != null)
5874 {
5875 MakeRefFrom(card, card2);
5876 if (card.c_idRefCard != null)
5877 {
5878 c_idRefCard = card.c_idRefCard;
5880 }
5881 if (card2 != null && card2.c_idRefCard != null)
5882 {
5883 c_idRefCard2 = card2.c_idRefCard;
5884 c_altName2 = TryGetFoodName(card2);
5885 }
5886 }
5887 static bool IsIgnoreName(Card c)
5888 {
5889 if (c == null)
5890 {
5891 return true;
5892 }
5893 switch (c.id)
5894 {
5895 case "dough_cake":
5896 case "dough_bread":
5897 case "noodle":
5898 case "flour":
5899 case "rice":
5900 return true;
5901 default:
5902 return false;
5903 }
5904 }
5905 }
string c_altName
Definition: Card.cs:1633
string TryGetFoodName(Card c)
Definition: Card.cs:5907
string c_altName2
Definition: Card.cs:1645
string c_idRefCard2
Definition: Card.cs:1789
string c_idRefCard
Definition: Card.cs:1777

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 5982 of file Card.cs.

5983 {
5984 Thing thing = ThingGen.Create("milk").SetNum(num);
5985 if (!EClass.debug.enable && HasElement(1290) && Evalue(418) >= 0)
5986 {
5987 thing.MakeRefFrom(EClass.sources.charas.map["caladrius"].model);
5988 }
5989 else
5990 {
5991 thing.MakeRefFrom(this);
5992 }
5993 if (state.HasValue)
5994 {
5995 thing.SetBlessedState(state.Value);
5996 }
5997 int num2 = LV - sourceCard.LV;
5999 {
6000 num2 = 0;
6001 }
6002 if (num2 >= 10 && !HasElement(1290))
6003 {
6004 thing.SetEncLv(num2 / 10);
6005 }
6006 if (!addToZone)
6007 {
6008 return thing;
6009 }
6010 return GiveBirth(thing, effect);
6011 }
void SetEncLv(int a)
Definition: Card.cs:4022

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 5947 of file Card.cs.

5948 {
5949 c_idRefCard = c1.id;
5950 c_altName = (c1.IsPC ? c1.c_altName : c1.GetName((!simple) ? NameStyle.Ref : NameStyle.Simple, (!c1.isChara) ? 1 : 0));
5951 if (c2 != null)
5952 {
5953 c_idRefCard2 = c2.id;
5954 c_altName2 = (c2.IsPC ? c2.c_altName : c2.GetName((!simple) ? NameStyle.Ref : NameStyle.Simple, (!c2.isChara) ? 1 : 0));
5955 }
5956 c_extraNameRef = (c1.IsPC ? EClass.pc.c_altName : c1.c_extraNameRef);
5957 }
NameStyle
Definition: NameStyle.cs:2
virtual string GetName(NameStyle style, int num=-1)
Definition: Card.cs:2732
string c_extraNameRef
Definition: Card.cs:1657

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

◆ MakeRefFrom() [2/2]

◆ MatchEncSearch()

virtual bool Card.MatchEncSearch ( string  s)
inlinevirtual

Reimplemented in Thing.

Definition at line 8171 of file Card.cs.

8172 {
8173 return false;
8174 }

◆ MaxRune()

int Card.MaxRune ( )
inline

Definition at line 3814 of file Card.cs.

3815 {
3816 return ((!IsUnique && !isReplica) ? 1 : 0) + Evalue(484);
3817 }

References Evalue(), isReplica, and IsUnique.

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

◆ Mod()

void Card.Mod ( )
inline

Definition at line 2628 of file Card.cs.

2629 {
2630 isModified = true;
2631 }
bool isModified
Definition: Card.cs:473

References isModified.

◆ ModCharge()

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

Definition at line 4108 of file Card.cs.

4109 {
4110 c_charges += a;
4112 if (c_charges <= 0 && destroy)
4113 {
4114 Say("spellbookCrumble", this);
4115 ModNum(-1);
4116 }
4117 }
void ModNum(int a, bool notify=true)
Definition: Card.cs:3673

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 4119 of file Card.cs.

4120 {
4121 if (a != 0)
4122 {
4123 if (id == "influence")
4124 {
4126 return;
4127 }
4128 SourceMaterial.Row mat = null;
4129 things.AddCurrency(this, id, a, mat);
4130 }
4131 }
void AddCurrency(Card owner, string id, int a, SourceMaterial.Row mat=null)
void ModInfluence(int a)
Definition: Zone.cs:3731

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 4004 of file Card.cs.

4005 {
4006 ApplyMaterialElements(remove: true);
4007 encLV += a;
4008 ApplyMaterialElements(remove: false);
4010 {
4011 if (IsWeapon || IsAmmo)
4012 {
4013 elements.ModBase(67, a);
4014 }
4015 else
4016 {
4017 elements.ModBase(65, a * 2);
4018 }
4019 }
4020 }
bool IsAmmo
Definition: Card.cs:2301

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 2770 of file Card.cs.

2771 {
2772 if (isChara)
2773 {
2774 elements.ModExp(ele, a);
2775 }
2776 }

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

◆ ModExp() [2/2]

◆ ModExpParty()

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

Definition at line 2778 of file Card.cs.

2779 {
2780 if (isChara)
2781 {
2782 if (Chara.party == null)
2783 {
2784 elements.ModExp(ele, a);
2785 }
2786 else
2787 {
2788 Chara.party.ModExp(ele, a);
2789 }
2790 }
2791 }
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 3673 of file Card.cs.

3674 {
3675 if (Num + a < 0)
3676 {
3677 a = -Num;
3678 }
3679 Num += a;
3680 if (props != null)
3681 {
3682 props.OnNumChange(this, a);
3683 }
3684 if (parent != null)
3685 {
3687 }
3688 if (a > 0 && EClass.core.IsGameStarted && GetRootCard() == EClass.pc && notify)
3689 {
3691 }
3693 if (Num <= 0)
3694 {
3695 Destroy();
3696 }
3697 }
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 6077 of file Card.cs.

6078 {
6079 if (p == null)
6080 {
6081 return;
6082 }
6083 EClass._map.MoveCard(p, this);
6084 if (!IsPC || focus)
6085 {
6086 renderer.SetFirst(first: true, p.PositionCenter());
6087 }
6088 if (isChara)
6089 {
6090 if (cancelAI)
6091 {
6092 Chara.ai.Cancel();
6093 }
6094 Chara.SyncRide();
6095 }
6096 if (IsPC && focus)
6097 {
6100 }
6101 }
virtual void RefreshPosition()
virtual void SetFirst(bool first, Vector3 pos)
static BaseGameScreen screen
Definition: EClass.cs:33
ref Vector3 PositionCenter()
Definition: Point.cs:592

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 3253 of file Card.cs.

3254 {
3255 }

Referenced by AddThing(), and ModNum().

◆ OnBeforeCreate()

virtual void Card.OnBeforeCreate ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 2996 of file Card.cs.

2997 {
2998 }

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 3000 of file Card.cs.

3001 {
3002 }

Referenced by Create().

◆ OnDeserialized()

virtual void Card.OnDeserialized ( )
inlineprotectedvirtual

Reimplemented in Chara.

Definition at line 2881 of file Card.cs.

2882 {
2883 }

Referenced by _OnDeserialized().

◆ OnInspect()

void Card.OnInspect ( )
inline

Implements IInspect.

Definition at line 8273 of file Card.cs.

8274 {
8275 }

◆ OnLand()

virtual void Card.OnLand ( )
inlinevirtual

Definition at line 6145 of file Card.cs.

6146 {
6148 {
6149 PlayEffect("ripple");
6150 PlaySound("Footstep/water");
6151 }
6152 }
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 2818 of file Card.cs.

2819 {
2820 }

Referenced by _OnSerializing().

◆ OnSimulateHour()

virtual void Card.OnSimulateHour ( VirtualDate  date)
inlinevirtual

Definition at line 6974 of file Card.cs.

6975 {
6976 trait.OnSimulateHour(date);
6977 if (date.IsRealTime)
6978 {
6979 DecayNatural();
6980 }
6981 }
virtual void OnSimulateHour(VirtualDate date)
Definition: Trait.cs:724
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 6567 of file Card.cs.

6568 {
6569 renderer.PlayAnime(id, dest);
6570 }

References CardRenderer.PlayAnime().

◆ PlayAnimeLoot()

void Card.PlayAnimeLoot ( )
inline

Definition at line 6572 of file Card.cs.

6573 {
6575 }

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 6587 of file Card.cs.

6588 {
6589 Effect effect = Effect.Get("Element/" + EClass.sources.elements.map[ele].alias);
6590 if (effect == null)
6591 {
6592 Debug.Log(ele);
6593 return;
6594 }
6595 Card rootCard = GetRootCard();
6596 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));
6597 }
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:80
ref Vector3 Position(int height)
Definition: Point.cs:553
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 6577 of file Card.cs.

6578 {
6579 if (id.IsEmpty())
6580 {
6581 return null;
6582 }
6583 Card rootCard = GetRootCard();
6584 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));
6585 }

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(), ActPray.Pray(), AI_Pray.Pray(), FoodEffect.Proc(), ActEffect.Proc(), ActEffect.ProcAt(), ReligionManager.Reforge(), AI_Fuck.Run(), 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 6543 of file Card.cs.

6544 {
6545 Card rootCard = GetRootCard();
6546 if (rootCard.IsPC)
6547 {
6548 spatial = false;
6549 }
6550 if (rootCard.Dist(EClass.pc) < 6 || !spatial)
6551 {
6552 return rootCard.pos.PlaySound(id, isSynced || !spatial, v, spatial);
6553 }
6554 return null;
6555 }

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

Referenced by Chara._Move(), RecipeManager.Add(), Chara.AddRandomBodyPart(), ActMelee.Attack(), Core.Awake(), Recipe.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(), BaseCondition.PlayEffect(), ConBuffStats.PlayEffect(), BaseCondition.PlayEndEffect(), 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 6538 of file Card.cs.

6539 {
6540 PlaySound(material.GetSoundDead(sourceCard), 1f, spatial);
6541 }

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 6523 of file Card.cs.

6524 {
6525 PlaySound(material.GetSoundDrop(sourceCard), 1f, spatial);
6526 }

References material.

◆ PlaySoundImpact()

void Card.PlaySoundImpact ( bool  spatial = true)
inline

Definition at line 6533 of file Card.cs.

6534 {
6535 PlaySound(material.GetSoundImpact(sourceCard), 1f, spatial);
6536 }

References material.

Referenced by RecipeCard.Build(), and TaskChopWood.OnCreateProgress().

◆ PurgeDuplicateArtifact()

void Card.PurgeDuplicateArtifact ( Thing  af)
inline

Definition at line 3375 of file Card.cs.

3376 {
3377 if (af.isReplica)
3378 {
3379 return;
3380 }
3381 List<Chara> list = new List<Chara>();
3382 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
3383 {
3384 foreach (Chara member in child.members)
3385 {
3386 list.Add(member);
3387 }
3388 }
3389 foreach (Chara chara in EClass._map.charas)
3390 {
3391 list.Add(chara);
3392 }
3394 {
3395 foreach (Chara item in list)
3396 {
3397 if (!item.IsPCFactionOrMinion)
3398 {
3399 continue;
3400 }
3401 List<Thing> list2 = item.things.List((Thing t) => t.HasTag(CTAG.godArtifact) && t != af && !t.isReplica && t.c_idDeity == EClass.game.religions.Eyth.id);
3402 if (list2.Count == 0)
3403 {
3404 continue;
3405 }
3406 foreach (Thing item2 in list2)
3407 {
3408 if (item2.isEquipped)
3409 {
3410 item.body.Unequip(item2);
3411 }
3412 item2.c_idDeity = EClass.game.religions.GetArtifactDeity(item2.id)?.id;
3413 Msg.Say("waterCurse", item2);
3414 }
3415 }
3416 }
3417 foreach (Chara item3 in list)
3418 {
3419 if (!item3.IsPCFactionOrMinion)
3420 {
3421 continue;
3422 }
3423 List<Thing> list3 = item3.things.List((Thing t) => t.id == af.id && t != af && !t.isReplica);
3424 if (list3.Count == 0)
3425 {
3426 continue;
3427 }
3428 foreach (Thing item4 in list3)
3429 {
3430 Msg.Say("destroyed_inv_", item4, item3);
3431 item4.Destroy();
3432 }
3433 }
3434 }
string c_idDeity
Definition: Card.cs:1621
Faction faction
Definition: Chara.cs:431
List< Chara > members
List< FactionBranch > GetChildren()
Definition: FACTION.cs:202
override string id
Definition: ReligionEyth.cs:3
Religion GetArtifactDeity(string id)
ReligionEyth Eyth
virtual string id
Definition: Religion.cs:26
List< Thing > List(Func< Thing, bool > func, bool onlyAccessible=false)

References EClass._map, c_idDeity, Map.charas, Destroy(), ReligionManager.Eyth, Chara.faction, EClass.game, ReligionManager.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 3436 of file Card.cs.

3437 {
3438 if (!EClass.pc.IsEyth || !EClass.pc.HasElement(1228))
3439 {
3440 return;
3441 }
3442 List<Chara> list = new List<Chara>();
3443 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
3444 {
3445 foreach (Chara member in child.members)
3446 {
3447 list.Add(member);
3448 }
3449 }
3450 foreach (Chara chara in EClass._map.charas)
3451 {
3452 list.Add(chara);
3453 }
3454 foreach (Chara item in list)
3455 {
3456 if (item.IsPCFactionOrMinion)
3457 {
3458 Thing thing = item.things.Find((Thing t) => t.HasTag(CTAG.godArtifact) && t.c_idDeity == "eyth");
3459 if (thing != null)
3460 {
3462 }
3463 break;
3464 }
3465 }
3466 }
bool IsEyth
Definition: Chara.cs:1075

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 2885 of file Card.cs.

2886 {
2887 return "c" + uid;
2888 }

References uid.

◆ RefreshColor()

int Card.RefreshColor ( )
inline

Definition at line 6388 of file Card.cs.

6389 {
6390 if (isChara)
6391 {
6392 if (Chara.mimicry != null && Chara.mimicry.Card != this)
6393 {
6395 }
6396 else if (isDyed)
6397 {
6399 }
6400 else if (isElemental)
6401 {
6403 }
6404 else
6405 {
6406 _colorInt = 104025;
6407 }
6408 }
6409 else if (isDyed)
6410 {
6411 if (TileRow.useAltColor)
6412 {
6414 }
6415 else
6416 {
6418 }
6419 }
6421 {
6423 }
6425 {
6427 }
6428 else
6429 {
6431 }
6432 return _colorInt;
6433 }
static int GetColorInt(ref Color matColor, int p)
bool isElemental
Definition: Card.cs:725
SourceMaterial.Row DyeMat
Definition: Card.cs:1992
int RefreshColor()
Definition: Card.cs:6388
virtual CardRow sourceRenderCard
Definition: Card.cs:2185
ref Color GetRandomColor()
Definition: Card.cs:6435
static GameSetting setting
Definition: EClass.cs:35
UD_String_ElementRef elements
Definition: GameSetting.cs:317
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 7434 of file Card.cs.

7435 {
7436 if (c_idBacker == 164)
7437 {
7438 Chara.things.Find("amulet_moonnight")?.Destroy();
7439 }
7440 c_idBacker = 0;
7441 }

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 3248 of file Card.cs.

3249 {
3250 RemoveThing(c as Thing);
3251 }
void RemoveThing(Thing thing)
Definition: Card.cs:3476

References RemoveThing().

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

◆ RemoveEditorTag()

void Card.RemoveEditorTag ( EditorTag  tag)
inline

Definition at line 2727 of file Card.cs.

2728 {
2729 c_editorTags = (c_editorTags.IsEmpty() ? null : c_editorTags.Replace(tag.ToString(), "").Replace(",,", ","));
2730 }

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 3476 of file Card.cs.

3477 {
3478 Card rootCard = GetRootCard();
3479 if (rootCard != null && rootCard.isChara && (rootCard.Chara.held == thing || (rootCard.IsPC && thing.things.Find((Thing t) => EClass.pc.held == t) != null)))
3480 {
3481 rootCard.Chara.held = null;
3482 if (rootCard.IsPC)
3483 {
3485 if ((bool)instance && instance.selected != -1 && instance.selectedButton.card != null && instance.selectedButton.card == thing)
3486 {
3487 instance.selectedButton.card = null;
3488 }
3490 ActionMode.AdvOrRegion.updatePlans = true;
3491 LayerInventory.SetDirty(thing);
3492 }
3494 }
3495 dirtyWeight = true;
3496 if (thing.c_equippedSlot != 0 && isChara)
3497 {
3498 Chara.body.Unequip(thing);
3499 }
3500 things.Remove(thing);
3501 things.OnRemove(thing);
3502 if (isSale && things.Count == 0 && IsContainer)
3503 {
3504 isSale = false;
3505 EClass._map.props.sales.Remove(this);
3506 }
3507 if (thing.invY == 1)
3508 {
3509 WidgetCurrentTool.dirty = true;
3510 }
3511 thing.invX = -1;
3512 thing.invY = 0;
3513 if (thing.props != null)
3514 {
3515 thing.props.Remove(thing);
3516 }
3519 {
3520 LayerInventory.SetDirty(thing);
3521 WidgetHotbar.dirtyCurrentItem = true;
3522 thing.parent = null;
3523 if (thing.trait.IsContainer)
3524 {
3525 foreach (LayerInventory item in LayerInventory.listInv.Copy())
3526 {
3527 if (item.invs[0].owner.Container.GetRootCard() != EClass.pc && item.floatInv)
3528 {
3529 EClass.ui.layerFloat.RemoveLayer(item);
3530 }
3531 }
3532 }
3533 }
3534 thing.parent = null;
3535 }
Card card
Definition: ButtonGrid.cs:24
int c_equippedSlot
Definition: Card.cs:979
int invY
Definition: Card.cs:2007
bool isSale
Definition: Card.cs:869
void RecalculateFOV()
Definition: Card.cs:6759
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 3468 of file Card.cs.

3469 {
3470 for (int num = things.Count - 1; num >= 0; num--)
3471 {
3472 RemoveThing(things[num]);
3473 }
3474 }

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 6695 of file Card.cs.

6696 {
6697 if (dir != -1)
6698 {
6699 this.dir = dir;
6700 }
6701 Vector3 v = point.Position();
6702 bool skipRender = point.cell.skipRender;
6703 if (result != 0 && EClass.screen.guide.isActive && !skipRender)
6704 {
6705 EClass.screen.guide.passGuideBlock.Add(ref v, (point.HasObj || point.HasChara) ? 5 : 0);
6706 }
6707 if (!main)
6708 {
6709 return;
6710 }
6711 RenderParam renderParam = GetRenderParam();
6713 {
6714 renderParam.x = v.x;
6715 renderParam.y = v.y;
6716 renderParam.z = v.z;
6717 EClass.screen.tileMap.SetRoofHeight(renderParam, point.cell, point.x, point.z);
6718 v.x = renderParam.x;
6719 v.y = renderParam.y;
6720 v.z = renderParam.z;
6721 }
6722 else if (TileType.UseMountHeight)
6723 {
6724 TileType.GetMountHeight(ref v, point, this.dir, this);
6725 }
6726 v.z += EClass.setting.render.thingZ;
6727 if (!skipRender)
6728 {
6729 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
6730 if (freePos)
6731 {
6732 v.x += fx;
6733 v.y += fy;
6734 v.z += thingPosition.z;
6735 }
6736 else
6737 {
6738 v += thingPosition;
6739 }
6740 }
6741 if (useCurrentPosition)
6742 {
6743 v = renderer.position;
6744 v.z += -0.01f;
6745 }
6746 if (TileType == TileType.Door)
6747 {
6748 v.z -= 0.5f;
6749 }
6750 renderParam.matColor = (active ? EClass.Colors.blockColors.Active : EClass.Colors.blockColors.Inactive);
6751 point.ApplyAnime(ref v);
6752 if (renderer.hasActor)
6753 {
6755 }
6756 renderer.Draw(renderParam, ref v, drawShadow: false);
6757 }
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:6357
bool freePos
Definition: Card.cs:521
bool skipRender
Definition: Cell.cs:278
BlockColors blockColors
RenderSetting render
Definition: GameSetting.cs:303
void Add(Point point, float tile=0f, float color=0f)
Definition: MeshPass.cs:122
RenderParam ApplyAnime(RenderParam p)
Definition: Point.cs:1331
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 6280 of file Card.cs.

6281 {
6282 return Element.GetResistLv(Evalue(res));
6283 }
static int GetResistLv(int v)
Definition: ELEMENT.cs:1145

References Element.GetResistLv().

Referenced by ActEffect.ProcAt().

◆ ResistLvFrom()

int Card.ResistLvFrom ( int  ele)
inline

Definition at line 6275 of file Card.cs.

6276 {
6277 return ResistLv(EClass.sources.elements.alias.TryGetValue(EClass.sources.elements.map[ele].aliasRef)?.id ?? 0);
6278 }

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 6618 of file Card.cs.

6619 {
6620 int num = 4;
6621 if (sourceCard.tiles.Length > 4)
6622 {
6623 num = sourceCard.tiles.Length;
6624 }
6625 if (TileType == TileType.Door)
6626 {
6627 num = 2;
6628 }
6629 if (trait is TraitFakeObj)
6630 {
6631 num = (trait as TraitFakeObj).GetMaxDir();
6632 }
6633 if (reverse)
6634 {
6635 dir--;
6636 }
6637 else
6638 {
6639 dir++;
6640 }
6641 if (dir < 0)
6642 {
6643 dir = num - 1;
6644 }
6645 if (dir == num)
6646 {
6647 dir = 0;
6648 }
6649 SetDir(dir);
6651 }
void RefreshSprite()
virtual void SetDir(int d)
Definition: Card.cs:6599
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 7230 of file Card.cs.

7231 {
7232 if (ShouldShowMsg)
7233 {
7234 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, c2, ref1, ref2);
7235 }
7236 Msg.SetColor();
7237 }
bool ShouldShowMsg
Definition: Card.cs:2508
static LangGame Game
Definition: Lang.cs:49
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 7239 of file Card.cs.

7240 {
7241 if (ShouldShowMsg)
7242 {
7243 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, ref1, ref2);
7244 }
7245 Msg.SetColor();
7246 }

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 7221 of file Card.cs.

7222 {
7223 if (ShouldShowMsg)
7224 {
7225 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, ref1, ref2);
7226 }
7227 Msg.SetColor();
7228 }

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(), Chara.TryDuplicate(), 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 7200 of file Card.cs.

7201 {
7202 if (isSynced && !text.IsEmpty())
7203 {
7204 if (ref1 != null)
7205 {
7206 text = text.Replace("#1", ref1);
7207 }
7208 if (ref2 != null)
7209 {
7210 text = text.Replace("#2", ref2);
7211 }
7212 HostRenderer.Say(text);
7213 }
7214 }
void Say(string text, Color c=default(Color), float duration=0f)
CardRenderer HostRenderer
Definition: Card.cs:2496

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

◆ SecondaryCompare()

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

Definition at line 8207 of file Card.cs.

8208 {
8209 int num = 0;
8210 if (num == 0)
8211 {
8212 num = id.CompareTo(c.id);
8213 }
8214 if (num == 0)
8215 {
8216 num = trait.CompareTo(c);
8217 }
8218 if (num == 0)
8219 {
8220 num = Lang.comparer.Compare(c.GetName(NameStyle.Full, 1), GetName(NameStyle.Full, 1));
8221 }
8222 if (num == 0)
8223 {
8224 num = refVal - c.refVal;
8225 }
8226 if (num == 0)
8227 {
8228 num = c_charges - c.c_charges;
8229 }
8230 if (num == 0)
8231 {
8232 num = encLV - c.encLV;
8233 }
8234 if (num == 0)
8235 {
8236 num = Num - c.Num;
8237 }
8238 if (num == 0)
8239 {
8240 num = uid - c.uid;
8241 }
8242 return num;
8243 }
static NaturalStringComparer comparer
Definition: Lang.cs:23
virtual int CompareTo(Card b)
Definition: Trait.cs:827

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 4053 of file Card.cs.

4054 {
4055 int num = 0;
4056 if (s == BlessedState.Blessed && blessedState < BlessedState.Blessed)
4057 {
4058 num = 1;
4059 }
4060 if (s < BlessedState.Blessed && blessedState == BlessedState.Blessed)
4061 {
4062 num = -1;
4063 }
4064 if (num != 0 && IsEquipmentOrRangedOrAmmo)
4065 {
4066 if (IsWeapon || IsAmmo)
4067 {
4068 elements.ModBase(67, num);
4069 }
4070 else
4071 {
4072 elements.ModBase(65, num * 2);
4073 }
4074 }
4075 blessedState = s;
4076 }

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

Referenced by Recipe.Craft(), RecipeCard.Craft(), CustomThingContent.Create(), 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().

◆ SetBool()

void Card.SetBool ( string  id,
bool  enable 
)
inline

◆ SetCensored()

void Card.SetCensored ( bool  enable)
inline

Definition at line 8145 of file Card.cs.

8146 {
8147 isCensored = enable;
8149 {
8150 isCensored = false;
8151 }
8153 }
void SetCensored(bool enable)
bool isCensored
Definition: Card.cs:437
OtherSetting other
Definition: CoreConfig.cs:627

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 8155 of file Card.cs.

8156 {
8157 if (isDeconstructing != deconstruct)
8158 {
8159 if (deconstruct)
8160 {
8161 EClass._map.props.deconstructing.Add(this);
8162 }
8163 else
8164 {
8165 EClass._map.props.deconstructing.Remove(this);
8166 }
8167 isDeconstructing = deconstruct;
8168 }
8169 }
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 6599 of file Card.cs.

6600 {
6601 dir = d;
6603 }

References CardRenderer.RefreshSprite().

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

◆ SetDirtyWeight()

void Card.SetDirtyWeight ( )
inline

Definition at line 2671 of file Card.cs.

2672 {
2674 {
2675 EClass.player.wasDirtyWeight = true;
2676 }
2677 dirtyWeight = true;
2678 (parent as Card)?.SetDirtyWeight();
2679 }

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 6671 of file Card.cs.

6672 {
6673 freePos = EClass.game.config.FreePos && isThing && TileType.FreeStyle;
6674 if (freePos)
6675 {
6676 Vector3 vector = point.Position();
6677 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
6678 fx = EInput.mposWorld.x + EClass.setting.render.freePosFix.x;
6679 fy = EInput.mposWorld.y + EClass.setting.render.freePosFix.y;
6681 {
6682 fx -= fx % 0.2f;
6683 fy -= fy % 0.1f;
6684 }
6685 fx = fx - vector.x + thingPosition.x;
6686 fy = fy - vector.y + thingPosition.y;
6687 }
6688 else
6689 {
6690 float num2 = (fy = 0f);
6691 fx = num2;
6692 }
6693 }
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 6060 of file Card.cs.

6061 {
6062 isHidden = hide;
6063 pos.cell.Refresh();
6064 return this;
6065 }
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 6489 of file Card.cs.

6490 {
6491 if (trait is TraitAbility)
6492 {
6493 (trait as TraitAbility).act.SetImage(image);
6494 return;
6495 }
6496 Sprite sprite = GetSprite();
6497 if (!c_idSpriteReplacer.IsEmpty())
6498 {
6499 SpriteReplacer spriteReplacer = SpriteReplacer.dictSkins.TryGetValue(c_idSpriteReplacer);
6500 if (spriteReplacer != null)
6501 {
6502 sprite = spriteReplacer.GetSprite();
6503 RenderData renderData = ResourceCache.Load<RenderData>("Scene/Render/Data/chara_custom_" + ((sprite.texture.height <= 128) ? "128" : "256"));
6504 sourceRenderCard.SetImage(image, sprite, colorInt, setNativeSize: true, 0, 0, renderData, spriteReplacer.data.pref ?? Pref);
6505 return;
6506 }
6507 }
6508 sourceRenderCard.SetImage(image, sprite, colorInt, setNativeSize: true, 0, 0, this);
6509 }
string c_idSpriteReplacer
Definition: Card.cs:1597
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:359
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]

◆ SetInt()

◆ SetLv()

Card Card.SetLv ( int  a)
inline

Definition at line 3054 of file Card.cs.

3055 {
3056 bool flag = a > LV;
3057 LV = a;
3058 if (!isChara)
3059 {
3060 return this;
3061 }
3062 isScaled = true;
3063 Rand.SetSeed(uid);
3064 ElementContainer elementContainer = new ElementContainer();
3065 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.job.elementMap, LV);
3066 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.race.elementMap, LV);
3067 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.source.elementMap, 1, invert: false, applyFeat: true);
3068 foreach (Element value in elements.dict.Values)
3069 {
3070 int num = elementContainer.Value(value.id);
3071 if (num != 0)
3072 {
3073 int num2 = num - value.ValueWithoutLink;
3074 if (num2 != 0)
3075 {
3076 elements.ModBase(value.id, num2);
3077 }
3078 }
3079 }
3080 if (flag)
3081 {
3083 }
3084 Rand.SetSeed();
3085 hp = MaxHP;
3086 Chara.mana.value = Chara.mana.max;
3089 return this;
3090 }
SourceValueType
void ClampInitialSkill()
Definition: Card.cs:3092
bool isScaled
Definition: Card.cs:917
SourceJob.Row job
Definition: Chara.cs:470
void CalculateMaxStamina()
Definition: Chara.cs:2106
SourceChara.Row source
Definition: Chara.cs:162
void ApplyElementMap(int uid, SourceValueType type, Dictionary< int, int > map, int lv, bool invert=false, bool applyFeat=false)
int ValueWithoutLink
Definition: ELEMENT.cs:301

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 3667 of file Card.cs.

3668 {
3669 noSell = true;
3670 return this as Thing;
3671 }

References noSell, and Thing.

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

◆ SetNum()

Thing Card.SetNum ( int  a)
inline

Definition at line 3653 of file Card.cs.

3654 {
3655 if (!isThing)
3656 {
3657 return null;
3658 }
3659 if (a == Num)
3660 {
3661 return this as Thing;
3662 }
3663 ModNum(a - Num);
3664 return this as Thing;
3665 }

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

Referenced by ThingGen._Create(), InvOwnerRecycle._OnProcess(), Add(), ThingContainer.AddCurrency(), DropdownGrid.BuildIngredients(), TraitCrafter.Craft(), RecipeCard.Craft(), CustomThingContent.Create(), 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().

◆ SetObj()

void Card.SetObj ( string  id,
object  o 
)
inline

Definition at line 2594 of file Card.cs.

2595 {
2596 SetObj(id.GetHashCode(), o);
2597 }
void SetObj(string id, object o)
Definition: Card.cs:2594

References SetObj().

Referenced by ListPeopleBuySlave.OnCreate(), SerializedCards.Restore(), and SetObj().

◆ SetObj< T >()

T Card.SetObj< T > ( string  id,
object  o 
)
inline

Definition at line 2599 of file Card.cs.

2600 {
2601 return SetObj<T>(id.GetHashCode(), o);
2602 }
T SetObj< T >(string id, object o)
Definition: Card.cs:2599

References SetObj< T >().

Referenced by SetObj< T >().

◆ SetPaintData()

void Card.SetPaintData ( )
inline

Definition at line 7443 of file Card.cs.

7444 {
7445 EClass.ui.Hide(0f);
7447 {
7451 {
7452 EClass.ui.Show(0f);
7453 });
7454 });
7455 }
void WaitForEndOfFrame(Action action)
Definition: BaseCore.cs:61
byte[] GetPaintData()
Definition: Card.cs:7457
void ClearPaintSprite()
Definition: Card.cs:7475

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

◆ SetPlaceState()

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

Definition at line 3905 of file Card.cs.

3906 {
3907 if (this.placeState == newState)
3908 {
3909 return;
3910 }
3911 if (parent != EClass._zone)
3912 {
3913 Debug.Log("tried to change placestate of non-root card:" + this);
3914 return;
3915 }
3917 Area area = pos.area;
3918 if (placeState == PlaceState.installed)
3919 {
3920 area?.OnUninstallCard(this);
3921 if (!isRoofItem)
3922 {
3923 altitude = 0;
3924 freePos = false;
3925 float num2 = (fy = 0f);
3926 fx = num2;
3927 }
3928 trait.Uninstall();
3929 }
3930 if (placeState == PlaceState.installed || newState == PlaceState.installed)
3931 {
3932 ForeachPoint(delegate(Point p, bool main)
3933 {
3934 p.cell.RemoveCard(this);
3935 });
3936 this.placeState = newState;
3937 ForeachPoint(delegate(Point p, bool main)
3938 {
3939 p.cell.AddCard(this);
3940 });
3941 }
3942 else
3943 {
3944 this.placeState = newState;
3945 }
3946 if (trait is TraitFakeTile)
3947 {
3949 }
3950 if (newState == PlaceState.none)
3951 {
3952 this.placeState = PlaceState.roaming;
3953 if (props != null)
3954 {
3955 props.Remove(this);
3956 }
3957 }
3958 else
3959 {
3961 if (this.placeState == PlaceState.installed)
3962 {
3963 if (isThing)
3964 {
3965 if (trait.InstallBottomPriority != -1)
3966 {
3968 }
3969 else
3970 {
3972 }
3973 }
3974 area?.OnInstallCard(this);
3975 isRoofItem = false;
3976 trait.Install(byPlayer);
3977 }
3978 }
3980 {
3982 }
3983 if (trait.ShouldTryRefreshRoom && (placeState == PlaceState.installed || this.placeState == PlaceState.installed))
3984 {
3986 }
3987 trait.OnChangePlaceState(newState);
3989 {
3991 }
3992 }
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:1282
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:712
virtual bool ShouldTryRefreshRoom
Definition: Trait.cs:88
void Uninstall()
Definition: Trait.cs:1295
virtual int InstallBottomPriority
Definition: Trait.cs:90
void Install(bool byPlayer)
Definition: Trait.cs:1275

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 7569 of file Card.cs.

7570 {
7571 c_priceFix = a;
7572 return Thing;
7573 }

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

◆ SetRandomDir()

void Card.SetRandomDir ( )
inline

Definition at line 6605 of file Card.cs.

6606 {
6607 SetDir(EClass.rnd(4));
6608 }

References EClass.rnd().

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

◆ SetRandomLightColors()

void Card.SetRandomLightColors ( )
inline

Definition at line 6914 of file Card.cs.

6915 {
6916 c_lightColor = (byte)(EClass.rnd(8) + 1) * 1024 + (byte)(EClass.rnd(8) + 1) * 32 + (byte)(EClass.rnd(8) + 1);
6917 }

References EClass.rnd().

◆ SetRandomTalk()

void Card.SetRandomTalk ( )
inline

Definition at line 7326 of file Card.cs.

7327 {
7329 if (!MOD.listTalk.list[0].ContainsKey(id))
7330 {
7331 c_idTalk = MOD.listTalk.GetRandomID("human");
7332 }
7333 }
string GetRandomID(string tag)
Definition: TalkDataList.cs:54

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

Referenced by Biography.Generate().

◆ SetRandomTone()

void Card.SetRandomTone ( )
inline

Definition at line 7335 of file Card.cs.

7336 {
7338 List<Dictionary<string, string>> list = MOD.tones.list;
7339 if (list.Count != 0)
7340 {
7341 int mtp = EClass.core.config.test.extraToneMTP switch
7342 {
7343 4 => 10,
7344 3 => 5,
7345 2 => 2,
7346 1 => 1,
7347 0 => 0,
7348 _ => 0,
7349 };
7350 if (EClass.debug.enable)
7351 {
7352 mtp *= 100;
7353 }
7354 string text = list.RandomItem()["id"];
7355 text = list.RandomItemWeighted((Dictionary<string, string> a) => a["chance"].ToInt() * ((!a["tag"].Contains("meta")) ? 1 : mtp))["id"];
7356 c_idTone = MOD.tones.GetToneID(text, bio?.gender ?? 0);
7357 }
7358 }
string GetToneID(string id, int gender)
Definition: ToneDataList.cs:55

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 6367 of file Card.cs.

6368 {
6369 }

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

◆ SetReplica()

void Card.SetReplica ( bool  on)
inline

Definition at line 3228 of file Card.cs.

3229 {
3230 isReplica = true;
3231 ChangeMaterial("granite");
3232 }

References ChangeMaterial, and isReplica.

Referenced by Chara.RestockEquip().

◆ SetSale()

void Card.SetSale ( bool  sale)
inline

Definition at line 7580 of file Card.cs.

7581 {
7582 if (isSale != sale)
7583 {
7584 isSale = sale;
7585 if (isSale)
7586 {
7587 EClass._map.props.sales.Add(this);
7588 }
7589 else
7590 {
7591 EClass._map.props.sales.Remove(this);
7592 }
7593 }
7594 }

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 8176 of file Card.cs.

8177 {
8178 switch (m)
8179 {
8180 case UIList.SortMode.ByEquip:
8181 sortVal = ((c_equippedSlot == 0) ? (category.sortVal * 1000) : 0);
8182 break;
8183 case UIList.SortMode.ByValue:
8184 sortVal = -GetPrice(currency) * 1000;
8185 break;
8186 case UIList.SortMode.ByNumber:
8187 sortVal = -Num * 1000;
8188 break;
8189 case UIList.SortMode.ByCategory:
8190 sortVal = category.sortVal * 1000;
8191 break;
8192 case UIList.SortMode.ByWeight:
8194 break;
8195 case UIList.SortMode.ByWeightSingle:
8197 break;
8198 case UIList.SortMode.ByPrice:
8199 sortVal = -GetPrice(currency) * 1000;
8200 break;
8201 default:
8202 sortVal = sourceCard._index * 1000;
8203 break;
8204 }
8205 }
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:7674
int sortVal
Definition: Card.cs:104
int ChildrenAndSelfWeightSingle
Definition: Card.cs:2095
int ChildrenAndSelfWeight
Definition: Card.cs:2093
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 3004 of file Card.cs.

3005 {
3006 }

Referenced by _OnDeserialized(), and Create().

◆ SetStr()

◆ SetTier()

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

Definition at line 4027 of file Card.cs.

4028 {
4029 if (a < 0)
4030 {
4031 a = 0;
4032 }
4033 tier = a;
4034 if (setTraits)
4035 {
4036 int num = ((a == 1) ? 180 : ((a == 2) ? 400 : ((a >= 3) ? 600 : 0)));
4037 if (a > 0)
4038 {
4039 foreach (Element value in elements.dict.Values)
4040 {
4041 if (value.IsFoodTrait || value.IsTrait)
4042 {
4043 elements.SetTo(value.id, value.Value * num / 100);
4044 }
4045 }
4046 }
4047 elements.SetBase(2, a * 30);
4048 elements.SetBase(759, (a > 1) ? a : 0);
4049 }
4051 }
bool IsFoodTrait
Definition: ELEMENT.cs:371

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 3537 of file Card.cs.

3538 {
3539 if (EClass.player.chara != null)
3540 {
3541 if (!IsPC && GetRootCard() != EClass.pc)
3542 {
3543 return EClass.ui.layers.Count > 0;
3544 }
3545 return true;
3546 }
3547 return false;
3548 }
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 5308 of file Card.cs.

5309 {
5310 if (!isChara || IsPCFactionMinion || (isCopy && EClass.rnd(10) != 0))
5311 {
5312 return;
5313 }
5314 bool isUserZone = EClass._zone.IsUserZone;
5315 bool flag = EClass._zone is Zone_Music;
5316 List<Card> list = new List<Card>();
5317 if (!IsPCFaction && !isUserZone && sourceCard.idActor.IsEmpty())
5318 {
5319 int i2 = 500;
5320 if (this.rarity >= Rarity.Legendary)
5321 {
5322 i2 = ((!EClass.player.codex.DroppedCard(id)) ? 1 : 10);
5324 }
5326 {
5327 i2 = 10;
5328 }
5329 if (chance(i2))
5330 {
5331 Thing thing = ThingGen.Create("figure");
5332 thing.MakeFigureFrom(id);
5333 list.Add(thing);
5334 }
5335 if (chance(i2))
5336 {
5337 Thing thing2 = ThingGen.Create("figure3");
5338 thing2.MakeFigureFrom(id);
5339 list.Add(thing2);
5340 }
5341 }
5342 bool flag2 = Chara.race.corpse[1].ToInt() > EClass.rnd(1500) || (Chara.IsPowerful && !IsPCFaction) || EClass.debug.godFood;
5343 int num = 1;
5344 if (!IsMinion && Chara.IsAnimal && EClass.rnd(EClass._zone.IsPCFaction ? 3 : 5) == 0)
5345 {
5346 flag2 = true;
5347 }
5349 {
5350 flag2 = true;
5351 num = EClass.rndHalf(4 + 10 * (50 + Mathf.Max(0, (int)MathF.Sqrt(EClass.pc.Evalue(290) * 10))) / 100);
5352 }
5353 else if (origin != null && origin.HasElement(290) && !IsMinion)
5354 {
5355 if (!flag2 && Chara.race.corpse[1].ToInt() > EClass.rnd(150000 / (100 + (int)Mathf.Sqrt(origin.Evalue(290)) * 5)))
5356 {
5357 flag2 = true;
5358 origin.elements.ModExp(290, 150f);
5359 }
5360 else
5361 {
5362 origin.elements.ModExp(290, 25f);
5363 }
5364 }
5365 if (id == "littleOne" && IsPCFactionOrMinion)
5366 {
5367 flag2 = false;
5368 }
5369 if (Chara.race.id == "spider" && EClass._zone.HasField(10000))
5370 {
5371 flag2 = false;
5372 }
5373 if (flag2 && !isUserZone)
5374 {
5375 string text = Chara.race.corpse[0];
5376 bool num2 = text == "_meat";
5377 int num3 = 10;
5379 {
5380 num3 += (int)Mathf.Min(Mathf.Sqrt(EClass.pc.Evalue(290)), 20f);
5381 }
5382 if (EClass.rnd((Act.CurrentAct is ActMeleeBladeStorm || (origin != null && (origin.HasElement(1556) || origin.HasCondition<ConTransmuteCat>()))) ? 2 : 100) == 0)
5383 {
5384 text = "dattamono";
5385 }
5386 if (num2 && num3 > EClass.rnd(100))
5387 {
5388 text = "meat_marble";
5389 }
5390 Thing thing3 = ThingGen.Create(text).SetNum(num);
5391 if (thing3.source._origin == "meat")
5392 {
5393 thing3.MakeFoodFrom(this);
5394 }
5395 else
5396 {
5398 }
5399 list.Add(thing3);
5400 }
5401 if (!IsPCFaction && (!isUserZone || !EClass.game.principal.disableUsermapBenefit) && chance(200))
5402 {
5403 list.Add(Chara.MakeGene());
5404 }
5405 if (!IsPCFaction && !isUserZone)
5406 {
5407 foreach (string item2 in sourceCard.loot.Concat(Chara.race.loot).ToList())
5408 {
5409 string[] array = item2.Split('/');
5410 int num4 = array[1].ToInt();
5411 if (num4 >= 1000 || num4 > EClass.rnd(1000) || EClass.debug.godMode)
5412 {
5413 CardRow cardRow = EClass.sources.cards.map[array[0]];
5414 if (cardRow != null && cardRow.Category.slot != 0 && cardRow.quality == 0 && EClass.pc.Evalue(1660) * 25 > EClass.rnd(100))
5415 {
5416 CardBlueprint.SetRarity((EClass.rnd(20) == 0) ? Rarity.Mythical : Rarity.Legendary);
5417 }
5418 list.Add(ThingGen.Create(array[0], -1, LV).SetNum((num4 < 1000) ? 1 : (num4 / 1000 + ((EClass.rnd(1000) < num4 % 1000) ? 1 : 0))));
5419 }
5420 }
5421 if (Chara.IsMachine)
5422 {
5423 bool flag3 = Chara.HasElement(1248);
5424 if (chance(200))
5425 {
5426 list.Add(ThingGen.Create("memory_chip"));
5427 }
5428 if (chance(20))
5429 {
5430 list.Add(ThingGen.Create(flag3 ? "scrap" : "microchip"));
5431 }
5432 if (chance(15))
5433 {
5434 list.Add(ThingGen.Create(flag3 ? "bolt" : "battery"));
5435 }
5436 }
5437 else
5438 {
5439 if (Chara.IsAnimal)
5440 {
5441 if (chance(15))
5442 {
5443 list.Add(ThingGen.Create("fang"));
5444 }
5445 if (chance(10))
5446 {
5447 list.Add(ThingGen.Create("skin"));
5448 }
5449 }
5450 if (chance(20))
5451 {
5452 list.Add(ThingGen.Create("offal"));
5453 }
5454 if (chance(20))
5455 {
5456 list.Add(ThingGen.Create("heart"));
5457 }
5458 }
5459 if (!isBackerContent && !flag)
5460 {
5461 switch (id)
5462 {
5463 case "pumpkin":
5464 if (chance(3))
5465 {
5466 list.Add(ThingGen.CreateFromCategory((EClass.rnd(2) == 0) ? "meal_cookie" : "meal_cake", 5 + EClass.rnd(EClass.rnd(50) + 1)));
5467 }
5468 break;
5469 case "isca":
5470 list.Add(ThingGen.Create("blood_angel"));
5471 break;
5472 case "golem_wood":
5473 if (chance(30))
5474 {
5475 list.Add(ThingGen.Create("crystal_earth"));
5476 }
5477 break;
5478 case "golem_fish":
5479 case "golem_stone":
5480 if (chance(30))
5481 {
5482 list.Add(ThingGen.Create("crystal_sun"));
5483 }
5484 break;
5485 case "golem_steel":
5486 if (chance(30))
5487 {
5488 list.Add(ThingGen.Create("crystal_mana"));
5489 }
5490 break;
5491 case "golem_gold":
5492 list.Add(ThingGen.Create("money2"));
5493 break;
5494 }
5495 int num5 = ((EClass._zone.Boss == this) ? 2 : ((this.rarity >= Rarity.Legendary) ? 1 : 0));
5496 if (EClass._zone is Zone_Void)
5497 {
5498 num5++;
5499 }
5500 if (EClass.rnd(5) == 0)
5501 {
5502 num5++;
5503 }
5504 switch (id)
5505 {
5506 case "big_daddy":
5507 case "big_daddy2":
5508 case "santa":
5509 num5 += 2;
5510 break;
5511 }
5512 if (num5 > 0 && EClass.game.principal.dropRate)
5513 {
5514 num5 = Mathf.Max(1, num5 * (50 + EClass.game.principal.dropRateMtp * 50) / 100);
5515 }
5516 List<Thing> list2 = new List<Thing>();
5517 foreach (Thing thing6 in things)
5518 {
5519 if (thing6.HasTag(CTAG.gift) || thing6.trait is TraitChestMerchant)
5520 {
5521 continue;
5522 }
5523 if (thing6.isGifted || thing6.rarity >= Rarity.Artifact || thing6.trait.DropChance > EClass.rndf(1f))
5524 {
5525 list.Add(thing6);
5526 }
5527 else if (thing6.IsEquipmentOrRanged)
5528 {
5529 if (thing6.rarity >= Rarity.Legendary)
5530 {
5531 list2.Add(thing6);
5532 }
5533 else if (EClass.rnd(100) == 0)
5534 {
5535 list.Add(thing6);
5536 }
5537 }
5538 else if (EClass.rnd(5) == 0)
5539 {
5540 list.Add(thing6);
5541 }
5542 }
5543 if (num5 > 0 && list2.Count > 0)
5544 {
5545 list2.Shuffle();
5546 for (int j = 0; j < list2.Count && j < num5; j++)
5547 {
5548 list.Add(list2[j]);
5549 num5--;
5550 }
5551 }
5552 if (this.rarity >= Rarity.Legendary && !IsUnique && c_bossType != BossType.Evolved)
5553 {
5554 int num6 = 0;
5555 foreach (Card item3 in list)
5556 {
5557 if (item3.rarity >= Rarity.Legendary || item3.IsContainer)
5558 {
5559 num6++;
5560 }
5561 }
5562 if (num6 == 0)
5563 {
5564 int num7 = ((!(EClass._zone is Zone_Void)) ? 1 : 2);
5565 if (num5 < num7)
5566 {
5567 num5 = num7;
5568 }
5569 for (int k = 0; k < num5; k++)
5570 {
5571 Rand.SetSeed(uid + k);
5572 if (EClass.rnd((EClass._zone.events.GetEvent<ZoneEventDefenseGame>() != null) ? 3 : 2) == 0)
5573 {
5574 Rarity rarity = ((EClass.rnd(20) == 0) ? Rarity.Mythical : Rarity.Legendary);
5576 {
5577 rarity = rarity
5578 });
5580 list.Add(item);
5581 }
5582 else if (EClass.rnd(3) == 0)
5583 {
5584 list.Add(ThingGen.Create("medal"));
5585 }
5586 Rand.SetSeed();
5587 }
5588 }
5589 }
5591 {
5592 trait.OnBarter();
5593 Thing thing4 = things.Find<TraitChestMerchant>();
5594 if (thing4 != null)
5595 {
5596 Rand.SetSeed(uid);
5597 int num8 = 1 + EClass.rnd(3);
5598 List<Thing> list3 = thing4.things.ToList();
5600 {
5601 list3.Shuffle();
5602 }
5603 else
5604 {
5605 list3.Sort((Thing a, Thing b) => b.GetValue() - a.GetValue());
5606 }
5607 Rand.SetSeed();
5608 while (num8 > 0 && list3.Count != 0)
5609 {
5610 Thing thing5 = list3.First();
5611 list3.Remove(thing5);
5612 if (!thing5.IsUnique)
5613 {
5614 list.Add(thing5);
5615 num8--;
5616 }
5617 }
5618 }
5619 }
5620 }
5621 }
5622 foreach (Thing thing7 in things)
5623 {
5624 if (thing7.GetInt(116) != 0)
5625 {
5626 list.Add(thing7);
5627 }
5628 }
5629 Point nearestPoint = GetRootCard().pos;
5630 if (nearestPoint.IsBlocked)
5631 {
5632 nearestPoint = nearestPoint.GetNearestPoint();
5633 }
5634 foreach (Card item4 in list)
5635 {
5636 if (item4.parent == EClass._zone)
5637 {
5638 continue;
5639 }
5640 item4.isHidden = false;
5641 item4.isNPCProperty = false;
5642 item4.SetInt(116);
5643 EClass._zone.AddCard(item4, nearestPoint);
5644 if (!item4.IsEquipment || item4.rarity < Rarity.Superior || item4.IsCursed)
5645 {
5646 continue;
5647 }
5648 foreach (Chara chara in EClass._map.charas)
5649 {
5650 if (chara.HasElement(1412) && chara.Dist(nearestPoint) < 3)
5651 {
5652 item4.Thing.TryLickEnchant(chara);
5653 break;
5654 }
5655 }
5656 }
5657 bool chance(int i)
5658 {
5659 i = i * 100 / (100 + EClass.player.codex.GetOrCreate(id).BonusDropLv * 10);
5660 if (i < 1)
5661 {
5662 i = 1;
5663 }
5664 if (IsMinion)
5665 {
5666 i *= 5;
5667 }
5668 if (EClass.rnd(i) == 0)
5669 {
5670 return true;
5671 }
5672 return false;
5673 }
5674 }
if(!match.Success)
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:3642
void MakeFigureFrom(string id)
Definition: Card.cs:5936
bool IsCursed
Definition: Card.cs:2309
virtual bool IsMinion
Definition: Card.cs:2205
bool IsEquipment
Definition: Card.cs:2227
bool isGifted
Definition: Card.cs:785
virtual bool IsPCFactionMinion
Definition: Card.cs:2209
Thing Add(string id, int num=1, int lv=1)
Definition: Card.cs:3234
bool isBackerContent
Definition: Card.cs:952
bool IsAnimal
Definition: Chara.cs:890
Thing MakeGene(DNA.Type? type=null)
Definition: Chara.cs:8499
bool IsMachine
Definition: Chara.cs:926
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:2055
virtual float DropChance
Definition: Trait.cs:371
virtual void OnBarter(bool reroll=false)
Definition: Trait.cs:1692
ZoneEventManager events
Definition: Zone.cs:40
bool HasField(int idEle)
Definition: Zone.cs:3014
virtual bool IsFestival
Definition: Zone.cs:213

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, GetInt(), Point.GetNearestPoint(), CodexManager.GetOrCreate(), GetValue(), CoreDebug.godFood, CoreDebug.godMode, HasElement(), Zone.HasField(), HasTag(), CardRow.idActor, if(), 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(), SetInt(), SetNum(), CardBlueprint.SetRarity(), Rand.SetSeed(), AI_Slaughter.slaughtering, Thing.source, EClass.sources, Split(), Thing, things, trait, and Thing.TryLickEnchant().

◆ Split()

◆ StripTalkSpecialCharacters()

string Card.StripTalkSpecialCharacters ( string  text)
inline

Definition at line 7169 of file Card.cs.

7170 {
7171 switch (text[0])
7172 {
7173 case '@':
7174 {
7175 if (text.Length > 1 && int.TryParse(text[1].ToString() ?? "", out var _))
7176 {
7177 return text.Substring(2);
7178 }
7179 break;
7180 }
7181 case '^':
7182 case '|':
7183 return text.Substring(1);
7184 }
7185 return text;
7186 }

◆ Talk()

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

Definition at line 7103 of file Card.cs.

7104 {
7105 if (IsPC && !EClass.player.forceTalk && idTopic != "goodBoy" && idTopic != "insane")
7106 {
7107 EClass.player.forceTalk = false;
7108 Msg.SetColor();
7109 return;
7110 }
7111 EClass.player.forceTalk = false;
7112 if (!isSynced && !forceSync)
7113 {
7114 Msg.SetColor();
7115 return;
7116 }
7117 GameLang.refDrama1 = ref1;
7118 GameLang.refDrama2 = ref2;
7119 string text = GetTalkText(idTopic, stripPun: true);
7120 ConTransmuteHuman condition = GetCondition<ConTransmuteHuman>();
7121 if ((HasElement(1232) || (condition != null && condition.IsBaby)) && idTopic != "baby")
7122 {
7123 BackerContent.GakiConvert(ref text, "babu");
7124 }
7125 else
7126 {
7127 switch ((condition != null) ? condition.chara.id : id)
7128 {
7129 case "adv_gaki":
7130 BackerContent.GakiConvert(ref text);
7131 break;
7132 case "corgon":
7133 BackerContent.GakiConvert(ref text, "mokyu");
7134 break;
7135 case "mimu":
7136 BackerContent.GakiConvert(ref text, "mimu");
7137 break;
7138 }
7139 }
7140 TalkRaw(text, ref1, ref2, forceSync);
7141 }
static void GakiConvert(ref string text, string idLang="zako")
string GetTalkText(string idTopic, bool stripPun=false, bool useDefault=true)
Definition: Card.cs:7248
void TalkRaw(string text, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:7143
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 7143 of file Card.cs.

7144 {
7145 if ((!isSynced && !forceSync) || text.IsEmpty())
7146 {
7147 Msg.SetColor();
7148 return;
7149 }
7150 if (ref1 != null)
7151 {
7152 text = text.Replace("#1", ref1);
7153 }
7154 if (ref2 != null)
7155 {
7156 text = text.Replace("#2", ref2);
7157 }
7159 text = StripTalkSpecialCharacters(text);
7160 bool flag = text.StartsWith("*");
7161 Msg.SetColor(text.StartsWith("(") ? Msg.colors.Thinking : (flag ? Msg.colors.Ono : Msg.colors.Talk));
7162 if (!flag)
7163 {
7164 text = text.Bracket();
7165 }
7166 Msg.Say(text.Replace("&", ""));
7167 }
string ApplyNewLine(string text)
Definition: Card.cs:7188
string StripTalkSpecialCharacters(string text)
Definition: Card.cs:7169
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 6103 of file Card.cs.

6104 {
6105 if (EClass._zone.IsRegion)
6106 {
6108 return;
6109 }
6110 PlayEffect("teleport");
6111 if (!force && (!trait.CanBeTeleported || elements.Has(400) || (isChara && Chara.HasCondition<ConGravity>())))
6112 {
6113 Say("antiTeleport", this);
6114 PlaySound("gravity");
6115 return;
6116 }
6117 if (!silent)
6118 {
6119 PlaySound("teleport");
6120 Say("teleported", this);
6121 }
6122 _Move(point);
6123 renderer.SetFirst(first: true, pos.PositionCenter());
6124 if (isChara)
6125 {
6126 Chara.ai.Cancel();
6127 foreach (Chara chara in EClass._map.charas)
6128 {
6129 if (chara.enemy == this)
6130 {
6131 chara.SetEnemy();
6132 }
6133 }
6134 Chara.RemoveCondition<ConEntangle>();
6135 }
6136 if (IsPC)
6137 {
6140 EClass.player.haltMove = true;
6141 }
6142 PlayEffect("teleport", useRenderPos: false);
6143 }
virtual MoveResult _Move(Point p, MoveType type=MoveType.Walk)
Definition: Card.cs:6067
void SayNothingHappans()
Definition: Card.cs:7216
Chara enemy
Definition: Chara.cs:86
Chara SetEnemy(Chara c=null)
Definition: Chara.cs:6528
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 7550 of file Card.cs.

7551 {
7552 }

◆ ToString()

override string Card.ToString ( )
inline

Definition at line 2604 of file Card.cs.

2605 {
2606 return Name + "/" + pos?.ToString() + "/" + parent;
2607 }
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 5907 of file Card.cs.

5908 {
5909 if (c.c_idRefCard.IsEmpty())
5910 {
5911 return c.c_altName;
5912 }
5913 if (!(c.refCard is SourceChara.Row { isChara: not false } row))
5914 {
5915 return c.c_altName;
5916 }
5917 if (!row.aka.IsEmpty())
5918 {
5919 if (row.name == "*r" && row.aka == "*r")
5920 {
5921 return "corpseGeneral".lang();
5922 }
5923 if (row.name == "*r")
5924 {
5925 return row.GetText("aka");
5926 }
5927 }
5928 return row.GetName();
5929 }
CardRow refCard
Definition: Card.cs:2019

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 5676 of file Card.cs.

5677 {
5678 if (lv == -1)
5679 {
5680 lv = EClass._zone.DangerLv;
5681 }
5682 switch (id)
5683 {
5684 case "gene":
5686 break;
5687 case "log":
5688 ChangeMaterial(EClass.sources.materials.rows.Where((SourceMaterial.Row m) => m.category == "wood").RandomItem());
5689 break;
5690 case "ore_gem":
5692 break;
5693 case "ore":
5695 break;
5696 case "milk":
5697 case "_egg":
5698 case "egg_fertilized":
5699 case "_meat":
5700 case "meat_marble":
5701 case "dattamono":
5702 {
5703 string text = "c_wilds";
5704 if (id == "_meat" || id == "meat_marble")
5705 {
5706 text = "c_animal";
5707 }
5708 if (itemSource == TryMakeRandomItemSource.Cooking && crafter != null && crafter.HasElement(1205))
5709 {
5710 text = "c_human";
5711 }
5712 for (int i = 0; i < 20; i++)
5713 {
5714 CardRow cardRow = SpawnList.Get(text).Select(lv + i);
5715 if (cardRow.model.Chara.race.corpse[0] != "_meat" && id != "milk" && id != "_egg" && id != "egg_fertilized")
5716 {
5717 continue;
5718 }
5719 if (itemSource == TryMakeRandomItemSource.Cooking)
5720 {
5721 if (cardRow.model.HasElement(701))
5722 {
5723 continue;
5724 }
5725 if (crafter != null && crafter.id == "big_sister")
5726 {
5727 cardRow = crafter.source;
5728 }
5729 }
5730 if (id == "milk")
5731 {
5732 if (c_idRefCard.IsEmpty())
5733 {
5734 MakeRefFrom(cardRow.model);
5735 }
5736 }
5737 else
5738 {
5739 MakeFoodFrom(cardRow.model);
5740 }
5741 return this as Thing;
5742 }
5743 MakeFoodFrom(EClass.sources.charas.map.Values.Where((SourceChara.Row r) => r.chance > 0 && r.quality == 0).RandomItem().model);
5744 break;
5745 }
5746 }
5747 return this as Thing;
5748 }
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 6212 of file Card.cs.

6213 {
6214 return _Move(newPoint);
6215 }

◆ TryMoveFrom()

MoveResult Card.TryMoveFrom ( Point  p)
inline

Definition at line 6154 of file Card.cs.

6155 {
6157 {
6158 return MoveResult.Fail;
6159 }
6160 Point point = p.Copy();
6161 int num = p.x - pos.x;
6162 int num2 = p.z - pos.z;
6163 if (num > 1)
6164 {
6165 num = 1;
6166 }
6167 else if (num < -1)
6168 {
6169 num = -1;
6170 }
6171 if (num2 > 1)
6172 {
6173 num2 = 1;
6174 }
6175 else if (num2 < -1)
6176 {
6177 num2 = -1;
6178 }
6179 if (num == 0 && num2 == 0)
6180 {
6181 num = EClass.rnd(3) - 1;
6182 num2 = EClass.rnd(3) - 1;
6183 }
6184 point.Set(pos);
6185 point.x -= num;
6186 point.z -= num2;
6187 if (point.IsValid && !point.HasChara && TryMove(point, allowDestroyPath: false) == MoveResult.Success)
6188 {
6189 return MoveResult.Success;
6190 }
6191 if (trait is TraitSnitch)
6192 {
6193 for (int i = -1; i < 2; i++)
6194 {
6195 for (int j = -1; j < 2; j++)
6196 {
6197 if (EClass.rnd(2) != 0)
6198 {
6199 point.x = pos.x + j;
6200 point.z = pos.z + i;
6201 if (!point.Equals(lastPos) && point.IsValid && !point.HasChara && TryMove(point, allowDestroyPath: false) == MoveResult.Success)
6202 {
6203 return MoveResult.Success;
6204 }
6205 }
6206 }
6207 }
6208 }
6209 return MoveResult.Fail;
6210 }
Point lastPos
Definition: Card.cs:62
bool TooHeavyToMove()
Definition: Player.cs:2653
bool Equals(int _x, int _z)
Definition: Point.cs:966

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 4083 of file Card.cs.

4084 {
4085 if (GetCurrency(id) < a)
4086 {
4087 if (IsPC)
4088 {
4089 SE.Beep();
4090 Msg.Say((id == "ration") ? "notEnoughFood" : "notEnoughMoney");
4091 }
4092 return false;
4093 }
4094 if (IsPC && !(id == "ration"))
4095 {
4096 SE.Pay();
4097 }
4098 ModCurrency(-a, id);
4099 return true;
4100 }
int GetCurrency(string id="money")
Definition: Card.cs:4133

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 2618 of file Card.cs.

2619 {
2620 if (CanReserve(act))
2621 {
2622 reservedAct = act;
2623 return true;
2624 }
2625 return false;
2626 }
bool CanReserve(AIAct act)
Definition: Card.cs:2609

References CanReserve(), and reservedAct.

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

◆ TryStack()

void Card.TryStack ( Thing  t)
inline

Definition at line 7381 of file Card.cs.

7382 {
7383 if (t == this)
7384 {
7385 return;
7386 }
7388 if (dest.stack != null)
7389 {
7390 if (IsPC)
7391 {
7392 Say("stack_thing", t, dest.stack);
7393 }
7394 t.TryStackTo(dest.stack);
7395 }
7396 }
bool TryStackTo(Thing to)
Definition: Card.cs:3555
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 3555 of file Card.cs.

3556 {
3557 if (isDestroyed || to.isDestroyed || !CanStackTo(to))
3558 {
3559 return false;
3560 }
3561 to.decay = (to.decay * to.Num + decay * Num) / (to.Num + Num);
3562 to.ModNum(Num);
3563 if (c_isImportant)
3564 {
3565 to.c_isImportant = true;
3566 }
3568 {
3569 to.isNew = true;
3570 }
3571 Destroy();
3572 return true;
3573 }
virtual bool CanStackTo(Thing to)
Definition: Card.cs:3550
new GameConfig game
Definition: CoreConfig.cs:617

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 7502 of file Card.cs.

7503 {
7504 if (!(GetRestrainer() == null || force))
7505 {
7506 return;
7507 }
7508 isRestrained = false;
7509 Say("unrestrained", this);
7510 if (this != c)
7511 {
7512 Talk("thanks");
7513 }
7515 renderer.SetFirst(first: true);
7516 if (c == null)
7517 {
7518 return;
7519 }
7520 if (c_rescueState == RescueState.WaitingForRescue)
7521 {
7522 c_rescueState = RescueState.Rescued;
7523 if (c.IsPC)
7524 {
7526 }
7527 }
7529 {
7530 return;
7531 }
7532 foreach (Chara item in c.pos.ListCharasInRadius(c, 5, (Chara _c) => _c.id == "fanatic" && _c.faith != Chara.faith))
7533 {
7534 c.DoHostileAction(item, immediate: true);
7535 }
7536 }
RescueState
Definition: RescueState.cs:2
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:7103
TraitShackle GetRestrainer()
Definition: Card.cs:7538
RescueState c_rescueState
Definition: Card.cs:1249
List< Chara > ListCharasInRadius(Chara cc, int dist, Func< Chara, bool > func, bool onlyVisible=true)
Definition: Point.cs:1226

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 8277 of file Card.cs.

8278 {
8279 }

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.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(), Zone.Activate(), SerializedCards.Add(), Props.Add(), Zone.AddCard(), ThingContainer.AddFactory(), AddInt(), FactionBranch.AddMemeber(), AddThing(), InvOwner.AllowHold(), DramaCustomSequence.Build(), Recipe.BuildIngredientList(), Chara.CanAcceptGift(), TraitDrink.CanBlend(), TraitBrewery.CanChildDecay(), 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_Awning(), 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(), ReligionCustom.GetOfferingMtp(), ReligionMoonShadow.GetOfferingMtp(), ReligionTrickery.GetOfferingMtp(), ReligionCustom.GetOfferingValue(), 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(), CustomCharaContent.OnCharaCreated(), TraitBrewery.OnChildDecay(), FactionBranch.OnClaimZone(), ContentCodex.OnClickAddCards(), Thing.OnCreate(), TraitRod.OnCreate(), TraitDrink.OnDrink(), TraitDrinkMilkMother.OnDrink(), QuestRandom.OnDropReward(), ShopTransaction.OnEndTransaction(), CustomCharaContent.OnGameLoad(), 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(), CustomThingContent.OnThingCreated(), TraitGainPrecious.OnUse(), TraitHat.OnUse(), TraitPotionEmpty.OnUse(), RecipeManager.OnVersionUpdate(), ZoneEventMusic.OnVisit(), ZoneEventWedding.OnVisit(), AttackProcess.PlayRangedAnime(), DramaOutcome.poppy_found(), ActEffect.Proc(), ActEffect.ProcAt(), InvOwner.Transaction.Process(), PurgeDuplicateArtifact(), CharaAbility.Refresh(), TCOrbitChara.RefreshAll(), LayerCraft.RefreshCategory(), LayerCraftFloat.RefreshDisassemble(), WindowChara.RefreshInfo(), UIRecipeInfo.RefreshList(), WindowChara.RefreshNote(), 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(), SetInt(), Chara.SetMainElement(), CardActor.SetOwner(), Biography.SetPortrait(), Player.SetPriorityAction(), HitSummary.SetRecipe(), Chara.SetSource(), Thing.SetSource(), TaskHarvest.ShouldGenerateDismantled(), TraitTrolley.ShouldPlaySound(), 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(), ConWet.OnStart(), 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(), Zone_Dungeon.PlaceRail(), EffectIRenderer.Play(), CardRenderer.PlayAnime(), PlayEffect(), 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(), ReligionManager.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_Trolley.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(), ReligionExtension.SpawnAltar(), 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(), Chara.TryDuplicate(), 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(), CustomMerchantStock.Generate(), 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(), 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 2199 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 2181 of file Card.cs.

◆ AliasMaterialOnCreate

virtual string Card.AliasMaterialOnCreate
get

Definition at line 2105 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 1824 of file Card.cs.

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

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 1356 of file Card.cs.

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

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

◆ c_altName

◆ c_altName2

string Card.c_altName2
getset

Definition at line 1644 of file Card.cs.

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

◆ c_ammo

int Card.c_ammo
getset

Definition at line 1500 of file Card.cs.

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

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

◆ c_bedType

BedType Card.c_bedType
getset

Definition at line 966 of file Card.cs.

967 {
968 get
969 {
970 return GetInt(9).ToEnum<BedType>();
971 }
972 set
973 {
974 SetInt(9, (int)value);
975 }
976 }
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 1320 of file Card.cs.

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

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

◆ c_bloodData

Thing Card.c_bloodData
getset

Definition at line 1968 of file Card.cs.

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

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

◆ c_bossType

BossType Card.c_bossType
getset

Definition at line 1260 of file Card.cs.

1261 {
1262 get
1263 {
1264 return GetInt(65).ToEnum<BossType>();
1265 }
1266 set
1267 {
1268 SetInt(65, (int)value);
1269 }
1270 }

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

◆ c_charaList

CharaList Card.c_charaList
getset

Definition at line 1944 of file Card.cs.

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

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 1584 of file Card.cs.

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

◆ c_containerSize

int Card.c_containerSize
getset

Definition at line 1404 of file Card.cs.

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

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

◆ c_containerUpgrade

ContainerUpgrade Card.c_containerUpgrade
getset

Definition at line 1920 of file Card.cs.

1921 {
1922 get
1923 {
1924 return GetObj<ContainerUpgrade>(12) ?? (c_containerUpgrade = new ContainerUpgrade());
1925 }
1926 set
1927 {
1928 SetObj(12, value);
1929 }
1930 }
ContainerUpgrade c_containerUpgrade
Definition: Card.cs:1921

Referenced by TraitWrench.Upgrade().

◆ c_context

string Card.c_context
getset

Definition at line 1716 of file Card.cs.

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

Referenced by TraitDaggerGrave.OnUse().

◆ c_copyContainer

Thing Card.c_copyContainer
getset

Definition at line 1848 of file Card.cs.

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

Referenced by Trait.OnBarter().

◆ c_corruptionHistory

List<int> Card.c_corruptionHistory
getset

Definition at line 1908 of file Card.cs.

1909 {
1910 get
1911 {
1912 return GetObj<List<int>>(16);
1913 }
1914 set
1915 {
1916 SetObj(16, value);
1917 }
1918 }

◆ c_dateCooked

int Card.c_dateCooked
getset

Definition at line 1380 of file Card.cs.

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

◆ c_dateDeathLock

int Card.c_dateDeathLock
getset

Definition at line 1284 of file Card.cs.

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

◆ c_dateStockExpire

int Card.c_dateStockExpire
getset

Definition at line 1272 of file Card.cs.

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

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

◆ c_daysWithGod

int Card.c_daysWithGod
getset

Definition at line 1512 of file Card.cs.

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

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

◆ c_daysWithPC

int Card.c_daysWithPC
getset

Definition at line 1524 of file Card.cs.

1525 {
1526 get
1527 {
1528 return GetInt(67);
1529 }
1530 set
1531 {
1532 SetInt(67, value);
1533 }
1534 }

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

◆ c_diceDim

int Card.c_diceDim
getset

Definition at line 1428 of file Card.cs.

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

Referenced by AttackProcess.Prepare().

◆ c_DNA

DNA Card.c_DNA
getset

◆ c_dyeMat

int Card.c_dyeMat
getset

Definition at line 1224 of file Card.cs.

1225 {
1226 get
1227 {
1228 return GetInt(3);
1229 }
1230 set
1231 {
1232 SetInt(3, value);
1233 }
1234 }

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

◆ c_editorTags

string Card.c_editorTags
getset

Definition at line 1740 of file Card.cs.

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

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 1752 of file Card.cs.

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

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

◆ c_equippedSlot

int Card.c_equippedSlot
getset

Definition at line 978 of file Card.cs.

979 {
980 get
981 {
982 return GetInt(6);
983 }
984 set
985 {
986 SetInt(6, value);
987 }
988 }

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

◆ c_extraNameRef

string Card.c_extraNameRef
getset

Definition at line 1656 of file Card.cs.

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

Referenced by MakeRefFrom().

◆ c_fixedValue

int Card.c_fixedValue
getset

Definition at line 1199 of file Card.cs.

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

◆ c_fur

int Card.c_fur
getset

Definition at line 1368 of file Card.cs.

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

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 1896 of file Card.cs.

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

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 1704 of file Card.cs.

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

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

◆ c_idBacker

int Card.c_idBacker
getset

Definition at line 1476 of file Card.cs.

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

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 1728 of file Card.cs.

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

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

◆ c_idJob

string Card.c_idJob
getset

Definition at line 1560 of file Card.cs.

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

◆ c_idMainElement

int Card.c_idMainElement
getset

Definition at line 1452 of file Card.cs.

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

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

◆ c_idPortrait

string Card.c_idPortrait
getset

Definition at line 1536 of file Card.cs.

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

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

◆ c_idRace

string Card.c_idRace
getset

Definition at line 1548 of file Card.cs.

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

◆ c_idRefCard

◆ c_idRefCard2

string Card.c_idRefCard2
getset

Definition at line 1788 of file Card.cs.

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

Referenced by Thing.CanStackTo().

◆ c_idRefName

string Card.c_idRefName
getset

Definition at line 1680 of file Card.cs.

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

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 1692 of file Card.cs.

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

Referenced by ActPlan._Update().

◆ c_idSpriteReplacer

string Card.c_idSpriteReplacer
getset

Definition at line 1596 of file Card.cs.

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

Referenced by CharaRenderer.SetOwner().

◆ c_idTalk

string Card.c_idTalk
getset

Definition at line 1608 of file Card.cs.

1609 {
1610 get
1611 {
1612 return GetStr(21);
1613 }
1614 set
1615 {
1616 SetStr(21, value);
1617 }
1618 }

Referenced by Person.GetDramaTitle().

◆ c_idTone

string Card.c_idTone
getset

Definition at line 1572 of file Card.cs.

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

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

◆ c_idTrait

string Card.c_idTrait
getset

Definition at line 1764 of file Card.cs.

1765 {
1766 get
1767 {
1768 return GetStr(29);
1769 }
1770 set
1771 {
1772 SetStr(29, value);
1773 }
1774 }

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

◆ c_IDTState

int Card.c_IDTState
getset

Definition at line 1296 of file Card.cs.

1297 {
1298 get
1299 {
1300 return GetInt(2);
1301 }
1302 set
1303 {
1304 SetInt(2, value);
1305 }
1306 }

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

◆ c_indexContainerIcon

int Card.c_indexContainerIcon
getset

Definition at line 1440 of file Card.cs.

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

Referenced by ButtonGrid.SetCard().

◆ c_invest

int Card.c_invest
getset

Definition at line 1332 of file Card.cs.

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

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

◆ c_isDisableStockUse

bool Card.c_isDisableStockUse
getset

Definition at line 1110 of file Card.cs.

1111 {
1112 get
1113 {
1114 return GetInt(122) != 0;
1115 }
1116 set
1117 {
1118 SetInt(122, value ? 1 : 0);
1119 }
1120 }

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

◆ c_isImportant

◆ c_isPrayed

bool Card.c_isPrayed
getset

Definition at line 1098 of file Card.cs.

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

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

◆ c_isTrained

bool Card.c_isTrained
getset

Definition at line 1086 of file Card.cs.

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

◆ c_lightColor

int Card.c_lightColor
getset

Definition at line 1122 of file Card.cs.

1123 {
1124 get
1125 {
1126 return GetInt(5);
1127 }
1128 set
1129 {
1130 Mod();
1131 SetInt(5, value);
1132 }
1133 }
void Mod()
Definition: Card.cs:2628

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

◆ c_lockedAge

int Card.c_lockedAge
getset

Definition at line 1392 of file Card.cs.

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

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

◆ c_lockedHard

bool Card.c_lockedHard
getset

Definition at line 1062 of file Card.cs.

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

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

◆ c_lockLv

◆ c_love

LoveData Card.c_love
getset

Definition at line 1884 of file Card.cs.

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

Referenced by GameDate.AdvanceDay().

◆ c_minionType

MinionType Card.c_minionType
getset

Definition at line 1014 of file Card.cs.

1015 {
1016 get
1017 {
1018 return GetInt(61).ToEnum<MinionType>();
1019 }
1020 set
1021 {
1022 SetInt(61, (int)value);
1023 }
1024 }
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 1956 of file Card.cs.

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

Referenced by CraftUtil.WrapIngredient().

◆ c_note

string Card.c_note
getset

Definition at line 1800 of file Card.cs.

1801 {
1802 get
1803 {
1804 return GetStr(51);
1805 }
1806 set
1807 {
1808 SetStr(51, value);
1809 }
1810 }

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

◆ c_originalHostility

Hostility Card.c_originalHostility
getset

Definition at line 1002 of file Card.cs.

1003 {
1004 get
1005 {
1006 return GetInt(12).ToEnum<Hostility>();
1007 }
1008 set
1009 {
1010 SetInt(12, (int)value);
1011 }
1012 }

Referenced by Chara.CreateReplacement().

◆ c_priceAdd

int Card.c_priceAdd
getset

Definition at line 1175 of file Card.cs.

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

Referenced by Thing.CanStackTo().

◆ c_priceCopy

int Card.c_priceCopy
getset

Definition at line 1187 of file Card.cs.

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

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

◆ c_priceFix

int Card.c_priceFix
getset

Definition at line 1163 of file Card.cs.

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

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

◆ c_refText

string Card.c_refText
getset

Definition at line 1668 of file Card.cs.

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

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

◆ c_rescueState

RescueState Card.c_rescueState
getset

Definition at line 1248 of file Card.cs.

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

◆ c_revealLock

bool Card.c_revealLock
getset

Definition at line 1074 of file Card.cs.

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

Referenced by Trait.OnBarter().

◆ c_seed

int Card.c_seed
getset

Definition at line 1344 of file Card.cs.

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

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

◆ c_summonDuration

int Card.c_summonDuration
getset

Definition at line 1464 of file Card.cs.

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

◆ c_textureData

byte [] Card.c_textureData
getset

Definition at line 1980 of file Card.cs.

1981 {
1982 get
1983 {
1984 return GetObj<byte[]>(4);
1985 }
1986 set
1987 {
1988 SetObj(4, value);
1989 }
1990 }

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

◆ c_uidAttune

int Card.c_uidAttune
getset

Definition at line 1211 of file Card.cs.

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

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 1488 of file Card.cs.

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

Referenced by Zone.Activate(), 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 1150 of file Card.cs.

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

Referenced by TraitShackle.IsRestraining().

◆ c_uidZone

int Card.c_uidZone
getset

Definition at line 1137 of file Card.cs.

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

◆ c_uniqueData

UniqueData Card.c_uniqueData
getset

Definition at line 1812 of file Card.cs.

1813 {
1814 get
1815 {
1816 return GetObj<UniqueData>(6);
1817 }
1818 set
1819 {
1820 SetObj(6, value);
1821 }
1822 }

◆ c_upgrades

CharaUpgrade Card.c_upgrades
getset

Definition at line 1872 of file Card.cs.

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

Referenced by WindowCharaMini.Refresh().

◆ c_vomit

int Card.c_vomit
getset

Definition at line 1026 of file Card.cs.

1027 {
1028 get
1029 {
1030 return GetInt(13);
1031 }
1032 set
1033 {
1034 SetInt(13, value);
1035 }
1036 }

◆ c_wasInPcParty

bool Card.c_wasInPcParty
getset

Definition at line 1038 of file Card.cs.

1039 {
1040 get
1041 {
1042 return GetInt(103) != 0;
1043 }
1044 set
1045 {
1046 SetInt(103, value ? 1 : 0);
1047 }
1048 }

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

◆ c_weight

int Card.c_weight
getset

Definition at line 1416 of file Card.cs.

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

Referenced by ChangeWeight().

◆ c_windowSaveData

Window.SaveData Card.c_windowSaveData
getset

Definition at line 1860 of file Card.cs.

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

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

◆ CanInspect

bool Card.CanInspect
get

Implements IInspect.

Definition at line 2523 of file Card.cs.

2524 {
2525 get
2526 {
2527 if (!isDestroyed)
2528 {
2529 return ExistsOnMap;
2530 }
2531 return false;
2532 }
2533 }

◆ category

SourceCategory.Row Card.category
get

Definition at line 2101 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 2121 of file Card.cs.

2122 {
2123 get
2124 {
2125 if (!isChara)
2126 {
2127 return null;
2128 }
2129 return (Chara)this;
2130 }
2131 }

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 2095 of file Card.cs.

◆ ChildrenWeight

int Card.ChildrenWeight
get

Definition at line 2064 of file Card.cs.

2065 {
2066 get
2067 {
2068 if (dirtyWeight)
2069 {
2070 _childrenWeight = 0;
2071 if (!(trait is TraitMagicChest))
2072 {
2073 foreach (Thing thing in things)
2074 {
2076 }
2077 dirtyWeight = false;
2078 (parent as Card)?.SetDirtyWeight();
2079 if (isChara && IsPCFaction)
2080 {
2081 Chara.CalcBurden();
2082 }
2083 if (_childrenWeight < 0 || _childrenWeight > 10000000)
2084 {
2085 _childrenWeight = 10000000;
2086 }
2087 }
2088 }
2089 return _childrenWeight * Mathf.Max(100 - Evalue(404), 0) / 100;
2090 }
2091 }
int _childrenWeight
Definition: Card.cs:90
void CalcBurden()
Definition: Chara.cs:1913

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 2062 of file Card.cs.

Referenced by Create().

◆ DefaultMaterial

virtual SourceMaterial.Row Card.DefaultMaterial
get

Definition at line 2475 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 2385 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ DV

virtual int Card.DV
get

Definition at line 2379 of file Card.cs.

Referenced by Thing.GetName().

◆ DyeMat

◆ encLV

◆ END

int Card.END
get

Definition at line 2391 of file Card.cs.

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

◆ ExistsOnMap

bool Card.ExistsOnMap
get

Definition at line 2137 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 2351 of file Card.cs.

2352 {
2353 get
2354 {
2355 if (!IsPC)
2356 {
2357 return LV;
2358 }
2359 return Mathf.Min(EClass.player.fame / 100 + 1, 21474836);
2360 }
2361 }

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 2167 of file Card.cs.

2168 {
2169 get
2170 {
2171 if (Tiles.Length == 1)
2172 {
2173 return dir % 2 == 1;
2174 }
2175 return false;
2176 }
2177 }
virtual int[] Tiles
Definition: Card.cs:2363

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 2419 of file Card.cs.

2420 {
2421 get
2422 {
2423 if (dir % 2 != 0)
2424 {
2425 return sourceCard.W;
2426 }
2427 return sourceCard.H;
2428 }
2429 }

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

◆ HasContainerSize

bool Card.HasContainerSize
get

Definition at line 2461 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 2383 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ HostRenderer

CardRenderer Card.HostRenderer
get

Definition at line 2495 of file Card.cs.

2496 {
2497 get
2498 {
2499 if (!isChara || Chara.host == null)
2500 {
2501 return renderer;
2502 }
2503 return Chara.host.renderer;
2504 }
2505 }

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 2535 of file Card.cs.

◆ InspectPoint

Point Card.InspectPoint
get

Implements IInspect.

Definition at line 2537 of file Card.cs.

◆ InspectPosition

Vector3 Card.InspectPosition
get

Implements IInspect.

Definition at line 2539 of file Card.cs.

◆ INT

int Card.INT
get

Definition at line 2403 of file Card.cs.

◆ invX

int Card.invX
getset

Definition at line 1994 of file Card.cs.

1995 {
1996 get
1997 {
1998 return pos.x;
1999 }
2000 set
2001 {
2002 pos.x = value;
2003 }
2004 }

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 952 of file Card.cs.

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

◆ IsBlessed

bool Card.IsBlessed
get

Definition at line 2307 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 2135 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(), 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 2309 of file Card.cs.

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

◆ IsDeadOrSleeping

virtual bool Card.IsDeadOrSleeping
get

Definition at line 2161 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 2163 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(), TraitSeed.TrySprout(), 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 2271 of file Card.cs.

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

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

◆ IsEquipmentOrRangedOrAmmo

bool Card.IsEquipmentOrRangedOrAmmo
get

Definition at line 2283 of file Card.cs.

2284 {
2285 get
2286 {
2287 if (category.slot == 0 && !IsRangedWeapon)
2288 {
2289 return IsAmmo;
2290 }
2291 return true;
2292 }
2293 }

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 2345 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 2337 of file Card.cs.

◆ isHatchling

bool Card.isHatchling
getset

Definition at line 940 of file Card.cs.

941 {
942 get
943 {
944 return _bits2[11];
945 }
946 set
947 {
948 _bits2[11] = value;
949 }
950 }

Referenced by ActEffect.Proc().

◆ isHidden

◆ IsHotItem

◆ IsIdentified

◆ IsImportant

bool Card.IsImportant
get

Definition at line 2157 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 2231 of file Card.cs.

2232 {
2233 get
2234 {
2235 if (!IsFood && !category.IsChildOf("seed") && !category.IsChildOf("drink") && !(id == "pasture"))
2236 {
2237 return id == "grass";
2238 }
2239 return true;
2240 }
2241 }

◆ IsInstalled

bool Card.IsInstalled
get

Definition at line 2435 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 2225 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 2437 of file Card.cs.

2438 {
2439 get
2440 {
2441 if (bio != null)
2442 {
2443 return bio.gender == 2;
2444 }
2445 return false;
2446 }
2447 }

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

◆ isMasked

◆ IsMeleeWeapon

bool Card.IsMeleeWeapon
get

◆ IsMinion

virtual bool Card.IsMinion
get

Definition at line 2205 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 2165 of file Card.cs.

◆ IsMultisize

virtual bool Card.IsMultisize
get

Definition at line 2211 of file Card.cs.

2212 {
2213 get
2214 {
2216 {
2217 return IsInstalled;
2218 }
2219 return false;
2220 }
2221 }
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 2449 of file Card.cs.

2450 {
2451 get
2452 {
2453 if (!HasTag(CTAG.neg))
2454 {
2455 return blessedState <= BlessedState.Cursed;
2456 }
2457 return true;
2458 }
2459 }

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 2201 of file Card.cs.

Referenced by CardRenderer.GetPref().

◆ IsPCFaction

◆ IsPCFactionMinion

virtual bool Card.IsPCFactionMinion
get

Definition at line 2209 of file Card.cs.

Referenced by Chara.GoHostile().

◆ IsPCFactionOrMinion

◆ IsPCParty

◆ IsPCPartyMinion

virtual bool Card.IsPCPartyMinion
get

Definition at line 2207 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 2145 of file Card.cs.

2146 {
2147 get
2148 {
2149 if (rarity >= Rarity.Legendary || trait is TraitAdventurer)
2150 {
2151 return !IsPCFactionOrMinion;
2152 }
2153 return false;
2154 }
2155 }

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 2311 of file Card.cs.

2312 {
2313 get
2314 {
2315 if (isRestrained)
2316 {
2317 return IsPCFaction;
2318 }
2319 return false;
2320 }
2321 }

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 2343 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.Activate(), and 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 2223 of file Card.cs.

Referenced by ActEffect.Proc().

◆ IsUnique

◆ IsVariation

bool Card.IsVariation
get

Definition at line 2377 of file Card.cs.

◆ IsWeapon

bool Card.IsWeapon
get

Definition at line 2259 of file Card.cs.

2260 {
2261 get
2262 {
2263 if (!IsMeleeWeapon)
2264 {
2265 return IsRangedWeapon;
2266 }
2267 return true;
2268 }
2269 }
bool IsMeleeWeapon
Definition: Card.cs:2295

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 2395 of file Card.cs.

Referenced by CraftUtil.MakeBloodMeal().

◆ LightColor

Color Card.LightColor
get

Definition at line 1135 of file Card.cs.

Referenced by ActPlan._Update().

◆ LightData

LightData Card.LightData
get

Definition at line 2483 of file Card.cs.

2484 {
2485 get
2486 {
2487 if (_LightData == null)
2488 {
2489 return _LightData = ((!sourceCard.lightData.IsEmpty()) ? EClass.Colors.lightColors[sourceCard.lightData] : null);
2490 }
2491 return _LightData;
2492 }
2493 }
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 2405 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(), ReligionCustom.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.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 2399 of file Card.cs.

◆ material

◆ MaxDecay

virtual int Card.MaxDecay
get

Definition at line 2339 of file Card.cs.

◆ MaxHP

virtual int Card.MaxHP
get

Definition at line 2347 of file Card.cs.

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

◆ Name

string Card.Name
get

Definition at line 2191 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(), Zone.Simulate(), 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 2195 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(), ReligionCustom.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 2393 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 2349 of file Card.cs.

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

◆ Pref

◆ PrefIndex

virtual int Card.PrefIndex
get

Definition at line 2365 of file Card.cs.

2366 {
2367 get
2368 {
2369 if (Tiles.Length < 3)
2370 {
2371 return dir % 2;
2372 }
2373 return dir;
2374 }
2375 }

Referenced by CardRenderer.Draw().

◆ PV

virtual int Card.PV
get

Definition at line 2381 of file Card.cs.

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

◆ Quality

int Card.Quality
get

Definition at line 2479 of file Card.cs.

Referenced by GetTotalQuality().

◆ QualityLv

int Card.QualityLv
get

Definition at line 2481 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 2018 of file Card.cs.

2019 {
2020 get
2021 {
2022 object obj;
2023 if (!c_idRefCard.IsEmpty())
2024 {
2025 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard);
2026 if (obj == null)
2027 {
2028 return EClass.sources.cards.map["ash3"];
2029 }
2030 }
2031 else
2032 {
2033 obj = null;
2034 }
2035 return (CardRow)obj;
2036 }
2037 }

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

◆ refCard2

CardRow Card.refCard2
get

Definition at line 2039 of file Card.cs.

2040 {
2041 get
2042 {
2043 object obj;
2044 if (!c_idRefCard2.IsEmpty())
2045 {
2046 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard2);
2047 if (obj == null)
2048 {
2049 return EClass.sources.cards.map["ash3"];
2050 }
2051 }
2052 else
2053 {
2054 obj = null;
2055 }
2056 return (CardRow)obj;
2057 }
2058 }

◆ refVal

◆ SelfWeight

virtual int Card.SelfWeight
get

Definition at line 2097 of file Card.cs.

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

◆ ShouldShowMsg

bool Card.ShouldShowMsg
get

Definition at line 2507 of file Card.cs.

2508 {
2509 get
2510 {
2511 if (IsPC || parent == EClass.pc || isSynced)
2512 {
2513 if (isChara)
2514 {
2515 return !Chara.isDead;
2516 }
2517 return true;
2518 }
2519 return false;
2520 }
2521 }
bool isDead
Definition: Chara.cs:393

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

◆ ShowFoodEnc

bool Card.ShowFoodEnc
get

Definition at line 2243 of file Card.cs.

2244 {
2245 get
2246 {
2248 {
2249 if (Evalue(10) > 0)
2250 {
2252 }
2253 return false;
2254 }
2255 return true;
2256 }
2257 }
bool IsInheritFoodTraits
Definition: Card.cs:2232

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

◆ socketList

List<SocketData> Card.socketList
getset

Definition at line 1836 of file Card.cs.

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

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

◆ sourceBacker

SourceBacker.Row Card.sourceBacker
get

Definition at line 954 of file Card.cs.

955 {
956 get
957 {
958 if (!isBackerContent)
959 {
960 return null;
961 }
962 return EClass.sources.backers.map.TryGetValue(c_idBacker);
963 }
964 }

◆ sourceCard

◆ sourceRenderCard

virtual CardRow Card.sourceRenderCard
get

◆ STR

int Card.STR
get

Definition at line 2387 of file Card.cs.

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

◆ TextRarity

string Card.TextRarity
get

Definition at line 2433 of file Card.cs.

◆ Thing

virtual Thing Card.Thing
get

Definition at line 2109 of file Card.cs.

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

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 2187 of file Card.cs.

Referenced by Chara._Move().

◆ Tiles

virtual int [] Card.Tiles
get

Definition at line 2363 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(), Zone.Activate(), 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 1236 of file Card.cs.

1237 {
1238 get
1239 {
1240 return GetInt(4).ToEnum<VisitorState>();
1241 }
1242 set
1243 {
1244 SetInt(4, (int)value);
1245 }
1246 }
VisitorState
Definition: VisitorState.cs:2

◆ W

int Card.W
get

Definition at line 2407 of file Card.cs.

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

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

◆ WeightLimit

virtual int Card.WeightLimit
get

Definition at line 2099 of file Card.cs.

Referenced by UICurrency.Build().

◆ WIL

int Card.WIL
get

Definition at line 2397 of file Card.cs.

Referenced by AttackProcess.Prepare().


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