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

Public Types

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

Public Member Functions

override string ToString ()
 
bool CanReserve (AIAct act)
 
bool TryReserve (AIAct act)
 
void Mod ()
 
Window.SaveData GetWindowSaveData ()
 
bool IsExcludeFromCraft (Recipe.Ingredient ing)
 
void SetDirtyWeight ()
 
void ChangeWeight (int a)
 
int Evalue (int ele)
 
int Evalue (int ele, bool ignoreGlobalElement)
 
int EvalueMax (int ele, int min=0)
 
int Evalue (string alias)
 
bool HasTag (CTAG tag)
 
bool HasEditorTag (EditorTag tag)
 
void AddEditorTag (EditorTag tag)
 
void RemoveEditorTag (EditorTag tag)
 
virtual string GetName (NameStyle style, int num=-1)
 
virtual string GetExtraName ()
 
virtual string GetDetail ()
 
int GetBestAttribute ()
 
void ModExp (string alias, int a)
 
void ModExp (int ele, int a)
 
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)
 
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)
 
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)
 
void RefreshColor ()
 
ref Color GetRandomColor ()
 
virtual Sprite GetSprite (int dir=0)
 
virtual Sprite GetImageSprite ()
 
void SetImage (Image image, int dir, int idSkin=0)
 
virtual void SetImage (Image image)
 
void ShowEmo (Emo _emo=Emo.none, float duration=0f, bool skipSame=true)
 
void PlaySoundHold (bool spatial=true)
 
void PlaySoundDrop (bool spatial=true)
 
void PlaySoundImpact (bool spatial=true)
 
void PlaySoundDead (bool spatial=true)
 
SoundSource PlaySound (string id, float v=1f, bool spatial=true)
 
void KillAnime ()
 
void PlayAnime (AnimeID id, bool force=false)
 
void PlayAnime (AnimeID id, Point dest, bool force=false)
 
void PlayAnimeLoot ()
 
