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

Public Types

enum  MoveResult { Fail , Success , Door }
 
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)
 
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)
 
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)
 
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 ()
 
int ResistLvFrom (int ele)
 
int ResistLv (int res)
 
bool HasElement (int ele, int req=1)
 
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 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 > ()
 
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 (int a, int start, int step, int rate=75)
 
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_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]
 
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]
 
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]
 
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 

Definition at line 12 of file Card.cs.

◆ MoveType

Enumerator
Walk 
Force 

Definition at line 19 of file Card.cs.

20 {
21 Walk,
22 Force
23 }

Member Function Documentation

◆ _CreateRenderer()

virtual CardRenderer Card._CreateRenderer ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 5921 of file Card.cs.

5922 {
5923 renderer = new CardRenderer();
5924 renderer.SetOwner(this);
5925 return renderer;
5926 }
virtual void SetOwner(Card c)
Definition: CardRenderer.cs:38
CardRenderer renderer
Definition: Card.cs:61

References CardRenderer.SetOwner().

Referenced by _OnDeserialized(), Create(), SerializedCards.Restore(), SetPlaceState(), and TraitFakeBlock.TrySetHeldAct().

◆ _Move()

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

Reimplemented in Chara.

Definition at line 5784 of file Card.cs.

5785 {
5786 EClass._map.MoveCard(p, this);
5787 if (isChara)
5788 {
5789 Chara.SyncRide();
5790 }
5791 return MoveResult.Success;
5792 }
MoveResult
Definition: Card.cs:13
virtual bool isChara
Definition: Card.cs:2071
Definition: Chara.cs:10
void SyncRide()
Definition: Chara.cs:3875
Definition: EClass.cs:5
static Map _map
Definition: EClass.cs:18
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 2679 of file Card.cs.

2680 {
2681 if (version < 2 && sockets != null)
2682 {
2683 for (int i = 0; i < sockets.Count; i++)
2684 {
2685 sockets[i] = sockets[i] / 100 * 1000 + sockets[i] % 100;
2686 }
2687 }
2688 _bits1.SetInt(_ints[0]);
2689 _bits2.SetInt(_ints[2]);
2691 pos.Set(_x, _z);
2692 SetSource();
2693 things.SetOwner(this);
2694 elements.SetOwner(this, applyFeat: false);
2696 ApplyTrait();
2697 ApplyMaterialElements(remove: false);
2699 foreach (Thing thing in things)
2700 {
2701 thing.parent = this;
2702 }
2703 if (isThing && Num <= 0)
2704 {
2705 isDestroyed = true;
2706 }
2707 if (version < 3)
2708 {
2709 if (version < 3 && isChara && HasElement(1210))
2710 {
2711 elements.ModBase(960, -5 * Evalue(1210));
2712 }
2713 version = 3;
2714 }
2715 }
bool isDestroyed
Definition: Card.cs:75
BitArray32 _bits1
Definition: Card.cs:79
virtual bool isThing
Definition: Card.cs:2069
int version
Definition: Card.cs:422
virtual void ApplyMaterialElements(bool remove)
Definition: Card.cs:3017
ElementContainerCard elements
Definition: Card.cs:41
virtual void SetSource()
Definition: Card.cs:2839
bool HasElement(int ele, int req=1)
Definition: Card.cs:5881
BitArray32 _bits2
Definition: Card.cs:81
virtual CardRenderer _CreateRenderer()
Definition: Card.cs:5921
PlaceState placeState
Definition: Card.cs:83
Point pos
Definition: Card.cs:59
virtual void OnDeserialized()
Definition: Card.cs:2717
int[] _ints
Definition: Card.cs:32
void ApplyTrait()
Definition: Card.cs:2868
ThingContainer things
Definition: Card.cs:38
int Evalue(int ele)
Definition: Card.cs:2559
int _z
Definition: Card.cs:182
PlaceState _placeState
Definition: Card.cs:290
int Num
Definition: Card.cs:158
int _x
Definition: Card.cs:170
List< int > sockets
Definition: Card.cs:47
void SetOwner(Card c, bool applyFeat)
Element ModBase(int ele, int v)
Point Set(int _x, int _z)
Definition: Point.cs:503
void SetOwner(Card owner)
Definition: Thing.cs:8
void SetInt(int i)
Definition: BitArray32.cs:89

References _bits1, _bits2, _CreateRenderer(), _ints, _placeState, _x, _z, ApplyMaterialElements(), ApplyTrait(), elements, Evalue(), HasElement(), isChara, isDestroyed, isThing, ElementContainer.ModBase(), Num, OnDeserialized(), placeState, pos, Point.Set(), BitArray32.SetInt(), ElementContainerCard.SetOwner(), ThingContainer.SetOwner(), SetSource(), sockets, things, and version.

◆ _OnSerializing()

void Card._OnSerializing ( StreamingContext  context)
inlineprivate

Definition at line 2664 of file Card.cs.

2665 {
2666 _x = pos.x;
2667 _z = pos.z;
2668 _ints[0] = _bits1.ToInt();
2669 _ints[2] = _bits2.ToInt();
2671 OnSerializing();
2672 }
virtual void OnSerializing()
Definition: Card.cs:2674
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 3066 of file Card.cs.

3067 {
3068 if (num == 0)
3069 {
3070 num = 1;
3071 }
3072 return AddCard(ThingGen.Create(id, -1, lv).SetNum(num)) as Thing;
3073 }
Card AddCard(Card c)
Definition: Card.cs:3075
Thing SetNum(int a)
Definition: Card.cs:3480
virtual Thing Thing
Definition: Card.cs:2046
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 5928 of file Card.cs.

5929 {
5930 if (!EClass._zone.IsRegion)
5931 {
5932 for (int i = 0; i < a; i++)
5933 {
5934 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);
5935 }
5936 PlaySound("blood");
5937 }
5938 }
SourceMaterial.Row material
Definition: Card.cs:2039
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6113
SourceRace.Row race
Definition: Chara.cs:464
static Zone _zone
Definition: EClass.cs:20
static int rnd(long a)
Definition: EClass.cs:58
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 ConBleed.Tick().

◆ AddCard()

◆ AddEditorTag()

void Card.AddEditorTag ( EditorTag  tag)
inline

Definition at line 2593 of file Card.cs.

2594 {
2595 c_editorTags = (c_editorTags.IsEmpty() ? tag.ToString() : (c_editorTags + "," + tag));
2596 }
string c_editorTags
Definition: Card.cs:1701

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)
inline

Definition at line 2935 of file Card.cs.

2936 {
2937 a = a * GetExpMtp() / 100;
2938 exp += a;
2939 while (exp >= ExpToNext && exp > 0 && ExpToNext > 0)
2940 {
2941 exp -= ExpToNext;
2942 LevelUp();
2943 }
2944 }
int ExpToNext
Definition: Card.cs:1996
void LevelUp()
Definition: Card.cs:2978
int exp
Definition: Card.cs:398
int GetExpMtp()
Definition: Card.cs:2946

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

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

◆ AddRune() [1/2]

SocketData Card.AddRune ( Card  rune)
inline

Definition at line 3583 of file Card.cs.

3584 {
3585 return AddRune(rune.refVal, rune.encLV, rune.trait is TraitRuneFree);
3586 }
SocketData AddRune(Card rune)
Definition: Card.cs:3583
int refVal
Definition: Card.cs:206
Trait trait
Definition: Card.cs:53
int encLV
Definition: Card.cs:326

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

3589 {
3590 if (socketList == null)
3591 {
3592 socketList = new List<SocketData>();
3593 }
3594 SourceElement.Row row = EClass.sources.elements.map[idEle];
3595 SocketData socketData = new SocketData
3596 {
3597 idEle = idEle,
3598 value = v,
3599 type = SocketData.Type.Rune,
3600 isFree = free
3601 };
3602 socketList.Add(socketData);
3603 if (IsWeapon || !row.IsWeaponEnc)
3604 {
3605 elements.SetTo(idEle, v);
3606 }
3607 return socketData;
3608 }
List< SocketData > socketList
Definition: Card.cs:1797
bool IsWeapon
Definition: Card.cs:2194
static SourceManager sources
Definition: EClass.cs:42
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 3526 of file Card.cs.

3527 {
3528 if (sockets == null)
3529 {
3530 sockets = new List<int>();
3531 }
3532 sockets.Add(0);
3533 }

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

3095 {
3096 if (t.Num == 0 || t.isDestroyed)
3097 {
3098 Debug.LogWarning("tried to add destroyed thing:" + t.Num + "/" + t.isDestroyed + "/" + t?.ToString() + "/" + this);
3099 return t;
3100 }
3101 if (t.parent == this)
3102 {
3103 Debug.LogWarning("already child:" + t);
3104 return t;
3105 }
3106 if (things.Contains(t))
3107 {
3108 Debug.Log("already in the list" + t);
3109 return t;
3110 }
3111 _ = t.parent;
3112 _ = EClass._zone;
3113 bool flag = IsPC && t.GetRootCard() == EClass.pc;
3114 if (t.parent != null)
3115 {
3116 t.parent.RemoveCard(t);
3117 }
3118 if (t.trait.ToggleType == ToggleType.Fire && destInvY == 0)
3119 {
3120 t.trait.Toggle(on: false);
3121 }
3122 t.isMasked = false;
3123 t.ignoreAutoPick = false;
3124 t.parent = this;
3125 t.noShadow = false;
3126 t.isSale = false;
3127 if (t.IsContainer)
3128 {
3129 t.RemoveEditorTag(EditorTag.PreciousContainer);
3130 }
3131 t.invX = -1;
3132 if (destInvY == -1)
3133 {
3134 t.invY = 0;
3135 }
3136 if (t.IsUnique && t.HasTag(CTAG.godArtifact) && t.GetRootCard() is Chara { IsPCFactionOrMinion: not false })
3137 {
3139 }
3140 Thing thing = (tryStack ? things.TryStack(t, destInvX, destInvY) : t);
3141 if (t == thing)
3142 {
3143 things.Add(t);
3144 things.OnAdd(t);
3145 }
3146 if (thing == t && IsPC && EClass.core.IsGameStarted && EClass._map != null && parent == EClass.game.activeZone && pos.IsValid && !flag)
3147 {
3148 NotifyAddThing(t, t.Num);
3149 }
3150 if (t == thing && isThing && parent == EClass._zone && placeState != 0)
3151 {
3153 }
3156 {
3158 LayerInventory.SetDirty(thing);
3159 }
3160 if (IsPC)
3161 {
3162 goto IL_029f;
3163 }
3164 if (IsContainer)
3165 {
3166 Card rootCard = GetRootCard();
3167 if (rootCard != null && rootCard.IsPC)
3168 {
3169 goto IL_029f;
3170 }
3171 }
3172 goto IL_0345;
3173 IL_0345:
3174 return thing;
3175 IL_029f:
3176 t.isNPCProperty = false;
3177 t.isGifted = false;
3178 int count = 0;
3179 HashSet<string> ings = EClass.player.recipes.knownIngredients;
3180 TryAdd(t);
3181 if (t.CanSearchContents)
3182 {
3183 t.things.Foreach(delegate(Thing _t)
3184 {
3185 TryAdd(_t);
3186 });
3187 }
3188 if (count > 0 && EClass.core.IsGameStarted)
3189 {
3190 Msg.Say((count == 1) ? "newIng" : "newIngs", count.ToString() ?? "");
3191 }
3192 goto IL_0345;
3193 void TryAdd(Thing a)
3194 {
3195 if (!ings.Contains(a.id))
3196 {
3197 ings.Add(a.id);
3198 count++;
3199 if (a.sourceCard.origin != null && !ings.Contains(a.sourceCard.origin.id))
3200 {
3201 ings.Add(a.sourceCard.origin.id);
3202 }
3203 }
3204 }
3205 }
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:3207
void RemoveEditorTag(EditorTag tag)
Definition: Card.cs:2598
string id
Definition: Card.cs:35
bool IsUnique
Definition: Card.cs:2079
ICardParent parent
Definition: Card.cs:55
void NotifyAddThing(Thing t, int num)
Definition: Card.cs:3085
bool HasTag(CTAG tag)
Definition: Card.cs:2583
void SetDirtyWeight()
Definition: Card.cs:2542
bool ShouldTrySetDirtyInventory()
Definition: Card.cs:3364
virtual bool IsPC
Definition: Card.cs:2131
Card GetRootCard()
Definition: Card.cs:3411
bool IsContainer
Definition: Card.cs:2077
bool IsGameStarted
Definition: Core.cs:84
static Game game
Definition: EClass.cs:8
static Core core
Definition: EClass.cs:6
static Player player
Definition: EClass.cs:12
static Chara pc
Definition: EClass.cs:14
Zone activeZone
Definition: Game.cs:251
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:1097
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:100
override CardRow sourceCard
Definition: Thing.cs:47
virtual void Toggle(bool on, bool silent=false)
Definition: Trait.cs:1155
virtual ToggleType ToggleType
Definition: Trait.cs:469
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 6941 of file Card.cs.

6942 {
6943 ChangeRarity(Rarity.Normal);
6944 SourceBacker.Row row = EClass.sources.backers.map.TryGetValue(bid);
6945 if (row == null)
6946 {
6947 return;
6948 }
6949 c_idBacker = row.id;
6950 if (row.type == 4)
6951 {
6953 Chara chara = Chara;
6954 Hostility hostility2 = (Chara.c_originalHostility = Hostility.Neutral);
6955 chara.hostility = hostility2;
6956 }
6957 if (row.type == 6)
6958 {
6961 Chara.idFaith = row.deity.ToLowerInvariant();
6962 }
6963 if (row.type == 4 || row.type == 5 || row.type == 7)
6964 {
6965 idSkin = ((row.skin == 0) ? EClass.rnd(sourceCard._tiles.Length) : row.skin);
6966 if (id == "putty_snow")
6967 {
6968 idSkin = 0;
6969 }
6970 }
6971 if (bid == 164)
6972 {
6973 Chara.EQ_ID("amulet_moonnight");
6974 }
6975 }
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:2058
Biography bio
Definition: Card.cs:44
int c_idBacker
Definition: Card.cs:1437
int idSkin
Definition: Card.cs:362
virtual CardRow sourceCard
Definition: Card.cs:2119
virtual void ChangeRarity(Rarity q)
Definition: Card.cs:3905
Thing EQ_ID(string s, int mat=-1, Rarity r=Rarity.Random)
Definition: Chara.cs:4994
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 2843 of file Card.cs.

2844 {
2845 switch (tag)
2846 {
2847 case EditorTag.Hidden:
2848 SetHidden();
2849 break;
2850 case EditorTag.Empty:
2851 RemoveThings();
2852 break;
2853 case EditorTag.IsOn:
2854 isOn = true;
2855 break;
2856 case EditorTag.IsOff:
2857 isOn = false;
2858 break;
2859 case EditorTag.NoSnow:
2860 noSnow = true;
2861 break;
2862 case EditorTag.Boss:
2863 EClass._zone.Boss = Chara;
2864 break;
2865 }
2866 }
Card SetHidden(bool hide=true)
Definition: Card.cs:5777
bool isOn
Definition: Card.cs:542
bool noSnow
Definition: Card.cs:758
void RemoveThings()
Definition: Card.cs:3295

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

4825 {
4826 if (!isChara)
4827 {
4828 return;
4829 }
4830 bool flag = true;
4831 bool hostile = false;
4832 switch (e.id)
4833 {
4834 case 910:
4835 if (Chance(30 + eleP / 5, 100))
4836 {
4837 MarkHostile().AddCondition<ConBurning>(eleP);
4838 }
4839 break;
4840 case 911:
4841 if (Chara.isWet)
4842 {
4843 if (Chance(30 + eleP / 10, 100))
4844 {
4846 }
4847 }
4848 else if (Chance(50 + eleP / 10, 100))
4849 {
4850 Chara.AddCondition<ConWet>(eleP);
4851 }
4852 break;
4853 case 912:
4854 if (Chance(75 + eleP / 20, 100) && EClass.rnd(3) == 0)
4855 {
4856 Chara.AddCondition<ConParalyze>(1, force: true);
4857 }
4858 break;
4859 case 915:
4860 if (Chance(30 + eleP / 5, 100))
4861 {
4862 MarkHostile().AddCondition<ConPoison>(eleP);
4863 }
4864 break;
4865 case 913:
4866 if (Chance(30 + eleP / 5, 100))
4867 {
4869 }
4870 break;
4871 case 918:
4872 flag = false;
4873 if (Chance(30 + eleP / 5, 100))
4874 {
4876 }
4877 break;
4878 case 914:
4879 flag = false;
4880 if (EClass.rnd(3) != 0)
4881 {
4882 if (Chance(30 + eleP / 5, 100))
4883 {
4885 }
4886 }
4887 else if (Chance(30 + eleP / 5, 100))
4888 {
4890 }
4891 break;
4892 case 917:
4893 if (Chance(50 + eleP / 10, 100))
4894 {
4895 Chara.AddCondition<ConDim>(eleP);
4896 }
4897 break;
4898 case 925:
4899 if (EClass.rnd(3) == 0)
4900 {
4901 if (Chance(30 + eleP / 5, 100))
4902 {
4903 Chara.AddCondition<ConDim>(eleP);
4904 }
4905 }
4906 else if (EClass.rnd(2) == 0)
4907 {
4908 if (EClass.rnd(3) == 0)
4909 {
4910 Chara.AddCondition<ConParalyze>(1, force: true);
4911 }
4912 }
4913 else if (EClass.rnd(2) == 0)
4914 {
4915 Chara.AddCondition<ConConfuse>(1 + EClass.rnd(3), force: true);
4916 }
4917 break;
4918 case 920:
4919 flag = false;
4920 if (Chance(5 + eleP / 25, 40))
4921 {
4922 Chara.AddCondition<ConBlind>(eleP / 2);
4923 }
4924 if (Chance(5 + eleP / 25, 40))
4925 {
4926 Chara.AddCondition<ConParalyze>(eleP / 2);
4927 }
4928 if (Chance(5 + eleP / 25, 40))
4929 {
4930 Chara.AddCondition<ConConfuse>(eleP / 2);
4931 }
4932 if (Chance(5 + eleP / 25, 40))
4933 {
4934 MarkHostile().AddCondition<ConPoison>(eleP / 2);
4935 }
4936 if (Chance(5 + eleP / 25, 40))
4937 {
4938 Chara.AddCondition<ConSleep>(eleP / 2);
4939 }
4940 if (Chance(5 + eleP / 25, 40))
4941 {
4942 Chara.AddCondition<ConDim>(eleP / 2);
4943 }
4944 if (Chance(30 + eleP / 10, 100))
4945 {
4946 Chara.SAN.Mod(EClass.rnd(2));
4947 }
4948 break;
4949 case 924:
4950 if (Chance(50 + eleP / 10, 100))
4951 {
4952 MarkHostile().AddCondition<ConBleed>(eleP);
4953 }
4954 break;
4955 case 923:
4956 if (Chance(50 + eleP / 10, 100) && EClass.rnd(4) == 0)
4957 {
4959 }
4960 break;
4961 case 922:
4962 Chara.ModCorruption(EClass.rnd(eleP / 50 + 10));
4963 break;
4964 }
4965 if (Chara.conSleep != null && flag)
4966 {
4968 }
4969 if (checkHostileAct && hostile && origin != null && origin.isChara)
4970 {
4971 origin.Chara.DoHostileAction(this);
4972 }
4973 static bool Chance(int a, int max)
4974 {
4975 return Mathf.Min(a, max) > EClass.rnd(100);
4976 }
4977 Chara MarkHostile()
4978 {
4979 hostile = true;
4980 return Chara;
4981 }
4982 }
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:984
bool isWet
Definition: Chara.cs:142
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:9099
ConSleep conSleep
Definition: Chara.cs:102
Stats SAN
Definition: Chara.cs:1158
void ModCorruption(int a)
Definition: Chara.cs:9666
void DoHostileAction(Card _tg, bool immediate=false)
Definition: Chara.cs:6266
Definition: ConDim.cs:2
Definition: ConWet.cs:2
void Kill(bool silent=false)
Definition: Condition.cs:91
int id
Definition: ELEMENT.cs:250
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 3021 of file Card.cs.

3022 {
3023 _colorInt = 0;
3024 }
int _colorInt
Definition: Card.cs:67

References _colorInt.

Referenced by ChangeMaterial(), and Create().

◆ ApplyMaterialElements()

virtual void Card.ApplyMaterialElements ( bool  remove)
inlinevirtual

Reimplemented in Thing.

Definition at line 3017 of file Card.cs.

3018 {
3019 }

Referenced by _OnDeserialized(), and ModEncLv().

◆ ApplyNewLine()

string Card.ApplyNewLine ( string  text)
inline

Definition at line 6732 of file Card.cs.

6733 {
6734 if (text.Contains("&"))
6735 {
6736 string text2 = "_comma".lang();
6737 text = text.Replace(text2 + " &", Environment.NewLine ?? "");
6738 text = text.Replace(text2 + "&", Environment.NewLine ?? "");
6739 text = text.Replace("&", Environment.NewLine ?? "");
6740 }
6741 return text;
6742 }

◆ ApplyProtection()

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

Definition at line 4023 of file Card.cs.

4024 {
4025 int armorSkill = GetArmorSkill();
4026 Element orCreateElement = elements.GetOrCreateElement(armorSkill);
4027 int num = PV + orCreateElement.Value + DEX / 10;
4028 int num2 = 1;
4029 int sides = 1;
4030 int bonus = 0;
4031 if (num > 0)
4032 {
4033 int num3 = num / 4;
4034 num2 = num3 / 10 + 1;
4035 sides = num3 / num2 + 1;
4036 bonus = 0;
4037 dmg = dmg * 100 / Mathf.Max(100 + num, 1);
4038 }
4039 int num4 = Dice.Roll(num2, sides, bonus, this);
4040 dmg -= num4 * mod / 100;
4041 if (dmg < 0)
4042 {
4043 dmg = 0L;
4044 }
4045 return dmg;
4046 }
virtual int PV
Definition: Card.cs:2315
int DEX
Definition: Card.cs:2323
virtual int GetArmorSkill()
Definition: Card.cs:4018
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 3543 of file Card.cs.

3544 {
3545 for (int i = 0; i < sockets.Count; i++)
3546 {
3547 if (sockets[i] == 0)
3548 {
3549 if (lv >= 1000)
3550 {
3551 lv = 999;
3552 }
3553 sockets[i] = id * 1000 + lv;
3554 elements.ModBase(id, lv);
3555 mod?.Destroy();
3556 break;
3557 }
3558 }
3559 }
void Destroy()
Definition: Card.cs:5051

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

◆ ApplySocket() [2/2]

void Card.ApplySocket ( Thing  t)
inline

Definition at line 3535 of file Card.cs.

3536 {
3537 if (t.trait is TraitMod traitMod && sockets != null)
3538 {
3539 ApplySocket(traitMod.source.id, traitMod.owner.encLV, traitMod.owner);
3540 }
3541 }
void ApplySocket(Thing t)
Definition: Card.cs:3535

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

6818 {
6819 if (text.IsEmpty())
6820 {
6821 return text;
6822 }
6823 string[] array = _tones.IsEmpty("").Split('|');
6824 string key = array[0];
6825 string text2 = "";
6827 if (!Lang.setting.useTone || MOD.tones.list.Count == 0)
6828 {
6829 text2 = text.Replace("{", "").Replace("}", "");
6830 }
6831 else
6832 {
6833 if (array[0].IsEmpty())
6834 {
6835 key = "default";
6836 }
6837 if (MOD.tones.all.ContainsKey(key))
6838 {
6839 StringBuilder stringBuilder = MOD.tones.ApplyTone(key, ref text, gender);
6840 if (Lang.isJP && c != null)
6841 {
6842 if (array.Length >= 2)
6843 {
6844 stringBuilder.Replace("_toneI".lang(), array[1]);
6845 }
6846 if (array.Length >= 3)
6847 {
6848 stringBuilder.Replace("_toneYou".lang(), array[2]);
6849 }
6850 }
6851 text2 = stringBuilder.ToString();
6852 }
6853 else
6854 {
6855 text2 = text.Replace("{", "").Replace("}", "");
6856 }
6857 }
6858 if (c != null)
6859 {
6860 text2 = text2.Replace("#me", c.NameSimple);
6861 }
6862 if (!stripPun || !Lang.setting.stripPuns)
6863 {
6864 return text2;
6865 }
6866 return text2.StripLastPun();
6867 }
string NameSimple
Definition: Card.cs:2127
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 6811 of file Card.cs.

6812 {
6813 text = GameLang.ConvertDrama(text, Chara);
6814 return ApplyTone(Chara, ref text, c_idTone, bio?.gender ?? 0, stripPun);
6815 }
string c_idTone
Definition: Card.cs:1533
string ApplyTone(string text, bool stripPun=false)
Definition: Card.cs:6811
static string ConvertDrama(string text, Chara c=null)
Definition: GameLang.cs:14

References GameLang.ConvertDrama().

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

◆ ApplyTrait()

void Card.ApplyTrait ( )
inline

Definition at line 2868 of file Card.cs.

2869 {
2870 string str = c_idTrait;
2871 if (str.IsEmpty())
2872 {
2873 if (sourceCard.trait.IsEmpty())
2874 {
2875 trait = (isChara ? new TraitChara() : new Trait());
2876 }
2877 else
2878 {
2879 trait = ClassCache.Create<Trait>("Trait" + sourceCard.trait[0], "Elin");
2880 }
2881 }
2882 else
2883 {
2884 trait = ClassCache.Create<Trait>(str, "Elin");
2885 }
2886 trait.SetOwner(this);
2887 }
string[] trait
Definition: CardRow.cs:33
string c_idTrait
Definition: Card.cs:1725
Definition: Trait.cs:7
virtual void SetOwner(Card _owner)
Definition: Trait.cs:640

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

6443 {
6444 int radius = GetLightRadius();
6445 if (radius == 0 || !IsAliveInCurrentZone || !EClass._zone.isStarted)
6446 {
6447 return;
6448 }
6449 float power = GetLightPower();
6450 if (IsPC)
6451 {
6452 if (Chara.held != null && Chara.held.GetLightRadius() > 0)
6453 {
6454 power += Chara.held.GetLightPower();
6455 }
6456 if (radius <= 2)
6457 {
6458 power = 0f;
6459 }
6460 foreach (Condition condition in Chara.conditions)
6461 {
6462 condition.OnCalculateFov(fov, ref radius, ref power);
6463 }
6464 if (power > EClass.scene.profile.global.playerLightPowerLimit)
6465 {
6466 power = EClass.scene.profile.global.playerLightPowerLimit;
6467 }
6468 power *= EClass.scene.profile.light.playerLightMod + (float)EClass.player.customLightMod * EClass.scene.profile.light.playerLightCustomMod;
6469 EClass.player.lightRadius = radius;
6470 EClass.player.lightPower = power;
6471 }
6472 if (fov == null)
6473 {
6474 fov = CreateFov();
6475 }
6476 fov.Perform(pos.x, pos.z, radius, power * 2f);
6477 }
float GetLightPower()
Definition: Card.cs:6344
Fov fov
Definition: Card.cs:57
Fov CreateFov()
Definition: Card.cs:6484
virtual bool IsAliveInCurrentZone
Definition: Card.cs:2115
int GetLightRadius()
Definition: Card.cs:6372
Card held
Definition: Chara.cs:70
List< Condition > conditions
Definition: Chara.cs:211
virtual void OnCalculateFov(Fov fov, ref int radius, ref float power)
Definition: Condition.cs:75
static Scene scene
Definition: EClass.cs:30
void Perform(int _x, int _z, int _range, float power=1f)
Definition: Fov.cs:139
float lightPower
Definition: Player.cs:1197
int lightRadius
Definition: Player.cs:1189
int customLightMod
Definition: Player.cs:959
SceneGlobalProfile global
Definition: SceneProfile.cs:6
SceneLightProfile light
Definition: SceneProfile.cs:10
SceneProfile profile
Definition: Scene.cs:75
bool isStarted
Definition: Zone.cs:70

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

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

◆ CanAddRune()

bool Card.CanAddRune ( TraitMod  mod)
inline

Definition at line 3646 of file Card.cs.

3647 {
3648 SourceElement.Row source = mod.source;
3649 if (category.slot == 0)
3650 {
3651 return false;
3652 }
3653 if (material.HasEnc(source.id))
3654 {
3655 return false;
3656 }
3657 if (!IsWeapon && source.IsWeaponEnc)
3658 {
3659 return false;
3660 }
3661 if (source.category == "resist")
3662 {
3663 foreach (Element item in elements.ListElements())
3664 {
3665 if (item.source.category == "resist" && (item.vBase != 0 || item.vSource != 0))
3666 {
3667 return false;
3668 }
3669 }
3670 }
3671 string encSlot = source.encSlot;
3672 if (encSlot == null || encSlot.Length != 0)
3673 {
3674 switch (encSlot)
3675 {
3676 case "shield":
3677 if (!category.IsChildOf("shield") && !category.IsChildOf("martial"))
3678 {
3679 return false;
3680 }
3681 break;
3682 default:
3683 {
3684 bool flag = false;
3685 string[] array = source.encSlot.Split(',');
3686 foreach (string key in array)
3687 {
3688 if (EClass.sources.elements.alias[key].id == category.slot)
3689 {
3690 flag = true;
3691 }
3692 }
3693 if (!flag)
3694 {
3695 return false;
3696 }
3697 break;
3698 }
3699 case "global":
3700 case "all":
3701 case "weapon":
3702 break;
3703 }
3704 }
3705 if (mod is TraitRuneFree)
3706 {
3707 return true;
3708 }
3709 return CountRune(countFree: false) < MaxRune();
3710 }
int CountRune(bool countFree=true)
Definition: Card.cs:3625
int MaxRune()
Definition: Card.cs:3641
SourceCategory.Row category
Definition: Card.cs:2037
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 7833 of file Card.cs.

7834 {
7836 {
7837 return false;
7838 }
7839 if (!HaveFur() || c_fur < 0)
7840 {
7841 return false;
7842 }
7843 return true;
7844 }
bool HaveFur()
Definition: Card.cs:7819
int c_fur
Definition: Card.cs:1329
virtual bool IsUserZone
Definition: Zone.cs:268

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

2481 {
2482 if (reservedAct != null && reservedAct != act)
2483 {
2484 return !reservedAct.IsRunning;
2485 }
2486 return true;
2487 }
virtual bool IsRunning
Definition: AIAct.cs:31
AIAct reservedAct
Definition: Card.cs:49

References AIAct.IsRunning, and reservedAct.

Referenced by TryReserve().

◆ CanStackTo()

virtual bool Card.CanStackTo ( Thing  to)
inlinevirtual

Reimplemented in Thing.

Definition at line 3377 of file Card.cs.

3378 {
3379 return false;
3380 }

Referenced by TryStackTo().

◆ ChangeAltitude()

void Card.ChangeAltitude ( int  a)
inline

Definition at line 6219 of file Card.cs.

6220 {
6221 altitude += a;
6222 if (altitude < 0)
6223 {
6224 altitude = 0;
6225 }
6227 {
6229 }
6230 }
int altitude
Definition: Card.cs:230
virtual int MaxAltitude
Definition: TileType.cs:208

References TileType.MaxAltitude.

◆ ChangeMaterial() [1/3]

◆ ChangeMaterial() [2/3]

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

Definition at line 3036 of file Card.cs.

3037 {
3038 if (sourceCard.fixedMaterial && !ignoreFixedMaterial)
3039 {
3040 return this;
3041 }
3042 ApplyMaterial(remove: true);
3043 _material = row;
3044 idMaterial = row.id;
3045 decay = 0;
3046 dirtyWeight = true;
3047 Card rootCard = GetRootCard();
3048 if (rootCard != null && rootCard.IsPC)
3049 {
3051 }
3052 if (isThing)
3053 {
3055 }
3056 ApplyMaterial();
3057 return this;
3058 }
int idMaterial
Definition: Card.cs:134
bool dirtyWeight
Definition: Card.cs:85
SourceMaterial.Row _material
Definition: Card.cs:91
int decay
Definition: Card.cs:218
virtual void ApplyMaterial(bool remove=false)
Definition: Card.cs:3021
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 3031 of file Card.cs.

3032 {
3033 return ChangeMaterial(EClass.sources.materials.alias.TryGetValue(idNew, "oak"), ignoreFixedMaterial);
3034 }

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

◆ ChangeRarity()

virtual void Card.ChangeRarity ( Rarity  q)
inlinevirtual

Reimplemented in Chara.

Definition at line 3905 of file Card.cs.

3906 {
3907 rarity = q;
3908 }
Rarity rarity
Definition: Card.cs:314

References rarity.

Referenced by TaskHarvest.OnCreateProgress().

◆ ChangeWeight()

void Card.ChangeWeight ( int  a)
inline

Definition at line 2552 of file Card.cs.

2553 {
2554 c_weight = a;
2555 isWeightChanged = true;
2557 }
int c_weight
Definition: Card.cs:1377
bool isWeightChanged
Definition: Card.cs:662

References c_weight, isWeightChanged, and SetDirtyWeight().

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

◆ CheckJustCooked()

void Card.CheckJustCooked ( )
inline

Definition at line 6571 of file Card.cs.

6572 {
6573 if (HasElement(757) && c_dateCooked <= EClass.world.date.GetRaw() - 120)
6574 {
6575 c_dateCooked = 0;
6576 elements.Remove(757);
6577 }
6578 }
int c_dateCooked
Definition: Card.cs:1341
int GetRaw(int offsetHours=0)
Definition: Date.cs:322
static World world
Definition: EClass.cs:40
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 2927 of file Card.cs.

2928 {
2929 if (elements.Base(286) > 50)
2930 {
2931 elements.SetTo(286, 50 + (int)Mathf.Sqrt(elements.Base(286) - 50));
2932 }
2933 }

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

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

◆ ClearFOV()

void Card.ClearFOV ( )
inline

Definition at line 6531 of file Card.cs.

6532 {
6533 if (fov != null && fov.lastPoints.Count != 0)
6534 {
6535 fov.Perform(pos.x, pos.z, 0);
6536 }
6537 }
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 7018 of file Card.cs.

7019 {
7020 if ((bool)_paintSprite)
7021 {
7022 UnityEngine.Object.Destroy(_paintSprite.texture);
7023 UnityEngine.Object.Destroy(_paintSprite);
7024 _paintSprite = null;
7025 }
7026 }
Sprite _paintSprite
Definition: Card.cs:99

Referenced by LayerPixelPaint.SetCanvas().

◆ CountRune()

int Card.CountRune ( bool  countFree = true)
inline

Definition at line 3625 of file Card.cs.

3626 {
3627 int num = 0;
3628 if (socketList != null)
3629 {
3630 foreach (SocketData socket in socketList)
3631 {
3632 if (socket.type == SocketData.Type.Rune && (countFree || !socket.isFree))
3633 {
3634 num++;
3635 }
3636 }
3637 }
3638 return num;
3639 }
bool isFree
Definition: SocketData.cs:54
Type type
Definition: SocketData.cs:18

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

Referenced by CanAddRune(), and HasRune().

◆ Create()

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

Definition at line 2726 of file Card.cs.

2727 {
2728 if (CardBlueprint.current != null)
2729 {
2731 CardBlueprint.current = null;
2732 }
2733 else
2734 {
2736 }
2737 id = _id;
2738 Num = 1;
2739 autoRefuel = true;
2740 EClass.game.cards.AssignUID(this);
2741 this.genLv = genLv;
2742 isNew = true;
2743 version = 3;
2744 SetSource();
2746 if (sourceCard.quality != 0)
2747 {
2748 rarity = sourceCard.quality.ToEnum<Rarity>();
2749 }
2750 else if (bp.rarity != Rarity.Random)
2751 {
2752 rarity = bp.rarity;
2753 }
2754 else if (category.slot != 0 && category.slot != 45 && category.slot != 44)
2755 {
2756 if (EClass.rnd(10) == 0)
2757 {
2758 rarity = Rarity.Crude;
2759 }
2760 else if (EClass.rnd(10) == 0)
2761 {
2762 rarity = Rarity.Superior;
2763 }
2764 else if (EClass.rnd(80) == 0)
2765 {
2766 rarity = Rarity.Legendary;
2767 }
2768 else if (EClass.rnd(250) == 0)
2769 {
2770 rarity = Rarity.Mythical;
2771 }
2772 }
2773 if (rarity != 0 && category.tag.Contains("fixedRarity"))
2774 {
2775 rarity = Rarity.Normal;
2776 }
2777 LV = DefaultLV;
2778 if (bp.lv != -999)
2779 {
2780 LV = bp.lv;
2781 }
2782 if (id == "microchip")
2783 {
2784 Debug.Log(id + "/" + _idMat + "/" + sourceCard.fixedMaterial);
2785 }
2787 {
2789 }
2790 else
2791 {
2792 bool flag = (bp != null && bp.fixedMat) || sourceCard.quality == 4 || sourceCard.tierGroup.IsEmpty();
2793 if (_idMat != -1)
2794 {
2795 _material = EClass.sources.materials.rows[_idMat];
2796 }
2797 else if (!flag)
2798 {
2799 if (sourceCard.tierGroup == "wood")
2800 {
2801 Debug.Log(id);
2802 }
2804 }
2805 else
2806 {
2808 }
2809 }
2810 idMaterial = _material.id;
2811 things.SetOwner(this);
2812 elements.SetOwner(this, applyFeat: true);
2813 ApplyTrait();
2815 {
2816 tier = Mathf.Clamp(EClass.rnd(5) + 1, 1, 3);
2817 LV = LV + tier * 10 + (LV - 1) * (125 + tier * 25) / 100;
2818 }
2819 ApplyMaterial();
2820 OnCreate(genLv);
2823 hp = MaxHP;
2824 if (HasTag(CTAG.hidden))
2825 {
2826 SetHidden();
2827 }
2829 }
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:2041
int tier
Definition: Card.cs:410
bool isFloating
Definition: Card.cs:650
CardBlueprint bp
Definition: Card.cs:77
int DefaultLV
Definition: Card.cs:1998
int hp
Definition: Card.cs:242
virtual void OnBeforeCreate()
Definition: Card.cs:2831
bool autoRefuel
Definition: Card.cs:626
virtual SourcePref Pref
Definition: Card.cs:2095
virtual void OnCreate(int genLv)
Definition: Card.cs:2835
virtual int MaxHP
Definition: Card.cs:2281
bool isNew
Definition: Card.cs:482
int genLv
Definition: Card.cs:194
bool testThingQuality
Definition: CoreDebug.cs:215
static FactionBranch Branch
Definition: EClass.cs:22
static CoreDebug debug
Definition: EClass.cs:48
CardManager cards
Definition: Game.cs:155
static SourceMaterial.Row GetRandomMaterial(int lv, string group=null, bool tryLevelMatTier=false)
Definition: MATERIAL.cs:52
bool Float
Definition: SourcePref.cs:316
virtual void OnCreate(int lv)
Definition: Trait.cs:667
virtual bool LevelAsQuality
Definition: Trait.cs:192
bool IsPCFaction
Definition: Zone.cs:470

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

6485 {
6486 Fov fov = new Fov();
6487 int num = (trait.UseLightColor ? c_lightColor : 0);
6488 if (num != 0)
6489 {
6490 fov.r = (byte)(num / 1024);
6491 fov.g = (byte)(num % 1024 / 32);
6492 fov.b = (byte)(num % 32);
6493 }
6494 else if (LightData != null)
6495 {
6496 fov.r = (byte)(LightData.color.r * 16f);
6497 fov.g = (byte)(LightData.color.g * 16f);
6498 fov.b = (byte)(LightData.color.b * 16f);
6499 }
6500 else if (isChara)
6501 {
6502 fov.r = 0;
6503 fov.g = 0;
6504 fov.b = 0;
6505 }
6506 else
6507 {
6508 fov.r = 3;
6509 fov.g = 2;
6510 fov.b = 1;
6511 }
6512 if (isChara && Chara.held != null && Chara.held.GetLightRadius() > 0)
6513 {
6514 Fov fov2 = Chara.held.CreateFov();
6515 fov.r += fov2.r;
6516 fov.g += fov2.g;
6517 fov.b += fov2.b;
6518 }
6519 if (IsPC)
6520 {
6521 fov.isPC = true;
6522 foreach (Condition condition in Chara.conditions)
6523 {
6524 condition.OnCreateFov(fov);
6525 }
6526 }
6527 fov.limitGradient = IsPCParty && EClass.scene.profile.global.limitGradient;
6528 return fov;
6529 }
virtual bool IsPCParty
Definition: Card.cs:2137
int c_lightColor
Definition: Card.cs:1096
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 4053 of file Card.cs.

4054 {
4055 if (hp < 0)
4056 {
4057 return;
4058 }
4059 bool flag = originalTarget != null;
4060 Action onEvade = null;
4061 if (isChara && !isRestrained && !flag)
4062 {
4063 if (HasElement(1249))
4064 {
4065 foreach (Chara chara3 in EClass._map.charas)
4066 {
4067 if (chara3 != this && !chara3.IsHostile(Chara) && !chara3.IsDisabled && !chara3.isRestrained && (!IsPCFactionOrMinion || chara3.IsPCFactionOrMinion) && chara3.Dist(this) <= 3)
4068 {
4069 Say("wall_bond", chara3, this);
4070 chara3.DamageHP(dmg, ele, eleP, attackSource, origin, showEffect, weapon, Chara);
4071 return;
4072 }
4073 }
4074 }
4075 if (!HasElement(1241))
4076 {
4077 AttackSource attackSource2 = attackSource;
4078 if ((uint)(attackSource2 - 3) > 2u && (uint)(attackSource2 - 13) > 4u)
4079 {
4080 foreach (Chara chara4 in EClass._map.charas)
4081 {
4082 if (chara4 != this && !chara4.IsHostile(Chara))
4083 {
4084 int num = chara4.Evalue(1241);
4085 int num2 = chara4.Evalue(438);
4086 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))
4087 {
4088 Say((num2 == 0) ? "wall_flesh" : "wall_knightly", chara4, this);
4089 chara4.DamageHP(dmg, ele, eleP, attackSource, origin, showEffect, weapon, Chara);
4090 return;
4091 }
4092 }
4093 }
4094 }
4095 }
4096 }
4097 if (origin != null && origin.HasElement(1208))
4098 {
4099 switch (attackSource)
4100 {
4101 case AttackSource.MagicHand:
4102 dmg = dmg * 130 / 100;
4103 eleP = eleP * 150 / 100;
4104 break;
4105 case AttackSource.MagicSword:
4106 dmg = dmg * 120 / 100;
4107 eleP = eleP * 150 / 100;
4108 break;
4109 }
4110 }
4111 Element e;
4112 if (ele == 0 || ele == 926)
4113 {
4114 e = Element.Void;
4115 if (origin != null)
4116 {
4117 dmg = dmg * Mathf.Max(100 + origin.Evalue(93) / 2, 10) / 100;
4118 }
4119 }
4120 else
4121 {
4122 e = Element.Create(ele);
4123 if (attackSource != AttackSource.Condition && showEffect)
4124 {
4125 ActEffect.TryDelay(delegate
4126 {
4127 PlayEffect(e.id, useRenderPos: true, 0.25f);
4128 EClass.Sound.Play("atk_" + e.source.alias);
4129 });
4130 }
4131 if (!e.source.aliasRef.IsEmpty() && attackSource != AttackSource.ManaBackfire)
4132 {
4133 int num3 = ((origin != null) ? origin.Evalue(1238) : 0);
4134 if (attackSource == AttackSource.MagicSword)
4135 {
4136 num3 += 2;
4137 if (origin.HasElement(1247))
4138 {
4139 num3++;
4140 }
4141 }
4142 if (attackSource == AttackSource.MagicArrow && origin != null && origin.HasElement(1244))
4143 {
4144 num3++;
4145 }
4146 if (attackSource == AttackSource.MagicHand && origin != null && origin.HasElement(1246))
4147 {
4148 num3++;
4149 }
4150 dmg = Element.GetResistDamage((int)dmg, Evalue(e.source.aliasRef), num3);
4151 dmg = dmg * 100 / (100 + Mathf.Clamp(Evalue(961) * 5, -50, 200));
4152 dmg = dmg * Mathf.Max(100 - Evalue(93), 10) / 100;
4153 }
4154 switch (e.id)
4155 {
4156 case 910:
4157 {
4158 Chara chara2 = Chara;
4159 if (chara2 != null && chara2.isWet)
4160 {
4161 dmg /= 3L;
4162 }
4163 break;
4164 }
4165 case 912:
4166 {
4167 Chara chara = Chara;
4168 if (chara != null && chara.isWet)
4169 {
4170 dmg = dmg * 150 / 100;
4171 }
4172 break;
4173 }
4174 }
4175 }
4176 if (origin != null && origin.isChara && origin.Chara.HasCondition<ConSupress>())
4177 {
4178 dmg = dmg * 2 / 3;
4179 }
4180 if (attackSource != AttackSource.Finish)
4181 {
4182 if (!IsPCFaction && LV > 50)
4183 {
4184 dmg = dmg * (100 - (int)Mathf.Min(80f, Mathf.Sqrt(LV - 50) * 2.5f)) / 100;
4185 }
4186 if (origin != null && origin.HasCondition<ConBerserk>())
4187 {
4188 dmg = dmg * 3 / 2;
4189 }
4191 {
4192 int num4 = ((origin != null) ? origin.LV : EClass._zone.DangerLv);
4193 if (num4 > 50)
4194 {
4195 dmg = dmg * (100 - (int)Mathf.Min(95f, Mathf.Sqrt(num4 - 50))) / 100;
4196 }
4197 }
4198 if (attackSource == AttackSource.Throw || attackSource == AttackSource.Range)
4199 {
4200 dmg = dmg * 100 / (100 + Evalue(435) * 2);
4201 }
4202 dmg = dmg * Mathf.Max(0, 100 - Mathf.Min(Evalue((e == Element.Void || e.id == 926) ? 55 : 56), 100) / ((!flag) ? 1 : 2)) / 100;
4203 if (origin != null && origin.IsPC && EClass.player.codex.Has(id))
4204 {
4205 dmg = dmg * (100 + Mathf.Min(10, EClass.player.codex.GetOrCreate(id).weakspot)) / 100;
4206 }
4207 if (isChara && Chara.body.GetAttackStyle() == AttackStyle.Shield && elements.ValueWithoutLink(123) >= 5 && (e == Element.Void || e.id == 926))
4208 {
4209 dmg = dmg * 90 / 100;
4210 }
4211 if (HasElement(971))
4212 {
4213 dmg = dmg * 100 / Mathf.Clamp(100 + Evalue(971), 25, 1000);
4214 }
4215 if (HasElement(1305))
4216 {
4217 dmg = dmg * 90 / 100;
4218 }
4219 if (EClass.pc.HasElement(1207) && isChara)
4220 {
4221 int num5 = 0;
4222 int num6 = 0;
4223 foreach (Condition condition2 in Chara.conditions)
4224 {
4225 if (condition2.Type == ConditionType.Buff)
4226 {
4227 num5++;
4228 }
4229 else if (condition2.Type == ConditionType.Debuff)
4230 {
4231 num6++;
4232 }
4233 }
4234 if (IsPCParty)
4235 {
4236 dmg = dmg * 100 / Mathf.Min(100 + num5 * 5, 120);
4237 }
4238 else
4239 {
4240 dmg = dmg * Mathf.Min(100 + num6 * 5, 120) / 100;
4241 }
4242 }
4244 {
4245 dmg = dmg * 100 / Mathf.Clamp(105 + EClass.pc.Evalue(135) / 10, 10, 110);
4246 }
4247 if (HasElement(1218) && attackSource != AttackSource.ManaBackfire && (hp > 0 || Evalue(1421) <= 0))
4248 {
4249 dmg = dmg * (1000 - Mathf.Min(Evalue(1218), 1000) / ((!flag) ? 1 : 2)) / 1000;
4250 if (dmg <= 0 && EClass.rnd(4) == 0)
4251 {
4252 dmg++;
4253 }
4254 }
4255 if (dmg >= MaxHP / 10 && Evalue(68) > 0)
4256 {
4257 int num7 = MaxHP / 10;
4258 long num8 = dmg - num7;
4259 num8 = num8 * 100 / (200 + Evalue(68) * 10);
4260 dmg = num7 + num8;
4261 }
4262 }
4263 if (origin != null && origin.IsPC && EClass.pc.Evalue(654) > 0)
4264 {
4265 dmg = 0L;
4266 }
4267 if (dmg < 0)
4268 {
4269 dmg = 0L;
4270 }
4271 if (dmg > 99999999)
4272 {
4273 dmg = 99999999L;
4274 }
4275 float num9 = Mathf.Clamp(dmg * 6 / MaxHP, 0f, 4f) + (float)((dmg > 0) ? 1 : 0);
4276 int num10 = hp;
4277 if (Evalue(1421) > 0)
4278 {
4279 long num11 = 0L;
4280 long num12 = dmg;
4281 if (hp > 0)
4282 {
4283 num12 = dmg - hp;
4284 hp -= (int)dmg;
4285 num11 += dmg;
4286 if (hp < 0 && Chara.mana.value >= 0)
4287 {
4288 num11 += hp;
4289 hp = 0;
4290 }
4291 }
4292 if (hp <= 0)
4293 {
4294 if (Evalue(1421) >= 2)
4295 {
4296 num12 /= 2;
4297 }
4298 dmg = num12;
4299 if (Chara.mana.value > 0)
4300 {
4301 num12 -= Chara.mana.value;
4302 Chara.mana.value -= (int)dmg;
4303 num11 += dmg;
4304 }
4305 if (Chara.mana.value <= 0)
4306 {
4307 hp -= (int)num12;
4308 num11 += num12;
4309 }
4310 }
4311 dmg = num11;
4312 }
4313 else
4314 {
4315 hp -= (int)dmg;
4316 }
4317 if (isSynced && dmg != 0L)
4318 {
4319 float ratio = (float)dmg / (float)MaxHP;
4320 Card c = ((parent is Chara) ? (parent as Chara) : this);
4321 ActEffect.TryDelay(delegate
4322 {
4323 c.PlayEffect("blood").SetParticleColor(EClass.Colors.matColors[material.alias].main).Emit(20 + (int)(30f * ratio));
4325 {
4326 EClass.scene.damageTextRenderer.Add(this, c, (int)dmg, e);
4327 }
4328 });
4329 }
4330 if (EClass.pc.ai is AI_PracticeDummy { IsRunning: not false } aI_PracticeDummy && aI_PracticeDummy.target == this && (origin == null || origin.IsPC))
4331 {
4332 aI_PracticeDummy.hit++;
4333 aI_PracticeDummy.totalDamage += dmg;
4334 }
4335 ZoneInstanceBout zoneInstanceBout = EClass._zone.instance as ZoneInstanceBout;
4336 bool flag2 = false;
4337 if (hp < 0 && Religion.recentWrath == null)
4338 {
4340 {
4341 EvadeDeath(null);
4342 if (Chara.stamina.value > 0 && (EClass.rnd(2) == 0 || !IsPC))
4343 {
4344 Chara.stamina.Mod(-1);
4345 }
4346 }
4347 else if (IsInstalled && pos.HasBlock && trait.IsDoor)
4348 {
4349 EvadeDeath(null);
4350 }
4351 else if (!trait.CanBeDestroyed)
4352 {
4353 EvadeDeath(null);
4354 }
4355 else if (HasEditorTag(EditorTag.Invulnerable) || (HasEditorTag(EditorTag.InvulnerableToMobs) && (origin == null || !origin.IsPCParty)))
4356 {
4357 EvadeDeath(null);
4358 }
4359 else if (isChara)
4360 {
4362 {
4363 EvadeDeath(null);
4364 }
4365 else if (IsPC && EClass.debug.godMode)
4366 {
4367 EvadeDeath(null);
4368 }
4369 else if (Chara.host != null || (weapon != null && weapon.HasElement(485)))
4370 {
4371 EvadeDeath(null);
4372 flag2 = true;
4373 }
4374 else
4375 {
4376 if (origin != null && origin != this && Evalue(436) > 0 && !HasCondition<ConFractured>())
4377 {
4378 int half = (HasElement(1218) ? MaxHP : (MaxHP / 2));
4379 if (num10 > half)
4380 {
4381 EvadeDeath(delegate
4382 {
4383 Say("guts", this);
4384 Chara.AddCondition<ConFractured>((int)Mathf.Max(10f, 30f - Mathf.Sqrt(Evalue(436))));
4385 hp = Mathf.Min(half * (int)Mathf.Sqrt(Evalue(436) * 2) / 100, MaxHP / 3);
4386 });
4387 goto IL_104d;
4388 }
4389 }
4390 if (zoneInstanceBout != null && (bool)LayerDrama.Instance)
4391 {
4392 EvadeDeath(null);
4393 }
4394 else if (LayerDrama.IsActive() && IsPC)
4395 {
4396 EvadeDeath(null);
4397 }
4398 else
4399 {
4400 if (attackSource != AttackSource.Finish && IsPCParty && Chara.host == null)
4401 {
4402 if (EClass.pc.ai is GoalAutoCombat && !EClass.player.invlunerable && (EClass.pc.ai as GoalAutoCombat).listHealthy.Contains(Chara))
4403 {
4404 EClass.core.actionsNextFrame.Add(delegate
4405 {
4406 Msg.Say(IsPC ? "abort_damage" : "abort_damgeAlly");
4407 });
4408 EClass.player.invlunerable = true;
4411 }
4413 {
4414 EvadeDeath(null);
4415 goto IL_104d;
4416 }
4417 }
4418 if (Evalue(1220) > 0 && Chara.stamina.value >= (IsPC ? (Chara.stamina.max / 2) : (Chara.stamina.max / 3 * 2)))
4419 {
4420 EvadeDeath(delegate
4421 {
4422 Say("fate", this);
4423 PlaySound("revive");
4424 PlayEffect("aura_heaven");
4427 });
4428 }
4429 }
4430 }
4431 }
4432 }
4433 goto IL_104d;
4434 IL_104d:
4435 if (trait.CanBeAttacked)
4436 {
4437 renderer.PlayAnime(AnimeID.HitObj);
4438 hp = MaxHP;
4440 {
4441 hp = -1;
4442 }
4443 }
4444 Chara target;
4445 if (hp < 0)
4446 {
4447 if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null && originalTarget == null && (origin.isSynced || IsPC))
4448 {
4449 string text = "";
4450 if (IsPC && Lang.setting.combatTextStyle == 0)
4451 {
4452 if (e != Element.Void && e != null)
4453 {
4454 text = "dead_" + e.source.alias;
4455 }
4456 if (text == "" || !LangGame.Has(text))
4457 {
4458 text = "dead_attack";
4459 }
4460 EClass.pc.Say(text, this, "");
4461 }
4462 else
4463 {
4464 if (e != Element.Void && e != null)
4465 {
4466 text = "kill_" + e.source.alias;
4467 }
4468 if (text == "" || !LangGame.Has(text))
4469 {
4470 text = "kill_attack";
4471 }
4472 (IsPC ? EClass.pc : origin).Say(text, origin, this);
4473 }
4474 }
4475 if (isChara && Religion.recentWrath == null)
4476 {
4477 if (HasElement(1410) && !Chara.HasCooldown(1410))
4478 {
4479 Chara.AddCooldown(1410);
4480 Say("reboot", this);
4481 PlaySound("reboot");
4482 Chara.Cure(CureType.Boss);
4483 hp = MaxHP / 3;
4485 return;
4486 }
4487 if (HasCondition<ConRebirth>())
4488 {
4489 Say("rebirth", this);
4490 hp = (int)Mathf.Min((long)MaxHP * (long)(int)(5f + Mathf.Sqrt(Chara.GetCondition<ConRebirth>().power)) / 100, MaxHP);
4492 Chara.RemoveCondition<ConRebirth>();
4493 PlayEffect("revive");
4494 PlaySound("revive");
4495 return;
4496 }
4497 foreach (Chara chara5 in EClass._map.charas)
4498 {
4499 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))
4500 {
4501 Msg.alwaysVisible = true;
4502 Msg.Say("layhand", chara5, this);
4503 Msg.Say("pray_heal", this);
4504 hp = MaxHP;
4506 PlayEffect("revive");
4507 PlaySound("revive");
4508 chara5.SetInt(58, EClass.world.date.GetRawDay());
4509 return;
4510 }
4511 }
4512 }
4513 if (zoneInstanceBout != null)
4514 {
4515 target = EClass._map.FindChara(zoneInstanceBout.uidTarget);
4516 if (target != null)
4517 {
4518 EClass.pc.ai.Cancel();
4519 if (IsPC)
4520 {
4521 EClass.pc.hp = 0;
4522 Heal();
4523 EClass.player.ModFame(-10 - (int)((float)EClass.player.fame * 0.05f));
4524 target.ShowDialog("_chara", "bout_lose");
4525 return;
4526 }
4527 if (target == this)
4528 {
4529 hp = 0;
4530 Heal();
4531 target.ModAffinity(EClass.pc, 10);
4532 target.ShowDialog("_chara", "bout_win");
4533 return;
4534 }
4535 }
4536 }
4537 if (!isDestroyed)
4538 {
4539 if (attackSource == AttackSource.MoonSpear && isChara)
4540 {
4542 ActEffect.LoveMiracle(Chara, origin?.Chara, 100, EffectId.MoonSpear);
4543 Rand.SetSeed();
4544 }
4545 Die(e, origin, attackSource, originalTarget);
4547 {
4548 Rand.SetSeed(uid);
4549 if (EClass.rnd(3) == 0 && !isCrafted && !isCopy)
4550 {
4551 string text2 = new int[18]
4552 {
4553 233, 235, 236, 236, 236, 1170, 1143, 1144, 727, 728,
4554 237, 869, 1178, 1179, 1180, 1243, 1244, 1245
4555 }.RandomItem().ToString();
4556 if (EClass.rnd(10) == 0)
4557 {
4558 text2 = "casino_coin";
4559 }
4560 if (EClass.rnd(10) == 0)
4561 {
4562 text2 = "scratchcard";
4563 }
4564 if (EClass.rnd(3) == 0)
4565 {
4566 text2 = "money";
4567 }
4568 if (EClass.rnd(5) == 0)
4569 {
4570 text2 = "plat";
4571 }
4572 if (EClass.rnd(10) == 0)
4573 {
4574 text2 = "money2";
4575 }
4576 if (EClass.rnd(20) == 0 || EClass.debug.enable)
4577 {
4578 text2 = "medal";
4579 }
4580 EClass._zone.AddCard(ThingGen.Create(text2).SetNum((!(text2 == "money")) ? 1 : EClass.rndHalf(100)).SetHidden(hide: false), pos);
4581 }
4582 Rand.SetSeed();
4583 }
4584 ProcAbsorb();
4585 if (EClass.pc.Evalue(1355) > 0 && isChara && (IsPCFactionOrMinion || (origin != null && origin.IsPCParty)))
4586 {
4587 ((EClass.pc.AddCondition<ConStrife>() as ConStrife) ?? EClass.pc.GetCondition<ConStrife>())?.AddKill(Chara);
4588 }
4589 }
4590 if (origin != null && origin.isChara)
4591 {
4592 if (origin.IsPCFactionOrMinion && isChara && !isCopy)
4593 {
4595 EClass.game.quests.list.ForeachReverse(delegate(Quest q)
4596 {
4597 q.OnKillChara(Chara);
4598 });
4601 {
4603 }
4605 {
4606 int a = EClass.rndHalf(200 + LV * 20);
4607 Msg.Say("bounty", Chara, a.ToString() ?? "");
4609 SE.Pay();
4610 }
4611 }
4612 if (origin.GetInt(106) == 0)
4613 {
4614 origin.Chara.TalkTopic("kill");
4615 }
4616 }
4617 Msg.SetColor();
4618 }
4619 else if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null && originalTarget == null)
4620 {
4621 (IsPC ? EClass.pc : origin).Say("dmgMelee" + num9 + (IsPC ? "pc" : ""), origin, this);
4622 }
4623 else if (isChara)
4624 {
4625 int num13 = ((attackSource != AttackSource.Condition && attackSource != AttackSource.WeaponEnchant) ? 1 : 2);
4626 if (num9 >= (float)num13)
4627 {
4628 if (e != Element.Void)
4629 {
4630 Say("dmg_" + e.source.alias, this);
4631 }
4632 if (e == Element.Void || num9 >= 2f)
4633 {
4634 Say("dmg" + num9, this);
4635 }
4636 }
4637 }
4638 onEvade?.Invoke();
4639 if (isChara)
4640 {
4641 if (flag2)
4642 {
4643 if (!Chara.HasCondition<ConFaint>())
4644 {
4645 Chara.AddCondition<ConFaint>(200, force: true);
4646 }
4647 return;
4648 }
4649 if (origin != null && origin.IsAliveInCurrentZone && origin.isChara)
4650 {
4651 if (e.id == 916)
4652 {
4653 origin.HealHP(Mathf.Clamp(EClass.rnd(dmg * (50 + eleP) / 500 + 5), 1, origin.MaxHP / 5 + EClass.rnd(10)));
4654 }
4655 if (attackSource == AttackSource.Melee || attackSource == AttackSource.Range)
4656 {
4657 int num14 = origin.Dist(this);
4658 if (attackSource == AttackSource.Melee && HasElement(1221) && num14 <= Evalue(1221))
4659 {
4660 int ele2 = ((Chara.MainElement == Element.Void) ? 924 : Chara.MainElement.id);
4661 if (id == "hedgehog_ether")
4662 {
4663 ele2 = 922;
4664 }
4665 Say("reflect_thorne", this, origin);
4666 origin.DamageHP((int)Mathf.Clamp(dmg / 10, 1f, MaxHP / (origin.IsPowerful ? 200 : 20)), ele2, Power, AttackSource.Condition, this);
4667 }
4668 if (HasElement(1223) && num14 <= Evalue(1223))
4669 {
4670 int ele3 = ((Chara.MainElement == Element.Void) ? 923 : Chara.MainElement.id);
4671 Say("reflect_acid", this, origin);
4672 origin.DamageHP((int)Mathf.Clamp(dmg / 10, 1f, MaxHP / (origin.IsPowerful ? 200 : 20)), ele3, Power * 2, AttackSource.Condition, this);
4673 }
4674 }
4675 ProcAbsorb();
4676 }
4677 }
4678 if (hp < 0 || !isChara)
4679 {
4680 return;
4681 }
4682 if (dmg > 0)
4683 {
4684 int a2 = (int)(100 * (dmg * 100 / MaxHP) / 100) + 1;
4685 a2 = Mathf.Min(a2, Chara.isRestrained ? 15 : 200);
4686 if (a2 > 0)
4687 {
4689 if (Chara.body.GetAttackStyle() == AttackStyle.Shield)
4690 {
4691 elements.ModExp(123, a2);
4692 }
4693 }
4694 }
4695 int num15 = ((EClass.rnd(2) == 0) ? 1 : 0);
4696 if (attackSource == AttackSource.Condition)
4697 {
4698 num15 = 1 + EClass.rnd(2);
4699 }
4700 if (num15 > 0)
4701 {
4702 bool flag3 = Chara.HasCondition<ConPoison>() || ((e.id == 915 || e.id == 923) && ResistLv(Evalue(955)) < 4);
4703 AddBlood(num15, flag3 ? 6 : (-1));
4704 }
4705 if (dmg > 0 || (origin != null && origin.HasElement(1345)))
4706 {
4707 ApplyElementEffect(e, eleP, origin);
4708 }
4709 if (origin != null && origin.HasElement(1411) && !Chara.HasCondition<ConGravity>())
4710 {
4711 Condition.ignoreEffect = true;
4713 Condition.ignoreEffect = false;
4714 }
4715 if (IsPC)
4716 {
4717 float num16 = (float)hp / (float)MaxHP;
4718 if (Evalue(1421) > 0)
4719 {
4720 num16 = (float)Chara.mana.value / (float)Chara.mana.max;
4721 }
4722 if (num16 < 0.3f)
4723 {
4724 PlaySound("heartbeat", 1f - num16 * 2f);
4725 }
4726 }
4727 if (!IsPC && hp < MaxHP / 5 && Evalue(423) <= 0 && dmg * 100 / MaxHP + 10 > EClass.rnd(IsPowerful ? 400 : 150) && !HasCondition<ConFear>())
4728 {
4729 Chara.AddCondition<ConFear>(100 + EClass.rnd(100));
4730 }
4731 if (Chara.ai.Current.CancelWhenDamaged && attackSource != AttackSource.Hunger && attackSource != AttackSource.Fatigue && (!EClass.core.config.test.dontCancelIfZeroDamage || dmg != 0L || !IsPC))
4732 {
4733 Chara.ai.Current.TryCancel(origin);
4734 }
4736 {
4737 ConWeapon condition = Chara.GetCondition<ConWeapon>();
4738 if (e.source.aliasRef == condition.sourceElement.aliasRef)
4739 {
4740 condition.Mod(-1);
4741 }
4742 }
4743 if (Chara.HasElement(1222) && (dmg >= MaxHP / 10 || EClass.rnd(20) == 0))
4744 {
4745 ActEffect.Proc(EffectId.Duplicate, this);
4746 }
4747 if (origin != null)
4748 {
4750 }
4751 if (hp < MaxHP / 3 && HasElement(1409) && !Chara.HasCooldown(1409))
4752 {
4753 Chara.AddCooldown(1409);
4755 Chara.Cure(CureType.Boss);
4756 Chara.HealHP(MaxHP / 2);
4757 EClass.player.forceTalk = true;
4758 }
4759 if (origin != null && origin.isChara && attackSource != AttackSource.Finish)
4760 {
4762 {
4763 Chara.TrySetEnemy(origin.Chara);
4764 }
4765 if ((weapon == null || !weapon.HasElement(486)) && origin.Evalue(428) > 0 && !IsPCFactionOrMinion && EClass.rnd(dmg) >= EClass.rnd(MaxHP / 10) + MaxHP / 100 + 1)
4766 {
4767 origin.Chara.TryNeckHunt(Chara, origin.Evalue(428) * 20, harvest: true);
4768 }
4769 }
4770 void EvadeDeath(Action action)
4771 {
4772 hp = 0;
4773 if (Evalue(1421) > 0 && isChara && Chara.mana.value < 0)
4774 {
4775 Chara.mana.value = 0;
4776 }
4777 onEvade = action;
4778 }
4779 void Heal()
4780 {
4781 target.Cure(CureType.HealComplete);
4782 foreach (Chara member in EClass.pc.party.members)
4783 {
4784 member.Cure(CureType.HealComplete);
4785 }
4786 }
4787 void ProcAbsorb()
4788 {
4789 if (origin != null && origin.isChara && isChara && (weapon == null || !weapon.HasElement(486)))
4790 {
4791 int valueOrDefault = (origin.Evalue(662) + weapon?.Evalue(662, ignoreGlobalElement: true)).GetValueOrDefault();
4792 int valueOrDefault2 = (origin.Evalue(661) + weapon?.Evalue(661, ignoreGlobalElement: true)).GetValueOrDefault();
4793 if (valueOrDefault > 0 && attackSource == AttackSource.Melee && origin.isChara && !origin.Chara.ignoreSPAbsorb && Chara.IsHostile(origin as Chara))
4794 {
4795 int num17 = EClass.rnd(3 + (int)Mathf.Clamp(dmg / 100, 0f, valueOrDefault / 10));
4796 origin.Chara.stamina.Mod(num17);
4798 {
4799 Chara.stamina.Mod(-num17);
4800 }
4801 }
4802 if (origin.HasElement(1350) && attackSource == AttackSource.Melee)
4803 {
4804 int num18 = EClass.rndHalf(2 + (int)Mathf.Clamp(dmg / 10, 0f, origin.Chara.GetPietyValue() + 10));
4805 origin.Chara.mana.Mod(num18);
4807 {
4808 Chara.mana.Mod(-num18);
4809 }
4810 }
4811 if (valueOrDefault2 > 0 && attackSource == AttackSource.Melee)
4812 {
4813 int num19 = EClass.rnd(2 + (int)Mathf.Clamp(dmg / 10, 0f, valueOrDefault2 + 10));
4814 origin.Chara.mana.Mod(num19);
4816 {
4817 Chara.mana.Mod(-num19);
4818 }
4819 }
4820 }
4821 }
4822 }
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:266
virtual Status Cancel()
Definition: AIAct.cs:291
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:2634
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:2260
bool isCrafted
Definition: Card.cs:794
virtual void Die(Element e=null, Card origin=null, AttackSource attackSource=AttackSource.None, Chara originalTarget=null)
Definition: Card.cs:4984
void AddBlood(int a=1, int id=-1)
Definition: Card.cs:5928
bool isRestrained
Definition: Card.cs:566
virtual int Power
Definition: Card.cs:2283
bool isCopy
Definition: Card.cs:878
virtual void HealHP(int a, HealSource origin=HealSource.None)
Definition: Card.cs:3988
void ApplyElementEffect(Element e, int eleP, Card origin, bool checkHostileAct=false)
Definition: Card.cs:4824
int uid
Definition: Card.cs:122
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6147
void ModCurrency(int a, string id="money")
Definition: Card.cs:3946
bool IsPowerful
Definition: Card.cs:2082
bool HasEditorTag(EditorTag tag)
Definition: Card.cs:2588
bool IsInstalled
Definition: Card.cs:2369
int Dist(Card c)
Definition: Card.cs:7614
virtual bool IsPCFaction
Definition: Card.cs:2257
int ResistLv(int res)
Definition: Card.cs:5876
virtual bool isSynced
Definition: Card.cs:2075
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6765
AttackStyle GetAttackStyle()
Definition: CharaBody.cs:445
Element MainElement
Definition: Chara.cs:717
CharaBody body
Definition: Chara.cs:94
AIAct ai
Definition: Chara.cs:202
bool TryNeckHunt(Chara TC, int power, bool harvest=false)
Definition: Chara.cs:9474
void ModAffinity(Chara c, int a, bool show=true, bool showOnlyEmo=false)
Definition: Chara.cs:7819
Chara host
Definition: Chara.cs:33
void ShowDialog()
Definition: Chara.cs:6945
override string ToString()
Definition: Chara.cs:1172
Party party
Definition: Chara.cs:43
bool HasCondition(string alias)
Definition: Chara.cs:9256
override bool IsDisabled
Definition: Chara.cs:585
override bool IsPCFaction
Definition: Chara.cs:671
bool IsFriendOrAbove()
Definition: Chara.cs:6535
override int MaxHP
Definition: Chara.cs:708
Stats mana
Definition: Chara.cs:1154
FactionMemberType memberType
Definition: Chara.cs:46
string TalkTopic(string topic="calm")
Definition: Chara.cs:6874
Stats stamina
Definition: Chara.cs:1146
void AddCooldown(int idEle, int turns=0)
Definition: Chara.cs:8543
bool ignoreSPAbsorb
Definition: Chara.cs:146
Religion faith
Definition: Chara.cs:439
int GetPietyValue()
Definition: Chara.cs:10030
bool IsHostile()
Definition: Chara.cs:6443
void Cure(CureType type, int p=100, BlessedState state=BlessedState.Normal)
Definition: Chara.cs:9348
void TrySetEnemy(Chara c)
Definition: Chara.cs:6234
bool HasCooldown(int idEle)
Definition: Chara.cs:8561
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:327
static ColorProfile Colors
Definition: EClass.cs:38
static int rndHalf(int a)
Definition: EClass.cs:87
static SoundManager Sound
Definition: EClass.cs:46
Effect Emit(int num)
Definition: Effect.cs:279
Effect SetParticleColor(Color c)
Definition: Effect.cs:289
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:1142
SourceElement.Row source
Definition: ELEMENT.cs:273
static Element Create(int id, int v=0)
Definition: ELEMENT.cs:1104
static Element Void
Definition: ELEMENT.cs:238
void AddContribution(int a)
Definition: FACTION.cs:318
bool enableDamageReduction
ReligionManager religions
Definition: Game.cs:158
GamePrincipal principal
Definition: Game.cs:224
QuestManager quests
Definition: Game.cs:182
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:1115
void ModFame(int a)
Definition: Player.cs:2086
Stats stats
Definition: Player.cs:1016
bool invlunerable
Definition: Player.cs:1173
int fame
Definition: Player.cs:881
bool TryAbortAutoCombat(bool immediate=true)
Definition: Player.cs:2402
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
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:37
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:164
virtual bool CanBeDestroyed
Definition: Trait.cs:294
virtual bool IsDoor
Definition: Trait.cs:57
virtual bool CanBeSmashedToDeath
Definition: Trait.cs:296
override int DangerLv
Definition: Zone.cs:107
Card AddCard(Card t, Point point)
Definition: Zone.cs:1959

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