Effect PlayEffect (string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
 
void PlayEffect (int ele, bool useRenderPos=true, float range=0f)
 
virtual void SetDir (int d)
 
void SetRandomDir ()
 
virtual void LookAt (Card c)
 
virtual void LookAt (Point p)
 
virtual void Rotate (bool reverse=false)
 
void ChangeAltitude (int a)
 
virtual SubPassData GetSubPassData ()
 
void SetFreePos (Point point)
 
void RenderMarker (Point point, bool active, HitResult result, bool main, int dir, bool useCurrentPosition=false)
 
void RecalculateFOV ()
 
bool HasLight ()
 
float GetLightPower ()
 
int GetHearingRadius ()
 
int GetSightRadius ()
 
int GetLightRadius ()
 
void CalculateFOV ()
 
void SetRandomLightColors ()
 
Fov CreateFov ()
 
void ClearFOV ()
 
virtual void OnSimulateHour (VirtualDate date)
 
void DecayNatural (int hour=1)
 
void CheckJustCooked ()
 
void Decay (int a=10)
 
bool HasTalk (string idTopic)
 
void Talk (string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
 
void TalkRaw (string text, string ref1=null, string ref2=null, bool forceSync=false)
 
string StripTalkSpeiclaCharacters (string text)
 
string ApplyNewLine (string text)
 
void SayRaw (string text, string ref1=null, string ref2=null)
 
void SayNothingHappans ()
 
void Say (string lang, string ref1=null, string ref2=null)
 
void Say (string lang, Card c1, Card c2, string ref1=null, string ref2=null)
 
void Say (string lang, Card c1, string ref1=null, string ref2=null)
 
string GetTalkText (string idTopic, bool stripPun=false, bool useDefault=true)
 
string ApplyTone (string text, bool stripPun=false)
 
void SetRandomTalk ()
 
void SetRandomTone ()
 
bool HasCraftBonusTrait ()
 
List< ElementListCraftBonusTraits ()
 
void TryStack (Thing t)
 
void ApplyBacker (int bid)
 
void RemoveBacker ()
 
void SetPaintData ()
 
byte[] GetPaintData ()
 
void ClearPaintSprite ()
 
Sprite GetPaintSprite ()
 
void TryUnrestrain (bool force=false, Chara c=null)
 
TraitShackle GetRestrainer ()
 
virtual void Tick ()
 
Thing SetPriceFix (int a)
 
int GetEquipValue ()
 
void SetSale (bool sale)
 
int GetValue (PriceType priceType=PriceType.Default, bool sell=false)
 
virtual int GetPrice (CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
 
virtual string GetHoverText ()
 
virtual string GetHoverText2 ()
 
int Dist (Card c)
 
int Dist (Point p)
 
bool IsInMutterDistance (int d=10)
 
void SetCensored (bool enable)
 
void SetDeconstruct (bool deconstruct)
 
virtual bool MatchEncSearch (string s)
 
virtual void SetSortVal (UIList.SortMode m, CurrencyType currency=CurrencyType.Money)
 
virtual int SecondaryCompare (UIList.SortMode m, Card c)
 
void ForeachFOV (Func< Point, bool > func)
 
void ForeachPoint (Action< Point, bool > action)
 
void OnInspect ()
 
virtual void WriteNote (UINote n, Action< UINote > onWriteNote=null, IInspect.NoteMode mode=IInspect.NoteMode.Default, Recipe recipe=null)
 
void Inspect ()
 
virtual bool HasCondition< T > ()
 
virtual T GetCondition< T > ()
 
bool HaveFur ()
 
bool CanBeSheared ()
 
- Public Member Functions inherited from BaseCard
bool GetBool (int id)
 
void SetBool (int id, bool enable)
 
int GetInt (int id, int? defaultInt=null)
 
void AddInt (int id, int value)
 
void SetInt (int id, int value=0)
 
string GetStr (int id, string defaultStr=null)
 
void SetStr (int id, string value=null)
 
GetObj< T > (int id)
 
void SetObj (int id, object o)
 
SetObj< T > (int id, object o)
 
ICardParent GetRoot ()
 
void RemoveCard (Card c)
 
void OnChildNumChange (Card c)
 
string ReferenceId ()
 
void WriteNote (UINote n, Action< UINote > onWriteNote=null, NoteMode mode=NoteMode.Default, Recipe recipe=null)
 
void OnInspect ()
 

Static Public Member Functions

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

Public Attributes

int[] _ints = new int[30]
 
string id = ""
 
ThingContainer things = new ThingContainer()
 
ElementContainerCard elements = new ElementContainerCard()
 
Biography bio
 
List< int > sockets
 
AIAct reservedAct
 
Props props
 
Trait trait
 
ICardParent parent
 
Fov fov
 
Point pos = new Point()
 
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 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 6143 of file Card.cs.

6144 {
6145 renderer = new CardRenderer();
6146 renderer.SetOwner(this);
6147 return renderer;
6148 }
virtual void SetOwner(Card c)
Definition: CardRenderer.cs:38
CardRenderer renderer
Definition: Card.cs:62

References CardRenderer.SetOwner().

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

5894 {
5895 EClass._map.MoveCard(p, this);
5896 if (isChara)
5897 {
5898 Chara.SyncRide();
5899 }
5900 return MoveResult.Success;
5901 }
MoveResult
Definition: Card.cs:13
virtual bool isChara
Definition: Card.cs:2109
Definition: Chara.cs:10
void SyncRide()
Definition: Chara.cs:3980
Definition: EClass.cs:6
static Map _map
Definition: EClass.cs:19
void MoveCard(Point p, Card t)
Definition: Map.cs:841

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

2720 {
2721 if (version < 2 && sockets != null)
2722 {
2723 for (int i = 0; i < sockets.Count; i++)
2724 {
2725 sockets[i] = sockets[i] / 100 * 1000 + sockets[i] % 100;
2726 }
2727 }
2728 _bits1.SetInt(_ints[0]);
2729 _bits2.SetInt(_ints[2]);
2731 pos.Set(_x, _z);
2732 SetSource();
2733 things.SetOwner(this);
2734 elements.SetOwner(this, applyFeat: false);
2736 ApplyTrait();
2737 ApplyMaterialElements(remove: false);
2739 foreach (Thing thing in things)
2740 {
2741 thing.parent = this;
2742 }
2743 if (isThing && Num <= 0)
2744 {
2745 isDestroyed = true;
2746 }
2747 if (version >= 5)
2748 {
2749 return;
2750 }
2751 if (version < 3 && isChara && HasElement(1210))
2752 {
2753 elements.ModBase(960, -5 * Evalue(1210));
2754 }
2755 if (version < 4 && isChara && HasElement(1210))
2756 {
2757 elements.ModBase(423, Evalue(1210));
2758 }
2759 if (version < 5)
2760 {
2761 if (isChara && Chara.race.id == "horse" && Chara.body.GetSlot(30, onlyEmpty: false) == null)
2762 {
2765 }
2766 if (isChara && Chara.race.id == "bike" && id != "bike_cub")
2767 {
2768 Rand.SetSeed(uid);
2770 Chara.SetFeat(1423, 1 + EClass.rnd(10));
2771 Rand.SetSeed();
2772 }
2773 }
2774 version = 5;
2775 }
bool isDestroyed
Definition: Card.cs:76
BitArray32 _bits1
Definition: Card.cs:80
virtual bool isThing
Definition: Card.cs:2107
int version
Definition: Card.cs:423
virtual void ApplyMaterialElements(bool remove)
Definition: Card.cs:3080
ElementContainerCard elements
Definition: Card.cs:42
virtual void SetSource()
Definition: Card.cs:2899
BitArray32 _bits2
Definition: Card.cs:82
virtual CardRenderer _CreateRenderer()
Definition: Card.cs:6143
PlaceState placeState
Definition: Card.cs:84
Point pos
Definition: Card.cs:60
virtual void OnDeserialized()
Definition: Card.cs:2777
int[] _ints
Definition: Card.cs:33
int uid
Definition: Card.cs:123
void ApplyTrait()
Definition: Card.cs:2928
ThingContainer things
Definition: Card.cs:39
int Evalue(int ele)
Definition: Card.cs:2599
int _z
Definition: Card.cs:183
PlaceState _placeState
Definition: Card.cs:291
int Num
Definition: Card.cs:159
int _x
Definition: Card.cs:171
List< int > sockets
Definition: Card.cs:48
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6090
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:10021
SourceRace.Row race
Definition: Chara.cs:466
static int rnd(long a)
Definition: EClass.cs:59
void SetOwner(Card c, bool applyFeat)
Element ModBase(int ele, int v)
Point Set(int _x, int _z)
Definition: Point.cs:503
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:37
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, 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 2704 of file Card.cs.

2705 {
2706 _x = pos.x;
2707 _z = pos.z;
2708 _ints[0] = _bits1.ToInt();
2709 _ints[2] = _bits2.ToInt();
2711 OnSerializing();
2712 }
virtual void OnSerializing()
Definition: Card.cs:2714
int x
Definition: Point.cs:36
int z
Definition: Point.cs:39
int ToInt()
Definition: BitArray32.cs:84

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

◆ Add()

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

Definition at line 3129 of file Card.cs.

3130 {
3131 if (num == 0)
3132 {
3133 num = 1;
3134 }
3135 return AddCard(ThingGen.Create(id, -1, lv).SetNum(num)) as Thing;
3136 }
Card AddCard(Card c)
Definition: Card.cs:3138
Thing SetNum(int a)
Definition: Card.cs:3549
virtual Thing Thing
Definition: Card.cs:2084
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53

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

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

◆ AddBlood()

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

Definition at line 6150 of file Card.cs.

6151 {
6152 if (!EClass._zone.IsRegion)
6153 {
6154 for (int i = 0; i < a; i++)
6155 {
6156 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);
6157 }
6158 PlaySound("blood");
6159 }
6160 }
SourceMaterial.Row material
Definition: Card.cs:2077
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6343
static Zone _zone
Definition: EClass.cs:21
void AddDecal(int x, int z, int id, int amount=1, bool refresh=true)
Definition: Map.cs:2029
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 2633 of file Card.cs.

2634 {
2635 c_editorTags = (c_editorTags.IsEmpty() ? tag.ToString() : (c_editorTags + "," + tag));
2636 }
string c_editorTags
Definition: Card.cs:1715

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

2996 {
2997 if (applyMod)
2998 {
2999 a = a * GetExpMtp() / 100;
3000 }
3001 exp += a;
3002 while (exp >= ExpToNext && exp > 0 && ExpToNext > 0)
3003 {
3004 exp -= ExpToNext;
3005 LevelUp();
3006 }
3007 }
int ExpToNext
Definition: Card.cs:2034
void LevelUp()
Definition: Card.cs:3041
int exp
Definition: Card.cs:399
int GetExpMtp()
Definition: Card.cs:3009

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

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

◆ AddRune() [1/2]

SocketData Card.AddRune ( Card  rune)
inline

Definition at line 3652 of file Card.cs.

3653 {
3654 return AddRune(rune.refVal, rune.encLV, rune.trait is TraitRuneFree);
3655 }
SocketData AddRune(Card rune)
Definition: Card.cs:3652
int refVal
Definition: Card.cs:207
Trait trait
Definition: Card.cs:54
int encLV
Definition: Card.cs:327

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

3658 {
3659 if (socketList == null)
3660 {
3661 socketList = new List<SocketData>();
3662 }
3663 SourceElement.Row row = EClass.sources.elements.map[idEle];
3664 SocketData socketData = new SocketData
3665 {
3666 idEle = idEle,
3667 value = v,
3668 type = SocketData.Type.Rune,
3669 isFree = free
3670 };
3671 socketList.Add(socketData);
3672 if (IsWeapon || !row.IsWeaponEnc)
3673 {
3674 elements.SetTo(idEle, v);
3675 }
3676 return socketData;
3677 }
List< SocketData > socketList
Definition: Card.cs:1811
bool IsWeapon
Definition: Card.cs:2234
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 3595 of file Card.cs.

3596 {
3597 if (sockets == null)
3598 {
3599 sockets = new List<int>();
3600 }
3601 sockets.Add(0);
3602 }

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

3158 {
3159 if (t.Num == 0 || t.isDestroyed)
3160 {
3161 Debug.LogWarning("tried to add destroyed thing:" + t.Num + "/" + t.isDestroyed + "/" + t?.ToString() + "/" + this);
3162 return t;
3163 }
3164 if (t.parent == this)
3165 {
3166 Debug.LogWarning("already child:" + t);
3167 return t;
3168 }
3169 if (things.Contains(t))
3170 {
3171 Debug.Log("already in the list" + t);
3172 return t;
3173 }
3174 _ = t.parent;
3175 _ = EClass._zone;
3176 bool flag = IsPC && t.GetRootCard() == EClass.pc;
3177 if (t.parent != null)
3178 {
3179 t.parent.RemoveCard(t);
3180 }
3181 if (t.trait.ToggleType == ToggleType.Fire && destInvY == 0)
3182 {
3183 t.trait.Toggle(on: false);
3184 }
3185 t.isMasked = false;
3186 t.ignoreAutoPick = false;
3187 t.parent = this;
3188 t.noShadow = false;
3189 t.isSale = false;
3190 if (t.IsContainer)
3191 {
3192 t.RemoveEditorTag(EditorTag.PreciousContainer);
3193 }
3194 t.invX = -1;
3195 if (destInvY == -1)
3196 {
3197 t.invY = 0;
3198 }
3199 if (t.IsUnique && t.HasTag(CTAG.godArtifact) && t.GetRootCard() is Chara { IsPCFactionOrMinion: not false })
3200 {
3202 }
3203 Thing thing = (tryStack ? things.TryStack(t, destInvX, destInvY) : t);
3204 if (t == thing)
3205 {
3206 things.Add(t);
3207 things.OnAdd(t);
3208 }
3209 if (thing == t && IsPC && EClass.core.IsGameStarted && EClass._map != null && parent == EClass.game.activeZone && pos.IsValid && !flag)
3210 {
3211 NotifyAddThing(t, t.Num);
3212 }
3213 if (t == thing && isThing && parent == EClass._zone && placeState != 0)
3214 {
3216 }
3219 {
3221 LayerInventory.SetDirty(thing);
3222 }
3223 if (IsPC)
3224 {
3225 goto IL_029f;
3226 }
3227 if (IsContainer)
3228 {
3229 Card rootCard = GetRootCard();
3230 if (rootCard != null && rootCard.IsPC)
3231 {
3232 goto IL_029f;
3233 }
3234 }
3235 goto IL_0345;
3236 IL_0345:
3237 return thing;
3238 IL_029f:
3239 t.isNPCProperty = false;
3240 t.isGifted = false;
3241 int count = 0;
3242 HashSet<string> ings = EClass.player.recipes.knownIngredients;
3243 TryAdd(t);
3244 if (t.CanSearchContents)
3245 {
3246 t.things.Foreach(delegate(Thing _t)
3247 {
3248 TryAdd(_t);
3249 });
3250 }
3251 if (count > 0 && EClass.core.IsGameStarted)
3252 {
3253 Msg.Say((count == 1) ? "newIng" : "newIngs", count.ToString() ?? "");
3254 }
3255 goto IL_0345;
3256 void TryAdd(Thing a)
3257 {
3258 if (!ings.Contains(a.id))
3259 {
3260 ings.Add(a.id);
3261 count++;
3262 if (a.sourceCard.origin != null && !ings.Contains(a.sourceCard.origin.id))
3263 {
3264 ings.Add(a.sourceCard.origin.id);
3265 }
3266 }
3267 }
3268 }
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:3270
void RemoveEditorTag(EditorTag tag)
Definition: Card.cs:2638
string id
Definition: Card.cs:36
bool IsUnique
Definition: Card.cs:2117
ICardParent parent
Definition: Card.cs:56
void NotifyAddThing(Thing t, int num)
Definition: Card.cs:3148
bool HasTag(CTAG tag)
Definition: Card.cs:2623
void SetDirtyWeight()
Definition: Card.cs:2582
bool ShouldTrySetDirtyInventory()
Definition: Card.cs:3433
virtual bool IsPC
Definition: Card.cs:2171
Card GetRootCard()
Definition: Card.cs:3480
bool IsContainer
Definition: Card.cs:2115
bool IsGameStarted
Definition: Core.cs:84
static Game game
Definition: EClass.cs:9
static Core core
Definition: EClass.cs:7
static Player player
Definition: EClass.cs:13
static Chara pc
Definition: EClass.cs:15
Zone activeZone
Definition: Game.cs:252
static void SetDirty(Thing t)
PropsStocked Stocked
Definition: Map.cs:121
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
RecipeManager recipes
Definition: Player.cs:1103
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:101
override CardRow sourceCard
Definition: Thing.cs:47
virtual void Toggle(bool on, bool silent=false)
Definition: Trait.cs:1182
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 7196 of file Card.cs.

7197 {
7198 ChangeRarity(Rarity.Normal);
7199 SourceBacker.Row row = EClass.sources.backers.map.TryGetValue(bid);
7200 if (row == null)
7201 {
7202 return;
7203 }
7204 c_idBacker = row.id;
7205 if (row.type == 4)
7206 {
7208 Chara chara = Chara;
7209 Hostility hostility2 = (Chara.c_originalHostility = Hostility.Neutral);
7210 chara.hostility = hostility2;
7211 }
7212 if (row.type == 6)
7213 {
7216 Chara.idFaith = row.deity.ToLowerInvariant();
7217 }
7218 if (row.type == 4 || row.type == 5 || row.type == 7)
7219 {
7220 idSkin = ((row.skin == 0) ? EClass.rnd(sourceCard._tiles.Length) : row.skin);
7221 if (id == "putty_snow")
7222 {
7223 idSkin = 0;
7224 }
7225 }
7226 if (bid == 164)
7227 {
7228 Chara.EQ_ID("amulet_moonnight");
7229 }
7230 }
Hostility
Definition: Hostility.cs:2
Rarity
Definition: Rarity.cs:2
void SetGender(int g)
Definition: Biography.cs:473
void SetPortrait(Chara c)
Definition: Biography.cs:482
virtual Chara Chara
Definition: Card.cs:2096
Biography bio
Definition: Card.cs:45
int c_idBacker
Definition: Card.cs:1451
int idSkin
Definition: Card.cs:363
virtual CardRow sourceCard
Definition: Card.cs:2157
virtual void ChangeRarity(Rarity q)
Definition: Card.cs:3974
Thing EQ_ID(string s, int mat=-1, Rarity r=Rarity.Random)
Definition: Chara.cs:5131
int[] _tiles
Definition: RenderRow.cs:12
SourceBacker backers

References RenderRow._tiles, SourceManager.backers, bio, 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 2903 of file Card.cs.

2904 {
2905 switch (tag)
2906 {
2907 case EditorTag.Hidden:
2908 SetHidden();
2909 break;
2910 case EditorTag.Empty:
2911 RemoveThings();
2912 break;
2913 case EditorTag.IsOn:
2914 isOn = true;
2915 break;
2916 case EditorTag.IsOff:
2917 isOn = false;
2918 break;
2919 case EditorTag.NoSnow:
2920 noSnow = true;
2921 break;
2922 case EditorTag.Boss:
2923 EClass._zone.Boss = Chara;
2924 break;
2925 }
2926 }
Card SetHidden(bool hide=true)
Definition: Card.cs:5886
bool isOn
Definition: Card.cs:543
bool noSnow
Definition: Card.cs:759
void RemoveThings()
Definition: Card.cs:3364

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

4906 {
4907 if (!isChara)
4908 {
4909 return;
4910 }
4911 bool flag = true;
4912 bool hostile = false;
4913 switch (e.id)
4914 {
4915 case 910:
4916 if (Chance(30 + eleP / 5, 100))
4917 {
4918 MarkHostile().AddCondition<ConBurning>(eleP);
4919 }
4920 break;
4921 case 911:
4922 if (Chara.isWet)
4923 {
4924 if (Chance(30 + eleP / 10, 100))
4925 {
4927 }
4928 }
4929 else if (Chance(50 + eleP / 10, 100))
4930 {
4931 Chara.AddCondition<ConWet>(eleP);
4932 }
4933 break;
4934 case 912:
4935 if (Chance(75 + eleP / 20, 100) && EClass.rnd(3) == 0)
4936 {
4937 Chara.AddCondition<ConParalyze>(1, force: true);
4938 }
4939 break;
4940 case 915:
4941 if (Chance(30 + eleP / 5, 100))
4942 {
4943 MarkHostile().AddCondition<ConPoison>(eleP);
4944 }
4945 break;
4946 case 913:
4947 if (Chance(30 + eleP / 5, 100))
4948 {
4950 }
4951 break;
4952 case 918:
4953 flag = false;
4954 if (Chance(30 + eleP / 5, 100))
4955 {
4957 }
4958 break;
4959 case 914:
4960 flag = false;
4961 if (EClass.rnd(3) != 0)
4962 {
4963 if (Chance(30 + eleP / 5, 100))
4964 {
4966 }
4967 }
4968 else if (Chance(30 + eleP / 5, 100))
4969 {
4971 }
4972 break;
4973 case 917:
4974 if (Chance(50 + eleP / 10, 100))
4975 {
4976 Chara.AddCondition<ConDim>(eleP);
4977 }
4978 break;
4979 case 925:
4980 if (EClass.rnd(3) == 0)
4981 {
4982 if (Chance(30 + eleP / 5, 100))
4983 {
4984 Chara.AddCondition<ConDim>(eleP);
4985 }
4986 }
4987 else if (EClass.rnd(2) == 0)
4988 {
4989 if (EClass.rnd(3) == 0)
4990 {
4991 Chara.AddCondition<ConParalyze>(1, force: true);
4992 }
4993 }
4994 else if (EClass.rnd(2) == 0)
4995 {
4996 Chara.AddCondition<ConConfuse>(1 + EClass.rnd(3), force: true);
4997 }
4998 break;
4999 case 920:
5000 flag = false;
5001 if (Chance(5 + eleP / 25, 40))
5002 {
5003 Chara.AddCondition<ConBlind>(eleP / 2);
5004 }
5005 if (Chance(5 + eleP / 25, 40))
5006 {
5007 Chara.AddCondition<ConParalyze>(eleP / 2);
5008 }
5009 if (Chance(5 + eleP / 25, 40))
5010 {
5011 Chara.AddCondition<ConConfuse>(eleP / 2);
5012 }
5013 if (Chance(5 + eleP / 25, 40))
5014 {
5015 MarkHostile().AddCondition<ConPoison>(eleP / 2);
5016 }
5017 if (Chance(5 + eleP / 25, 40))
5018 {
5019 Chara.AddCondition<ConSleep>(eleP / 2);
5020 }
5021 if (Chance(5 + eleP / 25, 40))
5022 {
5023 Chara.AddCondition<ConDim>(eleP / 2);
5024 }
5025 if (Chance(30 + eleP / 10, 100))
5026 {
5027 Chara.SAN.Mod(EClass.rnd(2));
5028 }
5029 break;
5030 case 924:
5031 if (Chance(50 + eleP / 10, 100))
5032 {
5033 MarkHostile().AddCondition<ConBleed>(eleP);
5034 }
5035 break;
5036 case 923:
5037 if (Chance(50 + eleP / 10, 100) && EClass.rnd(4) == 0)
5038 {
5040 }
5041 break;
5042 case 922:
5043 Chara.ModCorruption(EClass.rnd(eleP / 50 + 10));
5044 break;
5045 }
5046 if (Chara.conSleep != null && flag)
5047 {
5049 }
5050 if (checkHostileAct && hostile && origin != null && origin.isChara)
5051 {
5052 origin.Chara.DoHostileAction(this);
5053 }
5054 static bool Chance(int a, int max)
5055 {
5056 return Mathf.Min(a, max) > EClass.rnd(100);
5057 }
5058 Chara MarkHostile()
5059 {
5060 hostile = true;
5061 return Chara;
5062 }
5063 }
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:1035
bool isWet
Definition: Chara.cs:144
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:9382
ConSleep conSleep
Definition: Chara.cs:102
Stats SAN
Definition: Chara.cs:1184
void ModCorruption(int a)
Definition: Chara.cs:9963
void DoHostileAction(Card _tg, bool immediate=false)
Definition: Chara.cs:6438
Definition: ConDim.cs:2
Definition: ConWet.cs:2
void Kill(bool silent=false)
Definition: Condition.cs:91
int id
Definition: ELEMENT.cs:255
virtual void Mod(int a)
Definition: Stats.cs:135

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

Referenced by AI_PlayMusic.Run().

◆ ApplyMaterial()

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

Reimplemented in Thing.

Definition at line 3084 of file Card.cs.

3085 {
3086 _colorInt = 0;
3087 }
int _colorInt
Definition: Card.cs:68

References _colorInt.

Referenced by ChangeMaterial(), and Create().

◆ ApplyMaterialElements()

virtual void Card.ApplyMaterialElements ( bool  remove)
inlinevirtual

Reimplemented in Thing.

Definition at line 3080 of file Card.cs.

3081 {
3082 }

Referenced by _OnDeserialized(), and ModEncLv().

◆ ApplyNewLine()

string Card.ApplyNewLine ( string  text)
inline

Definition at line 6987 of file Card.cs.

6988 {
6989 if (text.Contains("&"))
6990 {
6991 string text2 = "_comma".lang();
6992 text = text.Replace(text2 + " &", Environment.NewLine ?? "");
6993 text = text.Replace(text2 + "&", Environment.NewLine ?? "");
6994 text = text.Replace("&", Environment.NewLine ?? "");
6995 }
6996 return text;
6997 }

◆ ApplyProtection()

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

Definition at line 4092 of file Card.cs.

4093 {
4094 int armorSkill = GetArmorSkill();
4095 Element orCreateElement = elements.GetOrCreateElement(armorSkill);
4096 int num = PV + orCreateElement.Value + DEX / 10;
4097 int num2 = 1;
4098 int sides = 1;
4099 int bonus = 0;
4100 if (num > 0)
4101 {
4102 int num3 = num / 4;
4103 num2 = num3 / 10 + 1;
4104 sides = num3 / num2 + 1;
4105 bonus = 0;
4106 dmg = dmg * 100 / Mathf.Max(100 + num, 1);
4107 }
4108 int num4 = Dice.Roll(num2, sides, bonus, this);
4109 dmg -= num4 * mod / 100;
4110 if (dmg < 0)
4111 {
4112 dmg = 0L;
4113 }
4114 return dmg;
4115 }
virtual int PV
Definition: Card.cs:2355
int DEX
Definition: Card.cs:2363
virtual int GetArmorSkill()
Definition: Card.cs:4087
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 3612 of file Card.cs.

3613 {
3614 for (int i = 0; i < sockets.Count; i++)
3615 {
3616 if (sockets[i] == 0)
3617 {
3618 if (lv >= 1000)
3619 {
3620 lv = 999;
3621 }
3622 sockets[i] = id * 1000 + lv;
3623 elements.ModBase(id, lv);
3624 mod?.Destroy();
3625 break;
3626 }
3627 }
3628 }
void Destroy()
Definition: Card.cs:5132

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

◆ ApplySocket() [2/2]

void Card.ApplySocket ( Thing  t)
inline

Definition at line 3604 of file Card.cs.

3605 {
3606 if (t.trait is TraitMod traitMod && sockets != null)
3607 {
3608 ApplySocket(traitMod.source.id, traitMod.owner.encLV, traitMod.owner);
3609 }
3610 }
void ApplySocket(Thing t)
Definition: Card.cs:3604

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

7073 {
7074 if (text.IsEmpty())
7075 {
7076 return text;
7077 }
7078 string[] array = _tones.IsEmpty("").Split('|');
7079 string key = array[0];
7080 string text2 = "";
7082 if (!Lang.setting.useTone || MOD.tones.list.Count == 0)
7083 {
7084 text2 = text.Replace("{", "").Replace("}", "");
7085 }
7086 else
7087 {
7088 if (array[0].IsEmpty())
7089 {
7090 key = "default";
7091 }
7092 if (MOD.tones.all.ContainsKey(key))
7093 {
7094 StringBuilder stringBuilder = MOD.tones.ApplyTone(key, ref text, gender);
7095 if (Lang.isJP && c != null)
7096 {
7097 if (array.Length >= 2)
7098 {
7099 stringBuilder.Replace("_toneI".lang(), array[1]);
7100 }
7101 if (array.Length >= 3)
7102 {
7103 stringBuilder.Replace("_toneYou".lang(), array[2]);
7104 }
7105 }
7106 text2 = stringBuilder.ToString();
7107 }
7108 else
7109 {
7110 text2 = text.Replace("{", "").Replace("}", "");
7111 }
7112 }
7113 if (c != null)
7114 {
7115 text2 = text2.Replace("#me", c.NameSimple);
7116 }
7117 if (!stripPun || !Lang.setting.stripPuns)
7118 {
7119 return text2;
7120 }
7121 return text2.StripLastPun();
7122 }
string NameSimple
Definition: Card.cs:2167
Dictionary< string, Dictionary< string, string > > all
Definition: ExcelDataList.cs:8
List< Dictionary< string, string > > list
virtual void Initialize()
bool stripPuns
Definition: LangSetting.cs:44
bool useTone
Definition: LangSetting.cs:40
Definition: Lang.cs:6
static LangSetting setting
Definition: Lang.cs:54
static bool isJP
Definition: Lang.cs:38
Definition: MOD.cs:7
static ToneDataList tones
Definition: MOD.cs:12
StringBuilder ApplyTone(string id, ref string text, int gender)
Definition: ToneDataList.cs:11

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

◆ ApplyTone() [2/2]

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

Definition at line 7066 of file Card.cs.

7067 {
7068 text = GameLang.ConvertDrama(text, Chara);
7069 return ApplyTone(Chara, ref text, c_idTone, bio?.gender ?? 0, stripPun);
7070 }
string c_idTone
Definition: Card.cs:1547
string ApplyTone(string text, bool stripPun=false)
Definition: Card.cs:7066
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 2928 of file Card.cs.

2929 {
2930 string str = c_idTrait;
2931 if (str.IsEmpty())
2932 {
2933 if (sourceCard.trait.IsEmpty())
2934 {
2935 trait = (isChara ? new TraitChara() : new Trait());
2936 }
2937 else
2938 {
2939 trait = ClassCache.Create<Trait>("Trait" + sourceCard.trait[0], "Elin");
2940 }
2941 }
2942 else
2943 {
2944 trait = ClassCache.Create<Trait>(str, "Elin");
2945 }
2946 trait.SetOwner(this);
2947 }
string[] trait
Definition: CardRow.cs:33
string c_idTrait
Definition: Card.cs:1739
Definition: Trait.cs:7
virtual void SetOwner(Card _owner)
Definition: Trait.cs:663

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

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

◆ CalculateFOV()

void Card.CalculateFOV ( )
inline

Definition at line 6676 of file Card.cs.

6677 {
6678 int radius = GetLightRadius();
6679 if (radius == 0 || !IsAliveInCurrentZone || !EClass._zone.isStarted)
6680 {
6681 return;
6682 }
6683 float power = GetLightPower();
6684 if (IsPC)
6685 {
6686 if (Chara.held != null && Chara.held.GetLightRadius() > 0)
6687 {
6688 power += Chara.held.GetLightPower();
6689 }
6690 if (radius <= 2)
6691 {
6692 power = 0f;
6693 }
6694 foreach (Condition condition in Chara.conditions)
6695 {
6696 condition.OnCalculateFov(fov, ref radius, ref power);
6697 }
6698 if (power > EClass.scene.profile.global.playerLightPowerLimit)
6699 {
6700 power = EClass.scene.profile.global.playerLightPowerLimit;
6701 }
6702 power *= EClass.scene.profile.light.playerLightMod + (float)EClass.player.customLightMod * EClass.scene.profile.light.playerLightCustomMod;
6703 radius += EvalueMax(490) + EClass._zone.SightRadiusBonus;
6704 EClass.player.lightRadius = radius;
6705 EClass.player.lightPower = power;
6706 }
6707 if (fov == null)
6708 {
6709 fov = CreateFov();
6710 }
6711 fov.Perform(pos.x, pos.z, radius, power * 2f);
6712 }
int EvalueMax(int ele, int min=0)
Definition: Card.cs:2613
float GetLightPower()
Definition: Card.cs:6578
Fov fov
Definition: Card.cs:58
Fov CreateFov()
Definition: Card.cs:6719
virtual bool IsAliveInCurrentZone
Definition: Card.cs:2153
int GetLightRadius()
Definition: Card.cs:6606
Card held
Definition: Chara.cs:70
List< Condition > conditions
Definition: Chara.cs:213
virtual void OnCalculateFov(Fov fov, ref int radius, ref float power)
Definition: Condition.cs:75
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:965
SceneGlobalProfile global
Definition: SceneProfile.cs:6
SceneLightProfile light
Definition: SceneProfile.cs:10
SceneProfile profile
Definition: Scene.cs:75
bool isStarted
Definition: Zone.cs:73
virtual int SightRadiusBonus
Definition: Zone.cs:133

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

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

◆ CanAddRune()

bool Card.CanAddRune ( TraitMod  mod)
inline

Definition at line 3715 of file Card.cs.

3716 {
3717 SourceElement.Row source = mod.source;
3718 if (category.slot == 0)
3719 {
3720 return false;
3721 }
3722 if (material.HasEnc(source.id))
3723 {
3724 return false;
3725 }
3726 if (!IsWeapon && source.IsWeaponEnc)
3727 {
3728 return false;
3729 }
3730 if (source.category == "resist")
3731 {
3732 foreach (Element item in elements.ListElements())
3733 {
3734 if (item.source.category == "resist" && (item.vBase != 0 || item.vSource != 0))
3735 {
3736 return false;
3737 }
3738 }
3739 }
3740 string encSlot = source.encSlot;
3741 if (encSlot == null || encSlot.Length != 0)
3742 {
3743 switch (encSlot)
3744 {
3745 case "shield":
3746 if (!category.IsChildOf("shield") && !category.IsChildOf("martial"))
3747 {
3748 return false;
3749 }
3750 break;
3751 default:
3752 {
3753 bool flag = false;
3754 string[] array = source.encSlot.Split(',');
3755 foreach (string key in array)
3756 {
3757 if (EClass.sources.elements.alias[key].id == category.slot)
3758 {
3759 flag = true;
3760 }
3761 }
3762 if (!flag)
3763 {
3764 return false;
3765 }
3766 break;
3767 }
3768 case "global":
3769 case "all":
3770 case "weapon":
3771 break;
3772 }
3773 }
3774 if (mod is TraitRuneFree)
3775 {
3776 return true;
3777 }
3778 return CountRune(countFree: false) < MaxRune();
3779 }
int CountRune(bool countFree=true)
Definition: Card.cs:3694
int MaxRune()
Definition: Card.cs:3710
SourceCategory.Row category
Definition: Card.cs:2075
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 8091 of file Card.cs.

8092 {
8094 {
8095 return false;
8096 }
8097 if (!HaveFur() || c_fur < 0)
8098 {
8099 return false;
8100 }
8101 return true;
8102 }
bool HaveFur()
Definition: Card.cs:8077
int c_fur
Definition: Card.cs:1343
virtual bool IsUserZone
Definition: Zone.cs:273

References EClass._zone, and Zone.IsUserZone.

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

◆ CanReserve()

bool Card.CanReserve ( AIAct  act)
inline

Definition at line 2520 of file Card.cs.

2521 {
2522 if (reservedAct != null && reservedAct != act)
2523 {
2524 return !reservedAct.IsRunning;
2525 }
2526 return true;
2527 }
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 3446 of file Card.cs.

3447 {
3448 return false;
3449 }

Referenced by TryStackTo().

◆ ChangeAltitude()

void Card.ChangeAltitude ( int  a)
inline

Definition at line 6453 of file Card.cs.

6454 {
6455 altitude += a;
6456 if (altitude < 0)
6457 {
6458 altitude = 0;
6459 }
6461 {
6463 }
6464 }
int altitude
Definition: Card.cs:231
virtual int MaxAltitude
Definition: TileType.cs:210

References TileType.MaxAltitude.

◆ ChangeMaterial() [1/3]

◆ ChangeMaterial() [2/3]

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

Definition at line 3099 of file Card.cs.

3100 {
3101 if (sourceCard.fixedMaterial && !ignoreFixedMaterial)
3102 {
3103 return this;
3104 }
3105 ApplyMaterial(remove: true);
3106 _material = row;
3107 idMaterial = row.id;
3108 decay = 0;
3109 dirtyWeight = true;
3110 Card rootCard = GetRootCard();
3111 if (rootCard != null && rootCard.IsPC)
3112 {
3114 }
3115 if (isThing)
3116 {
3118 }
3119 ApplyMaterial();
3120 return this;
3121 }
int idMaterial
Definition: Card.cs:135
bool dirtyWeight
Definition: Card.cs:86
SourceMaterial.Row _material
Definition: Card.cs:92
int decay
Definition: Card.cs:219
virtual void ApplyMaterial(bool remove=false)
Definition: Card.cs:3084
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 3094 of file Card.cs.

3095 {
3096 return ChangeMaterial(EClass.sources.materials.alias.TryGetValue(idNew, "oak"), ignoreFixedMaterial);
3097 }

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

◆ ChangeRarity()

virtual void Card.ChangeRarity ( Rarity  q)
inlinevirtual

Reimplemented in Chara.

Definition at line 3974 of file Card.cs.

3975 {
3976 rarity = q;
3977 }
Rarity rarity
Definition: Card.cs:315

References rarity.

Referenced by TaskHarvest.OnCreateProgress().

◆ ChangeWeight()

void Card.ChangeWeight ( int  a)
inline

Definition at line 2592 of file Card.cs.

2593 {
2594 c_weight = a;
2595 isWeightChanged = true;
2597 }
int c_weight
Definition: Card.cs:1391
bool isWeightChanged
Definition: Card.cs:663

References c_weight, isWeightChanged, and SetDirtyWeight().

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

◆ CheckJustCooked()

void Card.CheckJustCooked ( )
inline

Definition at line 6806 of file Card.cs.

6807 {
6808 if (HasElement(757) && c_dateCooked <= EClass.world.date.GetRaw() - 120)
6809 {
6810 c_dateCooked = 0;
6811 elements.Remove(757);
6812 }
6813 }
int c_dateCooked
Definition: Card.cs:1355
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 2987 of file Card.cs.

2988 {
2989 if (elements.Base(286) > 50)
2990 {
2991 elements.SetTo(286, 50 + (int)Mathf.Sqrt(elements.Base(286) - 50));
2992 }
2993 }

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

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

◆ ClearFOV()

void Card.ClearFOV ( )
inline

Definition at line 6766 of file Card.cs.

6767 {
6768 if (fov != null && fov.lastPoints.Count != 0)
6769 {
6770 fov.Perform(pos.x, pos.z, 0);
6771 }
6772 }
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 7273 of file Card.cs.

7274 {
7275 if ((bool)_paintSprite)
7276 {
7277 UnityEngine.Object.Destroy(_paintSprite.texture);
7278 UnityEngine.Object.Destroy(_paintSprite);
7279 _paintSprite = null;
7280 }
7281 }
Sprite _paintSprite
Definition: Card.cs:100

Referenced by LayerPixelPaint.SetCanvas().

◆ CountRune()

int Card.CountRune ( bool  countFree = true)
inline

Definition at line 3694 of file Card.cs.

3695 {
3696 int num = 0;
3697 if (socketList != null)
3698 {
3699 foreach (SocketData socket in socketList)
3700 {
3701 if (socket.type == SocketData.Type.Rune && (countFree || !socket.isFree))
3702 {
3703 num++;
3704 }
3705 }
3706 }
3707 return num;
3708 }
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 2786 of file Card.cs.

2787 {
2788 if (CardBlueprint.current != null)
2789 {
2791 CardBlueprint.current = null;
2792 }
2793 else
2794 {
2796 }
2797 id = _id;
2798 Num = 1;
2799 autoRefuel = true;
2800 EClass.game.cards.AssignUID(this);
2801 this.genLv = genLv;
2802 isNew = true;
2803 version = 5;
2804 SetSource();
2806 if (sourceCard.quality != 0)
2807 {
2808 rarity = sourceCard.quality.ToEnum<Rarity>();
2809 }
2810 else if (bp.rarity != Rarity.Random)
2811 {
2812 rarity = bp.rarity;
2813 }
2814 else if ((category.slot != 0 && category.slot != 45 && category.slot != 44) || category.tag.Contains("randomRarity"))
2815 {
2816 if (EClass.rnd(10) == 0)
2817 {
2818 rarity = Rarity.Crude;
2819 }
2820 else if (EClass.rnd(10) == 0)
2821 {
2822 rarity = Rarity.Superior;
2823 }
2824 else if (EClass.rnd(80) == 0)
2825 {
2826 rarity = Rarity.Legendary;
2827 }
2828 else if (EClass.rnd(250) == 0)
2829 {
2830 rarity = Rarity.Mythical;
2831 }
2832 }
2833 if (rarity != 0 && category.tag.Contains("fixedRarity"))
2834 {
2835 rarity = Rarity.Normal;
2836 }
2837 LV = DefaultLV;
2838 if (bp.lv != -999)
2839 {
2840 LV = bp.lv;
2841 }
2842 if (id == "microchip")
2843 {
2844 Debug.Log(id + "/" + _idMat + "/" + sourceCard.fixedMaterial);
2845 }
2847 {
2849 }
2850 else
2851 {
2852 bool flag = (bp != null && bp.fixedMat) || sourceCard.quality == 4 || sourceCard.tierGroup.IsEmpty();
2853 if (_idMat != -1)
2854 {
2855 _material = EClass.sources.materials.rows[_idMat];
2856 }
2857 else if (!flag)
2858 {
2859 if (sourceCard.tierGroup == "wood")
2860 {
2861 Debug.Log(id);
2862 }
2864 }
2865 else
2866 {
2868 }
2869 }
2870 idMaterial = _material.id;
2871 things.SetOwner(this);
2872 elements.SetOwner(this, applyFeat: true);
2873 ApplyTrait();
2875 {
2876 tier = Mathf.Clamp(EClass.rnd(5) + 1, 1, 3);
2877 LV = LV + tier * 10 + (LV - 1) * (125 + tier * 25) / 100;
2878 }
2879 ApplyMaterial();
2880 OnCreate(genLv);
2883 hp = MaxHP;
2884 if (HasTag(CTAG.hidden))
2885 {
2886 SetHidden();
2887 }
2889 }
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:2079
int tier
Definition: Card.cs:411
bool isFloating
Definition: Card.cs:651
CardBlueprint bp
Definition: Card.cs:78
int DefaultLV
Definition: Card.cs:2036
int hp
Definition: Card.cs:243
virtual void OnBeforeCreate()
Definition: Card.cs:2891
bool autoRefuel
Definition: Card.cs:627
virtual SourcePref Pref
Definition: Card.cs:2133
virtual void OnCreate(int genLv)
Definition: Card.cs:2895
virtual int MaxHP
Definition: Card.cs:2321
bool isNew
Definition: Card.cs:483
int genLv
Definition: Card.cs:195
bool testThingQuality
Definition: CoreDebug.cs:215
static FactionBranch Branch
Definition: EClass.cs:23
static CoreDebug debug
Definition: EClass.cs:49
CardManager cards
Definition: Game.cs:156
static SourceMaterial.Row GetRandomMaterial(int lv, string group=null, bool tryLevelMatTier=false)
Definition: MATERIAL.cs:56
bool Float
Definition: SourcePref.cs:328
virtual void OnCreate(int lv)
Definition: Trait.cs:690
virtual bool LevelAsQuality
Definition: Trait.cs:205
bool IsPCFaction
Definition: Zone.cs:475

References _CreateRenderer(), CardBlueprint._Default, _material, EClass._zone, AliasMaterialOnCreate, ApplyMaterial(), ApplyTrait(), CardManager.AssignUID(), autoRefuel, bp, EClass.Branch, Game.cards, category, CardBlueprint.current, EClass.debug, Debug, DefaultLV, elements, CardBlueprint.fixedMat, RenderRow.fixedMaterial, CardBlueprint.fixedQuality, SourcePref.Float, EClass.game, genLv, MATERIAL.GetRandomMaterial(), HasTag(), hp, idMaterial, isFloating, isNew, Zone.IsPCFaction, Trait.LevelAsQuality, LV, CardBlueprint.lv, FactionBranch.lv, SourceManager.materials, MaxHP, Num, OnBeforeCreate(), OnCreate(), Trait.OnCreate(), Pref, 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 6719 of file Card.cs.

6720 {
6721 Fov fov = new Fov();
6722 int num = (trait.UseLightColor ? c_lightColor : 0);
6723 if (num != 0)
6724 {
6725 fov.r = (byte)(num / 1024);
6726 fov.g = (byte)(num % 1024 / 32);
6727 fov.b = (byte)(num % 32);
6728 }
6729 else if (LightData != null)
6730 {
6731 fov.r = (byte)(LightData.color.r * 16f);
6732 fov.g = (byte)(LightData.color.g * 16f);
6733 fov.b = (byte)(LightData.color.b * 16f);
6734 }
6735 else if (isChara)
6736 {
6737 fov.r = 0;
6738 fov.g = 0;
6739 fov.b = 0;
6740 }
6741 else
6742 {
6743 fov.r = 3;
6744 fov.g = 2;
6745 fov.b = 1;
6746 }
6747 if (isChara && Chara.held != null && Chara.held.GetLightRadius() > 0)
6748 {
6749 Fov fov2 = Chara.held.CreateFov();
6750 fov.r += fov2.r;
6751 fov.g += fov2.g;
6752 fov.b += fov2.b;
6753 }
6754 if (IsPC)
6755 {
6756 fov.isPC = true;
6757 foreach (Condition condition in Chara.conditions)
6758 {
6759 condition.OnCreateFov(fov);
6760 }
6761 }
6762 fov.limitGradient = IsPCParty && EClass.scene.profile.global.limitGradient;
6763 return fov;
6764 }
virtual bool IsPCParty
Definition: Card.cs:2177
int c_lightColor
Definition: Card.cs:1097
virtual void OnCreateFov(Fov fov)
Definition: Condition.cs:79
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 
)
inline

Definition at line 4122 of file Card.cs.

4123 {
4124 if (hp < 0)
4125 {
4126 return;
4127 }
4128 bool flag = originalTarget != null;
4129 Action onEvade = null;
4130 if (isChara && !isRestrained && !flag)
4131 {
4132 if (HasElement(1249))
4133 {
4134 foreach (Chara chara3 in EClass._map.charas)
4135 {
4136 if (chara3 != this && !chara3.IsHostile(Chara) && !chara3.IsDisabled && !chara3.isRestrained && (!IsPCFactionOrMinion || chara3.IsPCFactionOrMinion) && chara3.Dist(this) <= 3)
4137 {
4138 Say("wall_bond", chara3, this);
4139 chara3.DamageHP(dmg, ele, eleP, attackSource, origin, showEffect, weapon, Chara);
4140 return;
4141 }
4142 }
4143 }
4144 if (!HasElement(1241))
4145 {
4146 AttackSource attackSource2 = attackSource;
4147 if ((uint)(attackSource2 - 3) > 2u && (uint)(attackSource2 - 13) > 5u)
4148 {
4149 foreach (Chara chara4 in EClass._map.charas)
4150 {
4151 if (chara4 != this && !chara4.IsHostile(Chara))
4152 {
4153 int num = chara4.Evalue(1241);
4154 int num2 = chara4.Evalue(438);
4155 if ((num != 0 || num2 != 0) && !chara4.IsDisabled && !chara4.isRestrained && (!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))
4156 {
4157 Say((num2 == 0) ? "wall_flesh" : "wall_knightly", chara4, this);
4158 chara4.DamageHP(dmg, ele, eleP, attackSource, origin, showEffect, weapon, Chara);
4159 return;
4160 }
4161 }
4162 }
4163 }
4164 }
4165 }
4166 if (origin != null && origin.HasElement(1208))
4167 {
4168 switch (attackSource)
4169 {
4170 case AttackSource.MagicHand:
4171 dmg = dmg * 130 / 100;
4172 eleP = eleP * 150 / 100;
4173 break;
4174 case AttackSource.MagicSword:
4175 dmg = dmg * 120 / 100;
4176 eleP = eleP * 150 / 100;
4177 break;
4178 }
4179 }
4180 if (origin != null)
4181 {
4182 dmg = dmg * (100 + origin.Evalue(94)) / 100;
4183 }
4184 Element e;
4185 if (ele == 0 || ele == 926)
4186 {
4187 e = Element.Void;
4188 if (origin != null)
4189 {
4190 dmg = dmg * Mathf.Max(100 + origin.Evalue(93) / 2, 10) / 100;
4191 }
4192 }
4193 else
4194 {
4195 e = Element.Create(ele);
4196 if (attackSource != AttackSource.Condition && showEffect)
4197 {
4198 ActEffect.TryDelay(delegate
4199 {
4200 PlayEffect(e.id, useRenderPos: true, 0.25f);
4201 EClass.Sound.Play("atk_" + e.source.alias);
4202 });
4203 }
4204 if (!e.source.aliasRef.IsEmpty() && attackSource != AttackSource.ManaBackfire)
4205 {
4206 int num3 = ((origin != null) ? origin.Evalue(1238) : 0);
4207 if (attackSource == AttackSource.MagicSword)
4208 {
4209 num3 += 2;
4210 if (origin.HasElement(1247))
4211 {
4212 num3++;
4213 }
4214 }
4215 if (attackSource == AttackSource.MagicArrow && origin != null && origin.HasElement(1244))
4216 {
4217 num3++;
4218 }
4219 if (attackSource == AttackSource.MagicHand && origin != null && origin.HasElement(1246))
4220 {
4221 num3++;
4222 }
4223 dmg = Element.GetResistDamage((int)dmg, Evalue(e.source.aliasRef), num3);
4224 dmg = dmg * 100 / (100 + Mathf.Clamp(Evalue(961) * 5, -50, 200));
4225 dmg = dmg * Mathf.Max(100 - Evalue(93), 10) / 100;
4226 }
4227 switch (e.id)
4228 {
4229 case 910:
4230 {
4231 Chara chara2 = Chara;
4232 if (chara2 != null && chara2.isWet)
4233 {
4234 dmg /= 3L;
4235 }
4236 break;
4237 }
4238 case 912:
4239 {
4240 Chara chara = Chara;
4241 if (chara != null && chara.isWet)
4242 {
4243 dmg = dmg * 150 / 100;
4244 }
4245 break;
4246 }
4247 }
4248 }
4249 if (origin != null && origin.isChara && origin.Chara.HasCondition<ConSupress>())
4250 {
4251 dmg = dmg * 2 / 3;
4252 }
4253 if (attackSource != AttackSource.Finish)
4254 {
4255 if (!IsPCFaction && LV > 50)
4256 {
4257 dmg = dmg * (100 - (int)Mathf.Min(80f, Mathf.Sqrt(LV - 50) * 2.5f)) / 100;
4258 }
4259 if (origin != null && origin.HasCondition<ConBerserk>())
4260 {
4261 dmg = dmg * 3 / 2;
4262 }
4264 {
4265 int num4 = ((origin != null) ? origin.LV : EClass._zone.DangerLv);
4266 if (num4 > 50)
4267 {
4268 dmg = dmg * (100 - (int)Mathf.Min(95f, Mathf.Sqrt(num4 - 50))) / 100;
4269 }
4270 }
4271 if (attackSource == AttackSource.Throw || attackSource == AttackSource.Range)
4272 {
4273 dmg = dmg * 100 / (100 + Evalue(435) * 2);
4274 }
4275 dmg = dmg * Mathf.Max(0, 100 - Mathf.Min(Evalue((e == Element.Void || e.id == 926) ? 55 : 56), 100) / ((!flag) ? 1 : 2)) / 100;
4276 if (origin != null && origin.IsPC && EClass.player.codex.Has(id))
4277 {
4278 dmg = dmg * (100 + Mathf.Min(10, EClass.player.codex.GetOrCreate(id).weakspot)) / 100;
4279 }
4280 if (isChara && Chara.body.GetAttackStyle() == AttackStyle.Shield && elements.ValueWithoutLink(123) >= 5 && (e == Element.Void || e.id == 926))
4281 {
4282 dmg = dmg * 90 / 100;
4283 }
4284 if (HasElement(971))
4285 {
4286 dmg = dmg * 100 / Mathf.Clamp(100 + Evalue(971), 25, 1000);
4287 }
4288 if (HasElement(1305))
4289 {
4290 dmg = dmg * 90 / 100;
4291 }
4292 if (EClass.pc.HasElement(1207) && isChara)
4293 {
4294 int num5 = 0;
4295 int num6 = 0;
4296 foreach (Condition condition2 in Chara.conditions)
4297 {
4298 if (condition2.Type == ConditionType.Buff)
4299 {
4300 num5++;
4301 }
4302 else if (condition2.Type == ConditionType.Debuff)
4303 {
4304 num6++;
4305 }
4306 }
4308 {
4309 dmg = dmg * 100 / Mathf.Min(100 + num5 * 5, 120);
4310 }
4311 else
4312 {
4313 dmg = dmg * Mathf.Min(100 + num6 * 5, 120) / 100;
4314 }
4315 }
4317 {
4318 dmg = dmg * 100 / Mathf.Clamp(105 + EClass.pc.Evalue(135) / 10, 10, 110);
4319 }
4320 if (HasElement(1218) && attackSource != AttackSource.ManaBackfire && (hp > 0 || Evalue(1421) <= 0))
4321 {
4322 dmg = dmg * (1000 - Mathf.Min(Evalue(1218), 1000) / ((!flag) ? 1 : 2)) / 1000;
4323 if (dmg <= 0 && EClass.rnd(4) == 0)
4324 {
4325 dmg++;
4326 }
4327 }
4328 if (dmg >= MaxHP / 10 && Evalue(68) > 0)
4329 {
4330 int num7 = MaxHP / 10;
4331 long num8 = dmg - num7;
4332 num8 = num8 * 100 / (200 + Evalue(68) * 10);
4333 dmg = num7 + num8;
4334 }
4335 }
4336 if (origin != null && origin.IsPC && EClass.pc.Evalue(654) > 0)
4337 {
4338 dmg = 0L;
4339 }
4340 if (dmg < 0)
4341 {
4342 dmg = 0L;
4343 }
4344 if (dmg > 99999999)
4345 {
4346 dmg = 99999999L;
4347 }
4348 float num9 = Mathf.Clamp(dmg * 6 / MaxHP, 0f, 4f) + (float)((dmg > 0) ? 1 : 0);
4349 int num10 = hp;
4350 if (Evalue(1421) > 0)
4351 {
4352 long num11 = 0L;
4353 long num12 = dmg;
4354 if (hp > 0)
4355 {
4356 num12 = dmg - hp;
4357 hp -= (int)dmg;
4358 num11 += dmg;
4359 if (hp < 0 && Chara.mana.value >= 0)
4360 {
4361 num11 += hp;
4362 hp = 0;
4363 }
4364 }
4365 if (hp <= 0)
4366 {
4367 if (Evalue(1421) >= 2)
4368 {
4369 num12 /= 2;
4370 }
4371 dmg = num12;
4372 if (Chara.mana.value > 0)
4373 {
4374 num12 -= Chara.mana.value;
4375 Chara.mana.value -= (int)dmg;
4376 num11 += dmg;
4377 }
4378 if (Chara.mana.value <= 0)
4379 {
4380 hp -= (int)num12;
4381 num11 += num12;
4382 }
4383 }
4384 dmg = num11;
4385 }
4386 else
4387 {
4388 hp -= (int)dmg;
4389 }
4390 if (isSynced && dmg != 0L)
4391 {
4392 float ratio = (float)dmg / (float)MaxHP;
4393 Card c = ((parent is Chara) ? (parent as Chara) : this);
4394 ActEffect.TryDelay(delegate
4395 {
4396 c.PlayEffect("blood").SetParticleColor(EClass.Colors.matColors[material.alias].main).Emit(20 + (int)(30f * ratio));
4398 {
4399 EClass.scene.damageTextRenderer.Add(this, c, (int)dmg, e);
4400 }
4401 });
4402 }
4403 if (EClass.pc.ai is AI_PracticeDummy { IsRunning: not false } aI_PracticeDummy && aI_PracticeDummy.target == this && (origin == null || origin.IsPC))
4404 {
4405 aI_PracticeDummy.hit++;
4406 aI_PracticeDummy.totalDamage += dmg;
4407 }
4408 ZoneInstanceBout zoneInstanceBout = EClass._zone.instance as ZoneInstanceBout;
4409 bool flag2 = false;
4410 if (hp < 0 && Religion.recentWrath == null)
4411 {
4413 {
4414 EvadeDeath(null);
4415 if (Chara.stamina.value > 0 && (EClass.rnd(2) == 0 || !IsPC))
4416 {
4417 Chara.stamina.Mod(-1);
4418 }
4419 }
4420 else if (IsInstalled && pos.HasBlock && trait.IsDoor)
4421 {
4422 EvadeDeath(null);
4423 }
4424 else if (!trait.CanBeDestroyed)
4425 {
4426 EvadeDeath(null);
4427 }
4428 else if (HasEditorTag(EditorTag.Invulnerable) || (HasEditorTag(EditorTag.InvulnerableToMobs) && (origin == null || !origin.IsPCParty)))
4429 {
4430 EvadeDeath(null);
4431 }
4432 else if (isChara)
4433 {
4435 {
4436 EvadeDeath(null);
4437 }
4438 else if (IsPC && EClass.debug.godMode)
4439 {
4440 EvadeDeath(null);
4441 }
4442 else if (Chara.host != null || (weapon != null && weapon.HasElement(485)))
4443 {
4444 EvadeDeath(null);
4445 flag2 = true;
4446 }
4447 else
4448 {
4449 if (origin != null && origin != this && Evalue(436) > 0 && !HasCondition<ConFractured>())
4450 {
4451 int half = (HasElement(1218) ? MaxHP : (MaxHP / 2));
4452 if (num10 > half)
4453 {
4454 EvadeDeath(delegate
4455 {
4456 Say("guts", this);
4457 Chara.AddCondition<ConFractured>((int)Mathf.Max(10f, 30f - Mathf.Sqrt(Evalue(436))));
4458 hp = Mathf.Min(half * (int)Mathf.Sqrt(Evalue(436) * 2) / 100, MaxHP / 3);
4459 });
4460 goto IL_1077;
4461 }
4462 }
4463 if (zoneInstanceBout != null && (bool)LayerDrama.Instance)
4464 {
4465 EvadeDeath(null);
4466 }
4467 else if (LayerDrama.IsActive() && IsPC)
4468 {
4469 EvadeDeath(null);
4470 }
4471 else
4472 {
4473 if (attackSource != AttackSource.Finish && IsPCParty && Chara.host == null)
4474 {
4475 if (EClass.pc.ai is GoalAutoCombat && !EClass.player.invlunerable && (EClass.pc.ai as GoalAutoCombat).listHealthy.Contains(Chara))
4476 {
4477 EClass.core.actionsNextFrame.Add(delegate
4478 {
4479 Msg.Say(IsPC ? "abort_damage" : "abort_damgeAlly");
4480 });
4481 EClass.player.invlunerable = true;
4484 }
4486 {
4487 EvadeDeath(null);
4488 goto IL_1077;
4489 }
4490 }
4491 if (Evalue(1220) > 0 && Chara.stamina.value >= (IsPC ? (Chara.stamina.max / 2) : (Chara.stamina.max / 3 * 2)))
4492 {
4493 EvadeDeath(delegate
4494 {
4495 Say("fate", this);
4496 PlaySound("revive");
4497 PlayEffect("aura_heaven");
4500 });
4501 }
4502 }
4503 }
4504 }
4505 }
4506 goto IL_1077;
4507 IL_1077:
4508 if (trait.CanBeAttacked)
4509 {
4510 renderer.PlayAnime(AnimeID.HitObj);
4511 hp = MaxHP;
4513 {
4514 hp = -1;
4515 }
4516 }
4517 Chara target;
4518 if (hp < 0)
4519 {
4520 if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null && originalTarget == null && (origin.isSynced || IsPC))
4521 {
4522 string text = "";
4523 if (IsPC && Lang.setting.combatTextStyle == 0)
4524 {
4525 if (e != Element.Void && e != null)
4526 {
4527 text = "dead_" + e.source.alias;
4528 }
4529 if (text == "" || !LangGame.Has(text))
4530 {
4531 text = "dead_attack";
4532 }
4533 EClass.pc.Say(text, this, "");
4534 }
4535 else
4536 {
4537 if (e != Element.Void && e != null)
4538 {
4539 text = "kill_" + e.source.alias;
4540 }
4541 if (text == "" || !LangGame.Has(text))
4542 {
4543 text = "kill_attack";
4544 }
4545 (IsPC ? EClass.pc : origin).Say(text, origin, this);
4546 }
4547 }
4548 if (isChara && Religion.recentWrath == null)
4549 {
4550 if (HasElement(1410) && !Chara.HasCooldown(1410))
4551 {
4552 Chara.AddCooldown(1410);
4553 Say("reboot", this);
4554 PlaySound("reboot");
4555 Chara.Cure(CureType.Boss);
4556 hp = MaxHP / 3;
4558 return;
4559 }
4560 if (HasCondition<ConRebirth>())
4561 {
4562 Say("rebirth", this);
4563 hp = (int)Mathf.Min((long)MaxHP * (long)(int)(5f + Mathf.Sqrt(Chara.GetCondition<ConRebirth>().power)) / 100, MaxHP);
4565 Chara.RemoveCondition<ConRebirth>();
4566 PlayEffect("revive");
4567 PlaySound("revive");
4568 return;
4569 }
4570 foreach (Chara chara5 in EClass._map.charas)
4571 {
4572 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))
4573 {
4574 Msg.alwaysVisible = true;
4575 Msg.Say("layhand", chara5, this);
4576 Msg.Say("pray_heal", this);
4577 hp = MaxHP;
4579 PlayEffect("revive");
4580 PlaySound("revive");
4581 chara5.SetInt(58, EClass.world.date.GetRawDay());
4582 return;
4583 }
4584 }
4585 }
4586 if (zoneInstanceBout != null)
4587 {
4588 target = EClass._map.FindChara(zoneInstanceBout.uidTarget);
4589 if (target != null)
4590 {
4591 EClass.pc.ai.Cancel();
4592 if (IsPC)
4593 {
4594 EClass.pc.hp = 0;
4595 Heal();
4596 EClass.player.ModFame(-10 - (int)((float)EClass.player.fame * 0.05f));
4597 target.ShowDialog("_chara", "bout_lose");
4598 return;
4599 }
4600 if (target == this)
4601 {
4602 hp = 0;
4603 Heal();
4604 target.ModAffinity(EClass.pc, 10);
4605 target.ShowDialog("_chara", "bout_win");
4606 return;
4607 }
4608 }
4609 }
4610 if (!isDestroyed)
4611 {
4612 if (attackSource == AttackSource.MoonSpear && isChara)
4613 {
4615 ActEffect.LoveMiracle(Chara, origin?.Chara, 100, EffectId.MoonSpear);
4616 Rand.SetSeed();
4617 }
4618 Die(e, origin, attackSource, originalTarget);
4620 {
4621 Rand.SetSeed(uid);
4622 if (EClass.rnd(3) == 0 && !isCrafted && !isCopy)
4623 {
4624 string text2 = new int[18]
4625 {
4626 233, 235, 236, 236, 236, 1170, 1143, 1144, 727, 728,
4627 237, 869, 1178, 1179, 1180, 1243, 1244, 1245
4628 }.RandomItem().ToString();
4629 if (EClass.rnd(10) == 0)
4630 {
4631 text2 = "casino_coin";
4632 }
4633 if (EClass.rnd(10) == 0)
4634 {
4635 text2 = "scratchcard";
4636 }
4637 if (EClass.rnd(3) == 0)
4638 {
4639 text2 = "money";
4640 }
4641 if (EClass.rnd(5) == 0)
4642 {
4643 text2 = "plat";
4644 }
4645 if (EClass.rnd(10) == 0)
4646 {
4647 text2 = "money2";
4648 }
4649 if (EClass.rnd(20) == 0 || EClass.debug.enable)
4650 {
4651 text2 = "medal";
4652 }
4653 EClass._zone.AddCard(ThingGen.Create(text2).SetNum((!(text2 == "money")) ? 1 : EClass.rndHalf(100)).SetHidden(hide: false), pos);
4654 }
4655 Rand.SetSeed();
4656 }
4657 ProcAbsorb();
4658 if (EClass.pc.Evalue(1355) > 0 && isChara && (IsPCFactionOrMinion || (origin != null && origin.IsPCParty)))
4659 {
4660 ((EClass.pc.AddCondition<ConStrife>() as ConStrife) ?? EClass.pc.GetCondition<ConStrife>())?.AddKill(Chara);
4661 }
4662 }
4663 if (origin != null && origin.isChara)
4664 {
4665 if (origin.IsPCFactionOrMinion && isChara && !isCopy)
4666 {
4668 EClass.game.quests.list.ForeachReverse(delegate(Quest q)
4669 {
4670 q.OnKillChara(Chara);
4671 });
4674 {
4675 Guild.Fighter.AddContribution(10 + Mathf.Min(LV, 200) / 5);
4676 }
4678 {
4679 int a = EClass.rndHalf(200 + EClass.curve(LV, 20, 15) * 20);
4680 Msg.Say("bounty", Chara, a.ToString() ?? "");
4682 SE.Pay();
4683 }
4684 }
4685 if (origin.GetInt(106) == 0)
4686 {
4687 origin.Chara.TalkTopic("kill");
4688 }
4689 }
4690 Msg.SetColor();
4691 }
4692 else if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null && originalTarget == null)
4693 {
4694 (IsPC ? EClass.pc : origin).Say("dmgMelee" + num9 + (IsPC ? "pc" : ""), origin, this);
4695 }
4696 else if (isChara)
4697 {
4698 int num13 = ((attackSource != AttackSource.Condition && attackSource != AttackSource.WeaponEnchant) ? 1 : 2);
4699 if (num9 >= (float)num13)
4700 {
4701 if (e != Element.Void)
4702 {
4703 Say("dmg_" + e.source.alias, this);
4704 }
4705 if (e == Element.Void || num9 >= 2f)
4706 {
4707 Say("dmg" + num9, this);
4708 }
4709 }
4710 }
4711 onEvade?.Invoke();
4712 if (isChara)
4713 {
4714 if (Chara.mimicry != null)
4715 {
4716 Chara.RemoveCondition<ConTransmuteMimic>();
4717 }
4718 foreach (Condition condition3 in Chara.conditions)
4719 {
4720 (condition3 as ConPeaky)?.OnHit();
4721 }
4722 if (flag2)
4723 {
4724 if (!Chara.HasCondition<ConFaint>())
4725 {
4726 Chara.AddCondition<ConFaint>(200, force: true);
4727 }
4728 return;
4729 }
4730 if (origin != null && origin.IsAliveInCurrentZone && origin.isChara)
4731 {
4732 if (e.id == 916)
4733 {
4734 origin.HealHP(Mathf.Clamp(EClass.rnd(dmg * (50 + eleP) / 500 + 5), 1, origin.MaxHP / 5 + EClass.rnd(10)));
4735 }
4736 if (attackSource == AttackSource.Melee || attackSource == AttackSource.Range)
4737 {
4738 int num14 = origin.Dist(this);
4739 if (attackSource == AttackSource.Melee && HasElement(1221) && num14 <= Evalue(1221))
4740 {
4741 int ele2 = ((Chara.MainElement == Element.Void) ? 924 : Chara.MainElement.id);
4742 if (id == "hedgehog_ether")
4743 {
4744 ele2 = 922;
4745 }
4746 Say("reflect_thorne", origin, this);
4747 origin.DamageHP((int)Mathf.Clamp(dmg / 10, 1f, MaxHP / (origin.IsPowerful ? 200 : 20)), ele2, Power, AttackSource.Condition, this);
4748 }
4749 if (HasElement(1223) && num14 <= Evalue(1223))
4750 {
4751 int ele3 = ((Chara.MainElement == Element.Void) ? 923 : Chara.MainElement.id);
4752 Say("reflect_acid", this, origin);
4753 origin.DamageHP((int)Mathf.Clamp(dmg / 10, 1f, MaxHP / (origin.IsPowerful ? 200 : 20)), ele3, Power * 2, AttackSource.Condition, this);
4754 }
4755 }
4756 ProcAbsorb();
4757 }
4758 }
4759 if (hp < 0 || !isChara)
4760 {
4761 return;
4762 }
4763 if (dmg > 0)
4764 {
4765 int a2 = (int)(100 * (dmg * 100 / MaxHP) / 100) + 1;
4766 a2 = Mathf.Min(a2, Chara.isRestrained ? 15 : 200);
4767 if (a2 > 0)
4768 {
4770 if (Chara.body.GetAttackStyle() == AttackStyle.Shield)
4771 {
4772 elements.ModExp(123, a2);
4773 }
4774 }
4775 }
4776 int num15 = ((EClass.rnd(2) == 0) ? 1 : 0);
4777 if (attackSource == AttackSource.Condition)
4778 {
4779 num15 = 1 + EClass.rnd(2);
4780 }
4781 if (num15 > 0)
4782 {
4783 bool flag3 = Chara.HasCondition<ConPoison>() || ((e.id == 915 || e.id == 923) && ResistLv(Evalue(955)) < 4);
4784 AddBlood(num15, flag3 ? 6 : (-1));
4785 }
4786 if (dmg > 0 || (origin != null && origin.HasElement(1345)))
4787 {
4788 ApplyElementEffect(e, eleP, origin);
4789 }
4790 if (origin != null && origin.HasElement(1411) && !Chara.HasCondition<ConGravity>())
4791 {
4792 Condition.ignoreEffect = true;
4794 Condition.ignoreEffect = false;
4795 }
4796 if (IsPC)
4797 {
4798 float num16 = (float)hp / (float)MaxHP;
4799 if (Evalue(1421) > 0)
4800 {
4801 num16 = (float)Chara.mana.value / (float)Chara.mana.max;
4802 }
4803 if (num16 < 0.3f)
4804 {
4805 PlaySound("heartbeat", 1f - num16 * 2f);
4806 }
4807 }
4808 if (!IsPC && hp < MaxHP / 5 && Evalue(423) <= 0 && dmg * 100 / MaxHP + 10 > EClass.rnd(IsPowerful ? 400 : 150) && !HasCondition<ConFear>())
4809 {
4810 Chara.AddCondition<ConFear>(100 + EClass.rnd(100));
4811 }
4812 if (Chara.ai.Current.CancelWhenDamaged && attackSource != AttackSource.Hunger && attackSource != AttackSource.Fatigue && (!EClass.core.config.test.dontCancelIfZeroDamage || dmg != 0L || !IsPC))
4813 {
4814 Chara.ai.Current.TryCancel(origin);
4815 }
4817 {
4818 ConWeapon condition = Chara.GetCondition<ConWeapon>();
4819 if (e.source.aliasRef == condition.sourceElement.aliasRef)
4820 {
4821 condition.Mod(-1);
4822 }
4823 }
4824 if (Chara.HasElement(1222) && (dmg >= MaxHP / 10 || EClass.rnd(20) == 0))
4825 {
4826 ActEffect.Proc(EffectId.Duplicate, this);
4827 }
4828 if (origin != null && !Chara.isRestrained)
4829 {
4831 }
4832 if (hp < MaxHP / 3 && HasElement(1409) && !Chara.HasCooldown(1409))
4833 {
4834 Chara.AddCooldown(1409);
4836 Chara.Cure(CureType.Boss);
4837 Chara.HealHP(MaxHP / 2);
4838 EClass.player.forceTalk = true;
4839 }
4840 if (origin != null && origin.isChara && attackSource != AttackSource.Finish)
4841 {
4843 {
4844 Chara.TrySetEnemy(origin.Chara);
4845 }
4846 if ((weapon == null || !weapon.HasElement(486)) && origin.Evalue(428) > 0 && !IsPCFactionOrMinion && EClass.rnd(dmg) >= EClass.rnd(MaxHP / 10) + MaxHP / 100 + 1)
4847 {
4848 origin.Chara.TryNeckHunt(Chara, origin.Evalue(428) * 20, harvest: true);
4849 }
4850 }
4851 void EvadeDeath(Action action)
4852 {
4853 hp = 0;
4854 if (Evalue(1421) > 0 && isChara && Chara.mana.value < 0)
4855 {
4856 Chara.mana.value = 0;
4857 }
4858 onEvade = action;
4859 }
4860 void Heal()
4861 {
4862 target.Cure(CureType.HealComplete);
4863 foreach (Chara member in EClass.pc.party.members)
4864 {
4865 member.Cure(CureType.HealComplete);
4866 }
4867 }
4868 void ProcAbsorb()
4869 {
4870 if (origin != null && origin.isChara && isChara && (weapon == null || !weapon.HasElement(486)))
4871 {
4872 int valueOrDefault = (origin.Evalue(662) + weapon?.Evalue(662, ignoreGlobalElement: true)).GetValueOrDefault();
4873 int valueOrDefault2 = (origin.Evalue(661) + weapon?.Evalue(661, ignoreGlobalElement: true)).GetValueOrDefault();
4874 if (valueOrDefault > 0 && attackSource == AttackSource.Melee && origin.isChara && !origin.Chara.ignoreSPAbsorb && Chara.IsHostile(origin as Chara))
4875 {
4876 int num17 = EClass.rnd(3 + (int)Mathf.Clamp(dmg / 100, 0f, valueOrDefault / 10));
4877 origin.Chara.stamina.Mod(num17);
4879 {
4880 Chara.stamina.Mod(-num17);
4881 }
4882 }
4883 if (origin.HasElement(1350) && attackSource == AttackSource.Melee)
4884 {
4885 int num18 = EClass.rndHalf(2 + (int)Mathf.Clamp(dmg / 10, 0f, origin.Chara.GetPietyValue() + 10));
4886 origin.Chara.mana.Mod(num18);
4888 {
4889 Chara.mana.Mod(-num18);
4890 }
4891 }
4892 if (valueOrDefault2 > 0 && attackSource == AttackSource.Melee)
4893 {
4894 int num19 = EClass.rnd(2 + (int)Mathf.Clamp(dmg / 10, 0f, valueOrDefault2 + 10));
4895 origin.Chara.mana.Mod(num19);
4897 {
4898 Chara.mana.Mod(-num19);
4899 }
4900 }
4901 }
4902 }
4903 }
AnimeID
Definition: AnimeID.cs:2
AttackSource
Definition: AttackSource.cs:2
AttackStyle
Definition: AttackStyle.cs:2
ConditionType
Definition: ConditionType.cs:2
CureType
Definition: CureType.cs:2
@ harvest
FactionMemberType
AIAct Current
Definition: AIAct.cs:103
bool TryCancel(Card c)
Definition: AIAct.cs:270
virtual Status Cancel()
Definition: AIAct.cs:295
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:2725
static void TryDelay(Action a)
Definition: ActEffect.cs:23
static void ProcShieldEncs(Chara CC, Card TC, int mtpChance=100)
int GetInt(int id, int? defaultInt=null)
Definition: BaseCard.cs:25
void SetInt(int id, int value=0)
Definition: BaseCard.cs:39
void Mod(int a, bool force=false)
SourceElement.Row sourceElement
List< Action > actionsNextFrame
Definition: BaseCore.cs:31
virtual ConditionType Type
Definition: BaseStats.cs:19
void PlayAnime(AnimeID id, bool force)
bool IsPCFactionOrMinion
Definition: Card.cs:2300
bool isCrafted
Definition: Card.cs:795
virtual void Die(Element e=null, Card origin=null, AttackSource attackSource=AttackSource.None, Chara originalTarget=null)
Definition: Card.cs:5065
void AddBlood(int a=1, int id=-1)
Definition: Card.cs:6150
bool isRestrained
Definition: Card.cs:567
virtual int Power
Definition: Card.cs:2323
bool isCopy
Definition: Card.cs:879
virtual void HealHP(int a, HealSource origin=HealSource.None)
Definition: Card.cs:4057
void ApplyElementEffect(Element e, int eleP, Card origin, bool checkHostileAct=false)
Definition: Card.cs:4905
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6377
void ModCurrency(int a, string id="money")
Definition: Card.cs:4015
bool IsPowerful
Definition: Card.cs:2120
bool HasEditorTag(EditorTag tag)
Definition: Card.cs:2628
bool IsInstalled
Definition: Card.cs:2409
int Dist(Card c)
Definition: Card.cs:7867
virtual bool IsPCFaction
Definition: Card.cs:2297
int ResistLv(int res)
Definition: Card.cs:6085
virtual bool isSynced
Definition: Card.cs:2113
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:7020
AttackStyle GetAttackStyle()
Definition: CharaBody.cs:479
Element MainElement
Definition: Chara.cs:731
AIAct ai
Definition: Chara.cs:204
bool TryNeckHunt(Chara TC, int power, bool harvest=false)
Definition: Chara.cs:9771
void ModAffinity(Chara c, int a, bool show=true, bool showOnlyEmo=false)
Definition: Chara.cs:8046
Chara host
Definition: Chara.cs:33
void ShowDialog()
Definition: Chara.cs:7143
override string ToString()
Definition: Chara.cs:1198
Party party
Definition: Chara.cs:43
bool HasCondition(string alias)
Definition: Chara.cs:9543
override bool IsDisabled
Definition: Chara.cs:587
ConTransmuteMimic mimicry
Definition: Chara.cs:106
override bool IsPCFaction
Definition: Chara.cs:685
bool IsFriendOrAbove()
Definition: Chara.cs:6715
override int MaxHP
Definition: Chara.cs:722
Stats mana
Definition: Chara.cs:1180
FactionMemberType memberType
Definition: Chara.cs:46
string TalkTopic(string topic="calm")
Definition: Chara.cs:7072
Stats stamina
Definition: Chara.cs:1172
void AddCooldown(int idEle, int turns=0)
Definition: Chara.cs:8793
bool ignoreSPAbsorb
Definition: Chara.cs:148
Religion faith
Definition: Chara.cs:441
int GetPietyValue()
Definition: Chara.cs:10326
bool IsHostile()
Definition: Chara.cs:6619
void Cure(CureType type, int p=100, BlessedState state=BlessedState.Normal)
Definition: Chara.cs:9635
void TrySetEnemy(Chara c)
Definition: Chara.cs:6406
bool HasCooldown(int idEle)
Definition: Chara.cs:8844
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:558
bool godMode
Definition: CoreDebug.cs:173
bool enable
Definition: CoreDebug.cs:286
CoreConfig config
Definition: Core.cs:70
void Add(Card target, Card attacker, int dmg, Element e=null)
int day
Definition: Date.cs:62
int GetRawDay()
Definition: Date.cs:333
static int curve(long _a, int start, int step, int rate=75)
Definition: EClass.cs:69
static ColorProfile Colors
Definition: EClass.cs:39
static int rndHalf(int a)
Definition: EClass.cs:97
static SoundManager Sound
Definition: EClass.cs:47
Effect Emit(int num)
Definition: Effect.cs:281
Effect SetParticleColor(Color c)
Definition: Effect.cs:291
void ModExp(int ele, float a, bool chain=false)
int ValueWithoutLink(int ele)
static int GetResistDamage(int dmg, int v, int power=0)
Definition: ELEMENT.cs:1149
SourceElement.Row source
Definition: ELEMENT.cs:278
static Element Create(int id, int v=0)
Definition: ELEMENT.cs:1111
static Element Void
Definition: ELEMENT.cs:243
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:46
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:2568
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:1121
void ModFame(int a)
Definition: Player.cs:2102
Stats stats
Definition: Player.cs:1022
bool invlunerable
Definition: Player.cs:1179
int fame
Definition: Player.cs:887
bool TryAbortAutoCombat(bool immediate=true)
Definition: Player.cs:2418
bool HasBlock
Definition: Point.cs:141
List< Quest > list
Definition: QuestManager.cs:11
Definition: Quest.cs:7
virtual void OnKillChara(Chara c)
Definition: Quest.cs:548
ReligionHealing Healing
static Religion recentWrath
Definition: Religion.cs:22
DamageTextRenderer damageTextRenderer
Definition: Scene.cs:109
virtual int value
Definition: Stats.cs:56
virtual int max
Definition: Stats.cs:68
virtual bool CanBeAttacked
Definition: Trait.cs:177
virtual bool CanBeDestroyed
Definition: Trait.cs:307
virtual bool IsDoor
Definition: Trait.cs:58
virtual bool CanBeSmashedToDeath
Definition: Trait.cs:309
override int DangerLv
Definition: Zone.cs:110
Card AddCard(Card t, Point point)
Definition: Zone.cs:1994

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(), CodexManager.Has(), HasElement(), hp, Element.id, isChara, Chara.IsDisabled, Chara.IsHostile(), IsPCFaction, IsPCFactionOrMinion, IsPCParty, isRestrained, isSynced, isThing, Chara.isWet, LV, Chara.mana, ColorProfile.matColors, material, MaxHP, Chara.MaxHP, parent, EClass.pc, PlayEffect(), EClass.player, Game.principal, EClass.rnd(), Say(), EClass.scene, Effect.SetParticleColor(), CoreConfig.Test.showNumbers, EClass.Sound, Element.source, CoreConfig.test, ActEffect.TryDelay(), BaseStats.Type, Stats.value, ElementContainer.ValueWithoutLink(), Element.Void, CodexCreature.weakspot, and weapon.