6581 {
6582 Card card = parent as Card;
6583 int num = 200;
6584 int num2 = MaxDecay / 4 * 3;
6585 if (a > 0)
6586 {
6587 if (card != null)
6588 {
6589 num = card.trait.DecaySpeedChild;
6590 }
6591 num = num * trait.DecaySpeed / 100;
6592 int num3 = Evalue(405);
6593 if (num3 != 0)
6594 {
6595 num = num * (100 - num3 * 2) / 100;
6596 }
6597 if (num < 0)
6598 {
6599 num = 0;
6600 }
6601 }
6602 else
6603 {
6604 num = 100;
6605 }
6606 a = a * num / 100;
6607 if (decay + a > MaxDecay)
6608 {
6609 if (card != null && !card.trait.OnChildDecay(this, !IsDecayed))
6610 {
6611 return;
6612 }
6613 if (!IsDecayed)
6614 {
6615 if (EClass.pc.HasElement(1325) && GetRootCard() is Chara && category.IsChildOf("food"))
6616 {
6617 Thing thing = TraitSeed.MakeRandomSeed(enc: true).SetNum(Mathf.Min(Num, 3));
6618 card.AddCard(thing);
6619 if (!IsParentLocked())
6620 {
6621 GetRootCard().Say("seed_rot", GetRootCard(), this, thing.Name);
6622 }
6623 Destroy();
6624 return;
6625 }
6626 if (parent == EClass._zone)
6627 {
6628 Say("rot", this);
6629 }
6630 else if (GetRootCard() == EClass.pc)
6631 {
6632 if (!IsParentLocked())
6633 {
6634 EClass.pc.Say("rotInv", this, EClass.pc);
6635 }
6637 }
6638 if (IsFood)
6639 {
6640 elements.ModBase(73, -10);
6641 }
6642 }
6643 }
6644 else if (decay < num2 && decay + a >= num2 && GetRootCard() == EClass.pc)
6645 {
6646 if (!IsParentLocked())
6647 {
6648 EClass.pc.Say("rottingInv", this, EClass.pc);
6649 }
6651 }
6652 decay += a;
6653 bool IsParentLocked()
6654 {
6655 if (parent is Thing)
6656 {
6657 return (parent as Thing).c_lockLv > 0;
6658 }
6659 return false;
6660 }
6661 }
bool IsDecayed
Definition: Card.cs:2275
string Name
Definition: Card.cs:2125
bool IsFood
Definition: Card.cs:2163
virtual int MaxDecay
Definition: Card.cs:2273
bool IsChildOf(Card c)
Definition: Card.cs:2649
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 6548 of file Card.cs.

6549 {
6550 if (!isNPCProperty)
6551 {
6552 things.ForeachReverse(delegate(Thing t)
6553 {
6554 t.DecayNatural(hour);
6555 });
6556 if (sourceCard._origin == "dish")
6557 {
6559 }
6560 if (parent is Card && (parent as Card).trait.CanChildDecay(this))
6561 {
6562 Decay(10 * hour);
6563 }
6564 else if (!isChara && trait.Decay != 0)
6565 {
6566 Decay(trait.Decay * hour);
6567 }
6568 }
6569 }
string _origin
Definition: CardRow.cs:15
bool isNPCProperty
Definition: Card.cs:554
void DecayNatural(int hour=1)
Definition: Card.cs:6548
void Decay(int a=10)
Definition: Card.cs:6580
void CheckJustCooked()
Definition: Card.cs:6571
virtual bool CanChildDecay(Card c)
Definition: Trait.cs:1066
virtual int Decay
Definition: Trait.cs:120

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

5046 {
5047 PlaySound(material.GetSoundDead(sourceCard));
5048 Destroy();
5049 }

References material.

Referenced by AI_Deconstruct.Run().

◆ Destroy()

void Card.Destroy ( )
inline

Definition at line 5051 of file Card.cs.

5052 {
5053 if (isDestroyed)
5054 {
5055 Debug.Log(Name + " is already destroyed.");
5056 return;
5057 }
5058 if (isChara)
5059 {
5060 if (IsPCFaction && !Chara.isSummon)
5061 {
5062 Debug.Log(this);
5063 return;
5064 }
5065 Chara.DropHeld();
5066 Chara.isDead = true;
5067 if (IsPCParty)
5068 {
5070 }
5071 if (IsGlobal)
5072 {
5074 }
5075 }
5076 if (renderer.hasActor)
5077 {
5079 }
5080 if (parent != null)
5081 {
5082 parent.RemoveCard(this);
5083 }
5084 for (int num = things.Count - 1; num >= 0; num--)
5085 {
5086 things[num].Destroy();
5087 }
5088 isDestroyed = true;
5089 }
GlobalCharaList globalCharas
Definition: CardManager.cs:46
void KillActor()
bool isSummon
Definition: Card.cs:710
virtual bool IsGlobal
Definition: Card.cs:2271
Card DropHeld(Point dropPos=null)
Definition: Chara.cs:4546
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_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(), DramaManager.ParseLine(), 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 4984 of file Card.cs.

4985 {
4986 Card rootCard = GetRootCard();
4987 Point _pos = rootCard?.pos ?? pos;
4988 if (_pos != null && !_pos.IsValid)
4989 {
4990 _pos = null;
4991 }
4992 if (trait.EffectDead == EffectDead.Default && _pos != null)
4993 {
4994 _pos.PlaySound(material.GetSoundDead(sourceCard));
4995 _pos.PlayEffect("mine").SetParticleColor(material.GetColor()).Emit(10 + EClass.rnd(10));
4996 material.AddBlood(_pos, trait.CanBeSmashedToDeath ? (12 + EClass.rnd(8)) : 6);
4997 if (_pos.IsSync)
4998 {
4999 string text = ((rootCard != this) ? "destroyed_inv_" : "destroyed_ground_");
5000 if (e != null && LangGame.Has(text + e.source.alias))
5001 {
5002 text += e.source.alias;
5003 }
5004 if (attackSource != AttackSource.Throw)
5005 {
5006 Msg.Say(text, this, rootCard);
5007 }
5008 }
5009 else if (attackSource != AttackSource.Throw)
5010 {
5011 Msg.Say("destroyed", this);
5012 }
5013 }
5014 if (_pos != null && !EClass._zone.IsUserZone)
5015 {
5016 things.ForeachReverse(delegate(Thing t)
5017 {
5018 if (!(t.trait is TraitChestMerchant))
5019 {
5020 EClass._zone.AddCard(t, _pos);
5021 }
5022 });
5023 }
5024 Destroy();
5025 if (e != null && _pos != null && e.id == 21)
5026 {
5027 EClass._zone.AddCard(ThingGen.Create((EClass.rnd(2) == 0) ? "ash" : "ash2"), _pos);
5028 }
5029 if (trait.ThrowType == ThrowType.Explosive && EClass.rnd((!(trait is TraitAmmoRocket)) ? 1 : 2) == 0)
5030 {
5031 Explode(pos, origin);
5032 }
5033 }
EffectDead
Definition: EffectDead.cs:2
ThrowType
Definition: ThrowType.cs:2
void Explode(Point p, Card origin)
Definition: Card.cs:5035
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:250
virtual ThrowType ThrowType
Definition: Trait.cs:248

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

7615 {
7616 if (!IsMultisize && !c.IsMultisize)
7617 {
7618 return pos.Distance(c.pos);
7619 }
7620 if (IsMultisize)
7621 {
7622 int dist = 99;
7623 ForeachPoint(delegate(Point p, bool main)
7624 {
7625 int num2 = DistMulti(p, c);
7626 if (num2 < dist)
7627 {
7628 dist = num2;
7629 }
7630 });
7631 return dist;
7632 }
7633 return DistMulti(pos, c);
7634 static int DistMulti(Point p1, Card c)
7635 {
7636 if (!c.IsMultisize)
7637 {
7638 return p1.Distance(c.pos);
7639 }
7640 int dist2 = 99;
7641 c.ForeachPoint(delegate(Point p, bool main)
7642 {
7643 int num = p1.Distance(p);
7644 if (num < dist2)
7645 {
7646 dist2 = num;
7647 }
7648 });
7649 return dist2;
7650 }
7651 }
virtual bool IsMultisize
Definition: Card.cs:2146
void ForeachPoint(Action< Point, bool > action)
Definition: Card.cs:7779
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(), AI_Sleep.OnProgressComplete(), ActRanged.Perform(), ActRush.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 7653 of file Card.cs.

7654 {
7655 return pos.Distance(p);
7656 }

References Point.Distance().

◆ Duplicate()

Thing Card.Duplicate ( int  num)
inline

Definition at line 3429 of file Card.cs.

3430 {
3431 Thing thing = ThingGen.Create(id);
3432 thing.ChangeMaterial(idMaterial, ignoreFixedMaterial: true);
3433 thing._bits1 = _bits1;
3434 thing._bits2 = _bits2;
3435 thing.dir = dir;
3436 thing.refVal = refVal;
3437 thing.altitude = altitude;
3438 thing.idSkin = idSkin;
3439 thing.blessedState = blessedState;
3440 thing.rarityLv = rarityLv;
3441 thing.tier = tier;
3442 thing.LV = LV;
3443 thing.exp = exp;
3444 thing.encLV = encLV;
3445 thing.decay = decay;
3446 thing.mapInt.Clear();
3447 thing.mapStr.Clear();
3448 foreach (KeyValuePair<int, int> item in mapInt)
3449 {
3450 thing.mapInt[item.Key] = item.Value;
3451 }
3452 foreach (KeyValuePair<int, string> item2 in mapStr)
3453 {
3454 thing.mapStr[item2.Key] = item2.Value;
3455 }
3456 elements.CopyTo(thing.elements);
3457 thing.SetNum(num);
3458 if (thing.IsRangedWeapon)
3459 {
3460 thing.sockets = IO.DeepCopy(sockets);
3461 }
3462 if (thing.c_containerSize != 0)
3463 {
3464 thing.things.SetOwner(thing);
3465 }
3466 return thing;
3467 }
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:3026
bool IsRangedWeapon
Definition: Card.cs:2231
int c_containerSize
Definition: Card.cs:1365
int rarityLv
Definition: Card.cs:302
BlessedState blessedState
Definition: Card.cs:278
int dir
Definition: Card.cs:146
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(), Trait.OnBarter(), TraitBrewery.OnChildDecay(), 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 5964 of file Card.cs.

5965 {
5966 isDyed = mat != null;
5967 c_dyeMat = mat?.id ?? 0;
5968 _colorInt = 0;
5969 }
int c_dyeMat
Definition: Card.cs:1185
bool isDyed
Definition: Card.cs:458

◆ Dye() [2/2]

◆ DyeRandom()

void Card.DyeRandom ( )
inline

Definition at line 5954 of file Card.cs.

5955 {
5956 Dye(EClass.sources.materials.rows.Where((SourceMaterial.Row r) => r.matColor.r != r.matColor.g || r.matColor.g != r.matColor.b || r.matColor.b != r.matColor.r).RandomItem().alias);
5957 }

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

3562 {
3563 for (int i = 0; i < sockets.Count; i++)
3564 {
3565 int num = sockets[i];
3566 if (num != 0)
3567 {
3568 Thing thing = ThingGen.Create(isCopy ? "ash3" : "mod_ranged");
3569 int ele = num / 1000;
3570 int num2 = num % 1000;
3571 elements.ModBase(ele, -num2);
3572 if (!isCopy)
3573 {
3574 thing.refVal = ele;
3575 thing.encLV = num2;
3576 }
3578 sockets[i] = 0;
3579 }
3580 }
3581 }
bool ExistsOnMap
Definition: Card.cs:2073
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 2559 of file Card.cs.

2560 {
2561 return elements.Value(ele);
2562 }
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(), 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(), Religion.LeaveFaith(), LevelUp(), RecipeCard.MakeDish(), AI_Fish.Makefish(), CraftUtil.MakeLoveLunch(), TraitSeed.MakeSeed(), MaxRune(), CraftUtil.MixIngredients(), StatsStamina.Mod(), CalcMoney.Negotiate(), Player.OnAdvanceDay(), Player.OnAdvanceHour(), Trait.OnBarter(), TraitPotionAlchemy.OnCrafted(), TraitDrinkMilkMother.OnDrink(), AI_Fish.ProgressFish.OnProgress(), RecipeManager.OnSleep(), TraitFloorSwitch.OnStepped(), Affinity.OnTalkRumor(), TraitItemProc.OnUse(), RaceBonus.OnWriteNote(), 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(), 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 2564 of file Card.cs.

2565 {
2566 if (!ignoreGlobalElement || !HasGlobalElement(ele))
2567 {
2568 return elements.Value(ele);
2569 }
2570 return 0;
2571 }
bool HasGlobalElement(int ele)
Definition: Card.cs:5891

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

◆ Evalue() [3/3]

int Card.Evalue ( string  alias)
inline

Definition at line 2578 of file Card.cs.

2579 {
2580 return elements.Value(EClass.sources.elements.alias[alias].id);
2581 }

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

◆ EvalueMax()

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

Definition at line 2573 of file Card.cs.

2574 {
2575 return Mathf.Max(elements.Value(ele), min);
2576 }

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