◆ Decay()

void Card.Decay ( int  a = 10)
inline

Definition at line 6815 of file Card.cs.

6816 {
6817 Card card = parent as Card;
6818 int num = 200;
6819 int num2 = MaxDecay / 4 * 3;
6820 if (a > 0)
6821 {
6822 if (card != null)
6823 {
6824 num = card.trait.DecaySpeedChild;
6825 }
6826 num = num * trait.DecaySpeed / 100;
6827 int num3 = Evalue(405);
6828 if (num3 != 0)
6829 {
6830 num = num * (100 - num3 * 2) / 100;
6831 }
6832 if (num < 0)
6833 {
6834 num = 0;
6835 }
6836 }
6837 else
6838 {
6839 num = 100;
6840 }
6841 a = a * num / 100;
6842 if (decay + a > MaxDecay)
6843 {
6844 if (card != null && !card.trait.OnChildDecay(this, !IsDecayed))
6845 {
6846 return;
6847 }
6848 if (!IsDecayed)
6849 {
6850 if (EClass.pc.HasElement(1325) && GetRootCard() is Chara && category.IsChildOf("food"))
6851 {
6852 Thing thing = TraitSeed.MakeRandomSeed(enc: true).SetNum(Mathf.Min(Num, 3));
6853 card.AddCard(thing);
6854 if (!IsParentLocked())
6855 {
6856 GetRootCard().Say("seed_rot", GetRootCard(), this, thing.Name);
6857 }
6858 Destroy();
6859 return;
6860 }
6861 if (parent == EClass._zone)
6862 {
6863 Say("rot", this);
6864 }
6865 else if (GetRootCard() == EClass.pc)
6866 {
6867 if (!IsParentLocked())
6868 {
6869 EClass.pc.Say("rotInv", this, EClass.pc);
6870 }
6872 }
6873 if (IsFood)
6874 {
6875 elements.ModBase(73, -10);
6876 }
6877 }
6878 }
6879 else if (decay < num2 && decay + a >= num2 && GetRootCard() == EClass.pc)
6880 {
6881 if (!IsParentLocked())
6882 {
6883 EClass.pc.Say("rottingInv", this, EClass.pc);
6884 }
6886 }
6887 decay += a;
6888 bool IsParentLocked()
6889 {
6890 if (parent is Thing)
6891 {
6892 return (parent as Thing).c_lockLv > 0;
6893 }
6894 return false;
6895 }
6896 }
bool IsDecayed
Definition: Card.cs:2315
string Name
Definition: Card.cs:2165
bool IsFood
Definition: Card.cs:2203
virtual int MaxDecay
Definition: Card.cs:2313
bool IsChildOf(Card c)
Definition: Card.cs:2689
static Thing MakeRandomSeed(bool enc=false)
Definition: TraitSeed.cs:192

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

◆ DecayNatural()

void Card.DecayNatural ( int  hour = 1)
inline

Definition at line 6783 of file Card.cs.

6784 {
6785 if (!isNPCProperty)
6786 {
6787 things.ForeachReverse(delegate(Thing t)
6788 {
6789 t.DecayNatural(hour);
6790 });
6791 if (sourceCard._origin == "dish")
6792 {
6794 }
6795 if (parent is Card && (parent as Card).trait.CanChildDecay(this))
6796 {
6797 Decay(10 * hour);
6798 }
6799 else if (!isChara && trait.Decay != 0)
6800 {
6801 Decay(trait.Decay * hour);
6802 }
6803 }
6804 }
string _origin
Definition: CardRow.cs:15
bool isNPCProperty
Definition: Card.cs:555
void DecayNatural(int hour=1)
Definition: Card.cs:6783
void Decay(int a=10)
Definition: Card.cs:6815
void CheckJustCooked()
Definition: Card.cs:6806
virtual bool CanChildDecay(Card c)
Definition: Trait.cs:1093
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 5126 of file Card.cs.

5127 {
5128 PlaySound(material.GetSoundDead(sourceCard));
5129 Destroy();
5130 }

References material.

Referenced by AI_Deconstruct.Run().

◆ Destroy()

void Card.Destroy ( )
inline

Definition at line 5132 of file Card.cs.

5133 {
5134 if (isDestroyed)
5135 {
5136 Debug.Log(Name + " is already destroyed.");
5137 return;
5138 }
5139 if (isChara)
5140 {
5141 if (IsPCFaction && !Chara.isSummon)
5142 {
5143 Debug.Log(this);
5144 return;
5145 }
5146 Chara.DropHeld();
5147 Chara.isDead = true;
5148 if (IsPCParty)
5149 {
5151 }
5152 if (IsGlobal)
5153 {
5155 }
5156 }
5157 if (renderer.hasActor)
5158 {
5160 }
5161 if (parent != null)
5162 {
5163 parent.RemoveCard(this);
5164 }
5165 for (int num = things.Count - 1; num >= 0; num--)
5166 {
5167 things[num].Destroy();
5168 }
5169 isDestroyed = true;
5170 }
GlobalCharaList globalCharas
Definition: CardManager.cs:46
void KillActor()
bool isSummon
Definition: Card.cs:711
virtual bool IsGlobal
Definition: Card.cs:2311
Card DropHeld(Point dropPos=null)
Definition: Chara.cs:4653
void RemoveMember(Chara c)
Definition: Party.cs:102

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

Referenced by InvOwnerDeliver._OnProcess(), InvOwnerGacha._OnProcess(), InvOwnerRecycle._OnProcess(), MapSubset.Apply(), PartialMap.Apply(), Chara.Banish(), FactionBranch.BanishMember(), DramaOutcome.check_sketch(), Chara.ClearInventory(), ContentCodex.Collect(), TraitSpotBiome.CountNotableThing(), TraitCrafter.Craft(), RecipeCard.CreateMold(), FactionBranch.DailyOutcome(), QuestDeliver.Deliver(), ThingContainer.DestroyAll(), Chara.DropThing(), Chara.EQ_CAT(), Chara.EQ_ID(), CoreDebug.Fix_RemoveAshland(), CoreDebug.Fix_RemoveDemitas(), DramaOutcome.give_sketch_special(), Chara.GiveGift(), Chara.GiveLovePotion(), TaskHarvest.HarvestThing(), ModNum(), TraitTrap.OnActivateTrap(), TraitBrewery.OnChildDecay(), Meeting.OnEndDrama(), Chara.OnGiveErohon(), Game.OnLoad(), TraitAltar.OnOffer(), AM_FlagCell.OnProcessTiles(), AI_Fish.ProgressFish.OnProgressComplete(), TaskDig.OnProgressComplete(), TraitFertilizer.OnSimulateHour(), Zone.OnSimulateHour(), TraitFarmChest.OnUse(), TraitScrollMapTreasure.OnUse(), TraitStairsLocked.OnUse(), TraitFoodMeat.OnUse(), InvOwnerDeliver.PayBill(), ActEffect.Proc(), PurgeDuplicateArtifact(), Map.PutAway(), Trait.Refuel(), QuestEscort.ReleaseEscort(), RemoveBacker(), GameDate.ShipGoods(), 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 5065 of file Card.cs.

5066 {
5067 Card rootCard = GetRootCard();
5068 Point _pos = rootCard?.pos ?? pos;
5069 if (_pos != null && !_pos.IsValid)
5070 {
5071 _pos = null;
5072 }
5073 if (trait.EffectDead == EffectDead.Default && _pos != null)
5074 {
5075 _pos.PlaySound(material.GetSoundDead(sourceCard));
5076 _pos.PlayEffect("mine").SetParticleColor(material.GetColor()).Emit(10 + EClass.rnd(10));
5077 material.AddBlood(_pos, trait.CanBeSmashedToDeath ? (12 + EClass.rnd(8)) : 6);
5078 if (_pos.IsSync)
5079 {
5080 string text = ((rootCard != this) ? "destroyed_inv_" : "destroyed_ground_");
5081 if (e != null && LangGame.Has(text + e.source.alias))
5082 {
5083 text += e.source.alias;
5084 }
5085 if (attackSource != AttackSource.Throw)
5086 {
5087 Msg.Say(text, this, rootCard);
5088 }
5089 }
5090 else if (attackSource != AttackSource.Throw)
5091 {
5092 Msg.Say("destroyed", this);
5093 }
5094 }
5095 if (_pos != null && !EClass._zone.IsUserZone)
5096 {
5097 things.ForeachReverse(delegate(Thing t)
5098 {
5099 if (!(t.trait is TraitChestMerchant))
5100 {
5101 EClass._zone.AddCard(t, _pos);
5102 }
5103 });
5104 }
5105 Destroy();
5106 if (e != null && _pos != null && e.id == 21)
5107 {
5108 EClass._zone.AddCard(ThingGen.Create((EClass.rnd(2) == 0) ? "ash" : "ash2"), _pos);
5109 }
5110 if (trait.ThrowType == ThrowType.Explosive && EClass.rnd((!(trait is TraitAmmoRocket)) ? 1 : 2) == 0)
5111 {
5112 Explode(pos, origin);
5113 }
5114 }
EffectDead
Definition: EffectDead.cs:2
ThrowType
Definition: ThrowType.cs:2
void Explode(Point p, Card origin)
Definition: Card.cs:5116
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:1253
Effect PlayEffect(string id)
Definition: Point.cs:1248
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(), and Map.TryShatter().

◆ Dist() [1/2]

int Card.Dist ( Card  c)
inline

Definition at line 7867 of file Card.cs.

7868 {
7869 if (!IsMultisize && !c.IsMultisize)
7870 {
7871 return pos.Distance(c.pos);
7872 }
7873 if (IsMultisize)
7874 {
7875 int dist = 99;
7876 ForeachPoint(delegate(Point p, bool main)
7877 {
7878 int num2 = DistMulti(p, c);
7879 if (num2 < dist)
7880 {
7881 dist = num2;
7882 }
7883 });
7884 return dist;
7885 }
7886 return DistMulti(pos, c);
7887 static int DistMulti(Point p1, Card c)
7888 {
7889 if (!c.IsMultisize)
7890 {
7891 return p1.Distance(c.pos);
7892 }
7893 int dist2 = 99;
7894 c.ForeachPoint(delegate(Point p, bool main)
7895 {
7896 int num = p1.Distance(p);
7897 if (num < dist2)
7898 {
7899 dist2 = num;
7900 }
7901 });
7902 return dist2;
7903 }
7904 }
virtual bool IsMultisize
Definition: Card.cs:2186
void ForeachPoint(Action< Point, bool > action)
Definition: Card.cs:8032
int Distance(Point p)
Definition: Point.cs:989

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

Referenced by Chara._Move(), AM_Adv._OnUpdateInput(), ActPlan._Update(), ActMelee.Attack(), ActMelee.CanPerform(), ActRush.CanPerform(), ActSwarm.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 7906 of file Card.cs.

7907 {
7908 return pos.Distance(p);
7909 }

References Point.Distance().

◆ Duplicate()

Thing Card.Duplicate ( int  num)
inline

Definition at line 3498 of file Card.cs.

3499 {
3500 Thing thing = ThingGen.Create(id);
3501 thing.ChangeMaterial(idMaterial, ignoreFixedMaterial: true);
3502 thing._bits1 = _bits1;
3503 thing._bits2 = _bits2;
3504 thing.dir = dir;
3505 thing.refVal = refVal;
3506 thing.altitude = altitude;
3507 thing.idSkin = idSkin;
3508 thing.blessedState = blessedState;
3509 thing.rarityLv = rarityLv;
3510 thing.tier = tier;
3511 thing.LV = LV;
3512 thing.exp = exp;
3513 thing.encLV = encLV;
3514 thing.decay = decay;
3515 thing.mapInt.Clear();
3516 thing.mapStr.Clear();
3517 foreach (KeyValuePair<int, int> item in mapInt)
3518 {
3519 thing.mapInt[item.Key] = item.Value;
3520 }
3521 foreach (KeyValuePair<int, string> item2 in mapStr)
3522 {
3523 thing.mapStr[item2.Key] = item2.Value;
3524 }
3525 elements.CopyTo(thing.elements);
3526 thing.SetNum(num);
3527 if (thing.IsRangedWeapon)
3528 {
3529 thing.sockets = IO.DeepCopy(sockets);
3530 }
3531 if (thing.c_containerSize != 0)
3532 {
3533 thing.things.SetOwner(thing);
3534 }
3535 return thing;
3536 }
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:3089
bool IsRangedWeapon
Definition: Card.cs:2271
int c_containerSize
Definition: Card.cs:1379
int rarityLv
Definition: Card.cs:303
BlessedState blessedState
Definition: Card.cs:279
int dir
Definition: Card.cs:147
void CopyTo(ElementContainer container)
Definition: IO.cs:11

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

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

◆ Dye() [1/2]

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

Definition at line 6186 of file Card.cs.

6187 {
6188 isDyed = mat != null;
6189 c_dyeMat = mat?.id ?? 0;
6190 _colorInt = 0;
6191 }
int c_dyeMat
Definition: Card.cs:1199
bool isDyed
Definition: Card.cs:459

◆ Dye() [2/2]

◆ DyeRandom()

void Card.DyeRandom ( )
inline

Definition at line 6176 of file Card.cs.

6177 {
6178 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);
6179 }

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

3631 {
3632 for (int i = 0; i < sockets.Count; i++)
3633 {
3634 int num = sockets[i];
3635 if (num != 0)
3636 {
3637 Thing thing = ThingGen.Create(isCopy ? "ash3" : "mod_ranged");
3638 int ele = num / 1000;
3639 int num2 = num % 1000;
3640 elements.ModBase(ele, -num2);
3641 if (!isCopy)
3642 {
3643 thing.refVal = ele;
3644 thing.encLV = num2;
3645 }
3647 sockets[i] = 0;
3648 }
3649 }
3650 }
bool ExistsOnMap
Definition: Card.cs:2111
void TrySmoothPick(Cell cell, Thing t, Chara c)
Definition: Map.cs:1804
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 2599 of file Card.cs.

2600 {
2601 return elements.Value(ele);
2602 }
int Value(int ele)

References elements, and ElementContainer.Value().

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

◆ Evalue() [2/3]

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

Definition at line 2604 of file Card.cs.

2605 {
2606 if (!ignoreGlobalElement || !HasGlobalElement(ele))
2607 {
2608 return elements.Value(ele);
2609 }
2610 return 0;
2611 }
bool HasGlobalElement(int ele)
Definition: Card.cs:6113

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

◆ Evalue() [3/3]

int Card.Evalue ( string  alias)
inline

Definition at line 2618 of file Card.cs.

2619 {
2620 return elements.Value(EClass.sources.elements.alias[alias].id);
2621 }

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

◆ EvalueMax()

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

Definition at line 2613 of file Card.cs.

2614 {
2615 return Mathf.Max(elements.Value(ele), min);
2616 }

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