5036 {
5037 ActEffect.ProcAt(EffectId.Explosive, 100, blessedState, this, null, p, isNeg: true, new ActRef
5038 {
5039 origin = origin?.Chara,
5040 refThing = Thing,
5041 aliasEle = "eleImpact"
5042 });
5043 }
static void ProcAt(EffectId id, int power, BlessedState state, Card cc, Card tc, Point tp, bool isNeg, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:485
Definition: ActRef.cs:2

References ActEffect.ProcAt().

◆ FindTool< T >()

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

Definition at line 2654 of file Card.cs.

2654 : Trait
2655 {
2656 if (IsPC)
2657 {
2658 return Tool?.trait as T;
2659 }
2660 return things.Find<T>()?.trait as T;
2661 }
Thing Tool
Definition: Card.cs:2398
Thing Find(int uid)

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

◆ ForeachFOV()

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

Definition at line 7763 of file Card.cs.

7764 {
7765 if (fov == null)
7766 {
7767 return;
7768 }
7769 foreach (KeyValuePair<int, byte> lastPoint in fov.lastPoints)
7770 {
7771 Point arg = new Point().Set(lastPoint.Key);
7772 if (func(arg))
7773 {
7774 break;
7775 }
7776 }
7777 }

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

◆ ForeachPoint()

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

Definition at line 7779 of file Card.cs.

7780 {
7781 if (IsMultisize)
7782 {
7783 pos.ForeachMultiSize(W, H, action);
7784 }
7785 else
7786 {
7787 action(pos, arg2: true);
7788 }
7789 }
int H
Definition: Card.cs:2354
int W
Definition: Card.cs:2342
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 2964 of file Card.cs.

2965 {
2966 return Mathf.Clamp(100 + Chara.affinity.value / 10, 50, 200);
2967 }
int value
Definition: Affinity.cs:26
Affinity affinity
Definition: Chara.cs:314

References Chara.affinity, and Affinity.value.

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

◆ GetArmorSkill()

virtual int Card.GetArmorSkill ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 4018 of file Card.cs.

4019 {
4020 return 0;
4021 }

Referenced by ApplyProtection().

◆ GetBestAttribute()

int Card.GetBestAttribute ( )
inline

Definition at line 2618 of file Card.cs.

2619 {
2620 int num = 1;
2621 foreach (Element item in elements.dict.Values.Where((Element a) => Element.List_MainAttributesMajor.Contains(a.id)))
2622 {
2623 int num2 = item.Value;
2624 if (isChara && Chara.tempElements != null)
2625 {
2626 num2 -= Chara.tempElements.Value(item.id);
2627 }
2628 if (num2 > num)
2629 {
2630 num = num2;
2631 }
2632 }
2633 return num;
2634 }
ElementContainer tempElements
Definition: Chara.cs:36
Dictionary< int, Element > dict
static int[] List_MainAttributesMajor
Definition: ELEMENT.cs:242

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

Referenced by AI_Fuck.Finish().

◆ GetCurrency()

◆ GetDaysTogetherBonus()

int Card.GetDaysTogetherBonus ( )
inline

Definition at line 2969 of file Card.cs.

2970 {
2972 {
2973 return 100;
2974 }
2975 return 100 + EClass.curve(c_daysWithPC / 100 * 3, 100, 20, 70);
2976 }
int c_daysWithPC
Definition: Card.cs:1485
static int curve(int a, int start, int step, int rate=75)
Definition: EClass.cs:68

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

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

◆ GetDetail()

virtual string Card.GetDetail ( )
inlinevirtual

Definition at line 2613 of file Card.cs.

2614 {
2615 return sourceCard.GetText("detail", returnNull: true);
2616 }
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 7118 of file Card.cs.

7119 {
7120 return GetValue();
7121 }
int GetValue(PriceType priceType=PriceType.Default, bool sell=false)
Definition: Card.cs:7139

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

◆ GetExpMtp()

int Card.GetExpMtp ( )
inline

Definition at line 2946 of file Card.cs.

2947 {
2948 int num = 100;
2949 if (!IsPC)
2950 {
2951 num *= 2;
2952 if (IsPCFaction)
2953 {
2954 num = num * GetAffinityExpBonus() / 100;
2956 {
2957 num = num * (50 + EClass.game.principal.petFeatExpMtp * 50) / 100;
2958 }
2959 }
2960 }
2961 return num * (100 + Evalue(1237) * 30) / 100;
2962 }
int GetAffinityExpBonus()
Definition: Card.cs:2964

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

2609 {
2610 return "";
2611 }

Referenced by Act.GetTextSmall().

◆ GetFoodName()

string Card.GetFoodName ( string  s)
inline

Definition at line 5676 of file Card.cs.

5677 {
5678 return s.Replace("_corpseFrom".lang(), "_corpseTo".lang());
5679 }

◆ GetHearingRadius()

int Card.GetHearingRadius ( )
inline

Definition at line 6358 of file Card.cs.

6359 {
6360 return 8;
6361 }

Referenced by AI_Idle.Run().

◆ GetHoverText()

virtual string Card.GetHoverText ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 7604 of file Card.cs.

7605 {
7606 return Name + GetExtraName();
7607 }
virtual string GetExtraName()
Definition: Card.cs:2608

◆ GetHoverText2()

virtual string Card.GetHoverText2 ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 7609 of file Card.cs.

7610 {
7611 return "";
7612 }

◆ GetImageSprite()

virtual Sprite Card.GetImageSprite ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 6049 of file Card.cs.

6050 {
6051 return null;
6052 }

Referenced by HotItemThing.GetSprite().

◆ GetLightPower()

float Card.GetLightPower ( )
inline

Definition at line 6344 of file Card.cs.

6345 {
6347 if (LightData != null)
6348 {
6349 return 0.01f * LightData.color.a * 256f * 1.12f;
6350 }
6351 if (IsPCFaction && !IsPC)
6352 {
6353 num *= 4f;
6354 }
6355 return num;
6356 }
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 6372 of file Card.cs.

6373 {
6374 if (isThing)
6375 {
6376 if (!IsInstalled && EClass.pc.held != this)
6377 {
6378 return 0;
6379 }
6381 {
6382 return (trait as TraitLightSource).LightRadius;
6383 }
6384 if (LightData == null || !trait.IsLightOn)
6385 {
6386 return 0;
6387 }
6388 return LightData.radius;
6389 }
6390 int num = ((LightData != null) ? LightData.radius : 0);
6391 int num2 = 0;
6392 if (IsPC)
6393 {
6394 if (Chara.isBlind)
6395 {
6396 return 1;
6397 }
6398 num = ((EClass._map.IsIndoor || EClass.world.date.IsNight) ? 2 : ((EClass.world.date.periodOfDay == PeriodOfDay.Day) ? 6 : 5));
6399 num2 = 2;
6400 }
6401 else
6402 {
6404 {
6405 return 0;
6406 }
6407 if (LightData == null && !EClass._map.IsIndoor && !EClass.world.date.IsNight)
6408 {
6409 return 0;
6410 }
6411 }
6412 if (IsPCFaction)
6413 {
6414 Thing equippedThing = Chara.body.GetEquippedThing(45);
6415 if (equippedThing != null && equippedThing.trait is TraitLightSource traitLightSource)
6416 {
6417 num2 = traitLightSource.LightRadius;
6418 }
6419 if (Chara.held != null && IsPC)
6420 {
6421 int lightRadius = Chara.held.GetLightRadius();
6422 if (lightRadius > 0)
6423 {
6424 if (lightRadius > num2)
6425 {
6426 num2 = Chara.held.GetLightRadius() - 1;
6427 }
6428 if (num2 < 3)
6429 {
6430 num2 = 3;
6431 }
6432 }
6433 }
6434 if (num < num2)
6435 {
6436 num = num2;
6437 }
6438 }
6439 return num;
6440 }
PeriodOfDay
Definition: PeriodOfDay.cs:2
Thing GetEquippedThing(int elementId)
Definition: CharaBody.cs:390
bool isBlind
Definition: Chara.cs:130
GraphicSetting graphic
Definition: CoreConfig.cs:607
bool IsNight
Definition: Date.cs:112
PeriodOfDay periodOfDay
Definition: Date.cs:124
int radius
Definition: LightData.cs:10
bool IsIndoor
Definition: Map.cs:131
bool isEquipped
Definition: Thing.cs:17
virtual bool IsLightOn
Definition: Trait.cs:413

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

2604 {
2605 return "Card";
2606 }

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

◆ GetPaintData()

byte[] Card.GetPaintData ( )
inline

Definition at line 7000 of file Card.cs.

7001 {
7002 Sprite sprite = GetSprite();
7003 Texture2D texture2D = ScreenCapture.CaptureScreenshotAsTexture();
7004 int num = sprite.texture.width * 2;
7005 int num2 = sprite.texture.height * 2;
7006 int x = (int)Mathf.Clamp(Input.mousePosition.x - (float)(num / 2), 1f, texture2D.width - num - 1);
7007 int y = (int)Mathf.Clamp(Input.mousePosition.y - (float)(num2 / 2), 1f, texture2D.height - num2 - 1);
7008 Color[] pixels = texture2D.GetPixels(x, y, num, num2);
7009 Texture2D texture2D2 = new Texture2D(num, num2, TextureFormat.ARGB32, mipChain: false);
7010 texture2D2.SetPixels(pixels);
7011 texture2D2.Apply();
7012 byte[] result = texture2D2.EncodeToJPG();
7013 UnityEngine.Object.Destroy(texture2D);
7014 UnityEngine.Object.Destroy(texture2D2);
7015 return result;
7016 }
virtual Sprite GetSprite(int dir=0)
Definition: Card.cs:6040

References Color.

Referenced by AM_Paint.OnUpdateInput().

◆ GetPaintSprite()

Sprite Card.GetPaintSprite ( )
inline

Definition at line 7028 of file Card.cs.

7029 {
7030 if (!_paintSprite)
7031 {
7032 byte[] data = c_textureData;
7033 Texture2D texture2D = new Texture2D(1, 1);
7034 texture2D.LoadImage(data);
7035 _paintSprite = Sprite.Create(texture2D, new Rect(0f, 0f, texture2D.width, texture2D.height), new Vector2(0.5f, 0.5f), 200f);
7036 EClass.game.loadedTextures.Add(texture2D);
7037 if (trait is TraitCanvas traitCanvas)
7038 {
7039 texture2D.filterMode = ((!traitCanvas.PointFilter) ? FilterMode.Bilinear : FilterMode.Point);
7040 }
7041 }
7042 return _paintSprite;
7043 }
byte[] c_textureData
Definition: Card.cs:1917
HashSet< Texture2D > loadedTextures
Definition: Game.cs:257

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

7218 {
7219 if (priceType == PriceType.CopyShop && sell)
7220 {
7221 return 0;
7222 }
7223 if (!sell)
7224 {
7225 if (id == "littleball")
7226 {
7227 return 0;
7228 }
7229 switch (currency)
7230 {
7231 case CurrencyType.Money:
7232 if (id == "crimale2")
7233 {
7234 return 6480;
7235 }
7236 break;
7237 case CurrencyType.Influence:
7238 switch (id)
7239 {
7240 case "ticket_fortune":
7241 return 5;
7242 case "medal":
7243 return 5;
7244 case "lunch_love":
7245 return 20;
7246 }
7247 break;
7248 case CurrencyType.Ecopo:
7249 switch (id)
7250 {
7251 case "plat":
7252 return 500;
7253 case "rune_free":
7254 return 1000;
7255 case "whip_egg":
7256 return 3000;
7257 case "brush_strip":
7258 return 2500;
7259 case "hammer_strip":
7260 return 5000;
7261 case "helm_chef":
7262 return 25000;
7263 }
7264 break;
7265 case CurrencyType.Plat:
7266 {
7267 string text = id;
7268 if (!(text == "lucky_coin"))
7269 {
7270 if (!(text == "book_skill"))
7271 {
7272 break;
7273 }
7274 return 50;
7275 }
7276 return 100;
7277 }
7278 case CurrencyType.Medal:
7279 switch (id)
7280 {
7281 case "1282":
7282 return 5;
7283 case "bill_tax":
7284 return 3;
7285 case "water":
7286 return 3;
7287 case "bill":
7288 return 3;
7289 case "1165":
7290 return 10;
7291 case "diary_sister":
7292 return 12;
7293 case "diary_lady":
7294 return 25;
7295 case "diary_catsister":
7296 return 85;
7297 case "container_magic":
7298 return 20;
7299 case "wrench_tent_elec":
7300 return 3;
7301 case "wrench_tent_soil":
7302 return 3;
7303 case "wrench_tent_seabed":
7304 return 12;
7305 case "wrench_bed":
7306 return 3;
7307 case "wrench_storage":
7308 return 4;
7309 case "wrench_fridge":
7310 return 15;
7311 case "wrench_extend_v":
7312 return 6;
7313 case "wrench_extend_h":
7314 return 6;
7315 case "monsterball":
7316 return LV / 8;
7317 case "372":
7318 return 3;
7319 case "scroll_random":
7320 if (refVal == 8288)
7321 {
7322 return 20;
7323 }
7324 break;
7325 }
7326 break;
7327 }
7328 }
7329 if (sell && noSell)
7330 {
7331 return 0;
7332 }
7333 if (!sell && id == "casino_coin")
7334 {
7335 return 20;
7336 }
7337 int value = GetValue(priceType, sell);
7338 if (value == 0)
7339 {
7340 return 0;
7341 }
7342 if (c == null)
7343 {
7344 c = EClass.pc;
7345 }
7346 double p = value;
7347 Trait trait = this.trait;
7348 if (!(trait is TraitBed))
7349 {
7350 if (trait is TraitContainer traitContainer)
7351 {
7352 p *= 1f + 4f * (float)(things.width - traitContainer.Width) + 4f * (float)(things.height - traitContainer.Height);
7353 }
7354 }
7355 else
7356 {
7357 p *= 1f + 0.5f * (float)c_containerSize;
7358 }
7359 p += c_priceAdd;
7360 if (c_priceFix != 0)
7361 {
7362 p = (int)((float)p * (float)Mathf.Clamp(100 + c_priceFix, 0, 1000000) / 100f);
7363 if (p == 0.0)
7364 {
7365 return 0;
7366 }
7367 }
7368 if (isStolen)
7369 {
7370 if (sell && priceType == PriceType.PlayerShop && EClass.Branch != null && EClass.Branch.policies.IsActive(2824))
7371 {
7372 p = p * 100.0 / (double)Mathf.Max(110f, 170f - Mathf.Sqrt(EClass.Branch.Evalue(2824) * 5));
7373 }
7374 else if (sell && Guild.Thief.IsMember)
7375 {
7376 p = Guild.Thief.SellStolenPrice((int)p);
7377 }
7378 else
7379 {
7380 p *= 0.5;
7381 }
7382 }
7383 if (!sell && category.id == "spellbook")
7384 {
7385 p = Guild.Mage.BuySpellbookPrice((int)p);
7386 }
7387 bool flag = priceType == PriceType.CopyShop;
7388 int num = ((!flag) ? 1 : 5);
7389 float num2 = Mathf.Min(0.01f * (float)Evalue(752), 1f);
7390 float num3 = Mathf.Min(0.01f * (float)Evalue(751), 1f);
7391 float num4 = Mathf.Min(0.02f * (float)Evalue(759), 2f);
7392 if (num3 > 0f)
7393 {
7394 num3 *= (float)num;
7395 }
7396 float num5 = Mathf.Clamp(1f + num2 + num3, 0.5f, 5f) + num4;
7397 p *= num5;
7398 p *= 0.20000000298023224;
7399 if (sell)
7400 {
7401 p *= 0.20000000298023224;
7402 if (isCopy)
7403 {
7404 p *= 0.20000000298023224;
7405 }
7406 if (isReplica)
7407 {
7408 p *= 0.20000000298023224;
7409 }
7410 if (currency == CurrencyType.Money && (category.IsChildOf("meal") || category.IsChildOf("preserved")))
7411 {
7412 p *= 0.5;
7413 }
7414 if ((uint)(priceType - 1) <= 1u)
7415 {
7416 if (category.IsChildOf("fish"))
7417 {
7418 p *= ((EClass.pc.faith == EClass.game.religions.Luck) ? 1.5f : 1f);
7419 }
7420 if (category.IsChildOf("vegi") || category.IsChildOf("fruit"))
7421 {
7422 p *= ((EClass.pc.faith == EClass.game.religions.Harvest) ? 3f : 2f);
7423 }
7424 }
7425 }
7426 if (id == "rod_wish")
7427 {
7428 p *= (sell ? 0.01f : 50f);
7429 }
7430 switch (currency)
7431 {
7432 case CurrencyType.Ecopo:
7433 if (this.trait is TraitSeed)
7434 {
7435 p *= 2.0;
7436 }
7437 else if (this.trait is TraitEcoMark)
7438 {
7439 p *= 1.0;
7440 }
7441 else
7442 {
7443 p *= 0.20000000298023224;
7444 }
7445 break;
7446 case CurrencyType.Casino_coin:
7447 p *= 0.10000000149011612;
7448 break;
7449 case CurrencyType.Influence:
7450 p *= 0.0020000000949949026;
7451 break;
7452 case CurrencyType.Medal:
7453 p *= 0.00019999999494757503;
7454 break;
7455 case CurrencyType.Money2:
7456 p *= 0.004999999888241291;
7457 break;
7458 default:
7459 if (IsIdentified || (this.trait is TraitErohon && !sell) || priceType == PriceType.Tourism)
7460 {
7461 if (blessedState == BlessedState.Blessed)
7462 {
7463 p *= 1.25;
7464 }
7465 else if (blessedState <= BlessedState.Cursed)
7466 {
7467 p *= (flag ? 1.25f : 0.3f);
7468 }
7469 if (this.trait.HasCharges)
7470 {
7471 p = p * 0.05000000074505806 + p * (double)(0.5f + Mathf.Clamp(0.1f * (float)c_charges, 0f, 1.5f));
7472 }
7473 if (IsDecayed)
7474 {
7475 p *= (flag ? 0.9f : 0.5f);
7476 }
7477 }
7478 else
7479 {
7480 Rand.UseSeed(uid, delegate
7481 {
7482 p = (sell ? (1 + EClass.rnd(15)) : (50 + EClass.rnd(500)));
7483 });
7484 }
7485 if (!sell)
7486 {
7487 p *= 1f + 0.2f * (float)c.Evalue(1406);
7488 }
7489 break;
7490 }
7491 float num6 = Math.Clamp(Mathf.Sqrt(c.EvalueMax(291) + ((!sell && EClass._zone.IsPCFaction) ? (EClass.Branch.Evalue(2800) * 2) : 0)), 0f, 25f);
7492 switch (priceType)
7493 {
7494 case PriceType.Tourism:
7495 num6 = 0f;
7496 break;
7497 case PriceType.Shipping:
7498 if (sell)
7499 {
7500 p *= 1.100000023841858;
7501 }
7502 break;
7503 case PriceType.PlayerShop:
7504 {
7505 if (!sell)
7506 {
7507 break;
7508 }
7509 float num7 = 1.25f;
7510 if (EClass.Branch != null)
7511 {
7512 if (EClass.Branch.policies.IsActive(2817))
7513 {
7514 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2817));
7515 }
7516 if (EClass.Branch.policies.IsActive(2816))
7517 {
7518 num7 += 0.2f + 0.02f * Mathf.Sqrt(EClass.Branch.Evalue(2816));
7519 }
7520 if (isChara)
7521 {
7522 if (EClass.Branch.policies.IsActive(2828))
7523 {
7524 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2828));
7525 }
7526 }
7527 else if (category.IsChildOf("food") || category.IsChildOf("drink"))
7528 {
7529 if (EClass.Branch.policies.IsActive(2818))
7530 {
7531 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2818));
7532 }
7533 }
7534 else if (category.IsChildOf("furniture"))
7535 {
7536 if (EClass.Branch.policies.IsActive(2819))
7537 {
7538 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2819));
7539 }
7540 }
7541 else if (EClass.Branch.policies.IsActive(2820))
7542 {
7543 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2820));
7544 }
7545 }
7546 p *= num7;
7547 break;
7548 }
7549 }
7550 if ((uint)currency > 1u)
7551 {
7552 num6 = 0f;
7553 }
7554 p *= (sell ? (1f + num6 * 0.02f) : (1f - num6 * 0.02f));
7555 if (sell)
7556 {
7557 p = EClass.curve((int)p, 10000, 10000, 80);
7558 }
7559 if (p < 1.0)
7560 {
7561 p = ((!sell) ? 1 : 0);
7562 }
7563 if (!sell)
7564 {
7565 if (currency == CurrencyType.Casino_coin)
7566 {
7567 if (p > 100000.0)
7568 {
7569 p = Mathf.CeilToInt((float)p / 100000f) * 100000;
7570 }
7571 else if (p > 10000.0)
7572 {
7573 p = Mathf.CeilToInt((float)p / 10000f) * 10000;
7574 }
7575 else if (p > 1000.0)
7576 {
7577 p = Mathf.CeilToInt((float)p / 1000f) * 1000;
7578 }
7579 else if (p > 100.0)
7580 {
7581 p = Mathf.CeilToInt((float)p / 100f) * 100;
7582 }
7583 else if (p > 10.0)
7584 {
7585 p = Mathf.CeilToInt((float)p / 10f) * 10;
7586 }
7587 }
7588 if (this.trait is TraitDeed)
7589 {
7590 p *= Mathf.Pow(2f, EClass.player.flags.landDeedBought);
7591 }
7592 }
7593 if (p > (double)(sell ? 500000000 : 1000000000))
7594 {
7595 if (!sell)
7596 {
7597 return 1000000000;
7598 }
7599 return 500000000;
7600 }
7601 return (int)p;
7602 }
BlessedState
Definition: BlessedState.cs:2
@ currency
CurrencyType
Definition: CurrencyType.cs:2
PriceType
Definition: PriceType.cs:2
int c_priceFix
Definition: Card.cs:1137
int EvalueMax(int ele, int min=0)
Definition: Card.cs:2573
bool noSell
Definition: Card.cs:830
int c_priceAdd
Definition: Card.cs:1149
bool isStolen
Definition: Card.cs:854
bool IsIdentified
Definition: Card.cs:2365
bool isReplica
Definition: Card.cs:698
int c_charges
Definition: Card.cs:1269
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:659
Flags flags
Definition: Player.cs:1094
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:328

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

6014 {
6015 int num = EClass.game.seed + refVal;
6016 num += id[0] % 10000;
6017 if (id.Length > 1)
6018 {
6019 num += id[1] % 1000;
6020 if (id.Length > 2)
6021 {
6022 num += id[2] % 1000;
6023 if (id.Length > 3)
6024 {
6025 num += id[3] % 1000;
6026 if (id.Length > 4)
6027 {
6028 num += id[4] % 1000;
6029 }
6030 }
6031 }
6032 }
6033 Rand.UseSeed(num, delegate
6034 {
6035 _randColor = EClass.sources.materials.rows[EClass.rnd(90)].matColor;
6036 });
6037 return ref _randColor;
6038 }
static Color _randColor
Definition: Card.cs:93

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

◆ GetRenderParam()

RenderParam Card.GetRenderParam ( )
inline

Definition at line 5940 of file Card.cs.

5941 {
5943 shared.color = 11010048f;
5944 shared.liquidLv = 0;
5945 shared.cell = null;
5946 SetRenderParam(shared);
5947 return shared;
5948 }
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:5950
static RenderParam shared
Definition: RenderParam.cs:5

References RenderParam.shared.

Referenced by EffectIRenderer.OnUpdate().

◆ GetRestrainer()

TraitShackle Card.GetRestrainer ( )
inline

Definition at line 7081 of file Card.cs.

7082 {
7083 foreach (Card item in pos.ListCards())
7084 {
7085 if (item.trait is TraitShackle && item.c_uidRefCard == uid)
7086 {
7087 return item.trait as TraitShackle;
7088 }
7089 }
7090 return null;
7091 }
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 3402 of file Card.cs.

3403 {
3404 if (parent == null)
3405 {
3406 return this;
3407 }
3408 return parent.GetRoot();
3409 }
ICardParent GetRoot()

References ICardParent.GetRoot(), and parent.

Referenced by UIInventory.RefreshMenu().

◆ GetRootCard()

Card Card.GetRootCard ( )
inline

Definition at line 3411 of file Card.cs.

3412 {
3413 if (!(parent is Card card))
3414 {
3415 return this;
3416 }
3417 return card.GetRootCard();
3418 }

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

3611 {
3612 if (socketList != null)
3613 {
3614 foreach (SocketData socket in socketList)
3615 {
3616 if (socket.type == SocketData.Type.Rune && socket.idEle == idEle)
3617 {
3618 return socket;
3619 }
3620 }
3621 }
3622 return null;
3623 }

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

Referenced by Element.AddEncNote().

◆ GetSightRadius()

int Card.GetSightRadius ( )
inline

Definition at line 6363 of file Card.cs.

6364 {
6365 if (IsPC)
6366 {
6367 return EClass.player.lightRadius;
6368 }
6369 return (EClass._map.IsIndoor ? 4 : 5) + (IsPCFaction ? 1 : 0);
6370 }

References EClass._map, Map.IsIndoor, Player.lightRadius, and EClass.player.

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

6041 {
6042 if (trait is TraitAbility)
6043 {
6044 return (trait as TraitAbility).CreateAct()?.GetSprite() ?? EClass.core.refs.icons.defaultAbility;
6045 }
6046 return sourceCard.GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
6047 }
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
virtual int IdSkin
Definition: Trait.cs:45

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

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

◆ GetSubPassData()

virtual SubPassData Card.GetSubPassData ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 6232 of file Card.cs.

6233 {
6234 return SubPassData.Default;
6235 }
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 6792 of file Card.cs.

6793 {
6794 bool flag = isChara && Chara.IsHumanSpeak;
6795 string text = MOD.listTalk.GetTalk(c_idTalk.IsEmpty(id), idTopic, useDefault, flag);
6796 if (!text.IsEmpty())
6797 {
6798 text = text.Split('|').RandomItem();
6799 if (!flag || (IsDeadOrSleeping && IsAliveInCurrentZone))
6800 {
6801 if (!text.StartsWith("(") && !text.StartsWith("*"))
6802 {
6803 text = "(" + text + ")";
6804 }
6805 text = text.Replace("。)", ")");
6806 }
6807 }
6808 return ApplyTone(text, stripPun);
6809 }
virtual bool IsDeadOrSleeping
Definition: Card.cs:2097
string c_idTalk
Definition: Card.cs:1569
bool IsHumanSpeak
Definition: Chara.cs:1015
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 7097 of file Card.cs.

7098 {
7099 int result = 0;
7100 if (row.id == 0)
7101 {
7102 return result;
7103 }
7104 result = row.value * mat.value / 100;
7105 if (result < 0)
7106 {
7107 result = 1;
7108 }
7109 return result;
7110 }
int id
Definition: TileRow.cs:8

References TileRow.id.

Referenced by PartialMap.Save().

◆ GetTotalQuality()

int Card.GetTotalQuality ( bool  applyBonus = true)
inline

Definition at line 3821 of file Card.cs.

3822 {
3823 int num = 5 + LV + material.quality;
3824 if (applyBonus)
3825 {
3826 num = num * (100 + Quality) / 100;
3827 }
3828 return num;
3829 }
int Quality
Definition: Card.cs:2413

References LV, material, and Quality.

Referenced by Hobby.GetEfficiency().

◆ GetValue()

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

Definition at line 7139 of file Card.cs.

7140 {
7141 int num = ((c_fixedValue == 0) ? trait.GetValue() : c_fixedValue);
7142 if (id == "plat" && !sell)
7143 {
7144 num = 10000;
7145 }
7146 if (num == 0)
7147 {
7148 return 0;
7149 }
7150 float num2 = num;
7151 if (priceType == PriceType.CopyShop)
7152 {
7153 num2 += (float)c_priceCopy * 0.2f;
7154 num2 = num2 * (float)Mathf.Max(150 + rarityLv, 150) / 100f;
7155 }
7156 else
7157 {
7158 num2 = num2 * (float)Mathf.Max(100 + rarityLv + Mathf.Min(QualityLv * 10, 200), 80) / 100f;
7159 }
7160 if (IsFood && !material.tag.Contains("food"))
7161 {
7162 num2 *= 0.5f;
7163 }
7164 float num3;
7166 {
7167 if (sell)
7168 {
7169 num2 *= 0.3f;
7170 }
7171 num3 = 2f;
7172 }
7173 else
7174 {
7175 num3 = 0.5f;
7176 }
7177 if (isReplica)
7178 {
7179 num2 *= 0.15f;
7180 }
7181 if (!IsUnique)
7182 {
7183 if (IsEquipmentOrRanged && rarity >= Rarity.Legendary)
7184 {
7185 num2 = Mathf.Max(num2, 1800f + num2 / 5f);
7186 }
7187 num2 = num2 * (100f + num3 * (float)(material.value - 100)) / 100f;
7189 {
7190 int num4 = 0;
7191 foreach (Element value in elements.dict.Values)
7192 {
7193 num4 += value.source.value;
7194 }
7195 num2 = num2 * (float)(100 + (sell ? ((int)MathF.Sqrt(num4) * 10) : num4)) / 100f;
7196 if (rarity >= Rarity.Legendary)
7197 {
7198 num2 = Mathf.Max(num2, 3600f + num2 / 5f);
7199 }
7200 }
7201 }
7202 if (trait is TraitRecipe && sell)
7203 {
7204 num2 *= 0.1f;
7205 }
7206 if (encLV != 0 && !category.tag.Contains("noEnc"))
7207 {
7208 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)))));
7209 }
7210 if (tier > 0)
7211 {
7212 num2 *= (float)(tier + 1);
7213 }
7214 return (int)num2;
7215 }
bool IsEquipmentOrRangedOrAmmo
Definition: Card.cs:2218
int c_fixedValue
Definition: Card.cs:1173
int c_priceCopy
Definition: Card.cs:1161
bool IsEquipmentOrRanged
Definition: Card.cs:2206
int QualityLv
Definition: Card.cs:2415
virtual int GetValue()
Definition: Trait.cs:587

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

2505 {
2506 if (IsPC)
2507 {
2508 return Window.dictData.TryGetValue("LayerInventoryFloatMain0");
2509 }
2511 {
2512 return Window.dictData.TryGetValue("ChestMerchant");
2513 }
2514 return c_windowSaveData;
2515 }
Window.SaveData c_windowSaveData
Definition: Card.cs:1821
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 5758 of file Card.cs.

5759 {
5760 Card card = (ExistsOnMap ? this : (GetRootCard() ?? EClass.pc));
5761 EClass.player.forceTalk = true;
5762 card.Talk("giveBirth");
5763 EClass._zone.TryAddThing(t, card.pos);
5764 if (effect)
5765 {
5766 card.pos.PlayEffect("revive");
5767 card.pos.PlaySound("egg");
5768 PlayAnime(AnimeID.Shiver);
5769 if (isChara)
5770 {
5772 }
5773 }
5774 return t;
5775 }
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:6132
bool TryAddThing(Thing target, Point p, bool destroyIfFail=false)
Definition: Zone.cs:2199

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

7814 : Condition
7815 {
7816 return false;
7817 }

◆ HasCraftBonusTrait()

bool Card.HasCraftBonusTrait ( )
inline

Definition at line 6903 of file Card.cs.

6904 {
6905 return ListCraftBonusTraits().Count > 0;
6906 }
List< Element > ListCraftBonusTraits()
Definition: Card.cs:6908

Referenced by CraftUtil.MixIngredients().

◆ HasEditorTag()

bool Card.HasEditorTag ( EditorTag  tag)
inline

Definition at line 2588 of file Card.cs.

2589 {
2590 return c_editorTags?.Contains(tag.ToString()) ?? false;
2591 }

References c_editorTags.

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

◆ HasElement() [1/2]

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

Definition at line 5881 of file Card.cs.