5117 {
5118 ActEffect.ProcAt(EffectId.Explosive, 100, blessedState, this, null, p, isNeg: true, new ActRef
5119 {
5120 origin = origin?.Chara,
5121 refThing = Thing,
5122 aliasEle = "eleImpact"
5123 });
5124 }
static void ProcAt(EffectId id, int power, BlessedState state, Card cc, Card tc, Point tp, bool isNeg, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:492
Definition: ActRef.cs:2

References ActEffect.ProcAt().

◆ FindTool< T >()

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

Definition at line 2694 of file Card.cs.

2694 : Trait
2695 {
2696 if (IsPC)
2697 {
2698 return Tool?.trait as T;
2699 }
2700 return things.Find<T>()?.trait as T;
2701 }
Thing Tool
Definition: Card.cs:2438
Thing Find(int uid)

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

◆ ForeachFOV()

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

Definition at line 8016 of file Card.cs.

8017 {
8018 if (fov == null)
8019 {
8020 return;
8021 }
8022 foreach (KeyValuePair<int, byte> lastPoint in fov.lastPoints)
8023 {
8024 Point arg = new Point().Set(lastPoint.Key);
8025 if (func(arg))
8026 {
8027 break;
8028 }
8029 }
8030 }

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

◆ ForeachPoint()

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

Definition at line 8032 of file Card.cs.

8033 {
8034 if (IsMultisize)
8035 {
8036 pos.ForeachMultiSize(W, H, action);
8037 }
8038 else
8039 {
8040 action(pos, arg2: true);
8041 }
8042 }
int H
Definition: Card.cs:2394
int W
Definition: Card.cs:2382
void ForeachMultiSize(int w, int h, Action< Point, bool > action)
Definition: Point.cs:1385

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

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

References Chara.affinity, and Affinity.value.

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

◆ GetArmorSkill()

virtual int Card.GetArmorSkill ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 4087 of file Card.cs.

4088 {
4089 return 0;
4090 }

Referenced by ApplyProtection().

◆ GetBestAttribute()

int Card.GetBestAttribute ( )
inline

Definition at line 2658 of file Card.cs.

2659 {
2660 int num = 1;
2661 foreach (Element item in elements.dict.Values.Where((Element a) => Element.List_MainAttributesMajor.Contains(a.id)))
2662 {
2663 int num2 = item.Value;
2664 if (isChara && Chara.tempElements != null)
2665 {
2666 num2 -= Chara.tempElements.Value(item.id);
2667 }
2668 if (num2 > num)
2669 {
2670 num = num2;
2671 }
2672 }
2673 return num;
2674 }
ElementContainer tempElements
Definition: Chara.cs:36
Dictionary< int, Element > dict
static int[] List_MainAttributesMajor
Definition: ELEMENT.cs:247

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

Referenced by AI_Fuck.Finish().

◆ GetCondition< T >()

virtual T Card.GetCondition< T > ( )
inlinevirtual

Reimplemented in Chara.

Type Constraints
T :Condition 

Definition at line 8072 of file Card.cs.

8072 : Condition
8073 {
8074 return null;
8075 }

◆ GetCurrency()

◆ GetDaysTogetherBonus()

int Card.GetDaysTogetherBonus ( )
inline

Definition at line 3032 of file Card.cs.

3033 {
3035 {
3036 return 100;
3037 }
3038 return 100 + EClass.curve(c_daysWithPC / 100 * 3, 100, 20, 70);
3039 }
int c_daysWithPC
Definition: Card.cs:1499

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

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

◆ GetDetail()

virtual string Card.GetDetail ( )
inlinevirtual

Definition at line 2653 of file Card.cs.

2654 {
2655 return sourceCard.GetText("detail", returnNull: true);
2656 }
string GetText(string id="name", bool returnNull=false)
Definition: SourceData.cs:553

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

◆ GetEquipValue()

int Card.GetEquipValue ( )
inline

Definition at line 7373 of file Card.cs.

7374 {
7375 return GetValue();
7376 }
int GetValue(PriceType priceType=PriceType.Default, bool sell=false)
Definition: Card.cs:7394

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

◆ GetExpMtp()

int Card.GetExpMtp ( )
inline

Definition at line 3009 of file Card.cs.

3010 {
3011 int num = 100;
3012 if (!IsPC)
3013 {
3014 num *= 2;
3015 if (IsPCFaction)
3016 {
3017 num = num * GetAffinityExpBonus() / 100;
3019 {
3020 num = num * (50 + EClass.game.principal.petFeatExpMtp * 50) / 100;
3021 }
3022 }
3023 }
3024 return num * (100 + Evalue(1237) * 30 + Evalue(1273) * 50 + ((Evalue(1275) >= 2) ? 50 : 0)) / 100;
3025 }
int GetAffinityExpBonus()
Definition: Card.cs:3027

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

2649 {
2650 return "";
2651 }

Referenced by Act.GetTextSmall().

◆ GetFoodName()

string Card.GetFoodName ( string  s)
inline

Definition at line 5762 of file Card.cs.

5763 {
5764 return s.Replace("_corpseFrom".lang(), "_corpseTo".lang());
5765 }

◆ GetHearingRadius()

int Card.GetHearingRadius ( )
inline

Definition at line 6592 of file Card.cs.

6593 {
6594 return 8;
6595 }

Referenced by AI_Idle.Run().

◆ GetHoverText()

virtual string Card.GetHoverText ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 7857 of file Card.cs.

7858 {
7859 return Name + GetExtraName();
7860 }
virtual string GetExtraName()
Definition: Card.cs:2648

◆ GetHoverText2()

virtual string Card.GetHoverText2 ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 7862 of file Card.cs.

7863 {
7864 return "";
7865 }

Referenced by Chara.GetHoverText2().

◆ GetImageSprite()

virtual Sprite Card.GetImageSprite ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 6279 of file Card.cs.

6280 {
6281 return null;
6282 }

Referenced by HotItemThing.GetSprite().

◆ GetLightPower()

float Card.GetLightPower ( )
inline

Definition at line 6578 of file Card.cs.

6579 {
6581 if (LightData != null)
6582 {
6583 return 0.01f * LightData.color.a * 256f * 1.12f;
6584 }
6585 if (IsPCFaction && !IsPC)
6586 {
6587 num *= 4f;
6588 }
6589 return num;
6590 }
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 6606 of file Card.cs.

6607 {
6608 if (isThing)
6609 {
6610 if (!IsInstalled && EClass.pc.held != this)
6611 {
6612 return 0;
6613 }
6615 {
6616 return (trait as TraitLightSource).LightRadius;
6617 }
6618 if (LightData == null || !trait.IsLightOn)
6619 {
6620 return 0;
6621 }
6622 return LightData.radius;
6623 }
6624 int num = ((LightData != null) ? LightData.radius : 0);
6625 int num2 = 0;
6626 if (IsPC)
6627 {
6628 if (Chara.isBlind)
6629 {
6630 return 1;
6631 }
6632 num = ((EClass._map.IsIndoor || EClass.world.date.IsNight) ? 2 : ((EClass.world.date.periodOfDay == PeriodOfDay.Day) ? 6 : 5));
6633 num2 = 2;
6634 }
6635 else
6636 {
6638 {
6639 return 0;
6640 }
6641 if (LightData == null && !EClass._map.IsIndoor && !EClass.world.date.IsNight)
6642 {
6643 return 0;
6644 }
6645 }
6646 if (IsPCFaction)
6647 {
6648 Thing equippedThing = Chara.body.GetEquippedThing(45);
6649 if (equippedThing != null && equippedThing.trait is TraitLightSource traitLightSource)
6650 {
6651 num2 = traitLightSource.LightRadius;
6652 }
6653 if (Chara.held != null && IsPC)
6654 {
6655 int lightRadius = Chara.held.GetLightRadius();
6656 if (lightRadius > 0)
6657 {
6658 if (lightRadius > num2)
6659 {
6660 num2 = Chara.held.GetLightRadius() - 1;
6661 }
6662 if (num2 < 3)
6663 {
6664 num2 = 3;
6665 }
6666 }
6667 }
6668 if (num < num2)
6669 {
6670 num = num2;
6671 }
6672 }
6673 return num;
6674 }
PeriodOfDay
Definition: PeriodOfDay.cs:2
Thing GetEquippedThing(int elementId)
Definition: CharaBody.cs:424
bool isBlind
Definition: Chara.cs:132
GraphicSetting graphic
Definition: CoreConfig.cs:607
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 2643 of file Card.cs.

2644 {
2645 return "Card";
2646 }

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

◆ GetPaintData()

byte[] Card.GetPaintData ( )
inline

Definition at line 7255 of file Card.cs.

7256 {
7257 Sprite sprite = GetSprite();
7258 Texture2D texture2D = ScreenCapture.CaptureScreenshotAsTexture();
7259 int num = sprite.texture.width * 2;
7260 int num2 = sprite.texture.height * 2;
7261 int x = (int)Mathf.Clamp(Input.mousePosition.x - (float)(num / 2), 1f, texture2D.width - num - 1);
7262 int y = (int)Mathf.Clamp(Input.mousePosition.y - (float)(num2 / 2), 1f, texture2D.height - num2 - 1);
7263 Color[] pixels = texture2D.GetPixels(x, y, num, num2);
7264 Texture2D texture2D2 = new Texture2D(num, num2, TextureFormat.ARGB32, mipChain: false);
7265 texture2D2.SetPixels(pixels);
7266 texture2D2.Apply();
7267 byte[] result = texture2D2.EncodeToJPG();
7268 UnityEngine.Object.Destroy(texture2D);
7269 UnityEngine.Object.Destroy(texture2D2);
7270 return result;
7271 }
virtual Sprite GetSprite(int dir=0)
Definition: Card.cs:6262

References Color.

Referenced by AM_Paint.OnUpdateInput().

◆ GetPaintSprite()

Sprite Card.GetPaintSprite ( )
inline

Definition at line 7283 of file Card.cs.

7284 {
7285 if (!_paintSprite)
7286 {
7287 byte[] data = c_textureData;
7288 Texture2D texture2D = new Texture2D(1, 1);
7289 texture2D.LoadImage(data);
7290 _paintSprite = Sprite.Create(texture2D, new Rect(0f, 0f, texture2D.width, texture2D.height), new Vector2(0.5f, 0.5f), 200f);
7291 EClass.game.loadedTextures.Add(texture2D);
7292 if (trait is TraitCanvas traitCanvas)
7293 {
7294 texture2D.filterMode = ((!traitCanvas.PointFilter) ? FilterMode.Bilinear : FilterMode.Point);
7295 }
7296 }
7297 return _paintSprite;
7298 }
byte[] c_textureData
Definition: Card.cs:1955
HashSet< Texture2D > loadedTextures
Definition: Game.cs:258

References EClass.game, and Game.loadedTextures.

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

◆ GetPrice()

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

Definition at line 7472 of file Card.cs.

7473 {
7474 if (priceType == PriceType.CopyShop && sell)
7475 {
7476 return 0;
7477 }
7478 if (!sell)
7479 {
7480 if (id == "littleball")
7481 {
7482 return 0;
7483 }
7484 switch (currency)
7485 {
7486 case CurrencyType.Money:
7487 if (id == "crimale2")
7488 {
7489 return 6480;
7490 }
7491 break;
7492 case CurrencyType.Influence:
7493 switch (id)
7494 {
7495 case "ticket_fortune":
7496 return 5;
7497 case "medal":
7498 return 5;
7499 case "lunch_love":
7500 return 20;
7501 }
7502 break;
7503 case CurrencyType.Ecopo:
7504 switch (id)
7505 {
7506 case "plat":
7507 return 500;
7508 case "rune_free":
7509 return 1000;
7510 case "whip_egg":
7511 return 3000;
7512 case "brush_strip":
7513 return 2500;
7514 case "hammer_strip":
7515 return 5000;
7516 case "helm_chef":
7517 return 25000;
7518 }
7519 break;
7520 case CurrencyType.Plat:
7521 switch (id)
7522 {
7523 case "lucky_coin":
7524 return 100;
7525 case "book_exp":
7526 return 200;
7527 case "book_skill":
7528 return 50;
7529 }
7530 break;
7531 case CurrencyType.Medal:
7532 switch (id)
7533 {
7534 case "1282":
7535 return 5;
7536 case "bill_tax":
7537 return 3;
7538 case "water":
7539 return 3;
7540 case "bill":
7541 return 3;
7542 case "1165":
7543 return 10;
7544 case "diary_sister":
7545 return 12;
7546 case "diary_lady":
7547 return 25;
7548 case "diary_catsister":
7549 return 85;
7550 case "container_magic":
7551 return 20;
7552 case "wrench_tent_elec":
7553 return 3;
7554 case "wrench_tent_soil":
7555 return 3;
7556 case "wrench_tent_seabed":
7557 return 12;
7558 case "wrench_bed":
7559 return 3;
7560 case "wrench_storage":
7561 return 4;
7562 case "wrench_fridge":
7563 return 15;
7564 case "wrench_extend_v":
7565 return 6;
7566 case "wrench_extend_h":
7567 return 6;
7568 case "monsterball":
7569 return LV / 8;
7570 case "372":
7571 return 3;
7572 case "scroll_random":
7573 if (refVal == 8288)
7574 {
7575 return 20;
7576 }
7577 break;
7578 }
7579 break;
7580 }
7581 }
7582 if (sell && noSell)
7583 {
7584 return 0;
7585 }
7586 if (!sell && id == "casino_coin")
7587 {
7588 return 20;
7589 }
7590 int value = GetValue(priceType, sell);
7591 if (value == 0)
7592 {
7593 return 0;
7594 }
7595 if (c == null)
7596 {
7597 c = EClass.pc;
7598 }
7599 double p = value;
7600 Trait trait = this.trait;
7601 if (!(trait is TraitBed))
7602 {
7603 if (trait is TraitContainer traitContainer)
7604 {
7605 p *= 1f + 4f * (float)(things.width - traitContainer.Width) + 4f * (float)(things.height - traitContainer.Height);
7606 }
7607 }
7608 else
7609 {
7610 p *= 1f + 0.5f * (float)c_containerSize;
7611 }
7612 p += c_priceAdd;
7613 if (c_priceFix != 0)
7614 {
7615 p = (int)((float)p * (float)Mathf.Clamp(100 + c_priceFix, 0, 1000000) / 100f);
7616 if (p == 0.0)
7617 {
7618 return 0;
7619 }
7620 }
7621 if (isStolen)
7622 {
7623 if (sell && priceType == PriceType.PlayerShop && EClass.Branch != null && EClass.Branch.policies.IsActive(2824))
7624 {
7625 p = p * 100.0 / (double)Mathf.Max(110f, 170f - Mathf.Sqrt(EClass.Branch.Evalue(2824) * 5));
7626 }
7627 else if (sell && Guild.Thief.IsMember)
7628 {
7629 p = Guild.Thief.SellStolenPrice((int)p);
7630 }
7631 else
7632 {
7633 p *= 0.5;
7634 }
7635 }
7636 if (!sell && category.id == "spellbook")
7637 {
7638 p = Guild.Mage.BuySpellbookPrice((int)p);
7639 }
7640 bool flag = priceType == PriceType.CopyShop;
7641 int num = ((!flag) ? 1 : 5);
7642 float num2 = Mathf.Min(0.01f * (float)Evalue(752), 1f);
7643 float num3 = Mathf.Min(0.01f * (float)Evalue(751), 1f);
7644 float num4 = Mathf.Min(0.02f * (float)Evalue(759), 2f);
7645 if (num3 > 0f)
7646 {
7647 num3 *= (float)num;
7648 }
7649 float num5 = Mathf.Clamp(1f + num2 + num3, 0.5f, 5f) + num4;
7650 p *= num5;
7651 p *= 0.20000000298023224;
7652 if (sell)
7653 {
7654 p *= 0.20000000298023224;
7655 if (isCopy)
7656 {
7657 p *= 0.20000000298023224;
7658 }
7659 if (isReplica)
7660 {
7661 p *= 0.20000000298023224;
7662 }
7663 if (currency == CurrencyType.Money && (category.IsChildOf("meal") || category.IsChildOf("preserved")))
7664 {
7665 p *= 0.5;
7666 }
7667 if ((uint)(priceType - 1) <= 1u)
7668 {
7669 if (category.IsChildOf("fish"))
7670 {
7671 p *= ((EClass.pc.faith == EClass.game.religions.Luck) ? 1.5f : 1f);
7672 }
7673 if (category.IsChildOf("vegi") || category.IsChildOf("fruit"))
7674 {
7675 p *= ((EClass.pc.faith == EClass.game.religions.Harvest) ? 3f : 2f);
7676 }
7677 }
7678 }
7679 if (id == "rod_wish")
7680 {
7681 p *= (sell ? 0.01f : 50f);
7682 }
7683 switch (currency)
7684 {
7685 case CurrencyType.Ecopo:
7686 if (this.trait is TraitSeed)
7687 {
7688 p *= 2.0;
7689 }
7690 else if (this.trait is TraitEcoMark)
7691 {
7692 p *= 1.0;
7693 }
7694 else
7695 {
7696 p *= 0.20000000298023224;
7697 }
7698 break;
7699 case CurrencyType.Casino_coin:
7700 p *= 0.10000000149011612;
7701 break;
7702 case CurrencyType.Influence:
7703 p *= 0.0020000000949949026;
7704 break;
7705 case CurrencyType.Medal:
7706 p *= 0.00019999999494757503;
7707 break;
7708 case CurrencyType.Money2:
7709 p *= 0.004999999888241291;
7710 break;
7711 default:
7712 if (IsIdentified || (this.trait is TraitErohon && !sell) || priceType == PriceType.Tourism)
7713 {
7714 if (blessedState == BlessedState.Blessed)
7715 {
7716 p *= 1.25;
7717 }
7718 else if (blessedState <= BlessedState.Cursed)
7719 {
7720 p *= (flag ? 1.25f : 0.3f);
7721 }
7722 if (this.trait.HasCharges)
7723 {
7724 p = p * 0.05000000074505806 + p * (double)(0.5f + Mathf.Clamp(0.1f * (float)c_charges, 0f, 1.5f));
7725 }
7726 if (IsDecayed)
7727 {
7728 p *= (flag ? 0.9f : 0.5f);
7729 }
7730 }
7731 else
7732 {
7733 Rand.UseSeed(uid, delegate
7734 {
7735 p = (sell ? (1 + EClass.rnd(15)) : (50 + EClass.rnd(500)));
7736 });
7737 }
7738 if (!sell)
7739 {
7740 p *= 1f + 0.2f * (float)c.Evalue(1406);
7741 }
7742 break;
7743 }
7744 float num6 = Math.Clamp(Mathf.Sqrt(c.EvalueMax(291) + ((!sell && EClass._zone.IsPCFaction) ? (EClass.Branch.Evalue(2800) * 2) : 0)), 0f, 25f);
7745 switch (priceType)
7746 {
7747 case PriceType.Tourism:
7748 num6 = 0f;
7749 break;
7750 case PriceType.Shipping:
7751 if (sell)
7752 {
7753 p *= 1.100000023841858;
7754 }
7755 break;
7756 case PriceType.PlayerShop:
7757 {
7758 if (!sell)
7759 {
7760 break;
7761 }
7762 float num7 = 1.25f;
7763 if (EClass.Branch != null)
7764 {
7765 if (EClass.Branch.policies.IsActive(2817))
7766 {
7767 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2817));
7768 }
7769 if (EClass.Branch.policies.IsActive(2816))
7770 {
7771 num7 += 0.2f + 0.02f * Mathf.Sqrt(EClass.Branch.Evalue(2816));
7772 }
7773 if (isChara)
7774 {
7775 if (EClass.Branch.policies.IsActive(2828))
7776 {
7777 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2828));
7778 }
7779 }
7780 else if (category.IsChildOf("food") || category.IsChildOf("drink"))
7781 {
7782 if (EClass.Branch.policies.IsActive(2818))
7783 {
7784 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2818));
7785 }
7786 }
7787 else if (category.IsChildOf("furniture"))
7788 {
7789 if (EClass.Branch.policies.IsActive(2819))
7790 {
7791 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2819));
7792 }
7793 }
7794 else if (EClass.Branch.policies.IsActive(2820))
7795 {
7796 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2820));
7797 }
7798 }
7799 p *= num7;
7800 break;
7801 }
7802 }
7803 if ((uint)currency > 1u)
7804 {
7805 num6 = 0f;
7806 }
7807 p *= (sell ? (1f + num6 * 0.02f) : (1f - num6 * 0.02f));
7808 if (sell)
7809 {
7810 p = EClass.curve((int)p, 10000, 10000, 80);
7811 }
7812 if (p < 1.0)
7813 {
7814 p = ((!sell) ? 1 : 0);
7815 }
7816 if (!sell)
7817 {
7818 if (currency == CurrencyType.Casino_coin)
7819 {
7820 if (p > 100000.0)
7821 {
7822 p = Mathf.CeilToInt((float)p / 100000f) * 100000;
7823 }
7824 else if (p > 10000.0)
7825 {
7826 p = Mathf.CeilToInt((float)p / 10000f) * 10000;
7827 }
7828 else if (p > 1000.0)
7829 {
7830 p = Mathf.CeilToInt((float)p / 1000f) * 1000;
7831 }
7832 else if (p > 100.0)
7833 {
7834 p = Mathf.CeilToInt((float)p / 100f) * 100;
7835 }
7836 else if (p > 10.0)
7837 {
7838 p = Mathf.CeilToInt((float)p / 10f) * 10;
7839 }
7840 }
7841 if (this.trait is TraitDeed)
7842 {
7843 p *= Mathf.Pow(2f, EClass.player.flags.landDeedBought);
7844 }
7845 }
7846 if (p > (double)(sell ? 500000000 : 1000000000))
7847 {
7848 if (!sell)
7849 {
7850 return 1000000000;
7851 }
7852 return 500000000;
7853 }
7854 return (int)p;
7855 }
BlessedState
Definition: BlessedState.cs:2
@ currency
CurrencyType
Definition: CurrencyType.cs:2
PriceType
Definition: PriceType.cs:2
int c_priceFix
Definition: Card.cs:1138
bool noSell
Definition: Card.cs:831
int c_priceAdd
Definition: Card.cs:1150
bool isStolen
Definition: Card.cs:855
bool IsIdentified
Definition: Card.cs:2405
bool isReplica
Definition: Card.cs:699
int c_charges
Definition: Card.cs:1283
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:665
Flags flags
Definition: Player.cs:1100
bool IsActive(int id, int days=-1)
static void UseSeed(int seed, Action action)
Definition: Rand.cs:22
ReligionHarvest Harvest
ReligionLuck Luck
virtual bool HasCharges
Definition: Trait.cs:341

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

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

◆ GetRandomColor()

ref Color Card.GetRandomColor ( )
inline

Definition at line 6235 of file Card.cs.

6236 {
6237 int num = EClass.game.seed + refVal;
6238 num += id[0] % 10000;
6239 if (id.Length > 1)
6240 {
6241 num += id[1] % 1000;
6242 if (id.Length > 2)
6243 {
6244 num += id[2] % 1000;
6245 if (id.Length > 3)
6246 {
6247 num += id[3] % 1000;
6248 if (id.Length > 4)
6249 {
6250 num += id[4] % 1000;
6251 }
6252 }
6253 }
6254 }
6255 Rand.UseSeed(num, delegate
6256 {
6257 _randColor = EClass.sources.materials.rows[EClass.rnd(90)].matColor;
6258 });
6259 return ref _randColor;
6260 }
static Color _randColor
Definition: Card.cs:94

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

◆ GetRenderParam()

RenderParam Card.GetRenderParam ( )
inline

Definition at line 6162 of file Card.cs.

6163 {
6165 shared.color = 11010048f;
6166 shared.liquidLv = 0;
6167 shared.cell = null;
6168 SetRenderParam(shared);
6169 return shared;
6170 }
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:6172
static RenderParam shared
Definition: RenderParam.cs:5

References RenderParam.shared.

Referenced by EffectIRenderer.OnUpdate().

◆ GetRestrainer()

TraitShackle Card.GetRestrainer ( )
inline

Definition at line 7336 of file Card.cs.

7337 {
7338 foreach (Card item in pos.ListCards())
7339 {
7340 if (item.trait is TraitShackle && item.c_uidRefCard == uid)
7341 {
7342 return item.trait as TraitShackle;
7343 }
7344 }
7345 return null;
7346 }
List< Card > ListCards(bool includeMasked=false)
Definition: Point.cs:1051

References item, and Point.ListCards().

Referenced by BaseTileMap.DrawTile().

◆ GetRoot()

ICardParent Card.GetRoot ( )
inline

Implements ICardParent.

Definition at line 3471 of file Card.cs.

3472 {
3473 if (parent == null)
3474 {
3475 return this;
3476 }
3477 return parent.GetRoot();
3478 }
ICardParent GetRoot()

References ICardParent.GetRoot(), and parent.

Referenced by UIInventory.RefreshMenu().

◆ GetRootCard()

Card Card.GetRootCard ( )
inline

Definition at line 3480 of file Card.cs.

3481 {
3482 if (!(parent is Card card))
3483 {
3484 return this;
3485 }
3486 return card.GetRootCard();
3487 }

References card, and parent.

Referenced by InvOwnerBlend._OnProcess(), InvOwnerChangeMaterial._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(), ActRanged.TryReload(), TraitContainer.TrySetAct(), Map.TryShatter(), ThingContainer.TryStack(), and TryStackTo().

◆ GetRuneEnc()

SocketData Card.GetRuneEnc ( int  idEle)
inline

Definition at line 3679 of file Card.cs.

3680 {
3681 if (socketList != null)
3682 {
3683 foreach (SocketData socket in socketList)
3684 {
3685 if (socket.type == SocketData.Type.Rune && socket.idEle == idEle)
3686 {
3687 return socket;
3688 }
3689 }
3690 }
3691 return null;
3692 }

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

Referenced by Element.AddEncNote().

◆ GetSightRadius()

int Card.GetSightRadius ( )
inline

Definition at line 6597 of file Card.cs.

6598 {
6599 if (IsPC)
6600 {
6601 return EClass.player.lightRadius;
6602 }
6603 return (EClass._map.IsIndoor ? 4 : 5) + (IsPCFaction ? 1 : 0) + EvalueMax(490) + EClass._zone.SightRadiusBonus;
6604 }
int lightRadius
Definition: Player.cs:1195

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

6263 {
6264 if (trait is TraitFakeTile)
6265 {
6266 if (trait is TraitFakeBlock)
6267 {
6268 return EClass.sources.blocks.map[refVal].GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
6269 }
6270 return EClass.sources.objs.map[refVal].GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
6271 }
6272 if (trait is TraitAbility)
6273 {
6274 return (trait as TraitAbility).CreateAct()?.GetSprite() ?? EClass.core.refs.icons.defaultAbility;
6275 }
6276 return sourceCard.GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
6277 }
bool IsSnowTile
Definition: Cell.cs:782
Sprite defaultAbility
Definition: CoreRef.cs:118
Icons icons
Definition: CoreRef.cs:355
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:261
SourceObj objs
SourceBlock blocks
virtual int IdSkin
Definition: Trait.cs:46

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

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

◆ GetSubPassData()

virtual SubPassData Card.GetSubPassData ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 6466 of file Card.cs.

6467 {
6468 return SubPassData.Default;
6469 }
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 7047 of file Card.cs.

7048 {
7049 bool flag = isChara && Chara.IsHumanSpeak;
7050 string text = MOD.listTalk.GetTalk(c_idTalk.IsEmpty(id), idTopic, useDefault, flag);
7051 if (!text.IsEmpty())
7052 {
7053 text = text.Split('|').RandomItem();
7054 if (!flag || (IsDeadOrSleeping && IsAliveInCurrentZone))
7055 {
7056 if (!text.StartsWith("(") && !text.StartsWith("*"))
7057 {
7058 text = "(" + text + ")";
7059 }
7060 text = text.Replace("。)", ")");
7061 }
7062 }
7063 return ApplyTone(text, stripPun);
7064 }
virtual bool IsDeadOrSleeping
Definition: Card.cs:2135
string c_idTalk
Definition: Card.cs:1583
bool IsHumanSpeak
Definition: Chara.cs:1029
static TalkDataList listTalk
Definition: MOD.cs:10
string GetTalk(string id, string idTopic, bool useDefault=false, bool human=true)
Definition: TalkDataList.cs:23

References TalkDataList.GetTalk(), 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 7352 of file Card.cs.

7353 {
7354 int result = 0;
7355 if (row.id == 0)
7356 {
7357 return result;
7358 }
7359 result = row.value * mat.value / 100;
7360 if (result < 0)
7361 {
7362 result = 1;
7363 }
7364 return result;
7365 }
int id
Definition: TileRow.cs:8

References TileRow.id.

Referenced by PartialMap.Save().

◆ GetTotalQuality()

int Card.GetTotalQuality ( bool  applyBonus = true)
inline

Definition at line 3890 of file Card.cs.

3891 {
3892 int num = 5 + LV + material.quality;
3893 if (applyBonus)
3894 {
3895 num = num * (100 + Quality) / 100;
3896 }
3897 return num;
3898 }
int Quality
Definition: Card.cs:2453

References LV, material, and Quality.

Referenced by Hobby.GetEfficiency().

◆ GetValue()

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

Definition at line 7394 of file Card.cs.

7395 {
7396 int num = ((c_fixedValue == 0) ? trait.GetValue() : c_fixedValue);
7397 if (id == "plat" && !sell)
7398 {
7399 num = 10000;
7400 }
7401 if (num == 0)
7402 {
7403 return 0;
7404 }
7405 float num2 = num;
7406 if (priceType == PriceType.CopyShop)
7407 {
7408 num2 += (float)c_priceCopy * 0.2f;
7409 num2 = num2 * (float)Mathf.Max(150 + rarityLv, 150) / 100f;
7410 }
7411 else
7412 {
7413 num2 = num2 * (float)Mathf.Max(100 + rarityLv + Mathf.Min(QualityLv * 10, 200), 80) / 100f;
7414 }
7415 if (IsFood && !material.tag.Contains("food"))
7416 {
7417 num2 *= 0.5f;
7418 }
7419 float num3;
7421 {
7422 if (sell)
7423 {
7424 num2 *= 0.3f;
7425 }
7426 num3 = 2f;
7427 }
7428 else
7429 {
7430 num3 = 0.5f;
7431 }
7432 if (isReplica)
7433 {
7434 num2 *= 0.15f;
7435 }
7436 if (!IsUnique)
7437 {
7438 if (IsEquipmentOrRanged && rarity >= Rarity.Legendary)
7439 {
7440 num2 = Mathf.Max(num2, 1800f + num2 / 5f);
7441 }
7442 num2 = num2 * (100f + num3 * (float)(material.value - 100)) / 100f;
7444 {
7445 int num4 = 0;
7446 foreach (Element value in elements.dict.Values)
7447 {
7448 num4 += value.source.value;
7449 }
7450 num2 = num2 * (float)(100 + (sell ? ((int)MathF.Sqrt(num4) * 10) : num4)) / 100f;
7451 if (rarity >= Rarity.Legendary)
7452 {
7453 num2 = Mathf.Max(num2, 3600f + num2 / 5f);
7454 }
7455 }
7456 }
7457 if (trait is TraitRecipe && sell)
7458 {
7459 num2 *= 0.1f;
7460 }
7461 if (encLV != 0 && !category.tag.Contains("noEnc"))
7462 {
7463 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)))));
7464 }
7465 if (tier > 0)
7466 {
7467 num2 *= (float)(tier + 1);
7468 }
7469 return (int)num2;
7470 }
bool IsEquipmentOrRangedOrAmmo
Definition: Card.cs:2258
int c_fixedValue
Definition: Card.cs:1174
int c_priceCopy
Definition: Card.cs:1162
bool IsEquipmentOrRanged
Definition: Card.cs:2246
int QualityLv
Definition: Card.cs:2455
virtual int GetValue()
Definition: Trait.cs:610

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

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

◆ GetWindowSaveData()

Window.SaveData Card.GetWindowSaveData ( )
inline

Definition at line 2544 of file Card.cs.

2545 {
2546 if (IsPC)
2547 {
2548 return Window.dictData.TryGetValue("LayerInventoryFloatMain0");
2549 }
2551 {
2552 return Window.dictData.TryGetValue("ChestMerchant");
2553 }
2554 return c_windowSaveData;
2555 }
Window.SaveData c_windowSaveData
Definition: Card.cs:1835
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 5844 of file Card.cs.

5845 {
5846 Card card = (ExistsOnMap ? this : (GetRootCard() ?? EClass.pc));
5847 EClass.player.forceTalk = true;
5848 card.Talk("giveBirth");
5849 EClass._zone.TryAddThing(t, card.pos);
5850 if (effect)
5851 {
5852 card.pos.PlayEffect("revive");
5853 card.pos.PlaySound("egg");
5854 PlayAnime(AnimeID.Shiver);
5855 if (isChara)
5856 {
5858 }
5859 }
5860 return t;
5861 }
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:6362
bool TryAddThing(Thing target, Point p, bool destroyIfFail=false)
Definition: Zone.cs:2234

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

8067 : Condition
8068 {
8069 return false;
8070 }

◆ HasCraftBonusTrait()

bool Card.HasCraftBonusTrait ( )
inline

Definition at line 7158 of file Card.cs.

7159 {
7160 return ListCraftBonusTraits().Count > 0;
7161 }
List< Element > ListCraftBonusTraits()
Definition: Card.cs:7163

Referenced by CraftUtil.MixIngredients().

◆ HasEditorTag()

bool Card.HasEditorTag ( EditorTag  tag)
inline

Definition at line 2628 of file Card.cs.

2629 {
2630 return c_editorTags?.Contains(tag.ToString()) ?? false;
2631 }

References c_editorTags.

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

◆ HasElement() [1/3]

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

Definition at line 6090 of file Card.cs.

6091 {
6092 if (elements.Value(ele) <= 0)
6093 {
6094 if (includeNagative)
6095 {
6096 return elements.Value(ele) < 0;
6097 }
6098 return false;
6099 }
6100 return true;
6101 }

References ElementContainer.Value().

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

◆ HasElement() [2/3]

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

Definition at line 6103 of file Card.cs.

6104 {
6105 return elements.Value(ele) >= req;
6106 }

References ElementContainer.Value().

◆ HasElement() [3/3]

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

Definition at line 6108 of file Card.cs.

6109 {
6110 return HasElement(EClass.sources.elements.alias[id].id, req);
6111 }

References SourceManager.elements, and EClass.sources.

◆ HasElementNoCopy()

bool Card.HasElementNoCopy ( )
inline

Definition at line 6118 of file Card.cs.

6119 {
6120 if (HasElement(764))
6121 {
6122 return true;
6123 }
6124 if (HasElement(759))
6125 {
6126 return true;
6127 }
6128 if (HasElement(703))
6129 {
6130 return true;
6131 }
6132 if (HasElement(758))
6133 {
6134 return true;
6135 }
6136 if (HasElement(704))
6137 {
6138 return true;
6139 }
6140 return false;
6141 }

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

◆ HasGlobalElement()

bool Card.HasGlobalElement ( int  ele)
inline

Definition at line 6113 of file Card.cs.

6114 {
6115 return elements.GetElement(ele)?.IsGlobalElement ?? false;
6116 }
Element GetElement(string alias)
bool IsGlobalElement
Definition: ELEMENT.cs:350

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

Referenced by Evalue().

◆ HasLight()

bool Card.HasLight ( )
inline

Definition at line 6573 of file Card.cs.

6574 {
6575 return GetLightRadius() > 0;
6576 }

◆ HasRune()

bool Card.HasRune ( )
inline

Definition at line 3781 of file Card.cs.

3782 {
3783 return CountRune() > 0;
3784 }

References CountRune().

Referenced by TraitKettle.CanCopy().

◆ HasTag()

◆ HasTalk()

bool Card.HasTalk ( string  idTopic)
inline

Definition at line 6898 of file Card.cs.

6899 {
6900 return !MOD.listTalk.GetTalk(c_idTalk.IsEmpty(id), idTopic, useDefault: true).IsEmpty();
6901 }

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

◆ HatchEgg()

void Card.HatchEgg ( )
inline

Definition at line 5863 of file Card.cs.

5864 {
5865 string[] array = new string[6] { "spider_queen", "spider_vampire", "spider_paralyzer", "spider_black", "spider_tarantula", "spider_spotted" };
5866 int num = EClass.rnd(array.Length);
5867 Point point = pos.Copy();
5869 AddBlood(12, (uid % 2 == 0) ? (-1) : 3);
5870 Say("egghatch");
5871 PlaySound("egghatch");
5872 if (c_bossType == BossType.none)
5873 {
5874 Destroy();
5875 }
5876 if (!isDestroyed)
5877 {
5878 Die();
5879 }
5880 for (int i = 0; i < 1 + EClass.rnd(num + 1); i++)
5881 {
5882 EClass._zone.SpawnMob(array[num], point.GetNearestPoint(allowBlock: false, allowChara: false));
5883 }
5884 }
BossType
Definition: BossType.cs:2
BossType c_bossType
Definition: Card.cs:1235
Point Copy()
Definition: Point.cs:491
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false, int minRadius=0)
Definition: Point.cs:619
Chara SpawnMob(string id, Point pos=null)
Definition: Zone.cs:2775

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

◆ HaveFur()

bool Card.HaveFur ( )
inline

Definition at line 8077 of file Card.cs.

8078 {
8079 if (!isChara)
8080 {
8081 return false;
8082 }
8083 string text = id;
8084 if (text == "putty_snow" || text == "putty_snow_gold")
8085 {
8086 return true;
8087 }
8088 return !Chara.race.fur.IsEmpty();
8089 }

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

4058 {
4059 long num = a;
4060 if (origin == HealSource.Magic)
4061 {
4062 num = (long)a * (long)Mathf.Max(100 - Evalue(93), 1) / 100;
4063 }
4064 if (num > 100000000)
4065 {
4066 num = 100000000L;
4067 }
4068 hp += (int)num;
4069 if (hp > MaxHP)
4070 {
4071 hp = MaxHP;
4072 }
4073 switch (origin)
4074 {
4075 case HealSource.Magic:
4076 case HealSource.Item:
4077 PlaySound("heal");
4078 PlayEffect("heal");
4079 break;
4080 case HealSource.HOT:
4081 PlaySound("heal_tick");
4082 PlayEffect("heal_tick");
4083 break;
4084 }
4085 }
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 4041 of file Card.cs.

4042 {
4043 if (isChara)
4044 {
4045 if (Chara.parasite != null)
4046 {
4048 }
4049 if (Chara.ride != null)
4050 {
4051 Chara.ride.HealHP(a);
4052 }
4053 }
4054 HealHP(a, origin);
4055 }
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 8052 of file Card.cs.

8053 {
8054 SE.Play("pop_paper");
8055 if (isChara)
8056 {
8057 LayerChara layerChara = EClass.ui.AddLayerDontCloseOthers<LayerChara>();
8058 layerChara.windows[0].SetRect(EClass.core.refs.rects.center);
8059 layerChara.SetChara(Chara);
8060 }
8061 else
8062 {
8063 EClass.ui.AddLayerDontCloseOthers<LayerInfo>().SetThing(Thing);
8064 }
8065 }
RectData center
Definition: CoreRef.cs:166
Rects rects
Definition: CoreRef.cs:361
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 2689 of file Card.cs.

2690 {
2691 return GetRootCard() == c;
2692 }

References GetRootCard().

Referenced by AI_OpenGambleChest.IsValid().

◆ IsExcludeFromCraft()

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

Definition at line 2557 of file Card.cs.

2558 {
2559 if ((IsUnique && ing.id != id && !ing.idOther.Contains(id)) || c_isImportant)
2560 {
2561 return true;
2562 }
2563 if (parent is Card card)
2564 {
2565 if (card.trait is TraitChestMerchant)
2566 {
2567 return true;
2568 }
2569 if (card.isSale || !card.trait.CanUseContent)
2570 {
2571 return true;
2572 }
2573 Window.SaveData windowSaveData = card.GetWindowSaveData();
2574 if (windowSaveData != null)
2575 {
2576 return windowSaveData.excludeCraft;
2577 }
2578 }
2579 return false;
2580 }
bool c_isImportant
Definition: Card.cs:1025
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 7911 of file Card.cs.

7912 {
7913 return pos.Distance(EClass.pc.pos) < d;
7914 }

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

3490 {
3491 if (id != tg.id || material != tg.material)
3492 {
3493 return false;
3494 }
3495 return true;
3496 }

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

6034 {
6036 {
6037 return;
6038 }
6039 if (t.IsPC)
6040 {
6042 }
6043 if (t.host != null)
6044 {
6045 return;
6046 }
6047 if (t == this)
6048 {
6049 if (!ignoreSelf)
6050 {
6051 Debug.Log(t.pos.GetNearestPoint());
6052 if (TryMove(t.pos.GetNearestPoint()) != MoveResult.Success)
6053 {
6055 }
6056 }
6057 return;
6058 }
6059 if (show)
6060 {
6061 Say("kick", this, t);
6062 }
6063 PlaySound("kick");
6064 if ((t.conSuspend == null || t.conSuspend.uidMachine != 0) && t.trait.CanBePushed && (!t.IsHostile() || EClass.rnd(2) == 0) && !t.noMove && !t.isRestrained)
6065 {
6066 t.MoveByForce(t.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true), this, checkWall && !t.pos.IsBlocked);
6067 }
6068 if (t.conSleep != null)
6069 {
6070 t.conSleep.Kill();
6071 }
6072 if (IsPC && t.IsFriendOrAbove() && !t.IsPCFactionOrMinion && karmaLoss)
6073 {
6075 }
6076 t.PlayEffect("kick");
6077 t.mimicry?.RevealMimicry(this, surprise: false);
6078 }
void ClearPlans()
Definition: AM_Adv.cs:426
static AM_Adv Adv
Definition: ActionMode.cs:15
bool noMove
Definition: Card.cs:771
void MoveImmediate(Point p, bool focus=true, bool cancelAI=true)
Definition: Card.cs:5903
virtual MoveResult TryMove(Point newPoint, bool allowDestroyPath=true)
Definition: Card.cs:6020
new TraitChara trait
Definition: Chara.cs:505
ConSuspend conSuspend
Definition: Chara.cs:104
override bool IsPC
Definition: Chara.cs:626
void MoveByForce(Point newPoint, Card c=null, bool checkWall=false)
Definition: Chara.cs:2670
int uidMachine
Definition: ConSuspend.cs:6
virtual void RevealMimicry(Card c, bool surprise)
void ModKarma(int a)
Definition: Player.cs:2524
virtual bool CanBePushed
Definition: TraitChara.cs:113

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

◆ Kick() [2/2]

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

Definition at line 6025 of file Card.cs.

6026 {
6027 foreach (Chara item in p.ListCharas())
6028 {
6029 Kick(item, ignoreSelf, karmaLoss: true, show: true, checkWall);
6030 }
6031 }
List< Chara > ListCharas()
Definition: Point.cs:1171

References item, and Kick.

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

◆ KillAnime()

void Card.KillAnime ( )
inline

Definition at line 6357 of file Card.cs.

6358 {
6360 }
virtual void KillAnime()

References CardRenderer.KillAnime().

Referenced by ActThrow.Throw().

◆ LevelUp()

void Card.LevelUp ( )
inline

Definition at line 3041 of file Card.cs.

3042 {
3043 if (IsPC)
3044 {
3046 {
3047 Msg.Say("demoLimit");
3048 return;
3049 }
3051 Tutorial.Reserve("feat");
3052 }
3053 feat++;
3054 LV++;
3055 Say("dingExp", this);
3056 PlaySound("jingle_lvup");
3057 PlayEffect("aura_heaven");
3058 if (HasElement(1415) && Evalue(1415) < 9 && LV >= Evalue(1415) * 5 + 10)
3059 {
3060 Chara.SetFeat(1415, Evalue(1415) + 1, msg: true);
3061 }
3062 if (IsPC && HasElement(1274) && Evalue(1274) < 8 && LV >= Evalue(1274) * 5)
3063 {
3064 Chara.SetFeat(1274, Evalue(1274) + 1, msg: true);
3065 }
3066 if (IsPC || !(Chara.race.id == "mutant"))
3067 {
3068 return;
3069 }
3070 int num = Mathf.Min(1 + LV / 5, 20);
3071 for (int i = 0; i < num; i++)
3072 {
3073 if (Evalue(1644) < i + 1)
3074 {
3075 Chara.SetFeat(1644, i + 1, msg: true);
3076 }
3077 }
3078 }
Version version
Definition: BaseCore.cs:17
int feat
Definition: Card.cs:375
int totalFeat
Definition: Player.cs:911
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 7163 of file Card.cs.

7164 {
7165 List<Element> list = new List<Element>();
7166 string[] tag = sourceCard.tag;
7167 for (int i = 0; i < tag.Length; i++)
7168 {
7169 string[] array = tag[i].Split('/');
7170 if (!(array[0] != "craft_bonus"))
7171 {
7172 Element item = Element.Create(array[1], array[2].ToInt());
7173 list.Add(item);
7174 }
7175 }
7176 return list;
7177 }

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

6411 {
6412 }

Referenced by ActThrow.Throw().

◆ LookAt() [2/2]

virtual void Card.LookAt ( Point  p)
inlinevirtual

Reimplemented in Chara.

Definition at line 6414 of file Card.cs.

6415 {
6416 }

◆ MakeEgg()

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

Definition at line 5790 of file Card.cs.