5882 {
5883 return elements.Value(ele) >= req;
5884 }

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(), TaskMine.CanMine(), TraitAltar.CanOffer(), 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(), CharaBody.IsTooHeavyToEquip(), Recipe.Ingredient.IsValidIngredient(), Religion.JoinFaith(), CalcPlat.Learn(), LevelUp(), Props.ListThingStack(), Thing.ListValidTraits(), CraftUtil.MakeBloodMeal(), RecipeCard.MakeDish(), TraitSeed.MakeSeed(), CraftUtil.MixIngredients(), StatsMana.Mod(), StatsStamina.Mod(), Zone_Casino.OnActivate(), Trait.OnBarter(), AM_Adv.OnBecomeNoGoal(), TraitTent.OnChangePlaceState(), Affinity.OnGift(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgress(), ConSleep.OnRemoved(), InvOwnerGene.OnWriteNote(), ActRanged.Perform(), ActRush.Perform(), ActThrow.Perform(), AttackProcess.Perform(), AttackProcess.Prepare(), FoodEffect.Proc(), ActEffect.Proc(), PurgeDuplicateArtifact(), PurgeEythArtifact(), CoreDebug.QuickStart(), Chara.Refresh(), Chara.RefreshSpeed(), Chara.RequestProtection(), ActRide.Ride(), AI_Idle.Run(), AI_Slaughter.Run(), AI_Steal.Run(), GoalCombat.Run(), Player.SelectDomain(), 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(), HotItemHeld.TrySetToolAct(), GoalCombat.TryThrow(), GoalCombat.TryUseAbility(), CharaBody.Unequip(), and DramaOutcome.upgrade_miscreation().

◆ HasElement() [2/2]

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

Definition at line 5886 of file Card.cs.

5887 {
5888 return HasElement(EClass.sources.elements.alias[id].id, req);
5889 }

References SourceManager.elements, and EClass.sources.

◆ HasElementNoCopy()

bool Card.HasElementNoCopy ( )
inline

Definition at line 5896 of file Card.cs.

5897 {
5898 if (HasElement(764))
5899 {
5900 return true;
5901 }
5902 if (HasElement(759))
5903 {
5904 return true;
5905 }
5906 if (HasElement(703))
5907 {
5908 return true;
5909 }
5910 if (HasElement(758))
5911 {
5912 return true;
5913 }
5914 if (HasElement(704))
5915 {
5916 return true;
5917 }
5918 return false;
5919 }

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

◆ HasGlobalElement()

bool Card.HasGlobalElement ( int  ele)
inline

Definition at line 5891 of file Card.cs.

5892 {
5893 return elements.GetElement(ele)?.IsGlobalElement ?? false;
5894 }
Element GetElement(string alias)
bool IsGlobalElement
Definition: ELEMENT.cs:345

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

Referenced by Evalue().

◆ HasLight()

bool Card.HasLight ( )
inline

Definition at line 6339 of file Card.cs.

6340 {
6341 return GetLightRadius() > 0;
6342 }

◆ HasRune()

bool Card.HasRune ( )
inline

Definition at line 3712 of file Card.cs.

3713 {
3714 return CountRune() > 0;
3715 }

References CountRune().

Referenced by TraitKettle.CanCopy().

◆ HasTag()

◆ HasTalk()

bool Card.HasTalk ( string  idTopic)
inline

Definition at line 6663 of file Card.cs.

6664 {
6665 return !MOD.listTalk.GetTalk(c_idTalk.IsEmpty(id), idTopic, useDefault: true).IsEmpty();
6666 }

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

◆ HaveFur()

bool Card.HaveFur ( )
inline

Definition at line 7819 of file Card.cs.

7820 {
7821 if (!isChara)
7822 {
7823 return false;
7824 }
7825 string text = id;
7826 if (text == "putty_snow" || text == "putty_snow_gold")
7827 {
7828 return true;
7829 }
7830 return !Chara.race.fur.IsEmpty();
7831 }

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

3989 {
3990 long num = a;
3991 if (origin == HealSource.Magic)
3992 {
3993 num = (long)a * (long)Mathf.Max(100 - Evalue(93), 1) / 100;
3994 }
3995 if (num > 100000000)
3996 {
3997 num = 100000000L;
3998 }
3999 hp += (int)num;
4000 if (hp > MaxHP)
4001 {
4002 hp = MaxHP;
4003 }
4004 switch (origin)
4005 {
4006 case HealSource.Magic:
4007 case HealSource.Item:
4008 PlaySound("heal");
4009 PlayEffect("heal");
4010 break;
4011 case HealSource.HOT:
4012 PlaySound("heal_tick");
4013 PlayEffect("heal_tick");
4014 break;
4015 }
4016 }
HealSource
Definition: HealSource.cs:2

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

Referenced by HealHPHost(), StatsMana.Mod(), 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 3972 of file Card.cs.

3973 {
3974 if (isChara)
3975 {
3976 if (Chara.parasite != null)
3977 {
3979 }
3980 if (Chara.ride != null)
3981 {
3982 Chara.ride.HealHP(a);
3983 }
3984 }
3985 HealHP(a, origin);
3986 }
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 7799 of file Card.cs.

7800 {
7801 SE.Play("pop_paper");
7802 if (isChara)
7803 {
7804 LayerChara layerChara = EClass.ui.AddLayerDontCloseOthers<LayerChara>();
7805 layerChara.windows[0].SetRect(EClass.core.refs.rects.center);
7806 layerChara.SetChara(Chara);
7807 }
7808 else
7809 {
7810 EClass.ui.AddLayerDontCloseOthers<LayerInfo>().SetThing(Thing);
7811 }
7812 }
RectData center
Definition: CoreRef.cs:166
Rects rects
Definition: CoreRef.cs:361
static UI ui
Definition: EClass.cs:16
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 2649 of file Card.cs.

2650 {
2651 return GetRootCard() == c;
2652 }

References GetRootCard().

Referenced by AI_OpenGambleChest.IsValid().

◆ IsExcludeFromCraft()

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

Definition at line 2517 of file Card.cs.

2518 {
2519 if ((IsUnique && ing.id != id && !ing.idOther.Contains(id)) || c_isImportant)
2520 {
2521 return true;
2522 }
2523 if (parent is Card card)
2524 {
2525 if (card.trait is TraitChestMerchant)
2526 {
2527 return true;
2528 }
2529 if (card.isSale || !card.trait.CanUseContent)
2530 {
2531 return true;
2532 }
2533 Window.SaveData windowSaveData = card.GetWindowSaveData();
2534 if (windowSaveData != null)
2535 {
2536 return windowSaveData.excludeCraft;
2537 }
2538 }
2539 return false;
2540 }
bool c_isImportant
Definition: Card.cs:1024
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 7658 of file Card.cs.

7659 {
7660 return pos.Distance(EClass.pc.pos) < d;
7661 }

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

3421 {
3422 if (id != tg.id || material != tg.material)
3423 {
3424 return false;
3425 }
3426 return true;
3427 }

References id, and material.

◆ KillAnime()

void Card.KillAnime ( )
inline

Definition at line 6127 of file Card.cs.

6128 {
6130 }
virtual void KillAnime()

References CardRenderer.KillAnime().

Referenced by ActThrow.Throw().

◆ LevelUp()

void Card.LevelUp ( )
inline

Definition at line 2978 of file Card.cs.

2979 {
2980 if (IsPC)
2981 {
2983 {
2984 Msg.Say("demoLimit");
2985 return;
2986 }
2988 Tutorial.Reserve("feat");
2989 }
2990 feat++;
2991 LV++;
2992 Say("dingExp", this);
2993 PlaySound("jingle_lvup");
2994 PlayEffect("aura_heaven");
2995 if (HasElement(1415) && Evalue(1415) < 9 && LV >= Evalue(1415) * 5 + 10)
2996 {
2997 Chara.SetFeat(1415, Evalue(1415) + 1, msg: true);
2998 }
2999 if (IsPC)
3000 {
3001 return;
3002 }
3003 if (Chara.race.id == "mutant")
3004 {
3005 int num = Mathf.Min(1 + LV / 5, 20);
3006 for (int i = 0; i < num; i++)
3007 {
3008 if (Evalue(1644) < i + 1)
3009 {
3010 Chara.SetFeat(1644, i + 1, msg: true);
3011 }
3012 }
3013 }
3014 Chara.TryUpgrade();
3015 }
Version version
Definition: BaseCore.cs:17
int feat
Definition: Card.cs:374
void SetFeat(int id, int value=1, bool msg=false)
Definition: Chara.cs:9724
void TryUpgrade(bool msg=true)
Definition: Chara.cs:8433
int totalFeat
Definition: Player.cs:905
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, Chara.TryUpgrade(), and BaseCore.version.

Referenced by AddExp().

◆ ListCraftBonusTraits()

List< Element > Card.ListCraftBonusTraits ( )
inline

Definition at line 6908 of file Card.cs.

6909 {
6910 List<Element> list = new List<Element>();
6911 string[] tag = sourceCard.tag;
6912 for (int i = 0; i < tag.Length; i++)
6913 {
6914 string[] array = tag[i].Split('/');
6915 if (!(array[0] != "craft_bonus"))
6916 {
6917 Element item = Element.Create(array[1], array[2].ToInt());
6918 list.Add(item);
6919 }
6920 }
6921 return list;
6922 }

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

6181 {
6182 }

Referenced by ActThrow.Throw().

◆ LookAt() [2/2]

virtual void Card.LookAt ( Point  p)
inlinevirtual

Reimplemented in Chara.

Definition at line 6184 of file Card.cs.

6185 {
6186 }

◆ MakeEgg()

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

Definition at line 5704 of file Card.cs.

5705 {
5706 Thing thing = ThingGen.Create((EClass.rnd(EClass.debug.enable ? 1 : fertChance) == 0) ? "egg_fertilized" : "_egg").SetNum(num);
5707 if (!EClass.debug.enable && HasElement(1290) && Evalue(418) >= 0)
5708 {
5709 thing.MakeFoodFrom(EClass.sources.charas.map["caladrius"].model);
5710 }
5711 else
5712 {
5713 thing.MakeFoodFrom(this);
5714 }
5715 thing.c_idMainElement = c_idMainElement;
5716 if (state.HasValue)
5717 {
5718 thing.SetBlessedState(state.Value);
5719 }
5720 if (!addToZone)
5721 {
5722 return thing;
5723 }
5724 return GiveBirth(thing, effect);
5725 }
int c_idMainElement
Definition: Card.cs:1413
Thing GiveBirth(Thing t, bool effect)
Definition: Card.cs:5758
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:3880
Card MakeFoodFrom(string _id)
Definition: Card.cs:5495
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(), and ActEffect.LoveMiracle().

◆ MakeFigureFrom()

void Card.MakeFigureFrom ( string  id)
inline

Definition at line 5681 of file Card.cs.

5682 {
5683 MakeRefFrom(id);
5684 }
Card MakeRefFrom(string id)
Definition: Card.cs:5686

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

◆ MakeFoodFrom() [1/2]

Card Card.MakeFoodFrom ( Card  c)
inline

Definition at line 5500 of file Card.cs.

5501 {
5502 MakeRefFrom(c);
5504 if (!c.isChara)
5505 {
5506 return this;
5507 }
5508 SourceRace.Row race = c.Chara.race;
5509 int num = race.food[0].ToInt();
5510 bool flag = id == "meat_marble";
5511 int num2 = 1;
5512 bool flag2 = category.IsChildOf("meat");
5513 bool flag3 = category.IsChildOf("egg");
5514 if (flag)
5515 {
5516 num += 100;
5517 }
5518 if (flag2)
5519 {
5520 if (c.IsPCFaction && c.IsUnique)
5521 {
5522 num = -100;
5523 }
5524 elements.SetBase(70, race.STR * race.STR / 5 * num / 100 - 10 + num / 10);
5525 if (flag)
5526 {
5527 elements.SetBase(440, race.END * race.END / 5 * num / 100 - 10 + num / 10);
5528 }
5529 elements.SetBase(71, (int)Mathf.Clamp((float)(num / 10) + Mathf.Sqrt(race.height) - 10f, 1f, 60f));
5530 }
5531 else if (flag3)
5532 {
5533 elements.SetBase(444, race.LER * race.LER / 5 * num / 100 - 10 + num / 10);
5534 num2 = 2;
5535 }
5536 else
5537 {
5538 num2 = 3;
5539 }
5540 if (flag2)
5541 {
5542 if (c.Chara.IsHuman)
5543 {
5544 elements.SetBase(708, 1);
5545 }
5546 if (c.Chara.IsUndead)
5547 {
5548 elements.SetBase(709, 1);
5549 }
5550 }
5551 foreach (Element value in c.elements.dict.Values)
5552 {
5553 if ((!flag3 || value.id != 1229) && (value.source.category == "food" || value.source.tag.Contains("foodEnc") || value.IsTrait))
5554 {
5555 elements.SetBase(value.id, value.Value);
5556 }
5557 }
5558 List<Tuple<int, int>> list = new List<Tuple<int, int>>();
5559 foreach (KeyValuePair<int, int> item in race.elementMap)
5560 {
5561 if (EClass.sources.elements.map[item.Key].tag.Contains("primary"))
5562 {
5563 list.Add(new Tuple<int, int>(item.Key, item.Value));
5564 }
5565 }
5566 list.Sort((Tuple<int, int> a, Tuple<int, int> b) => b.Item2 - a.Item2);
5567 for (int i = 0; i < num2 && i < list.Count; i++)
5568 {
5569 Tuple<int, int> tuple = list[i];
5570 elements.SetBase(tuple.Item1, tuple.Item2 * tuple.Item2 / 4);
5571 }
5572 if (c.Chara.IsUndead)
5573 {
5574 elements.ModBase(73, -20);
5575 }
5576 isWeightChanged = true;
5577 c_weight = race.height * 4 + 100;
5580 int num3 = c.LV - c.sourceCard.LV;
5581 if (num3 < 0)
5582 {
5583 num3 = 0;
5584 }
5585 num3 = EClass.curve(num3, 10, 10, 80);
5586 if (c.rarity >= Rarity.Legendary || c.IsUnique)
5587 {
5588 num3 += 60;
5589 }
5590 if (flag2 && c.IsPCFaction && c.IsUnique)
5591 {
5592 num3 = 0;
5593 }
5594 if (num3 > 0)
5595 {
5596 elements.ModBase(2, num3);
5597 }
5598 return this;
5599 }
bool IsHuman
Definition: Chara.cs:879
bool IsUndead
Definition: Chara.cs:891
Element SetBase(string alias, int v, int potential=0)
int Value
Definition: ELEMENT.cs:292
bool IsTrait
Definition: ELEMENT.cs:362
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 5495 of file Card.cs.

5496 {
5497 return MakeFoodFrom(EClass.sources.cards.map[_id].model);
5498 }
Dictionary< string, CardRow > map
Definition: SourceCard.cs:8
SourceCard cards

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

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

◆ MakeFoodRef()

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

Definition at line 5601 of file Card.cs.

5602 {
5603 Card card = c1;
5604 Card card2 = c2;
5605 if (IsIgnoreName(card))
5606 {
5607 card = null;
5608 }
5609 if (IsIgnoreName(card2))
5610 {
5611 card2 = null;
5612 }
5613 if (card == null && card2 != null)
5614 {
5615 card = card2;
5616 card2 = null;
5617 }
5618 if (card != null)
5619 {
5620 MakeRefFrom(card, card2);
5621 if (card.c_idRefCard != null)
5622 {
5623 c_idRefCard = card.c_idRefCard;
5625 }
5626 if (card2 != null && card2.c_idRefCard != null)
5627 {
5628 c_idRefCard2 = card2.c_idRefCard;
5629 c_altName2 = TryGetFoodName(card2);
5630 }
5631 }
5632 static bool IsIgnoreName(Card c)
5633 {
5634 if (c == null)
5635 {
5636 return true;
5637 }
5638 switch (c.id)
5639 {
5640 case "dough_cake":
5641 case "dough_bread":
5642 case "noodle":
5643 case "flour":
5644 case "rice":
5645 return true;
5646 default:
5647 return false;
5648 }
5649 }
5650 }
string c_altName
Definition: Card.cs:1593
string TryGetFoodName(Card c)
Definition: Card.cs:5652
string c_altName2
Definition: Card.cs:1605
string c_idRefCard2
Definition: Card.cs:1749
string c_idRefCard
Definition: Card.cs:1737

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

5728 {
5729 Thing thing = ThingGen.Create("milk").SetNum(num);
5730 if (!EClass.debug.enable && HasElement(1290) && Evalue(418) >= 0)
5731 {
5732 thing.MakeRefFrom(EClass.sources.charas.map["caladrius"].model);
5733 }
5734 else
5735 {
5736 thing.MakeRefFrom(this);
5737 }
5738 if (state.HasValue)
5739 {
5740 thing.SetBlessedState(state.Value);
5741 }
5742 int num2 = LV - sourceCard.LV;
5744 {
5745 num2 = 0;
5746 }
5747 if (num2 >= 10 && !HasElement(1290))
5748 {
5749 thing.SetEncLv(num2 / 10);
5750 }
5751 if (!addToZone)
5752 {
5753 return thing;
5754 }
5755 return GiveBirth(thing, effect);
5756 }
void SetEncLv(int a)
Definition: Card.cs:3849

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 
)
inline

Definition at line 5692 of file Card.cs.

5693 {
5694 c_idRefCard = c1.id;
5695 c_altName = (c1.IsPC ? c1.c_altName : c1.GetName(NameStyle.Ref, (!c1.isChara) ? 1 : 0));
5696 if (c2 != null)
5697 {
5698 c_idRefCard2 = c2.id;
5699 c_altName2 = (c2.IsPC ? c2.c_altName : c2.GetName(NameStyle.Ref, (!c2.isChara) ? 1 : 0));
5700 }
5701 c_extraNameRef = (c1.IsPC ? EClass.pc.c_altName : c1.c_extraNameRef);
5702 }
NameStyle
Definition: NameStyle.cs:2
virtual string GetName(NameStyle style, int num=-1)
Definition: Card.cs:2603
string c_extraNameRef
Definition: Card.cs:1617

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

◆ MakeRefFrom() [2/2]

Card Card.MakeRefFrom ( string  id)
inline

◆ MatchEncSearch()

virtual bool Card.MatchEncSearch ( string  s)
inlinevirtual

Reimplemented in Thing.

Definition at line 7689 of file Card.cs.

7690 {
7691 return false;
7692 }

◆ MaxRune()

int Card.MaxRune ( )
inline

Definition at line 3641 of file Card.cs.

3642 {
3643 return ((!IsUnique && !isReplica) ? 1 : 0) + Evalue(484);
3644 }

References Evalue(), isReplica, and IsUnique.

Referenced by CanAddRune().

◆ Mod()

void Card.Mod ( )
inline

Definition at line 2499 of file Card.cs.

2500 {
2501 isModified = true;
2502 }
bool isModified
Definition: Card.cs:470

References isModified.

◆ ModCharge()

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

Definition at line 3935 of file Card.cs.

3936 {
3937 c_charges += a;
3939 if (c_charges <= 0 && destroy)
3940 {
3941 Say("spellbookCrumble", this);
3942 ModNum(-1);
3943 }
3944 }
void ModNum(int a, bool notify=true)
Definition: Card.cs:3500

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

3947 {
3948 if (a != 0)
3949 {
3950 if (id == "influence")
3951 {
3953 return;
3954 }
3955 SourceMaterial.Row mat = null;
3956 things.AddCurrency(this, id, a, mat);
3957 }
3958 }
void AddCurrency(Card owner, string id, int a, SourceMaterial.Row mat=null)
void ModInfluence(int a)
Definition: Zone.cs:3578

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

3832 {
3833 ApplyMaterialElements(remove: true);
3834 encLV += a;
3835 ApplyMaterialElements(remove: false);
3837 {
3838 if (IsWeapon || IsAmmo)
3839 {
3840 elements.ModBase(67, a);
3841 }
3842 else
3843 {
3844 elements.ModBase(65, a * 2);
3845 }
3846 }
3847 }
bool IsAmmo
Definition: Card.cs:2235

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

2642 {
2643 if (isChara)
2644 {
2645 elements.ModExp(ele, a);
2646 }
2647 }

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

◆ ModExp() [2/2]

◆ ModNum()

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

Definition at line 3500 of file Card.cs.

3501 {
3502 if (Num + a < 0)
3503 {
3504 a = -Num;
3505 }
3506 Num += a;
3507 if (props != null)
3508 {
3509 props.OnNumChange(this, a);
3510 }
3511 if (parent != null)
3512 {
3514 }
3515 if (a > 0 && EClass.core.IsGameStarted && GetRootCard() == EClass.pc && notify)
3516 {
3518 }
3520 if (Num <= 0)
3521 {
3522 Destroy();
3523 }
3524 }
Props props
Definition: Card.cs:51
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(), 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(), DramaManager.ParseLine(), 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 5794 of file Card.cs.

5795 {
5796 if (p == null)
5797 {
5798 return;
5799 }
5800 EClass._map.MoveCard(p, this);
5801 if (!IsPC || focus)
5802 {
5803 renderer.SetFirst(first: true, p.PositionCenter());
5804 }
5805 if (isChara)
5806 {
5807 if (cancelAI)
5808 {
5809 Chara.ai.Cancel();
5810 }
5811 Chara.SyncRide();
5812 }
5813 if (IsPC && focus)
5814 {
5817 }
5818 }
virtual void RefreshPosition()
virtual void SetFirst(bool first, Vector3 pos)
static BaseGameScreen screen
Definition: EClass.cs:32
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 Chara.Kick(), FactionBranch.OnActivateZone(), FactionBranch.OnAfterSimulate(), AI_Sleep.OnProgressComplete(), GoalGraze.OnSimulatePosition(), GoalSleep.OnSimulatePosition(), GoalWork.OnSimulatePosition(), TraitShackle.OnUse(), ActRush.Perform(), LayerTravel.Refresh(), AI_Trolley.Run(), Meeting.SetChara(), MeetingManager.Start(), ConSleep.Tick(), and ActRide.Unride().

◆ NotifyAddThing()

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

Definition at line 3085 of file Card.cs.

3086 {
3087 }

Referenced by AddThing(), and ModNum().

◆ OnBeforeCreate()

virtual void Card.OnBeforeCreate ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 2831 of file Card.cs.

2832 {
2833 }

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

2836 {
2837 }

Referenced by Create().

◆ OnDeserialized()

virtual void Card.OnDeserialized ( )
inlineprotectedvirtual

Reimplemented in Chara.

Definition at line 2717 of file Card.cs.

2718 {
2719 }

Referenced by _OnDeserialized().

◆ OnInspect()

void Card.OnInspect ( )
inline

Implements IInspect.

Definition at line 7791 of file Card.cs.

7792 {
7793 }

◆ OnLand()

virtual void Card.OnLand ( )
inlinevirtual

Definition at line 5862 of file Card.cs.

5863 {
5865 {
5866 PlayEffect("ripple");
5867 PlaySound("Footstep/water");
5868 }
5869 }
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 2674 of file Card.cs.

2675 {
2676 }

Referenced by _OnSerializing().

◆ OnSimulateHour()

virtual void Card.OnSimulateHour ( VirtualDate  date)
inlinevirtual

Definition at line 6539 of file Card.cs.

6540 {
6541 trait.OnSimulateHour(date);
6542 if (date.IsRealTime)
6543 {
6544 DecayNatural();
6545 }
6546 }
virtual void OnSimulateHour(VirtualDate date)
Definition: Trait.cs:691
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 6137 of file Card.cs.

6138 {
6139 renderer.PlayAnime(id, dest);
6140 }

References CardRenderer.PlayAnime().

◆ PlayAnimeLoot()

void Card.PlayAnimeLoot ( )
inline

Definition at line 6142 of file Card.cs.

6143 {
6145 }

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

6158 {
6159 Effect effect = Effect.Get("Element/" + EClass.sources.elements.map[ele].alias);
6160 if (effect == null)
6161 {
6162 Debug.Log(ele);
6163 return;
6164 }
6165 Card rootCard = GetRootCard();
6166 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));
6167 }
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:115
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 6147 of file Card.cs.

6148 {
6149 if (id.IsEmpty())
6150 {
6151 return null;
6152 }
6153 Card rootCard = GetRootCard();
6154 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));
6155 }

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

◆ PlaySound()

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

Definition at line 6113 of file Card.cs.

6114 {
6115 Card rootCard = GetRootCard();
6116 if (rootCard.IsPC)
6117 {
6118 spatial = false;
6119 }
6120 if (rootCard.Dist(EClass.pc) < EClass.player.lightRadius + 1 || !spatial)
6121 {
6122 return rootCard.pos.PlaySound(id, isSynced || !spatial, v, spatial);
6123 }
6124 return null;
6125 }

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(), CardRenderer.Draw(), TraitDye.Dye(), CharaBody.Equip(), AI_Fuck.Finish(), AI_Massage.Finish(), Chara.GiveGift(), Chara.GiveLovePotion(), HealHP(), TraitChopper.IdleUse(), TraitGamble.IdleUse(), Trait.Install(), 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(), TraitBookSecret.OnRead(), TraitDeedRelocate.OnRead(), TraitDiary.OnRead(), TraitIndulgence.OnRead(), ConSleep.OnRemoved(), TraitJukeBox.OnSetBGM(), TraitToolTorch.OnSetCurrentItem(), TraitClock.OnSimulateHour(), TraitFertilizer.OnSimulateHour(), AI_Fish.ProgressFish.OnStart(), ConBoost.OnStart(), TraitMiniPool.OnStepped(), TraitSwing.OnSteppedOut(), TraitLeverBreaker.OnToggle(), Scene.OnUpdate(), TraitDaggerGrave.OnUse(), TraitEquipItem.OnUse(), TraitGeneMachine.OnUse(), TraitGiftJure.OnUse(), TraitStairsLocked.OnUse(), TraitWhistlePeace.OnUse(), TraitFoodMeat.OnUse(), DramaManager.ParseLine(), ActBash.Perform(), ActClearWater.Perform(), ActCryRage.Perform(), ActCrySad.Perform(), ActDrawWater.Perform(), ActDreamBug.Perform(), ActMissileBarrage.Perform(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.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(), ZoneEventSiege.SpawnMob(), ActThrow.Throw(), ConBurning.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 CoreDebug.UpdateInput().

◆ PlaySoundDead()

void Card.PlaySoundDead ( bool  spatial = true)
inline

Definition at line 6108 of file Card.cs.

6109 {
6110 PlaySound(material.GetSoundDead(sourceCard), 1f, spatial);
6111 }

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

6094 {
6095 PlaySound(material.GetSoundDrop(sourceCard), 1f, spatial);
6096 }

References material.

◆ PlaySoundImpact()

void Card.PlaySoundImpact ( bool  spatial = true)
inline

Definition at line 6103 of file Card.cs.

6104 {
6105 PlaySound(material.GetSoundImpact(sourceCard), 1f, spatial);
6106 }

References material.

Referenced by TaskChopWood.OnCreateProgress().

◆ PurgeDuplicateArtifact()

void Card.PurgeDuplicateArtifact ( Thing  af)
inline

Definition at line 3207 of file Card.cs.

3208 {
3209 if (af.isReplica)
3210 {
3211 return;
3212 }
3213 List<Chara> list = new List<Chara>();
3214 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
3215 {
3216 foreach (Chara member in child.members)
3217 {
3218 list.Add(member);
3219 }
3220 }
3221 foreach (Chara chara in EClass._map.charas)
3222 {
3223 list.Add(chara);
3224 }
3225 if (EClass.pc.IsEyth && EClass.pc.HasElement(1228))
3226 {
3227 foreach (Chara item in list)
3228 {
3229 if (item.IsPCFactionOrMinion)
3230 {
3231 List<Thing> list2 = item.things.List((Thing t) => t.HasTag(CTAG.godArtifact) && t != af && !t.isReplica && t.c_idDeity == EClass.pc.faith.id);
3232 if (list2.Count != 0)
3233 {
3234 foreach (Thing item2 in list2)
3235 {
3236 Msg.Say("destroyed_inv_", item2, item);
3237 item2.Destroy();
3238 }
3239 }
3240 }
3241 }
3242 return;
3243 }
3244 foreach (Chara item3 in list)
3245 {
3246 if (!item3.IsPCFactionOrMinion)
3247 {
3248 continue;
3249 }
3250 List<Thing> list3 = item3.things.List((Thing t) => t.id == af.id && t != af && !t.isReplica);
3251 if (list3.Count == 0)
3252 {
3253 continue;
3254 }
3255 foreach (Thing item4 in list3)
3256 {
3257 Msg.Say("destroyed_inv_", item4, item3);
3258 item4.Destroy();
3259 }
3260 }
3261 }
string c_idDeity
Definition: Card.cs:1581
bool IsEyth
Definition: Chara.cs:1052
Faction faction
Definition: Chara.cs:427
List< Chara > members
List< FactionBranch > GetChildren()
Definition: FACTION.cs:202
virtual string id
Definition: Religion.cs:26
List< Thing > List(Func< Thing, bool > func, bool onlyAccessible=false)

References EClass._map, c_idDeity, Map.charas, Destroy(), Chara.faction, Chara.faith, Faction.GetChildren(), HasElement(), HasTag(), id, Religion.id, Chara.IsEyth, IsPCFactionOrMinion, isReplica, item, ThingContainer.List(), FactionBranch.members, EClass.pc, Msg.Say(), and things.

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

◆ PurgeEythArtifact()

void Card.PurgeEythArtifact ( )
inline

Definition at line 3263 of file Card.cs.

3264 {
3265 if (!EClass.pc.IsEyth || !EClass.pc.HasElement(1228))
3266 {
3267 return;
3268 }
3269 List<Chara> list = new List<Chara>();
3270 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
3271 {
3272 foreach (Chara member in child.members)
3273 {
3274 list.Add(member);
3275 }
3276 }
3277 foreach (Chara chara in EClass._map.charas)
3278 {
3279 list.Add(chara);
3280 }
3281 foreach (Chara item in list)
3282 {
3283 if (item.IsPCFactionOrMinion)
3284 {
3285 Thing thing = item.things.Find((Thing t) => t.HasTag(CTAG.godArtifact) && t.c_idDeity == "eyth");
3286 if (thing != null)
3287 {
3289 }
3290 break;
3291 }
3292 }
3293 }

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

2722 {
2723 return "c" + uid;
2724 }

References uid.

◆ RefreshColor()

void Card.RefreshColor ( )
inline

Definition at line 5971 of file Card.cs.

5972 {
5973 if (isChara)
5974 {
5975 if (isDyed)
5976 {
5978 }
5979 else if (isElemental)
5980 {
5982 }
5983 else
5984 {
5985 _colorInt = 104025;
5986 }
5987 }
5988 else if (isDyed)
5989 {
5991 {
5993 }
5994 else
5995 {
5997 }
5998 }
6000 {
6002 }
6004 {
6006 }
6007 else
6008 {
6010 }
6011 }
static int GetColorInt(ref Color matColor, int p)
bool isElemental
Definition: Card.cs:722
SourceMaterial.Row DyeMat
Definition: Card.cs:1928
virtual CardRow sourceRenderCard
Definition: Card.cs:2121
ref Color GetRandomColor()
Definition: Card.cs:6013
static GameSetting setting
Definition: EClass.cs:34
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 6977 of file Card.cs.

6978 {
6979 if (c_idBacker == 164)
6980 {
6981 Chara.things.Find("amulet_moonnight")?.Destroy();
6982 }
6983 c_idBacker = 0;
6984 }

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

3081 {
3082 RemoveThing(c as Thing);
3083 }
void RemoveThing(Thing thing)
Definition: Card.cs:3303

References RemoveThing().

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

◆ RemoveEditorTag()

void Card.RemoveEditorTag ( EditorTag  tag)
inline

Definition at line 2598 of file Card.cs.

2599 {
2600 c_editorTags = (c_editorTags.IsEmpty() ? null : c_editorTags.Replace(tag.ToString(), "").Replace(",,", ","));
2601 }

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

3304 {
3305 Card rootCard = GetRootCard();
3306 if (rootCard != null && rootCard.isChara && (rootCard.Chara.held == thing || (rootCard.IsPC && thing.things.Find((Thing t) => EClass.pc.held == t) != null)))
3307 {
3308 rootCard.Chara.held = null;
3309 if (rootCard.IsPC)
3310 {
3312 if ((bool)instance && instance.selected != -1 && instance.selectedButton.card != null && instance.selectedButton.card == thing)
3313 {
3314 instance.selectedButton.card = null;
3315 }
3317 ActionMode.AdvOrRegion.updatePlans = true;
3318 LayerInventory.SetDirty(thing);
3319 }
3321 }
3322 dirtyWeight = true;
3323 if (thing.c_equippedSlot != 0 && isChara)
3324 {
3325 Chara.body.Unequip(thing);
3326 }
3327 things.Remove(thing);
3328 things.OnRemove(thing);
3329 if (isSale && things.Count == 0 && IsContainer)
3330 {
3331 isSale = false;
3332 EClass._map.props.sales.Remove(this);
3333 }
3334 if (thing.invY == 1)
3335 {
3336 WidgetCurrentTool.dirty = true;
3337 }
3338 thing.invX = -1;
3339 thing.invY = 0;
3340 if (thing.props != null)
3341 {
3342 thing.props.Remove(thing);
3343 }
3346 {
3347 LayerInventory.SetDirty(thing);
3348 WidgetHotbar.dirtyCurrentItem = true;
3349 thing.parent = null;
3350 if (thing.trait.IsContainer)
3351 {
3352 foreach (LayerInventory item in LayerInventory.listInv.Copy())
3353 {
3354 if (item.invs[0].owner.Container.GetRootCard() != EClass.pc && item.floatInv)
3355 {
3356 EClass.ui.layerFloat.RemoveLayer(item);
3357 }
3358 }
3359 }
3360 }
3361 thing.parent = null;
3362 }
Card card
Definition: ButtonGrid.cs:24
int c_equippedSlot
Definition: Card.cs:952
int invY
Definition: Card.cs:1943
bool isSale
Definition: Card.cs:866
void RecalculateFOV()
Definition: Card.cs:6325
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:2191
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:212
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 3295 of file Card.cs.

3296 {
3297 for (int num = things.Count - 1; num >= 0; num--)
3298 {
3299 RemoveThing(things[num]);
3300 }
3301 }

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

6262 {
6263 if (dir != -1)
6264 {
6265 this.dir = dir;
6266 }
6267 Vector3 v = point.Position();
6268 bool skipRender = point.cell.skipRender;
6269 if (result != 0 && EClass.screen.guide.isActive && !skipRender)
6270 {
6271 EClass.screen.guide.passGuideBlock.Add(ref v, (point.HasObj || point.HasChara) ? 5 : 0);
6272 }
6273 if (!main)
6274 {
6275 return;
6276 }
6277 RenderParam renderParam = GetRenderParam();
6279 {
6280 renderParam.x = v.x;
6281 renderParam.y = v.y;
6282 renderParam.z = v.z;
6283 EClass.screen.tileMap.SetRoofHeight(renderParam, point.cell, point.x, point.z);
6284 v.x = renderParam.x;
6285 v.y = renderParam.y;
6286 v.z = renderParam.z;
6287 }
6289 {
6290 TileType.GetMountHeight(ref v, point, this.dir, this);
6291 }
6292 v.z += EClass.setting.render.thingZ;
6293 if (!skipRender)
6294 {
6295 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
6296 if (freePos)
6297 {
6298 v.x += fx;
6299 v.y += fy;
6300 v.z += thingPosition.z;
6301 }
6302 else
6303 {
6304 v += thingPosition;
6305 }
6306 }
6307 if (useCurrentPosition)
6308 {
6309 v = renderer.position;
6310 v.z += -0.01f;
6311 }
6312 if (TileType == TileType.Door)
6313 {
6314 v.z -= 0.5f;
6315 }
6316 renderParam.matColor = (active ? EClass.Colors.blockColors.Active : EClass.Colors.blockColors.Inactive);
6317 point.ApplyAnime(ref v);
6318 if (renderer.hasActor)
6319 {
6321 }
6322 renderer.Draw(renderParam, ref v, drawShadow: false);
6323 }
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:53
CardActor actor
Definition: CardRenderer.cs:11
float fy
Definition: Card.cs:266
float fx
Definition: Card.cs:254
RenderParam GetRenderParam()
Definition: Card.cs:5940
bool freePos
Definition: Card.cs:518
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:383
virtual bool UseMountHeight
Definition: TileType.cs:221
static TileTypeDoor Door
Definition: TileType.cs:95

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

5877 {
5878 return Element.GetResistLv(Evalue(res));
5879 }
static int GetResistLv(int v)
Definition: ELEMENT.cs:1128

References Element.GetResistLv().

Referenced by ActEffect.ProcAt().

◆ ResistLvFrom()

int Card.ResistLvFrom ( int  ele)
inline

Definition at line 5871 of file Card.cs.

5872 {
5873 return ResistLv(EClass.sources.elements.alias.TryGetValue(EClass.sources.elements.map[ele].aliasRef)?.id ?? 0);
5874 }

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

6189 {
6190 int num = 4;
6191 if (sourceCard.tiles.Length > 4)
6192 {
6193 num = sourceCard.tiles.Length;
6194 }
6195 if (TileType == TileType.Door)
6196 {
6197 num = 2;
6198 }
6199 if (reverse)
6200 {
6201 dir--;
6202 }
6203 else
6204 {
6205 dir++;
6206 }
6207 if (dir < 0)
6208 {
6209 dir = num - 1;
6210 }
6211 if (dir == num)
6212 {
6213 dir = 0;
6214 }
6215 SetDir(dir);
6217 }
void RefreshSprite()
virtual void SetDir(int d)
Definition: Card.cs:6169
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 6774 of file Card.cs.

6775 {
6776 if (ShouldShowMsg)
6777 {
6778 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, c2, ref1, ref2);
6779 }
6780 Msg.SetColor();
6781 }
bool ShouldShowMsg
Definition: Card.cs:2442
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 6783 of file Card.cs.

6784 {
6785 if (ShouldShowMsg)
6786 {
6787 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, ref1, ref2);
6788 }
6789 Msg.SetColor();
6790 }

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

6766 {
6767 if (ShouldShowMsg)
6768 {
6769 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, ref1, ref2);
6770 }
6771 Msg.SetColor();
6772 }

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(), CharaBody.Equip(), AI_Fish.ProgressFish.Fail(), AI_Fuck.Finish(), AI_Massage.Finish(), ActEffect.GeneMiracle(), Chara.GiveGift(), Chara.GiveLovePotion(), TraitGamble.IdleUse(), Condition.Kill(), LevelUp(), ActEffect.LoveMiracle(), Chara.MakeAlly(), CraftUtil.MakeBloodMeal(), AI_Fish.Makefish(), 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(), 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(), DramaManager.ParseLine(), ActBash.Perform(), ActClearWater.Perform(), ActCryRage.Perform(), ActCrySad.Perform(), ActDrawWater.Perform(), ActDreamBug.Perform(), ActMissileBarrage.Perform(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.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(), ConInsane.Tick(), ConSleep.Tick(), Trait.Toggle(), TraitDoorAutoShoji.ToggleDoor(), TraitToolTorch.ToggleOn(), Zone.TryAddThingInSharedContainer(), AIAct.TryCancel(), TraitSwitch.TryDisarmTrap(), ThingGen.TryLickChest(), Thing.TryLickEnchant(), BaseCondition.TryNullify(), TraitDoor.TryOpen(), Trait.TryOpenLock(), ActPray.TryPray(), TraitBaseSpellbook.TryProgress(), ActRanged.TryReload(), TraitDoor.TrySetAct(), TraitWell.TrySetAct(), CharaBody.Unequip(), CharaBody.UnqeuipIfTooHeavy(), and ActRide.Unride().

◆ SayNothingHappans()

◆ SayRaw()

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

Definition at line 6744 of file Card.cs.

6745 {
6746 if (isSynced && !text.IsEmpty())
6747 {
6748 if (ref1 != null)
6749 {
6750 text = text.Replace("#1", ref1);
6751 }
6752 if (ref2 != null)
6753 {
6754 text = text.Replace("#2", ref2);
6755 }
6756 HostRenderer.Say(text);
6757 }
6758 }
void Say(string text, Color c=default(Color), float duration=0f)
CardRenderer HostRenderer
Definition: Card.cs:2430

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

◆ SecondaryCompare()

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

Definition at line 7725 of file Card.cs.

7726 {
7727 int num = 0;
7728 if (num == 0)
7729 {
7730 num = id.CompareTo(c.id);
7731 }
7732 if (num == 0)
7733 {
7734 num = trait.CompareTo(c);
7735 }
7736 if (num == 0)
7737 {
7738 num = Lang.comparer.Compare(GetName(NameStyle.Full, 1), c.GetName(NameStyle.Full, 1));
7739 }
7740 if (num == 0)
7741 {
7742 num = refVal - c.refVal;
7743 }
7744 if (num == 0)
7745 {
7746 num = c_charges - c.c_charges;
7747 }
7748 if (num == 0)
7749 {
7750 num = encLV - c.encLV;
7751 }
7752 if (num == 0)
7753 {
7754 num = Num - c.Num;
7755 }
7756 if (num == 0)
7757 {
7758 num = uid - c.uid;
7759 }
7760 return num;
7761 }
static NaturalStringComparer comparer
Definition: Lang.cs:22
virtual int CompareTo(Card b)
Definition: Trait.cs:719

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

3881 {
3882 int num = 0;
3883 if (s == BlessedState.Blessed && blessedState < BlessedState.Blessed)
3884 {
3885 num = 1;
3886 }
3887 if (s < BlessedState.Blessed && blessedState == BlessedState.Blessed)
3888 {
3889 num = -1;
3890 }
3891 if (num != 0 && IsEquipmentOrRangedOrAmmo)
3892 {
3893 if (IsWeapon || IsAmmo)
3894 {
3895 elements.ModBase(67, num);
3896 }
3897 else
3898 {
3899 elements.ModBase(65, num * 2);
3900 }
3901 }
3902 blessedState = s;
3903 }

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

7664 {
7665 isCensored = enable;
7667 {
7668 isCensored = false;
7669 }
7671 }
void SetCensored(bool enable)
bool isCensored
Definition: Card.cs:434
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 7673 of file Card.cs.

7674 {
7675 if (isDeconstructing != deconstruct)
7676 {
7677 if (deconstruct)
7678 {
7679 EClass._map.props.deconstructing.Add(this);
7680 }
7681 else
7682 {
7683 EClass._map.props.deconstructing.Remove(this);
7684 }
7685 isDeconstructing = deconstruct;
7686 }
7687 }
bool isDeconstructing
Definition: Card.cs:446
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 6169 of file Card.cs.

6170 {
6171 dir = d;
6173 }

References CardRenderer.RefreshSprite().

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

◆ SetDirtyWeight()

void Card.SetDirtyWeight ( )
inline

Definition at line 2542 of file Card.cs.

2543 {
2545 {
2546 EClass.player.wasDirtyWeight = true;
2547 }
2548 dirtyWeight = true;
2549 (parent as Card)?.SetDirtyWeight();
2550 }

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

6238 {
6239 freePos = EClass.game.config.FreePos && isThing && TileType.FreeStyle && !sourceCard.multisize && !EClass.scene.actionMode.IsRoofEditMode(this);
6240 if (freePos)
6241 {
6242 Vector3 vector = point.Position();
6243 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
6244 fx = EInput.mposWorld.x + EClass.setting.render.freePosFix.x;
6245 fy = EInput.mposWorld.y + EClass.setting.render.freePosFix.y;
6247 {
6248 fx -= fx % 0.2f;
6249 fy -= fy % 0.1f;
6250 }
6251 fx = fx - vector.x + thingPosition.x;
6252 fy = fy - vector.y + thingPosition.y;
6253 }
6254 else
6255 {
6256 float num2 = (fy = 0f);
6257 fx = num2;
6258 }
6259 }
bool snapFreePos
Definition: Game.cs:33
Config config
Definition: Game.cs:218

References Scene.actionMode, Game.config, GameSetting.RenderSetting.freePosFix, EClass.game, BaseTileMap.GetThingPosition(), ActionMode.IsRoofEditMode(), Point.Position(), GameSetting.render, EClass.scene, 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 5777 of file Card.cs.

5778 {
5779 isHidden = hide;
5780 pos.cell.Refresh();
5781 return this;
5782 }
bool isHidden
Definition: Card.cs:530
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 6059 of file Card.cs.

6060 {
6061 if (trait is TraitAbility)
6062 {
6063 (trait as TraitAbility).act.SetImage(image);
6064 return;
6065 }
6066 Sprite sprite = GetSprite();
6067 if (!c_idSpriteReplacer.IsEmpty())
6068 {
6069 SpriteReplacer spriteReplacer = SpriteReplacer.dictSkins.TryGetValue(c_idSpriteReplacer);
6070 if (spriteReplacer != null)
6071 {
6072 RenderData renderData = ResourceCache.Load<RenderData>("Scene/Render/Data/chara_custom_" + ((spriteReplacer.data.GetSprite().texture.height <= 128) ? "128" : "256"));
6073 sprite = spriteReplacer.data.GetSprite();
6074 sourceRenderCard.SetImage(image, sprite, colorInt, setNativeSize: true, 0, 0, renderData, spriteReplacer.data.pref ?? Pref);
6075 return;
6076 }
6077 }
6078 sourceRenderCard.SetImage(image, sprite, colorInt, setNativeSize: true, 0, 0, this);
6079 }
string c_idSpriteReplacer
Definition: Card.cs:1557
int colorInt
Definition: Card.cs:108
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 2889 of file Card.cs.

2890 {
2891 bool flag = a > LV;
2892 LV = a;
2893 if (!isChara)
2894 {
2895 return this;
2896 }
2897 isScaled = true;
2898 Rand.SetSeed(uid);
2899 ElementContainer elementContainer = new ElementContainer();
2900 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.job.elementMap, LV);
2901 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.race.elementMap, LV);
2902 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.source.elementMap, 1, invert: false, applyFeat: true);
2903 foreach (Element value in elements.dict.Values)
2904 {
2905 int num = elementContainer.Value(value.id);
2906 if (num != 0)
2907 {
2908 int num2 = num - value.ValueWithoutLink;
2909 if (num2 != 0)
2910 {
2911 elements.ModBase(value.id, num2);
2912 }
2913 }
2914 }
2915 if (flag)
2916 {
2918 }
2919 Rand.SetSeed();
2920 hp = MaxHP;
2921 Chara.mana.value = Chara.mana.max;
2924 return this;
2925 }
SourceValueType
void ClampInitialSkill()
Definition: Card.cs:2927
bool isScaled
Definition: Card.cs:914
SourceJob.Row job
Definition: Chara.cs:466
void CalculateMaxStamina()
Definition: Chara.cs:1996
SourceChara.Row source
Definition: Chara.cs:158
void ApplyElementMap(int uid, SourceValueType type, Dictionary< int, int > map, int lv, bool invert=false, bool applyFeat=false)
int ValueWithoutLink
Definition: ELEMENT.cs:294

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

3495 {
3496 noSell = true;
3497 return this as Thing;
3498 }

References noSell, and Thing.

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

◆ SetNum()

Thing Card.SetNum ( int  a)
inline

Definition at line 3480 of file Card.cs.

3481 {
3482 if (!isThing)
3483 {
3484 return null;
3485 }
3486 if (a == Num)
3487 {
3488 return this as Thing;
3489 }
3490 ModNum(a - Num);
3491 return this as Thing;
3492 }

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(), QuestVernis.OnChangePhase(), TraitBrewery.OnChildDecay(), QuestCurry.OnComplete(), QuestLoytelFarm.OnComplete(), QuestNasu.OnComplete(), 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_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 6986 of file Card.cs.

6987 {
6988 EClass.ui.Hide(0f);
6990 {
6994 {
6995 EClass.ui.Show(0f);
6996 });
6997 });
6998 }
void WaitForEndOfFrame(Action action)
Definition: BaseCore.cs:61
byte[] GetPaintData()
Definition: Card.cs:7000
void ClearPaintSprite()
Definition: Card.cs:7018

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

◆ SetPlaceState()

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

Definition at line 3732 of file Card.cs.

3733 {
3734 if (this.placeState == newState)
3735 {
3736 return;
3737 }
3738 if (parent != EClass._zone)
3739 {
3740 Debug.Log("tried to change placestate of non-root card:" + this);
3741 return;
3742 }
3744 Area area = pos.area;
3745 if (placeState == PlaceState.installed)
3746 {
3747 area?.OnUninstallCard(this);
3748 if (!isRoofItem)
3749 {
3750 altitude = 0;
3751 freePos = false;
3752 float num2 = (fy = 0f);
3753 fx = num2;
3754 }
3755 trait.Uninstall();
3756 }
3757 if (placeState == PlaceState.installed || newState == PlaceState.installed)
3758 {
3759 ForeachPoint(delegate(Point p, bool main)
3760 {
3761 p.cell.RemoveCard(this);
3762 });
3763 this.placeState = newState;
3764 ForeachPoint(delegate(Point p, bool main)
3765 {
3766 p.cell.AddCard(this);
3767 });
3768 }
3769 else
3770 {
3771 this.placeState = newState;
3772 }
3773 if (trait is TraitFakeBlock)
3774 {
3776 }
3777 if (newState == PlaceState.none)
3778 {
3779 this.placeState = PlaceState.roaming;
3780 if (props != null)
3781 {
3782 props.Remove(this);
3783 }
3784 }
3785 else
3786 {
3788 if (this.placeState == PlaceState.installed)
3789 {
3790 if (isThing)
3791 {
3792 if (trait.InstallBottomPriority != -1)
3793 {
3795 }
3796 else
3797 {
3799 }
3800 }
3801 area?.OnInstallCard(this);
3802 isRoofItem = false;
3803 trait.Install(byPlayer);
3804 }
3805 }
3807 {
3809 }
3810 if (trait.ShouldTryRefreshRoom && (placeState == PlaceState.installed || this.placeState == PlaceState.installed))
3811 {
3813 }
3814 trait.OnChangePlaceState(newState);
3816 {
3818 }
3819 }
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:578
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:76
virtual void OnChangePlaceState(PlaceState state)
Definition: Trait.cs:679
virtual bool ShouldTryRefreshRoom
Definition: Trait.cs:87
void Uninstall()
Definition: Trait.cs:1107
virtual int InstallBottomPriority
Definition: Trait.cs:89
void Install(bool byPlayer)
Definition: Trait.cs:1087

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

7113 {
7114 c_priceFix = a;
7115 return Thing;
7116 }

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

◆ SetRandomDir()

void Card.SetRandomDir ( )
inline

Definition at line 6175 of file Card.cs.

6176 {
6177 SetDir(EClass.rnd(4));
6178 }

References EClass.rnd().

Referenced by Zone.TryGenerateShrine().

◆ SetRandomLightColors()

void Card.SetRandomLightColors ( )
inline

Definition at line 6479 of file Card.cs.

6480 {
6481 c_lightColor = (byte)(EClass.rnd(8) + 1) * 1024 + (byte)(EClass.rnd(8) + 1) * 32 + (byte)(EClass.rnd(8) + 1);
6482 }

References EClass.rnd().

◆ SetRandomTalk()

void Card.SetRandomTalk ( )
inline

Definition at line 6869 of file Card.cs.

6870 {
6872 if (!MOD.listTalk.list[0].ContainsKey(id))
6873 {
6874 c_idTalk = MOD.listTalk.GetRandomID("human");
6875 }
6876 }
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 6878 of file Card.cs.

6879 {
6881 List<Dictionary<string, string>> list = MOD.tones.list;
6882 if (list.Count != 0)
6883 {
6884 int mtp = EClass.core.config.test.extraToneMTP switch
6885 {
6886 4 => 10,
6887 3 => 5,
6888 2 => 2,
6889 1 => 1,
6890 0 => 0,
6891 _ => 0,
6892 };
6893 if (EClass.debug.enable)
6894 {
6895 mtp *= 100;
6896 }
6897 string text = list.RandomItem()["id"];
6898 text = list.RandomItemWeighted((Dictionary<string, string> a) => a["chance"].ToInt() * ((!a["tag"].Contains("meta")) ? 1 : mtp))["id"];
6899 c_idTone = MOD.tones.GetToneID(text, bio?.gender ?? 0);
6900 }
6901 }
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 5950 of file Card.cs.

5951 {
5952 }

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

◆ SetReplica()

void Card.SetReplica ( bool  on)
inline

Definition at line 3060 of file Card.cs.

3061 {
3062 isReplica = true;
3063 ChangeMaterial("granite");
3064 }

References ChangeMaterial, and isReplica.

Referenced by Chara.RestockEquip().

◆ SetSale()

void Card.SetSale ( bool  sale)
inline

Definition at line 7123 of file Card.cs.

7124 {
7125 if (isSale != sale)
7126 {
7127 isSale = sale;
7128 if (isSale)
7129 {
7130 EClass._map.props.sales.Add(this);
7131 }
7132 else
7133 {
7134 EClass._map.props.sales.Remove(this);
7135 }
7136 }
7137 }

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

7695 {
7696 switch (m)
7697 {
7698 case UIList.SortMode.ByEquip:
7699 sortVal = ((c_equippedSlot == 0) ? (category.sortVal * 1000) : 0);
7700 break;
7701 case UIList.SortMode.ByValue:
7702 sortVal = -GetPrice(currency) * 1000;
7703 break;
7704 case UIList.SortMode.ByNumber:
7705 sortVal = -Num * 1000;
7706 break;
7707 case UIList.SortMode.ByCategory:
7708 sortVal = category.sortVal * 1000;
7709 break;
7710 case UIList.SortMode.ByWeight:
7712 break;
7713 case UIList.SortMode.ByWeightSingle:
7715 break;
7716 case UIList.SortMode.ByPrice:
7717 sortVal = -GetPrice(currency) * 1000;
7718 break;
7719 default:
7720 sortVal = sourceCard._index * 1000;
7721 break;
7722 }
7723 }
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:7217
int sortVal
Definition: Card.cs:101
int ChildrenAndSelfWeightSingle
Definition: Card.cs:2031
int ChildrenAndSelfWeight
Definition: Card.cs:2029
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 2839 of file Card.cs.

2840 {
2841 }

Referenced by _OnDeserialized(), and Create().

◆ SetTier()

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

Definition at line 3854 of file Card.cs.

3855 {
3856 if (a < 0)
3857 {
3858 a = 0;
3859 }
3860 tier = a;
3861 if (setTraits)
3862 {
3863 int num = ((a == 1) ? 180 : ((a == 2) ? 400 : ((a >= 3) ? 600 : 0)));
3864 if (a > 0)
3865 {
3866 foreach (Element value in elements.dict.Values)
3867 {
3868 if (value.IsFoodTrait || value.IsTrait)
3869 {
3870 elements.SetTo(value.id, value.Value * num / 100);
3871 }
3872 }
3873 }
3874 elements.SetBase(2, a * 30);
3875 elements.SetBase(759, (a > 1) ? a : 0);
3876 }
3878 }
bool IsFoodTrait
Definition: ELEMENT.cs:364

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

3365 {
3366 if (EClass.player.chara != null)
3367 {
3368 if (!IsPC && GetRootCard() != EClass.pc)
3369 {
3370 return EClass.ui.layers.Count > 0;
3371 }
3372 return true;
3373 }
3374 return false;
3375 }
Chara chara
Definition: Player.cs:1203

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

5092 {
5093 if (!isChara || IsPCFactionMinion || (isCopy && EClass.rnd(10) != 0))
5094 {
5095 return;
5096 }
5097 bool isUserZone = EClass._zone.IsUserZone;
5098 bool flag = EClass._zone is Zone_Music;
5099 List<Card> list = new List<Card>();
5100 if (!IsPCFaction && !isUserZone && sourceCard.idActor.IsEmpty())
5101 {
5102 int i2 = 500;
5103 if (this.rarity >= Rarity.Legendary)
5104 {
5105 i2 = ((!EClass.player.codex.DroppedCard(id)) ? 1 : 10);
5107 }
5109 {
5110 i2 = 10;
5111 }
5112 if (chance(i2))
5113 {
5114 Thing thing = ThingGen.Create("figure");
5115 thing.MakeFigureFrom(id);
5116 list.Add(thing);
5117 }
5118 if (chance(i2))
5119 {
5120 Thing thing2 = ThingGen.Create("figure3");
5121 thing2.MakeFigureFrom(id);
5122 list.Add(thing2);
5123 }
5124 }
5125 bool flag2 = Chara.race.corpse[1].ToInt() > EClass.rnd(1500) || (Chara.IsPowerful && !IsPCFaction) || EClass.debug.godFood;
5126 int num = 1;
5127 if (!IsMinion && Chara.IsAnimal && EClass.rnd(EClass._zone.IsPCFaction ? 3 : 5) == 0)
5128 {
5129 flag2 = true;
5130 }
5132 {
5133 flag2 = true;
5134 num = EClass.rndHalf(4 + 10 * (50 + Mathf.Max(0, (int)MathF.Sqrt(EClass.pc.Evalue(290) * 10))) / 100);
5135 }
5136 else if (origin != null && origin.HasElement(290) && !IsMinion)
5137 {
5138 if (!flag2 && Chara.race.corpse[1].ToInt() > EClass.rnd(150000 / (100 + (int)Mathf.Sqrt(origin.Evalue(290)) * 5)))
5139 {
5140 flag2 = true;
5141 origin.elements.ModExp(290, 150f);
5142 }
5143 else
5144 {
5145 origin.elements.ModExp(290, 25f);
5146 }
5147 }
5148 if (id == "littleOne" && IsPCFactionOrMinion)
5149 {
5150 flag2 = false;
5151 }
5152 if (flag2 && !isUserZone)
5153 {
5154 string text = Chara.race.corpse[0];
5155 bool num2 = text == "_meat";
5156 int num3 = 10;
5158 {
5159 num3 += (int)Mathf.Min(Mathf.Sqrt(EClass.pc.Evalue(290)), 20f);
5160 }
5161 if (EClass.rnd((Act.CurrentAct is ActMeleeBladeStorm || (origin != null && (origin.HasElement(1556) || origin.HasCondition<ConTransmuteCat>()))) ? 2 : 100) == 0)
5162 {
5163 text = "dattamono";
5164 }
5165 if (num2 && num3 > EClass.rnd(100))
5166 {
5167 text = "meat_marble";
5168 }
5169 Thing thing3 = ThingGen.Create(text).SetNum(num);
5170 if (thing3.source._origin == "meat")
5171 {
5172 thing3.MakeFoodFrom(this);
5173 }
5174 else
5175 {
5177 }
5178 list.Add(thing3);
5179 }
5180 if (!IsPCFaction && (!isUserZone || !EClass.game.principal.disableUsermapBenefit) && chance(200))
5181 {
5182 list.Add(Chara.MakeGene());
5183 }
5184 if (!IsPCFaction && !isUserZone)
5185 {
5186 foreach (string item2 in sourceCard.loot.Concat(Chara.race.loot).ToList())
5187 {
5188 string[] array = item2.Split('/');
5189 int num4 = array[1].ToInt();
5190 if (num4 >= 1000 || num4 > EClass.rnd(1000) || EClass.debug.godMode)
5191 {
5192 CardRow cardRow = EClass.sources.cards.map[array[0]];
5193 if (cardRow != null && cardRow.Category.slot != 0 && cardRow.quality == 0 && EClass.pc.Evalue(1660) * 25 > EClass.rnd(100))
5194 {
5195 CardBlueprint.SetRarity((EClass.rnd(20) == 0) ? Rarity.Mythical : Rarity.Legendary);
5196 }
5197 list.Add(ThingGen.Create(array[0], -1, LV).SetNum((num4 < 1000) ? 1 : (num4 / 1000 + ((EClass.rnd(1000) > num4 % 1000) ? 1 : 0))));
5198 }
5199 }
5200 if (Chara.IsMachine)
5201 {
5202 bool flag3 = Chara.HasElement(1248);
5203 if (chance(200))
5204 {
5205 list.Add(ThingGen.Create("memory_chip"));
5206 }
5207 if (chance(20))
5208 {
5209 list.Add(ThingGen.Create(flag3 ? "scrap" : "microchip"));
5210 }
5211 if (chance(15))
5212 {
5213 list.Add(ThingGen.Create(flag3 ? "bolt" : "battery"));
5214 }
5215 }
5216 else
5217 {
5218 if (Chara.IsAnimal)
5219 {
5220 if (chance(15))
5221 {
5222 list.Add(ThingGen.Create("fang"));
5223 }
5224 if (chance(10))
5225 {
5226 list.Add(ThingGen.Create("skin"));
5227 }
5228 }
5229 if (chance(20))
5230 {
5231 list.Add(ThingGen.Create("offal"));
5232 }
5233 if (chance(20))
5234 {
5235 list.Add(ThingGen.Create("heart"));
5236 }
5237 }
5238 if (!isBackerContent && !flag)
5239 {
5240 switch (id)
5241 {
5242 case "pumpkin":
5243 if (chance(3))
5244 {
5245 list.Add(ThingGen.CreateFromCategory((EClass.rnd(2) == 0) ? "meal_cookie" : "meal_cake", 5 + EClass.rnd(EClass.rnd(50) + 1)));
5246 }
5247 break;
5248 case "isca":
5249 list.Add(ThingGen.Create("blood_angel"));
5250 break;
5251 case "golem_wood":
5252 if (chance(30))
5253 {
5254 list.Add(ThingGen.Create("crystal_earth"));
5255 }
5256 break;
5257 case "golem_fish":
5258 case "golem_stone":
5259 if (chance(30))
5260 {
5261 list.Add(ThingGen.Create("crystal_sun"));
5262 }
5263 break;
5264 case "golem_steel":
5265 if (chance(30))
5266 {
5267 list.Add(ThingGen.Create("crystal_mana"));
5268 }
5269 break;
5270 case "golem_gold":
5271 list.Add(ThingGen.Create("money2"));
5272 break;
5273 }
5274 int num5 = ((EClass._zone.Boss == this) ? 2 : ((this.rarity >= Rarity.Legendary) ? 1 : 0));
5275 if (EClass._zone is Zone_Void)
5276 {
5277 num5++;
5278 }
5279 if (EClass.rnd(5) == 0)
5280 {
5281 num5++;
5282 }
5283 string text2 = id;
5284 if (text2 == "big_daddy" || text2 == "santa")
5285 {
5286 num5 += 2;
5287 }
5288 if (num5 > 0 && EClass.game.principal.dropRate)
5289 {
5290 num5 = Mathf.Max(1, num5 * (50 + EClass.game.principal.dropRateMtp * 50) / 100);
5291 }
5292 List<Thing> list2 = new List<Thing>();
5293 foreach (Thing thing4 in things)
5294 {
5295 if (thing4.HasTag(CTAG.gift) || thing4.trait is TraitChestMerchant)
5296 {
5297 continue;
5298 }
5299 if (thing4.isGifted || thing4.rarity >= Rarity.Artifact || thing4.trait.DropChance > EClass.rndf(1f))
5300 {
5301 list.Add(thing4);
5302 }
5303 else if (thing4.IsEquipmentOrRanged)
5304 {
5305 if (thing4.rarity >= Rarity.Legendary)
5306 {
5307 list2.Add(thing4);
5308 }
5309 else if (EClass.rnd(100) == 0)
5310 {
5311 list.Add(thing4);
5312 }
5313 }
5314 else if (EClass.rnd(5) == 0)
5315 {
5316 list.Add(thing4);
5317 }
5318 }
5319 if (num5 > 0 && list2.Count > 0)
5320 {
5321 list2.Shuffle();
5322 for (int j = 0; j < list2.Count && j < num5; j++)
5323 {
5324 list.Add(list2[j]);
5325 num5--;
5326 }
5327 }
5328 if (this.rarity >= Rarity.Legendary && !IsUnique && c_bossType != BossType.Evolved)
5329 {
5330 int num6 = 0;
5331 foreach (Card item3 in list)
5332 {
5333 if (item3.rarity >= Rarity.Legendary || item3.IsContainer)
5334 {
5335 num6++;
5336 }
5337 }
5338 if (num6 == 0)
5339 {
5340 int num7 = ((!(EClass._zone is Zone_Void)) ? 1 : 2);
5341 if (num5 < num7)
5342 {
5343 num5 = num7;
5344 }
5345 for (int k = 0; k < num5; k++)
5346 {
5347 Rand.SetSeed(uid + k);
5348 if (EClass.rnd((EClass._zone.events.GetEvent<ZoneEventDefenseGame>() != null) ? 3 : 2) == 0)
5349 {
5350 Rarity rarity = ((EClass.rnd(20) == 0) ? Rarity.Mythical : Rarity.Legendary);
5352 {
5353 rarity = rarity
5354 });
5356 list.Add(item);
5357 }
5358 else if (EClass.rnd(3) == 0)
5359 {
5360 list.Add(ThingGen.Create("medal"));
5361 }
5362 Rand.SetSeed();
5363 }
5364 }
5365 }
5366 }
5367 }
5368 foreach (Thing thing5 in things)
5369 {
5370 if (thing5.GetInt(116) != 0)
5371 {
5372 list.Add(thing5);
5373 }
5374 }
5375 Point nearestPoint = GetRootCard().pos;
5376 if (nearestPoint.IsBlocked)
5377 {
5378 nearestPoint = nearestPoint.GetNearestPoint();
5379 }
5380 foreach (Card item4 in list)
5381 {
5382 if (item4.parent == EClass._zone)
5383 {
5384 continue;
5385 }
5386 item4.isHidden = false;
5387 item4.SetInt(116);
5388 EClass._zone.AddCard(item4, nearestPoint);
5389 if (!item4.IsEquipment || item4.rarity < Rarity.Superior || item4.IsCursed)
5390 {
5391 continue;
5392 }
5393 foreach (Chara chara in EClass._map.charas)
5394 {
5395 if (chara.HasElement(1412) && chara.Dist(nearestPoint) < 3)
5396 {
5397 item4.Thing.TryLickEnchant(chara);
5398 break;
5399 }
5400 }
5401 }
5402 bool chance(int i)
5403 {
5404 i = i * 100 / (100 + EClass.player.codex.GetOrCreate(id).BonusDropLv * 10);
5405 if (i < 1)
5406 {
5407 i = 1;
5408 }
5409 if (IsMinion)
5410 {
5411 i *= 5;
5412 }
5413 if (EClass.rnd(i) == 0)
5414 {
5415 return true;
5416 }
5417 return false;
5418 }
5419 }
BossType
Definition: BossType.cs:2
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:3469
void MakeFigureFrom(string id)
Definition: Card.cs:5681
bool IsCursed
Definition: Card.cs:2243
virtual bool IsMinion
Definition: Card.cs:2139
bool IsEquipment
Definition: Card.cs:2161
BossType c_bossType
Definition: Card.cs:1221
bool isGifted
Definition: Card.cs:782
virtual bool IsPCFactionMinion
Definition: Card.cs:2143
Thing Add(string id, int num=1, int lv=1)
Definition: Card.cs:3066
bool isBackerContent
Definition: Card.cs:925
bool IsAnimal
Definition: Chara.cs:867
Thing MakeGene(DNA.Type? type=null)
Definition: Chara.cs:8037
bool IsMachine
Definition: Chara.cs:903
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:92
bool disableUsermapBenefit
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false, int minRadius=0)
Definition: Point.cs:619
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:2002
virtual float DropChance
Definition: Trait.cs:358
ZoneEventManager events
Definition: Zone.cs:40

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(), 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()

◆ Talk()

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

Definition at line 6668 of file Card.cs.