5791 {
5792 Thing thing = ThingGen.Create((EClass.rnd(EClass.debug.enable ? 1 : fertChance) == 0) ? "egg_fertilized" : "_egg").SetNum(num);
5793 if (!EClass.debug.enable && HasElement(1290) && Evalue(418) >= 0)
5794 {
5795 thing.MakeFoodFrom(EClass.sources.charas.map["caladrius"].model);
5796 }
5797 else
5798 {
5799 thing.MakeFoodFrom(this);
5800 }
5801 thing.c_idMainElement = c_idMainElement;
5802 if (state.HasValue)
5803 {
5804 thing.SetBlessedState(state.Value);
5805 }
5806 if (!addToZone)
5807 {
5808 return thing;
5809 }
5810 return GiveBirth(thing, effect);
5811 }
int c_idMainElement
Definition: Card.cs:1427
Thing GiveBirth(Thing t, bool effect)
Definition: Card.cs:5844
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:3949
Card MakeFoodFrom(string _id)
Definition: Card.cs:5581
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 5767 of file Card.cs.

5768 {
5769 MakeRefFrom(id);
5770 }
Card MakeRefFrom(string id)
Definition: Card.cs:5772

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

◆ MakeFoodFrom() [1/2]

Card Card.MakeFoodFrom ( Card  c)
inline

Definition at line 5586 of file Card.cs.

5587 {
5588 MakeRefFrom(c);
5590 if (!c.isChara)
5591 {
5592 return this;
5593 }
5594 SourceRace.Row race = c.Chara.race;
5595 int num = race.food[0].ToInt();
5596 bool flag = id == "meat_marble";
5597 int num2 = 1;
5598 bool flag2 = category.IsChildOf("meat");
5599 bool flag3 = category.IsChildOf("egg") || trait is TraitGene;
5600 if (flag)
5601 {
5602 num += 100;
5603 }
5604 if (flag2)
5605 {
5606 if (c.IsPCFaction && c.IsUnique)
5607 {
5608 num = -100;
5609 }
5610 elements.SetBase(70, race.STR * race.STR / 5 * num / 100 - 10 + num / 10);
5611 if (flag)
5612 {
5613 elements.SetBase(440, race.END * race.END / 5 * num / 100 - 10 + num / 10);
5614 }
5615 elements.SetBase(71, (int)Mathf.Clamp((float)(num / 10) + Mathf.Sqrt(race.height) - 10f, 1f, 60f));
5616 }
5617 else if (flag3)
5618 {
5619 elements.SetBase(444, race.LER * race.LER / 5 * num / 100 - 10 + num / 10);
5620 num2 = 2;
5621 }
5622 else
5623 {
5624 num2 = 3;
5625 }
5626 if (flag2)
5627 {
5628 if (c.Chara.IsHuman)
5629 {
5630 elements.SetBase(708, 1);
5631 }
5632 if (c.Chara.IsUndead)
5633 {
5634 elements.SetBase(709, 1);
5635 }
5636 }
5637 foreach (Element value in c.elements.dict.Values)
5638 {
5639 if ((!flag3 || value.id != 1229) && (value.source.category == "food" || value.source.tag.Contains("foodEnc") || value.IsTrait))
5640 {
5641 elements.SetBase(value.id, value.Value);
5642 }
5643 }
5644 List<Tuple<int, int>> list = new List<Tuple<int, int>>();
5645 foreach (KeyValuePair<int, int> item in race.elementMap)
5646 {
5647 if (EClass.sources.elements.map[item.Key].tag.Contains("primary"))
5648 {
5649 list.Add(new Tuple<int, int>(item.Key, item.Value));
5650 }
5651 }
5652 list.Sort((Tuple<int, int> a, Tuple<int, int> b) => b.Item2 - a.Item2);
5653 for (int i = 0; i < num2 && i < list.Count; i++)
5654 {
5655 Tuple<int, int> tuple = list[i];
5656 elements.SetBase(tuple.Item1, tuple.Item2 * tuple.Item2 / 4);
5657 }
5658 if (c.Chara.IsUndead)
5659 {
5660 elements.ModBase(73, (c.Chara.race.id == "undeadgod") ? (-90) : (-20));
5661 }
5662 isWeightChanged = true;
5663 c_weight = race.height * 4 + 100;
5666 int num3 = c.LV - c.sourceCard.LV;
5667 if (num3 < 0)
5668 {
5669 num3 = 0;
5670 }
5671 num3 = EClass.curve(num3, 10, 10, 80);
5672 if (c.rarity >= Rarity.Legendary || c.IsUnique)
5673 {
5674 num3 += 60;
5675 }
5676 if (flag2 && c.IsPCFaction && c.IsUnique)
5677 {
5678 num3 = 0;
5679 }
5680 if (num3 > 0)
5681 {
5682 elements.ModBase(2, num3);
5683 }
5684 return this;
5685 }
bool IsHuman
Definition: Chara.cs:893
bool IsUndead
Definition: Chara.cs:905
Element SetBase(string alias, int v, int potential=0)
int Value
Definition: ELEMENT.cs:297
bool IsTrait
Definition: ELEMENT.cs:367
int LV
Definition: RenderRow.cs:22
string[] food
Definition: SourceRace.cs:89
Dictionary< int, int > elementMap
Definition: SourceRace.cs:97

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

◆ MakeFoodFrom() [2/2]

Card Card.MakeFoodFrom ( string  _id)
inline

Definition at line 5581 of file Card.cs.

5582 {
5583 return MakeFoodFrom(EClass.sources.cards.map[_id].model);
5584 }
Dictionary< string, CardRow > map
Definition: SourceCard.cs:8
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 5687 of file Card.cs.

5688 {
5689 Card card = c1;
5690 Card card2 = c2;
5691 if (IsIgnoreName(card))
5692 {
5693 card = null;
5694 }
5695 if (IsIgnoreName(card2))
5696 {
5697 card2 = null;
5698 }
5699 if (card == null && card2 != null)
5700 {
5701 card = card2;
5702 card2 = null;
5703 }
5704 if (card != null)
5705 {
5706 MakeRefFrom(card, card2);
5707 if (card.c_idRefCard != null)
5708 {
5709 c_idRefCard = card.c_idRefCard;
5711 }
5712 if (card2 != null && card2.c_idRefCard != null)
5713 {
5714 c_idRefCard2 = card2.c_idRefCard;
5715 c_altName2 = TryGetFoodName(card2);
5716 }
5717 }
5718 static bool IsIgnoreName(Card c)
5719 {
5720 if (c == null)
5721 {
5722 return true;
5723 }
5724 switch (c.id)
5725 {
5726 case "dough_cake":
5727 case "dough_bread":
5728 case "noodle":
5729 case "flour":
5730 case "rice":
5731 return true;
5732 default:
5733 return false;
5734 }
5735 }
5736 }
string c_altName
Definition: Card.cs:1607
string TryGetFoodName(Card c)
Definition: Card.cs:5738
string c_altName2
Definition: Card.cs:1619
string c_idRefCard2
Definition: Card.cs:1763
string c_idRefCard
Definition: Card.cs:1751

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

5814 {
5815 Thing thing = ThingGen.Create("milk").SetNum(num);
5816 if (!EClass.debug.enable && HasElement(1290) && Evalue(418) >= 0)
5817 {
5818 thing.MakeRefFrom(EClass.sources.charas.map["caladrius"].model);
5819 }
5820 else
5821 {
5822 thing.MakeRefFrom(this);
5823 }
5824 if (state.HasValue)
5825 {
5826 thing.SetBlessedState(state.Value);
5827 }
5828 int num2 = LV - sourceCard.LV;
5830 {
5831 num2 = 0;
5832 }
5833 if (num2 >= 10 && !HasElement(1290))
5834 {
5835 thing.SetEncLv(num2 / 10);
5836 }
5837 if (!addToZone)
5838 {
5839 return thing;
5840 }
5841 return GiveBirth(thing, effect);
5842 }
void SetEncLv(int a)
Definition: Card.cs:3918

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

5779 {
5780 c_idRefCard = c1.id;
5781 c_altName = (c1.IsPC ? c1.c_altName : c1.GetName((!simple) ? NameStyle.Ref : NameStyle.Simple, (!c1.isChara) ? 1 : 0));
5782 if (c2 != null)
5783 {
5784 c_idRefCard2 = c2.id;
5785 c_altName2 = (c2.IsPC ? c2.c_altName : c2.GetName((!simple) ? NameStyle.Ref : NameStyle.Simple, (!c2.isChara) ? 1 : 0));
5786 }
5787 c_extraNameRef = (c1.IsPC ? EClass.pc.c_altName : c1.c_extraNameRef);
5788 }
NameStyle
Definition: NameStyle.cs:2
virtual string GetName(NameStyle style, int num=-1)
Definition: Card.cs:2643
string c_extraNameRef
Definition: Card.cs:1631

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

◆ MakeRefFrom() [2/2]

◆ MatchEncSearch()

virtual bool Card.MatchEncSearch ( string  s)
inlinevirtual

Reimplemented in Thing.

Definition at line 7942 of file Card.cs.

7943 {
7944 return false;
7945 }

◆ MaxRune()

int Card.MaxRune ( )
inline

Definition at line 3710 of file Card.cs.

3711 {
3712 return ((!IsUnique && !isReplica) ? 1 : 0) + Evalue(484);
3713 }

References Evalue(), isReplica, and IsUnique.

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

◆ Mod()

void Card.Mod ( )
inline

Definition at line 2539 of file Card.cs.

2540 {
2541 isModified = true;
2542 }
bool isModified
Definition: Card.cs:471

References isModified.

◆ ModCharge()

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

Definition at line 4004 of file Card.cs.

4005 {
4006 c_charges += a;
4008 if (c_charges <= 0 && destroy)
4009 {
4010 Say("spellbookCrumble", this);
4011 ModNum(-1);
4012 }
4013 }
void ModNum(int a, bool notify=true)
Definition: Card.cs:3569

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

4016 {
4017 if (a != 0)
4018 {
4019 if (id == "influence")
4020 {
4022 return;
4023 }
4024 SourceMaterial.Row mat = null;
4025 things.AddCurrency(this, id, a, mat);
4026 }
4027 }
void AddCurrency(Card owner, string id, int a, SourceMaterial.Row mat=null)
void ModInfluence(int a)
Definition: Zone.cs:3658

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

3901 {
3902 ApplyMaterialElements(remove: true);
3903 encLV += a;
3904 ApplyMaterialElements(remove: false);
3906 {
3907 if (IsWeapon || IsAmmo)
3908 {
3909 elements.ModBase(67, a);
3910 }
3911 else
3912 {
3913 elements.ModBase(65, a * 2);
3914 }
3915 }
3916 }
bool IsAmmo
Definition: Card.cs:2275

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

2682 {
2683 if (isChara)
2684 {
2685 elements.ModExp(ele, a);
2686 }
2687 }

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

◆ ModExp() [2/2]

◆ ModNum()

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

Definition at line 3569 of file Card.cs.

3570 {
3571 if (Num + a < 0)
3572 {
3573 a = -Num;
3574 }
3575 Num += a;
3576 if (props != null)
3577 {
3578 props.OnNumChange(this, a);
3579 }
3580 if (parent != null)
3581 {
3583 }
3584 if (a > 0 && EClass.core.IsGameStarted && GetRootCard() == EClass.pc && notify)
3585 {
3587 }
3589 if (Num <= 0)
3590 {
3591 Destroy();
3592 }
3593 }
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(), InvOwnerChaosOffering._OnProcess(), InvOwnerMod._OnProcess(), ThingContainer.AddCurrency(), 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 5903 of file Card.cs.

5904 {
5905 if (p == null)
5906 {
5907 return;
5908 }
5909 EClass._map.MoveCard(p, this);
5910 if (!IsPC || focus)
5911 {
5912 renderer.SetFirst(first: true, p.PositionCenter());
5913 }
5914 if (isChara)
5915 {
5916 if (cancelAI)
5917 {
5918 Chara.ai.Cancel();
5919 }
5920 Chara.SyncRide();
5921 }
5922 if (IsPC && focus)
5923 {
5926 }
5927 }
virtual void RefreshPosition()
virtual void SetFirst(bool first, Vector3 pos)
static BaseGameScreen screen
Definition: EClass.cs:33
ref Vector3 PositionCenter()
Definition: Point.cs:587

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

Referenced by 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 3148 of file Card.cs.

3149 {
3150 }

Referenced by AddThing(), and ModNum().

◆ OnBeforeCreate()

virtual void Card.OnBeforeCreate ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 2891 of file Card.cs.

2892 {
2893 }

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

2896 {
2897 }

Referenced by Create().

◆ OnDeserialized()

virtual void Card.OnDeserialized ( )
inlineprotectedvirtual

Reimplemented in Chara.

Definition at line 2777 of file Card.cs.

2778 {
2779 }

Referenced by _OnDeserialized().

◆ OnInspect()

void Card.OnInspect ( )
inline

Implements IInspect.

Definition at line 8044 of file Card.cs.

8045 {
8046 }

◆ OnLand()

virtual void Card.OnLand ( )
inlinevirtual

Definition at line 5971 of file Card.cs.

5972 {
5974 {
5975 PlayEffect("ripple");
5976 PlaySound("Footstep/water");
5977 }
5978 }
Definition: Cell.cs:7
bool IsTopWaterAndNoSnow
Definition: Cell.cs:712

References Cell.IsTopWaterAndNoSnow.

◆ OnSerializing()

virtual void Card.OnSerializing ( )
inlineprotectedvirtual

Reimplemented in Chara.

Definition at line 2714 of file Card.cs.

2715 {
2716 }

Referenced by _OnSerializing().

◆ OnSimulateHour()

virtual void Card.OnSimulateHour ( VirtualDate  date)
inlinevirtual

Definition at line 6774 of file Card.cs.

6775 {
6776 trait.OnSimulateHour(date);
6777 if (date.IsRealTime)
6778 {
6779 DecayNatural();
6780 }
6781 }
virtual void OnSimulateHour(VirtualDate date)
Definition: Trait.cs:714
bool IsRealTime
Definition: VirtualDate.cs:7

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

Referenced by Zone.OnSimulateHour().

◆ PlayAnime() [1/2]

◆ PlayAnime() [2/2]

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

Definition at line 6367 of file Card.cs.

6368 {
6369 renderer.PlayAnime(id, dest);
6370 }

References CardRenderer.PlayAnime().

◆ PlayAnimeLoot()

void Card.PlayAnimeLoot ( )
inline

Definition at line 6372 of file Card.cs.

6373 {
6375 }

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

6388 {
6389 Effect effect = Effect.Get("Element/" + EClass.sources.elements.map[ele].alias);
6390 if (effect == null)
6391 {
6392 Debug.Log(ele);
6393 return;
6394 }
6395 Card rootCard = GetRootCard();
6396 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));
6397 }
Vector3 position
Definition: CardRenderer.cs:21
Definition: Effect.cs:7
Effect _Play(Point from, Vector3 fromV, float fixY=0f, Point to=null, Sprite sprite=null)
Definition: Effect.cs:117
static Effect Get(Effect original)
Definition: Effect.cs:85
ref Vector3 Position(int height)
Definition: Point.cs:548
static int Range(int min, int max)
Definition: Rand.cs:42

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

6378 {
6379 if (id.IsEmpty())
6380 {
6381 return null;
6382 }
6383 Card rootCard = GetRootCard();
6384 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));
6385 }

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(), TraitTrap.OnActivateTrap(), TraitDrinkMilkMother.OnDrink(), TraitAltar.OnOffer(), TraitBookSecret.OnRead(), TraitDiary.OnRead(), TraitIndulgence.OnRead(), TraitScrollStatic.OnRead(), TraitFertilizer.OnSimulateHour(), Scene.OnUpdate(), TraitDaggerGrave.OnUse(), TraitGiftJure.OnUse(), TraitPowerStatue.OnUse(), ActTelekinesis.Perform(), ActWhirlwind.Perform(), ActZap.Perform(), BaseCondition.PlayEffect(), ConBuffStats.PlayEffect(), BaseCondition.PlayEndEffect(), AttackProcess.PlayRangedAnime(), ActPray.Pray(), AI_Pray.Pray(), FoodEffect.Proc(), ActEffect.Proc(), ActEffect.ProcAt(), Religion.Reforge(), GoalCombat.Run(), ZoneEventSiege.SpawnMob(), TraitAltar.TakeOver(), ActThrow.Throw(), ConBurning.Tick(), Religion.TryGetGift(), ActPray.TryPray(), Chara.TryPush(), TraitFoodEgg.Update(), FactionBranch.Upgrade(), and DramaOutcome.wedding_success().

◆ PlaySound()

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

Definition at line 6343 of file Card.cs.

6344 {
6345 Card rootCard = GetRootCard();
6346 if (rootCard.IsPC)
6347 {
6348 spatial = false;
6349 }
6350 if (rootCard.Dist(EClass.pc) < EClass.player.lightRadius + 1 || !spatial)
6351 {
6352 return rootCard.pos.PlaySound(id, isSynced || !spatial, v, spatial);
6353 }
6354 return null;
6355 }

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

Referenced by Chara._Move(), RecipeManager.Add(), Chara.AddRandomBodyPart(), ActMelee.Attack(), Core.Awake(), Recipe.Build(), RecipeCard.Build(), AI_Shopping.Buy(), Zone.ClaimZone(), Trait.CookProgress(), TraitCrafter.Craft(), AI_OpenLock.CreateProgress(), 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(), 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(), TaskBuild.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(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.Perform(), ActTelekinesis.Perform(), ActWater.Perform(), ActWhirlwind.Perform(), ActZap.Perform(), AttackProcess.Perform(), BaseCondition.PlayEffect(), ConBuffStats.PlayEffect(), BaseCondition.PlayEndEffect(), AttackProcess.PlayRangedAnime(), Trait.PlayToggleEffect(), AI_Pray.Pray(), FoodEffect.Proc(), ActEffect.Proc(), ActEffect.ProcAt(), TraitBaseSpellbook.ReadFailEffect(), TraitGenerator.Recover(), Chara.RemoveLastBodyPart(), ActRide.Ride(), AI_Bladder.Run(), AI_Churyu.Run(), AI_Clean.Run(), AI_Craft_Snowman.Run(), AI_Deconstruct.Run(), AI_Eat.Run(), AI_Fuck.Run(), AI_HaulResource.Run(), AI_Idle.Run(), AI_OpenGambleChest.Run(), AI_Paint.Run(), AI_PlayMusic.Run(), AI_Read.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_Trolley.Run(), AI_UseCrafter.Run(), GoalCombat.Run(), TaskClean.Run(), TaskCullLife.Run(), TaskWater.Run(), TraitDetector.Search(), LayerPixelPaint.SetCanvas(), TraitGenerator.ShortOut(), CardRenderer.ShowBossText(), ZoneEventSiege.SpawnMob(), ActThrow.Throw(), ConBurning.Tick(), ConPeaky.Tick(), Trait.Toggle(), TraitDoor.ToggleDoor(), TraitDoorSwing.ToggleDoor(), TraitToolTorch.ToggleOn(), TraitSwitch.TryDisarmTrap(), Trait.TryOpenLock(), ActPray.TryPray(), Chara.TryPush(), AI_Shopping.TryRestock(), TraitWell.TrySetAct(), Trait.Uninstall(), ActRide.Unride(), TraitFoodEgg.Update(), and DramaOutcome.wedding_success().

◆ PlaySoundDead()

void Card.PlaySoundDead ( bool  spatial = true)
inline

Definition at line 6338 of file Card.cs.

6339 {
6340 PlaySound(material.GetSoundDead(sourceCard), 1f, spatial);
6341 }

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

6324 {
6325 PlaySound(material.GetSoundDrop(sourceCard), 1f, spatial);
6326 }

References material.

◆ PlaySoundImpact()

void Card.PlaySoundImpact ( bool  spatial = true)
inline

Definition at line 6333 of file Card.cs.

6334 {
6335 PlaySound(material.GetSoundImpact(sourceCard), 1f, spatial);
6336 }

References material.

Referenced by TaskChopWood.OnCreateProgress().

◆ PurgeDuplicateArtifact()

void Card.PurgeDuplicateArtifact ( Thing  af)
inline

Definition at line 3270 of file Card.cs.

3271 {
3272 if (af.isReplica)
3273 {
3274 return;
3275 }
3276 List<Chara> list = new List<Chara>();
3277 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
3278 {
3279 foreach (Chara member in child.members)
3280 {
3281 list.Add(member);
3282 }
3283 }
3284 foreach (Chara chara in EClass._map.charas)
3285 {
3286 list.Add(chara);
3287 }
3289 {
3290 foreach (Chara item in list)
3291 {
3292 if (!item.IsPCFactionOrMinion)
3293 {
3294 continue;
3295 }
3296 List<Thing> list2 = item.things.List((Thing t) => t.HasTag(CTAG.godArtifact) && t != af && !t.isReplica && t.c_idDeity == EClass.game.religions.Eyth.id);
3297 if (list2.Count == 0)
3298 {
3299 continue;
3300 }
3301 foreach (Thing item2 in list2)
3302 {
3303 Religion artifactDeity = Religion.GetArtifactDeity(item2.id);
3304 if (item2.isEquipped)
3305 {
3306 item.body.Unequip(item2);
3307 }
3308 item2.c_idDeity = artifactDeity?.id ?? null;
3309 Msg.Say("waterCurse", item2);
3310 }
3311 }
3312 }
3313 foreach (Chara item3 in list)
3314 {
3315 if (!item3.IsPCFactionOrMinion)
3316 {
3317 continue;
3318 }
3319 List<Thing> list3 = item3.things.List((Thing t) => t.id == af.id && t != af && !t.isReplica);
3320 if (list3.Count == 0)
3321 {
3322 continue;
3323 }
3324 foreach (Thing item4 in list3)
3325 {
3326 Msg.Say("destroyed_inv_", item4, item3);
3327 item4.Destroy();
3328 }
3329 }
3330 }
string c_idDeity
Definition: Card.cs:1595
Faction faction
Definition: Chara.cs:429
List< Chara > members
List< FactionBranch > GetChildren()
Definition: FACTION.cs:202
override string id
Definition: ReligionEyth.cs:3
ReligionEyth Eyth
virtual string id
Definition: Religion.cs:26
static Religion GetArtifactDeity(string id)
Definition: Religion.cs:253
List< Thing > List(Func< Thing, bool > func, bool onlyAccessible=false)

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

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

◆ PurgeEythArtifact()

void Card.PurgeEythArtifact ( )
inline

Definition at line 3332 of file Card.cs.

3333 {
3334 if (!EClass.pc.IsEyth || !EClass.pc.HasElement(1228))
3335 {
3336 return;
3337 }
3338 List<Chara> list = new List<Chara>();
3339 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
3340 {
3341 foreach (Chara member in child.members)
3342 {
3343 list.Add(member);
3344 }
3345 }
3346 foreach (Chara chara in EClass._map.charas)
3347 {
3348 list.Add(chara);
3349 }
3350 foreach (Chara item in list)
3351 {
3352 if (item.IsPCFactionOrMinion)
3353 {
3354 Thing thing = item.things.Find((Thing t) => t.HasTag(CTAG.godArtifact) && t.c_idDeity == "eyth");
3355 if (thing != null)
3356 {
3358 }
3359 break;
3360 }
3361 }
3362 }
bool IsEyth
Definition: Chara.cs:1066

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

Referenced by Religion.JoinFaith().

◆ RecalculateFOV()

◆ ReferenceId()

string Card.ReferenceId ( )
inline

Implements IGlobalValue.

Definition at line 2781 of file Card.cs.

2782 {
2783 return "c" + uid;
2784 }

References uid.

◆ RefreshColor()

void Card.RefreshColor ( )
inline

Definition at line 6193 of file Card.cs.

6194 {
6195 if (isChara)
6196 {
6197 if (isDyed)
6198 {
6200 }
6201 else if (isElemental)
6202 {
6204 }
6205 else
6206 {
6207 _colorInt = 104025;
6208 }
6209 }
6210 else if (isDyed)
6211 {
6212 if (TileRow.useAltColor)
6213 {
6215 }
6216 else
6217 {
6219 }
6220 }
6222 {
6224 }
6226 {
6228 }
6229 else
6230 {
6232 }
6233 }
static int GetColorInt(ref Color matColor, int p)
bool isElemental
Definition: Card.cs:723
SourceMaterial.Row DyeMat
Definition: Card.cs:1966
virtual CardRow sourceRenderCard
Definition: Card.cs:2159
ref Color GetRandomColor()
Definition: Card.cs:6235
static GameSetting setting
Definition: EClass.cs:35
UD_String_ElementRef elements
Definition: GameSetting.cs:315
bool useAltColor
Definition: RenderRow.cs:80
bool useRandomColor
Definition: RenderRow.cs:83
int colorMod
Definition: RenderRow.cs:16

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

◆ RemoveBacker()

void Card.RemoveBacker ( )
inline

Definition at line 7232 of file Card.cs.

7233 {
7234 if (c_idBacker == 164)
7235 {
7236 Chara.things.Find("amulet_moonnight")?.Destroy();
7237 }
7238 c_idBacker = 0;
7239 }

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

3144 {
3145 RemoveThing(c as Thing);
3146 }
void RemoveThing(Thing thing)
Definition: Card.cs:3372

References RemoveThing().

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

◆ RemoveEditorTag()

void Card.RemoveEditorTag ( EditorTag  tag)
inline

Definition at line 2638 of file Card.cs.

2639 {
2640 c_editorTags = (c_editorTags.IsEmpty() ? null : c_editorTags.Replace(tag.ToString(), "").Replace(",,", ","));
2641 }

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

3373 {
3374 Card rootCard = GetRootCard();
3375 if (rootCard != null && rootCard.isChara && (rootCard.Chara.held == thing || (rootCard.IsPC && thing.things.Find((Thing t) => EClass.pc.held == t) != null)))
3376 {
3377 rootCard.Chara.held = null;
3378 if (rootCard.IsPC)
3379 {
3381 if ((bool)instance && instance.selected != -1 && instance.selectedButton.card != null && instance.selectedButton.card == thing)
3382 {
3383 instance.selectedButton.card = null;
3384 }
3386 ActionMode.AdvOrRegion.updatePlans = true;
3387 LayerInventory.SetDirty(thing);
3388 }
3390 }
3391 dirtyWeight = true;
3392 if (thing.c_equippedSlot != 0 && isChara)
3393 {
3394 Chara.body.Unequip(thing);
3395 }
3396 things.Remove(thing);
3397 things.OnRemove(thing);
3398 if (isSale && things.Count == 0 && IsContainer)
3399 {
3400 isSale = false;
3401 EClass._map.props.sales.Remove(this);
3402 }
3403 if (thing.invY == 1)
3404 {
3405 WidgetCurrentTool.dirty = true;
3406 }
3407 thing.invX = -1;
3408 thing.invY = 0;
3409 if (thing.props != null)
3410 {
3411 thing.props.Remove(thing);
3412 }
3415 {
3416 LayerInventory.SetDirty(thing);
3417 WidgetHotbar.dirtyCurrentItem = true;
3418 thing.parent = null;
3419 if (thing.trait.IsContainer)
3420 {
3421 foreach (LayerInventory item in LayerInventory.listInv.Copy())
3422 {
3423 if (item.invs[0].owner.Container.GetRootCard() != EClass.pc && item.floatInv)
3424 {
3425 EClass.ui.layerFloat.RemoveLayer(item);
3426 }
3427 }
3428 }
3429 }
3430 thing.parent = null;
3431 }
Card card
Definition: ButtonGrid.cs:24
int c_equippedSlot
Definition: Card.cs:953
int invY
Definition: Card.cs:1981
bool isSale
Definition: Card.cs:867
void RecalculateFOV()
Definition: Card.cs:6559
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:2207
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 3364 of file Card.cs.

3365 {
3366 for (int num = things.Count - 1; num >= 0; num--)
3367 {
3368 RemoveThing(things[num]);
3369 }
3370 }

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

6496 {
6497 if (dir != -1)
6498 {
6499 this.dir = dir;
6500 }
6501 Vector3 v = point.Position();
6502 bool skipRender = point.cell.skipRender;
6503 if (result != 0 && EClass.screen.guide.isActive && !skipRender)
6504 {
6505 EClass.screen.guide.passGuideBlock.Add(ref v, (point.HasObj || point.HasChara) ? 5 : 0);
6506 }
6507 if (!main)
6508 {
6509 return;
6510 }
6511 RenderParam renderParam = GetRenderParam();
6513 {
6514 renderParam.x = v.x;
6515 renderParam.y = v.y;
6516 renderParam.z = v.z;
6517 EClass.screen.tileMap.SetRoofHeight(renderParam, point.cell, point.x, point.z);
6518 v.x = renderParam.x;
6519 v.y = renderParam.y;
6520 v.z = renderParam.z;
6521 }
6522 else if (TileType.UseMountHeight)
6523 {
6524 TileType.GetMountHeight(ref v, point, this.dir, this);
6525 }
6526 v.z += EClass.setting.render.thingZ;
6527 if (!skipRender)
6528 {
6529 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
6530 if (freePos)
6531 {
6532 v.x += fx;
6533 v.y += fy;
6534 v.z += thingPosition.z;
6535 }
6536 else
6537 {
6538 v += thingPosition;
6539 }
6540 }
6541 if (useCurrentPosition)
6542 {
6543 v = renderer.position;
6544 v.z += -0.01f;
6545 }
6546 if (TileType == TileType.Door)
6547 {
6548 v.z -= 0.5f;
6549 }
6550 renderParam.matColor = (active ? EClass.Colors.blockColors.Active : EClass.Colors.blockColors.Inactive);
6551 point.ApplyAnime(ref v);
6552 if (renderer.hasActor)
6553 {
6555 }
6556 renderer.Draw(renderParam, ref v, drawShadow: false);
6557 }
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:224
override void Draw(RenderParam p)
Definition: CardRenderer.cs:49
CardActor actor
Definition: CardRenderer.cs:11
float fy
Definition: Card.cs:267
float fx
Definition: Card.cs:255
RenderParam GetRenderParam()
Definition: Card.cs:6162
bool freePos
Definition: Card.cs:519
bool skipRender
Definition: Cell.cs:270
BlockColors blockColors
RenderSetting render
Definition: GameSetting.cs:301
void Add(Point point, float tile=0f, float color=0f)
Definition: MeshPass.cs:122
RenderParam ApplyAnime(RenderParam p)
Definition: Point.cs:1325
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:387
virtual bool UseMountHeight
Definition: TileType.cs:223
static TileTypeDoor Door
Definition: TileType.cs:97

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

6086 {
6087 return Element.GetResistLv(Evalue(res));
6088 }
static int GetResistLv(int v)
Definition: ELEMENT.cs:1135

References Element.GetResistLv().

Referenced by ActEffect.ProcAt().

◆ ResistLvFrom()

int Card.ResistLvFrom ( int  ele)
inline

Definition at line 6080 of file Card.cs.

6081 {
6082 return ResistLv(EClass.sources.elements.alias.TryGetValue(EClass.sources.elements.map[ele].aliasRef)?.id ?? 0);
6083 }

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

6419 {
6420 int num = 4;
6421 if (sourceCard.tiles.Length > 4)
6422 {
6423 num = sourceCard.tiles.Length;
6424 }
6425 if (TileType == TileType.Door)
6426 {
6427 num = 2;
6428 }
6429 if (trait is TraitFakeObj)
6430 {
6431 num = (trait as TraitFakeObj).GetMaxDir();
6432 }
6433 if (reverse)
6434 {
6435 dir--;
6436 }
6437 else
6438 {
6439 dir++;
6440 }
6441 if (dir < 0)
6442 {
6443 dir = num - 1;
6444 }
6445 if (dir == num)
6446 {
6447 dir = 0;
6448 }
6449 SetDir(dir);
6451 }
void RefreshSprite()
virtual void SetDir(int d)
Definition: Card.cs:6399
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 7029 of file Card.cs.

7030 {
7031 if (ShouldShowMsg)
7032 {
7033 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, c2, ref1, ref2);
7034 }
7035 Msg.SetColor();
7036 }
bool ShouldShowMsg
Definition: Card.cs:2482
static LangGame Game
Definition: Lang.cs:48
string TryGetId(string id, string id2)
Definition: SourceLang.cs:34

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

◆ Say() [2/3]

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

Definition at line 7038 of file Card.cs.

7039 {
7040 if (ShouldShowMsg)
7041 {
7042 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, ref1, ref2);
7043 }
7044 Msg.SetColor();
7045 }

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

7021 {
7022 if (ShouldShowMsg)
7023 {
7024 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, ref1, ref2);
7025 }
7026 Msg.SetColor();
7027 }

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(), DamageHP(), 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(), 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(), 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(), ConInsane.Tick(), ConSleep.Tick(), Trait.Toggle(), TraitDoorAutoShoji.ToggleDoor(), TraitToolTorch.ToggleOn(), Zone.TryAddThingInSharedContainer(), AIAct.TryCancel(), TraitSwitch.TryDisarmTrap(), ThingGen.TryLickChest(), Thing.TryLickEnchant(), BaseCondition.TryNullify(), ConTransmute.TryNullify(), TraitDoor.TryOpen(), Trait.TryOpenLock(), ActPray.TryPray(), TraitBaseSpellbook.TryProgress(), ActRanged.TryReload(), TraitDoor.TrySetAct(), TraitWell.TrySetAct(), CharaBody.Unequip(), CharaBody.UnqeuipIfTooHeavy(), ActRide.Unride(), and DramaOutcome.wedding_success().

◆ SayNothingHappans()

◆ SayRaw()

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

Definition at line 6999 of file Card.cs.

7000 {
7001 if (isSynced && !text.IsEmpty())
7002 {
7003 if (ref1 != null)
7004 {
7005 text = text.Replace("#1", ref1);
7006 }
7007 if (ref2 != null)
7008 {
7009 text = text.Replace("#2", ref2);
7010 }
7011 HostRenderer.Say(text);
7012 }
7013 }
void Say(string text, Color c=default(Color), float duration=0f)
CardRenderer HostRenderer
Definition: Card.cs:2470

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

◆ SecondaryCompare()

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

Definition at line 7978 of file Card.cs.

7979 {
7980 int num = 0;
7981 if (num == 0)
7982 {
7983 num = id.CompareTo(c.id);
7984 }
7985 if (num == 0)
7986 {
7987 num = trait.CompareTo(c);
7988 }
7989 if (num == 0)
7990 {
7991 num = Lang.comparer.Compare(c.GetName(NameStyle.Full, 1), GetName(NameStyle.Full, 1));
7992 }
7993 if (num == 0)
7994 {
7995 num = refVal - c.refVal;
7996 }
7997 if (num == 0)
7998 {
7999 num = c_charges - c.c_charges;
8000 }
8001 if (num == 0)
8002 {
8003 num = encLV - c.encLV;
8004 }
8005 if (num == 0)
8006 {
8007 num = Num - c.Num;
8008 }
8009 if (num == 0)
8010 {
8011 num = uid - c.uid;
8012 }
8013 return num;
8014 }
static NaturalStringComparer comparer
Definition: Lang.cs:22
virtual int CompareTo(Card b)
Definition: Trait.cs:742

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

◆ SetBlessedState()

virtual void Card.SetBlessedState ( BlessedState  s)
inlinevirtual

Definition at line 3949 of file Card.cs.

3950 {
3951 int num = 0;
3952 if (s == BlessedState.Blessed && blessedState < BlessedState.Blessed)
3953 {
3954 num = 1;
3955 }
3956 if (s < BlessedState.Blessed && blessedState == BlessedState.Blessed)
3957 {
3958 num = -1;
3959 }
3960 if (num != 0 && IsEquipmentOrRangedOrAmmo)
3961 {
3962 if (IsWeapon || IsAmmo)
3963 {
3964 elements.ModBase(67, num);
3965 }
3966 else
3967 {
3968 elements.ModBase(65, num * 2);
3969 }
3970 }
3971 blessedState = s;
3972 }

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

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

◆ SetCensored()

void Card.SetCensored ( bool  enable)
inline

Definition at line 7916 of file Card.cs.

7917 {
7918 isCensored = enable;
7920 {
7921 isCensored = false;
7922 }
7924 }
void SetCensored(bool enable)
bool isCensored
Definition: Card.cs:435
OtherSetting other
Definition: CoreConfig.cs:619

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