6669 {
6670 if (IsPC && !EClass.player.forceTalk && idTopic != "goodBoy" && idTopic != "insane")
6671 {
6672 EClass.player.forceTalk = false;
6673 Msg.SetColor();
6674 return;
6675 }
6676 EClass.player.forceTalk = false;
6677 if (!isSynced && !forceSync)
6678 {
6679 Msg.SetColor();
6680 return;
6681 }
6682 GameLang.refDrama1 = ref1;
6683 GameLang.refDrama2 = ref2;
6684 string text = GetTalkText(idTopic, stripPun: true);
6685 if (HasElement(1232) && idTopic != "baby")
6686 {
6687 BackerContent.GakiConvert(ref text, "babu");
6688 }
6689 else
6690 {
6691 string text2 = id;
6692 if (!(text2 == "adv_gaki"))
6693 {
6694 if (text2 == "corgon")
6695 {
6696 BackerContent.GakiConvert(ref text, "mokyu");
6697 }
6698 }
6699 else
6700 {
6701 BackerContent.GakiConvert(ref text);
6702 }
6703 }
6704 TalkRaw(text, ref1, ref2, forceSync);
6705 }
static void GakiConvert(ref string text, string idLang="zako")
string GetTalkText(string idTopic, bool stripPun=false, bool useDefault=true)
Definition: Card.cs:6792
void TalkRaw(string text, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:6707
bool forceTalk
Definition: Player.cs:1151

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

6708 {
6709 if ((!isSynced && !forceSync) || text.IsEmpty())
6710 {
6711 Msg.SetColor();
6712 return;
6713 }
6714 if (ref1 != null)
6715 {
6716 text = text.Replace("#1", ref1);
6717 }
6718 if (ref2 != null)
6719 {
6720 text = text.Replace("#2", ref2);
6721 }
6723 bool flag = text.StartsWith("*");
6724 Msg.SetColor(text.StartsWith("(") ? Msg.colors.Thinking : (flag ? Msg.colors.Ono : Msg.colors.Talk));
6725 if (!flag)
6726 {
6727 text = text.Bracket();
6728 }
6729 Msg.Say(text.Replace("&", ""));
6730 }
string ApplyNewLine(string text)
Definition: Card.cs:6732
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 ZoneEventPhone.OnTickRound(), and TraitDaggerGrave.OnUse().

◆ Teleport()

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

Definition at line 5820 of file Card.cs.

5821 {
5822 if (EClass._zone.IsRegion)
5823 {
5825 return;
5826 }
5827 PlayEffect("teleport");
5828 if (!force && (!trait.CanBeTeleported || elements.Has(400) || (isChara && Chara.HasCondition<ConGravity>())))
5829 {
5830 Say("antiTeleport", this);
5831 PlaySound("gravity");
5832 return;
5833 }
5834 if (!silent)
5835 {
5836 PlaySound("teleport");
5837 Say("teleported", this);
5838 }
5839 _Move(point);
5840 renderer.SetFirst(first: true, pos.PositionCenter());
5841 if (isChara)
5842 {
5843 Chara.ai.Cancel();
5844 foreach (Chara chara in EClass._map.charas)
5845 {
5846 if (chara.enemy == this)
5847 {
5848 chara.SetEnemy();
5849 }
5850 }
5851 Chara.RemoveCondition<ConEntangle>();
5852 }
5853 if (IsPC)
5854 {
5857 EClass.player.haltMove = true;
5858 }
5859 PlayEffect("teleport", useRenderPos: false);
5860 }
virtual MoveResult _Move(Point p, MoveType type=MoveType.Walk)
Definition: Card.cs:5784
void SayNothingHappans()
Definition: Card.cs:6760
Chara enemy
Definition: Chara.cs:86
Chara SetEnemy(Chara c=null)
Definition: Chara.cs:6217
bool Has(int ele)
virtual bool CanBeTeleported
Definition: Trait.cs:166

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

7094 {
7095 }

◆ ToString()

override string Card.ToString ( )
inline

Definition at line 2475 of file Card.cs.

2476 {
2477 return Name + "/" + pos?.ToString() + "/" + parent;
2478 }
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 5652 of file Card.cs.

5653 {
5654 if (c.c_idRefCard.IsEmpty())
5655 {
5656 return c.c_altName;
5657 }
5658 if (!(c.refCard is SourceChara.Row { isChara: not false } row))
5659 {
5660 return c.c_altName;
5661 }
5662 if (!row.aka.IsEmpty())
5663 {
5664 if (row.name == "*r" && row.aka == "*r")
5665 {
5666 return "corpseGeneral".lang();
5667 }
5668 if (row.name == "*r")
5669 {
5670 return row.GetText("aka");
5671 }
5672 }
5673 return row.GetName();
5674 }
CardRow refCard
Definition: Card.cs:1955

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

5422 {
5423 if (lv == -1)
5424 {
5425 lv = EClass._zone.DangerLv;
5426 }
5427 switch (id)
5428 {
5429 case "gene":
5431 break;
5432 case "log":
5433 ChangeMaterial(EClass.sources.materials.rows.Where((SourceMaterial.Row m) => m.category == "wood").RandomItem());
5434 break;
5435 case "ore_gem":
5437 break;
5438 case "ore":
5440 break;
5441 case "milk":
5442 case "_egg":
5443 case "egg_fertilized":
5444 case "_meat":
5445 case "meat_marble":
5446 case "dattamono":
5447 {
5448 string text = "c_wilds";
5449 if (id == "_meat" || id == "meat_marble")
5450 {
5451 text = "c_animal";
5452 }
5453 if (itemSource == TryMakeRandomItemSource.Cooking && crafter != null && crafter.HasElement(1205))
5454 {
5455 text = "c_human";
5456 }
5457 for (int i = 0; i < 20; i++)
5458 {
5459 CardRow cardRow = SpawnList.Get(text).Select(lv + i);
5460 if (cardRow.model.Chara.race.corpse[0] != "_meat" && id != "milk" && id != "_egg" && id != "egg_fertilized")
5461 {
5462 continue;
5463 }
5464 if (itemSource == TryMakeRandomItemSource.Cooking)
5465 {
5466 if (cardRow.model.HasElement(701))
5467 {
5468 continue;
5469 }
5470 if (crafter != null && crafter.id == "big_sister")
5471 {
5472 cardRow = crafter.source;
5473 }
5474 }
5475 if (id == "milk")
5476 {
5477 if (c_idRefCard.IsEmpty())
5478 {
5479 MakeRefFrom(cardRow.model);
5480 }
5481 }
5482 else
5483 {
5484 MakeFoodFrom(cardRow.model);
5485 }
5486 return this as Thing;
5487 }
5488 MakeFoodFrom(EClass.sources.charas.map.Values.Where((SourceChara.Row r) => r.chance > 0 && r.quality == 0).RandomItem().model);
5489 break;
5490 }
5491 }
5492 return this as Thing;
5493 }
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:90
static SpawnList Get(string id, string parent=null, CardFilter filter=null)
Definition: SpawnList.cs:18
CardRow Select(int lv=-1, int levelRange=-1)
Definition: SpawnList.cs:139

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

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

◆ TryPay()

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

Definition at line 3910 of file Card.cs.

3911 {
3912 if (GetCurrency(id) < a)
3913 {
3914 if (IsPC)
3915 {
3916 SE.Beep();
3917 Msg.Say((id == "ration") ? "notEnoughFood" : "notEnoughMoney");
3918 }
3919 return false;
3920 }
3921 if (IsPC && !(id == "ration"))
3922 {
3923 SE.Pay();
3924 }
3925 ModCurrency(-a, id);
3926 return true;
3927 }
int GetCurrency(string id="money")
Definition: Card.cs:3960

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

2490 {
2491 if (CanReserve(act))
2492 {
2493 reservedAct = act;
2494 return true;
2495 }
2496 return false;
2497 }
bool CanReserve(AIAct act)
Definition: Card.cs:2480

References CanReserve(), and reservedAct.

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

◆ TryStack()

void Card.TryStack ( Thing  t)
inline

Definition at line 6924 of file Card.cs.

6925 {
6926 if (t == this)
6927 {
6928 return;
6929 }
6931 if (dest.stack != null)
6932 {
6933 if (IsPC)
6934 {
6935 Say("stack_thing", t, dest.stack);
6936 }
6937 t.TryStackTo(dest.stack);
6938 }
6939 }
bool TryStackTo(Thing to)
Definition: Card.cs:3382
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 3382 of file Card.cs.

3383 {
3384 if (isDestroyed || to.isDestroyed || !CanStackTo(to))
3385 {
3386 return false;
3387 }
3388 to.decay = (to.decay * to.Num + decay * Num) / (to.Num + Num);
3389 to.ModNum(Num);
3390 if (c_isImportant)
3391 {
3392 to.c_isImportant = true;
3393 }
3395 {
3396 to.isNew = true;
3397 }
3398 Destroy();
3399 return true;
3400 }
virtual bool CanStackTo(Thing to)
Definition: Card.cs:3377
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 7045 of file Card.cs.

7046 {
7047 if (!(GetRestrainer() == null || force))
7048 {
7049 return;
7050 }
7051 isRestrained = false;
7052 Say("unrestrained", this);
7053 if (this != c)
7054 {
7055 Talk("thanks");
7056 }
7058 renderer.SetFirst(first: true);
7059 if (c == null)
7060 {
7061 return;
7062 }
7063 if (c_rescueState == RescueState.WaitingForRescue)
7064 {
7065 c_rescueState = RescueState.Rescued;
7066 if (c.IsPC)
7067 {
7069 }
7070 }
7072 {
7073 return;
7074 }
7075 foreach (Chara item in c.pos.ListCharasInRadius(c, 5, (Chara _c) => _c.id == "fanatic" && _c.faith != Chara.faith))
7076 {
7077 c.DoHostileAction(item, immediate: true);
7078 }
7079 }
RescueState
Definition: RescueState.cs:2
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:6668
TraitShackle GetRestrainer()
Definition: Card.cs:7081
void MoveImmediate(Point p, bool focus=true, bool cancelAI=true)
Definition: Card.cs:5794
RescueState c_rescueState
Definition: Card.cs:1209
override bool IsPC
Definition: Chara.cs:612
void ModKarma(int a)
Definition: Player.cs:2508
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 7795 of file Card.cs.

7796 {
7797 }

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

Member Data Documentation

◆ _bits1

◆ _bits2

◆ _category

SourceCategory.Row Card._category
private

Definition at line 89 of file Card.cs.

◆ _childrenWeight

int Card._childrenWeight
private

Definition at line 87 of file Card.cs.

◆ _colorInt

int Card._colorInt

Definition at line 67 of file Card.cs.

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

◆ _ints

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

Definition at line 32 of file Card.cs.

Referenced by _OnDeserialized(), and _OnSerializing().

◆ _LightData

LightData Card._LightData
private

Definition at line 97 of file Card.cs.

◆ _material

SourceMaterial.Row Card._material

Definition at line 91 of file Card.cs.

Referenced by ChangeMaterial(), and Create().

◆ _paintSprite

Sprite Card._paintSprite
private

Definition at line 99 of file Card.cs.

◆ _randColor

Color Card._randColor
staticprivate

Definition at line 93 of file Card.cs.

◆ angle

float Card.angle = 180f

◆ animeCounter

float Card.animeCounter

Definition at line 73 of file Card.cs.

◆ bio

◆ bp

CardBlueprint Card.bp

Definition at line 77 of file Card.cs.

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

◆ DamageLimit

const int Card.DamageLimit = 99999999
static

Definition at line 29 of file Card.cs.

◆ dirtyWeight

bool Card.dirtyWeight = true

Definition at line 85 of file Card.cs.

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

◆ elements

Definition at line 41 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(), Element.GetParent(), Chara.GiveGift(), TaskHarvest.HarvestThing(), TraitFoodEggFertilized.Incubate(), Religion.JoinFaith(), Religion.LeaveFaith(), ElementContainer.ListElements(), CraftUtil.MakeBloodMeal(), 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(), Game.OnLoad(), TraitAgingShelf.OnProduce(), TraitDryBrick.OnProduce(), TaskCraft.OnProgress(), AI_Fish.ProgressFish.OnProgressComplete(), TaskCraft.OnProgressComplete(), TaskDig.OnProgressComplete(), TaskMine.OnProgressComplete(), TraitBookSkill.OnRead(), TraitScrollStatic.OnRead(), Player.OnStartNewGame(), 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(), WidgetTracker.Toggle(), CalcPlat.Train(), Map.TryShatter(), CharaBody.Unequip(), TraitFoodEgg.Update(), CoreDebug.UpdateInput(), TraitWrench.Upgrade(), Element.BonusInfo.WriteNote(), RecipeCard.WriteNote(), Thing.WriteNote(), TraitBookSkill.WriteNote(), and Recipe.WriteReqSkill().

◆ fov

◆ hat

CardRow Card.hat

Definition at line 63 of file Card.cs.

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

◆ id

string Card.id = ""

Definition at line 35 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(), 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(), CardRenderer.Draw(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), GrowSystem.EqualizePlants(), ZonePreEnterEncounter.Execute(), CardManager.GlobalCharaList.Find(), Party.Find(), ThingContainer.Find(), Map.FindChara(), Zone.FindChara(), CoreDebug.Fix_RemoveDemitas(), CoreDebug.Fix_RemoveDuplicateUnique(), Biography.Generate(), FactionBranch.GenerateGarbage(), DNA.GenerateGene(), TraitChara.GetAdvRank(), TraitItemProc.GetCraftNum(), ThingContainer.GetCurrency(), Trait.GetFuelValue(), AI_Shear.GetFur(), TaskChopWood.GetLog(), Thing.GetName(), ReligionMoonShadow.GetOfferingMtp(), ReligionTrickery.GetOfferingMtp(), TraitBrewery.GetProductID(), 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(), DramaOutcome.nasu_join(), Zone_Casino.OnActivate(), TraitTrap.OnActivateTrap(), Zone_WindRest.OnAfterSimulate(), Trait.OnBarter(), TraitWell.OnBlend(), TraitBrewery.OnChildDecay(), FactionBranch.OnClaimZone(), ContentCodex.OnClickAddCards(), Chara.OnCreate(), 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(), 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(), 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 95 of file Card.cs.

◆ MaxWeight

const int Card.MaxWeight = 10000000
static

Definition at line 25 of file Card.cs.

◆ parent

◆ placeState

◆ pos

Point Card.pos = new Point()

Definition at line 59 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(), Map.AddCardOnActivate(), Zone.AddGlobalCharasOnActivate(), 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(), ActThrow.CanPerform(), Act.CanPerform(), Chara.CanPick(), Chara.CanReplace(), Chara.CanSee(), Player.CanSee(), Chara.CanSeeLos(), ActThrow.CanThrow(), QuestDefense.CanUpdateOnTalk(), TraitGeneratorWheel.CanUse(), TraitShackle.CanUse(), 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(), 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(), Chara.Kick(), HomeResourceWorth.ListHeirloom(), Trait.ListPoints(), TraitLightSun.ListPoints(), Props.ListThingStack(), Region.ListTravelZones(), Chara.LookAt(), 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(), QuestIntroInspector.OnComplete(), QuestVernis.OnComplete(), TaskDig.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), QuestDialog.OnDropReward(), TraitRollingFortune.OnEndAI(), ZoneEventRaid.OnKill(), ZoneEventSiege.OnKill(), ElementContainerCard.OnLevelUp(), ElementContainerZone.OnLevelUp(), Act.OnMarkMapHighlights(), ActBolt.OnMarkMapHighlights(), ActRush.OnMarkMapHighlights(), TraitAltar.OnOffer(), AM_Designation< T >.OnProcessTiles(), AM_MoveInstalled.OnProcessTiles(), AI_Fish.ProgressFish.OnProgressComplete(), AI_Sleep.OnProgressComplete(), QuestCraft.OnProgressComplete(), TaskBuild.OnProgressComplete(), TaskDig.OnProgressComplete(), 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(), TraitContainer.Open(), DramaManager.ParseLine(), Act.Perform(), ActMissileBarrage.Perform(), ActMultihit.Perform(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.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_Eat.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(), StanceSongSleep.TickSong(), StanceSongValor.TickSong(), TraitDoor.ToggleDoor(), TraitDoorSwing.ToggleDoor(), ToString(), Chara.ToString(), TraitSwitch.TryDisarmTrap(), Religion.TryGetGift(), AI_Goto.TryGoTo(), GoalCombat.TryMove(), GoalManualMove.TryMove(), Chara.TryMoveFrom(), 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(), TraitToolBrush.TrySetHeldAct(), TraitToolButcher.TrySetHeldAct(), TraitToolShears.TrySetHeldAct(), Map.TryShatter(), Map.TrySmoothPick(), TraitSeed.TrySprout(), TraitTeleporter.TryTeleport(), GoalCombat.TryThrow(), ButtonAbility.TryUse(), ActRide.Unride(), GameUpdater.Update(), TraitFoodEgg.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 51 of file Card.cs.

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

◆ renderer

CardRenderer Card.renderer

Definition at line 61 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(), 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(), 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 49 of file Card.cs.

Referenced by CanReserve(), and TryReserve().

◆ roundTimer

float Card.roundTimer

Definition at line 69 of file Card.cs.

Referenced by WidgetDebug.UpdateText().

◆ SocketDiv

const int Card.SocketDiv = 1000
static

Definition at line 27 of file Card.cs.

◆ sockets

◆ sortVal

◆ things

ThingContainer Card.things = new ThingContainer()

Definition at line 38 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(), 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(), 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(), ContentCodex.OnClickAddCards(), QuestNasu.OnComplete(), TraitBaseContainer.OnCreate(), Player.OnCreateGame(), ShopTransaction.OnEndTransaction(), ZoneEventHarvest.OnLeaveZone(), Game.OnLoad(), Player.OnLoad(), AI_Fish.ProgressFish.OnProgressComplete(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), ConWrath.OnRemoved(), InvOwner.OnShiftClick(), QuestFiamaLock.OnStart(), Player.OnStartNewGame(), TraitMannequin.OnUse(), TraitParcel.OnUse(), RecipeManager.OnVersionUpdate(), TraitContainer.Open(), UI.OpenFloatInv(), DramaManager.ParseLine(), 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 53 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(), 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(), 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(), 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_Eat.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 2133 of file Card.cs.

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

◆ _placeState

PlaceState Card._placeState
getset

Definition at line 289 of file Card.cs.

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

Referenced by _OnDeserialized(), and _OnSerializing().

◆ _x

int Card._x
getset

Definition at line 169 of file Card.cs.

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

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

◆ _z

int Card._z
getset

Definition at line 181 of file Card.cs.

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

Referenced by _OnDeserialized(), and _OnSerializing().

◆ actorPrefab

virtual string Card.actorPrefab
get

Definition at line 2117 of file Card.cs.

◆ AliasMaterialOnCreate

virtual string Card.AliasMaterialOnCreate
get

Definition at line 2041 of file Card.cs.

Referenced by Create().

◆ altitude

int Card.altitude
getset

Definition at line 229 of file Card.cs.

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

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

1785 {
1786 get
1787 {
1788 return GetObj<Thing>(9);
1789 }
1790 set
1791 {
1792 SetObj(9, value);
1793 }
1794 }
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 625 of file Card.cs.

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

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

◆ blessedState

◆ c_allowance

int Card.c_allowance
getset

Definition at line 1316 of file Card.cs.

1317 {
1318 get
1319 {
1320 return GetInt(114);
1321 }
1322 set
1323 {
1324 SetInt(114, value);
1325 }
1326 }

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

◆ c_altName

string Card.c_altName
getset

Definition at line 1592 of file Card.cs.

1593 {
1594 get
1595 {
1596 return GetStr(1);
1597 }
1598 set
1599 {
1600 SetStr(1, value);
1601 }
1602 }
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 1604 of file Card.cs.

1605 {
1606 get
1607 {
1608 return GetStr(2);
1609 }
1610 set
1611 {
1612 SetStr(2, value);
1613 }
1614 }

◆ c_ammo

int Card.c_ammo
getset

Definition at line 1460 of file Card.cs.

1461 {
1462 get
1463 {
1464 return GetInt(27);
1465 }
1466 set
1467 {
1468 SetInt(27, value);
1469 }
1470 }

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

◆ c_bedType

BedType Card.c_bedType
getset

Definition at line 939 of file Card.cs.

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

1281 {
1282 get
1283 {
1284 return GetInt(23);
1285 }
1286 set
1287 {
1288 SetInt(23, value);
1289 }
1290 }

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

◆ c_bossType

BossType Card.c_bossType
getset

Definition at line 1220 of file Card.cs.

1221 {
1222 get
1223 {
1224 return GetInt(65).ToEnum<BossType>();
1225 }
1226 set
1227 {
1228 SetInt(65, (int)value);
1229 }
1230 }

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

◆ c_charaList

CharaList Card.c_charaList
getset

Definition at line 1892 of file Card.cs.

1893 {
1894 get
1895 {
1896 return GetObj<CharaList>(13);
1897 }
1898 set
1899 {
1900 SetObj(13, value);
1901 }
1902 }

Referenced by TraitBed.AddHolder(), TraitBed.CanAssign(), TraitBed.ClearHolders(), 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 1544 of file Card.cs.

1545 {
1546 get
1547 {
1548 return GetStr(8);
1549 }
1550 set
1551 {
1552 SetStr(8, value);
1553 }
1554 }

◆ c_containerSize

int Card.c_containerSize
getset

Definition at line 1364 of file Card.cs.

1365 {
1366 get
1367 {
1368 return GetInt(8);
1369 }
1370 set
1371 {
1372 SetInt(8, value);
1373 }
1374 }

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

◆ c_containerUpgrade

ContainerUpgrade Card.c_containerUpgrade
getset

Definition at line 1868 of file Card.cs.

1869 {
1870 get
1871 {
1872 return GetObj<ContainerUpgrade>(12) ?? (c_containerUpgrade = new ContainerUpgrade());
1873 }
1874 set
1875 {
1876 SetObj(12, value);
1877 }
1878 }
ContainerUpgrade c_containerUpgrade
Definition: Card.cs:1869

Referenced by TraitWrench.Upgrade().

◆ c_context

string Card.c_context
getset

Definition at line 1676 of file Card.cs.

1677 {
1678 get
1679 {
1680 return GetStr(20);
1681 }
1682 set
1683 {
1684 SetStr(20, value);
1685 }
1686 }

Referenced by TraitDaggerGrave.OnUse().

◆ c_copyContainer

Thing Card.c_copyContainer
getset

Definition at line 1808 of file Card.cs.

1809 {
1810 get
1811 {
1812 return GetObj<Thing>(10);
1813 }
1814 set
1815 {
1816 SetObj(10, value);
1817 }
1818 }

Referenced by Trait.OnBarter().

◆ c_corruptionHistory

List<int> Card.c_corruptionHistory
getset

Definition at line 1856 of file Card.cs.

1857 {
1858 get
1859 {
1860 return GetObj<List<int>>(16);
1861 }
1862 set
1863 {
1864 SetObj(16, value);
1865 }
1866 }

◆ c_dateCooked

int Card.c_dateCooked
getset

Definition at line 1340 of file Card.cs.

1341 {
1342 get
1343 {
1344 return GetInt(66);
1345 }
1346 set
1347 {
1348 SetInt(66, value);
1349 }
1350 }

◆ c_dateDeathLock

int Card.c_dateDeathLock
getset

Definition at line 1244 of file Card.cs.

1245 {
1246 get
1247 {
1248 return GetInt(130);
1249 }
1250 set
1251 {
1252 SetInt(130, value);
1253 }
1254 }

◆ c_dateStockExpire

int Card.c_dateStockExpire
getset

Definition at line 1232 of file Card.cs.

1233 {
1234 get
1235 {
1236 return GetInt(22);
1237 }
1238 set
1239 {
1240 SetInt(22, value);
1241 }
1242 }

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

◆ c_daysWithGod

int Card.c_daysWithGod
getset

Definition at line 1472 of file Card.cs.

1473 {
1474 get
1475 {
1476 return GetInt(57);
1477 }
1478 set
1479 {
1480 SetInt(57, value);
1481 }
1482 }

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

◆ c_daysWithPC

int Card.c_daysWithPC
getset

Definition at line 1484 of file Card.cs.

1485 {
1486 get
1487 {
1488 return GetInt(67);
1489 }
1490 set
1491 {
1492 SetInt(67, value);
1493 }
1494 }

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

◆ c_diceDim

int Card.c_diceDim
getset

Definition at line 1388 of file Card.cs.

1389 {
1390 get
1391 {
1392 return GetInt(14);
1393 }
1394 set
1395 {
1396 SetInt(14, value);
1397 }
1398 }

Referenced by AttackProcess.Prepare().

◆ c_DNA

DNA Card.c_DNA
getset

Definition at line 1880 of file Card.cs.

1881 {
1882 get
1883 {
1884 return GetObj<DNA>(14);
1885 }
1886 set
1887 {
1888 SetObj(14, value);
1889 }
1890 }

Referenced by InvOwnerGene._OnProcess(), DNA.CopyDNA(), TraitCrafter.Craft(), TraitGene.GetName(), TraitGene.GetValue(), InvOwnerGene.OnWriteNote(), ActEffect.Proc(), InvOwnerGene.ShouldShowGuide(), DramaOutcome.upgrade_miscreation(), and TraitGene.WriteNote().

◆ c_dyeMat

int Card.c_dyeMat
getset

Definition at line 1184 of file Card.cs.

1185 {
1186 get
1187 {
1188 return GetInt(3);
1189 }
1190 set
1191 {
1192 SetInt(3, value);
1193 }
1194 }

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

◆ c_editorTags

string Card.c_editorTags
getset

Definition at line 1700 of file Card.cs.

1701 {
1702 get
1703 {
1704 return GetStr(28);
1705 }
1706 set
1707 {
1708 SetStr(28, value);
1709 }
1710 }

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

1713 {
1714 get
1715 {
1716 return GetStr(25);
1717 }
1718 set
1719 {
1720 SetStr(25, value);
1721 }
1722 }

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

◆ c_equippedSlot

int Card.c_equippedSlot
getset

Definition at line 951 of file Card.cs.

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

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

◆ c_extraNameRef

string Card.c_extraNameRef
getset

Definition at line 1616 of file Card.cs.

1617 {
1618 get
1619 {
1620 return GetStr(12);
1621 }
1622 set
1623 {
1624 SetStr(12, value);
1625 }
1626 }

Referenced by MakeRefFrom().

◆ c_fixedValue

int Card.c_fixedValue
getset

Definition at line 1172 of file Card.cs.

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

◆ c_fur

int Card.c_fur
getset

Definition at line 1328 of file Card.cs.

1329 {
1330 get
1331 {
1332 return GetInt(62);
1333 }
1334 set
1335 {
1336 SetInt(62, value);
1337 }
1338 }

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

1845 {
1846 get
1847 {
1848 return GetObj<CharaGenes>(15);
1849 }
1850 set
1851 {
1852 SetObj(15, value);
1853 }
1854 }

Referenced by InvOwnerGene._OnProcess(), DNA.Apply(), TraitGeneMachine.OnUse(), InvOwnerGene.OnWriteNote(), WindowCharaMini.Refresh(), and Tactics.Tactics().

◆ c_idAbility

string Card.c_idAbility
getset

Definition at line 1664 of file Card.cs.

1665 {
1666 get
1667 {
1668 return GetStr(50);
1669 }
1670 set
1671 {
1672 SetStr(50, value);
1673 }
1674 }

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

◆ c_idBacker

int Card.c_idBacker
getset

Definition at line 1436 of file Card.cs.

1437 {
1438 get
1439 {
1440 return GetInt(52);
1441 }
1442 set
1443 {
1444 SetInt(52, value);
1445 }
1446 }

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

1689 {
1690 get
1691 {
1692 return GetStr(27);
1693 }
1694 set
1695 {
1696 SetStr(27, value);
1697 }
1698 }

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

◆ c_idJob

string Card.c_idJob
getset

Definition at line 1520 of file Card.cs.

1521 {
1522 get
1523 {
1524 return GetStr(4);
1525 }
1526 set
1527 {
1528 SetStr(4, value);
1529 }
1530 }

◆ c_idMainElement

int Card.c_idMainElement
getset

Definition at line 1412 of file Card.cs.

1413 {
1414 get
1415 {
1416 return GetInt(16);
1417 }
1418 set
1419 {
1420 SetInt(16, value);
1421 }
1422 }

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

◆ c_idPortrait

string Card.c_idPortrait
getset

Definition at line 1496 of file Card.cs.

1497 {
1498 get
1499 {
1500 return GetStr(9);
1501 }
1502 set
1503 {
1504 SetStr(9, value);
1505 }
1506 }

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

◆ c_idRace

string Card.c_idRace
getset

Definition at line 1508 of file Card.cs.

1509 {
1510 get
1511 {
1512 return GetStr(3);
1513 }
1514 set
1515 {
1516 SetStr(3, value);
1517 }
1518 }

◆ c_idRefCard

◆ c_idRefCard2

string Card.c_idRefCard2
getset

Definition at line 1748 of file Card.cs.

1749 {
1750 get
1751 {
1752 return GetStr(6);
1753 }
1754 set
1755 {
1756 SetStr(6, value);
1757 }
1758 }

Referenced by Thing.CanStackTo().

◆ c_idRefName

string Card.c_idRefName
getset

Definition at line 1640 of file Card.cs.

1641 {
1642 get
1643 {
1644 return GetStr(7);
1645 }
1646 set
1647 {
1648 SetStr(7, value);
1649 }
1650 }

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

1653 {
1654 get
1655 {
1656 return GetStr(55);
1657 }
1658 set
1659 {
1660 SetStr(55, value);
1661 }
1662 }

Referenced by ActPlan._Update().

◆ c_idSpriteReplacer

string Card.c_idSpriteReplacer
getset

Definition at line 1556 of file Card.cs.

1557 {
1558 get
1559 {
1560 return GetStr(13);
1561 }
1562 set
1563 {
1564 SetStr(13, value);
1565 }
1566 }

Referenced by CharaRenderer.SetOwner().

◆ c_idTalk

string Card.c_idTalk
getset

Definition at line 1568 of file Card.cs.

1569 {
1570 get
1571 {
1572 return GetStr(21);
1573 }
1574 set
1575 {
1576 SetStr(21, value);
1577 }
1578 }

Referenced by Person.GetDramaTitle().

◆ c_idTone

string Card.c_idTone
getset

Definition at line 1532 of file Card.cs.

1533 {
1534 get
1535 {
1536 return GetStr(22);
1537 }
1538 set
1539 {
1540 SetStr(22, value);
1541 }
1542 }

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

◆ c_idTrait

string Card.c_idTrait
getset

Definition at line 1724 of file Card.cs.

1725 {
1726 get
1727 {
1728 return GetStr(29);
1729 }
1730 set
1731 {
1732 SetStr(29, value);
1733 }
1734 }

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

◆ c_IDTState

int Card.c_IDTState
getset

Definition at line 1256 of file Card.cs.

1257 {
1258 get
1259 {
1260 return GetInt(2);
1261 }
1262 set
1263 {
1264 SetInt(2, value);
1265 }
1266 }

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

◆ c_indexContainerIcon

int Card.c_indexContainerIcon
getset

Definition at line 1400 of file Card.cs.

1401 {
1402 get
1403 {
1404 return GetInt(15);
1405 }
1406 set
1407 {
1408 SetInt(15, value);
1409 }
1410 }

Referenced by ButtonGrid.SetCard().

◆ c_invest

int Card.c_invest
getset

Definition at line 1292 of file Card.cs.

1293 {
1294 get
1295 {
1296 return GetInt(28);
1297 }
1298 set
1299 {
1300 SetInt(28, value);
1301 }
1302 }

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

◆ c_isDisableStockUse

bool Card.c_isDisableStockUse
getset

Definition at line 1083 of file Card.cs.

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

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

◆ c_isImportant

◆ c_isPrayed

bool Card.c_isPrayed
getset

Definition at line 1071 of file Card.cs.

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

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

◆ c_isTrained

bool Card.c_isTrained
getset

Definition at line 1059 of file Card.cs.

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

◆ c_lightColor

int Card.c_lightColor
getset

Definition at line 1095 of file Card.cs.

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

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

◆ c_lockedAge

int Card.c_lockedAge
getset

Definition at line 1352 of file Card.cs.

1353 {
1354 get
1355 {
1356 return GetInt(38);
1357 }
1358 set
1359 {
1360 SetInt(38, value);
1361 }
1362 }

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

◆ c_lockedHard

bool Card.c_lockedHard
getset

Definition at line 1035 of file Card.cs.

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

Referenced by Trait.TryOpenLock().

◆ c_lockLv

◆ c_minionType

MinionType Card.c_minionType
getset

Definition at line 987 of file Card.cs.

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

1905 {
1906 get
1907 {
1908 return GetObj<MixedFoodData>(18);
1909 }
1910 set
1911 {
1912 SetObj(18, value);
1913 }
1914 }

Referenced by CraftUtil.WrapIngredient().

◆ c_note

string Card.c_note
getset

Definition at line 1760 of file Card.cs.

1761 {
1762 get
1763 {
1764 return GetStr(51);
1765 }
1766 set
1767 {
1768 SetStr(51, value);
1769 }
1770 }

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

◆ c_originalHostility

Hostility Card.c_originalHostility
getset

Definition at line 975 of file Card.cs.

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

Referenced by Chara.CreateReplacement().

◆ c_priceAdd

int Card.c_priceAdd
getset

Definition at line 1148 of file Card.cs.

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

Referenced by Thing.CanStackTo().

◆ c_priceCopy

int Card.c_priceCopy
getset

Definition at line 1160 of file Card.cs.

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

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

◆ c_priceFix

int Card.c_priceFix
getset

Definition at line 1136 of file Card.cs.

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

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

◆ c_refText

string Card.c_refText
getset

Definition at line 1628 of file Card.cs.

1629 {
1630 get
1631 {
1632 return GetStr(10);
1633 }
1634 set
1635 {
1636 SetStr(10, value);
1637 }
1638 }

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

◆ c_rescueState

RescueState Card.c_rescueState
getset

Definition at line 1208 of file Card.cs.

1209 {
1210 get
1211 {
1212 return GetInt(53).ToEnum<RescueState>();
1213 }
1214 set
1215 {
1216 SetInt(53, (int)value);
1217 }
1218 }

◆ c_revealLock

bool Card.c_revealLock
getset

Definition at line 1047 of file Card.cs.

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

Referenced by Trait.OnBarter().

◆ c_seed

int Card.c_seed
getset

Definition at line 1304 of file Card.cs.

1305 {
1306 get
1307 {
1308 return GetInt(33);
1309 }
1310 set
1311 {
1312 SetInt(33, value);
1313 }
1314 }

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

◆ c_summonDuration

int Card.c_summonDuration
getset

Definition at line 1424 of file Card.cs.

1425 {
1426 get
1427 {
1428 return GetInt(17);
1429 }
1430 set
1431 {
1432 SetInt(17, value);
1433 }
1434 }

◆ c_textureData

byte [] Card.c_textureData
getset

Definition at line 1916 of file Card.cs.

1917 {
1918 get
1919 {
1920 return GetObj<byte[]>(4);
1921 }
1922 set
1923 {
1924 SetObj(4, value);
1925 }
1926 }

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

◆ c_uidMaster

int Card.c_uidMaster
getset

Definition at line 1448 of file Card.cs.

1449 {
1450 get
1451 {
1452 return GetInt(54);
1453 }
1454 set
1455 {
1456 SetInt(54, value);
1457 }
1458 }

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

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

Referenced by TraitShackle.IsRestraining().

◆ c_uidZone

int Card.c_uidZone
getset

Definition at line 1110 of file Card.cs.

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

◆ c_uniqueData

UniqueData Card.c_uniqueData
getset

Definition at line 1772 of file Card.cs.

1773 {
1774 get
1775 {
1776 return GetObj<UniqueData>(6);
1777 }
1778 set
1779 {
1780 SetObj(6, value);
1781 }
1782 }

◆ c_upgrades

CharaUpgrade Card.c_upgrades
getset

Definition at line 1832 of file Card.cs.

1833 {
1834 get
1835 {
1836 return GetObj<CharaUpgrade>(11);
1837 }
1838 set
1839 {
1840 SetObj(11, value);
1841 }
1842 }

Referenced by WindowCharaMini.Refresh().

◆ c_vomit

int Card.c_vomit
getset

Definition at line 999 of file Card.cs.

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

◆ c_wasInPcParty

bool Card.c_wasInPcParty
getset

Definition at line 1011 of file Card.cs.

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

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

◆ c_weight

int Card.c_weight
getset

Definition at line 1376 of file Card.cs.

1377 {
1378 get
1379 {
1380 return GetInt(1);
1381 }
1382 set
1383 {
1384 SetInt(1, value);
1385 }
1386 }

Referenced by ChangeWeight().

◆ c_windowSaveData

Window.SaveData Card.c_windowSaveData
getset

Definition at line 1820 of file Card.cs.

1821 {
1822 get
1823 {
1824 return GetObj<Window.SaveData>(2);
1825 }
1826 set
1827 {
1828 SetObj(2, value);
1829 }
1830 }

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

◆ CanInspect

bool Card.CanInspect
get

Implements IInspect.

Definition at line 2457 of file Card.cs.

2458 {
2459 get
2460 {
2461 if (!isDestroyed)
2462 {
2463 return ExistsOnMap;
2464 }
2465 return false;
2466 }
2467 }

◆ category

◆ Cell

◆ CHA

◆ Chara

virtual Chara Card.Chara
get

Definition at line 2057 of file Card.cs.

2058 {
2059 get
2060 {
2061 if (!isChara)
2062 {
2063 return null;
2064 }
2065 return (Chara)this;
2066 }
2067 }

Referenced by InvOwnerBlend._OnProcess(), 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(), 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(), 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(), ActNTR.Perform(), ActRanged.Perform(), ActRestrain.Perform(), ActRush.Perform(), ActEffect.Proc(), ActEffect.ProcAt(), InvOwner.Transaction.Process(), InvOwner.PutBack(), CardRenderer.RefreshExtra(), Props.Remove(), Cell.RemoveCard(), RemoveThing(), SerializedCards.Restore(), AI_AttackHome.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), GoalSiege.Run(), ButtonGrid.SetBodySlot(), ButtonGeneral.SetCard(), Portrait.SetChara(), Meeting.SetChara(), PointTarget.ShouldIgnore(), 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 2031 of file Card.cs.