7927 {
7928 if (isDeconstructing != deconstruct)
7929 {
7930 if (deconstruct)
7931 {
7932 EClass._map.props.deconstructing.Add(this);
7933 }
7934 else
7935 {
7936 EClass._map.props.deconstructing.Remove(this);
7937 }
7938 isDeconstructing = deconstruct;
7939 }
7940 }
bool isDeconstructing
Definition: Card.cs:447
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 6399 of file Card.cs.

6400 {
6401 dir = d;
6403 }

References CardRenderer.RefreshSprite().

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

◆ SetDirtyWeight()

void Card.SetDirtyWeight ( )
inline

Definition at line 2582 of file Card.cs.

2583 {
2585 {
2586 EClass.player.wasDirtyWeight = true;
2587 }
2588 dirtyWeight = true;
2589 (parent as Card)?.SetDirtyWeight();
2590 }

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

6472 {
6473 freePos = EClass.game.config.FreePos && isThing && TileType.FreeStyle;
6474 if (freePos)
6475 {
6476 Vector3 vector = point.Position();
6477 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
6478 fx = EInput.mposWorld.x + EClass.setting.render.freePosFix.x;
6479 fy = EInput.mposWorld.y + EClass.setting.render.freePosFix.y;
6481 {
6482 fx -= fx % 0.2f;
6483 fy -= fy % 0.1f;
6484 }
6485 fx = fx - vector.x + thingPosition.x;
6486 fy = fy - vector.y + thingPosition.y;
6487 }
6488 else
6489 {
6490 float num2 = (fy = 0f);
6491 fx = num2;
6492 }
6493 }
bool snapFreePos
Definition: Game.cs:34
Config config
Definition: Game.cs:219
virtual bool FreeStyle
Definition: TileType.cs:235

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

5887 {
5888 isHidden = hide;
5889 pos.cell.Refresh();
5890 return this;
5891 }
bool isHidden
Definition: Card.cs:531
void Refresh()
Definition: Cell.cs:1152

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

6290 {
6291 if (trait is TraitAbility)
6292 {
6293 (trait as TraitAbility).act.SetImage(image);
6294 return;
6295 }
6296 Sprite sprite = GetSprite();
6297 if (!c_idSpriteReplacer.IsEmpty())
6298 {
6299 SpriteReplacer spriteReplacer = SpriteReplacer.dictSkins.TryGetValue(c_idSpriteReplacer);
6300 if (spriteReplacer != null)
6301 {
6302 RenderData renderData = ResourceCache.Load<RenderData>("Scene/Render/Data/chara_custom_" + ((spriteReplacer.data.GetSprite().texture.height <= 128) ? "128" : "256"));
6303 sprite = spriteReplacer.data.GetSprite();
6304 sourceRenderCard.SetImage(image, sprite, colorInt, setNativeSize: true, 0, 0, renderData, spriteReplacer.data.pref ?? Pref);
6305 return;
6306 }
6307 }
6308 sourceRenderCard.SetImage(image, sprite, colorInt, setNativeSize: true, 0, 0, this);
6309 }
string c_idSpriteReplacer
Definition: Card.cs:1571
int colorInt
Definition: Card.cs:109
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:351
SourcePref pref
Definition: SpriteData.cs:23
Sprite GetSprite(bool snow=false)
Definition: SpriteData.cs:67
SpriteData data
static Dictionary< string, SpriteReplacer > dictSkins

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

◆ SetImage() [2/2]

◆ SetLv()

Card Card.SetLv ( int  a)
inline

Definition at line 2949 of file Card.cs.

2950 {
2951 bool flag = a > LV;
2952 LV = a;
2953 if (!isChara)
2954 {
2955 return this;
2956 }
2957 isScaled = true;
2958 Rand.SetSeed(uid);
2959 ElementContainer elementContainer = new ElementContainer();
2960 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.job.elementMap, LV);
2961 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.race.elementMap, LV);
2962 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.source.elementMap, 1, invert: false, applyFeat: true);
2963 foreach (Element value in elements.dict.Values)
2964 {
2965 int num = elementContainer.Value(value.id);
2966 if (num != 0)
2967 {
2968 int num2 = num - value.ValueWithoutLink;
2969 if (num2 != 0)
2970 {
2971 elements.ModBase(value.id, num2);
2972 }
2973 }
2974 }
2975 if (flag)
2976 {
2978 }
2979 Rand.SetSeed();
2980 hp = MaxHP;
2981 Chara.mana.value = Chara.mana.max;
2984 return this;
2985 }
SourceValueType
void ClampInitialSkill()
Definition: Card.cs:2987
bool isScaled
Definition: Card.cs:915
SourceJob.Row job
Definition: Chara.cs:468
void CalculateMaxStamina()
Definition: Chara.cs:2049
SourceChara.Row source
Definition: Chara.cs:160
void ApplyElementMap(int uid, SourceValueType type, Dictionary< int, int > map, int lv, bool invert=false, bool applyFeat=false)
int ValueWithoutLink
Definition: ELEMENT.cs:299

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

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

◆ SetNoSell()

Thing Card.SetNoSell ( )
inline

Definition at line 3563 of file Card.cs.

3564 {
3565 noSell = true;
3566 return this as Thing;
3567 }

References noSell, and Thing.

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

◆ SetNum()

Thing Card.SetNum ( int  a)
inline

Definition at line 3549 of file Card.cs.

3550 {
3551 if (!isThing)
3552 {
3553 return null;
3554 }
3555 if (a == Num)
3556 {
3557 return this as Thing;
3558 }
3559 ModNum(a - Num);
3560 return this as Thing;
3561 }

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

Referenced by ThingGen._Create(), InvOwnerRecycle._OnProcess(), Add(), ThingContainer.AddCurrency(), DropdownGrid.BuildIngredients(), TraitCrafter.Craft(), RecipeCard.Craft(), ThingGen.CreateCurrency(), Player.CreateEquip(), ThingGen.CreatePerfume(), ThingGen.CreatePotion(), ThingGen.CreateRedBook(), ThingGen.CreateScroll(), ThingGen.CreateSkillbook(), ThingGen.CreateSpellbook(), Trait.CreateStock(), FactionBranch.DailyOutcome(), 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(), 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.ShipGoods(), GameDate.ShipRandomPackages(), CoreDebug.Spawn(), SpawnLoot(), AI_PlayMusic.ThrowReward(), Recipe.TryGetFirstTimeBonus(), GrowSystem.TryPick(), Chara.TryPoisonPotion(), and TraitFoodEgg.Update().

◆ SetPaintData()

void Card.SetPaintData ( )
inline

Definition at line 7241 of file Card.cs.

7242 {
7243 EClass.ui.Hide(0f);
7245 {
7249 {
7250 EClass.ui.Show(0f);
7251 });
7252 });
7253 }
void WaitForEndOfFrame(Action action)
Definition: BaseCore.cs:61
byte[] GetPaintData()
Definition: Card.cs:7255
void ClearPaintSprite()
Definition: Card.cs:7273

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

◆ SetPlaceState()

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

Definition at line 3801 of file Card.cs.

3802 {
3803 if (this.placeState == newState)
3804 {
3805 return;
3806 }
3807 if (parent != EClass._zone)
3808 {
3809 Debug.Log("tried to change placestate of non-root card:" + this);
3810 return;
3811 }
3813 Area area = pos.area;
3814 if (placeState == PlaceState.installed)
3815 {
3816 area?.OnUninstallCard(this);
3817 if (!isRoofItem)
3818 {
3819 altitude = 0;
3820 freePos = false;
3821 float num2 = (fy = 0f);
3822 fx = num2;
3823 }
3824 trait.Uninstall();
3825 }
3826 if (placeState == PlaceState.installed || newState == PlaceState.installed)
3827 {
3828 ForeachPoint(delegate(Point p, bool main)
3829 {
3830 p.cell.RemoveCard(this);
3831 });
3832 this.placeState = newState;
3833 ForeachPoint(delegate(Point p, bool main)
3834 {
3835 p.cell.AddCard(this);
3836 });
3837 }
3838 else
3839 {
3840 this.placeState = newState;
3841 }
3842 if (trait is TraitFakeTile)
3843 {
3845 }
3846 if (newState == PlaceState.none)
3847 {
3848 this.placeState = PlaceState.roaming;
3849 if (props != null)
3850 {
3851 props.Remove(this);
3852 }
3853 }
3854 else
3855 {
3857 if (this.placeState == PlaceState.installed)
3858 {
3859 if (isThing)
3860 {
3861 if (trait.InstallBottomPriority != -1)
3862 {
3864 }
3865 else
3866 {
3868 }
3869 }
3870 area?.OnInstallCard(this);
3871 isRoofItem = false;
3872 trait.Install(byPlayer);
3873 }
3874 }
3876 {
3878 }
3879 if (trait.ShouldTryRefreshRoom && (placeState == PlaceState.installed || this.placeState == PlaceState.installed))
3880 {
3882 }
3883 trait.OnChangePlaceState(newState);
3885 {
3887 }
3888 }
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:579
void MoveThingToBottom(Thing t)
Definition: CellDetail.cs:45
void MoveThingToTop(Thing t)
Definition: CellDetail.cs:58
void RemoveCard(Card c)
Definition: Cell.cs:1566
void AddCard(Card c)
Definition: Cell.cs:1550
HomeResourceManager resources
void OnSetBlockOrDoor(int x, int z)
Definition: Map.cs:1024
CellDetail detail
Definition: Point.cs:71
void RefreshNeighborTiles()
Definition: Point.cs:1276
Area area
Definition: Point.cs:73
void OnCardAddedToZone(Card c)
Definition: PropsManager.cs:25
virtual bool ShouldRefreshTile
Definition: Trait.cs:77
virtual void OnChangePlaceState(PlaceState state)
Definition: Trait.cs:702
virtual bool ShouldTryRefreshRoom
Definition: Trait.cs:88
void Uninstall()
Definition: Trait.cs:1134
virtual int InstallBottomPriority
Definition: Trait.cs:90
void Install(bool byPlayer)
Definition: Trait.cs:1114

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

7368 {
7369 c_priceFix = a;
7370 return Thing;
7371 }

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

◆ SetRandomDir()

void Card.SetRandomDir ( )
inline

Definition at line 6405 of file Card.cs.

6406 {
6407 SetDir(EClass.rnd(4));
6408 }

References EClass.rnd().

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

◆ SetRandomLightColors()

void Card.SetRandomLightColors ( )
inline

Definition at line 6714 of file Card.cs.

6715 {
6716 c_lightColor = (byte)(EClass.rnd(8) + 1) * 1024 + (byte)(EClass.rnd(8) + 1) * 32 + (byte)(EClass.rnd(8) + 1);
6717 }

References EClass.rnd().

◆ SetRandomTalk()

void Card.SetRandomTalk ( )
inline

Definition at line 7124 of file Card.cs.

7125 {
7127 if (!MOD.listTalk.list[0].ContainsKey(id))
7128 {
7129 c_idTalk = MOD.listTalk.GetRandomID("human");
7130 }
7131 }
string GetRandomID(string tag)
Definition: TalkDataList.cs:58

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

Referenced by Biography.Generate().

◆ SetRandomTone()

void Card.SetRandomTone ( )
inline

Definition at line 7133 of file Card.cs.

7134 {
7136 List<Dictionary<string, string>> list = MOD.tones.list;
7137 if (list.Count != 0)
7138 {
7139 int mtp = EClass.core.config.test.extraToneMTP switch
7140 {
7141 4 => 10,
7142 3 => 5,
7143 2 => 2,
7144 1 => 1,
7145 0 => 0,
7146 _ => 0,
7147 };
7148 if (EClass.debug.enable)
7149 {
7150 mtp *= 100;
7151 }
7152 string text = list.RandomItem()["id"];
7153 text = list.RandomItemWeighted((Dictionary<string, string> a) => a["chance"].ToInt() * ((!a["tag"].Contains("meta")) ? 1 : mtp))["id"];
7154 c_idTone = MOD.tones.GetToneID(text, bio?.gender ?? 0);
7155 }
7156 }
string GetToneID(string id, int gender)
Definition: ToneDataList.cs:58

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

Referenced by Biography.Generate().

◆ SetRenderParam()

virtual void Card.SetRenderParam ( RenderParam  p)
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 6172 of file Card.cs.

6173 {
6174 }

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

◆ SetReplica()

void Card.SetReplica ( bool  on)
inline

Definition at line 3123 of file Card.cs.

3124 {
3125 isReplica = true;
3126 ChangeMaterial("granite");
3127 }

References ChangeMaterial, and isReplica.

Referenced by Chara.RestockEquip().

◆ SetSale()

void Card.SetSale ( bool  sale)
inline

Definition at line 7378 of file Card.cs.

7379 {
7380 if (isSale != sale)
7381 {
7382 isSale = sale;
7383 if (isSale)
7384 {
7385 EClass._map.props.sales.Add(this);
7386 }
7387 else
7388 {
7389 EClass._map.props.sales.Remove(this);
7390 }
7391 }
7392 }

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

7948 {
7949 switch (m)
7950 {
7951 case UIList.SortMode.ByEquip:
7952 sortVal = ((c_equippedSlot == 0) ? (category.sortVal * 1000) : 0);
7953 break;
7954 case UIList.SortMode.ByValue:
7955 sortVal = -GetPrice(currency) * 1000;
7956 break;
7957 case UIList.SortMode.ByNumber:
7958 sortVal = -Num * 1000;
7959 break;
7960 case UIList.SortMode.ByCategory:
7961 sortVal = category.sortVal * 1000;
7962 break;
7963 case UIList.SortMode.ByWeight:
7965 break;
7966 case UIList.SortMode.ByWeightSingle:
7968 break;
7969 case UIList.SortMode.ByPrice:
7970 sortVal = -GetPrice(currency) * 1000;
7971 break;
7972 default:
7973 sortVal = sourceCard._index * 1000;
7974 break;
7975 }
7976 }
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:7472
int sortVal
Definition: Card.cs:102
int ChildrenAndSelfWeightSingle
Definition: Card.cs:2069
int ChildrenAndSelfWeight
Definition: Card.cs:2067
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 2899 of file Card.cs.

2900 {
2901 }

Referenced by _OnDeserialized(), and Create().

◆ SetTier()

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

Definition at line 3923 of file Card.cs.

3924 {
3925 if (a < 0)
3926 {
3927 a = 0;
3928 }
3929 tier = a;
3930 if (setTraits)
3931 {
3932 int num = ((a == 1) ? 180 : ((a == 2) ? 400 : ((a >= 3) ? 600 : 0)));
3933 if (a > 0)
3934 {
3935 foreach (Element value in elements.dict.Values)
3936 {
3937 if (value.IsFoodTrait || value.IsTrait)
3938 {
3939 elements.SetTo(value.id, value.Value * num / 100);
3940 }
3941 }
3942 }
3943 elements.SetBase(2, a * 30);
3944 elements.SetBase(759, (a > 1) ? a : 0);
3945 }
3947 }
bool IsFoodTrait
Definition: ELEMENT.cs:369

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

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

◆ ShouldTrySetDirtyInventory()

bool Card.ShouldTrySetDirtyInventory ( )
inline

Definition at line 3433 of file Card.cs.

3434 {
3435 if (EClass.player.chara != null)
3436 {
3437 if (!IsPC && GetRootCard() != EClass.pc)
3438 {
3439 return EClass.ui.layers.Count > 0;
3440 }
3441 return true;
3442 }
3443 return false;
3444 }
Chara chara
Definition: Player.cs:1211

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

5173 {
5174 if (!isChara || IsPCFactionMinion || (isCopy && EClass.rnd(10) != 0))
5175 {
5176 return;
5177 }
5178 bool isUserZone = EClass._zone.IsUserZone;
5179 bool flag = EClass._zone is Zone_Music;
5180 List<Card> list = new List<Card>();
5181 if (!IsPCFaction && !isUserZone && sourceCard.idActor.IsEmpty())
5182 {
5183 int i2 = 500;
5184 if (this.rarity >= Rarity.Legendary)
5185 {
5186 i2 = ((!EClass.player.codex.DroppedCard(id)) ? 1 : 10);
5188 }
5190 {
5191 i2 = 10;
5192 }
5193 if (chance(i2))
5194 {
5195 Thing thing = ThingGen.Create("figure");
5196 thing.MakeFigureFrom(id);
5197 list.Add(thing);
5198 }
5199 if (chance(i2))
5200 {
5201 Thing thing2 = ThingGen.Create("figure3");
5202 thing2.MakeFigureFrom(id);
5203 list.Add(thing2);
5204 }
5205 }
5206 bool flag2 = Chara.race.corpse[1].ToInt() > EClass.rnd(1500) || (Chara.IsPowerful && !IsPCFaction) || EClass.debug.godFood;
5207 int num = 1;
5208 if (!IsMinion && Chara.IsAnimal && EClass.rnd(EClass._zone.IsPCFaction ? 3 : 5) == 0)
5209 {
5210 flag2 = true;
5211 }
5213 {
5214 flag2 = true;
5215 num = EClass.rndHalf(4 + 10 * (50 + Mathf.Max(0, (int)MathF.Sqrt(EClass.pc.Evalue(290) * 10))) / 100);
5216 }
5217 else if (origin != null && origin.HasElement(290) && !IsMinion)
5218 {
5219 if (!flag2 && Chara.race.corpse[1].ToInt() > EClass.rnd(150000 / (100 + (int)Mathf.Sqrt(origin.Evalue(290)) * 5)))
5220 {
5221 flag2 = true;
5222 origin.elements.ModExp(290, 150f);
5223 }
5224 else
5225 {
5226 origin.elements.ModExp(290, 25f);
5227 }
5228 }
5229 if (id == "littleOne" && IsPCFactionOrMinion)
5230 {
5231 flag2 = false;
5232 }
5233 if (Chara.race.id == "spider" && EClass._zone.HasField(10000))
5234 {
5235 flag2 = false;
5236 }
5237 if (flag2 && !isUserZone)
5238 {
5239 string text = Chara.race.corpse[0];
5240 bool num2 = text == "_meat";
5241 int num3 = 10;
5243 {
5244 num3 += (int)Mathf.Min(Mathf.Sqrt(EClass.pc.Evalue(290)), 20f);
5245 }
5246 if (EClass.rnd((Act.CurrentAct is ActMeleeBladeStorm || (origin != null && (origin.HasElement(1556) || origin.HasCondition<ConTransmuteCat>()))) ? 2 : 100) == 0)
5247 {
5248 text = "dattamono";
5249 }
5250 if (num2 && num3 > EClass.rnd(100))
5251 {
5252 text = "meat_marble";
5253 }
5254 Thing thing3 = ThingGen.Create(text).SetNum(num);
5255 if (thing3.source._origin == "meat")
5256 {
5257 thing3.MakeFoodFrom(this);
5258 }
5259 else
5260 {
5262 }
5263 list.Add(thing3);
5264 }
5265 if (!IsPCFaction && (!isUserZone || !EClass.game.principal.disableUsermapBenefit) && chance(200))
5266 {
5267 list.Add(Chara.MakeGene());
5268 }
5269 if (!IsPCFaction && !isUserZone)
5270 {
5271 foreach (string item2 in sourceCard.loot.Concat(Chara.race.loot).ToList())
5272 {
5273 string[] array = item2.Split('/');
5274 int num4 = array[1].ToInt();
5275 if (num4 >= 1000 || num4 > EClass.rnd(1000) || EClass.debug.godMode)
5276 {
5277 CardRow cardRow = EClass.sources.cards.map[array[0]];
5278 if (cardRow != null && cardRow.Category.slot != 0 && cardRow.quality == 0 && EClass.pc.Evalue(1660) * 25 > EClass.rnd(100))
5279 {
5280 CardBlueprint.SetRarity((EClass.rnd(20) == 0) ? Rarity.Mythical : Rarity.Legendary);
5281 }
5282 list.Add(ThingGen.Create(array[0], -1, LV).SetNum((num4 < 1000) ? 1 : (num4 / 1000 + ((EClass.rnd(1000) < num4 % 1000) ? 1 : 0))));
5283 }
5284 }
5285 if (Chara.IsMachine)
5286 {
5287 bool flag3 = Chara.HasElement(1248);
5288 if (chance(200))
5289 {
5290 list.Add(ThingGen.Create("memory_chip"));
5291 }
5292 if (chance(20))
5293 {
5294 list.Add(ThingGen.Create(flag3 ? "scrap" : "microchip"));
5295 }
5296 if (chance(15))
5297 {
5298 list.Add(ThingGen.Create(flag3 ? "bolt" : "battery"));
5299 }
5300 }
5301 else
5302 {
5303 if (Chara.IsAnimal)
5304 {
5305 if (chance(15))
5306 {
5307 list.Add(ThingGen.Create("fang"));
5308 }
5309 if (chance(10))
5310 {
5311 list.Add(ThingGen.Create("skin"));
5312 }
5313 }
5314 if (chance(20))
5315 {
5316 list.Add(ThingGen.Create("offal"));
5317 }
5318 if (chance(20))
5319 {
5320 list.Add(ThingGen.Create("heart"));
5321 }
5322 }
5323 if (!isBackerContent && !flag)
5324 {
5325 switch (id)
5326 {
5327 case "pumpkin":
5328 if (chance(3))
5329 {
5330 list.Add(ThingGen.CreateFromCategory((EClass.rnd(2) == 0) ? "meal_cookie" : "meal_cake", 5 + EClass.rnd(EClass.rnd(50) + 1)));
5331 }
5332 break;
5333 case "isca":
5334 list.Add(ThingGen.Create("blood_angel"));
5335 break;
5336 case "golem_wood":
5337 if (chance(30))
5338 {
5339 list.Add(ThingGen.Create("crystal_earth"));
5340 }
5341 break;
5342 case "golem_fish":
5343 case "golem_stone":
5344 if (chance(30))
5345 {
5346 list.Add(ThingGen.Create("crystal_sun"));
5347 }
5348 break;
5349 case "golem_steel":
5350 if (chance(30))
5351 {
5352 list.Add(ThingGen.Create("crystal_mana"));
5353 }
5354 break;
5355 case "golem_gold":
5356 list.Add(ThingGen.Create("money2"));
5357 break;
5358 }
5359 int num5 = ((EClass._zone.Boss == this) ? 2 : ((this.rarity >= Rarity.Legendary) ? 1 : 0));
5360 if (EClass._zone is Zone_Void)
5361 {
5362 num5++;
5363 }
5364 if (EClass.rnd(5) == 0)
5365 {
5366 num5++;
5367 }
5368 string text2 = id;
5369 if (text2 == "big_daddy" || text2 == "santa")
5370 {
5371 num5 += 2;
5372 }
5373 if (num5 > 0 && EClass.game.principal.dropRate)
5374 {
5375 num5 = Mathf.Max(1, num5 * (50 + EClass.game.principal.dropRateMtp * 50) / 100);
5376 }
5377 List<Thing> list2 = new List<Thing>();
5378 foreach (Thing thing4 in things)
5379 {
5380 if (thing4.HasTag(CTAG.gift) || thing4.trait is TraitChestMerchant)
5381 {
5382 continue;
5383 }
5384 if (thing4.isGifted || thing4.rarity >= Rarity.Artifact || thing4.trait.DropChance > EClass.rndf(1f))
5385 {
5386 list.Add(thing4);
5387 }
5388 else if (thing4.IsEquipmentOrRanged)
5389 {
5390 if (thing4.rarity >= Rarity.Legendary)
5391 {
5392 list2.Add(thing4);
5393 }
5394 else if (EClass.rnd(100) == 0)
5395 {
5396 list.Add(thing4);
5397 }
5398 }
5399 else if (EClass.rnd(5) == 0)
5400 {
5401 list.Add(thing4);
5402 }
5403 }
5404 if (num5 > 0 && list2.Count > 0)
5405 {
5406 list2.Shuffle();
5407 for (int j = 0; j < list2.Count && j < num5; j++)
5408 {
5409 list.Add(list2[j]);
5410 num5--;
5411 }
5412 }
5413 if (this.rarity >= Rarity.Legendary && !IsUnique && c_bossType != BossType.Evolved)
5414 {
5415 int num6 = 0;
5416 foreach (Card item3 in list)
5417 {
5418 if (item3.rarity >= Rarity.Legendary || item3.IsContainer)
5419 {
5420 num6++;
5421 }
5422 }
5423 if (num6 == 0)
5424 {
5425 int num7 = ((!(EClass._zone is Zone_Void)) ? 1 : 2);
5426 if (num5 < num7)
5427 {
5428 num5 = num7;
5429 }
5430 for (int k = 0; k < num5; k++)
5431 {
5432 Rand.SetSeed(uid + k);
5433 if (EClass.rnd((EClass._zone.events.GetEvent<ZoneEventDefenseGame>() != null) ? 3 : 2) == 0)
5434 {
5435 Rarity rarity = ((EClass.rnd(20) == 0) ? Rarity.Mythical : Rarity.Legendary);
5437 {
5438 rarity = rarity
5439 });
5441 list.Add(item);
5442 }
5443 else if (EClass.rnd(3) == 0)
5444 {
5445 list.Add(ThingGen.Create("medal"));
5446 }
5447 Rand.SetSeed();
5448 }
5449 }
5450 }
5451 }
5452 }
5453 foreach (Thing thing5 in things)
5454 {
5455 if (thing5.GetInt(116) != 0)
5456 {
5457 list.Add(thing5);
5458 }
5459 }
5460 Point nearestPoint = GetRootCard().pos;
5461 if (nearestPoint.IsBlocked)
5462 {
5463 nearestPoint = nearestPoint.GetNearestPoint();
5464 }
5465 foreach (Card item4 in list)
5466 {
5467 if (item4.parent == EClass._zone)
5468 {
5469 continue;
5470 }
5471 item4.isHidden = false;
5472 item4.isNPCProperty = false;
5473 item4.SetInt(116);
5474 EClass._zone.AddCard(item4, nearestPoint);
5475 if (!item4.IsEquipment || item4.rarity < Rarity.Superior || item4.IsCursed)
5476 {
5477 continue;
5478 }
5479 foreach (Chara chara in EClass._map.charas)
5480 {
5481 if (chara.HasElement(1412) && chara.Dist(nearestPoint) < 3)
5482 {
5483 item4.Thing.TryLickEnchant(chara);
5484 break;
5485 }
5486 }
5487 }
5488 bool chance(int i)
5489 {
5490 i = i * 100 / (100 + EClass.player.codex.GetOrCreate(id).BonusDropLv * 10);
5491 if (i < 1)
5492 {
5493 i = 1;
5494 }
5495 if (IsMinion)
5496 {
5497 i *= 5;
5498 }
5499 if (EClass.rnd(i) == 0)
5500 {
5501 return true;
5502 }
5503 return false;
5504 }
5505 }
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
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:3538
void MakeFigureFrom(string id)
Definition: Card.cs:5767
bool IsCursed
Definition: Card.cs:2283
virtual bool IsMinion
Definition: Card.cs:2179
bool IsEquipment
Definition: Card.cs:2201
bool isGifted
Definition: Card.cs:783
virtual bool IsPCFactionMinion
Definition: Card.cs:2183
Thing Add(string id, int num=1, int lv=1)
Definition: Card.cs:3129
bool isBackerContent
Definition: Card.cs:926
bool IsAnimal
Definition: Chara.cs:881
Thing MakeGene(DNA.Type? type=null)
Definition: Chara.cs:8287
bool IsMachine
Definition: Chara.cs:917
bool DroppedCard(string id)
Definition: CodexManager.cs:46
void MarkCardDrop(string id)
Definition: CodexManager.cs:41
bool godFood
Definition: CoreDebug.cs:183
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:2029
virtual float DropChance
Definition: Trait.cs:371
ZoneEventManager events
Definition: Zone.cs:40
bool HasField(int idEle)
Definition: Zone.cs:2923

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

◆ Split()

◆ StripTalkSpeiclaCharacters()

string Card.StripTalkSpeiclaCharacters ( string  text)
inline

Definition at line 6968 of file Card.cs.

6969 {
6970 switch (text[0])
6971 {
6972 case '@':
6973 {
6974 if (text.Length > 1 && int.TryParse(text[1].ToString() ?? "", out var _))
6975 {
6976 return text.Substring(2);
6977 }
6978 break;
6979 }
6980 case '^':
6981 case '|':
6982 return text.Substring(1);
6983 }
6984 return text;
6985 }

◆ Talk()

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

Definition at line 6903 of file Card.cs.