◆ ChildrenWeight

int Card.ChildrenWeight
get

Definition at line 2000 of file Card.cs.

2001 {
2002 get
2003 {
2004 if (dirtyWeight)
2005 {
2006 _childrenWeight = 0;
2007 if (!(trait is TraitMagicChest))
2008 {
2009 foreach (Thing thing in things)
2010 {
2012 }
2013 dirtyWeight = false;
2014 (parent as Card)?.SetDirtyWeight();
2015 if (isChara && IsPCFaction)
2016 {
2017 Chara.CalcBurden();
2018 }
2019 if (_childrenWeight < 0 || _childrenWeight > 10000000)
2020 {
2021 _childrenWeight = 10000000;
2022 }
2023 }
2024 }
2025 return _childrenWeight * Mathf.Max(100 - Evalue(404), 0) / 100;
2026 }
2027 }
int _childrenWeight
Definition: Card.cs:87
void CalcBurden()
Definition: Chara.cs:1816

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

◆ colorInt

int Card.colorInt
get

Definition at line 107 of file Card.cs.

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

◆ decay

int Card.decay
getset

Definition at line 217 of file Card.cs.

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

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

◆ DefaultLV

int Card.DefaultLV
get

Definition at line 1998 of file Card.cs.

Referenced by Create().

◆ DefaultMaterial

virtual SourceMaterial.Row Card.DefaultMaterial
get

Definition at line 2409 of file Card.cs.

Referenced by SerializedCards.Add().

◆ DEX

int Card.DEX
get

◆ dir

◆ disableAutoToggle

bool Card.disableAutoToggle
getset

Definition at line 601 of file Card.cs.

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

Referenced by Trait.TrySetToggleAct().

◆ DMG

int Card.DMG
get

Definition at line 2319 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ DV

virtual int Card.DV
get

Definition at line 2313 of file Card.cs.

Referenced by Thing.GetName().

◆ DyeMat

◆ encLV

◆ END

int Card.END
get

Definition at line 2325 of file Card.cs.

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

◆ ExistsOnMap

bool Card.ExistsOnMap
get

Definition at line 2073 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(), HotItemAct.TrySetAct(), TraitCatalyst.TrySetHeldAct(), and Thing.WriteNote().

◆ exp

int Card.exp
getset

Definition at line 397 of file Card.cs.

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

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

◆ ExpToNext

int Card.ExpToNext
get

◆ FameLv

int Card.FameLv
get

Definition at line 2285 of file Card.cs.

2286 {
2287 get
2288 {
2289 if (!IsPC)
2290 {
2291 return LV;
2292 }
2293 return Mathf.Min(EClass.player.fame / 100 + 1, 21474836);
2294 }
2295 }

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

◆ feat

int Card.feat
getset

Definition at line 373 of file Card.cs.

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

Referenced by LevelUp(), InvOwnerGene.OnWriteNote(), ButtonElement.Refresh(), WidgetExp.Refresh(), WidgetExpHome.Refresh(), WindowCharaMini.Refresh(), and WindowChara.RefreshFeatMode().

◆ flipX

virtual bool Card.flipX
get

Definition at line 2103 of file Card.cs.

2104 {
2105 get
2106 {
2107 if (Tiles.Length == 1)
2108 {
2109 return dir % 2 == 1;
2110 }
2111 return false;
2112 }
2113 }
virtual int[] Tiles
Definition: Card.cs:2297

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

◆ freePos

bool Card.freePos
getset

Definition at line 517 of file Card.cs.

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

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

◆ fx

float Card.fx
getset

Definition at line 253 of file Card.cs.

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

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

◆ fy

float Card.fy
getset

Definition at line 265 of file Card.cs.

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

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

◆ genLv

int Card.genLv
getset

Definition at line 193 of file Card.cs.

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

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

◆ H

int Card.H
get

Definition at line 2353 of file Card.cs.

2354 {
2355 get
2356 {
2357 if (dir % 2 != 0)
2358 {
2359 return sourceCard.W;
2360 }
2361 return sourceCard.H;
2362 }
2363 }

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

◆ HasContainerSize

bool Card.HasContainerSize
get

Definition at line 2395 of file Card.cs.

◆ HasHost

virtual bool Card.HasHost
get

◆ hasSpawned

bool Card.hasSpawned
getset

Definition at line 901 of file Card.cs.

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

Referenced by Zone.AddCard().

◆ HIT

int Card.HIT
get

Definition at line 2317 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ HostRenderer

CardRenderer Card.HostRenderer
get

Definition at line 2429 of file Card.cs.

2430 {
2431 get
2432 {
2433 if (!isChara || Chara.host == null)
2434 {
2435 return renderer;
2436 }
2437 return Chara.host.renderer;
2438 }
2439 }

Referenced by AI_Idle.Run().

◆ hp

◆ idMaterial

int Card.idMaterial
getset

Definition at line 133 of file Card.cs.

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

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

◆ idSkin

int Card.idSkin
getset

Definition at line 361 of file Card.cs.

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

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

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

Referenced by ActPlan._Update().

◆ ignoreStackHeight

bool Card.ignoreStackHeight
getset

Definition at line 637 of file Card.cs.

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

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

◆ InspectName

string Card.InspectName
get

Implements IInspect.

Definition at line 2469 of file Card.cs.

◆ InspectPoint

Point Card.InspectPoint
get

Implements IInspect.

Definition at line 2471 of file Card.cs.

◆ InspectPosition

Vector3 Card.InspectPosition
get

Implements IInspect.

Definition at line 2473 of file Card.cs.

◆ INT

int Card.INT
get

Definition at line 2337 of file Card.cs.

◆ invX

int Card.invX
getset

Definition at line 1930 of file Card.cs.

1931 {
1932 get
1933 {
1934 return pos.x;
1935 }
1936 set
1937 {
1938 pos.x = value;
1939 }
1940 }

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

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

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

◆ IsAgent

bool Card.IsAgent
get

◆ IsAliveInCurrentZone

◆ IsAmmo

◆ isBackerContent

bool Card.isBackerContent
get

Definition at line 925 of file Card.cs.

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

◆ IsBlessed

bool Card.IsBlessed
get

Definition at line 2241 of file Card.cs.

Referenced by TraitWell.OnBlend().

◆ isBroken

bool Card.isBroken
getset

Definition at line 733 of file Card.cs.

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

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

◆ isCensored

bool Card.isCensored
getset

Definition at line 433 of file Card.cs.

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

Referenced by CardRenderer.OnEnterScreen().

◆ isChara

virtual bool Card.isChara
get

Definition at line 2071 of file Card.cs.

Referenced by _OnDeserialized(), SerializedCards.Add(), Props.Add(), Cell.AddCard(), Map.AddCardOnActivate(), InvOwner.AllowHold(), ApplyElementEffect(), ApplyTrait(), ActMelee.Attack(), Trait.CanOffer(), ActBloodsuck.CanPerform(), ActKick.CanPerform(), ActNTR.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(), 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 877 of file Card.cs.

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

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

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

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

◆ IsCursed

bool Card.IsCursed
get

Definition at line 2243 of file Card.cs.

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

◆ IsDeadOrSleeping

virtual bool Card.IsDeadOrSleeping
get

Definition at line 2097 of file Card.cs.

Referenced by CardRenderer.Draw().

◆ IsDecayed

◆ isDeconstructing

bool Card.isDeconstructing
getset

Definition at line 445 of file Card.cs.

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

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

◆ IsDisabled

virtual bool Card.IsDisabled
get

Definition at line 2099 of file Card.cs.

Referenced by ActMelee.Attack().

◆ isDyed

bool Card.isDyed
getset

Definition at line 457 of file Card.cs.

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

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

◆ isElemental

bool Card.isElemental
getset

Definition at line 721 of file Card.cs.

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

◆ IsEquipment

◆ IsEquipmentOrRanged

bool Card.IsEquipmentOrRanged
get

Definition at line 2205 of file Card.cs.

2206 {
2207 get
2208 {
2209 if (category.slot == 0)
2210 {
2211 return IsRangedWeapon;
2212 }
2213 return true;
2214 }
2215 }

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

◆ IsEquipmentOrRangedOrAmmo

bool Card.IsEquipmentOrRangedOrAmmo
get

Definition at line 2217 of file Card.cs.

2218 {
2219 get
2220 {
2221 if (category.slot == 0 && !IsRangedWeapon)
2222 {
2223 return IsAmmo;
2224 }
2225 return true;
2226 }
2227 }

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

◆ isFireproof

bool Card.isFireproof
getset

Definition at line 673 of file Card.cs.

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

◆ isFloating

bool Card.isFloating
getset

Definition at line 649 of file Card.cs.

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

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

◆ IsFood

◆ IsFresn

bool Card.IsFresn
get

Definition at line 2279 of file Card.cs.

◆ IsFurniture

bool Card.IsFurniture
get

◆ isGifted

bool Card.isGifted
getset

Definition at line 781 of file Card.cs.

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

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

◆ isHidden

◆ IsHotItem

◆ IsIdentified

◆ IsImportant

bool Card.IsImportant
get

Definition at line 2093 of file Card.cs.

◆ isImported

bool Card.isImported
getset

Definition at line 613 of file Card.cs.

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

◆ IsInheritFoodTraits

bool Card.IsInheritFoodTraits
get

Definition at line 2165 of file Card.cs.

2166 {
2167 get
2168 {
2169 if (!IsFood && !category.IsChildOf("seed") && !category.IsChildOf("drink") && !(id == "pasture"))
2170 {
2171 return id == "grass";
2172 }
2173 return true;
2174 }
2175 }

◆ IsInstalled

bool Card.IsInstalled
get

Definition at line 2369 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(), 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 841 of file Card.cs.

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

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

◆ IsLightsource

bool Card.IsLightsource
get

Definition at line 2159 of file Card.cs.

Referenced by ActEffect.Proc().

◆ isLostProperty

bool Card.isLostProperty
getset

Definition at line 805 of file Card.cs.

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

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

◆ IsMale

bool Card.IsMale
get

Definition at line 2371 of file Card.cs.

2372 {
2373 get
2374 {
2375 if (bio != null)
2376 {
2377 return bio.gender == 2;
2378 }
2379 return false;
2380 }
2381 }

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

◆ isMasked

◆ IsMeleeWeapon

bool Card.IsMeleeWeapon
get

◆ IsMinion

virtual bool Card.IsMinion
get

Definition at line 2139 of file Card.cs.

◆ isModified

bool Card.isModified
getset

Definition at line 469 of file Card.cs.

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

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

◆ IsMoving

virtual bool Card.IsMoving
get

Definition at line 2101 of file Card.cs.

◆ IsMultisize

virtual bool Card.IsMultisize
get

Definition at line 2145 of file Card.cs.

2146 {
2147 get
2148 {
2150 {
2151 return IsInstalled;
2152 }
2153 return false;
2154 }
2155 }
bool multisize
Definition: RenderRow.cs:64

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

◆ IsNegativeGift

bool Card.IsNegativeGift
get

Definition at line 2383 of file Card.cs.

2384 {
2385 get
2386 {
2387 if (!HasTag(CTAG.neg))
2388 {
2389 return blessedState <= BlessedState.Cursed;
2390 }
2391 return true;
2392 }
2393 }

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

◆ isNew

bool Card.isNew
getset

Definition at line 481 of file Card.cs.

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

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

◆ isNPCProperty

◆ isOn

◆ IsPC

◆ IsPCC

virtual bool Card.IsPCC
get

Definition at line 2135 of file Card.cs.

Referenced by CardRenderer.GetPref().

◆ IsPCFaction

◆ IsPCFactionMinion

virtual bool Card.IsPCFactionMinion
get

Definition at line 2143 of file Card.cs.

Referenced by Chara.GoHostile().

◆ IsPCFactionOrMinion

◆ IsPCParty

◆ IsPCPartyMinion

virtual bool Card.IsPCPartyMinion
get

Definition at line 2141 of file Card.cs.

◆ isPlayerCreation

bool Card.isPlayerCreation
getset

Definition at line 493 of file Card.cs.

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

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

◆ IsPowerful

bool Card.IsPowerful
get

Definition at line 2081 of file Card.cs.

2082 {
2083 get
2084 {
2085 if (rarity >= Rarity.Legendary || trait is TraitAdventurer)
2086 {
2087 return !IsPCFactionOrMinion;
2088 }
2089 return false;
2090 }
2091 }

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

◆ IsRangedWeapon

◆ isReplica

bool Card.isReplica
getset

Definition at line 697 of file Card.cs.

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

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

◆ isRestocking

bool Card.isRestocking
getset

Definition at line 889 of file Card.cs.

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

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

◆ isRestrained

◆ IsRestrainedResident

bool Card.IsRestrainedResident
get

Definition at line 2245 of file Card.cs.

2246 {
2247 get
2248 {
2249 if (isRestrained)
2250 {
2251 return IsPCFaction;
2252 }
2253 return false;
2254 }
2255 }

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

◆ isRoofItem

bool Card.isRoofItem
getset

◆ IsRotting

bool Card.IsRotting
get

Definition at line 2277 of file Card.cs.

Referenced by ButtonGrid.SetCard().

◆ isSale

bool Card.isSale
getset

Definition at line 865 of file Card.cs.

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

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

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

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

◆ isStolen

bool Card.isStolen
getset

Definition at line 853 of file Card.cs.

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

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

◆ isSubsetCard

bool Card.isSubsetCard
getset

Definition at line 745 of file Card.cs.

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

Referenced by Zone.UpdateQuests().

◆ isSummon

bool Card.isSummon
getset

Definition at line 709 of file Card.cs.

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

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

◆ isSynced

virtual bool Card.isSynced
get

◆ isThing

◆ IsThrownWeapon

◆ IsToolbelt

bool Card.IsToolbelt
get

Definition at line 2157 of file Card.cs.

Referenced by ActEffect.Proc().

◆ IsUnique

◆ IsVariation

bool Card.IsVariation
get

Definition at line 2311 of file Card.cs.

◆ IsWeapon

bool Card.IsWeapon
get

Definition at line 2193 of file Card.cs.

2194 {
2195 get
2196 {
2197 if (!IsMeleeWeapon)
2198 {
2199 return IsRangedWeapon;
2200 }
2201 return true;
2202 }
2203 }
bool IsMeleeWeapon
Definition: Card.cs:2229

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

◆ isWeightChanged

bool Card.isWeightChanged
getset

Definition at line 661 of file Card.cs.

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

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

◆ LER

int Card.LER
get

Definition at line 2329 of file Card.cs.

◆ LightColor

Color Card.LightColor
get

Definition at line 1108 of file Card.cs.

Referenced by ActPlan._Update().

◆ LightData

LightData Card.LightData
get

Definition at line 2417 of file Card.cs.

2418 {
2419 get
2420 {
2421 if (_LightData == null)
2422 {
2423 return _LightData = ((!sourceCard.lightData.IsEmpty()) ? EClass.Colors.lightColors[sourceCard.lightData] : null);
2424 }
2425 return _LightData;
2426 }
2427 }
string lightData
Definition: CardRow.cs:13
LightData _LightData
Definition: Card.cs:97
UD_String_LightData lightColors

Referenced by ActPlan._Update().

◆ LUC

int Card.LUC
get

Definition at line 2339 of file Card.cs.

◆ LV

int Card.LV
getset

Definition at line 385 of file Card.cs.

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

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(), 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(), CoreDebug.QuickStart(), WindowChara.RefreshNote(), WindowChara.RefreshProfile(), LayerQuestBoard.RefreshRanking(), Chara.RefreshSpeed(), CalcMoney.Revive(), 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.TickConditions(), Chara.TryIdentify(), and DramaOutcome.upgrade_miscreation().

◆ MAG

int Card.MAG
get

Definition at line 2333 of file Card.cs.

◆ material

◆ MaxDecay

virtual int Card.MaxDecay
get

Definition at line 2273 of file Card.cs.

◆ MaxHP

virtual int Card.MaxHP
get

Definition at line 2281 of file Card.cs.

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

◆ Name

string Card.Name
get

Definition at line 2125 of file Card.cs.

Referenced by InvOwnerRecycle._OnProcess(), BuildMenu._Search(), Party.AddMemeber(), 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(), TraitSyringeGene.TrySetHeldAct(), TraitSyringeHeaven.TrySetHeldAct(), TraitWrench.TrySetHeldAct(), Map.TryShatter(), GoalCombat.TryUseAbility(), CoreDebug.UpdateInput(), CraftUtil.WrapIngredient(), HomeResourceWorth.WriteNote(), EloPos.WriteNote(), and TraitBookSkill.WriteNote().

◆ NameOne

string Card.NameOne
get

Definition at line 2129 of file Card.cs.

Referenced by BuildMenu._Search().

◆ NameSimple

◆ noMove

bool Card.noMove
getset

◆ noSell

bool Card.noSell
getset

Definition at line 829 of file Card.cs.

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

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

◆ noShadow

bool Card.noShadow
getset

Definition at line 817 of file Card.cs.

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

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

◆ noSnow

bool Card.noSnow
getset

Definition at line 757 of file Card.cs.

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

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

◆ Num

int Card.Num
getset

Definition at line 157 of file Card.cs.

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

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

◆ PER

int Card.PER
get

Definition at line 2327 of file Card.cs.

Referenced by ActRanged.Perform().

◆ posInvX

int Card.posInvX
getset

Definition at line 337 of file Card.cs.

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

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

◆ posInvY

int Card.posInvY
getset

Definition at line 349 of file Card.cs.

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

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

◆ Power

virtual int Card.Power
get

Definition at line 2283 of file Card.cs.

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

◆ Pref

◆ PrefIndex

virtual int Card.PrefIndex
get

Definition at line 2299 of file Card.cs.

2300 {
2301 get
2302 {
2303 if (Tiles.Length < 3)
2304 {
2305 return dir % 2;
2306 }
2307 return dir;
2308 }
2309 }

Referenced by CardRenderer.Draw().

◆ PV

virtual int Card.PV
get

Definition at line 2315 of file Card.cs.

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

◆ Quality

int Card.Quality
get

Definition at line 2413 of file Card.cs.

Referenced by GetTotalQuality().

◆ QualityLv

int Card.QualityLv
get

Definition at line 2415 of file Card.cs.

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

◆ rarity

◆ rarityLv

int Card.rarityLv
getset

Definition at line 301 of file Card.cs.

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

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

◆ refCard

CardRow Card.refCard
get

Definition at line 1954 of file Card.cs.

1955 {
1956 get
1957 {
1958 object obj;
1959 if (!c_idRefCard.IsEmpty())
1960 {
1961 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard);
1962 if (obj == null)
1963 {
1964 return EClass.sources.cards.map["ash3"];
1965 }
1966 }
1967 else
1968 {
1969 obj = null;
1970 }
1971 return (CardRow)obj;
1972 }
1973 }

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

◆ refCard2

CardRow Card.refCard2
get

Definition at line 1975 of file Card.cs.

1976 {
1977 get
1978 {
1979 object obj;
1980 if (!c_idRefCard2.IsEmpty())
1981 {
1982 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard2);
1983 if (obj == null)
1984 {
1985 return EClass.sources.cards.map["ash3"];
1986 }
1987 }
1988 else
1989 {
1990 obj = null;
1991 }
1992 return (CardRow)obj;
1993 }
1994 }

◆ refVal

◆ SelfWeight

virtual int Card.SelfWeight
get

Definition at line 2033 of file Card.cs.

Referenced by AI_Eat.Run().

◆ ShouldShowMsg

bool Card.ShouldShowMsg
get

Definition at line 2441 of file Card.cs.

2442 {
2443 get
2444 {
2445 if (IsPC || parent == EClass.pc || isSynced)
2446 {
2447 if (isChara)
2448 {
2449 return !Chara.isDead;
2450 }
2451 return true;
2452 }
2453 return false;
2454 }
2455 }
bool isDead
Definition: Chara.cs:389

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

◆ ShowFoodEnc

bool Card.ShowFoodEnc
get

Definition at line 2177 of file Card.cs.

2178 {
2179 get
2180 {
2182 {
2183 if (Evalue(10) > 0)
2184 {
2186 }
2187 return false;
2188 }
2189 return true;
2190 }
2191 }
bool IsInheritFoodTraits
Definition: Card.cs:2166

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

◆ socketList

List<SocketData> Card.socketList
getset

Definition at line 1796 of file Card.cs.

1797 {
1798 get
1799 {
1800 return GetObj<List<SocketData>>(17);
1801 }
1802 set
1803 {
1804 SetObj(17, value);
1805 }
1806 }

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

◆ sourceBacker

SourceBacker.Row Card.sourceBacker
get

Definition at line 927 of file Card.cs.

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

◆ sourceCard

◆ sourceRenderCard

virtual CardRow Card.sourceRenderCard
get

◆ STR

int Card.STR
get

Definition at line 2321 of file Card.cs.

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

◆ TextRarity

string Card.TextRarity
get

Definition at line 2367 of file Card.cs.

◆ Thing

virtual Thing Card.Thing
get

Definition at line 2045 of file Card.cs.

2046 {
2047 get
2048 {
2049 if (!isThing)
2050 {
2051 return null;
2052 }
2053 return (Thing)this;
2054 }
2055 }

Referenced by 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(), 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(), TraitSeed.TrySprout(), TraitFoodEgg.Update(), and UIDragGridIngredients.Update().

◆ tier

int Card.tier
getset

Definition at line 409 of file Card.cs.

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

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

◆ Tiles

virtual int [] Card.Tiles
get

Definition at line 2297 of file Card.cs.

◆ TileType

◆ Tool

◆ uid

int Card.uid
getset

Definition at line 121 of file Card.cs.

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

Referenced by CardManager.GlobalCharaList.Add(), CharaList.Add(), FactionBranch.AddMemeber(), Party.AddMemeber(), Faction.AddReserve(), ElementContainer.ApplyMaterialElementMap(), 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(), TraitBed.IsHolder(), TraitShackle.IsRestraining(), UICharaMaker.ListJob(), UICharaMaker.ListRace(), CraftUtil.MakeBloodMeal(), Chara.MakeMinion(), TraitTeleporter.OnChangePlaceState(), BaseListPeople.OnClick(), ListPeopleExpedition.OnClick(), Player.OnCreateGame(), QuestDeliver.OnEnterZone(), Game.OnGameInstantiated(), ListPeopleExpedition.OnList(), ConSleep.OnRemoved(), Chara.OnSerializing(), QuestEscort.OnStart(), TraitGeneMachine.OnUse(), ZoneEventSiege.OnVisit(), HotItemEQSet.Perform(), 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(), 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 421 of file Card.cs.

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

Referenced by _OnDeserialized(), and Create().

◆ visitorState

VisitorState Card.visitorState
getset

Definition at line 1196 of file Card.cs.

1197 {
1198 get
1199 {
1200 return GetInt(4).ToEnum<VisitorState>();
1201 }
1202 set
1203 {
1204 SetInt(4, (int)value);
1205 }
1206 }
VisitorState
Definition: VisitorState.cs:2

◆ W

int Card.W
get

Definition at line 2341 of file Card.cs.

2342 {
2343 get
2344 {
2345 if (dir % 2 != 0)
2346 {
2347 return sourceCard.H;
2348 }
2349 return sourceCard.W;
2350 }
2351 }

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

◆ WeightLimit

virtual int Card.WeightLimit
get

Definition at line 2035 of file Card.cs.

Referenced by UICurrency.Build().

◆ WIL

int Card.WIL
get

Definition at line 2331 of file Card.cs.

Referenced by AttackProcess.Prepare().


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