6904 {
6905 if (IsPC && !EClass.player.forceTalk && idTopic != "goodBoy" && idTopic != "insane")
6906 {
6907 EClass.player.forceTalk = false;
6908 Msg.SetColor();
6909 return;
6910 }
6911 EClass.player.forceTalk = false;
6912 if (!isSynced && !forceSync)
6913 {
6914 Msg.SetColor();
6915 return;
6916 }
6917 GameLang.refDrama1 = ref1;
6918 GameLang.refDrama2 = ref2;
6919 string text = GetTalkText(idTopic, stripPun: true);
6920 if (HasElement(1232) && idTopic != "baby")
6921 {
6922 BackerContent.GakiConvert(ref text, "babu");
6923 }
6924 else
6925 {
6926 switch (id)
6927 {
6928 case "adv_gaki":
6929 BackerContent.GakiConvert(ref text);
6930 break;
6931 case "corgon":
6932 BackerContent.GakiConvert(ref text, "mokyu");
6933 break;
6934 case "mimu":
6935 BackerContent.GakiConvert(ref text, "mimu");
6936 break;
6937 }
6938 }
6939 TalkRaw(text, ref1, ref2, forceSync);
6940 }
static void GakiConvert(ref string text, string idLang="zako")
string GetTalkText(string idTopic, bool stripPun=false, bool useDefault=true)
Definition: Card.cs:7047
void TalkRaw(string text, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:6942
bool forceTalk
Definition: Player.cs:1157

References Player.forceTalk, BackerContent.GakiConvert(), 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(), 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 6942 of file Card.cs.

6943 {
6944 if ((!isSynced && !forceSync) || text.IsEmpty())
6945 {
6946 Msg.SetColor();
6947 return;
6948 }
6949 if (ref1 != null)
6950 {
6951 text = text.Replace("#1", ref1);
6952 }
6953 if (ref2 != null)
6954 {
6955 text = text.Replace("#2", ref2);
6956 }
6958 text = StripTalkSpeiclaCharacters(text);
6959 bool flag = text.StartsWith("*");
6960 Msg.SetColor(text.StartsWith("(") ? Msg.colors.Thinking : (flag ? Msg.colors.Ono : Msg.colors.Talk));
6961 if (!flag)
6962 {
6963 text = text.Bracket();
6964 }
6965 Msg.Say(text.Replace("&", ""));
6966 }
string ApplyNewLine(string text)
Definition: Card.cs:6987
string StripTalkSpeiclaCharacters(string text)
Definition: Card.cs:6968
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 5929 of file Card.cs.

5930 {
5931 if (EClass._zone.IsRegion)
5932 {
5934 return;
5935 }
5936 PlayEffect("teleport");
5937 if (!force && (!trait.CanBeTeleported || elements.Has(400) || (isChara && Chara.HasCondition<ConGravity>())))
5938 {
5939 Say("antiTeleport", this);
5940 PlaySound("gravity");
5941 return;
5942 }
5943 if (!silent)
5944 {
5945 PlaySound("teleport");
5946 Say("teleported", this);
5947 }
5948 _Move(point);
5949 renderer.SetFirst(first: true, pos.PositionCenter());
5950 if (isChara)
5951 {
5952 Chara.ai.Cancel();
5953 foreach (Chara chara in EClass._map.charas)
5954 {
5955 if (chara.enemy == this)
5956 {
5957 chara.SetEnemy();
5958 }
5959 }
5960 Chara.RemoveCondition<ConEntangle>();
5961 }
5962 if (IsPC)
5963 {
5966 EClass.player.haltMove = true;
5967 }
5968 PlayEffect("teleport", useRenderPos: false);
5969 }
virtual MoveResult _Move(Point p, MoveType type=MoveType.Walk)
Definition: Card.cs:5893
void SayNothingHappans()
Definition: Card.cs:7015
Chara enemy
Definition: Chara.cs:86
Chara SetEnemy(Chara c=null)
Definition: Chara.cs:6389
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 7348 of file Card.cs.

7349 {
7350 }

◆ ToString()

override string Card.ToString ( )
inline

Definition at line 2515 of file Card.cs.

2516 {
2517 return Name + "/" + pos?.ToString() + "/" + parent;
2518 }
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 5738 of file Card.cs.

5739 {
5740 if (c.c_idRefCard.IsEmpty())
5741 {
5742 return c.c_altName;
5743 }
5744 if (!(c.refCard is SourceChara.Row { isChara: not false } row))
5745 {
5746 return c.c_altName;
5747 }
5748 if (!row.aka.IsEmpty())
5749 {
5750 if (row.name == "*r" && row.aka == "*r")
5751 {
5752 return "corpseGeneral".lang();
5753 }
5754 if (row.name == "*r")
5755 {
5756 return row.GetText("aka");
5757 }
5758 }
5759 return row.GetName();
5760 }
CardRow refCard
Definition: Card.cs:1993

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

5508 {
5509 if (lv == -1)
5510 {
5511 lv = EClass._zone.DangerLv;
5512 }
5513 switch (id)
5514 {
5515 case "gene":
5517 break;
5518 case "log":
5519 ChangeMaterial(EClass.sources.materials.rows.Where((SourceMaterial.Row m) => m.category == "wood").RandomItem());
5520 break;
5521 case "ore_gem":
5523 break;
5524 case "ore":
5526 break;
5527 case "milk":
5528 case "_egg":
5529 case "egg_fertilized":
5530 case "_meat":
5531 case "meat_marble":
5532 case "dattamono":
5533 {
5534 string text = "c_wilds";
5535 if (id == "_meat" || id == "meat_marble")
5536 {
5537 text = "c_animal";
5538 }
5539 if (itemSource == TryMakeRandomItemSource.Cooking && crafter != null && crafter.HasElement(1205))
5540 {
5541 text = "c_human";
5542 }
5543 for (int i = 0; i < 20; i++)
5544 {
5545 CardRow cardRow = SpawnList.Get(text).Select(lv + i);
5546 if (cardRow.model.Chara.race.corpse[0] != "_meat" && id != "milk" && id != "_egg" && id != "egg_fertilized")
5547 {
5548 continue;
5549 }
5550 if (itemSource == TryMakeRandomItemSource.Cooking)
5551 {
5552 if (cardRow.model.HasElement(701))
5553 {
5554 continue;
5555 }
5556 if (crafter != null && crafter.id == "big_sister")
5557 {
5558 cardRow = crafter.source;
5559 }
5560 }
5561 if (id == "milk")
5562 {
5563 if (c_idRefCard.IsEmpty())
5564 {
5565 MakeRefFrom(cardRow.model);
5566 }
5567 }
5568 else
5569 {
5570 MakeFoodFrom(cardRow.model);
5571 }
5572 return this as Thing;
5573 }
5574 MakeFoodFrom(EClass.sources.charas.map.Values.Where((SourceChara.Row r) => r.chance > 0 && r.quality == 0).RandomItem().model);
5575 break;
5576 }
5577 }
5578 return this as Thing;
5579 }
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(), and SurvivalManager.OnMineWreck().

◆ TryMove()

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

Reimplemented in Chara.

Definition at line 6020 of file Card.cs.

6021 {
6022 return _Move(newPoint);
6023 }

◆ TryMoveFrom()

MoveResult Card.TryMoveFrom ( Point  p)
inline

Definition at line 5980 of file Card.cs.

5981 {
5983 {
5984 return MoveResult.Fail;
5985 }
5986 Point point = p.Copy();
5987 int num = p.x - pos.x;
5988 int num2 = p.z - pos.z;
5989 if (num > 1)
5990 {
5991 num = 1;
5992 }
5993 else if (num < -1)
5994 {
5995 num = -1;
5996 }
5997 if (num2 > 1)
5998 {
5999 num2 = 1;
6000 }
6001 else if (num2 < -1)
6002 {
6003 num2 = -1;
6004 }
6005 if (num == 0 && num2 == 0)
6006 {
6007 num = EClass.rnd(3) - 1;
6008 num2 = EClass.rnd(3) - 1;
6009 }
6010 point.Set(pos);
6011 point.x -= num;
6012 point.z -= num2;
6013 if (point.IsValid && !point.HasChara)
6014 {
6015 return TryMove(point, allowDestroyPath: false);
6016 }
6017 return MoveResult.Fail;
6018 }
bool TooHeavyToMove()
Definition: Player.cs:2567

References Point.Copy(), 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 3979 of file Card.cs.

3980 {
3981 if (GetCurrency(id) < a)
3982 {
3983 if (IsPC)
3984 {
3985 SE.Beep();
3986 Msg.Say((id == "ration") ? "notEnoughFood" : "notEnoughMoney");
3987 }
3988 return false;
3989 }
3990 if (IsPC && !(id == "ration"))
3991 {
3992 SE.Pay();
3993 }
3994 ModCurrency(-a, id);
3995 return true;
3996 }
int GetCurrency(string id="money")
Definition: Card.cs:4029

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

2530 {
2531 if (CanReserve(act))
2532 {
2533 reservedAct = act;
2534 return true;
2535 }
2536 return false;
2537 }
bool CanReserve(AIAct act)
Definition: Card.cs:2520

References CanReserve(), and reservedAct.

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

◆ TryStack()

void Card.TryStack ( Thing  t)
inline

Definition at line 7179 of file Card.cs.

7180 {
7181 if (t == this)
7182 {
7183 return;
7184 }
7186 if (dest.stack != null)
7187 {
7188 if (IsPC)
7189 {
7190 Say("stack_thing", t, dest.stack);
7191 }
7192 t.TryStackTo(dest.stack);
7193 }
7194 }
bool TryStackTo(Thing to)
Definition: Card.cs:3451
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 3451 of file Card.cs.

3452 {
3453 if (isDestroyed || to.isDestroyed || !CanStackTo(to))
3454 {
3455 return false;
3456 }
3457 to.decay = (to.decay * to.Num + decay * Num) / (to.Num + Num);
3458 to.ModNum(Num);
3459 if (c_isImportant)
3460 {
3461 to.c_isImportant = true;
3462 }
3464 {
3465 to.isNew = true;
3466 }
3467 Destroy();
3468 return true;
3469 }
virtual bool CanStackTo(Thing to)
Definition: Card.cs:3446
new GameConfig game
Definition: CoreConfig.cs:609

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

7301 {
7302 if (!(GetRestrainer() == null || force))
7303 {
7304 return;
7305 }
7306 isRestrained = false;
7307 Say("unrestrained", this);
7308 if (this != c)
7309 {
7310 Talk("thanks");
7311 }
7313 renderer.SetFirst(first: true);
7314 if (c == null)
7315 {
7316 return;
7317 }
7318 if (c_rescueState == RescueState.WaitingForRescue)
7319 {
7320 c_rescueState = RescueState.Rescued;
7321 if (c.IsPC)
7322 {
7324 }
7325 }
7327 {
7328 return;
7329 }
7330 foreach (Chara item in c.pos.ListCharasInRadius(c, 5, (Chara _c) => _c.id == "fanatic" && _c.faith != Chara.faith))
7331 {
7332 c.DoHostileAction(item, immediate: true);
7333 }
7334 }
RescueState
Definition: RescueState.cs:2
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:6903
TraitShackle GetRestrainer()
Definition: Card.cs:7336
RescueState c_rescueState
Definition: Card.cs:1223
List< Chara > ListCharasInRadius(Chara cc, int dist, Func< Chara, bool > func, bool onlyVisible=true)
Definition: Point.cs:1220

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

8049 {
8050 }

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

Member Data Documentation

◆ _bits1

◆ _bits2

◆ _category

SourceCategory.Row Card._category
private

Definition at line 90 of file Card.cs.

◆ _childrenWeight

int Card._childrenWeight
private

Definition at line 88 of file Card.cs.

◆ _colorInt

int Card._colorInt

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

◆ _material

SourceMaterial.Row Card._material

Definition at line 92 of file Card.cs.

Referenced by ChangeMaterial(), and Create().

◆ _paintSprite

Sprite Card._paintSprite
private

Definition at line 100 of file Card.cs.

◆ _randColor

Color Card._randColor
staticprivate

Definition at line 94 of file Card.cs.

◆ angle

float Card.angle = 180f

◆ animeCounter

float Card.animeCounter

Definition at line 74 of file Card.cs.

◆ bio

◆ bp

CardBlueprint Card.bp

Definition at line 78 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 86 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(), 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(), Player.MoveZone(), Trait.OnBarter(), TraitPotionAlchemy.OnCrafted(), Thing.OnCreate(), TraitRod.OnCreate(), TraitToolRangeCane.OnCreate(), TaskChopWood.OnCreateProgress(), TaskDig.OnCreateProgress(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), Chara.OnDeserialized(), TraitDrinkMilkMother.OnDrink(), QuestWedding.OnDropReward(), Game.OnLoad(), TraitAgingShelf.OnProduce(), TraitDryBrick.OnProduce(), TaskCraft.OnProgress(), AI_Fish.ProgressFish.OnProgressComplete(), TaskCraft.OnProgressComplete(), TaskDig.OnProgressComplete(), TaskMine.OnProgressComplete(), TraitBookSkill.OnRead(), TraitScrollStatic.OnRead(), Player.OnStartNewGame(), ZoneEventWedding.OnVisit(), Act.Perform(), AttackProcess.Perform(), AttackProcess.PlayRangedAnime(), AttackProcess.Prepare(), FoodEffect.Proc(), ActEffect.Proc(), AttackProcess.ProcShieldEncs(), CoreDebug.QuickStart(), ButtonElement.Refresh(), UICharaMaker.Refresh(), WidgetTracker.Refresh(), WindowCharaMini.Refresh(), UIRecipeInfo.RefreshList(), LayerEmbark.RefreshMembers(), LayerCraft.RefreshProduct(), WindowChara.RefreshProfile(), WindowChara.RefreshSkill(), Chara.RefreshSpeed(), WindowChara.RefreshStatic(), 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(), ConVampire.Tick(), WidgetTracker.Toggle(), CalcPlat.Train(), HotItemAct.TrySetAct(), TraitCatalyst.TrySetHeldAct(), Map.TryShatter(), CharaBody.Unequip(), TraitFoodEgg.Update(), TraitWrench.Upgrade(), Element.BonusInfo.WriteNote(), RecipeCard.WriteNote(), Thing.WriteNote(), TraitBookSkill.WriteNote(), and Recipe.WriteReqSkill().

◆ fov

◆ hat

CardRow Card.hat

Definition at line 64 of file Card.cs.

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

◆ id

string Card.id = ""

Definition at line 36 of file Card.cs.

Referenced by ThingContainer._ListCurrency(), InvOwnerRecycle._OnProcess(), BuildMenu._Search(), SerializedCards.Add(), Props.Add(), Zone.AddCard(), ThingContainer.AddCurrency(), ThingContainer.AddFactory(), FactionBranch.AddMemeber(), AddThing(), InvOwner.AllowHold(), DramaCustomSequence.Build(), Recipe.BuildIngredientList(), Chara.CanAcceptGift(), TraitDrink.CanBlend(), TraitBrewery.CanChildDecay(), Chara.CanDuplicate(), TraitAltar.CanOffer(), Recipe.Ingredient.CanSetThing(), Thing.CanStackTo(), QuestCrafter.CanUpdateOnTalk(), QuestDefense.CanUpdateOnTalk(), QuestExploration.CanUpdateOnTalk(), QuestShippingChest.CanUpdateOnTalk(), Trait.Contains(), TraitCrafter.Craft(), RecipeCard.Craft(), Recipe.Create(), LayerInventory.CreateContainer(), Chara.Cuddle(), FactionBranch.DailyOutcome(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), GrowSystem.EqualizePlants(), CharaBody.Equip(), ZonePreEnterEncounter.Execute(), CardManager.GlobalCharaList.Find(), Party.Find(), ThingContainer.Find(), Map.FindChara(), Zone.FindChara(), CoreDebug.Fix_RemoveAshland(), CoreDebug.Fix_RemoveDemitas(), CoreDebug.Fix_RemoveDuplicateUnique(), Biography.Generate(), FactionBranch.GenerateGarbage(), DNA.GenerateGene(), TraitChara.GetAdvRank(), TraitItemProc.GetCraftNum(), ThingContainer.GetCurrency(), Trait.GetFuelValue(), AI_Shear.GetFur(), TraitTrolley.GetIdSound(), TaskChopWood.GetLog(), Thing.GetName(), ReligionMoonShadow.GetOfferingMtp(), ReligionTrickery.GetOfferingMtp(), TraitBrewery.GetProductID(), ConTransmuteMimic.GetRendererReplacer(), DramaCustomSequence.GetRumor(), TaskBuild.GetText(), ThingContainer.GetThingStack(), AI_Haul.GetThingToClean(), 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(), Zone_Casino.OnActivate(), TraitTrap.OnActivateTrap(), Zone_WindRest.OnAfterSimulate(), Trait.OnBarter(), TraitWell.OnBlend(), TraitBrewery.OnChildDecay(), FactionBranch.OnClaimZone(), ContentCodex.OnClickAddCards(), Thing.OnCreate(), TraitRod.OnCreate(), TraitDrink.OnDrink(), TraitDrinkMilkMother.OnDrink(), QuestRandom.OnDropReward(), Zone_CursedManor.OnGenerateMap(), Zone_CursedManorDungeon.OnGenerateMap(), Zone_WindRest.OnGenerateMap(), QuestTaskFlyer.OnGiveItem(), LayerCraft.OnKill(), Game.OnLoad(), Props.OnNumChange(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgressComplete(), TaskBuild.OnProgressComplete(), TraitLicense.OnRead(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), TraitPaintBoard.OnRenderExtra(), TraitTrapMine.OnStepped(), TraitGainPrecious.OnUse(), TraitHat.OnUse(), TraitPotionEmpty.OnUse(), RecipeManager.OnVersionUpdate(), ZoneEventMusic.OnVisit(), ZoneEventWedding.OnVisit(), AttackProcess.Perform(), AttackProcess.PlayRangedAnime(), DramaOutcome.poppy_found(), ActEffect.Proc(), ActEffect.ProcAt(), InvOwner.Transaction.Process(), PurgeDuplicateArtifact(), TCOrbitChara.RefreshAll(), LayerCraft.RefreshCategory(), LayerCraftFloat.RefreshDisassemble(), UIRecipeInfo.RefreshList(), TraitDaggerGrave.RemainingSword(), SerializedCards.Restore(), AI_Haul.Run(), AI_Idle.Run(), AI_PlayMusic.Run(), GoalCombat.Run(), RecipeUpdater.RunRecipe(), TraitDetector.Search(), ActWait.SearchMedal(), SecondaryCompare(), Zone_CurryRuinDungeon.SetAlarm(), Portrait.SetChara(), TraitAltar.SetDeity(), Chara.SetMainElement(), CardActor.SetOwner(), Biography.SetPortrait(), Player.SetPriorityAction(), HitSummary.SetRecipe(), Chara.SetSource(), Thing.SetSource(), TaskHarvest.ShouldGenerateDismantled(), InvOwnerRecycle.ShouldShowGuide(), Chara.ShouldThrowAway(), CardRenderer.ShowBossText(), Zone.Simulate(), DramaOutcome.sister_friend(), Tactics.Tactics(), 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 96 of file Card.cs.

◆ 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_PracticeDummy.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(), Kick(), 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(), TraitHouseBoard.OnChangePlaceState(), TaskDig.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TraitRollingFortune.OnEndAI(), ZoneEventRaid.OnKill(), ZoneEventSiege.OnKill(), ElementContainerCard.OnLevelUp(), ElementContainerZone.OnLevelUp(), Act.OnMarkMapHighlights(), ActBolt.OnMarkMapHighlights(), ActRush.OnMarkMapHighlights(), ActTelekinesis.OnMarkMapHighlights(), TraitAltar.OnOffer(), AM_Designation< T >.OnProcessTiles(), AM_MoveInstalled.OnProcessTiles(), AI_Fish.ProgressFish.OnProgressComplete(), AI_Sleep.OnProgressComplete(), QuestCraft.OnProgressComplete(), TaskBuild.OnProgressComplete(), TaskDig.OnProgressComplete(), TraitBook.OnRead(), TraitDeedRelocate.OnRead(), TraitDiary.OnRead(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), ConSuspend.OnRemoved(), AM_Adv.OnRenderTile(), TraitFertilizer.OnSimulateHour(), GoalSleep.OnSimulatePosition(), QuestEscort.OnStart(), TraitNewZone.OnStepped(), TraitSwing.OnSteppedOut(), LayerCraftFloat.OnSwitchContent(), Scene.OnUpdate(), TraitDaggerGrave.OnUse(), TraitFarmChest.OnUse(), TraitGeneMachine.OnUse(), TraitGiftNewYear.OnUse(), TraitMannequin.OnUse(), TraitShackle.OnUse(), TraitStairsLocked.OnUse(), ZoneEventWedding.OnVisit(), TraitContainer.Open(), DramaManager.ParseLine(), Act.Perform(), ActMissileBarrage.Perform(), ActMultihit.Perform(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.Perform(), ActTelekinesis.Perform(), ActThrow.Perform(), ActWhirlwind.Perform(), HotItemActionSleep.Perform(), ActPlan.Item.Perform(), AttackProcess.Perform(), Zone_Dungeon.PlaceRail(), EffectIRenderer.Play(), CardRenderer.PlayAnime(), PlayEffect(), AttackProcess.PlayRangedAnime(), PlaySound(), Trait.PlayToggleEffect(), AttackProcess.Prepare(), AM_Adv.PressedActionMove(), FoodEffect.Proc(), ActEffect.Proc(), ActEffect.ProcAt(), InvOwner.Transaction.Process(), DramaOutcome.QuestExploration_AfterCrystal(), CoreDebug.QuickStart(), TraitBaseSpellbook.ReadFailEffect(), FactionBranch.Recruit(), Religion.Reforge(), ActorEx.Refresh(), LayerTravel.Refresh(), WidgetMouseover.Refresh(), AM_Adv.RefreshArrow(), AM_Region.RefreshArrow(), Zone.RefreshBGM(), LayerCraftFloat.RefreshCraft(), WidgetSearch.RefreshList(), BaseGameScreen.RefreshPosition(), GameScreenElona.RefreshPosition(), BaseGameScreen.RefreshWeather(), GameScreenElona.RefreshWeather(), Weather.RefreshWeather(), Map.Resize(), SerializedCards.Restore(), Zone.Revive(), Chara.Revive(), AI_ArmPillow.Run(), AI_Bladder.Run(), AI_Churyu.Run(), AI_Clean.Run(), AI_Cook.Run(), AI_Fuck.Run(), AI_Haul.Run(), AI_Idle.Run(), AI_Massage.Run(), AI_Offer.Run(), AI_PassTime.Run(), AI_PlayMusic.Run(), AI_Shear.Run(), AI_Shopping.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_TargetCard.Run(), AI_Torture.Run(), AI_UseCrafter.Run(), AIWork.Run(), GoalCombat.Run(), GoalManualMove.Run(), GoalSleep.Run(), TaskDump.Run(), TaskPoint.Run(), RecipeUpdater.RunDisassemble(), PartialMap.Save(), Map.Save(), ActWait.Search(), CharaRenderer.SetFirst(), SetPlaceState(), AM_Adv.SetPressedAction(), RegionPoint.SetRegionPoint(), WidgetHotbar.SetShortcutMenu(), UISong.SetSong(), TraitGeneratorWheel.ShouldWork(), AM_Adv.ShowAllAction(), LayerCraftFloat.ShowContextMenu(), Zone.Simulate(), Player.SimulateFaction(), CoreDebug.Spawn(), CoreDebug.SpawnBoss(), ButtonAbility.SpecialHoldAction(), SurvivalManager.StartRaid(), Chara.Stumble(), ConSleep.SuccubusVisit(), Chara.SyncRide(), Player.TargetRanged(), CoreDebug.TestSpawn(), ActThrow.Throw(), AI_PlayMusic.ThrowReward(), Chara.Tick(), ConFear.Tick(), ConMiasma.Tick(), ConSleep.Tick(), ConSuspend.Tick(), StanceSongEnd.TickSong(), StanceSongSleep.TickSong(), StanceSongValor.TickSong(), TraitDoor.ToggleDoor(), TraitDoorSwing.ToggleDoor(), ToString(), Chara.ToString(), TraitSwitch.TryDisarmTrap(), Religion.TryGetGift(), AI_Goto.TryGoTo(), GoalCombat.TryMove(), GoalManualMove.TryMove(), Chara.TryMoveTowards(), 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 62 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(), 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 70 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(), 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(), FactionBranch.GetMeal(), InvOwner.GetShitDestOwner(), ThingContainer.GetThingStack(), TaskDig.GetTreasureMap(), DramaOutcome.give_sketch_special(), Chara.GiveGift(), DramaOutcome.guild_mageTrial(), 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(), 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_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(), 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.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(), TraitNewZone.CanAutoEnter(), Thing.CanAutoFire(), HotItemHeld.CanChangeHeightByWheel(), TraitBrewery.CanChildDecay(), Trait.CanCook(), TraitKettle.CanCopy(), Chara.CanEat(), Player.CanExitBorder(), Trait.CanOffer(), InvOwner.CanOpenContainer(), ActRush.CanPerform(), ActTelekinesis.CanPerform(), AI_Steal.CanPerform(), TaskBaseBuild.CanPlaceCard(), TaskChopWood.CanProgress(), TaskHarvest.CanProgress(), AM_MoveInstalled.CanPutAway(), HotItemHeld.CanRotate(), TaskBuild.CanRotateBlock(), InvOwner.CanShiftClick(), TraitSalesTag.CanTagSale(), ActThrow.CanThrow(), CoreDebug.ChangeRace(), TraitSpotBiome.CountNotableThing(), Recipe.Craft(), RecipeCard.Craft(), Create(), LayerInventory.CreateBuy(), LayerInventory.CreateContainer(), Trait.CreateStock(), FactionBranch.DailyOutcome(), ActEffect.DamageEle(), Zone.Deactivate(), Chara.DestroyPath(), Die(), CardRenderer.Draw(), CharaRenderer.Draw(), CharaRenderer.DrawHeld(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), Chara.Drink(), Chara.DropThing(), CharaBody.Equip(), Player.EquipTool(), ZonePreEnterDigStairs.Execute(), Props.Find< T >(), ThingContainer.Find< T >(), ThingContainer.FindBest< T >(), Props.FindEmptyContainer< T >(), ThingContainer.FindStealable(), Map.FindThing(), Map.FindThing< T >(), Point.FindThing< T >(), FindTool< T >(), CoreDebug.Fix_LostCore(), GoalAutoCombat.GetAbilities(), HotItemHeld.GetAct(), InvOwner.GetAutoUseLang(), BaseTaskHarvest.GetBestTool(), TraitPainter.GetCanvas(), ThingContainer.GetDest(), Zone.GetElectricity(), BaseArea.GetEmptySeat(), TaskBuild.GetHitResult(), Chara.GetHoverText2(), Point.GetInstalled< T >(), GetLightRadius(), DramaCustomSequence.GetListGuide(), Thing.GetName(), LayerInteraction.GetPage(), GoalGraze.GetPos(), 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(), Map.OnCardAddedToZone(), Map.OnCardRemovedFromZone(), TraitBrewery.OnChildDecay(), LayerCraft.OnClickCraft(), InvOwner.OnDrag(), ShopTransaction.OnEndTransaction(), CardRenderer.OnEnterScreen(), Affinity.OnGift(), Game.OnLoad(), ButtonGrid.OnMiddleClick(), AM_MoveInstalled.OnProcessTiles(), TaskBuild.OnProgressComplete(), TraitManager.OnRemoveCard(), ConSleep.OnRemoved(), ConTorch.OnRemoved(), CharaActorPCC.OnRender(), RecipeCard.OnRenderMarker(), ActionMode.OnRenderTile(), AM_Adv.OnRenderTile(), InspectGroupThing.OnSetActions(), HotItemHeld.OnSetCurrentItem(), AI_Read.OnSetOwner(), Zone.OnSimulateHour(), TraitAmmo.OnUse(), UI.OpenFloatInv(), ActRanged.Perform(), ActTelekinesis.Perform(), AttackProcess.Perform(), Chara.Pick(), Chara.PickHeld(), Zone_Dungeon.PlaceRail(), AttackProcess.Prepare(), ActEffect.Proc(), InvOwner.Transaction.Process(), Map.PutAway(), DramaOutcome.QuestDefense_0(), DramaOutcome.QuestDefense_1(), CoreDebug.QuickStart(), Scene.RebuildActorEx(), BranchMap.Refresh(), Cell.Refresh(), UIPlaceHelper.Refresh(), TCOrbitChara.RefreshAll(), TCOrbitThing.RefreshAll(), UIMagicChest.RefreshBottom(), BuildMenu.RefreshCategory(), LayerDragGrid.RefreshCost(), Player.RefreshCurrentHotItem(), Zone.RefreshElectricity(), UIInventory.RefreshMenu(), LayerCraft.RefreshProduct(), CardActor.RefreshSprite(), Map.RefreshSunMap(), Trait.Refuel(), Map.ReloadRoom(), Cell.RemoveCard(), Zone.RemoveCard(), RemoveThing(), Map.ResetEditorPos(), SerializedCards.Restore(), Chara.Revive(), ActionMode.RotateUnderMouse(), AI_Cook.Run(), AI_Idle.Run(), AI_Offer.Run(), AI_Read.Run(), RecipeUpdater.RunRecipe(), PartialMap.Save(), Map.Save(), WidgetCurrentTool.Select(), ButtonGrid.SetCard(), AIWork.SetDestPos(), LayerAbility.SetDirty(), LayerCraft.SetFactory(), LayerDragGrid.SetInv(), LayerRegisterHotbar.SetItem(), CardRenderer.SetOwner(), CharaBody.SetOwner(), SetPlaceState(), ButtonGrid.SetRecipe(), CoreDebug.SetStartStockpile(), HotItemThing.SetSubText(), BaseTaskHarvest.SetTarget(), GameDate.ShipGoods(), TaskHarvest.ShouldGenerateDismantled(), PointTarget.ShouldIgnore(), InvOwnerBlend.ShouldShowGuide(), InvOwnerChangeMaterial.ShouldShowGuide(), InvOwnerCopyShop.ShouldShowGuide(), InvOwnerGive.ShouldShowGuide(), InvOwnerLighten.ShouldShowGuide(), InvOwnerReconstruction.ShouldShowGuide(), InvOwnerRecycle.ShouldShowGuide(), InvOwnerRefuel.ShouldShowGuide(), ThingContainer.ShouldShowOnGrid(), Chara.ShouldThrowAway(), TaskWater.ShouldWater(), TraitGeneratorWheel.ShouldWork(), Zone.Simulate(), Zone.SpawnAltar(), SpawnLoot(), Chara.Stumble(), UIInventory.SwitchTab(), Player.TargetRanged(), AM_Picker.TestThing(), ActThrow.Throw(), Chara.Tick(), Chara.TryAbsorbRod(), Map.TryAddRoom(), Zone.TryAddThingInSharedContainer(), Zone.TryAddThingInSpot< T >(), Chara.TryDropCarryOnly(), TaskHarvest.TryGetAct(), Zone.TryGetRestock< T >(), InvOwner.TryHold(), Zone.TryListThingsInSpot< T >(), TraitDoor.TryOpen(), AI_Idle.TryPerformIdleUse(), Chara.TryPoisonPotion(), 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 2173 of file Card.cs.

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

◆ _placeState

PlaceState Card._placeState
getset

Definition at line 290 of file Card.cs.

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

Referenced by _OnDeserialized(), and _OnSerializing().

◆ _x

int Card._x
getset

Definition at line 170 of file Card.cs.

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

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

◆ _z

int Card._z
getset

Definition at line 182 of file Card.cs.

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

Referenced by _OnDeserialized(), and _OnSerializing().

◆ actorPrefab

virtual string Card.actorPrefab
get

Definition at line 2155 of file Card.cs.

◆ AliasMaterialOnCreate

virtual string Card.AliasMaterialOnCreate
get

Definition at line 2079 of file Card.cs.

Referenced by Create().

◆ altitude

int Card.altitude
getset

Definition at line 230 of file Card.cs.

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

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

1799 {
1800 get
1801 {
1802 return GetObj<Thing>(9);
1803 }
1804 set
1805 {
1806 SetObj(9, value);
1807 }
1808 }
void SetObj(int id, object o)
Definition: BaseCard.cs:91

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

◆ autoRefuel

bool Card.autoRefuel
getset

Definition at line 626 of file Card.cs.

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

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

◆ blessedState

◆ c_allowance

int Card.c_allowance
getset

Definition at line 1330 of file Card.cs.

1331 {
1332 get
1333 {
1334 return GetInt(114);
1335 }
1336 set
1337 {
1338 SetInt(114, value);
1339 }
1340 }

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

◆ c_altName

string Card.c_altName
getset

Definition at line 1606 of file Card.cs.

1607 {
1608 get
1609 {
1610 return GetStr(1);
1611 }
1612 set
1613 {
1614 SetStr(1, value);
1615 }
1616 }
void SetStr(int id, string value=null)
Definition: BaseCard.cs:63
string GetStr(int id, string defaultStr=null)
Definition: BaseCard.cs:54

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

◆ c_altName2

string Card.c_altName2
getset

Definition at line 1618 of file Card.cs.

1619 {
1620 get
1621 {
1622 return GetStr(2);
1623 }
1624 set
1625 {
1626 SetStr(2, value);
1627 }
1628 }

◆ c_ammo

int Card.c_ammo
getset

Definition at line 1474 of file Card.cs.

1475 {
1476 get
1477 {
1478 return GetInt(27);
1479 }
1480 set
1481 {
1482 SetInt(27, value);
1483 }
1484 }

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

◆ c_bedType

BedType Card.c_bedType
getset

Definition at line 940 of file Card.cs.

941 {
942 get
943 {
944 return GetInt(9).ToEnum<BedType>();
945 }
946 set
947 {
948 SetInt(9, (int)value);
949 }
950 }
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 1294 of file Card.cs.

1295 {
1296 get
1297 {
1298 return GetInt(23);
1299 }
1300 set
1301 {
1302 SetInt(23, value);
1303 }
1304 }

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

◆ c_bloodData

Thing Card.c_bloodData
getset

Definition at line 1942 of file Card.cs.

1943 {
1944 get
1945 {
1946 return GetObj<Thing>(19);
1947 }
1948 set
1949 {
1950 SetObj(19, value);
1951 }
1952 }

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

◆ c_bossType

BossType Card.c_bossType
getset

Definition at line 1234 of file Card.cs.

1235 {
1236 get
1237 {
1238 return GetInt(65).ToEnum<BossType>();
1239 }
1240 set
1241 {
1242 SetInt(65, (int)value);
1243 }
1244 }

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

◆ c_charaList

CharaList Card.c_charaList
getset

Definition at line 1918 of file Card.cs.

1919 {
1920 get
1921 {
1922 return GetObj<CharaList>(13);
1923 }
1924 set
1925 {
1926 SetObj(13, value);
1927 }
1928 }

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

1559 {
1560 get
1561 {
1562 return GetStr(8);
1563 }
1564 set
1565 {
1566 SetStr(8, value);
1567 }
1568 }

◆ c_containerSize

int Card.c_containerSize
getset

Definition at line 1378 of file Card.cs.

1379 {
1380 get
1381 {
1382 return GetInt(8);
1383 }
1384 set
1385 {
1386 SetInt(8, value);
1387 }
1388 }

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

◆ c_containerUpgrade

ContainerUpgrade Card.c_containerUpgrade
getset

Definition at line 1894 of file Card.cs.

1895 {
1896 get
1897 {
1898 return GetObj<ContainerUpgrade>(12) ?? (c_containerUpgrade = new ContainerUpgrade());
1899 }
1900 set
1901 {
1902 SetObj(12, value);
1903 }
1904 }
ContainerUpgrade c_containerUpgrade
Definition: Card.cs:1895

Referenced by TraitWrench.Upgrade().

◆ c_context

string Card.c_context
getset

Definition at line 1690 of file Card.cs.

1691 {
1692 get
1693 {
1694 return GetStr(20);
1695 }
1696 set
1697 {
1698 SetStr(20, value);
1699 }
1700 }

Referenced by TraitDaggerGrave.OnUse().

◆ c_copyContainer

Thing Card.c_copyContainer
getset

Definition at line 1822 of file Card.cs.

1823 {
1824 get
1825 {
1826 return GetObj<Thing>(10);
1827 }
1828 set
1829 {
1830 SetObj(10, value);
1831 }
1832 }

Referenced by Trait.OnBarter().

◆ c_corruptionHistory

List<int> Card.c_corruptionHistory
getset

Definition at line 1882 of file Card.cs.

1883 {
1884 get
1885 {
1886 return GetObj<List<int>>(16);
1887 }
1888 set
1889 {
1890 SetObj(16, value);
1891 }
1892 }

◆ c_dateCooked

int Card.c_dateCooked
getset

Definition at line 1354 of file Card.cs.

1355 {
1356 get
1357 {
1358 return GetInt(66);
1359 }
1360 set
1361 {
1362 SetInt(66, value);
1363 }
1364 }

◆ c_dateDeathLock

int Card.c_dateDeathLock
getset

Definition at line 1258 of file Card.cs.

1259 {
1260 get
1261 {
1262 return GetInt(130);
1263 }
1264 set
1265 {
1266 SetInt(130, value);
1267 }
1268 }

◆ c_dateStockExpire

int Card.c_dateStockExpire
getset

Definition at line 1246 of file Card.cs.

1247 {
1248 get
1249 {
1250 return GetInt(22);
1251 }
1252 set
1253 {
1254 SetInt(22, value);
1255 }
1256 }

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

◆ c_daysWithGod

int Card.c_daysWithGod
getset

Definition at line 1486 of file Card.cs.

1487 {
1488 get
1489 {
1490 return GetInt(57);
1491 }
1492 set
1493 {
1494 SetInt(57, value);
1495 }
1496 }

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

◆ c_daysWithPC

int Card.c_daysWithPC
getset

Definition at line 1498 of file Card.cs.

1499 {
1500 get
1501 {
1502 return GetInt(67);
1503 }
1504 set
1505 {
1506 SetInt(67, value);
1507 }
1508 }

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

◆ c_diceDim

int Card.c_diceDim
getset

Definition at line 1402 of file Card.cs.

1403 {
1404 get
1405 {
1406 return GetInt(14);
1407 }
1408 set
1409 {
1410 SetInt(14, value);
1411 }
1412 }

Referenced by AttackProcess.Prepare().

◆ c_DNA

DNA Card.c_DNA
getset

◆ c_dyeMat

int Card.c_dyeMat
getset

Definition at line 1198 of file Card.cs.

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

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

◆ c_editorTags

string Card.c_editorTags
getset

Definition at line 1714 of file Card.cs.

1715 {
1716 get
1717 {
1718 return GetStr(28);
1719 }
1720 set
1721 {
1722 SetStr(28, value);
1723 }
1724 }

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

1727 {
1728 get
1729 {
1730 return GetStr(25);
1731 }
1732 set
1733 {
1734 SetStr(25, value);
1735 }
1736 }

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

◆ c_equippedSlot

int Card.c_equippedSlot
getset

Definition at line 952 of file Card.cs.

953 {
954 get
955 {
956 return GetInt(6);
957 }
958 set
959 {
960 SetInt(6, value);
961 }
962 }

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

◆ c_extraNameRef

string Card.c_extraNameRef
getset

Definition at line 1630 of file Card.cs.

1631 {
1632 get
1633 {
1634 return GetStr(12);
1635 }
1636 set
1637 {
1638 SetStr(12, value);
1639 }
1640 }

Referenced by MakeRefFrom().

◆ c_fixedValue

int Card.c_fixedValue
getset

Definition at line 1173 of file Card.cs.

1174 {
1175 get
1176 {
1177 return GetInt(131);
1178 }
1179 set
1180 {
1181 SetInt(131, value);
1182 }
1183 }

◆ c_fur

int Card.c_fur
getset

Definition at line 1342 of file Card.cs.

1343 {
1344 get
1345 {
1346 return GetInt(62);
1347 }
1348 set
1349 {
1350 SetInt(62, value);
1351 }
1352 }

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

1871 {
1872 get
1873 {
1874 return GetObj<CharaGenes>(15);
1875 }
1876 set
1877 {
1878 SetObj(15, value);
1879 }
1880 }

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

1679 {
1680 get
1681 {
1682 return GetStr(50);
1683 }
1684 set
1685 {
1686 SetStr(50, value);
1687 }
1688 }

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

◆ c_idBacker

int Card.c_idBacker
getset

Definition at line 1450 of file Card.cs.

1451 {
1452 get
1453 {
1454 return GetInt(52);
1455 }
1456 set
1457 {
1458 SetInt(52, value);
1459 }
1460 }

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

1703 {
1704 get
1705 {
1706 return GetStr(27);
1707 }
1708 set
1709 {
1710 SetStr(27, value);
1711 }
1712 }

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

◆ c_idJob

string Card.c_idJob
getset

Definition at line 1534 of file Card.cs.

1535 {
1536 get
1537 {
1538 return GetStr(4);
1539 }
1540 set
1541 {
1542 SetStr(4, value);
1543 }
1544 }

◆ c_idMainElement

int Card.c_idMainElement
getset

Definition at line 1426 of file Card.cs.

1427 {
1428 get
1429 {
1430 return GetInt(16);
1431 }
1432 set
1433 {
1434 SetInt(16, value);
1435 }
1436 }

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

◆ c_idPortrait

string Card.c_idPortrait
getset

Definition at line 1510 of file Card.cs.

1511 {
1512 get
1513 {
1514 return GetStr(9);
1515 }
1516 set
1517 {
1518 SetStr(9, value);
1519 }
1520 }

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

◆ c_idRace

string Card.c_idRace
getset

Definition at line 1522 of file Card.cs.

1523 {
1524 get
1525 {
1526 return GetStr(3);
1527 }
1528 set
1529 {
1530 SetStr(3, value);
1531 }
1532 }

◆ c_idRefCard

◆ c_idRefCard2

string Card.c_idRefCard2
getset

Definition at line 1762 of file Card.cs.

1763 {
1764 get
1765 {
1766 return GetStr(6);
1767 }
1768 set
1769 {
1770 SetStr(6, value);
1771 }
1772 }

Referenced by Thing.CanStackTo().

◆ c_idRefName

string Card.c_idRefName
getset

Definition at line 1654 of file Card.cs.

1655 {
1656 get
1657 {
1658 return GetStr(7);
1659 }
1660 set
1661 {
1662 SetStr(7, value);
1663 }
1664 }

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

1667 {
1668 get
1669 {
1670 return GetStr(55);
1671 }
1672 set
1673 {
1674 SetStr(55, value);
1675 }
1676 }

Referenced by ActPlan._Update().

◆ c_idSpriteReplacer

string Card.c_idSpriteReplacer
getset

Definition at line 1570 of file Card.cs.

1571 {
1572 get
1573 {
1574 return GetStr(13);
1575 }
1576 set
1577 {
1578 SetStr(13, value);
1579 }
1580 }

Referenced by CharaRenderer.SetOwner().

◆ c_idTalk

string Card.c_idTalk
getset

Definition at line 1582 of file Card.cs.

1583 {
1584 get
1585 {
1586 return GetStr(21);
1587 }
1588 set
1589 {
1590 SetStr(21, value);
1591 }
1592 }

Referenced by Person.GetDramaTitle().

◆ c_idTone

string Card.c_idTone
getset

Definition at line 1546 of file Card.cs.

1547 {
1548 get
1549 {
1550 return GetStr(22);
1551 }
1552 set
1553 {
1554 SetStr(22, value);
1555 }
1556 }

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

◆ c_idTrait

string Card.c_idTrait
getset

Definition at line 1738 of file Card.cs.

1739 {
1740 get
1741 {
1742 return GetStr(29);
1743 }
1744 set
1745 {
1746 SetStr(29, value);
1747 }
1748 }

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

◆ c_IDTState

int Card.c_IDTState
getset

Definition at line 1270 of file Card.cs.

1271 {
1272 get
1273 {
1274 return GetInt(2);
1275 }
1276 set
1277 {
1278 SetInt(2, value);
1279 }
1280 }

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

◆ c_indexContainerIcon

int Card.c_indexContainerIcon
getset

Definition at line 1414 of file Card.cs.

1415 {
1416 get
1417 {
1418 return GetInt(15);
1419 }
1420 set
1421 {
1422 SetInt(15, value);
1423 }
1424 }

Referenced by ButtonGrid.SetCard().

◆ c_invest

int Card.c_invest
getset

Definition at line 1306 of file Card.cs.

1307 {
1308 get
1309 {
1310 return GetInt(28);
1311 }
1312 set
1313 {
1314 SetInt(28, value);
1315 }
1316 }

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

◆ c_isDisableStockUse

bool Card.c_isDisableStockUse
getset

Definition at line 1084 of file Card.cs.

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

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

◆ c_isImportant

◆ c_isPrayed

bool Card.c_isPrayed
getset

Definition at line 1072 of file Card.cs.

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

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

◆ c_isTrained

bool Card.c_isTrained
getset

Definition at line 1060 of file Card.cs.

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

◆ c_lightColor

int Card.c_lightColor
getset

Definition at line 1096 of file Card.cs.

1097 {
1098 get
1099 {
1100 return GetInt(5);
1101 }
1102 set
1103 {
1104 Mod();
1105 SetInt(5, value);
1106 }
1107 }
void Mod()
Definition: Card.cs:2539

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

◆ c_lockedAge

int Card.c_lockedAge
getset

Definition at line 1366 of file Card.cs.

1367 {
1368 get
1369 {
1370 return GetInt(38);
1371 }
1372 set
1373 {
1374 SetInt(38, value);
1375 }
1376 }

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

◆ c_lockedHard

bool Card.c_lockedHard
getset

Definition at line 1036 of file Card.cs.

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

Referenced by Trait.TryOpenLock().

◆ c_lockLv

◆ c_love

LoveData Card.c_love
getset

Definition at line 1858 of file Card.cs.

1859 {
1860 get
1861 {
1862 return GetObj<LoveData>(20);
1863 }
1864 set
1865 {
1866 SetObj(20, value);
1867 }
1868 }

◆ c_minionType

MinionType Card.c_minionType
getset

Definition at line 988 of file Card.cs.

989 {
990 get
991 {
992 return GetInt(61).ToEnum<MinionType>();
993 }
994 set
995 {
996 SetInt(61, (int)value);
997 }
998 }
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 1930 of file Card.cs.

1931 {
1932 get
1933 {
1934 return GetObj<MixedFoodData>(18);
1935 }
1936 set
1937 {
1938 SetObj(18, value);
1939 }
1940 }

Referenced by CraftUtil.WrapIngredient().

◆ c_note

string Card.c_note
getset

Definition at line 1774 of file Card.cs.

1775 {
1776 get
1777 {
1778 return GetStr(51);
1779 }
1780 set
1781 {
1782 SetStr(51, value);
1783 }
1784 }

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

◆ c_originalHostility

Hostility Card.c_originalHostility
getset

Definition at line 976 of file Card.cs.

977 {
978 get
979 {
980 return GetInt(12).ToEnum<Hostility>();
981 }
982 set
983 {
984 SetInt(12, (int)value);
985 }
986 }

Referenced by Chara.CreateReplacement().

◆ c_priceAdd

int Card.c_priceAdd
getset

Definition at line 1149 of file Card.cs.

1150 {
1151 get
1152 {
1153 return GetInt(29);
1154 }
1155 set
1156 {
1157 SetInt(29, value);
1158 }
1159 }

Referenced by Thing.CanStackTo().

◆ c_priceCopy

int Card.c_priceCopy
getset

Definition at line 1161 of file Card.cs.

1162 {
1163 get
1164 {
1165 return GetInt(124);
1166 }
1167 set
1168 {
1169 SetInt(124, value);
1170 }
1171 }

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

◆ c_priceFix

int Card.c_priceFix
getset

Definition at line 1137 of file Card.cs.

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

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

◆ c_refText

string Card.c_refText
getset

Definition at line 1642 of file Card.cs.

1643 {
1644 get
1645 {
1646 return GetStr(10);
1647 }
1648 set
1649 {
1650 SetStr(10, value);
1651 }
1652 }

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

◆ c_rescueState

RescueState Card.c_rescueState
getset

Definition at line 1222 of file Card.cs.

1223 {
1224 get
1225 {
1226 return GetInt(53).ToEnum<RescueState>();
1227 }
1228 set
1229 {
1230 SetInt(53, (int)value);
1231 }
1232 }

◆ c_revealLock

bool Card.c_revealLock
getset

Definition at line 1048 of file Card.cs.

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

Referenced by Trait.OnBarter().

◆ c_seed

int Card.c_seed
getset

Definition at line 1318 of file Card.cs.

1319 {
1320 get
1321 {
1322 return GetInt(33);
1323 }
1324 set
1325 {
1326 SetInt(33, value);
1327 }
1328 }

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

◆ c_summonDuration

int Card.c_summonDuration
getset

Definition at line 1438 of file Card.cs.

1439 {
1440 get
1441 {
1442 return GetInt(17);
1443 }
1444 set
1445 {
1446 SetInt(17, value);
1447 }
1448 }

◆ c_textureData

byte [] Card.c_textureData
getset

Definition at line 1954 of file Card.cs.

1955 {
1956 get
1957 {
1958 return GetObj<byte[]>(4);
1959 }
1960 set
1961 {
1962 SetObj(4, value);
1963 }
1964 }

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

◆ c_uidAttune

int Card.c_uidAttune
getset

Definition at line 1185 of file Card.cs.

1186 {
1187 get
1188 {
1189 return GetInt(133);
1190 }
1191 set
1192 {
1193 Mod();
1194 SetInt(133, value);
1195 }
1196 }

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

1463 {
1464 get
1465 {
1466 return GetInt(54);
1467 }
1468 set
1469 {
1470 SetInt(54, value);
1471 }
1472 }

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

◆ c_uidRefCard

int Card.c_uidRefCard
getset

Definition at line 1124 of file Card.cs.

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

Referenced by TraitShackle.IsRestraining().

◆ c_uidZone

int Card.c_uidZone
getset

Definition at line 1111 of file Card.cs.

1112 {
1113 get
1114 {
1115 return GetInt(10);
1116 }
1117 set
1118 {
1119 Mod();
1120 SetInt(10, value);
1121 }
1122 }

◆ c_uniqueData

UniqueData Card.c_uniqueData
getset

Definition at line 1786 of file Card.cs.

1787 {
1788 get
1789 {
1790 return GetObj<UniqueData>(6);
1791 }
1792 set
1793 {
1794 SetObj(6, value);
1795 }
1796 }

◆ c_upgrades

CharaUpgrade Card.c_upgrades
getset

Definition at line 1846 of file Card.cs.

1847 {
1848 get
1849 {
1850 return GetObj<CharaUpgrade>(11);
1851 }
1852 set
1853 {
1854 SetObj(11, value);
1855 }
1856 }

Referenced by WindowCharaMini.Refresh().

◆ c_vomit

int Card.c_vomit
getset

Definition at line 1000 of file Card.cs.

1001 {
1002 get
1003 {
1004 return GetInt(13);
1005 }
1006 set
1007 {
1008 SetInt(13, value);
1009 }
1010 }

◆ c_wasInPcParty

bool Card.c_wasInPcParty
getset

Definition at line 1012 of file Card.cs.

1013 {
1014 get
1015 {
1016 return GetInt(103) != 0;
1017 }
1018 set
1019 {
1020 SetInt(103, value ? 1 : 0);
1021 }
1022 }

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

◆ c_weight

int Card.c_weight
getset

Definition at line 1390 of file Card.cs.

1391 {
1392 get
1393 {
1394 return GetInt(1);
1395 }
1396 set
1397 {
1398 SetInt(1, value);
1399 }
1400 }

Referenced by ChangeWeight().

◆ c_windowSaveData

Window.SaveData Card.c_windowSaveData
getset

Definition at line 1834 of file Card.cs.

1835 {
1836 get
1837 {
1838 return GetObj<Window.SaveData>(2);
1839 }
1840 set
1841 {
1842 SetObj(2, value);
1843 }
1844 }

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

◆ CanInspect

bool Card.CanInspect
get

Implements IInspect.

Definition at line 2497 of file Card.cs.

2498 {
2499 get
2500 {
2501 if (!isDestroyed)
2502 {
2503 return ExistsOnMap;
2504 }
2505 return false;
2506 }
2507 }

◆ category

SourceCategory.Row Card.category
get

◆ Cell

◆ CHA

◆ Chara

virtual Chara Card.Chara
get

Definition at line 2095 of file Card.cs.

2096 {
2097 get
2098 {
2099 if (!isChara)
2100 {
2101 return null;
2102 }
2103 return (Chara)this;
2104 }
2105 }

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(), 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(), 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(), ConTransmuteMimic.RevealMimicry(), 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 2069 of file Card.cs.

◆ ChildrenWeight

int Card.ChildrenWeight
get

Definition at line 2038 of file Card.cs.

2039 {
2040 get
2041 {
2042 if (dirtyWeight)
2043 {
2044 _childrenWeight = 0;
2045 if (!(trait is TraitMagicChest))
2046 {
2047 foreach (Thing thing in things)
2048 {
2050 }
2051 dirtyWeight = false;
2052 (parent as Card)?.SetDirtyWeight();
2053 if (isChara && IsPCFaction)
2054 {
2055 Chara.CalcBurden();
2056 }
2057 if (_childrenWeight < 0 || _childrenWeight > 10000000)
2058 {
2059 _childrenWeight = 10000000;
2060 }
2061 }
2062 }
2063 return _childrenWeight * Mathf.Max(100 - Evalue(404), 0) / 100;
2064 }
2065 }
int _childrenWeight
Definition: Card.cs:88
void CalcBurden()
Definition: Chara.cs:1861

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

◆ colorInt

int Card.colorInt
get

Definition at line 108 of file Card.cs.

109 {
110 get
111 {
112 if (_colorInt == 0)
113 {
114 RefreshColor();
115 }
116 return _colorInt;
117 }
118 }
void RefreshColor()
Definition: Card.cs:6193

◆ decay

int Card.decay
getset

Definition at line 218 of file Card.cs.

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

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

◆ DefaultLV

int Card.DefaultLV
get

Definition at line 2036 of file Card.cs.

Referenced by Create().

◆ DefaultMaterial

virtual SourceMaterial.Row Card.DefaultMaterial
get

Definition at line 2449 of file Card.cs.

Referenced by SerializedCards.Add().

◆ DEX

int Card.DEX
get

◆ dir

◆ disableAutoToggle

bool Card.disableAutoToggle
getset

Definition at line 602 of file Card.cs.

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

Referenced by Trait.TrySetToggleAct().

◆ DMG

int Card.DMG
get

Definition at line 2359 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ DV

virtual int Card.DV
get

Definition at line 2353 of file Card.cs.

Referenced by Thing.GetName().

◆ DyeMat

◆ encLV

◆ END

int Card.END
get

Definition at line 2365 of file Card.cs.

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

◆ ExistsOnMap

bool Card.ExistsOnMap
get

Definition at line 2111 of file Card.cs.

Referenced by AM_Adv._OnUpdateInput(), 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(), ActRush.Perform(), ActThrow.Perform(), EffectIRenderer.Play(), ActEffect.Proc(), 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 398 of file Card.cs.

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

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

◆ ExpToNext

int Card.ExpToNext
get

◆ FameLv

int Card.FameLv
get

Definition at line 2325 of file Card.cs.

2326 {
2327 get
2328 {
2329 if (!IsPC)
2330 {
2331 return LV;
2332 }
2333 return Mathf.Min(EClass.player.fame / 100 + 1, 21474836);
2334 }
2335 }

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

◆ feat

int Card.feat
getset

Definition at line 374 of file Card.cs.

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

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

2142 {
2143 get
2144 {
2145 if (Tiles.Length == 1)
2146 {
2147 return dir % 2 == 1;
2148 }
2149 return false;
2150 }
2151 }
virtual int[] Tiles
Definition: Card.cs:2337

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

◆ freePos

bool Card.freePos
getset

Definition at line 518 of file Card.cs.

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

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

◆ fx

float Card.fx
getset

Definition at line 254 of file Card.cs.

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

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

◆ fy

float Card.fy
getset

Definition at line 266 of file Card.cs.

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

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

◆ genLv

int Card.genLv
getset

Definition at line 194 of file Card.cs.

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

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

◆ H

int Card.H
get

Definition at line 2393 of file Card.cs.

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

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

◆ HasContainerSize

bool Card.HasContainerSize
get

Definition at line 2435 of file Card.cs.

◆ HasHost

virtual bool Card.HasHost
get

◆ hasSpawned

bool Card.hasSpawned
getset

Definition at line 902 of file Card.cs.

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

Referenced by Zone.AddCard().

◆ HIT

int Card.HIT
get

Definition at line 2357 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ HostRenderer

CardRenderer Card.HostRenderer
get

Definition at line 2469 of file Card.cs.

2470 {
2471 get
2472 {
2473 if (!isChara || Chara.host == null)
2474 {
2475 return renderer;
2476 }
2477 return Chara.host.renderer;
2478 }
2479 }

Referenced by AI_Idle.Run().

◆ hp

◆ idMaterial

int Card.idMaterial
getset

Definition at line 134 of file Card.cs.

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

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

◆ idSkin

int Card.idSkin
getset

Definition at line 362 of file Card.cs.

363 {
364 get
365 {
366 return _ints[23];
367 }
368 set
369 {
370 _ints[23] = value;
371 }
372 }

Referenced by SerializedCards.Add(), Thing.CanStackTo(), Duplicate(), TraitTrolley.GetIdSound(), HomeResourceWorth.ListHeirloom(), TraitFoodEggFertilized.MakeBaby(), TraitDrinkMilkMother.OnDrink(), and AM_MoveInstalled.SetTarget().

◆ ignoreAutoPick

bool Card.ignoreAutoPick
getset

Definition at line 506 of file Card.cs.

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

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

◆ ignoreStackHeight

bool Card.ignoreStackHeight
getset

Definition at line 638 of file Card.cs.

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

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

◆ InspectName

string Card.InspectName
get

Implements IInspect.

Definition at line 2509 of file Card.cs.

◆ InspectPoint

Point Card.InspectPoint
get

Implements IInspect.

Definition at line 2511 of file Card.cs.

◆ InspectPosition

Vector3 Card.InspectPosition
get

Implements IInspect.

Definition at line 2513 of file Card.cs.

◆ INT

int Card.INT
get

Definition at line 2377 of file Card.cs.

◆ invX

int Card.invX
getset

Definition at line 1968 of file Card.cs.

1969 {
1970 get
1971 {
1972 return pos.x;
1973 }
1974 set
1975 {
1976 pos.x = value;
1977 }
1978 }

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

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

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

◆ IsAgent

bool Card.IsAgent
get

◆ IsAliveInCurrentZone

◆ IsAmmo

◆ isBackerContent

bool Card.isBackerContent
get

Definition at line 926 of file Card.cs.

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

◆ IsBlessed

bool Card.IsBlessed
get

Definition at line 2281 of file Card.cs.

Referenced by TraitWell.OnBlend().

◆ isBroken

bool Card.isBroken
getset

Definition at line 734 of file Card.cs.

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

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

◆ isCensored

bool Card.isCensored
getset

Definition at line 434 of file Card.cs.

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

Referenced by CardRenderer.OnEnterScreen().

◆ isChara

virtual bool Card.isChara
get

Definition at line 2109 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(), 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(), Map.OnCardAddedToZone(), Map.OnCardRemovedFromZone(), InvOwner.OnClick(), CardRenderer.OnEnterScreen(), ElementContainerCard.OnLevelDown(), ElementContainerCard.OnLevelUp(), Props.OnNumChange(), AM_MoveInstalled.OnProcessTiles(), ItemGeneral.OnRefreshPref(), ActDreamBug.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 878 of file Card.cs.

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

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

◆ isCrafted

bool Card.isCrafted
getset

Definition at line 794 of file Card.cs.

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

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

◆ IsCursed

bool Card.IsCursed
get

Definition at line 2283 of file Card.cs.

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

◆ IsDeadOrSleeping

virtual bool Card.IsDeadOrSleeping
get

Definition at line 2135 of file Card.cs.

Referenced by CardRenderer.Draw().

◆ IsDecayed

◆ isDeconstructing

bool Card.isDeconstructing
getset

Definition at line 446 of file Card.cs.

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

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

◆ IsDisabled

virtual bool Card.IsDisabled
get

Definition at line 2137 of file Card.cs.

Referenced by ActMelee.Attack().

◆ isDyed

bool Card.isDyed
getset

Definition at line 458 of file Card.cs.

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

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

◆ isElemental

bool Card.isElemental
getset

Definition at line 722 of file Card.cs.

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

◆ IsEquipment

◆ IsEquipmentOrRanged

bool Card.IsEquipmentOrRanged
get

Definition at line 2245 of file Card.cs.

2246 {
2247 get
2248 {
2249 if (category.slot == 0)
2250 {
2251 return IsRangedWeapon;
2252 }
2253 return true;
2254 }
2255 }

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

◆ IsEquipmentOrRangedOrAmmo

bool Card.IsEquipmentOrRangedOrAmmo
get

Definition at line 2257 of file Card.cs.

2258 {
2259 get
2260 {
2261 if (category.slot == 0 && !IsRangedWeapon)
2262 {
2263 return IsAmmo;
2264 }
2265 return true;
2266 }
2267 }

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

◆ isFireproof

bool Card.isFireproof
getset

Definition at line 674 of file Card.cs.

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

◆ isFloating

bool Card.isFloating
getset

Definition at line 650 of file Card.cs.

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

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

◆ IsFood

◆ IsFresn

bool Card.IsFresn
get

Definition at line 2319 of file Card.cs.

◆ IsFurniture

bool Card.IsFurniture
get

◆ isGifted

bool Card.isGifted
getset

Definition at line 782 of file Card.cs.

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

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

◆ isHidden

◆ IsHotItem

◆ IsIdentified

◆ IsImportant

bool Card.IsImportant
get

Definition at line 2131 of file Card.cs.

◆ isImported

bool Card.isImported
getset

Definition at line 614 of file Card.cs.

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

◆ IsInheritFoodTraits

bool Card.IsInheritFoodTraits
get

Definition at line 2205 of file Card.cs.

2206 {
2207 get
2208 {
2209 if (!IsFood && !category.IsChildOf("seed") && !category.IsChildOf("drink") && !(id == "pasture"))
2210 {
2211 return id == "grass";
2212 }
2213 return true;
2214 }
2215 }

◆ IsInstalled

bool Card.IsInstalled
get

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

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

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

◆ IsLightsource

bool Card.IsLightsource
get

Definition at line 2199 of file Card.cs.

Referenced by ActEffect.Proc().

◆ isLostProperty

bool Card.isLostProperty
getset

Definition at line 806 of file Card.cs.

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

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

◆ IsMale

bool Card.IsMale
get

Definition at line 2411 of file Card.cs.

2412 {
2413 get
2414 {
2415 if (bio != null)
2416 {
2417 return bio.gender == 2;
2418 }
2419 return false;
2420 }
2421 }

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

◆ isMasked

◆ IsMeleeWeapon

bool Card.IsMeleeWeapon
get

◆ IsMinion

virtual bool Card.IsMinion
get

Definition at line 2179 of file Card.cs.

◆ isModified

bool Card.isModified
getset

Definition at line 470 of file Card.cs.

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

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

◆ IsMoving

virtual bool Card.IsMoving
get

Definition at line 2139 of file Card.cs.

◆ IsMultisize

virtual bool Card.IsMultisize
get

Definition at line 2185 of file Card.cs.

2186 {
2187 get
2188 {
2190 {
2191 return IsInstalled;
2192 }
2193 return false;
2194 }
2195 }
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 2423 of file Card.cs.

2424 {
2425 get
2426 {
2427 if (!HasTag(CTAG.neg))
2428 {
2429 return blessedState <= BlessedState.Cursed;
2430 }
2431 return true;
2432 }
2433 }

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

◆ isNew

bool Card.isNew
getset

Definition at line 482 of file Card.cs.

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

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

◆ isNPCProperty

◆ isOn

◆ IsPC

◆ IsPCC

virtual bool Card.IsPCC
get

Definition at line 2175 of file Card.cs.

Referenced by CardRenderer.GetPref().

◆ IsPCFaction

◆ IsPCFactionMinion

virtual bool Card.IsPCFactionMinion
get

Definition at line 2183 of file Card.cs.

Referenced by Chara.GoHostile().

◆ IsPCFactionOrMinion

◆ IsPCParty

◆ IsPCPartyMinion

virtual bool Card.IsPCPartyMinion
get

Definition at line 2181 of file Card.cs.

◆ isPlayerCreation

bool Card.isPlayerCreation
getset

Definition at line 494 of file Card.cs.

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

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

◆ IsPowerful

bool Card.IsPowerful
get

Definition at line 2119 of file Card.cs.

2120 {
2121 get
2122 {
2123 if (rarity >= Rarity.Legendary || trait is TraitAdventurer)
2124 {
2125 return !IsPCFactionOrMinion;
2126 }
2127 return false;
2128 }
2129 }

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

◆ IsRangedWeapon

◆ isReplica

bool Card.isReplica
getset

Definition at line 698 of file Card.cs.

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

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

◆ isRestocking

bool Card.isRestocking
getset

Definition at line 890 of file Card.cs.

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

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

◆ isRestrained

◆ IsRestrainedResident

bool Card.IsRestrainedResident
get

Definition at line 2285 of file Card.cs.

2286 {
2287 get
2288 {
2289 if (isRestrained)
2290 {
2291 return IsPCFaction;
2292 }
2293 return false;
2294 }
2295 }

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

Referenced by ButtonGrid.SetCard().

◆ isSale

bool Card.isSale
getset

Definition at line 866 of file Card.cs.

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

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

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

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

◆ isStolen

bool Card.isStolen
getset

Definition at line 854 of file Card.cs.

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

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

◆ isSubsetCard

bool Card.isSubsetCard
getset

Definition at line 746 of file Card.cs.

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

Referenced by Zone.UpdateQuests().

◆ isSummon

bool Card.isSummon
getset

Definition at line 710 of file Card.cs.

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

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

◆ isSynced

virtual bool Card.isSynced
get

◆ isThing

◆ IsThrownWeapon

◆ IsToolbelt

bool Card.IsToolbelt
get

Definition at line 2197 of file Card.cs.

Referenced by ActEffect.Proc().

◆ IsUnique

◆ IsVariation

bool Card.IsVariation
get

Definition at line 2351 of file Card.cs.

◆ IsWeapon

bool Card.IsWeapon
get

Definition at line 2233 of file Card.cs.

2234 {
2235 get
2236 {
2237 if (!IsMeleeWeapon)
2238 {
2239 return IsRangedWeapon;
2240 }
2241 return true;
2242 }
2243 }
bool IsMeleeWeapon
Definition: Card.cs:2269

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

◆ isWeightChanged

bool Card.isWeightChanged
getset

Definition at line 662 of file Card.cs.

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

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

◆ LER

int Card.LER
get

Definition at line 2369 of file Card.cs.

Referenced by CraftUtil.MakeBloodMeal().

◆ LightColor

Color Card.LightColor
get

Definition at line 1109 of file Card.cs.

Referenced by ActPlan._Update().

◆ LightData

LightData Card.LightData
get

Definition at line 2457 of file Card.cs.

2458 {
2459 get
2460 {
2461 if (_LightData == null)
2462 {
2463 return _LightData = ((!sourceCard.lightData.IsEmpty()) ? EClass.Colors.lightColors[sourceCard.lightData] : null);
2464 }
2465 return _LightData;
2466 }
2467 }
string lightData
Definition: CardRow.cs:13
LightData _LightData
Definition: Card.cs:98
UD_String_LightData lightColors

Referenced by ActPlan._Update().

◆ LUC

int Card.LUC
get

Definition at line 2379 of file Card.cs.

◆ LV

int Card.LV
getset

Definition at line 386 of file Card.cs.

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

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

◆ MAG

int Card.MAG
get

Definition at line 2373 of file Card.cs.

◆ material

◆ MaxDecay

virtual int Card.MaxDecay
get

Definition at line 2313 of file Card.cs.

◆ MaxHP

virtual int Card.MaxHP
get

Definition at line 2321 of file Card.cs.

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

◆ Name

string Card.Name
get

Definition at line 2165 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(), 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(), ButtonChara.SetChara(), ItemGeneral.SetChara(), LayerDragGrid.SetInv(), TraitMonsterBall.SetName(), CardActor.SetOwner(), ItemPopulation.SetTopic(), UIFactionInfo.SetZone(), UIZoneInfo.SetZone(), GameDate.ShipGoods(), CoreDebug.Spawn(), ZoneEventQuest.SpawnBoss(), CoreDebug.SpawnBoss(), Expedition.Start(), WidgetInspector.SwitchPage(), ToString(), GoalCombat.TryMove(), TraitSalesTag.TrySetHeldAct(), TraitSyringeBlood.TrySetHeldAct(), TraitSyringeGene.TrySetHeldAct(), TraitSyringeHeaven.TrySetHeldAct(), TraitSyringeUnicorn.TrySetHeldAct(), TraitWrench.TrySetHeldAct(), Map.TryShatter(), GoalCombat.TryUseAbility(), Dialog.TryWarnSlaughter(), CraftUtil.WrapIngredient(), HomeResourceWorth.WriteNote(), EloPos.WriteNote(), and TraitBookSkill.WriteNote().

◆ NameOne

string Card.NameOne
get

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

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

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

◆ noShadow

bool Card.noShadow
getset

Definition at line 818 of file Card.cs.

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

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

◆ noSnow

bool Card.noSnow
getset

Definition at line 758 of file Card.cs.

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

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

◆ Num

int Card.Num
getset

Definition at line 158 of file Card.cs.

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

Referenced by LittlePopper._OnAddStockpile(), _OnDeserialized(), TraitAltar._OnOffer(), InvOwnerDeliver._OnProcess(), InvOwnerRefuel._OnProcess(), WidgetPopText._SayPick(), PropSet.Add(), ThingStack.Add(), ThingContainer.AddCurrency(), 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(), HitSummary.Execute(), ZonePreEnterEncounter.Execute(), ThingContainer.GetCurrency(), DropdownRecipe.GetLabel(), Religion.GetOfferingValue(), TaskHarvest.HarvestThing(), Chara.HoldCard(), QuestDeliver.IsDestThing(), TaskCraft.IsIngredientsValid(), Msg.IsThirdPerson(), InvOwner.ListInteractions(), Props.ListThingStacksInCategory(), Map.Load(), ModNum(), Trait.OnBarter(), TraitBrewery.OnChildDecay(), TaskHarvest.OnCreateProgress(), InvOwner.OnDrag(), DragItemCard.OnDragSpecial(), AM_Build.OnFinishProcessTiles(), Game.OnLoad(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgressComplete(), LayerGacha.PlayGacha(), ActEffect.Proc(), InvOwner.Transaction.Process(), UIInventory.RefreshList(), Trait.Refuel(), PropSet.Remove(), AI_Grab< T >.Run(), AI_HaulResource.Run(), AI_Idle.Run(), AI_OpenGambleChest.Run(), PartialMap.Save(), SecondaryCompare(), GridItemCard.SetButton(), ButtonGrid.SetIngredient(), Trait.SetMainText(), SetNum(), ButtonGrid.SetRecipe(), GameDate.ShipGoods(), Thing.ShowSplitMenu(), Thing.ShowSplitMenu2(), Split(), Chara.TryHoldCard(), GrowSystem.TryPick(), Chara.TryPoisonPotion(), LayerDragGrid.TryPutBack(), TraitCanvas.TrySetAct(), TraitToolTorch.TrySetHeldAct(), TryStackTo(), Chara.TryTakeSharedItems(), TraitFoodEgg.Update(), and Props.Validate().

◆ parentCard

◆ parentThing

Thing Card.parentThing
get

Definition at line 106 of file Card.cs.

◆ PER

int Card.PER
get

Definition at line 2367 of file Card.cs.

Referenced by ActRanged.Perform().

◆ posInvX

int Card.posInvX
getset

Definition at line 338 of file Card.cs.

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

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

◆ posInvY

int Card.posInvY
getset

Definition at line 350 of file Card.cs.

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

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

◆ Power

virtual int Card.Power
get

Definition at line 2323 of file Card.cs.

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

◆ Pref

◆ PrefIndex

virtual int Card.PrefIndex
get

Definition at line 2339 of file Card.cs.

2340 {
2341 get
2342 {
2343 if (Tiles.Length < 3)
2344 {
2345 return dir % 2;
2346 }
2347 return dir;
2348 }
2349 }

Referenced by CardRenderer.Draw().

◆ PV

virtual int Card.PV
get

Definition at line 2355 of file Card.cs.

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

◆ Quality

int Card.Quality
get

Definition at line 2453 of file Card.cs.

Referenced by GetTotalQuality().

◆ QualityLv

int Card.QualityLv
get

Definition at line 2455 of file Card.cs.

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

◆ rarity

◆ rarityLv

int Card.rarityLv
getset

Definition at line 302 of file Card.cs.

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

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

◆ refCard

CardRow Card.refCard
get

Definition at line 1992 of file Card.cs.

1993 {
1994 get
1995 {
1996 object obj;
1997 if (!c_idRefCard.IsEmpty())
1998 {
1999 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard);
2000 if (obj == null)
2001 {
2002 return EClass.sources.cards.map["ash3"];
2003 }
2004 }
2005 else
2006 {
2007 obj = null;
2008 }
2009 return (CardRow)obj;
2010 }
2011 }

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

◆ refCard2

CardRow Card.refCard2
get

Definition at line 2013 of file Card.cs.

2014 {
2015 get
2016 {
2017 object obj;
2018 if (!c_idRefCard2.IsEmpty())
2019 {
2020 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard2);
2021 if (obj == null)
2022 {
2023 return EClass.sources.cards.map["ash3"];
2024 }
2025 }
2026 else
2027 {
2028 obj = null;
2029 }
2030 return (CardRow)obj;
2031 }
2032 }

◆ refVal

◆ SelfWeight

virtual int Card.SelfWeight
get

Definition at line 2071 of file Card.cs.

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

◆ ShouldShowMsg

bool Card.ShouldShowMsg
get

Definition at line 2481 of file Card.cs.

2482 {
2483 get
2484 {
2485 if (IsPC || parent == EClass.pc || isSynced)
2486 {
2487 if (isChara)
2488 {
2489 return !Chara.isDead;
2490 }
2491 return true;
2492 }
2493 return false;
2494 }
2495 }
bool isDead
Definition: Chara.cs:391

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

◆ ShowFoodEnc

bool Card.ShowFoodEnc
get

Definition at line 2217 of file Card.cs.

2218 {
2219 get
2220 {
2222 {
2223 if (Evalue(10) > 0)
2224 {
2226 }
2227 return false;
2228 }
2229 return true;
2230 }
2231 }
bool IsInheritFoodTraits
Definition: Card.cs:2206

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

◆ socketList

List<SocketData> Card.socketList
getset

Definition at line 1810 of file Card.cs.

1811 {
1812 get
1813 {
1814 return GetObj<List<SocketData>>(17);
1815 }
1816 set
1817 {
1818 SetObj(17, value);
1819 }
1820 }

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

◆ sourceBacker

SourceBacker.Row Card.sourceBacker
get

Definition at line 928 of file Card.cs.

929 {
930 get
931 {
932 if (!isBackerContent)
933 {
934 return null;
935 }
936 return EClass.sources.backers.map.TryGetValue(c_idBacker);
937 }
938 }

◆ sourceCard

◆ sourceRenderCard

virtual CardRow Card.sourceRenderCard
get

◆ STR

int Card.STR
get

Definition at line 2361 of file Card.cs.

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

◆ TextRarity

string Card.TextRarity
get

Definition at line 2407 of file Card.cs.

◆ Thing

virtual Thing Card.Thing
get

Definition at line 2083 of file Card.cs.

2084 {
2085 get
2086 {
2087 if (!isThing)
2088 {
2089 return null;
2090 }
2091 return (Thing)this;
2092 }
2093 }

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

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

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

◆ TileRow

virtual RenderRow Card.TileRow
get

Definition at line 2161 of file Card.cs.

Referenced by Chara._Move().

◆ Tiles

virtual int [] Card.Tiles
get

Definition at line 2337 of file Card.cs.

◆ TileType

◆ Tool

◆ uid

int Card.uid
getset

Definition at line 122 of file Card.cs.

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

Referenced by _OnDeserialized(), CardManager.GlobalCharaList.Add(), CharaList.Add(), CharaMassTransfer.Add(), FactionBranch.AddMemeber(), Party.AddMemeber(), Faction.AddReserve(), ElementContainer.ApplyMaterialElementMap(), Thing.Attune(), Recipe.BuildIngredientList(), DropdownGrid.BuildIngredients(), CalcMoney.BuySlave(), QuestDeliver.CanDeliverToClient(), Expedition.Create(), Recipe.Create(), QuestInstance.CreateInstanceZone(), CardRenderer.Draw(), BaseTileMap.DrawTile(), ZonePreEnterOnCompleteQuestInstance.Execute(), CardManager.GlobalCharaList.Find(), CardManager.Find(), Props.Find(), ThingContainer.Find(), Map.FindChara(), Zone.FindChara(), Map.FindThing(), ItemPosition.Get(), RefChara.GetAndCache(), GoalGraze.GetPos(), Portrait.GetRandomHairColor(), RelationManager.GetRelation(), TraitGeneMachine.GetTarget(), TeleportManager.GetTeleportZone(), TaskHarvest.HarvestThing(), GuildFighter.HasBounty(), CharaBody.IsEquippable(), TraitBed.IsHolder(), TraitShackle.IsRestraining(), UICharaMaker.ListJob(), UICharaMaker.ListRace(), CraftUtil.MakeBloodMeal(), Chara.MakeMinion(), TraitTeleporter.OnChangePlaceState(), BaseListPeople.OnClick(), ListPeopleExpedition.OnClick(), TraitParchmentBottle.OnCreate(), Player.OnCreateGame(), QuestDeliver.OnEnterZone(), Game.OnGameInstantiated(), ListPeopleExpedition.OnList(), ConSleep.OnRemoved(), Chara.OnSerializing(), QuestEscort.OnStart(), TraitGeneMachine.OnUse(), ZoneEventSiege.OnVisit(), HotItemEQSet.Perform(), ActEffect.Proc(), InvOwner.Transaction.Process(), ReferenceId(), ItemQuestTracker.Refresh(), HotItemEQSet.Register(), 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 422 of file Card.cs.

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

Referenced by _OnDeserialized(), and Create().

◆ visitorState

VisitorState Card.visitorState
getset

Definition at line 1210 of file Card.cs.

1211 {
1212 get
1213 {
1214 return GetInt(4).ToEnum<VisitorState>();
1215 }
1216 set
1217 {
1218 SetInt(4, (int)value);
1219 }
1220 }
VisitorState
Definition: VisitorState.cs:2

◆ W

int Card.W
get

Definition at line 2381 of file Card.cs.

2382 {
2383 get
2384 {
2385 if (dir % 2 != 0)
2386 {
2387 return sourceCard.H;
2388 }
2389 return sourceCard.W;
2390 }
2391 }

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

◆ WeightLimit

virtual int Card.WeightLimit
get

Definition at line 2073 of file Card.cs.

Referenced by UICurrency.Build().

◆ WIL

int Card.WIL
get

Definition at line 2371 of file Card.cs.

Referenced by AttackProcess.Prepare().


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