Elin Decompiled Documentation EA 23.153 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 ()
 
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 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)
 
SocketData GetRuneEnc (int idEle)
 
int CountRune ()
 
int MaxRune ()
 
bool CanAddRune (SourceElement.Row row)
 
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 int ApplyProtection (int dmg, int mod=100)
 
void DamageHP (int dmg, AttackSource attackSource=AttackSource.None, Card origin=null)
 
void DamageHP (int dmg, int ele, int eleP=100, AttackSource attackSource=AttackSource.None, Card origin=null, bool showEffect=true, Thing weapon=null)
 
virtual void Die (Element e=null, Card origin=null, AttackSource attackSource=AttackSource.None)
 
void Explode (Point p, Card origin)
 
void Deconstruct ()
 
void Destroy ()
 
void SpawnLoot (Card origin)
 
Thing TryMakeRandomItem (int lv=-1)
 
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)
 
void 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 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 (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
 
- 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 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 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_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]
 
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 5594 of file Card.cs.

5595 {
5596 renderer = new CardRenderer();
5597 renderer.SetOwner(this);
5598 return renderer;
5599 }
virtual void SetOwner(Card c)
Definition: CardRenderer.cs:38
CardRenderer renderer
Definition: Card.cs:57

References CardRenderer.SetOwner().

Referenced by _OnDeserialized(), and Create().

◆ _Move()

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

Reimplemented in Chara.

Definition at line 5469 of file Card.cs.

5470 {
5471 EClass._map.MoveCard(p, this);
5472 if (isChara)
5473 {
5474 Chara.SyncRide();
5475 }
5476 return MoveResult.Success;
5477 }
MoveResult
Definition: Card.cs:13
virtual bool isChara
Definition: Card.cs:2019
Definition: Chara.cs:10
void SyncRide()
Definition: Chara.cs:3655
Definition: EClass.cs:5
static Map _map
Definition: EClass.cs:18
void MoveCard(Point p, Card t)
Definition: Map.cs:835

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

2629 {
2630 _bits1.SetInt(_ints[0]);
2631 _bits2.SetInt(_ints[2]);
2633 pos.Set(_x, _z);
2634 SetSource();
2635 things.SetOwner(this);
2636 elements.SetOwner(this, applyFeat: false);
2638 ApplyTrait();
2639 ApplyMaterialElements(remove: false);
2641 foreach (Thing thing in things)
2642 {
2643 thing.parent = this;
2644 }
2645 if (isThing && Num <= 0)
2646 {
2647 isDestroyed = true;
2648 }
2649 }
bool isDestroyed
Definition: Card.cs:71
BitArray32 _bits1
Definition: Card.cs:75
virtual bool isThing
Definition: Card.cs:2017
virtual void ApplyMaterialElements(bool remove)
Definition: Card.cs:2948
ElementContainerCard elements
Definition: Card.cs:37
virtual void SetSource()
Definition: Card.cs:2771
BitArray32 _bits2
Definition: Card.cs:77
virtual CardRenderer _CreateRenderer()
Definition: Card.cs:5594
PlaceState placeState
Definition: Card.cs:79
Point pos
Definition: Card.cs:55
virtual void OnDeserialized()
Definition: Card.cs:2651
int[] _ints
Definition: Card.cs:28
void ApplyTrait()
Definition: Card.cs:2800
ThingContainer things
Definition: Card.cs:34
int _z
Definition: Card.cs:178
PlaceState _placeState
Definition: Card.cs:274
int Num
Definition: Card.cs:154
int _x
Definition: Card.cs:166
void SetOwner(Card c, bool applyFeat)
Point Set(int _x, int _z)
Definition: Point.cs:491
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, isDestroyed, isThing, Num, OnDeserialized(), placeState, pos, Point.Set(), BitArray32.SetInt(), ElementContainerCard.SetOwner(), ThingContainer.SetOwner(), SetSource(), and things.

◆ _OnSerializing()

void Card._OnSerializing ( StreamingContext  context)
inlineprivate

Definition at line 2612 of file Card.cs.

2613 {
2614 _x = pos.x;
2615 _z = pos.z;
2616 _ints[0] = _bits1.ToInt();
2617 _ints[2] = _bits2.ToInt();
2619 version = 1;
2620 OnSerializing();
2621 }
int version
Definition: Card.cs:406
virtual void OnSerializing()
Definition: Card.cs:2623
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(), version, Point.x, and Point.z.

◆ Add()

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

◆ AddBlood()

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

Definition at line 5601 of file Card.cs.

5602 {
5603 if (!EClass._zone.IsRegion)
5604 {
5605 for (int i = 0; i < a; i++)
5606 {
5607 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);
5608 }
5609 PlaySound("blood");
5610 }
5611 }
SourceMaterial.Row material
Definition: Card.cs:1987
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5776
SourceRace.Row race
Definition: Chara.cs:460
static int rnd(int a)
Definition: EClass.cs:58
static Zone _zone
Definition: EClass.cs:20
void AddDecal(int x, int z, int id, int amount=1, bool refresh=true)
Definition: Map.cs:2007
virtual bool IsRegion
Definition: Spatial.cs:501

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

2542 {
2543 c_editorTags = (c_editorTags.IsEmpty() ? tag.ToString() : (c_editorTags + "," + tag));
2544 }
string c_editorTags
Definition: Card.cs:1661

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

2867 {
2868 a = a * GetExpMtp() / 100;
2869 exp += a;
2870 while (exp >= ExpToNext)
2871 {
2872 exp -= ExpToNext;
2873 LevelUp();
2874 }
2875 }
int ExpToNext
Definition: Card.cs:1944
void LevelUp()
Definition: Card.cs:2909
int exp
Definition: Card.cs:382
int GetExpMtp()
Definition: Card.cs:2877

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

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

◆ AddRune() [1/2]

SocketData Card.AddRune ( Card  rune)
inline

Definition at line 3459 of file Card.cs.

3460 {
3461 return AddRune(rune.refVal, rune.encLV);
3462 }
SocketData AddRune(Card rune)
Definition: Card.cs:3459
int refVal
Definition: Card.cs:190
int encLV
Definition: Card.cs:310

References AddRune(), encLV, and refVal.

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

◆ AddRune() [2/2]

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

Definition at line 3464 of file Card.cs.

3465 {
3466 if (socketList == null)
3467 {
3468 socketList = new List<SocketData>();
3469 }
3470 SourceElement.Row row = EClass.sources.elements.map[idEle];
3471 SocketData socketData = new SocketData
3472 {
3473 idEle = idEle,
3474 value = v,
3475 type = SocketData.Type.Rune
3476 };
3477 socketList.Add(socketData);
3478 if (IsWeapon || !row.IsWeaponEnc)
3479 {
3480 elements.SetTo(idEle, v);
3481 }
3482 return socketData;
3483 }
List< SocketData > socketList
Definition: Card.cs:1757
bool IsWeapon
Definition: Card.cs:2142
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 3402 of file Card.cs.

3403 {
3404 if (sockets == null)
3405 {
3406 sockets = new List<int>();
3407 }
3408 sockets.Add(0);
3409 }
List< int > sockets
Definition: Card.cs:43

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

3026 {
3027 if (t.Num == 0 || t.isDestroyed)
3028 {
3029 Debug.LogWarning("tried to add destroyed thing:" + t.Num + "/" + t.isDestroyed + "/" + t?.ToString() + "/" + this);
3030 return t;
3031 }
3032 if (t.parent == this)
3033 {
3034 Debug.LogWarning("already child:" + t);
3035 return t;
3036 }
3037 if (things.Contains(t))
3038 {
3039 Debug.Log("already in the list" + t);
3040 return t;
3041 }
3042 _ = t.parent;
3043 _ = EClass._zone;
3044 bool flag = IsPC && t.GetRootCard() == EClass.pc;
3045 if (t.parent != null)
3046 {
3047 t.parent.RemoveCard(t);
3048 }
3049 if (t.trait.ToggleType == ToggleType.Fire && destInvY == 0)
3050 {
3051 t.trait.Toggle(on: false);
3052 }
3053 t.isMasked = false;
3054 t.ignoreAutoPick = false;
3055 t.parent = this;
3056 t.noShadow = false;
3057 t.isSale = false;
3058 if (t.IsContainer)
3059 {
3060 t.RemoveEditorTag(EditorTag.PreciousContainer);
3061 }
3062 t.invX = -1;
3063 if (destInvY == -1)
3064 {
3065 t.invY = 0;
3066 }
3067 if (t.IsUnique && t.HasTag(CTAG.godArtifact) && t.GetRootCard() is Chara { IsPCFactionOrMinion: not false })
3068 {
3070 }
3071 Thing thing = (tryStack ? things.TryStack(t, destInvX, destInvY) : t);
3072 if (t == thing)
3073 {
3074 things.Add(t);
3075 things.OnAdd(t);
3076 }
3077 if (thing == t && IsPC && EClass.core.IsGameStarted && EClass._map != null && parent == EClass.game.activeZone && pos.IsValid && !flag)
3078 {
3079 NotifyAddThing(t, t.Num);
3080 }
3081 if (t == thing && isThing && parent == EClass._zone && placeState != 0)
3082 {
3084 }
3087 {
3089 LayerInventory.SetDirty(thing);
3090 }
3091 if (IsPC)
3092 {
3093 goto IL_029f;
3094 }
3095 if (IsContainer)
3096 {
3097 Card rootCard = GetRootCard();
3098 if (rootCard != null && rootCard.IsPC)
3099 {
3100 goto IL_029f;
3101 }
3102 }
3103 goto IL_0345;
3104 IL_0345:
3105 return thing;
3106 IL_029f:
3107 t.isNPCProperty = false;
3108 t.isGifted = false;
3109 int count = 0;
3110 HashSet<string> ings = EClass.player.recipes.knownIngredients;
3111 TryAdd(t);
3112 if (t.CanSearchContents)
3113 {
3114 t.things.Foreach(delegate(Thing _t)
3115 {
3116 TryAdd(_t);
3117 });
3118 }
3119 if (count > 0 && EClass.core.IsGameStarted)
3120 {
3121 Msg.Say((count == 1) ? "newIng" : "newIngs", count.ToString() ?? "");
3122 }
3123 goto IL_0345;
3124 void TryAdd(Thing a)
3125 {
3126 if (!ings.Contains(a.id))
3127 {
3128 ings.Add(a.id);
3129 count++;
3130 if (a.sourceCard.origin != null && !ings.Contains(a.sourceCard.origin.id))
3131 {
3132 ings.Add(a.sourceCard.origin.id);
3133 }
3134 }
3135 }
3136 }
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:3138
void RemoveEditorTag(EditorTag tag)
Definition: Card.cs:2546
string id
Definition: Card.cs:31
bool IsUnique
Definition: Card.cs:2027
ICardParent parent
Definition: Card.cs:51
void NotifyAddThing(Thing t, int num)
Definition: Card.cs:3016
bool HasTag(CTAG tag)
Definition: Card.cs:2531
void SetDirtyWeight()
Definition: Card.cs:2490
Trait trait
Definition: Card.cs:49
bool ShouldTrySetDirtyInventory()
Definition: Card.cs:3240
virtual bool IsPC
Definition: Card.cs:2079
Card GetRootCard()
Definition: Card.cs:3287
bool IsContainer
Definition: Card.cs:2025
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:245
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:913
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:80
override CardRow sourceCard
Definition: Thing.cs:47
virtual void Toggle(bool on, bool silent=false)
Definition: Trait.cs:1144
virtual ToggleType ToggleType
Definition: Trait.cs:462
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 6599 of file Card.cs.

6600 {
6601 ChangeRarity(Rarity.Normal);
6602 SourceBacker.Row row = EClass.sources.backers.map.TryGetValue(bid);
6603 if (row == null)
6604 {
6605 return;
6606 }
6607 c_idBacker = row.id;
6608 if (row.type == 4)
6609 {
6611 Chara chara = Chara;
6612 Hostility hostility2 = (Chara.c_originalHostility = Hostility.Neutral);
6613 chara.hostility = hostility2;
6614 }
6615 if (row.type == 6)
6616 {
6619 Chara.idFaith = row.deity.ToLower();
6620 }
6621 if (row.type == 4 || row.type == 5 || row.type == 7)
6622 {
6623 idSkin = ((row.skin == 0) ? EClass.rnd(sourceCard._tiles.Length) : row.skin);
6624 if (id == "putty_snow")
6625 {
6626 idSkin = 0;
6627 }
6628 }
6629 if (bid == 164)
6630 {
6631 Chara.EQ_ID("amulet_moonnight");
6632 }
6633 }
Hostility
Definition: Hostility.cs:2
Rarity
Definition: Rarity.cs:2
void SetGender(int g)
Definition: Biography.cs:454
void SetPortrait(Chara c)
Definition: Biography.cs:463
virtual Chara Chara
Definition: Card.cs:2006
Biography bio
Definition: Card.cs:40
int c_idBacker
Definition: Card.cs:1397
int idSkin
Definition: Card.cs:346
virtual CardRow sourceCard
Definition: Card.cs:2067
virtual void ChangeRarity(Rarity q)
Definition: Card.cs:3765
Thing EQ_ID(string s, int mat=-1, Rarity r=Rarity.Random)
Definition: Chara.cs:4666
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 2775 of file Card.cs.

2776 {
2777 switch (tag)
2778 {
2779 case EditorTag.Hidden:
2780 SetHidden();
2781 break;
2782 case EditorTag.Empty:
2783 RemoveThings();
2784 break;
2785 case EditorTag.IsOn:
2786 isOn = true;
2787 break;
2788 case EditorTag.IsOff:
2789 isOn = false;
2790 break;
2791 case EditorTag.NoSnow:
2792 noSnow = true;
2793 break;
2794 case EditorTag.Boss:
2795 EClass._zone.Boss = Chara;
2796 break;
2797 }
2798 }
Card SetHidden(bool hide=true)
Definition: Card.cs:5462
bool isOn
Definition: Card.cs:526
bool noSnow
Definition: Card.cs:742
void RemoveThings()
Definition: Card.cs:3171

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

Referenced by SerializedCards.Restore().

◆ ApplyMaterial()

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

Reimplemented in Thing.

Definition at line 2952 of file Card.cs.

2953 {
2954 _colorInt = 0;
2955 }
int _colorInt
Definition: Card.cs:63

References _colorInt.

Referenced by ChangeMaterial(), and Create().

◆ ApplyMaterialElements()

virtual void Card.ApplyMaterialElements ( bool  remove)
inlinevirtual

Reimplemented in Thing.

Definition at line 2948 of file Card.cs.

2949 {
2950 }

Referenced by _OnDeserialized(), and ModEncLv().

◆ ApplyNewLine()

string Card.ApplyNewLine ( string  text)
inline

Definition at line 6390 of file Card.cs.

6391 {
6392 if (text.Contains("&"))
6393 {
6394 string text2 = "_comma".lang();
6395 text = text.Replace(text2 + " &", Environment.NewLine ?? "");
6396 text = text.Replace(text2 + "&", Environment.NewLine ?? "");
6397 text = text.Replace("&", Environment.NewLine ?? "");
6398 }
6399 return text;
6400 }

◆ ApplyProtection()

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

Definition at line 3883 of file Card.cs.

3884 {
3885 int armorSkill = GetArmorSkill();
3886 Element orCreateElement = elements.GetOrCreateElement(armorSkill);
3887 int num = PV + orCreateElement.Value + DEX / 10;
3888 int num2 = 1;
3889 int sides = 1;
3890 int bonus = 0;
3891 if (num > 0)
3892 {
3893 int num3 = num / 4;
3894 num2 = num3 / 10 + 1;
3895 sides = num3 / num2 + 1;
3896 bonus = 0;
3897 dmg = dmg * 100 / (100 + num);
3898 }
3899 int num4 = Dice.Roll(num2, sides, bonus, this);
3900 dmg -= num4 * mod / 100;
3901 if (dmg < 0)
3902 {
3903 dmg = 0;
3904 }
3905 return dmg;
3906 }
virtual int PV
Definition: Card.cs:2263
int DEX
Definition: Card.cs:2271
virtual int GetArmorSkill()
Definition: Card.cs:3878
Definition: Dice.cs:4
static int Roll(int num, int sides, int bonus=0, Card card=null)
Definition: Dice.cs:15
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 3419 of file Card.cs.

3420 {
3421 for (int i = 0; i < sockets.Count; i++)
3422 {
3423 if (sockets[i] == 0)
3424 {
3425 if (lv >= 100)
3426 {
3427 lv = 99;
3428 }
3429 sockets[i] = id * 100 + lv;
3430 elements.ModBase(id, lv);
3431 mod?.Destroy();
3432 break;
3433 }
3434 }
3435 }
void Destroy()
Definition: Card.cs:4783
Element ModBase(int ele, int v)

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

◆ ApplySocket() [2/2]

void Card.ApplySocket ( Thing  t)
inline

Definition at line 3411 of file Card.cs.

3412 {
3413 if (t.trait is TraitMod traitMod && sockets != null)
3414 {
3415 ApplySocket(traitMod.source.id, traitMod.owner.encLV, traitMod.owner);
3416 }
3417 }
void ApplySocket(Thing t)
Definition: Card.cs:3411

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

6476 {
6477 if (text.IsEmpty())
6478 {
6479 return text;
6480 }
6481 string[] array = _tones.IsEmpty("").Split('|');
6482 string key = array[0];
6483 string text2 = "";
6485 if (!Lang.setting.useTone || MOD.tones.list.Count == 0)
6486 {
6487 text2 = text.Replace("{", "").Replace("}", "");
6488 }
6489 else
6490 {
6491 if (array[0].IsEmpty())
6492 {
6493 key = "default";
6494 }
6495 if (MOD.tones.all.ContainsKey(key))
6496 {
6497 StringBuilder stringBuilder = MOD.tones.ApplyTone(key, ref text, gender);
6498 if (Lang.isJP && c != null && c.trait.EnableTone)
6499 {
6500 if (array.Length >= 2)
6501 {
6502 stringBuilder.Replace("_toneI".lang(), array[1]);
6503 }
6504 if (array.Length >= 3)
6505 {
6506 stringBuilder.Replace("_toneYou".lang(), array[2]);
6507 }
6508 }
6509 text2 = stringBuilder.ToString();
6510 }
6511 else
6512 {
6513 text2 = text.Replace("{", "").Replace("}", "");
6514 }
6515 }
6516 if (c != null)
6517 {
6518 text2 = text2.Replace("#me", c.NameSimple);
6519 }
6520 if (!stripPun || !Lang.setting.stripPuns)
6521 {
6522 return text2;
6523 }
6524 return text2.StripLastPun();
6525 }
string NameSimple
Definition: Card.cs:2075
new TraitChara trait
Definition: Chara.cs:499
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
virtual bool EnableTone
Definition: TraitChara.cs:101

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

◆ ApplyTone() [2/2]

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

Definition at line 6469 of file Card.cs.

6470 {
6471 text = GameLang.ConvertDrama(text, Chara);
6472 return ApplyTone(Chara, ref text, c_idTone, bio?.gender ?? 0, stripPun);
6473 }
string c_idTone
Definition: Card.cs:1493
string ApplyTone(string text, bool stripPun=false)
Definition: Card.cs:6469
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 2800 of file Card.cs.

2801 {
2802 string str = c_idTrait;
2803 if (str.IsEmpty())
2804 {
2805 if (sourceCard.trait.IsEmpty())
2806 {
2807 trait = (isChara ? new TraitChara() : new Trait());
2808 }
2809 else
2810 {
2811 trait = ClassCache.Create<Trait>("Trait" + sourceCard.trait[0], "Elin");
2812 }
2813 }
2814 else
2815 {
2816 trait = ClassCache.Create<Trait>(str, "Elin");
2817 }
2818 trait.SetOwner(this);
2819 }
string[] trait
Definition: CardRow.cs:33
string c_idTrait
Definition: Card.cs:1685
Definition: Trait.cs:7
virtual void SetOwner(Card _owner)
Definition: Trait.cs:629

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

6101 {
6102 int radius = GetLightRadius();
6103 if (radius == 0 || !IsAliveInCurrentZone || !EClass._zone.isStarted)
6104 {
6105 return;
6106 }
6107 float power = GetLightPower();
6108 if (IsPC)
6109 {
6110 if (Chara.held != null && Chara.held.GetLightRadius() > 0)
6111 {
6112 power += Chara.held.GetLightPower();
6113 }
6114 if (radius <= 2)
6115 {
6116 power = 0f;
6117 }
6118 foreach (Condition condition in Chara.conditions)
6119 {
6120 condition.OnCalculateFov(fov, ref radius, ref power);
6121 }
6122 if (power > EClass.scene.profile.global.playerLightPowerLimit)
6123 {
6124 power = EClass.scene.profile.global.playerLightPowerLimit;
6125 }
6126 power *= EClass.scene.profile.light.playerLightMod + (float)EClass.player.customLightMod * EClass.scene.profile.light.playerLightCustomMod;
6127 EClass.player.lightRadius = radius;
6128 EClass.player.lightPower = power;
6129 }
6130 if (fov == null)
6131 {
6132 fov = CreateFov();
6133 }
6134 fov.Perform(pos.x, pos.z, radius, power * 2f);
6135 }
float GetLightPower()
Definition: Card.cs:6007
Fov fov
Definition: Card.cs:53
Fov CreateFov()
Definition: Card.cs:6142
virtual bool IsAliveInCurrentZone
Definition: Card.cs:2063
int GetLightRadius()
Definition: Card.cs:6030
Card held
Definition: Chara.cs:70
List< Condition > conditions
Definition: Chara.cs:207
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:1013
int lightRadius
Definition: Player.cs:1005
int customLightMod
Definition: Player.cs:778
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 ( SourceElement::Row  row)
inline

Definition at line 3521 of file Card.cs.

3522 {
3523 if (category.slot == 0)
3524 {
3525 return false;
3526 }
3527 if (material.HasEnc(row.id))
3528 {
3529 return false;
3530 }
3531 if (!IsWeapon && row.IsWeaponEnc)
3532 {
3533 return false;
3534 }
3535 if (row.category == "resist")
3536 {
3537 foreach (Element item in elements.ListElements())
3538 {
3539 if (item.source.category == "resist" && (item.vBase != 0 || item.vSource != 0))
3540 {
3541 return false;
3542 }
3543 }
3544 }
3545 string encSlot = row.encSlot;
3546 if (encSlot == null || encSlot.Length != 0)
3547 {
3548 switch (encSlot)
3549 {
3550 default:
3551 {
3552 bool flag = false;
3553 string[] array = row.encSlot.Split(',');
3554 foreach (string key in array)
3555 {
3556 if (EClass.sources.elements.alias[key].id == category.slot)
3557 {
3558 flag = true;
3559 }
3560 }
3561 if (!flag)
3562 {
3563 return false;
3564 }
3565 break;
3566 }
3567 case "global":
3568 case "all":
3569 case "weapon":
3570 break;
3571 }
3572 }
3573 return CountRune() < MaxRune();
3574 }
int MaxRune()
Definition: Card.cs:3516
int CountRune()
Definition: Card.cs:3500
SourceCategory.Row category
Definition: Card.cs:1985
List< Element > ListElements(Func< Element, bool > shoudList=null, Comparison< Element > comparison=null)

References category, CountRune(), elements, SourceManager.elements, IsWeapon, item, ElementContainer.ListElements(), material, MaxRune(), and EClass.sources.

Referenced by InvOwnerMod.ShouldShowGuide().

◆ CanBeSheared()

bool Card.CanBeSheared ( )
inline

Definition at line 7454 of file Card.cs.

7455 {
7457 {
7458 return false;
7459 }
7460 if (!HaveFur() || c_fur < 0)
7461 {
7462 return false;
7463 }
7464 return true;
7465 }
bool HaveFur()
Definition: Card.cs:7440
int c_fur
Definition: Card.cs:1301
virtual bool IsUserZone
Definition: Zone.cs:266

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

2429 {
2430 if (reservedAct != null && reservedAct != act)
2431 {
2432 return !reservedAct.IsRunning;
2433 }
2434 return true;
2435 }
virtual bool IsRunning
Definition: AIAct.cs:31
AIAct reservedAct
Definition: Card.cs:45

References AIAct.IsRunning, and reservedAct.

Referenced by TryReserve().

◆ CanStackTo()

virtual bool Card.CanStackTo ( Thing  to)
inlinevirtual

Reimplemented in Thing.

Definition at line 3253 of file Card.cs.

3254 {
3255 return false;
3256 }

Referenced by TryStackTo().

◆ ChangeAltitude()

void Card.ChangeAltitude ( int  a)
inline

Definition at line 5882 of file Card.cs.

5883 {
5884 altitude += a;
5885 if (altitude < 0)
5886 {
5887 altitude = 0;
5888 }
5890 {
5892 }
5893 }
int altitude
Definition: Card.cs:214
virtual int MaxAltitude
Definition: TileType.cs:207

References TileType.MaxAltitude.

◆ ChangeMaterial() [1/3]

◆ ChangeMaterial() [2/3]

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

Definition at line 2967 of file Card.cs.

2968 {
2969 if (sourceCard.fixedMaterial && !ignoreFixedMaterial)
2970 {
2971 return this;
2972 }
2973 ApplyMaterial(remove: true);
2974 _material = row;
2975 idMaterial = row.id;
2976 decay = 0;
2977 dirtyWeight = true;
2978 Card rootCard = GetRootCard();
2979 if (rootCard != null && rootCard.IsPC)
2980 {
2982 }
2983 if (isThing)
2984 {
2986 }
2987 ApplyMaterial();
2988 return this;
2989 }
int idMaterial
Definition: Card.cs:130
bool dirtyWeight
Definition: Card.cs:81
SourceMaterial.Row _material
Definition: Card.cs:87
int decay
Definition: Card.cs:202
virtual void ApplyMaterial(bool remove=false)
Definition: Card.cs:2952
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 2962 of file Card.cs.

2963 {
2964 return ChangeMaterial(EClass.sources.materials.alias[idNew], ignoreFixedMaterial);
2965 }

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

◆ ChangeRarity()

virtual void Card.ChangeRarity ( Rarity  q)
inlinevirtual

Reimplemented in Chara.

Definition at line 3765 of file Card.cs.

3766 {
3767 rarity = q;
3768 }
Rarity rarity
Definition: Card.cs:298

References rarity.

Referenced by TaskHarvest.OnCreateProgress().

◆ ChangeWeight()

void Card.ChangeWeight ( int  a)
inline

Definition at line 2500 of file Card.cs.

2501 {
2502 c_weight = a;
2503 isWeightChanged = true;
2505 }
int c_weight
Definition: Card.cs:1337
bool isWeightChanged
Definition: Card.cs:646

References c_weight, isWeightChanged, and SetDirtyWeight().

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

◆ CheckJustCooked()

void Card.CheckJustCooked ( )
inline

Definition at line 6229 of file Card.cs.

6230 {
6231 if (HasElement(757) && c_dateCooked <= EClass.world.date.GetRaw() - 120)
6232 {
6233 c_dateCooked = 0;
6234 elements.Remove(757);
6235 }
6236 }
bool HasElement(int ele, int req=1)
Definition: Card.cs:5566
int c_dateCooked
Definition: Card.cs:1313
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 2858 of file Card.cs.

2859 {
2860 if (elements.Base(286) > 50)
2861 {
2862 elements.SetTo(286, 50 + (int)Mathf.Sqrt(elements.Base(286) - 50));
2863 }
2864 }

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

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

◆ ClearFOV()

void Card.ClearFOV ( )
inline

Definition at line 6189 of file Card.cs.

6190 {
6191 if (fov != null && fov.lastPoints.Count != 0)
6192 {
6193 fov.Perform(pos.x, pos.z, 0);
6194 }
6195 }
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 6676 of file Card.cs.

6677 {
6678 if ((bool)_paintSprite)
6679 {
6680 UnityEngine.Object.Destroy(_paintSprite.texture);
6681 UnityEngine.Object.Destroy(_paintSprite);
6682 _paintSprite = null;
6683 }
6684 }
Sprite _paintSprite
Definition: Card.cs:95

Referenced by LayerPixelPaint.SetCanvas().

◆ CountRune()

int Card.CountRune ( )
inline

Definition at line 3500 of file Card.cs.

3501 {
3502 int num = 0;
3503 if (socketList != null)
3504 {
3505 foreach (SocketData socket in socketList)
3506 {
3507 if (socket.type == SocketData.Type.Rune)
3508 {
3509 num++;
3510 }
3511 }
3512 }
3513 return num;
3514 }
Type type
Definition: SocketData.cs:18

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

2661 {
2662 if (CardBlueprint.current != null)
2663 {
2665 CardBlueprint.current = null;
2666 }
2667 else
2668 {
2670 }
2671 id = _id;
2672 Num = 1;
2673 autoRefuel = true;
2674 EClass.game.cards.AssignUID(this);
2675 isNew = true;
2676 SetSource();
2678 if (sourceCard.quality != 0)
2679 {
2680 rarity = sourceCard.quality.ToEnum<Rarity>();
2681 }
2682 else if (bp.rarity != Rarity.Random)
2683 {
2684 rarity = bp.rarity;
2685 }
2686 else if (category.slot != 0 && category.slot != 45 && category.slot != 44)
2687 {
2688 if (EClass.rnd(10) == 0)
2689 {
2690 rarity = Rarity.Crude;
2691 }
2692 else if (EClass.rnd(10) == 0)
2693 {
2694 rarity = Rarity.Superior;
2695 }
2696 else if (EClass.rnd(80) == 0)
2697 {
2698 rarity = Rarity.Legendary;
2699 }
2700 else if (EClass.rnd(250) == 0)
2701 {
2702 rarity = Rarity.Mythical;
2703 }
2704 }
2705 if (rarity != 0 && category.tag.Contains("fixedRarity"))
2706 {
2707 rarity = Rarity.Normal;
2708 }
2709 LV = DefaultLV;
2710 if (bp.lv != -999)
2711 {
2712 LV = bp.lv;
2713 }
2714 if (id == "microchip")
2715 {
2716 Debug.Log(id + "/" + _idMat + "/" + sourceCard.fixedMaterial);
2717 }
2719 {
2721 }
2722 else
2723 {
2724 bool flag = (bp != null && bp.fixedMat) || sourceCard.quality == 4 || sourceCard.tierGroup.IsEmpty();
2725 if (_idMat != -1)
2726 {
2727 _material = EClass.sources.materials.rows[_idMat];
2728 }
2729 else if (!flag)
2730 {
2731 if (sourceCard.tierGroup == "wood")
2732 {
2733 Debug.Log(id);
2734 }
2736 }
2737 else
2738 {
2740 }
2741 }
2742 idMaterial = _material.id;
2743 things.SetOwner(this);
2744 elements.SetOwner(this, applyFeat: true);
2745 ApplyTrait();
2747 {
2748 tier = Mathf.Clamp(EClass.rnd(5) + 1, 1, 3);
2749 LV = LV + tier * 10 + (LV - 1) * (125 + tier * 25) / 100;
2750 }
2751 ApplyMaterial();
2752 OnCreate(genLv);
2754 trait.OnCreate(genLv);
2755 hp = MaxHP;
2756 if (HasTag(CTAG.hidden))
2757 {
2758 SetHidden();
2759 }
2761 }
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:1989
int tier
Definition: Card.cs:394
bool isFloating
Definition: Card.cs:634
CardBlueprint bp
Definition: Card.cs:73
int DefaultLV
Definition: Card.cs:1946
int hp
Definition: Card.cs:226
virtual void OnBeforeCreate()
Definition: Card.cs:2763
bool autoRefuel
Definition: Card.cs:610
virtual SourcePref Pref
Definition: Card.cs:2043
virtual void OnCreate(int genLv)
Definition: Card.cs:2767
virtual int MaxHP
Definition: Card.cs:2229
bool isNew
Definition: Card.cs:466
bool testThingQuality
Definition: CoreDebug.cs:214
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:43
bool Float
Definition: SourcePref.cs:312
virtual void OnCreate(int lv)
Definition: Trait.cs:656
virtual bool LevelAsQuality
Definition: Trait.cs:189
bool IsPCFaction
Definition: Zone.cs:466

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, 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, and CardBlueprint.tryLevelMatTier.

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

◆ CreateFov()

Fov Card.CreateFov ( )
inline

Definition at line 6142 of file Card.cs.

6143 {
6144 Fov fov = new Fov();
6145 int num = (trait.UseLightColor ? c_lightColor : 0);
6146 if (num != 0)
6147 {
6148 fov.r = (byte)(num / 1024);
6149 fov.g = (byte)(num % 1024 / 32);
6150 fov.b = (byte)(num % 32);
6151 }
6152 else if (LightData != null)
6153 {
6154 fov.r = (byte)(LightData.color.r * 16f);
6155 fov.g = (byte)(LightData.color.g * 16f);
6156 fov.b = (byte)(LightData.color.b * 16f);
6157 }
6158 else if (isChara)
6159 {
6160 fov.r = 0;
6161 fov.g = 0;
6162 fov.b = 0;
6163 }
6164 else
6165 {
6166 fov.r = 3;
6167 fov.g = 2;
6168 fov.b = 1;
6169 }
6170 if (isChara && Chara.held != null && Chara.held.GetLightRadius() > 0)
6171 {
6172 Fov fov2 = Chara.held.CreateFov();
6173 fov.r += fov2.r;
6174 fov.g += fov2.g;
6175 fov.b += fov2.b;
6176 }
6177 if (IsPC)
6178 {
6179 fov.isPC = true;
6180 foreach (Condition condition in Chara.conditions)
6181 {
6182 condition.OnCreateFov(fov);
6183 }
6184 }
6185 fov.limitGradient = IsPCParty && EClass.scene.profile.global.limitGradient;
6186 return fov;
6187 }
virtual bool IsPCParty
Definition: Card.cs:2085
int c_lightColor
Definition: Card.cs:1068
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 ( int  dmg,
AttackSource  attackSource = AttackSource::None,
Card  origin = null 
)
inline

◆ DamageHP() [2/2]

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

Definition at line 3913 of file Card.cs.

3914 {
3915 if (hp < 0)
3916 {
3917 return;
3918 }
3919 Element e;
3920 if (ele == 0 || ele == 926)
3921 {
3922 e = Element.Void;
3923 if (origin != null)
3924 {
3925 dmg = dmg * Mathf.Max(100 + origin.Evalue(93) / 2, 10) / 100;
3926 }
3927 }
3928 else
3929 {
3930 e = Element.Create(ele);
3931 if (attackSource != AttackSource.Condition && showEffect)
3932 {
3933 ActEffect.TryDelay(delegate
3934 {
3935 PlayEffect(e.id, useRenderPos: true, 0.25f);
3936 EClass.Sound.Play("atk_" + e.source.alias);
3937 });
3938 }
3939 if (!e.source.aliasRef.IsEmpty() && attackSource != AttackSource.ManaBackfire)
3940 {
3941 int num = ((origin != null) ? origin.Evalue(1238) : 0);
3942 if (attackSource == AttackSource.MagicSword)
3943 {
3944 num += 2;
3945 }
3946 dmg = Element.GetResistDamage(dmg, Evalue(e.source.aliasRef), num);
3947 dmg = dmg * 100 / (100 + Mathf.Clamp(Evalue(961) * 5, -50, 200));
3948 dmg = dmg * Mathf.Max(100 - Evalue(93), 10) / 100;
3949 }
3950 switch (e.id)
3951 {
3952 case 910:
3953 {
3954 Chara chara2 = Chara;
3955 if (chara2 != null && chara2.isWet)
3956 {
3957 dmg /= 3;
3958 }
3959 break;
3960 }
3961 case 912:
3962 {
3963 Chara chara = Chara;
3964 if (chara != null && chara.isWet)
3965 {
3966 dmg = dmg * 150 / 100;
3967 }
3968 break;
3969 }
3970 }
3971 }
3972 if (origin != null && origin.isChara && origin.Chara.HasCondition<ConSupress>())
3973 {
3974 dmg = dmg * 2 / 3;
3975 }
3976 if (attackSource != AttackSource.Finish)
3977 {
3978 if (!IsPCFaction && LV > 50)
3979 {
3980 dmg = dmg * (100 - (int)Mathf.Min(80f, Mathf.Sqrt(LV - 50) * 2.5f)) / 100;
3981 }
3982 if (origin != null && origin.HasCondition<ConBerserk>())
3983 {
3984 dmg = dmg * 3 / 2;
3985 }
3987 {
3988 int num2 = ((origin != null) ? origin.LV : EClass._zone.DangerLv);
3989 if (num2 > 50)
3990 {
3991 dmg = dmg * (100 - (int)Mathf.Min(95f, Mathf.Sqrt(num2 - 50))) / 100;
3992 }
3993 }
3994 dmg = dmg * Mathf.Max(0, 100 - Evalue((e == Element.Void || e.id == 926) ? 55 : 56)) / 100;
3995 if (origin != null && origin.IsPC && EClass.player.codex.Has(id))
3996 {
3997 dmg = dmg * (100 + Mathf.Min(10, EClass.player.codex.GetOrCreate(id).weakspot)) / 100;
3998 }
3999 if (isChara && Chara.body.GetAttackStyle() == AttackStyle.Shield && elements.ValueWithoutLink(123) >= 5 && (e == Element.Void || e.id == 926))
4000 {
4001 dmg = dmg * 90 / 100;
4002 }
4003 if (Evalue(971) > 0)
4004 {
4005 dmg = dmg * 100 / Mathf.Clamp(100 + Evalue(971), 25, 1000);
4006 }
4007 if (HasElement(1305))
4008 {
4009 dmg = dmg * 90 / 100;
4010 }
4011 if (EClass.pc.HasElement(1207) && isChara)
4012 {
4013 int num3 = 0;
4014 int num4 = 0;
4015 foreach (Condition condition2 in Chara.conditions)
4016 {
4017 if (condition2.Type == ConditionType.Buff)
4018 {
4019 num3++;
4020 }
4021 else if (condition2.Type == ConditionType.Debuff)
4022 {
4023 num4++;
4024 }
4025 }
4026 if (IsPCParty)
4027 {
4028 dmg = dmg * 100 / Mathf.Min(100 + num3 * 5, 120);
4029 }
4030 else
4031 {
4032 dmg = dmg * Mathf.Min(100 + num4 * 5, 120) / 100;
4033 }
4034 }
4036 {
4037 dmg = dmg * 100 / Mathf.Clamp(105 + EClass.pc.Evalue(135) / 10, 10, 110);
4038 }
4039 if (HasElement(1218) && attackSource != AttackSource.ManaBackfire && (hp > 0 || Evalue(1421) <= 0))
4040 {
4041 dmg = dmg * (1000 - Evalue(1218)) / 1000;
4042 if (dmg <= 0 && EClass.rnd(4) == 0)
4043 {
4044 dmg++;
4045 }
4046 }
4047 if (dmg >= MaxHP / 10 && Evalue(68) > 0)
4048 {
4049 int num5 = MaxHP / 10;
4050 int num6 = dmg - num5;
4051 num6 = num6 * 100 / (200 + Evalue(68) * 10);
4052 dmg = num5 + num6;
4053 }
4054 }
4055 if (origin != null && origin.IsPC && EClass.pc.Evalue(654) > 0)
4056 {
4057 dmg = 0;
4058 }
4059 if (dmg < 0)
4060 {
4061 dmg = 0;
4062 }
4063 int num7 = Mathf.Clamp(dmg * 6 / MaxHP, 0, 4) + ((dmg > 0) ? 1 : 0);
4064 if (Evalue(1421) > 0)
4065 {
4066 int num8 = 0;
4067 int num9 = dmg;
4068 if (hp > 0)
4069 {
4070 num9 = dmg - hp;
4071 hp -= dmg;
4072 num8 += dmg;
4073 if (hp < 0 && Chara.mana.value >= 0)
4074 {
4075 num8 += hp;
4076 hp = 0;
4077 }
4078 }
4079 if (hp <= 0)
4080 {
4081 if (Evalue(1421) >= 2)
4082 {
4083 num9 /= 2;
4084 }
4085 dmg = num9;
4086 if (Chara.mana.value > 0)
4087 {
4088 num9 -= Chara.mana.value;
4089 Chara.mana.value -= dmg;
4090 num8 += dmg;
4091 }
4092 if (Chara.mana.value <= 0)
4093 {
4094 hp -= num9;
4095 num8 += num9;
4096 }
4097 }
4098 dmg = num8;
4099 }
4100 else
4101 {
4102 hp -= dmg;
4103 }
4104 if (isSynced && dmg != 0)
4105 {
4106 float ratio = (float)dmg / (float)MaxHP;
4107 Card c = ((parent is Chara) ? (parent as Chara) : this);
4108 ActEffect.TryDelay(delegate
4109 {
4110 c.PlayEffect("blood").SetParticleColor(EClass.Colors.matColors[material.alias].main).Emit(20 + (int)(30f * ratio));
4112 {
4113 EClass.scene.damageTextRenderer.Add(this, c, dmg, e);
4114 }
4115 });
4116 }
4117 if (EClass.pc.ai is AI_PracticeDummy { IsRunning: not false } aI_PracticeDummy && aI_PracticeDummy.target == this && (origin == null || origin.IsPC))
4118 {
4119 aI_PracticeDummy.hit++;
4120 aI_PracticeDummy.totalDamage += dmg;
4121 }
4122 ZoneInstanceBout zoneInstanceBout = EClass._zone.instance as ZoneInstanceBout;
4123 bool flag = false;
4124 if (hp < 0 && Religion.recentWrath == null)
4125 {
4127 {
4128 EvadeDeath();
4129 if (Chara.stamina.value > 0 && (EClass.rnd(2) == 0 || !IsPC))
4130 {
4131 Chara.stamina.Mod(-1);
4132 }
4133 }
4134 else if (IsInstalled && pos.HasBlock && trait.IsDoor)
4135 {
4136 EvadeDeath();
4137 }
4138 else if (!trait.CanBeDestroyed)
4139 {
4140 EvadeDeath();
4141 }
4142 else if (HasEditorTag(EditorTag.Invulnerable) || (HasEditorTag(EditorTag.InvulnerableToMobs) && (origin == null || !origin.IsPCParty)))
4143 {
4144 EvadeDeath();
4145 }
4146 else if (isChara)
4147 {
4149 {
4150 EvadeDeath();
4151 }
4152 else if (IsPC && EClass.debug.godMode)
4153 {
4154 EvadeDeath();
4155 }
4156 else if (Chara.host != null || (weapon != null && weapon.HasElement(485)))
4157 {
4158 EvadeDeath();
4159 flag = true;
4160 }
4161 else if (zoneInstanceBout != null && (bool)LayerDrama.Instance)
4162 {
4163 EvadeDeath();
4164 }
4165 else if (LayerDrama.IsActive() && IsPC)
4166 {
4167 EvadeDeath();
4168 }
4169 else
4170 {
4171 if (attackSource != AttackSource.Finish && IsPCParty && Chara.host == null)
4172 {
4173 if (EClass.pc.ai is GoalAutoCombat && !EClass.player.invlunerable && (EClass.pc.ai as GoalAutoCombat).listHealthy.Contains(Chara))
4174 {
4175 EClass.core.actionsNextFrame.Add(delegate
4176 {
4177 Msg.Say(IsPC ? "abort_damage" : "abort_damgeAlly");
4178 });
4179 EClass.player.invlunerable = true;
4182 }
4184 {
4185 EvadeDeath();
4186 goto IL_0bcf;
4187 }
4188 }
4189 if (IsPC && Evalue(1220) > 0 && Chara.stamina.value >= Chara.stamina.max / 2)
4190 {
4193 EvadeDeath();
4194 }
4195 }
4196 }
4197 }
4198 goto IL_0bcf;
4199 IL_0bcf:
4200 if (trait.CanBeAttacked)
4201 {
4202 renderer.PlayAnime(AnimeID.HitObj);
4203 hp = MaxHP;
4205 {
4206 hp = -1;
4207 }
4208 }
4209 Chara target;
4210 if (hp < 0)
4211 {
4212 if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null && (origin.isSynced || IsPC))
4213 {
4214 string text = "";
4215 if (IsPC && Lang.setting.combatTextStyle == 0)
4216 {
4217 if (e != Element.Void && e != null)
4218 {
4219 text = "dead_" + e.source.alias;
4220 }
4221 if (text == "" || !LangGame.Has(text))
4222 {
4223 text = "dead_attack";
4224 }
4225 EClass.pc.Say(text, this, "");
4226 }
4227 else
4228 {
4229 if (e != Element.Void && e != null)
4230 {
4231 text = "kill_" + e.source.alias;
4232 }
4233 if (text == "" || !LangGame.Has(text))
4234 {
4235 text = "kill_attack";
4236 }
4237 (IsPC ? EClass.pc : origin).Say(text, origin, this);
4238 }
4239 }
4240 if (isChara && Religion.recentWrath == null)
4241 {
4242 if (HasElement(1410) && !Chara.HasCooldown(1410))
4243 {
4244 Chara.AddCooldown(1410);
4245 Say("reboot", this);
4246 PlaySound("reboot");
4247 Chara.Cure(CureType.Boss);
4248 hp = MaxHP / 3;
4250 return;
4251 }
4252 if (HasCondition<ConRebirth>())
4253 {
4254 Say("rebirth", this);
4255 hp = Mathf.Min(MaxHP * (int)(5f + Mathf.Sqrt(Chara.GetCondition<ConRebirth>().power)) / 100, MaxHP);
4257 Chara.RemoveCondition<ConRebirth>();
4258 PlayEffect("revive");
4259 PlaySound("revive");
4260 return;
4261 }
4262 foreach (Chara chara3 in EClass._map.charas)
4263 {
4264 if (Chara.IsFriendOrAbove(chara3) && chara3.HasElement(1408) && chara3.faith == EClass.game.religions.Healing && EClass.world.date.GetRawDay() != chara3.GetInt(58) && (!chara3.IsPCFaction || IsPCFaction))
4265 {
4266 Msg.alwaysVisible = true;
4267 Msg.Say("layhand", chara3, this);
4268 Msg.Say("pray_heal", this);
4269 hp = MaxHP;
4271 PlayEffect("revive");
4272 PlaySound("revive");
4273 chara3.SetInt(58, EClass.world.date.GetRawDay());
4274 return;
4275 }
4276 }
4277 }
4278 if (zoneInstanceBout != null)
4279 {
4280 target = EClass._map.FindChara(zoneInstanceBout.uidTarget);
4281 if (target != null)
4282 {
4283 if (IsPC)
4284 {
4285 EClass.pc.hp = 0;
4286 Heal();
4287 EClass.player.ModFame(-10 - (int)((float)EClass.player.fame * 0.05f));
4288 target.ShowDialog("_chara", "bout_lose");
4289 return;
4290 }
4291 if (target == this)
4292 {
4293 hp = 0;
4294 Heal();
4295 target.ModAffinity(EClass.pc, 10);
4296 target.ShowDialog("_chara", "bout_win");
4297 return;
4298 }
4299 }
4300 }
4301 if (!isDestroyed)
4302 {
4303 Die(e, origin, attackSource);
4305 {
4306 Rand.SetSeed(uid);
4307 if (EClass.rnd(3) == 0 && !isCrafted && !isCopy)
4308 {
4309 string text2 = new int[18]
4310 {
4311 233, 235, 236, 236, 236, 1170, 1143, 1144, 727, 728,
4312 237, 869, 1178, 1179, 1180, 1243, 1244, 1245
4313 }.RandomItem().ToString();
4314 if (EClass.rnd(10) == 0)
4315 {
4316 text2 = "casino_coin";
4317 }
4318 if (EClass.rnd(10) == 0)
4319 {
4320 text2 = "scratchcard";
4321 }
4322 if (EClass.rnd(3) == 0)
4323 {
4324 text2 = "money";
4325 }
4326 if (EClass.rnd(5) == 0)
4327 {
4328 text2 = "plat";
4329 }
4330 if (EClass.rnd(10) == 0)
4331 {
4332 text2 = "money2";
4333 }
4334 if (EClass.rnd(20) == 0 || EClass.debug.enable)
4335 {
4336 text2 = "medal";
4337 }
4338 EClass._zone.AddCard(ThingGen.Create(text2).SetNum((!(text2 == "money")) ? 1 : EClass.rndHalf(100)).SetHidden(hide: false), pos);
4339 }
4340 Rand.SetSeed();
4341 }
4342 ProcAbsorb();
4343 if (EClass.pc.Evalue(1355) > 0 && isChara && (IsPCFactionOrMinion || (origin != null && origin.IsPCParty)))
4344 {
4345 ((EClass.pc.AddCondition<ConStrife>() as ConStrife) ?? EClass.pc.GetCondition<ConStrife>())?.AddKill(Chara);
4346 }
4347 }
4348 if (origin != null && origin.isChara)
4349 {
4350 if (origin.IsPCFactionOrMinion && isChara && !isCopy)
4351 {
4353 EClass.game.quests.list.ForeachReverse(delegate(Quest q)
4354 {
4355 q.OnKillChara(Chara);
4356 });
4359 {
4361 }
4363 {
4364 int a2 = EClass.rndHalf(200 + LV * 20);
4365 Msg.Say("bounty", Chara, a2.ToString() ?? "");
4366 EClass.pc.ModCurrency(a2);
4367 SE.Pay();
4368 }
4369 }
4370 if (origin.GetInt(106) == 0)
4371 {
4372 origin.Chara.TalkTopic("kill");
4373 }
4374 }
4375 Msg.SetColor();
4376 }
4377 else if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null)
4378 {
4379 (IsPC ? EClass.pc : origin).Say("dmgMelee" + num7 + (IsPC ? "pc" : ""), origin, this);
4380 }
4381 else if (isChara)
4382 {
4383 int num10 = ((attackSource != AttackSource.Condition && attackSource != AttackSource.WeaponEnchant) ? 1 : 2);
4384 if (num7 >= num10)
4385 {
4386 if (e != Element.Void)
4387 {
4388 Say("dmg_" + e.source.alias, this);
4389 }
4390 if (e == Element.Void || num7 >= 2)
4391 {
4392 Say("dmg" + num7, this);
4393 }
4394 }
4395 }
4396 if (isChara)
4397 {
4398 if (flag)
4399 {
4400 if (!Chara.HasCondition<ConFaint>())
4401 {
4402 Chara.AddCondition<ConFaint>(200, force: true);
4403 }
4404 return;
4405 }
4406 if (origin != null && origin.IsAliveInCurrentZone && origin.isChara)
4407 {
4408 if (e.id == 916)
4409 {
4410 origin.HealHP(Mathf.Clamp(EClass.rnd(dmg * (50 + eleP) / 500 + 5), 1, origin.MaxHP / 5 + EClass.rnd(10)));
4411 }
4412 if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin.Dist(this) <= 1)
4413 {
4414 if (attackSource == AttackSource.Melee && HasElement(1221))
4415 {
4416 int ele2 = ((Chara.MainElement == Element.Void) ? 924 : Chara.MainElement.id);
4417 if (id == "hedgehog_ether")
4418 {
4419 ele2 = 922;
4420 }
4421 Say("reflect_thorne", this, origin);
4422 origin.DamageHP(Mathf.Clamp(dmg / 20, 1, MaxHP / 20), ele2, Power, AttackSource.Condition);
4423 }
4424 if (HasElement(1223))
4425 {
4426 int ele3 = ((Chara.MainElement == Element.Void) ? 923 : Chara.MainElement.id);
4427 Say("reflect_acid", this, origin);
4428 origin.DamageHP(Mathf.Clamp(dmg / 20, 1, MaxHP / 20), ele3, Power * 2, AttackSource.Condition);
4429 }
4430 }
4431 ProcAbsorb();
4432 }
4433 }
4434 if (hp < 0 || !isChara)
4435 {
4436 return;
4437 }
4438 if (dmg > 0)
4439 {
4440 int a3 = (int)(100L * (long)(dmg * 100 / MaxHP) / 100) + 1;
4441 a3 = Mathf.Min(a3, Chara.isRestrained ? 15 : 200);
4442 if (a3 > 0)
4443 {
4445 if (Chara.body.GetAttackStyle() == AttackStyle.Shield)
4446 {
4447 elements.ModExp(123, a3);
4448 }
4449 }
4450 }
4451 int num11 = ((EClass.rnd(2) == 0) ? 1 : 0);
4452 if (attackSource == AttackSource.Condition)
4453 {
4454 num11 = 1 + EClass.rnd(2);
4455 }
4456 if (num11 > 0)
4457 {
4458 bool flag2 = Chara.HasCondition<ConPoison>() || ((e.id == 915 || e.id == 923) && ResistLv(Evalue(955)) < 4);
4459 AddBlood(num11, flag2 ? 6 : (-1));
4460 }
4461 bool flag3 = true;
4462 switch (e.id)
4463 {
4464 case 910:
4465 if (Chance(30 + eleP / 5, 100))
4466 {
4468 }
4469 break;
4470 case 911:
4471 if (Chara.isWet)
4472 {
4473 if (Chance(30 + eleP / 10, 100))
4474 {
4476 }
4477 }
4478 else if (Chance(50 + eleP / 10, 100))
4479 {
4480 Chara.AddCondition<ConWet>(eleP);
4481 }
4482 break;
4483 case 912:
4484 if (Chance(75 + eleP / 20, 100) && EClass.rnd(3) == 0)
4485 {
4486 Chara.AddCondition<ConParalyze>(1, force: true);
4487 }
4488 break;
4489 case 915:
4490 if (Chance(30 + eleP / 5, 100))
4491 {
4493 }
4494 break;
4495 case 913:
4496 if (Chance(30 + eleP / 5, 100))
4497 {
4499 }
4500 break;
4501 case 918:
4502 flag3 = false;
4503 if (Chance(30 + eleP / 5, 100))
4504 {
4506 }
4507 break;
4508 case 914:
4509 flag3 = false;
4510 if (EClass.rnd(3) != 0)
4511 {
4512 if (Chance(30 + eleP / 5, 100))
4513 {
4515 }
4516 }
4517 else if (Chance(30 + eleP / 5, 100))
4518 {
4520 }
4521 break;
4522 case 917:
4523 if (Chance(50 + eleP / 10, 100))
4524 {
4525 Chara.AddCondition<ConDim>(eleP);
4526 }
4527 break;
4528 case 925:
4529 if (EClass.rnd(3) == 0)
4530 {
4531 if (Chance(30 + eleP / 5, 100))
4532 {
4533 Chara.AddCondition<ConDim>(eleP);
4534 }
4535 }
4536 else if (EClass.rnd(2) == 0)
4537 {
4538 if (EClass.rnd(3) == 0)
4539 {
4540 Chara.AddCondition<ConParalyze>(1, force: true);
4541 }
4542 }
4543 else if (EClass.rnd(2) == 0)
4544 {
4545 Chara.AddCondition<ConConfuse>(1 + EClass.rnd(3), force: true);
4546 }
4547 break;
4548 case 920:
4549 flag3 = false;
4550 if (Chance(5 + eleP / 25, 40))
4551 {
4552 Chara.AddCondition<ConBlind>(eleP / 2);
4553 }
4554 if (Chance(5 + eleP / 25, 40))
4555 {
4556 Chara.AddCondition<ConParalyze>(eleP / 2);
4557 }
4558 if (Chance(5 + eleP / 25, 40))
4559 {
4560 Chara.AddCondition<ConConfuse>(eleP / 2);
4561 }
4562 if (Chance(5 + eleP / 25, 40))
4563 {
4564 Chara.AddCondition<ConPoison>(eleP / 2);
4565 }
4566 if (Chance(5 + eleP / 25, 40))
4567 {
4568 Chara.AddCondition<ConSleep>(eleP / 2);
4569 }
4570 if (Chance(5 + eleP / 25, 40))
4571 {
4572 Chara.AddCondition<ConDim>(eleP / 2);
4573 }
4574 if (Chance(30 + eleP / 10, 100))
4575 {
4576 Chara.SAN.Mod(EClass.rnd(2));
4577 }
4578 break;
4579 case 924:
4580 if (Chance(50 + eleP / 10, 100))
4581 {
4583 }
4584 break;
4585 case 923:
4586 if (Chance(50 + eleP / 10, 100) && EClass.rnd(4) == 0)
4587 {
4589 }
4590 break;
4591 case 922:
4592 Chara.ModCorruption(EClass.rnd(eleP / 50 + 10));
4593 break;
4594 }
4595 if (origin != null && origin.HasElement(1411) && !Chara.HasCondition<ConGravity>())
4596 {
4597 Condition.ignoreEffect = true;
4599 Condition.ignoreEffect = false;
4600 }
4601 if (Chara.conSleep != null && flag3)
4602 {
4604 }
4605 if (IsPC)
4606 {
4607 float num12 = (float)hp / (float)MaxHP;
4608 if (Evalue(1421) > 0)
4609 {
4610 num12 = (float)Chara.mana.value / (float)Chara.mana.max;
4611 }
4612 if (num12 < 0.3f)
4613 {
4614 PlaySound("heartbeat", 1f - num12 * 2f);
4615 }
4616 }
4617 if (!IsPC && hp < MaxHP / 5 && Evalue(423) <= 0 && dmg * 100 / MaxHP + 10 > EClass.rnd(IsPowerful ? 400 : 150) && !HasCondition<ConFear>())
4618 {
4619 Chara.AddCondition<ConFear>(100 + EClass.rnd(100));
4620 }
4621 if (Chara.ai.Current.CancelWhenDamaged && attackSource != AttackSource.Hunger && attackSource != AttackSource.Fatigue)
4622 {
4623 Chara.ai.Current.TryCancel(origin);
4624 }
4626 {
4627 ConWeapon condition = Chara.GetCondition<ConWeapon>();
4628 if (e.source.aliasRef == condition.sourceElement.aliasRef)
4629 {
4630 condition.Mod(-1);
4631 }
4632 }
4633 if (Chara.HasElement(1222) && (dmg >= MaxHP / 10 || EClass.rnd(20) == 0))
4634 {
4635 ActEffect.Proc(EffectId.Duplicate, this);
4636 }
4637 if (hp < MaxHP / 3 && HasElement(1409) && !Chara.HasCooldown(1409))
4638 {
4639 Chara.AddCooldown(1409);
4641 Chara.Cure(CureType.Boss);
4642 Chara.HealHP(MaxHP / 2);
4643 }
4644 if (origin != null && origin.isChara && attackSource != AttackSource.Finish)
4645 {
4647 {
4648 Chara.TrySetEnemy(origin.Chara);
4649 }
4650 if ((weapon == null || !weapon.HasElement(486)) && origin.Evalue(428) > 0 && !IsPCFactionOrMinion && EClass.rnd(dmg) >= EClass.rnd(MaxHP / 10) + MaxHP / 100 + 1)
4651 {
4652 origin.Chara.TryNeckHunt(Chara, origin.Evalue(428) * 20, harvest: true);
4653 }
4654 }
4655 bool Chance(int a, int max)
4656 {
4657 if (dmg > 0 || (origin != null && origin.HasElement(1345)))
4658 {
4659 return Mathf.Min(a, max) > EClass.rnd(100);
4660 }
4661 return false;
4662 }
4663 void EvadeDeath()
4664 {
4665 hp = 0;
4666 if (Evalue(1421) > 0 && isChara && Chara.mana.value < 0)
4667 {
4668 Chara.mana.value = 0;
4669 }
4670 }
4671 void Heal()
4672 {
4673 target.Cure(CureType.Death);
4674 foreach (Chara member in EClass.pc.party.members)
4675 {
4676 member.Cure(CureType.Death);
4677 }
4678 }
4679 void ProcAbsorb()
4680 {
4681 if (origin != null && origin.isChara && isChara && (weapon == null || !weapon.HasElement(486)))
4682 {
4683 int valueOrDefault = (origin.Evalue(662) + weapon?.Evalue(662, ignoreGlobalElement: true)).GetValueOrDefault();
4684 int valueOrDefault2 = (origin.Evalue(661) + weapon?.Evalue(661, ignoreGlobalElement: true)).GetValueOrDefault();
4685 if (valueOrDefault > 0 && attackSource == AttackSource.Melee && origin.isChara && !origin.Chara.ignoreSPAbsorb && Chara.IsHostile(origin as Chara))
4686 {
4687 int num13 = EClass.rnd(3 + Mathf.Clamp(dmg / 100, 0, valueOrDefault / 10));
4688 origin.Chara.stamina.Mod(num13);
4690 {
4691 Chara.stamina.Mod(-num13);
4692 }
4693 }
4694 if (origin.HasElement(1350) && attackSource == AttackSource.Melee)
4695 {
4696 int num14 = EClass.rndHalf(2 + Mathf.Clamp(dmg / 10, 0, origin.Chara.GetPietyValue() + 10));
4697 origin.Chara.mana.Mod(num14);
4699 {
4700 Chara.mana.Mod(-num14);
4701 }
4702 }
4703 if (valueOrDefault2 > 0 && attackSource == AttackSource.Melee)
4704 {
4705 int num15 = EClass.rnd(2 + Mathf.Clamp(dmg / 10, 0, valueOrDefault2 + 10));
4706 origin.Chara.mana.Mod(num15);
4708 {
4709 Chara.mana.Mod(-num15);
4710 }
4711 }
4712 }
4713 }
4714 }
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
EffectId
Definition: EffectId.cs:2
@ harvest
AIAct Current
Definition: AIAct.cs:103
bool TryCancel(Card c)
Definition: AIAct.cs:266
virtual bool CancelWhenDamaged
Definition: AIAct.cs:94
static bool ignoreDamage
Definition: AI_PlayMusic.cs:14
static void TryDelay(Action a)
Definition: ActEffect.cs:23
static void Proc(EffectId id, Card cc, Card tc=null, int power=100, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:830
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:2208
bool isCrafted
Definition: Card.cs:778
void AddBlood(int a=1, int id=-1)
Definition: Card.cs:5601
bool isRestrained
Definition: Card.cs:550
virtual int Power
Definition: Card.cs:2231
bool isCopy
Definition: Card.cs:862
virtual void HealHP(int a, HealSource origin=HealSource.None)
Definition: Card.cs:3848
virtual void Die(Element e=null, Card origin=null, AttackSource attackSource=AttackSource.None)
Definition: Card.cs:4716
int uid
Definition: Card.cs:118
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:5810
void ModCurrency(int a, string id="money")
Definition: Card.cs:3806
bool IsPowerful
Definition: Card.cs:2030
bool HasEditorTag(EditorTag tag)
Definition: Card.cs:2536
bool IsInstalled
Definition: Card.cs:2317
int Evalue(int ele)
Definition: Card.cs:2507
int Dist(Card c)
Definition: Card.cs:7235
virtual bool IsPCFaction
Definition: Card.cs:2205
int ResistLv(int res)
Definition: Card.cs:5561
virtual bool isSynced
Definition: Card.cs:2023
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6423
AttackStyle GetAttackStyle()
Definition: CharaBody.cs:433
Element MainElement
Definition: Chara.cs:713
CharaBody body
Definition: Chara.cs:94
AIAct ai
Definition: Chara.cs:198
bool TryNeckHunt(Chara TC, int power, bool harvest=false)
Definition: Chara.cs:8896
bool isWet
Definition: Chara.cs:142
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:8559
void ModAffinity(Chara c, int a, bool show=true, bool showOnlyEmo=false)
Definition: Chara.cs:7360
Chara host
Definition: Chara.cs:33
void ShowDialog()
Definition: Chara.cs:6532
override string ToString()
Definition: Chara.cs:1024
Party party
Definition: Chara.cs:43
bool HasCondition(string alias)
Definition: Chara.cs:8716
override bool IsPCFaction
Definition: Chara.cs:667
ConSleep conSleep
Definition: Chara.cs:102
bool IsFriendOrAbove()
Definition: Chara.cs:6122
Stats SAN
Definition: Chara.cs:1010
Stats mana
Definition: Chara.cs:1006
string TalkTopic(string topic="calm")
Definition: Chara.cs:6461
Stats stamina
Definition: Chara.cs:998
void AddCooldown(int idEle, int turns=0)
Definition: Chara.cs:8033
bool ignoreSPAbsorb
Definition: Chara.cs:146
void ModCorruption(int a)
Definition: Chara.cs:9056
Religion faith
Definition: Chara.cs:435
int GetPietyValue()
Definition: Chara.cs:9399
bool IsHostile()
Definition: Chara.cs:6034
void Cure(CureType type, int p=100, BlessedState state=BlessedState.Normal)
Definition: Chara.cs:8795
void TrySetEnemy(Chara c)
Definition: Chara.cs:5825
bool HasCooldown(int idEle)
Definition: Chara.cs:8051
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
Definition: ConDim.cs:2
Definition: ConWet.cs:2
void Kill(bool silent=false)
Definition: Condition.cs:91
bool godMode
Definition: CoreDebug.cs:172
bool enable
Definition: CoreDebug.cs:285
CoreConfig config
Definition: Core.cs:70
void Add(Card target, Card attacker, int dmg, Element e=null)
int GetRawDay()
Definition: Date.cs:327
static ColorProfile Colors
Definition: EClass.cs:38
static int rndHalf(int a)
Definition: EClass.cs:82
static SoundManager Sound
Definition: EClass.cs:46
Effect Emit(int num)
Definition: Effect.cs:279
Effect SetParticleColor(Color c)
Definition: Effect.cs:289
int ValueWithoutLink(int ele)
void ModExp(int ele, int a, bool chain=false)
static int GetResistDamage(int dmg, int v, int power=0)
Definition: ELEMENT.cs:1135
int id
Definition: ELEMENT.cs:248
SourceElement.Row source
Definition: ELEMENT.cs:271
static Element Create(int id, int v=0)
Definition: ELEMENT.cs:1097
static Element Void
Definition: ELEMENT.cs:236
void AddContribution(int a)
Definition: FACTION.cs:318
bool enableDamageReduction
ReligionManager religions
Definition: Game.cs:158
GamePrincipal principal
Definition: Game.cs:221
QuestManager quests
Definition: Game.cs:179
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:23
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:2546
List< Chara > charas
Definition: Map.cs:81
static void SetColor()
Definition: Msg.cs:22
List< Chara > members
Definition: Party.cs:18
int kills
Definition: Player.cs:76
CodexManager codex
Definition: Player.cs:931
void ModFame(int a)
Definition: Player.cs:1900
Stats stats
Definition: Player.cs:832
bool invlunerable
Definition: Player.cs:989
int fame
Definition: Player.cs:700
bool TryAbortAutoCombat(bool immediate=true)
Definition: Player.cs:2205
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:543
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 void Mod(int a)
Definition: Stats.cs:135
virtual int value
Definition: Stats.cs:56
virtual int max
Definition: Stats.cs:68
virtual bool CanBeAttacked
Definition: Trait.cs:163
virtual bool CanBeDestroyed
Definition: Trait.cs:289
virtual bool IsDoor
Definition: Trait.cs:56
virtual bool CanBeSmashedToDeath
Definition: Trait.cs:291
override int DangerLv
Definition: Zone.cs:107
Card AddCard(Card t, Point point)
Definition: Zone.cs:1910

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

◆ Decay()

void Card.Decay ( int  a = 10)
inline

Definition at line 6238 of file Card.cs.

6239 {
6240 Card card = parent as Card;
6241 int num = 200;
6242 int num2 = MaxDecay / 4 * 3;
6243 if (a > 0)
6244 {
6245 if (card != null)
6246 {
6247 num = card.trait.DecaySpeedChild;
6248 }
6249 num = num * trait.DecaySpeed / 100;
6250 int num3 = Evalue(405);
6251 if (num3 != 0)
6252 {
6253 num = num * (100 - num3 * 2) / 100;
6254 }
6255 if (num < 0)
6256 {
6257 num = 0;
6258 }
6259 }
6260 else
6261 {
6262 num = 100;
6263 }
6264 a = a * num / 100;
6265 if (decay + a > MaxDecay)
6266 {
6267 if (card != null && !card.trait.OnChildDecay(this, !IsDecayed))
6268 {
6269 return;
6270 }
6271 if (!IsDecayed)
6272 {
6273 if (EClass.pc.HasElement(1325) && GetRootCard() is Chara && category.IsChildOf("food"))
6274 {
6275 Thing thing = TraitSeed.MakeRandomSeed(enc: true).SetNum(Mathf.Min(Num, 3));
6276 card.AddCard(thing);
6277 if (!IsParentLocked())
6278 {
6279 GetRootCard().Say("seed_rot", GetRootCard(), this, thing.Name);
6280 }
6281 Destroy();
6282 return;
6283 }
6284 if (parent == EClass._zone)
6285 {
6286 Say("rot", this);
6287 }
6288 else if (GetRootCard() == EClass.pc)
6289 {
6290 if (!IsParentLocked())
6291 {
6292 EClass.pc.Say("rotInv", this, EClass.pc);
6293 }
6295 }
6296 if (IsFood)
6297 {
6298 elements.ModBase(73, -10);
6299 }
6300 }
6301 }
6302 else if (decay < num2 && decay + a >= num2 && GetRootCard() == EClass.pc)
6303 {
6304 if (!IsParentLocked())
6305 {
6306 EClass.pc.Say("rottingInv", this, EClass.pc);
6307 }
6309 }
6310 decay += a;
6311 bool IsParentLocked()
6312 {
6313 if (parent is Thing)
6314 {
6315 return (parent as Thing).c_lockLv > 0;
6316 }
6317 return false;
6318 }
6319 }
bool IsDecayed
Definition: Card.cs:2223
string Name
Definition: Card.cs:2073
bool IsFood
Definition: Card.cs:2111
virtual int MaxDecay
Definition: Card.cs:2221
bool IsChildOf(Card c)
Definition: Card.cs:2597
static Thing MakeRandomSeed(bool enc=false)
Definition: TraitSeed.cs:187

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

6207 {
6208 if (!isNPCProperty)
6209 {
6210 things.ForeachReverse(delegate(Thing t)
6211 {
6212 t.DecayNatural(hour);
6213 });
6214 if (sourceCard._origin == "dish")
6215 {
6217 }
6218 if (parent is Card && (parent as Card).trait.CanChildDecay(this))
6219 {
6220 Decay(10 * hour);
6221 }
6222 else if (!isChara && trait.Decay != 0)
6223 {
6224 Decay(trait.Decay * hour);
6225 }
6226 }
6227 }
string _origin
Definition: CardRow.cs:15
bool isNPCProperty
Definition: Card.cs:538
void DecayNatural(int hour=1)
Definition: Card.cs:6206
void Decay(int a=10)
Definition: Card.cs:6238
void CheckJustCooked()
Definition: Card.cs:6229
virtual bool CanChildDecay(Card c)
Definition: Trait.cs:1055
virtual int Decay
Definition: Trait.cs:119

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

4778 {
4779 PlaySound(material.GetSoundDead(sourceCard));
4780 Destroy();
4781 }

References material.

Referenced by AI_Deconstruct.Run().

◆ Destroy()

void Card.Destroy ( )
inline

Definition at line 4783 of file Card.cs.

4784 {
4785 if (isDestroyed)
4786 {
4787 Debug.Log(Name + " is already destroyed.");
4788 return;
4789 }
4790 if (isChara)
4791 {
4792 if (IsPCFaction && !Chara.isSummon)
4793 {
4794 Debug.Log(this);
4795 return;
4796 }
4797 Chara.DropHeld();
4798 Chara.isDead = true;
4799 if (IsPCParty)
4800 {
4802 }
4803 if (IsGlobal)
4804 {
4806 }
4807 }
4808 if (renderer.hasActor)
4809 {
4811 }
4812 if (parent != null)
4813 {
4814 parent.RemoveCard(this);
4815 }
4816 for (int num = things.Count - 1; num >= 0; num--)
4817 {
4818 things[num].Destroy();
4819 }
4820 isDestroyed = true;
4821 }
GlobalCharaList globalCharas
Definition: CardManager.cs:46
void KillActor()
bool isSummon
Definition: Card.cs:694
virtual bool IsGlobal
Definition: Card.cs:2219
Card DropHeld(Point dropPos=null)
Definition: Chara.cs:4310
void RemoveMember(Chara c)
Definition: Party.cs:89

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(), ActPlan._Update(), MapSubset.Apply(), PartialMap.Apply(), FactionBranch.BanishMember(), DramaOutcome.check_sketch(), Chara.ClearInventory(), ContentCodex.Collect(), 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(), 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 
)
inlinevirtual

Reimplemented in Chara.

Definition at line 4716 of file Card.cs.

4717 {
4718 Card rootCard = GetRootCard();
4719 Point _pos = rootCard?.pos ?? pos;
4720 if (_pos != null && !_pos.IsValid)
4721 {
4722 _pos = null;
4723 }
4724 if (trait.EffectDead == EffectDead.Default && _pos != null)
4725 {
4726 _pos.PlaySound(material.GetSoundDead(sourceCard));
4727 _pos.PlayEffect("mine").SetParticleColor(material.GetColor()).Emit(10 + EClass.rnd(10));
4728 material.AddBlood(_pos, trait.CanBeSmashedToDeath ? (12 + EClass.rnd(8)) : 6);
4729 if (_pos.IsSync)
4730 {
4731 string text = ((rootCard != this) ? "destroyed_inv_" : "destroyed_ground_");
4732 if (e != null && LangGame.Has(text + e.source.alias))
4733 {
4734 text += e.source.alias;
4735 }
4736 if (attackSource != AttackSource.Throw)
4737 {
4738 Msg.Say(text, this, rootCard);
4739 }
4740 }
4741 else if (attackSource != AttackSource.Throw)
4742 {
4743 Msg.Say("destroyed", this);
4744 }
4745 }
4746 if (_pos != null && !EClass._zone.IsUserZone)
4747 {
4748 things.ForeachReverse(delegate(Thing t)
4749 {
4750 if (!(t.trait is TraitChestMerchant))
4751 {
4752 EClass._zone.AddCard(t, _pos);
4753 }
4754 });
4755 }
4756 Destroy();
4757 if (e != null && _pos != null && e.id == 21)
4758 {
4759 EClass._zone.AddCard(ThingGen.Create((EClass.rnd(2) == 0) ? "ash" : "ash2"), _pos);
4760 }
4761 if (trait.ThrowType == ThrowType.Explosive)
4762 {
4763 Explode(pos, origin);
4764 }
4765 }
EffectDead
Definition: EffectDead.cs:2
ThrowType
Definition: ThrowType.cs:2
void Explode(Point p, Card origin)
Definition: Card.cs:4767
Definition: Point.cs:9
bool IsSync
Definition: Point.cs:332
SoundSource PlaySound(string id, bool synced=true, float v=1f, bool spatial=true)
Definition: Point.cs:1233
Effect PlayEffect(string id)
Definition: Point.cs:1228
virtual EffectDead EffectDead
Definition: Trait.cs:247
virtual ThrowType ThrowType
Definition: Trait.cs:245

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

7236 {
7237 if (!IsMultisize && !c.IsMultisize)
7238 {
7239 return pos.Distance(c.pos);
7240 }
7241 if (IsMultisize)
7242 {
7243 int dist = 99;
7244 ForeachPoint(delegate(Point p, bool main)
7245 {
7246 int num2 = DistMulti(p, c);
7247 if (num2 < dist)
7248 {
7249 dist = num2;
7250 }
7251 });
7252 return dist;
7253 }
7254 return DistMulti(pos, c);
7255 static int DistMulti(Point p1, Card c)
7256 {
7257 if (!c.IsMultisize)
7258 {
7259 return p1.Distance(c.pos);
7260 }
7261 int dist2 = 99;
7262 c.ForeachPoint(delegate(Point p, bool main)
7263 {
7264 int num = p1.Distance(p);
7265 if (num < dist2)
7266 {
7267 dist2 = num;
7268 }
7269 });
7270 return dist2;
7271 }
7272 }
virtual bool IsMultisize
Definition: Card.cs:2094
void ForeachPoint(Action< Point, bool > action)
Definition: Card.cs:7400
int Distance(Point p)
Definition: Point.cs:969

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(), ActionMode.DoFunc(), TaskCullLife.GetTarget(), ActorEx.GetVolume(), QuestManager.HasFarAwayEscort(), AI_OpenGambleChest.IsValid(), Point.ListCharasInRadius(), Chara.MoveByForce(), ActRanged.Perform(), ActRush.Perform(), PlaySound(), ActorEx.Refresh(), AI_ArmPillow.Run(), AI_Fish.Run(), AI_Fuck.Run(), AI_Idle.Run(), AI_Massage.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(), and GoalCombat.TryUseAbility().

◆ Dist() [2/2]

int Card.Dist ( Point  p)
inline

Definition at line 7274 of file Card.cs.

7275 {
7276 return pos.Distance(p);
7277 }

References Point.Distance().

◆ Duplicate()

Thing Card.Duplicate ( int  num)
inline

Definition at line 3305 of file Card.cs.

3306 {
3307 Thing thing = ThingGen.Create(id);
3308 thing.ChangeMaterial(idMaterial, ignoreFixedMaterial: true);
3309 thing._bits1 = _bits1;
3310 thing._bits2 = _bits2;
3311 thing.dir = dir;
3312 thing.refVal = refVal;
3313 thing.altitude = altitude;
3314 thing.idSkin = idSkin;
3315 thing.blessedState = blessedState;
3316 thing.rarityLv = rarityLv;
3317 thing.tier = tier;
3318 thing.LV = LV;
3319 thing.exp = exp;
3320 thing.encLV = encLV;
3321 thing.decay = decay;
3322 thing.mapInt.Clear();
3323 thing.mapStr.Clear();
3324 foreach (KeyValuePair<int, int> item in mapInt)
3325 {
3326 thing.mapInt[item.Key] = item.Value;
3327 }
3328 foreach (KeyValuePair<int, string> item2 in mapStr)
3329 {
3330 thing.mapStr[item2.Key] = item2.Value;
3331 }
3332 elements.CopyTo(thing.elements);
3333 thing.SetNum(num);
3334 if (thing.IsRangedWeapon)
3335 {
3336 thing.sockets = IO.DeepCopy(sockets);
3337 }
3338 if (thing.c_containerSize != 0)
3339 {
3340 thing.things.SetOwner(thing);
3341 }
3342 return thing;
3343 }
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:2957
bool IsRangedWeapon
Definition: Card.cs:2179
int c_containerSize
Definition: Card.cs:1325
int rarityLv
Definition: Card.cs:286
BlessedState blessedState
Definition: Card.cs:262
int dir
Definition: Card.cs:142
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 5637 of file Card.cs.

5638 {
5639 isDyed = mat != null;
5640 c_dyeMat = mat?.id ?? 0;
5641 _colorInt = 0;
5642 }
int c_dyeMat
Definition: Card.cs:1157
bool isDyed
Definition: Card.cs:442

◆ Dye() [2/2]

◆ DyeRandom()

void Card.DyeRandom ( )
inline

Definition at line 5627 of file Card.cs.

5628 {
5629 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);
5630 }

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

3438 {
3439 for (int i = 0; i < sockets.Count; i++)
3440 {
3441 int num = sockets[i];
3442 if (num != 0)
3443 {
3444 Thing thing = ThingGen.Create(isCopy ? "ash3" : "mod_ranged");
3445 int ele = num / 100;
3446 int num2 = num % 100;
3447 elements.ModBase(ele, -num2);
3448 if (!isCopy)
3449 {
3450 thing.refVal = ele;
3451 thing.encLV = num2;
3452 }
3454 sockets[i] = 0;
3455 }
3456 }
3457 }
void TrySmoothPick(Cell cell, Thing t, Chara c)
Definition: Map.cs:1791
bool IsBlocked
Definition: Point.cs:351

References EClass._map, ThingGen.Create(), elements, 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 2507 of file Card.cs.

2508 {
2509 return elements.Value(ele);
2510 }
int Value(int ele)

References elements, and ElementContainer.Value().

Referenced by Chara._Move(), TraitAltar._OnOffer(), AM_Adv._OnUpdateInput(), ActPlan._Update(), Element._WriteNote(), GameDate.AdvanceDay(), GrowSystem.ApplySeed(), ActMelee.Attack(), RecipeCard.Build(), RecipeCard.BuildIngredientList(), Chara.CalcCastingChance(), AttackProcess.CalcHit(), RecipeManager.CanCeomUpWithRecipe(), ActNTR.CanPerform(), RecipeManager.ComeUpWithRecipe(), TraitCrafter.Craft(), RecipeCard.Craft(), Dice.Create(), Chara.Cuddle(), ActEffect.DamageEle(), DamageHP(), Player.DreamSpell(), CharaBody.Equip(), Party.EValue(), 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(), AttackProcess.GetRawDamage(), RecipeSource.GetSPCost(), ElementContainer.GetSpellExp(), LayerTravel.GetTravelHours(), RecipeManager.GetUnlearnedRecipe(), AttackProcess.GetWeaponEnc(), GoalAutoCombat.GoalAutoCombat(), HealHP(), TraitFoodEggFertilized.Incubate(), Quest.Init(), CalcMoney.Invest(), Chara.IsCriticallyWounded(), Religion.LeaveFaith(), LevelUp(), RecipeCard.MakeDish(), AI_Fish.Makefish(), 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(), ActZap.Perform(), AttackProcess.Perform(), AttackProcess.Prepare(), FoodEffect.Proc(), ActEffect.ProcAt(), 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(), Chara.Tick(), TraitSwitch.TryDisarmTrap(), Religion.TryGetGift(), Trait.TryOpenLock(), ActPray.TryPray(), TraitBaseSpellbook.TryProgress(), ActRanged.TryReload(), HotItemHeld.TrySetAct(), TraitSwitch.TrySetAct(), TraitEcoMark.TrySetHeldAct(), GoalCombat.TryUseAbility(), ElementContainerCard.ValueBonus(), and Element.BonusInfo.WriteNote().

◆ Evalue() [2/3]

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

Definition at line 2512 of file Card.cs.

2513 {
2514 if (!ignoreGlobalElement || !HasGlobalElement(ele))
2515 {
2516 return elements.Value(ele);
2517 }
2518 return 0;
2519 }
bool HasGlobalElement(int ele)
Definition: Card.cs:5576

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

◆ Evalue() [3/3]

int Card.Evalue ( string  alias)
inline

Definition at line 2526 of file Card.cs.

2527 {
2528 return elements.Value(EClass.sources.elements.alias[alias].id);
2529 }

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

◆ EvalueMax()

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

Definition at line 2521 of file Card.cs.

2522 {
2523 return Mathf.Max(elements.Value(ele), min);
2524 }

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

4768 {
4769 ActEffect.ProcAt(EffectId.Explosive, 100, blessedState, this, null, p, isNeg: true, new ActRef
4770 {
4771 origin = origin?.Chara,
4772 refThing = Thing,
4773 aliasEle = "eleImpact"
4774 });
4775 }
static void ProcAt(EffectId id, int power, BlessedState state, Card cc, Card tc, Point tp, bool isNeg, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:407
Definition: ActRef.cs:2

References ActEffect.ProcAt().

◆ FindTool< T >()

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

Definition at line 2602 of file Card.cs.

2602 : Trait
2603 {
2604 if (IsPC)
2605 {
2606 return Tool?.trait as T;
2607 }
2608 return things.Find<T>()?.trait as T;
2609 }
Thing Tool
Definition: Card.cs:2346
Thing Find(int uid)

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

◆ ForeachFOV()

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

Definition at line 7384 of file Card.cs.

7385 {
7386 if (fov == null)
7387 {
7388 return;
7389 }
7390 foreach (KeyValuePair<int, byte> lastPoint in fov.lastPoints)
7391 {
7392 Point arg = new Point().Set(lastPoint.Key);
7393 if (func(arg))
7394 {
7395 break;
7396 }
7397 }
7398 }

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

◆ ForeachPoint()

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

Definition at line 7400 of file Card.cs.

7401 {
7402 if (IsMultisize)
7403 {
7404 pos.ForeachMultiSize(W, H, action);
7405 }
7406 else
7407 {
7408 action(pos, arg2: true);
7409 }
7410 }
int H
Definition: Card.cs:2302
int W
Definition: Card.cs:2290
void ForeachMultiSize(int w, int h, Action< Point, bool > action)
Definition: Point.cs:1365

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(), and SetPlaceState().

◆ GetAffinityExpBonus()

int Card.GetAffinityExpBonus ( )
inline

Definition at line 2895 of file Card.cs.

2896 {
2897 return Mathf.Clamp(100 + Chara.affinity.value / 10, 50, 200);
2898 }
int value
Definition: Affinity.cs:26
Affinity affinity
Definition: Chara.cs:310

References Chara.affinity, and Affinity.value.

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

◆ GetArmorSkill()

virtual int Card.GetArmorSkill ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 3878 of file Card.cs.

3879 {
3880 return 0;
3881 }

Referenced by ApplyProtection().

◆ GetBestAttribute()

int Card.GetBestAttribute ( )
inline

Definition at line 2566 of file Card.cs.

2567 {
2568 int num = 1;
2569 foreach (Element item in elements.dict.Values.Where((Element a) => Element.List_MainAttributesMajor.Contains(a.id)))
2570 {
2571 int num2 = item.Value;
2572 if (isChara && Chara.tempElements != null)
2573 {
2574 num2 -= Chara.tempElements.Value(item.id);
2575 }
2576 if (num2 > num)
2577 {
2578 num = num2;
2579 }
2580 }
2581 return num;
2582 }
ElementContainer tempElements
Definition: Chara.cs:36
Dictionary< int, Element > dict
static int[] List_MainAttributesMajor
Definition: ELEMENT.cs:240

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

2901 {
2903 {
2904 return 100;
2905 }
2906 return 100 + EClass.curve(c_daysWithPC / 100 * 3, 100, 20, 70);
2907 }
int c_daysWithPC
Definition: Card.cs:1445
static int curve(int a, int start, int step, int rate=75)
Definition: EClass.cs:63

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

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

◆ GetDetail()

virtual string Card.GetDetail ( )
inlinevirtual

Definition at line 2561 of file Card.cs.

2562 {
2563 return sourceCard.GetText("detail", returnNull: true);
2564 }
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 6776 of file Card.cs.

6777 {
6778 return GetValue();
6779 }
int GetValue(PriceType priceType=PriceType.Default, bool sell=false)
Definition: Card.cs:6797

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

◆ GetExpMtp()

int Card.GetExpMtp ( )
inline

Definition at line 2877 of file Card.cs.

2878 {
2879 int num = 100;
2880 if (!IsPC)
2881 {
2882 num *= 2;
2883 if (IsPCFaction)
2884 {
2885 num = num * GetAffinityExpBonus() / 100;
2887 {
2888 num = num * (50 + EClass.game.principal.petFeatExpMtp * 50) / 100;
2889 }
2890 }
2891 }
2892 return num * (100 + Evalue(1237) * 30) / 100;
2893 }
int GetAffinityExpBonus()
Definition: Card.cs:2895

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

2557 {
2558 return "";
2559 }

Referenced by Act.GetTextSmall().

◆ GetFoodName()

string Card.GetFoodName ( string  s)
inline

Definition at line 5376 of file Card.cs.

5377 {
5378 return s.Replace("_corpseFrom".lang(), "_corpseTo".lang());
5379 }

◆ GetHoverText()

virtual string Card.GetHoverText ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 7225 of file Card.cs.

7226 {
7227 return Name + GetExtraName();
7228 }
virtual string GetExtraName()
Definition: Card.cs:2556

◆ GetHoverText2()

virtual string Card.GetHoverText2 ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 7230 of file Card.cs.

7231 {
7232 return "";
7233 }

◆ GetImageSprite()

virtual Sprite Card.GetImageSprite ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 5722 of file Card.cs.

5723 {
5724 return null;
5725 }

Referenced by HotItemThing.GetSprite().

◆ GetLightPower()

float Card.GetLightPower ( )
inline

Definition at line 6007 of file Card.cs.

6008 {
6010 if (LightData != null)
6011 {
6012 return 0.01f * LightData.color.a * 256f * 1.12f;
6013 }
6014 if (IsPCFaction && !IsPC)
6015 {
6016 num *= 4f;
6017 }
6018 return num;
6019 }
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 6030 of file Card.cs.

6031 {
6032 if (isThing)
6033 {
6034 if (!IsInstalled && EClass.pc.held != this)
6035 {
6036 return 0;
6037 }
6039 {
6040 return (trait as TraitLightSource).LightRadius;
6041 }
6042 if (LightData == null || !trait.IsLightOn)
6043 {
6044 return 0;
6045 }
6046 return LightData.radius;
6047 }
6048 int num = ((LightData != null) ? LightData.radius : 0);
6049 int num2 = 0;
6050 if (IsPC)
6051 {
6052 if (Chara.isBlind)
6053 {
6054 return 1;
6055 }
6056 num = ((EClass._map.IsIndoor || EClass.world.date.IsNight) ? 2 : ((EClass.world.date.periodOfDay == PeriodOfDay.Day) ? 6 : 5));
6057 num2 = 2;
6058 }
6059 else
6060 {
6062 {
6063 return 0;
6064 }
6065 if (LightData == null && !EClass._map.IsIndoor && !EClass.world.date.IsNight)
6066 {
6067 return 0;
6068 }
6069 }
6070 if (IsPCFaction)
6071 {
6072 Thing equippedThing = Chara.body.GetEquippedThing(45);
6073 if (equippedThing != null && equippedThing.trait is TraitLightSource traitLightSource)
6074 {
6075 num2 = traitLightSource.LightRadius;
6076 }
6077 if (Chara.held != null && IsPC)
6078 {
6079 int lightRadius = Chara.held.GetLightRadius();
6080 if (lightRadius > 0)
6081 {
6082 if (lightRadius > num2)
6083 {
6084 num2 = Chara.held.GetLightRadius() - 1;
6085 }
6086 if (num2 < 3)
6087 {
6088 num2 = 3;
6089 }
6090 }
6091 }
6092 if (num < num2)
6093 {
6094 num = num2;
6095 }
6096 }
6097 return num;
6098 }
PeriodOfDay
Definition: PeriodOfDay.cs:2
Thing GetEquippedThing(int elementId)
Definition: CharaBody.cs:378
bool isBlind
Definition: Chara.cs:130
GraphicSetting graphic
Definition: CoreConfig.cs:598
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:406

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

2552 {
2553 return "Card";
2554 }

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

◆ GetPaintData()

byte[] Card.GetPaintData ( )
inline

Definition at line 6658 of file Card.cs.

6659 {
6660 Sprite sprite = GetSprite();
6661 Texture2D texture2D = ScreenCapture.CaptureScreenshotAsTexture();
6662 int num = sprite.texture.width * 2;
6663 int num2 = sprite.texture.height * 2;
6664 int x = (int)Mathf.Clamp(Input.mousePosition.x - (float)(num / 2), 1f, texture2D.width - num - 1);
6665 int y = (int)Mathf.Clamp(Input.mousePosition.y - (float)(num2 / 2), 1f, texture2D.height - num2 - 1);
6666 Color[] pixels = texture2D.GetPixels(x, y, num, num2);
6667 Texture2D texture2D2 = new Texture2D(num, num2, TextureFormat.ARGB32, mipChain: false);
6668 texture2D2.SetPixels(pixels);
6669 texture2D2.Apply();
6670 byte[] result = texture2D2.EncodeToJPG();
6671 UnityEngine.Object.Destroy(texture2D);
6672 UnityEngine.Object.Destroy(texture2D2);
6673 return result;
6674 }
virtual Sprite GetSprite(int dir=0)
Definition: Card.cs:5713

References Color.

Referenced by AM_Paint.OnUpdateInput().

◆ GetPaintSprite()

Sprite Card.GetPaintSprite ( )
inline

Definition at line 6686 of file Card.cs.

6687 {
6688 if (!_paintSprite)
6689 {
6690 byte[] data = c_textureData;
6691 Texture2D texture2D = new Texture2D(1, 1);
6692 texture2D.LoadImage(data);
6693 _paintSprite = Sprite.Create(texture2D, new Rect(0f, 0f, texture2D.width, texture2D.height), new Vector2(0.5f, 0.5f), 200f);
6694 EClass.game.loadedTextures.Add(texture2D);
6695 if (trait is TraitCanvas traitCanvas)
6696 {
6697 texture2D.filterMode = ((!traitCanvas.PointFilter) ? FilterMode.Bilinear : FilterMode.Point);
6698 }
6699 }
6700 return _paintSprite;
6701 }
byte[] c_textureData
Definition: Card.cs:1865
HashSet< Texture2D > loadedTextures
Definition: Game.cs:251

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

6876 {
6877 if (priceType == PriceType.CopyShop && sell)
6878 {
6879 return 0;
6880 }
6881 if (!sell)
6882 {
6883 if (id == "littleball")
6884 {
6885 return 0;
6886 }
6887 switch (currency)
6888 {
6889 case CurrencyType.Ecopo:
6890 {
6891 string text = id;
6892 if (!(text == "plat"))
6893 {
6894 if (!(text == "whip_egg"))
6895 {
6896 break;
6897 }
6898 return 3000;
6899 }
6900 return 500;
6901 }
6902 case CurrencyType.Plat:
6903 {
6904 string text = id;
6905 if (!(text == "lucky_coin"))
6906 {
6907 if (!(text == "book_skill"))
6908 {
6909 break;
6910 }
6911 return 50;
6912 }
6913 return 100;
6914 }
6915 case CurrencyType.Medal:
6916 switch (id)
6917 {
6918 case "bill_tax":
6919 return 3;
6920 case "water":
6921 return 3;
6922 case "bill":
6923 return 3;
6924 case "1165":
6925 return 10;
6926 case "diary_sister":
6927 return 12;
6928 case "diary_lady":
6929 return 25;
6930 case "diary_catsister":
6931 return 85;
6932 case "container_magic":
6933 return 20;
6934 case "wrench_tent_elec":
6935 return 3;
6936 case "wrench_tent_soil":
6937 return 3;
6938 case "wrench_bed":
6939 return 3;
6940 case "wrench_storage":
6941 return 4;
6942 case "wrench_fridge":
6943 return 15;
6944 case "wrench_extend_v":
6945 return 6;
6946 case "wrench_extend_h":
6947 return 6;
6948 case "monsterball":
6949 return LV / 8;
6950 }
6951 break;
6952 }
6953 }
6954 if (sell && noSell)
6955 {
6956 return 0;
6957 }
6958 if (!sell && id == "casino_coin")
6959 {
6960 return 20;
6961 }
6962 int value = GetValue(priceType, sell);
6963 if (value == 0)
6964 {
6965 return 0;
6966 }
6967 if (c == null)
6968 {
6969 c = EClass.pc;
6970 }
6971 double p = value;
6972 Trait trait = this.trait;
6973 if (!(trait is TraitBed))
6974 {
6975 if (trait is TraitContainer traitContainer)
6976 {
6977 p *= 1f + 4f * (float)(things.width - traitContainer.Width) + 4f * (float)(things.height - traitContainer.Height);
6978 }
6979 }
6980 else
6981 {
6982 p *= 1f + 0.5f * (float)c_containerSize;
6983 }
6984 p += c_priceAdd;
6985 if (c_priceFix != 0)
6986 {
6987 p = (int)((float)p * (float)Mathf.Clamp(100 + c_priceFix, 0, 1000000) / 100f);
6988 if (p == 0.0)
6989 {
6990 return 0;
6991 }
6992 }
6993 if (isStolen)
6994 {
6995 if (sell && priceType == PriceType.PlayerShop && EClass.Branch != null && EClass.Branch.policies.IsActive(2824))
6996 {
6997 p = p * 100.0 / (double)Mathf.Max(110f, 170f - Mathf.Sqrt(EClass.Branch.Evalue(2824) * 5));
6998 }
6999 else if (sell && Guild.Thief.IsMember)
7000 {
7001 p = Guild.Thief.SellStolenPrice((int)p);
7002 }
7003 else
7004 {
7005 p *= 0.5;
7006 }
7007 }
7008 if (!sell && category.id == "spellbook")
7009 {
7010 p = Guild.Mage.BuySpellbookPrice((int)p);
7011 }
7012 bool flag = priceType == PriceType.CopyShop;
7013 int num = ((!flag) ? 1 : 5);
7014 float num2 = Mathf.Min(0.01f * (float)Evalue(752), 1f);
7015 float num3 = Mathf.Min(0.01f * (float)Evalue(751), 1f);
7016 float num4 = Mathf.Min(0.02f * (float)Evalue(759), 2f);
7017 if (num3 > 0f)
7018 {
7019 num3 *= (float)num;
7020 }
7021 float num5 = Mathf.Clamp(1f + num2 + num3, 0.5f, 5f) + num4;
7022 p *= num5;
7023 p *= 0.20000000298023224;
7024 if (sell)
7025 {
7026 p *= 0.20000000298023224;
7027 if (isCopy)
7028 {
7029 p *= 0.20000000298023224;
7030 }
7031 if (currency == CurrencyType.Money && (category.IsChildOf("meal") || category.IsChildOf("preserved")))
7032 {
7033 p *= 0.5;
7034 }
7035 if ((uint)(priceType - 1) <= 1u)
7036 {
7037 if (category.IsChildOf("fish"))
7038 {
7039 p *= ((EClass.pc.faith == EClass.game.religions.Luck) ? 1.5f : 1f);
7040 }
7041 if (category.IsChildOf("vegi") || category.IsChildOf("fruit"))
7042 {
7043 p *= ((EClass.pc.faith == EClass.game.religions.Harvest) ? 3f : 2f);
7044 }
7045 }
7046 }
7047 if (id == "rod_wish")
7048 {
7049 p *= (sell ? 0.01f : 50f);
7050 }
7051 switch (currency)
7052 {
7053 case CurrencyType.Ecopo:
7054 if (this.trait is TraitSeed)
7055 {
7056 p *= 2.0;
7057 }
7058 else if (this.trait is TraitEcoMark)
7059 {
7060 p *= 1.0;
7061 }
7062 else
7063 {
7064 p *= 0.20000000298023224;
7065 }
7066 break;
7067 case CurrencyType.Casino_coin:
7068 p *= 0.10000000149011612;
7069 break;
7070 case CurrencyType.Influence:
7071 p *= 0.0020000000949949026;
7072 break;
7073 case CurrencyType.Medal:
7074 p *= 0.00019999999494757503;
7075 break;
7076 case CurrencyType.Money2:
7077 p *= 0.004999999888241291;
7078 break;
7079 default:
7080 if (IsIdentified || (this.trait is TraitErohon && !sell) || priceType == PriceType.Tourism)
7081 {
7082 if (blessedState == BlessedState.Blessed)
7083 {
7084 p *= 1.25;
7085 }
7086 else if (blessedState <= BlessedState.Cursed)
7087 {
7088 p *= (flag ? 1.25f : 0.3f);
7089 }
7090 if (this.trait.HasCharges)
7091 {
7092 p = p * 0.05000000074505806 + p * (double)(0.5f + Mathf.Clamp(0.1f * (float)c_charges, 0f, 1.5f));
7093 }
7094 if (IsDecayed)
7095 {
7096 p *= (flag ? 0.9f : 0.5f);
7097 }
7098 }
7099 else
7100 {
7101 Rand.UseSeed(uid, delegate
7102 {
7103 p = (sell ? (1 + EClass.rnd(15)) : (50 + EClass.rnd(500)));
7104 });
7105 }
7106 if (!sell)
7107 {
7108 p *= 1f + 0.2f * (float)c.Evalue(1406);
7109 }
7110 break;
7111 }
7112 float num6 = Math.Clamp(Mathf.Sqrt(c.EvalueMax(291) + ((!sell && EClass._zone.IsPCFaction) ? (EClass.Branch.Evalue(2800) * 2) : 0)), 0f, 25f);
7113 switch (priceType)
7114 {
7115 case PriceType.Tourism:
7116 num6 = 0f;
7117 break;
7118 case PriceType.Shipping:
7119 if (sell)
7120 {
7121 p *= 1.100000023841858;
7122 }
7123 break;
7124 case PriceType.PlayerShop:
7125 {
7126 if (!sell)
7127 {
7128 break;
7129 }
7130 float num7 = 1.25f;
7131 if (EClass.Branch != null)
7132 {
7133 if (EClass.Branch.policies.IsActive(2817))
7134 {
7135 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2817));
7136 }
7137 if (EClass.Branch.policies.IsActive(2816))
7138 {
7139 num7 += 0.2f + 0.02f * Mathf.Sqrt(EClass.Branch.Evalue(2816));
7140 }
7141 if (isChara)
7142 {
7143 if (EClass.Branch.policies.IsActive(2828))
7144 {
7145 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2828));
7146 }
7147 }
7148 else if (category.IsChildOf("food") || category.IsChildOf("drink"))
7149 {
7150 if (EClass.Branch.policies.IsActive(2818))
7151 {
7152 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2818));
7153 }
7154 }
7155 else if (category.IsChildOf("furniture"))
7156 {
7157 if (EClass.Branch.policies.IsActive(2819))
7158 {
7159 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2819));
7160 }
7161 }
7162 else if (EClass.Branch.policies.IsActive(2820))
7163 {
7164 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2820));
7165 }
7166 }
7167 p *= num7;
7168 break;
7169 }
7170 }
7171 if ((uint)currency > 1u)
7172 {
7173 num6 = 0f;
7174 }
7175 p *= (sell ? (1f + num6 * 0.02f) : (1f - num6 * 0.02f));
7176 if (sell)
7177 {
7178 p = EClass.curve((int)p, 10000, 10000, 80);
7179 }
7180 if (p < 1.0)
7181 {
7182 p = ((!sell) ? 1 : 0);
7183 }
7184 if (!sell)
7185 {
7186 if (currency == CurrencyType.Casino_coin)
7187 {
7188 if (p > 100000.0)
7189 {
7190 p = Mathf.CeilToInt((float)p / 100000f) * 100000;
7191 }
7192 else if (p > 10000.0)
7193 {
7194 p = Mathf.CeilToInt((float)p / 10000f) * 10000;
7195 }
7196 else if (p > 1000.0)
7197 {
7198 p = Mathf.CeilToInt((float)p / 1000f) * 1000;
7199 }
7200 else if (p > 100.0)
7201 {
7202 p = Mathf.CeilToInt((float)p / 100f) * 100;
7203 }
7204 else if (p > 10.0)
7205 {
7206 p = Mathf.CeilToInt((float)p / 10f) * 10;
7207 }
7208 }
7209 if (this.trait is TraitDeed)
7210 {
7211 p *= Mathf.Pow(2f, EClass.player.flags.landDeedBought);
7212 }
7213 }
7214 if (p > (double)(sell ? 500000000 : 1000000000))
7215 {
7216 if (!sell)
7217 {
7218 return 1000000000;
7219 }
7220 return 500000000;
7221 }
7222 return (int)p;
7223 }
BlessedState
Definition: BlessedState.cs:2
@ currency
CurrencyType
Definition: CurrencyType.cs:2
PriceType
Definition: PriceType.cs:2
int c_priceFix
Definition: Card.cs:1109
int EvalueMax(int ele, int min=0)
Definition: Card.cs:2521
bool noSell
Definition: Card.cs:814
int c_priceAdd
Definition: Card.cs:1121
bool isStolen
Definition: Card.cs:838
bool IsIdentified
Definition: Card.cs:2313
int c_charges
Definition: Card.cs:1241
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:25
bool IsMember
Definition: Guild.cs:39
static GuildThief Thief
Definition: Guild.cs:27
int landDeedBought
Definition: Player.cs:522
Flags flags
Definition: Player.cs:910
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:323

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

5687 {
5688 int num = EClass.game.seed + refVal;
5689 num += id[0] % 10000;
5690 if (id.Length > 1)
5691 {
5692 num += id[1] % 1000;
5693 if (id.Length > 2)
5694 {
5695 num += id[2] % 1000;
5696 if (id.Length > 3)
5697 {
5698 num += id[3] % 1000;
5699 if (id.Length > 4)
5700 {
5701 num += id[4] % 1000;
5702 }
5703 }
5704 }
5705 }
5706 Rand.UseSeed(num, delegate
5707 {
5708 _randColor = EClass.sources.materials.rows[EClass.rnd(90)].matColor;
5709 });
5710 return ref _randColor;
5711 }
static Color _randColor
Definition: Card.cs:89

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

◆ GetRenderParam()

RenderParam Card.GetRenderParam ( )
inline

Definition at line 5613 of file Card.cs.

5614 {
5616 shared.color = 11010048f;
5617 shared.liquidLv = 0;
5618 shared.cell = null;
5619 SetRenderParam(shared);
5620 return shared;
5621 }
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:5623
static RenderParam shared
Definition: RenderParam.cs:5

References RenderParam.shared.

Referenced by EffectIRenderer.OnUpdate().

◆ GetRestrainer()

TraitShackle Card.GetRestrainer ( )
inline

Definition at line 6739 of file Card.cs.

6740 {
6741 foreach (Card item in pos.ListCards())
6742 {
6743 if (item.trait is TraitShackle && item.c_uidRefCard == uid)
6744 {
6745 return item.trait as TraitShackle;
6746 }
6747 }
6748 return null;
6749 }
List< Card > ListCards(bool includeMasked=false)
Definition: Point.cs:1031

References item, and Point.ListCards().

Referenced by BaseTileMap.DrawTile().

◆ GetRoot()

ICardParent Card.GetRoot ( )
inline

Implements ICardParent.

Definition at line 3278 of file Card.cs.

3279 {
3280 if (parent == null)
3281 {
3282 return this;
3283 }
3284 return parent.GetRoot();
3285 }
ICardParent GetRoot()

References ICardParent.GetRoot(), and parent.

Referenced by UIInventory.RefreshMenu().

◆ GetRootCard()

Card Card.GetRootCard ( )
inline

Definition at line 3287 of file Card.cs.

3288 {
3289 if (!(parent is Card card))
3290 {
3291 return this;
3292 }
3293 return card.GetRootCard();
3294 }

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

3486 {
3487 if (socketList != null)
3488 {
3489 foreach (SocketData socket in socketList)
3490 {
3491 if (socket.type == SocketData.Type.Rune && socket.idEle == idEle)
3492 {
3493 return socket;
3494 }
3495 }
3496 }
3497 return null;
3498 }

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

Referenced by Element.AddEncNote().

◆ GetSightRadius()

int Card.GetSightRadius ( )
inline

Definition at line 6021 of file Card.cs.

6022 {
6023 if (IsPC)
6024 {
6025 return EClass.player.lightRadius;
6026 }
6027 return (EClass._map.IsIndoor ? 4 : 5) + (IsPCFaction ? 1 : 0);
6028 }

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

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

◆ GetSprite()

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

Reimplemented in Chara.

Definition at line 5713 of file Card.cs.

5714 {
5715 if (trait is TraitAbility)
5716 {
5717 return (trait as TraitAbility).CreateAct()?.GetSprite() ?? EClass.core.refs.icons.defaultAbility;
5718 }
5719 return sourceCard.GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
5720 }
bool IsSnowTile
Definition: Cell.cs:782
Sprite defaultAbility
Definition: CoreRef.cs:116
Icons icons
Definition: CoreRef.cs:345
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:44

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

5896 {
5897 return SubPassData.Default;
5898 }
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 6450 of file Card.cs.

6451 {
6452 bool flag = isChara && Chara.IsHumanSpeak;
6453 string text = MOD.listTalk.GetTalk(c_idTalk.IsEmpty(id), idTopic, useDefault, flag);
6454 if (!text.IsEmpty())
6455 {
6456 text = text.Split('|').RandomItem();
6457 if (!flag || (IsDeadOrSleeping && IsAliveInCurrentZone))
6458 {
6459 if (!text.StartsWith("(") && !text.StartsWith("*"))
6460 {
6461 text = "(" + text + ")";
6462 }
6463 text = text.Replace("。)", ")");
6464 }
6465 }
6466 return ApplyTone(text, stripPun);
6467 }
virtual bool IsDeadOrSleeping
Definition: Card.cs:2045
string c_idTalk
Definition: Card.cs:1529
bool IsHumanSpeak
Definition: Chara.cs:881
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 6755 of file Card.cs.

6756 {
6757 int result = 0;
6758 if (row.id == 0)
6759 {
6760 return result;
6761 }
6762 result = row.value * mat.value / 100;
6763 if (result < 0)
6764 {
6765 result = 1;
6766 }
6767 return result;
6768 }
int id
Definition: TileRow.cs:8

References TileRow.id.

Referenced by PartialMap.Save().

◆ GetTotalQuality()

int Card.GetTotalQuality ( bool  applyBonus = true)
inline

Definition at line 3681 of file Card.cs.

3682 {
3683 int num = 5 + LV + material.quality;
3684 if (applyBonus)
3685 {
3686 num = num * (100 + Quality) / 100;
3687 }
3688 return num;
3689 }
int Quality
Definition: Card.cs:2361

References LV, material, and Quality.

Referenced by Hobby.GetEfficiency().

◆ GetValue()

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

Definition at line 6797 of file Card.cs.

6798 {
6799 int num = ((c_fixedValue == 0) ? trait.GetValue() : c_fixedValue);
6800 if (id == "plat" && !sell)
6801 {
6802 num = 10000;
6803 }
6804 if (num == 0)
6805 {
6806 return 0;
6807 }
6808 float num2 = num;
6809 if (priceType == PriceType.CopyShop)
6810 {
6811 num2 += (float)c_priceCopy * 0.2f;
6812 num2 = num2 * (float)Mathf.Max(150 + rarityLv, 150) / 100f;
6813 }
6814 else
6815 {
6816 num2 = num2 * (float)Mathf.Max(100 + rarityLv + Mathf.Min(QualityLv * 10, 200), 80) / 100f;
6817 }
6818 if (IsFood && !material.tag.Contains("food"))
6819 {
6820 num2 *= 0.5f;
6821 }
6822 float num3;
6824 {
6825 if (sell)
6826 {
6827 num2 *= 0.3f;
6828 }
6829 num3 = 2f;
6830 }
6831 else
6832 {
6833 num3 = 0.5f;
6834 }
6835 if (isReplica)
6836 {
6837 num2 *= 0.15f;
6838 }
6839 if (!IsUnique)
6840 {
6841 if (IsEquipmentOrRanged && rarity >= Rarity.Legendary)
6842 {
6843 num2 = Mathf.Max(num2, 1800f + num2 / 5f);
6844 }
6845 num2 = num2 * (100f + num3 * (float)(material.value - 100)) / 100f;
6847 {
6848 int num4 = 0;
6849 foreach (Element value in elements.dict.Values)
6850 {
6851 num4 += value.source.value;
6852 }
6853 num2 = num2 * (float)(100 + (sell ? ((int)MathF.Sqrt(num4) * 10) : num4)) / 100f;
6854 if (rarity >= Rarity.Legendary)
6855 {
6856 num2 = Mathf.Max(num2, 3600f + num2 / 5f);
6857 }
6858 }
6859 }
6860 if (trait is TraitRecipe && sell)
6861 {
6862 num2 *= 0.1f;
6863 }
6864 if (encLV != 0 && !category.tag.Contains("noEnc"))
6865 {
6866 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)))));
6867 }
6868 if (tier > 0)
6869 {
6870 num2 *= (float)(tier + 1);
6871 }
6872 return (int)num2;
6873 }
bool IsEquipmentOrRangedOrAmmo
Definition: Card.cs:2166
int c_fixedValue
Definition: Card.cs:1145
int c_priceCopy
Definition: Card.cs:1133
bool IsEquipmentOrRanged
Definition: Card.cs:2154
bool isReplica
Definition: Card.cs:682
int QualityLv
Definition: Card.cs:2363
virtual int GetValue()
Definition: Trait.cs:576

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

2453 {
2454 if (IsPC)
2455 {
2456 return Window.dictData.TryGetValue("LayerInventoryFloatMain0");
2457 }
2459 {
2460 return Window.dictData.TryGetValue("ChestMerchant");
2461 }
2462 return c_windowSaveData;
2463 }
Window.SaveData c_windowSaveData
Definition: Card.cs:1781
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 5443 of file Card.cs.

5444 {
5445 Card card = (ExistsOnMap ? this : (GetRootCard() ?? EClass.pc));
5446 EClass.player.forceTalk = true;
5447 card.Talk("giveBirth");
5448 EClass._zone.TryAddThing(t, card.pos);
5449 if (effect)
5450 {
5451 card.pos.PlayEffect("revive");
5452 card.pos.PlaySound("egg");
5453 PlayAnime(AnimeID.Shiver);
5454 if (isChara)
5455 {
5457 }
5458 }
5459 return t;
5460 }
bool ExistsOnMap
Definition: Card.cs:2021
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:5795
bool TryAddThing(Thing target, Point p, bool destroyIfFail=false)
Definition: Zone.cs:2150

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

Referenced by ActEffect.GeneMiracle().

◆ HasCondition< T >()

virtual bool Card.HasCondition< T > ( )
inlinevirtual

Reimplemented in Chara.

Type Constraints
T :Condition 

Definition at line 7435 of file Card.cs.

7435 : Condition
7436 {
7437 return false;
7438 }

◆ HasCraftBonusTrait()

bool Card.HasCraftBonusTrait ( )
inline

Definition at line 6561 of file Card.cs.

6562 {
6563 return ListCraftBonusTraits().Count > 0;
6564 }
List< Element > ListCraftBonusTraits()
Definition: Card.cs:6566

Referenced by CraftUtil.MixIngredients().

◆ HasEditorTag()

bool Card.HasEditorTag ( EditorTag  tag)
inline

Definition at line 2536 of file Card.cs.

2537 {
2538 return c_editorTags?.Contains(tag.ToString()) ?? false;
2539 }

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

5567 {
5568 return elements.Value(ele) >= req;
5569 }

References ElementContainer.Value().

Referenced by Chara._Move(), TraitAltar._OnOffer(), InvOwnerGene._OnProcess(), ActPlan._Update(), UICharaMaker.AddDomain(), ActMelee.Attack(), DramaCustomSequence.Build(), RecipeCard.Build(), Chara.CanBeTempAlly(), TraitKettle.CanCopy(), Trait.CanEat(), TaskMine.CanMine(), 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.GetToolEfficiency(), Chara.GiveGift(), Party.HasElement(), CharaBody.IsEquippable(), CharaBody.IsTooHeavyToEquip(), Religion.JoinFaith(), CalcPlat.Learn(), LevelUp(), Thing.ListValidTraits(), RecipeCard.MakeDish(), TraitSeed.MakeSeed(), StatsMana.Mod(), StatsStamina.Mod(), Zone_Casino.OnActivate(), AM_Adv.OnBecomeNoGoal(), TraitTent.OnChangePlaceState(), Affinity.OnGift(), AI_Fish.ProgressFish.OnProgress(), InvOwnerGene.OnWriteNote(), ActThrow.Perform(), AttackProcess.Perform(), FoodEffect.Proc(), ActEffect.Proc(), CoreDebug.QuickStart(), Chara.Refresh(), Chara.RefreshSpeed(), Chara.RequestProtection(), ActRide.Ride(), AI_Idle.Run(), AI_Slaughter.Run(), GoalCombat.Run(), Weather.SetCondition(), SpawnLoot(), ConSleep.SuccubusVisit(), DramaActor.Talk(), ActThrow.Throw(), ConSuffocation.Tick(), Chara.TickConditions(), CalcPlat.Train(), TaskHarvest.TryGetAct(), ThingGen.TryLickChest(), Chara.TryNullifyCurse(), HotItemHeld.TrySetToolAct(), GoalCombat.TryThrow(), GoalCombat.TryUseAbility(), and CharaBody.Unequip().

◆ HasElement() [2/2]

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

Definition at line 5571 of file Card.cs.

5572 {
5573 return HasElement(EClass.sources.elements.alias[id].id, req);
5574 }

References SourceManager.elements, and EClass.sources.

◆ HasElementNoCopy()

bool Card.HasElementNoCopy ( )
inline

Definition at line 5581 of file Card.cs.

5582 {
5583 if (HasElement(759))
5584 {
5585 return true;
5586 }
5587 if (HasElement(703))
5588 {
5589 return true;
5590 }
5591 return false;
5592 }

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

◆ HasGlobalElement()

bool Card.HasGlobalElement ( int  ele)
inline

Definition at line 5576 of file Card.cs.

5577 {
5578 return elements.GetElement(ele)?.IsGlobalElement ?? false;
5579 }
Element GetElement(string alias)
bool IsGlobalElement
Definition: ELEMENT.cs:343

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

Referenced by Evalue().

◆ HasLight()

bool Card.HasLight ( )
inline

Definition at line 6002 of file Card.cs.

6003 {
6004 return GetLightRadius() > 0;
6005 }

◆ HasRune()

bool Card.HasRune ( )
inline

Definition at line 3576 of file Card.cs.

3577 {
3578 return CountRune() > 0;
3579 }

References CountRune().

Referenced by TraitKettle.CanCopy().

◆ HasTag()

◆ HasTalk()

bool Card.HasTalk ( string  idTopic)
inline

Definition at line 6321 of file Card.cs.

6322 {
6323 return !MOD.listTalk.GetTalk(c_idTalk.IsEmpty(id), idTopic, useDefault: true).IsEmpty();
6324 }

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

◆ HaveFur()

bool Card.HaveFur ( )
inline

Definition at line 7440 of file Card.cs.

7441 {
7442 if (!isChara)
7443 {
7444 return false;
7445 }
7446 string text = id;
7447 if (text == "putty_snow" || text == "putty_snow_gold")
7448 {
7449 return true;
7450 }
7451 return !Chara.race.fur.IsEmpty();
7452 }

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

3849 {
3850 long num = a;
3851 if (origin == HealSource.Magic)
3852 {
3853 num = (long)a * (long)Mathf.Max(100 - Evalue(93), 1) / 100;
3854 }
3855 if (num > 100000000)
3856 {
3857 num = 100000000L;
3858 }
3859 hp += (int)num;
3860 if (hp > MaxHP)
3861 {
3862 hp = MaxHP;
3863 }
3864 switch (origin)
3865 {
3866 case HealSource.Magic:
3867 case HealSource.Item:
3868 PlaySound("heal");
3869 PlayEffect("heal");
3870 break;
3871 case HealSource.HOT:
3872 PlaySound("heal_tick");
3873 PlayEffect("heal_tick");
3874 break;
3875 }
3876 }
HealSource
Definition: HealSource.cs:2

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

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

3833 {
3834 if (isChara)
3835 {
3836 if (Chara.parasite != null)
3837 {
3839 }
3840 if (Chara.ride != null)
3841 {
3842 Chara.ride.HealHP(a);
3843 }
3844 }
3845 HealHP(a, origin);
3846 }
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 7420 of file Card.cs.

7421 {
7422 SE.Play("pop_paper");
7423 if (isChara)
7424 {
7425 LayerChara layerChara = EClass.ui.AddLayerDontCloseOthers<LayerChara>();
7426 layerChara.windows[0].SetRect(EClass.core.refs.rects.center);
7427 layerChara.SetChara(Chara);
7428 }
7429 else
7430 {
7431 EClass.ui.AddLayerDontCloseOthers<LayerInfo>().SetThing(Thing);
7432 }
7433 }
RectData center
Definition: CoreRef.cs:164
Rects rects
Definition: CoreRef.cs:351
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 2597 of file Card.cs.

2598 {
2599 return GetRootCard() == c;
2600 }

References GetRootCard().

Referenced by AI_OpenGambleChest.IsValid().

◆ IsExcludeFromCraft()

bool Card.IsExcludeFromCraft ( )
inline

Definition at line 2465 of file Card.cs.

2466 {
2467 if (IsUnique || c_isImportant)
2468 {
2469 return true;
2470 }
2471 if (parent is Card card)
2472 {
2473 if (card.trait is TraitChestMerchant)
2474 {
2475 return true;
2476 }
2477 if (card.isSale || !card.trait.CanUseContent)
2478 {
2479 return true;
2480 }
2481 Window.SaveData windowSaveData = card.GetWindowSaveData();
2482 if (windowSaveData != null)
2483 {
2484 return windowSaveData.excludeCraft;
2485 }
2486 }
2487 return false;
2488 }
bool c_isImportant
Definition: Card.cs:996
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 7279 of file Card.cs.

7280 {
7281 return pos.Distance(EClass.pc.pos) < d;
7282 }

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

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

◆ IsStackable()

bool Card.IsStackable ( Thing  tg)
inline

Definition at line 3296 of file Card.cs.

3297 {
3298 if (id != tg.id || material != tg.material)
3299 {
3300 return false;
3301 }
3302 return true;
3303 }

References id, and material.

◆ KillAnime()

void Card.KillAnime ( )
inline

Definition at line 5790 of file Card.cs.

5791 {
5793 }
virtual void KillAnime()

References CardRenderer.KillAnime().

Referenced by ActThrow.Throw().

◆ LevelUp()

void Card.LevelUp ( )
inline

Definition at line 2909 of file Card.cs.

2910 {
2911 if (IsPC)
2912 {
2914 {
2915 Msg.Say("demoLimit");
2916 return;
2917 }
2919 Tutorial.Reserve("feat");
2920 }
2921 feat++;
2922 LV++;
2923 Say("dingExp", this);
2924 PlaySound("jingle_lvup");
2925 PlayEffect("aura_heaven");
2926 if (HasElement(1415) && Evalue(1415) < 9 && LV >= Evalue(1415) * 5 + 10)
2927 {
2928 Chara.SetFeat(1415, Evalue(1415) + 1, msg: true);
2929 }
2930 if (IsPC)
2931 {
2932 return;
2933 }
2934 if (Chara.race.id == "mutant")
2935 {
2936 int num = Mathf.Min(1 + LV / 5, 20);
2937 for (int i = 0; i < num; i++)
2938 {
2939 if (Evalue(1644) < i + 1)
2940 {
2941 Chara.SetFeat(1644, i + 1);
2942 }
2943 }
2944 }
2945 Chara.TryUpgrade();
2946 }
Version version
Definition: BaseCore.cs:17
int feat
Definition: Card.cs:358
void SetFeat(int id, int value=1, bool msg=false)
Definition: Chara.cs:9114
void TryUpgrade(bool msg=true)
Definition: Chara.cs:7940
int totalFeat
Definition: Player.cs:724
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 6566 of file Card.cs.

6567 {
6568 List<Element> list = new List<Element>();
6569 string[] tag = sourceCard.tag;
6570 for (int i = 0; i < tag.Length; i++)
6571 {
6572 string[] array = tag[i].Split('/');
6573 if (!(array[0] != "craft_bonus"))
6574 {
6575 Element item = Element.Create(array[1], array[2].ToInt());
6576 list.Add(item);
6577 }
6578 }
6579 return list;
6580 }

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

5844 {
5845 }

Referenced by ActThrow.Throw().

◆ LookAt() [2/2]

virtual void Card.LookAt ( Point  p)
inlinevirtual

Reimplemented in Chara.

Definition at line 5847 of file Card.cs.

5848 {
5849 }

◆ MakeEgg()

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

Definition at line 5403 of file Card.cs.

5404 {
5405 Thing thing = ThingGen.Create((EClass.rnd(EClass.debug.enable ? 1 : fertChance) == 0) ? "egg_fertilized" : "_egg").SetNum(num);
5406 thing.MakeFoodFrom(this);
5407 thing.c_idMainElement = c_idMainElement;
5408 if (state.HasValue)
5409 {
5410 thing.SetBlessedState(state.Value);
5411 }
5412 if (!addToZone)
5413 {
5414 return thing;
5415 }
5416 return GiveBirth(thing, effect);
5417 }
int c_idMainElement
Definition: Card.cs:1373
Thing GiveBirth(Thing t, bool effect)
Definition: Card.cs:5443
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:3740
Card MakeFoodFrom(string _id)
Definition: Card.cs:5195

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

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

◆ MakeFigureFrom()

void Card.MakeFigureFrom ( string  id)
inline

Definition at line 5381 of file Card.cs.

5382 {
5383 MakeRefFrom(id);
5384 }
void MakeRefFrom(string id)
Definition: Card.cs:5386

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

◆ MakeFoodFrom() [1/2]

Card Card.MakeFoodFrom ( Card  c)
inline

Definition at line 5200 of file Card.cs.

5201 {
5202 MakeRefFrom(c);
5204 if (!c.isChara)
5205 {
5206 return this;
5207 }
5208 SourceRace.Row race = c.Chara.race;
5209 int num = race.food[0].ToInt();
5210 bool flag = id == "meat_marble";
5211 int num2 = 1;
5212 bool flag2 = category.IsChildOf("meat");
5213 bool flag3 = category.IsChildOf("egg");
5214 if (flag)
5215 {
5216 num += 100;
5217 }
5218 if (flag2)
5219 {
5220 if (c.IsPCFaction && c.IsUnique)
5221 {
5222 num = -100;
5223 }
5224 elements.SetBase(70, race.STR * race.STR / 5 * num / 100 - 10 + num / 10);
5225 if (flag)
5226 {
5227 elements.SetBase(440, race.END * race.END / 5 * num / 100 - 10 + num / 10);
5228 }
5229 elements.SetBase(71, (int)Mathf.Clamp((float)(num / 10) + Mathf.Sqrt(race.height) - 10f, 1f, 60f));
5230 }
5231 else if (flag3)
5232 {
5233 elements.SetBase(444, race.LER * race.LER / 5 * num / 100 - 10 + num / 10);
5234 num2 = 2;
5235 }
5236 else
5237 {
5238 num2 = 3;
5239 }
5240 if (flag2)
5241 {
5242 if (race.IsHuman)
5243 {
5244 elements.SetBase(708, 1);
5245 }
5246 if (race.IsUndead)
5247 {
5248 elements.SetBase(709, 1);
5249 }
5250 }
5251 foreach (Element value in c.elements.dict.Values)
5252 {
5253 if ((!flag3 || value.id != 1229) && (value.source.category == "food" || value.source.tag.Contains("foodEnc") || value.IsTrait))
5254 {
5255 elements.SetBase(value.id, value.Value);
5256 }
5257 }
5258 List<Tuple<int, int>> list = new List<Tuple<int, int>>();
5259 foreach (KeyValuePair<int, int> item in race.elementMap)
5260 {
5261 if (EClass.sources.elements.map[item.Key].tag.Contains("primary"))
5262 {
5263 list.Add(new Tuple<int, int>(item.Key, item.Value));
5264 }
5265 }
5266 list.Sort((Tuple<int, int> a, Tuple<int, int> b) => b.Item2 - a.Item2);
5267 for (int i = 0; i < num2 && i < list.Count; i++)
5268 {
5269 Tuple<int, int> tuple = list[i];
5270 elements.SetBase(tuple.Item1, tuple.Item2 * tuple.Item2 / 4);
5271 }
5272 if (race.IsUndead)
5273 {
5274 elements.ModBase(73, -20);
5275 }
5276 isWeightChanged = true;
5277 c_weight = race.height * 4 + 100;
5280 int num3 = c.LV - c.sourceCard.LV;
5281 if (num3 < 0)
5282 {
5283 num3 = 0;
5284 }
5285 num3 = EClass.curve(num3, 10, 10, 80);
5286 if (c.rarity >= Rarity.Legendary || c.IsUnique)
5287 {
5288 num3 += 60;
5289 }
5290 if (flag2 && c.IsPCFaction && c.IsUnique)
5291 {
5292 num3 = 0;
5293 }
5294 if (num3 > 0)
5295 {
5296 elements.ModBase(2, num3);
5297 }
5298 return this;
5299 }
Element SetBase(string alias, int v, int potential=0)
int Value
Definition: ELEMENT.cs:290
bool IsTrait
Definition: ELEMENT.cs:360
int LV
Definition: RenderRow.cs:22
string[] food
Definition: SourceRace.cs:89
Dictionary< int, int > elementMap
Definition: SourceRace.cs:99

References ChangeMaterial, Chara, EClass.curve(), SourceManager.elements, SourceRace.Row.END, SourceRace.Row.food, SourceRace.Row.height, Element.id, isChara, SourceCategory.Row.IsChildOf(), SourceRace.Row.IsHuman, IsPCFaction, Element.IsTrait, SourceRace.Row.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 5195 of file Card.cs.

5196 {
5197 return MakeFoodFrom(EClass.sources.cards.map[_id].model);
5198 }
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 5301 of file Card.cs.

5302 {
5303 Card card = c1;
5304 Card card2 = c2;
5305 if (IsIgnoreName(card))
5306 {
5307 card = null;
5308 }
5309 if (IsIgnoreName(card2))
5310 {
5311 card2 = null;
5312 }
5313 if (card == null && card2 != null)
5314 {
5315 card = card2;
5316 card2 = null;
5317 }
5318 if (card != null)
5319 {
5320 MakeRefFrom(card, card2);
5321 if (card.c_idRefCard != null)
5322 {
5323 c_idRefCard = card.c_idRefCard;
5325 }
5326 if (card2 != null && card2.c_idRefCard != null)
5327 {
5328 c_idRefCard2 = card2.c_idRefCard;
5329 c_altName2 = TryGetFoodName(card2);
5330 }
5331 }
5332 static bool IsIgnoreName(Card c)
5333 {
5334 if (c == null)
5335 {
5336 return true;
5337 }
5338 switch (c.id)
5339 {
5340 case "dough_cake":
5341 case "dough_bread":
5342 case "noodle":
5343 case "flour":
5344 case "rice":
5345 return true;
5346 default:
5347 return false;
5348 }
5349 }
5350 }
string c_altName
Definition: Card.cs:1553
string TryGetFoodName(Card c)
Definition: Card.cs:5352
string c_altName2
Definition: Card.cs:1565
string c_idRefCard2
Definition: Card.cs:1709
string c_idRefCard
Definition: Card.cs:1697

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

5420 {
5421 Thing thing = ThingGen.Create("milk").SetNum(num);
5422 thing.MakeRefFrom(this);
5423 if (state.HasValue)
5424 {
5425 thing.SetBlessedState(state.Value);
5426 }
5427 int num2 = LV - sourceCard.LV;
5429 {
5430 num2 = 0;
5431 }
5432 if (num2 >= 10)
5433 {
5434 thing.SetEncLv(num2 / 10);
5435 }
5436 if (!addToZone)
5437 {
5438 return thing;
5439 }
5440 return GiveBirth(thing, effect);
5441 }
void SetEncLv(int a)
Definition: Card.cs:3709

References EClass._zone, ThingGen.Create(), Zone.IsUserZone, RenderRow.LV, MakeRefFrom(), SetBlessedState(), SetEncLv(), and SetNum().

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

◆ MakeRefFrom() [1/2]

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

Definition at line 5391 of file Card.cs.

5392 {
5393 c_idRefCard = c1.id;
5394 c_altName = (c1.IsPC ? c1.c_altName : c1.GetName(NameStyle.Ref, (!c1.isChara) ? 1 : 0));
5395 if (c2 != null)
5396 {
5397 c_idRefCard2 = c2.id;
5398 c_altName2 = (c2.IsPC ? c2.c_altName : c2.GetName(NameStyle.Ref, (!c2.isChara) ? 1 : 0));
5399 }
5400 c_extraNameRef = (c1.IsPC ? EClass.pc.c_altName : c1.c_extraNameRef);
5401 }
NameStyle
Definition: NameStyle.cs:2
virtual string GetName(NameStyle style, int num=-1)
Definition: Card.cs:2551
string c_extraNameRef
Definition: Card.cs:1577

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

◆ MakeRefFrom() [2/2]

void Card.MakeRefFrom ( string  id)
inline

◆ MatchEncSearch()

virtual bool Card.MatchEncSearch ( string  s)
inlinevirtual

Reimplemented in Thing.

Definition at line 7310 of file Card.cs.

7311 {
7312 return false;
7313 }

◆ MaxRune()

int Card.MaxRune ( )
inline

Definition at line 3516 of file Card.cs.

3517 {
3518 return ((!IsUnique) ? 1 : 0) + Evalue(484);
3519 }

References Evalue(), and IsUnique.

Referenced by CanAddRune().

◆ Mod()

void Card.Mod ( )
inline

Definition at line 2447 of file Card.cs.

2448 {
2449 isModified = true;
2450 }
bool isModified
Definition: Card.cs:454

References isModified.

◆ ModCharge()

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

Definition at line 3795 of file Card.cs.

3796 {
3797 c_charges += a;
3799 if (c_charges <= 0 && destroy)
3800 {
3801 Say("spellbookCrumble", this);
3802 ModNum(-1);
3803 }
3804 }
void ModNum(int a, bool notify=true)
Definition: Card.cs:3376

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

3807 {
3808 if (a != 0)
3809 {
3810 if (id == "influence")
3811 {
3813 return;
3814 }
3815 SourceMaterial.Row mat = null;
3816 things.AddCurrency(this, id, a, mat);
3817 }
3818 }
void AddCurrency(Card owner, string id, int a, SourceMaterial.Row mat=null)
void ModInfluence(int a)
Definition: Zone.cs:3405

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

3692 {
3693 ApplyMaterialElements(remove: true);
3694 encLV += a;
3695 ApplyMaterialElements(remove: false);
3697 {
3698 if (IsWeapon || IsAmmo)
3699 {
3700 elements.ModBase(67, a);
3701 }
3702 else
3703 {
3704 elements.ModBase(65, a * 2);
3705 }
3706 }
3707 }
bool IsAmmo
Definition: Card.cs:2183

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

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

◆ ModExp() [1/2]

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

Definition at line 2589 of file Card.cs.

2590 {
2591 if (isChara)
2592 {
2593 elements.ModExp(ele, a);
2594 }
2595 }

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

◆ ModExp() [2/2]

◆ ModNum()

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

Definition at line 3376 of file Card.cs.

3377 {
3378 if (Num + a < 0)
3379 {
3380 a = -Num;
3381 }
3382 Num += a;
3383 if (props != null)
3384 {
3385 props.OnNumChange(this, a);
3386 }
3387 if (parent != null)
3388 {
3390 }
3391 if (a > 0 && EClass.core.IsGameStarted && GetRootCard() == EClass.pc && notify)
3392 {
3394 }
3396 if (Num <= 0)
3397 {
3398 Destroy();
3399 }
3400 }
Props props
Definition: Card.cs:47
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(), TraitDye.Dye(), HitSummary.Execute(), 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(), LayerGacha.PlayGacha(), AI_Eat.Run(), 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 5479 of file Card.cs.

5480 {
5481 if (p == null)
5482 {
5483 return;
5484 }
5485 EClass._map.MoveCard(p, this);
5486 if (!IsPC || focus)
5487 {
5488 renderer.SetFirst(first: true, p.PositionCenter());
5489 }
5490 if (isChara)
5491 {
5492 if (cancelAI)
5493 {
5494 Chara.ai.Cancel();
5495 }
5496 Chara.SyncRide();
5497 }
5498 if (IsPC && focus)
5499 {
5502 }
5503 }
virtual Status Cancel()
Definition: AIAct.cs:291
virtual void RefreshPosition()
virtual void SetFirst(bool first, Vector3 pos)
static BaseGameScreen screen
Definition: EClass.cs:32
ref Vector3 PositionCenter()
Definition: Point.cs:575

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

3017 {
3018 }

Referenced by AddThing(), and ModNum().

◆ OnBeforeCreate()

virtual void Card.OnBeforeCreate ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 2763 of file Card.cs.

2764 {
2765 }

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

2768 {
2769 }

Referenced by Create().

◆ OnDeserialized()

virtual void Card.OnDeserialized ( )
inlineprotectedvirtual

Reimplemented in Chara.

Definition at line 2651 of file Card.cs.

2652 {
2653 }

Referenced by _OnDeserialized().

◆ OnInspect()

void Card.OnInspect ( )
inline

Implements IInspect.

Definition at line 7412 of file Card.cs.

7413 {
7414 }

◆ OnLand()

virtual void Card.OnLand ( )
inlinevirtual

Definition at line 5547 of file Card.cs.

5548 {
5550 {
5551 PlayEffect("ripple");
5552 PlaySound("Footstep/water");
5553 }
5554 }
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 2623 of file Card.cs.

2624 {
2625 }

Referenced by _OnSerializing().

◆ OnSimulateHour()

virtual void Card.OnSimulateHour ( VirtualDate  date)
inlinevirtual

Definition at line 6197 of file Card.cs.

6198 {
6199 trait.OnSimulateHour(date);
6200 if (date.IsRealTime)
6201 {
6202 DecayNatural();
6203 }
6204 }
virtual void OnSimulateHour(VirtualDate date)
Definition: Trait.cs:680
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 5800 of file Card.cs.

5801 {
5802 renderer.PlayAnime(id, dest);
5803 }

References CardRenderer.PlayAnime().

◆ PlayAnimeLoot()

void Card.PlayAnimeLoot ( )
inline

Definition at line 5805 of file Card.cs.

5806 {
5808 }

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

5821 {
5822 Effect effect = Effect.Get("Element/" + EClass.sources.elements.map[ele].alias);
5823 if (effect == null)
5824 {
5825 Debug.Log(ele);
5826 return;
5827 }
5828 Card rootCard = GetRootCard();
5829 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));
5830 }
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:536
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 5810 of file Card.cs.

5811 {
5812 if (id.IsEmpty())
5813 {
5814 return null;
5815 }
5816 Card rootCard = GetRootCard();
5817 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));
5818 }

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(), ActZap.Perform(), BaseCondition.PlayEffect(), ConBuffStats.PlayEffect(), BaseCondition.PlayEndEffect(), AttackProcess.PlayRangedAnime(), ActPray.Pray(), AI_Pray.Pray(), ActEffect.Proc(), ActEffect.ProcAt(), Religion.Reforge(), GoalCombat.Run(), 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 5776 of file Card.cs.

5777 {
5778 Card rootCard = GetRootCard();
5779 if (rootCard.IsPC)
5780 {
5781 spatial = false;
5782 }
5783 if (rootCard.Dist(EClass.pc) < EClass.player.lightRadius + 1 || !spatial)
5784 {
5785 return rootCard.pos.PlaySound(id, isSynced || !spatial, v, spatial);
5786 }
5787 return null;
5788 }

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

Referenced by Chara._Move(), RecipeManager.Add(), Chara.AddRandomBodyPart(), ActMelee.Attack(), Core.Awake(), Recipe.Build(), RecipeCard.Build(), AI_Shopping.Buy(), Zone.ClaimZone(), Trait.CookProgress(), TraitCrafter.Craft(), AI_OpenLock.CreateProgress(), ActEffect.DamageEle(), TraitDye.Dye(), 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(), 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(), ActDrawWater.Perform(), ActDreamBug.Perform(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.Perform(), ActWater.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_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(), ActWait.SearchMedal(), LayerPixelPaint.SetCanvas(), TraitGenerator.ShortOut(), 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 5771 of file Card.cs.

5772 {
5773 PlaySound(material.GetSoundDead(sourceCard), 1f, spatial);
5774 }

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

5757 {
5758 PlaySound(material.GetSoundDrop(sourceCard), 1f, spatial);
5759 }

References material.

◆ PlaySoundImpact()

void Card.PlaySoundImpact ( bool  spatial = true)
inline

Definition at line 5766 of file Card.cs.

5767 {
5768 PlaySound(material.GetSoundImpact(sourceCard), 1f, spatial);
5769 }

References material.

Referenced by TaskChopWood.OnCreateProgress().

◆ PurgeDuplicateArtifact()

void Card.PurgeDuplicateArtifact ( Thing  af)
inline

Definition at line 3138 of file Card.cs.

3139 {
3140 List<Chara> list = new List<Chara>();
3141 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
3142 {
3143 foreach (Chara member in child.members)
3144 {
3145 list.Add(member);
3146 }
3147 }
3148 foreach (Chara chara in EClass._map.charas)
3149 {
3150 list.Add(chara);
3151 }
3152 foreach (Chara item in list)
3153 {
3154 if (!item.IsPCFactionOrMinion)
3155 {
3156 continue;
3157 }
3158 List<Thing> list2 = item.things.List((Thing t) => t.id == af.id && t != af);
3159 if (list2.Count == 0)
3160 {
3161 continue;
3162 }
3163 foreach (Thing item2 in list2)
3164 {
3165 Msg.Say("destroyed_inv_", item2, item);
3166 item2.Destroy();
3167 }
3168 }
3169 }
Faction faction
Definition: Chara.cs:423
List< Chara > members
List< FactionBranch > GetChildren()
Definition: FACTION.cs:202

References EClass._map, Map.charas, Destroy(), Chara.faction, Faction.GetChildren(), id, item, FactionBranch.members, EClass.pc, and Msg.Say().

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

◆ RecalculateFOV()

◆ ReferenceId()

string Card.ReferenceId ( )
inline

Implements IGlobalValue.

Definition at line 2655 of file Card.cs.

2656 {
2657 return "c" + uid;
2658 }

References uid.

◆ RefreshColor()

void Card.RefreshColor ( )
inline

Definition at line 5644 of file Card.cs.

5645 {
5646 if (isChara)
5647 {
5648 if (isDyed)
5649 {
5651 }
5652 else if (isElemental)
5653 {
5655 }
5656 else
5657 {
5658 _colorInt = 104025;
5659 }
5660 }
5661 else if (isDyed)
5662 {
5664 {
5666 }
5667 else
5668 {
5670 }
5671 }
5673 {
5675 }
5677 {
5679 }
5680 else
5681 {
5683 }
5684 }
static int GetColorInt(ref Color matColor, int p)
bool isElemental
Definition: Card.cs:706
SourceMaterial.Row DyeMat
Definition: Card.cs:1876
virtual CardRow sourceRenderCard
Definition: Card.cs:2069
ref Color GetRandomColor()
Definition: Card.cs:5686
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 6635 of file Card.cs.

6636 {
6637 if (c_idBacker == 164)
6638 {
6639 Chara.things.Find("amulet_moonnight")?.Destroy();
6640 }
6641 c_idBacker = 0;
6642 }

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

3012 {
3013 RemoveThing(c as Thing);
3014 }
void RemoveThing(Thing thing)
Definition: Card.cs:3179

References RemoveThing().

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

◆ RemoveEditorTag()

void Card.RemoveEditorTag ( EditorTag  tag)
inline

Definition at line 2546 of file Card.cs.

2547 {
2548 c_editorTags = (c_editorTags.IsEmpty() ? null : c_editorTags.Replace(tag.ToString(), "").Replace(",,", ","));
2549 }

References c_editorTags.

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

◆ RemoveThing()

void Card.RemoveThing ( Thing  thing)
inline

Definition at line 3179 of file Card.cs.

3180 {
3181 Card rootCard = GetRootCard();
3182 if (rootCard != null && rootCard.isChara && (rootCard.Chara.held == thing || (rootCard.IsPC && thing.things.Find((Thing t) => EClass.pc.held == t) != null)))
3183 {
3184 rootCard.Chara.held = null;
3185 if (rootCard.IsPC)
3186 {
3188 if ((bool)instance && instance.selected != -1 && instance.selectedButton.card != null && instance.selectedButton.card == thing)
3189 {
3190 instance.selectedButton.card = null;
3191 }
3193 ActionMode.AdvOrRegion.updatePlans = true;
3194 LayerInventory.SetDirty(thing);
3195 }
3197 }
3198 dirtyWeight = true;
3199 if (thing.c_equippedSlot != 0 && isChara)
3200 {
3201 Chara.body.Unequip(thing);
3202 }
3203 things.Remove(thing);
3204 things.OnRemove(thing);
3205 if (isSale && things.Count == 0 && IsContainer)
3206 {
3207 isSale = false;
3208 EClass._map.props.sales.Remove(this);
3209 }
3210 if (thing.invY == 1)
3211 {
3212 WidgetCurrentTool.dirty = true;
3213 }
3214 thing.invX = -1;
3215 thing.invY = 0;
3216 if (thing.props != null)
3217 {
3218 thing.props.Remove(thing);
3219 }
3222 {
3223 LayerInventory.SetDirty(thing);
3224 WidgetHotbar.dirtyCurrentItem = true;
3225 thing.parent = null;
3226 if (thing.trait.IsContainer)
3227 {
3228 foreach (LayerInventory item in LayerInventory.listInv.Copy())
3229 {
3230 if (item.invs[0].owner.Container.GetRootCard() != EClass.pc && item.floatInv)
3231 {
3232 EClass.ui.layerFloat.RemoveLayer(item);
3233 }
3234 }
3235 }
3236 }
3237 thing.parent = null;
3238 }
Card card
Definition: ButtonGrid.cs:24
int c_equippedSlot
Definition: Card.cs:924
int invY
Definition: Card.cs:1891
bool isSale
Definition: Card.cs:850
void RecalculateFOV()
Definition: Card.cs:5988
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:1998
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:209
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 3171 of file Card.cs.

3172 {
3173 for (int num = things.Count - 1; num >= 0; num--)
3174 {
3175 RemoveThing(things[num]);
3176 }
3177 }

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

5925 {
5926 if (dir != -1)
5927 {
5928 this.dir = dir;
5929 }
5930 Vector3 v = point.Position();
5931 bool skipRender = point.cell.skipRender;
5932 if (result != 0 && EClass.screen.guide.isActive && !skipRender)
5933 {
5934 EClass.screen.guide.passGuideBlock.Add(ref v, (point.HasObj || point.HasChara) ? 5 : 0);
5935 }
5936 if (!main)
5937 {
5938 return;
5939 }
5940 RenderParam renderParam = GetRenderParam();
5942 {
5943 renderParam.x = v.x;
5944 renderParam.y = v.y;
5945 renderParam.z = v.z;
5946 EClass.screen.tileMap.SetRoofHeight(renderParam, point.cell, point.x, point.z);
5947 v.x = renderParam.x;
5948 v.y = renderParam.y;
5949 v.z = renderParam.z;
5950 }
5952 {
5953 TileType.GetMountHeight(ref v, point, this.dir, this);
5954 }
5955 v.z += EClass.setting.render.thingZ;
5956 if (!skipRender)
5957 {
5958 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
5959 if (freePos)
5960 {
5961 v.x += fx;
5962 v.y += fy;
5963 v.z += thingPosition.z;
5964 }
5965 else
5966 {
5967 v += thingPosition;
5968 }
5969 }
5970 if (useCurrentPosition)
5971 {
5972 v = renderer.position;
5973 v.z += -0.01f;
5974 }
5975 if (TileType == TileType.Door)
5976 {
5977 v.z -= 0.5f;
5978 }
5979 renderParam.matColor = (active ? EClass.Colors.blockColors.Active : EClass.Colors.blockColors.Inactive);
5980 point.ApplyAnime(ref v);
5981 if (renderer.hasActor)
5982 {
5984 }
5985 renderer.Draw(renderParam, ref v, drawShadow: false);
5986 }
virtual bool IsRoofEditMode(Card c=null)
Definition: ActionMode.cs:311
ScreenGuide guide
BaseTileMap tileMap
void SetRoofHeight(MeshPassParam _param, Cell _cell, int _cx, int _cz, int h=0, int altitude=0, int dirWall=-1, bool ignoreAltitudeY=false)
Vector3 GetThingPosition(Card tg, Point p)
virtual void RefreshSprite()
Definition: CardActor.cs:224
override void Draw(RenderParam p)
Definition: CardRenderer.cs:49
CardActor actor
Definition: CardRenderer.cs:11
float fy
Definition: Card.cs:250
float fx
Definition: Card.cs:238
RenderParam GetRenderParam()
Definition: Card.cs:5613
bool freePos
Definition: Card.cs:502
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:1305
bool HasObj
Definition: Point.cs:137
bool HasChara
Definition: Point.cs:226
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:369
virtual bool UseMountHeight
Definition: TileType.cs:211
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 5561 of file Card.cs.

5562 {
5563 return Element.GetResistLv(Evalue(res));
5564 }
static int GetResistLv(int v)
Definition: ELEMENT.cs:1121

References Element.GetResistLv().

Referenced by ActEffect.ProcAt().

◆ ResistLvFrom()

int Card.ResistLvFrom ( int  ele)
inline

Definition at line 5556 of file Card.cs.

5557 {
5558 return ResistLv(EClass.sources.elements.alias.TryGetValue(EClass.sources.elements.map[ele].aliasRef)?.id ?? 0);
5559 }

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

5852 {
5853 int num = 4;
5854 if (sourceCard.tiles.Length > 4)
5855 {
5856 num = sourceCard.tiles.Length;
5857 }
5858 if (TileType == TileType.Door)
5859 {
5860 num = 2;
5861 }
5862 if (reverse)
5863 {
5864 dir--;
5865 }
5866 else
5867 {
5868 dir++;
5869 }
5870 if (dir < 0)
5871 {
5872 dir = num - 1;
5873 }
5874 if (dir == num)
5875 {
5876 dir = 0;
5877 }
5878 SetDir(dir);
5880 }
void RefreshSprite()
virtual void SetDir(int d)
Definition: Card.cs:5832
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 6432 of file Card.cs.

6433 {
6434 if (ShouldShowMsg)
6435 {
6436 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, c2, ref1, ref2);
6437 }
6438 Msg.SetColor();
6439 }
bool ShouldShowMsg
Definition: Card.cs:2390
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 6441 of file Card.cs.

6442 {
6443 if (ShouldShowMsg)
6444 {
6445 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, ref1, ref2);
6446 }
6447 Msg.SetColor();
6448 }

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

6424 {
6425 if (ShouldShowMsg)
6426 {
6427 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, ref1, ref2);
6428 }
6429 Msg.SetColor();
6430 }

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

Referenced by Chara._Move(), InvOwnerBlend._OnProcess(), TraitShrine._OnUse(), ActPlan._Update(), TraitSwitch.ActivateTrap(), RecipeManager.Add(), Chara.AddRandomBodyPart(), ActMelee.Attack(), Point.CallGuard(), ElementContainerCard.CheckSkillActions(), TraitCrafter.Craft(), AI_OpenLock.CreateProgress(), 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(), 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(), 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(), ActDrawWater.Perform(), ActDreamBug.Perform(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.Perform(), ActWater.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 6402 of file Card.cs.

6403 {
6404 if (isSynced && !text.IsEmpty())
6405 {
6406 if (ref1 != null)
6407 {
6408 text = text.Replace("#1", ref1);
6409 }
6410 if (ref2 != null)
6411 {
6412 text = text.Replace("#2", ref2);
6413 }
6414 HostRenderer.Say(text);
6415 }
6416 }
void Say(string text, Color c=default(Color), float duration=0f)
CardRenderer HostRenderer
Definition: Card.cs:2378

Referenced by CoreDebug.BroadcastNext().

◆ SecondaryCompare()

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

Definition at line 7346 of file Card.cs.

7347 {
7348 int num = 0;
7349 if (num == 0)
7350 {
7351 num = id.CompareTo(c.id);
7352 }
7353 if (num == 0)
7354 {
7355 num = trait.CompareTo(c);
7356 }
7357 if (num == 0)
7358 {
7359 num = Lang.comparer.Compare(GetName(NameStyle.Full, 1), c.GetName(NameStyle.Full, 1));
7360 }
7361 if (num == 0)
7362 {
7363 num = refVal - c.refVal;
7364 }
7365 if (num == 0)
7366 {
7367 num = c_charges - c.c_charges;
7368 }
7369 if (num == 0)
7370 {
7371 num = encLV - c.encLV;
7372 }
7373 if (num == 0)
7374 {
7375 num = Num - c.Num;
7376 }
7377 if (num == 0)
7378 {
7379 num = uid - c.uid;
7380 }
7381 return num;
7382 }
static NaturalStringComparer comparer
Definition: Lang.cs:22
virtual int CompareTo(Card b)
Definition: Trait.cs:708

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

3741 {
3742 int num = 0;
3743 if (s == BlessedState.Blessed && blessedState < BlessedState.Blessed)
3744 {
3745 num = 1;
3746 }
3747 if (s < BlessedState.Blessed && blessedState == BlessedState.Blessed)
3748 {
3749 num = -1;
3750 }
3751 if (num != 0 && IsEquipmentOrRangedOrAmmo)
3752 {
3753 if (IsWeapon || IsAmmo)
3754 {
3755 elements.ModBase(67, num);
3756 }
3757 else
3758 {
3759 elements.ModBase(65, num * 2);
3760 }
3761 }
3762 blessedState = s;
3763 }

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

Referenced by Recipe.Craft(), RecipeCard.Craft(), Player.CreateEquip(), FactionBranch.DailyOutcome(), 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 7284 of file Card.cs.

7285 {
7286 isCensored = enable;
7288 {
7289 isCensored = false;
7290 }
7292 }
void SetCensored(bool enable)
bool isCensored
Definition: Card.cs:418
OtherSetting other
Definition: CoreConfig.cs:610

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

7295 {
7296 if (isDeconstructing != deconstruct)
7297 {
7298 if (deconstruct)
7299 {
7300 EClass._map.props.deconstructing.Add(this);
7301 }
7302 else
7303 {
7304 EClass._map.props.deconstructing.Remove(this);
7305 }
7306 isDeconstructing = deconstruct;
7307 }
7308 }
bool isDeconstructing
Definition: Card.cs:430
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 5832 of file Card.cs.

5833 {
5834 dir = d;
5836 }

References CardRenderer.RefreshSprite().

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

◆ SetDirtyWeight()

void Card.SetDirtyWeight ( )
inline

Definition at line 2490 of file Card.cs.

2491 {
2493 {
2494 EClass.player.wasDirtyWeight = true;
2495 }
2496 dirtyWeight = true;
2497 (parent as Card)?.SetDirtyWeight();
2498 }

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

5901 {
5902 freePos = EClass.game.config.FreePos && isThing && TileType.FreeStyle && !sourceCard.multisize && !EClass.scene.actionMode.IsRoofEditMode(this);
5903 if (freePos)
5904 {
5905 Vector3 vector = point.Position();
5906 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
5907 fx = EInput.mposWorld.x + EClass.setting.render.freePosFix.x;
5908 fy = EInput.mposWorld.y + EClass.setting.render.freePosFix.y;
5910 {
5911 fx -= fx % 0.2f;
5912 fy -= fy % 0.1f;
5913 }
5914 fx = fx - vector.x + thingPosition.x;
5915 fy = fy - vector.y + thingPosition.y;
5916 }
5917 else
5918 {
5919 float num2 = (fy = 0f);
5920 fx = num2;
5921 }
5922 }
bool snapFreePos
Definition: Game.cs:33
Config config
Definition: Game.cs:215

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

5463 {
5464 isHidden = hide;
5465 pos.cell.Refresh();
5466 return this;
5467 }
bool isHidden
Definition: Card.cs:514
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 5732 of file Card.cs.

5733 {
5734 if (trait is TraitAbility)
5735 {
5736 (trait as TraitAbility).act.SetImage(image);
5737 }
5738 else
5739 {
5740 sourceRenderCard.SetImage(image, GetSprite(), colorInt, setNativeSize: true, 0, 0, this);
5741 }
5742 }
int colorInt
Definition: Card.cs:104
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

References RenderRow.SetImage().

◆ SetImage() [2/2]

◆ SetLv()

Card Card.SetLv ( int  a)
inline

Definition at line 2821 of file Card.cs.

2822 {
2823 bool flag = a > LV;
2824 LV = a;
2825 if (!isChara)
2826 {
2827 return this;
2828 }
2829 Rand.SetSeed(uid);
2830 ElementContainer elementContainer = new ElementContainer();
2831 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.job.elementMap, LV);
2832 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.race.elementMap, LV);
2833 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.source.elementMap, 1, invert: false, applyFeat: true);
2834 foreach (Element value in elements.dict.Values)
2835 {
2836 int num = elementContainer.Value(value.id);
2837 if (num != 0)
2838 {
2839 int num2 = num - value.ValueWithoutLink;
2840 if (num2 != 0)
2841 {
2842 elements.ModBase(value.id, num2);
2843 }
2844 }
2845 }
2846 if (flag)
2847 {
2849 }
2850 Rand.SetSeed();
2851 hp = MaxHP;
2852 Chara.mana.value = Chara.mana.max;
2855 return this;
2856 }
SourceValueType
void ClampInitialSkill()
Definition: Card.cs:2858
SourceJob.Row job
Definition: Chara.cs:462
void CalculateMaxStamina()
Definition: Chara.cs:1804
SourceChara.Row source
Definition: Chara.cs:154
void ApplyElementMap(int uid, SourceValueType type, Dictionary< int, int > map, int lv, bool invert=false, bool applyFeat=false)
int ValueWithoutLink
Definition: ELEMENT.cs:292

References ElementContainer.ApplyElementMap(), Chara.CalculateMaxStamina(), ClampInitialSkill(), ElementContainer.dict, elements, hp, Element.id, isChara, 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(), and CoreDebug.Spawn().

◆ SetNoSell()

Thing Card.SetNoSell ( )
inline

Definition at line 3370 of file Card.cs.

3371 {
3372 noSell = true;
3373 return this as Thing;
3374 }

References noSell, and Thing.

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

◆ SetNum()

Thing Card.SetNum ( int  a)
inline

Definition at line 3356 of file Card.cs.

3357 {
3358 if (!isThing)
3359 {
3360 return null;
3361 }
3362 if (a == Num)
3363 {
3364 return this as Thing;
3365 }
3366 ModNum(a - Num);
3367 return this as Thing;
3368 }

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.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(), QuestLoytelFarm.OnComplete(), TaskChopWood.OnCreateProgress(), TaskHarvest.OnCreateProgress(), QuestDefense.OnDropReward(), QuestRandom.OnDropReward(), Zone_CursedManorDungeon.OnGenerateMap(), GrowSystemTree.OnMineObj(), 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 6644 of file Card.cs.

6645 {
6646 EClass.ui.Hide(0f);
6648 {
6652 {
6653 EClass.ui.Show(0f);
6654 });
6655 });
6656 }
void WaitForEndOfFrame(Action action)
Definition: BaseCore.cs:61
byte[] GetPaintData()
Definition: Card.cs:6658
void ClearPaintSprite()
Definition: Card.cs:6676

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

◆ SetPlaceState()

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

Definition at line 3596 of file Card.cs.

3597 {
3598 if (this.placeState == newState)
3599 {
3600 return;
3601 }
3602 if (parent != EClass._zone)
3603 {
3604 Debug.Log("tried to change placestate of non-root card:" + this);
3605 return;
3606 }
3608 Area area = pos.area;
3609 if (placeState == PlaceState.installed)
3610 {
3611 area?.OnUninstallCard(this);
3612 if (!isRoofItem)
3613 {
3614 altitude = 0;
3615 freePos = false;
3616 float num2 = (fy = 0f);
3617 fx = num2;
3618 }
3619 trait.Uninstall();
3620 }
3621 if (placeState == PlaceState.installed || newState == PlaceState.installed)
3622 {
3623 ForeachPoint(delegate(Point p, bool main)
3624 {
3625 p.cell.RemoveCard(this);
3626 });
3627 this.placeState = newState;
3628 ForeachPoint(delegate(Point p, bool main)
3629 {
3630 p.cell.AddCard(this);
3631 });
3632 }
3633 else
3634 {
3635 this.placeState = newState;
3636 }
3637 if (newState == PlaceState.none)
3638 {
3639 this.placeState = PlaceState.roaming;
3640 if (props != null)
3641 {
3642 props.Remove(this);
3643 }
3644 }
3645 else
3646 {
3648 if (this.placeState == PlaceState.installed)
3649 {
3650 if (isThing)
3651 {
3652 if (trait.InstallBottomPriority != -1)
3653 {
3655 }
3656 else
3657 {
3659 }
3660 }
3661 area?.OnInstallCard(this);
3662 isRoofItem = false;
3663 trait.Install(byPlayer);
3664 }
3665 }
3667 {
3669 }
3670 if (trait.ShouldTryRefreshRoom && (placeState == PlaceState.installed || this.placeState == PlaceState.installed))
3671 {
3673 }
3674 trait.OnChangePlaceState(newState);
3676 {
3678 }
3679 }
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:562
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:1018
CellDetail detail
Definition: Point.cs:71
void RefreshNeighborTiles()
Definition: Point.cs:1256
Area area
Definition: Point.cs:73
void OnCardAddedToZone(Card c)
Definition: PropsManager.cs:25
virtual bool ShouldRefreshTile
Definition: Trait.cs:75
virtual void OnChangePlaceState(PlaceState state)
Definition: Trait.cs:668
virtual bool ShouldTryRefreshRoom
Definition: Trait.cs:86
void Uninstall()
Definition: Trait.cs:1096
virtual int InstallBottomPriority
Definition: Trait.cs:88
void Install(bool byPlayer)
Definition: Trait.cs:1076

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

6771 {
6772 c_priceFix = a;
6773 return Thing;
6774 }

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

◆ SetRandomDir()

void Card.SetRandomDir ( )
inline

Definition at line 5838 of file Card.cs.

5839 {
5840 SetDir(EClass.rnd(4));
5841 }

References EClass.rnd().

Referenced by Zone.TryGenerateShrine().

◆ SetRandomLightColors()

void Card.SetRandomLightColors ( )
inline

Definition at line 6137 of file Card.cs.

6138 {
6139 c_lightColor = (byte)(EClass.rnd(8) + 1) * 1024 + (byte)(EClass.rnd(8) + 1) * 32 + (byte)(EClass.rnd(8) + 1);
6140 }

References EClass.rnd().

◆ SetRandomTalk()

void Card.SetRandomTalk ( )
inline

Definition at line 6527 of file Card.cs.

6528 {
6530 if (!MOD.listTalk.list[0].ContainsKey(id))
6531 {
6532 c_idTalk = MOD.listTalk.GetRandomID("human");
6533 }
6534 }
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 6536 of file Card.cs.

6537 {
6539 List<Dictionary<string, string>> list = MOD.tones.list;
6540 if (list.Count != 0)
6541 {
6542 int mtp = EClass.core.config.test.extraToneMTP switch
6543 {
6544 4 => 10,
6545 3 => 5,
6546 2 => 2,
6547 1 => 1,
6548 0 => 0,
6549 _ => 0,
6550 };
6551 if (EClass.debug.enable)
6552 {
6553 mtp *= 100;
6554 }
6555 string text = list.RandomItem()["id"];
6556 text = list.RandomItemWeighted((Dictionary<string, string> a) => a["chance"].ToInt() * ((!a["tag"].Contains("meta")) ? 1 : mtp))["id"];
6557 c_idTone = MOD.tones.GetToneID(text, bio?.gender ?? 0);
6558 }
6559 }
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 5623 of file Card.cs.

5624 {
5625 }

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

◆ SetReplica()

void Card.SetReplica ( bool  on)
inline

Definition at line 2991 of file Card.cs.

2992 {
2993 isReplica = true;
2994 ChangeMaterial("granite");
2995 }

References ChangeMaterial, and isReplica.

◆ SetSale()

void Card.SetSale ( bool  sale)
inline

Definition at line 6781 of file Card.cs.

6782 {
6783 if (isSale != sale)
6784 {
6785 isSale = sale;
6786 if (isSale)
6787 {
6788 EClass._map.props.sales.Add(this);
6789 }
6790 else
6791 {
6792 EClass._map.props.sales.Remove(this);
6793 }
6794 }
6795 }

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

7316 {
7317 switch (m)
7318 {
7319 case UIList.SortMode.ByEquip:
7320 sortVal = ((c_equippedSlot == 0) ? (category.sortVal * 1000) : 0);
7321 break;
7322 case UIList.SortMode.ByValue:
7323 sortVal = -GetPrice(currency) * 1000;
7324 break;
7325 case UIList.SortMode.ByNumber:
7326 sortVal = -Num * 1000;
7327 break;
7328 case UIList.SortMode.ByCategory:
7329 sortVal = category.sortVal * 1000;
7330 break;
7331 case UIList.SortMode.ByWeight:
7333 break;
7334 case UIList.SortMode.ByWeightSingle:
7336 break;
7337 case UIList.SortMode.ByPrice:
7338 sortVal = -GetPrice(currency) * 1000;
7339 break;
7340 default:
7341 sortVal = sourceCard._index * 1000;
7342 break;
7343 }
7344 }
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:6875
int sortVal
Definition: Card.cs:97
int ChildrenAndSelfWeightSingle
Definition: Card.cs:1979
int ChildrenAndSelfWeight
Definition: Card.cs:1977
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 2771 of file Card.cs.

2772 {
2773 }

Referenced by _OnDeserialized(), and Create().

◆ SetTier()

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

Definition at line 3714 of file Card.cs.

3715 {
3716 if (a < 0)
3717 {
3718 a = 0;
3719 }
3720 tier = a;
3721 if (setTraits)
3722 {
3723 int num = ((a == 1) ? 180 : ((a == 2) ? 400 : ((a >= 3) ? 600 : 0)));
3724 if (a > 0)
3725 {
3726 foreach (Element value in elements.dict.Values)
3727 {
3728 if (value.IsFoodTrait || value.IsTrait)
3729 {
3730 elements.SetTo(value.id, value.Value * num / 100);
3731 }
3732 }
3733 }
3734 elements.SetBase(2, a * 30);
3735 elements.SetBase(759, (a > 1) ? a : 0);
3736 }
3738 }
bool IsFoodTrait
Definition: ELEMENT.cs:362

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

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

◆ ShouldTrySetDirtyInventory()

bool Card.ShouldTrySetDirtyInventory ( )
inline

Definition at line 3240 of file Card.cs.

3241 {
3242 if (EClass.player.chara != null)
3243 {
3244 if (!IsPC && GetRootCard() != EClass.pc)
3245 {
3246 return EClass.ui.layers.Count > 0;
3247 }
3248 return true;
3249 }
3250 return false;
3251 }
Chara chara
Definition: Player.cs:1019

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

4824 {
4825 if (!isChara || IsPCFactionMinion || (isCopy && EClass.rnd(10) != 0))
4826 {
4827 return;
4828 }
4829 bool isUserZone = EClass._zone.IsUserZone;
4830 bool flag = EClass._zone is Zone_Music;
4831 List<Card> list = new List<Card>();
4832 SourceRace.Row race = Chara.race;
4833 if (!IsPCFaction && !isUserZone && sourceCard.idActor.IsEmpty())
4834 {
4835 int i2 = 500;
4836 if (this.rarity >= Rarity.Legendary)
4837 {
4838 i2 = ((!EClass.player.codex.DroppedCard(id)) ? 1 : 10);
4840 }
4842 {
4843 i2 = 10;
4844 }
4845 if (chance(i2))
4846 {
4847 Thing thing = ThingGen.Create("figure");
4848 thing.MakeFigureFrom(id);
4849 list.Add(thing);
4850 }
4851 if (chance(i2))
4852 {
4853 Thing thing2 = ThingGen.Create("figure3");
4854 thing2.MakeFigureFrom(id);
4855 list.Add(thing2);
4856 }
4857 }
4858 bool flag2 = Chara.race.corpse[1].ToInt() > EClass.rnd(1500) || (Chara.IsPowerful && !IsPCFaction) || EClass.debug.godFood;
4859 int num = 1;
4860 if (!IsMinion && Chara.race.IsAnimal && EClass.rnd(EClass._zone.IsPCFaction ? 3 : 5) == 0)
4861 {
4862 flag2 = true;
4863 }
4865 {
4866 flag2 = true;
4867 num = EClass.rndHalf(4 + 10 * (50 + Mathf.Max(0, (int)MathF.Sqrt(EClass.pc.Evalue(290) * 10))) / 100);
4868 }
4869 else if (origin != null && origin.HasElement(290) && !IsMinion)
4870 {
4871 if (!flag2 && Chara.race.corpse[1].ToInt() > EClass.rnd(150000 / (100 + (int)Mathf.Sqrt(origin.Evalue(290)) * 5)))
4872 {
4873 flag2 = true;
4874 origin.elements.ModExp(290, 100);
4875 }
4876 else
4877 {
4878 origin.elements.ModExp(290, 5);
4879 }
4880 }
4881 if (id == "littleOne" && IsPCFactionOrMinion)
4882 {
4883 flag2 = false;
4884 }
4885 if (flag2 && !isUserZone)
4886 {
4887 string text = Chara.race.corpse[0];
4888 bool num2 = text == "_meat";
4889 int num3 = 10;
4891 {
4892 num3 += (int)Mathf.Min(Mathf.Sqrt(EClass.pc.Evalue(290)), 20f);
4893 }
4894 if (EClass.rnd((Act.CurrentAct is ActMeleeBladeStorm || (origin != null && (origin.HasElement(1556) || origin.HasCondition<ConTransmuteCat>()))) ? 2 : 100) == 0)
4895 {
4896 text = "dattamono";
4897 }
4898 if (num2 && num3 > EClass.rnd(100))
4899 {
4900 text = "meat_marble";
4901 }
4902 Thing thing3 = ThingGen.Create(text).SetNum(num);
4903 if (thing3.source._origin == "meat")
4904 {
4905 thing3.MakeFoodFrom(this);
4906 }
4907 else
4908 {
4910 }
4911 list.Add(thing3);
4912 }
4913 if (!IsPCFaction && (!isUserZone || !EClass.game.principal.disableUsermapBenefit) && chance(200))
4914 {
4915 list.Add(Chara.MakeGene());
4916 }
4917 if (!IsPCFaction && !isUserZone)
4918 {
4919 foreach (string item2 in sourceCard.loot.Concat(Chara.race.loot).ToList())
4920 {
4921 string[] array = item2.Split('/');
4922 int num4 = array[1].ToInt();
4923 if (num4 >= 1000 || num4 > EClass.rnd(1000) || EClass.debug.godMode)
4924 {
4925 list.Add(ThingGen.Create(array[0]).SetNum((num4 < 1000) ? 1 : (num4 / 1000 + ((EClass.rnd(1000) > num4 % 1000) ? 1 : 0))));
4926 }
4927 }
4928 if (race.IsMachine)
4929 {
4930 if (chance(20))
4931 {
4932 list.Add(ThingGen.Create("microchip"));
4933 }
4934 if (chance(15))
4935 {
4936 list.Add(ThingGen.Create("battery"));
4937 }
4938 }
4939 else
4940 {
4941 if (race.IsAnimal)
4942 {
4943 if (chance(15))
4944 {
4945 list.Add(ThingGen.Create("fang"));
4946 }
4947 if (chance(10))
4948 {
4949 list.Add(ThingGen.Create("skin"));
4950 }
4951 }
4952 if (chance(20))
4953 {
4954 list.Add(ThingGen.Create("offal"));
4955 }
4956 if (chance(20))
4957 {
4958 list.Add(ThingGen.Create("heart"));
4959 }
4960 }
4961 if (!isBackerContent && !flag)
4962 {
4963 switch (id)
4964 {
4965 case "isca":
4966 list.Add(ThingGen.Create("blood_angel"));
4967 break;
4968 case "golem_wood":
4969 if (chance(30))
4970 {
4971 list.Add(ThingGen.Create("crystal_earth"));
4972 }
4973 break;
4974 case "golem_fish":
4975 case "golem_stone":
4976 if (chance(30))
4977 {
4978 list.Add(ThingGen.Create("crystal_sun"));
4979 }
4980 break;
4981 case "golem_steel":
4982 if (chance(30))
4983 {
4984 list.Add(ThingGen.Create("crystal_mana"));
4985 }
4986 break;
4987 case "golem_gold":
4988 list.Add(ThingGen.Create("money2"));
4989 break;
4990 }
4991 int num5 = ((EClass._zone.Boss == this) ? 2 : ((this.rarity >= Rarity.Legendary) ? 1 : 0));
4992 if (EClass._zone is Zone_Void)
4993 {
4994 num5++;
4995 }
4996 if (EClass.rnd(5) == 0)
4997 {
4998 num5++;
4999 }
5000 string text2 = id;
5001 if (text2 == "big_daddy" || text2 == "santa")
5002 {
5003 num5 += 2;
5004 }
5005 if (num5 > 0 && EClass.game.principal.dropRate)
5006 {
5007 num5 = Mathf.Max(1, num5 * (50 + EClass.game.principal.dropRateMtp * 50) / 100);
5008 }
5009 List<Thing> list2 = new List<Thing>();
5010 foreach (Thing thing4 in things)
5011 {
5012 if (thing4.HasTag(CTAG.gift) || thing4.trait is TraitChestMerchant)
5013 {
5014 continue;
5015 }
5016 if (thing4.isGifted || thing4.rarity >= Rarity.Artifact || thing4.trait.DropChance > EClass.rndf(1f))
5017 {
5018 list.Add(thing4);
5019 }
5020 else if (thing4.IsEquipmentOrRanged)
5021 {
5022 if (thing4.rarity >= Rarity.Legendary)
5023 {
5024 list2.Add(thing4);
5025 }
5026 else if (EClass.rnd(100) == 0)
5027 {
5028 list.Add(thing4);
5029 }
5030 }
5031 else if (EClass.rnd(5) == 0)
5032 {
5033 list.Add(thing4);
5034 }
5035 }
5036 if (num5 > 0 && list2.Count > 0)
5037 {
5038 list2.Shuffle();
5039 for (int j = 0; j < list2.Count && j < num5; j++)
5040 {
5041 list.Add(list2[j]);
5042 num5--;
5043 }
5044 }
5045 if (this.rarity >= Rarity.Legendary && !IsUnique && c_bossType != BossType.Evolved)
5046 {
5047 int num6 = 0;
5048 foreach (Card item3 in list)
5049 {
5050 if (item3.rarity >= Rarity.Legendary || item3.IsContainer)
5051 {
5052 num6++;
5053 }
5054 }
5055 if (num6 == 0)
5056 {
5057 int num7 = ((!(EClass._zone is Zone_Void)) ? 1 : 2);
5058 if (num5 < num7)
5059 {
5060 num5 = num7;
5061 }
5062 for (int k = 0; k < num5; k++)
5063 {
5064 Rand.SetSeed(uid + k);
5065 if (EClass.rnd((EClass._zone.events.GetEvent<ZoneEventDefenseGame>() != null) ? 3 : 2) == 0)
5066 {
5067 Rarity rarity = ((EClass.rnd(20) == 0) ? Rarity.Mythical : Rarity.Legendary);
5069 {
5070 rarity = rarity
5071 });
5073 list.Add(item);
5074 }
5075 else if (EClass.rnd(3) == 0)
5076 {
5077 list.Add(ThingGen.Create("medal"));
5078 }
5079 Rand.SetSeed();
5080 }
5081 }
5082 }
5083 }
5084 }
5085 foreach (Thing thing5 in things)
5086 {
5087 if (thing5.GetInt(116) != 0)
5088 {
5089 list.Add(thing5);
5090 }
5091 }
5092 Point nearestPoint = GetRootCard().pos;
5093 if (nearestPoint.IsBlocked)
5094 {
5095 nearestPoint = nearestPoint.GetNearestPoint();
5096 }
5097 foreach (Card item4 in list)
5098 {
5099 if (item4.parent == EClass._zone)
5100 {
5101 continue;
5102 }
5103 item4.isHidden = false;
5104 item4.SetInt(116);
5105 EClass._zone.AddCard(item4, nearestPoint);
5106 if (!item4.IsEquipment || item4.rarity < Rarity.Superior || item4.IsCursed)
5107 {
5108 continue;
5109 }
5110 foreach (Chara chara in EClass._map.charas)
5111 {
5112 if (chara.HasElement(1412) && chara.Dist(nearestPoint) < 3)
5113 {
5114 item4.Thing.TryLickEnchant(chara);
5115 break;
5116 }
5117 }
5118 }
5119 bool chance(int i)
5120 {
5121 i = i * 100 / (100 + EClass.player.codex.GetOrCreate(id).BonusDropLv * 10);
5122 if (i < 1)
5123 {
5124 i = 1;
5125 }
5126 if (IsMinion)
5127 {
5128 i *= 5;
5129 }
5130 if (EClass.rnd(i) == 0)
5131 {
5132 return true;
5133 }
5134 return false;
5135 }
5136 }
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 Set(CardBlueprint _bp)
string[] idActor
Definition: CardRow.cs:35
string[] loot
Definition: CardRow.cs:29
Thing Split(int a)
Definition: Card.cs:3345
void MakeFigureFrom(string id)
Definition: Card.cs:5381
bool IsCursed
Definition: Card.cs:2191
virtual bool IsMinion
Definition: Card.cs:2087
bool IsEquipment
Definition: Card.cs:2109
BossType c_bossType
Definition: Card.cs:1193
bool isGifted
Definition: Card.cs:766
virtual bool IsPCFactionMinion
Definition: Card.cs:2091
Thing Add(string id, int num=1, int lv=1)
Definition: Card.cs:2997
bool isBackerContent
Definition: Card.cs:897
Thing MakeGene(DNA.Type? type=null)
Definition: Chara.cs:7546
bool DroppedCard(string id)
Definition: CodexManager.cs:46
void MarkCardDrop(string id)
Definition: CodexManager.cs:41
bool godFood
Definition: CoreDebug.cs:182
static float rndf(float a)
Definition: EClass.cs:87
bool disableUsermapBenefit
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false)
Definition: Point.cs:607
static Thing CreateFromFilter(string id, int lv=-1)
Definition: ThingGen.cs:63
SourceThing.Row source
Definition: Thing.cs:11
void TryLickEnchant(Chara c, bool msg=true, Chara tg=null, BodySlot slot=null)
Definition: Thing.cs:1913
virtual float DropChance
Definition: Trait.cs:353
ZoneEventManager events
Definition: Zone.cs:40

References EClass._map, EClass._zone, Add(), Zone.AddCard(), CodexCreature.BonusDropLv, ChangeMaterial(), Map.charas, Player.codex, ThingGen.Create(), 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(), SourceRace.Row.IsAnimal, Point.IsBlocked, IsContainer, IsCursed, IsEquipment, IsEquipmentOrRanged, isGifted, SourceRace.Row.IsMachine, Zone.IsPCFaction, Zone.IsUserZone, item, CardRow.loot, MakeFigureFrom(), MakeFoodFrom(), Chara.MakeGene(), CodexManager.MarkCardDrop(), material, ElementContainer.ModExp(), parent, EClass.pc, EClass.player, Game.principal, Chara.race, rarity, EClass.rnd(), EClass.rndf(), EClass.rndHalf(), CardBlueprint.Set(), BaseCard.SetInt(), SetNum(), Rand.SetSeed(), AI_Slaughter.slaughtering, Thing.source, 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 6326 of file Card.cs.

6327 {
6328 if (IsPC && !EClass.player.forceTalk && idTopic != "goodBoy" && idTopic != "insane")
6329 {
6330 EClass.player.forceTalk = false;
6331 Msg.SetColor();
6332 return;
6333 }
6334 EClass.player.forceTalk = false;
6335 if (!isSynced && !forceSync)
6336 {
6337 Msg.SetColor();
6338 return;
6339 }
6340 GameLang.refDrama1 = ref1;
6341 GameLang.refDrama2 = ref2;
6342 string text = GetTalkText(idTopic, stripPun: true);
6343 if (HasElement(1232) && idTopic != "baby")
6344 {
6345 BackerContent.GakiConvert(ref text, "babu");
6346 }
6347 else
6348 {
6349 string text2 = id;
6350 if (!(text2 == "adv_gaki"))
6351 {
6352 if (text2 == "corgon")
6353 {
6354 BackerContent.GakiConvert(ref text, "mokyu");
6355 }
6356 }
6357 else
6358 {
6359 BackerContent.GakiConvert(ref text);
6360 }
6361 }
6362 TalkRaw(text, ref1, ref2, forceSync);
6363 }
static void GakiConvert(ref string text, string idLang="zako")
string GetTalkText(string idTopic, bool stripPun=false, bool useDefault=true)
Definition: Card.cs:6450
void TalkRaw(string text, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:6365
bool forceTalk
Definition: Player.cs:967

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(), QuestEscort.OnStart(), ActWater.Perform(), ActEffect.Poison(), FoodEffect.Proc(), InvOwner.Transaction.Process(), Chara.RequestProtection(), ActRide.Ride(), AI_ArmPillow.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(), 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 6365 of file Card.cs.

6366 {
6367 if ((!isSynced && !forceSync) || text.IsEmpty())
6368 {
6369 Msg.SetColor();
6370 return;
6371 }
6372 if (ref1 != null)
6373 {
6374 text = text.Replace("#1", ref1);
6375 }
6376 if (ref2 != null)
6377 {
6378 text = text.Replace("#2", ref2);
6379 }
6381 bool flag = text.StartsWith("*");
6382 Msg.SetColor(text.StartsWith("(") ? Msg.colors.Thinking : (flag ? Msg.colors.Ono : Msg.colors.Talk));
6383 if (!flag)
6384 {
6385 text = text.Bracket();
6386 }
6387 Msg.Say(text.Replace("&", ""));
6388 }
string ApplyNewLine(string text)
Definition: Card.cs:6390
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 5505 of file Card.cs.

5506 {
5507 if (EClass._zone.IsRegion)
5508 {
5510 return;
5511 }
5512 PlayEffect("teleport");
5513 if (!force && (trait is TraitNewZone || elements.Has(400) || (isChara && Chara.HasCondition<ConGravity>())))
5514 {
5515 Say("antiTeleport", this);
5516 PlaySound("gravity");
5517 return;
5518 }
5519 if (!silent)
5520 {
5521 PlaySound("teleport");
5522 Say("teleported", this);
5523 }
5524 _Move(point);
5525 renderer.SetFirst(first: true, pos.PositionCenter());
5526 if (isChara)
5527 {
5528 Chara.ai.Cancel();
5529 foreach (Chara chara in EClass._map.charas)
5530 {
5531 if (chara.enemy == this)
5532 {
5533 chara.SetEnemy();
5534 }
5535 }
5536 Chara.RemoveCondition<ConEntangle>();
5537 }
5538 if (IsPC)
5539 {
5542 EClass.player.haltMove = true;
5543 }
5544 PlayEffect("teleport", useRenderPos: false);
5545 }
virtual MoveResult _Move(Point p, MoveType type=MoveType.Walk)
Definition: Card.cs:5469
void SayNothingHappans()
Definition: Card.cs:6418
Chara enemy
Definition: Chara.cs:86
Chara SetEnemy(Chara c=null)
Definition: Chara.cs:5808
bool Has(int ele)

References EClass._map, EClass._zone, Chara.ai, 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(), ConSleep.SuccubusVisit(), and TraitTeleporter.TryTeleport().

◆ Tick()

virtual void Card.Tick ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 6751 of file Card.cs.

6752 {
6753 }

◆ ToString()

override string Card.ToString ( )
inline

Definition at line 2423 of file Card.cs.

2424 {
2425 return Name + "/" + pos?.ToString() + "/" + parent;
2426 }
override string ToString()
Definition: Point.cs:512

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

5353 {
5354 if (c.c_idRefCard.IsEmpty())
5355 {
5356 return c.c_altName;
5357 }
5358 if (!(c.refCard is SourceChara.Row { isChara: not false } row))
5359 {
5360 return c.c_altName;
5361 }
5362 if (!row.aka.IsEmpty())
5363 {
5364 if (row.name == "*r" && row.aka == "*r")
5365 {
5366 return "corpseGeneral".lang();
5367 }
5368 if (row.name == "*r")
5369 {
5370 return row.GetText("aka");
5371 }
5372 }
5373 return row.GetName();
5374 }
CardRow refCard
Definition: Card.cs:1903

References c_altName, c_idRefCard, and refCard.

◆ TryMakeRandomItem()

Thing Card.TryMakeRandomItem ( int  lv = -1)
inline

Definition at line 5138 of file Card.cs.

5139 {
5140 if (lv == -1)
5141 {
5142 lv = EClass._zone.DangerLv;
5143 }
5144 switch (id)
5145 {
5146 case "gene":
5148 break;
5149 case "log":
5150 ChangeMaterial(EClass.sources.materials.rows.Where((SourceMaterial.Row m) => m.category == "wood").RandomItem());
5151 break;
5152 case "ore_gem":
5154 break;
5155 case "ore":
5157 break;
5158 case "milk":
5159 case "_egg":
5160 case "egg_fertilized":
5161 case "_meat":
5162 case "meat_marble":
5163 {
5164 string text = "c_wilds";
5165 if (id == "_meat" || id == "meat_marble")
5166 {
5167 text = "c_animal";
5168 }
5169 for (int i = 0; i < 20; i++)
5170 {
5171 CardRow cardRow = SpawnList.Get(text).Select(lv);
5172 if (cardRow.model.Chara.race.corpse[0] != "_meat" && id != "milk" && id != "_egg" && id != "egg_fertilized")
5173 {
5174 continue;
5175 }
5176 if (id == "milk")
5177 {
5178 if (c_idRefCard.IsEmpty())
5179 {
5180 MakeRefFrom(cardRow.model);
5181 }
5182 }
5183 else
5184 {
5185 MakeFoodFrom(cardRow.model);
5186 }
5187 break;
5188 }
5189 break;
5190 }
5191 }
5192 return this as Thing;
5193 }
Card model
Definition: CardRow.cs:60
Definition: DNA.cs:8
static Thing CopyDNA(Thing from, Thing to)
Definition: DNA.cs:130
static Thing GenerateRandomGene(int lv=-1, int seed=-1)
Definition: DNA.cs:138
static SourceMaterial.Row GetRandomMaterialFromCategory(int lv, string cat, SourceMaterial.Row fallback)
Definition: MATERIAL.cs:81
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, DNA.CopyDNA(), Zone.DangerLv, DNA.GenerateRandomGene(), SpawnList.Get(), MATERIAL.GetRandomMaterialFromCategory(), material, SourceManager.materials, CardRow.model, Chara.race, SpawnList.Select(), and EClass.sources.

Referenced by FactionBranch.DailyOutcome(), Map.MineObj(), Trait.OnBarter(), and CoreDebug.UpdateInput().

◆ TryPay()

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

Definition at line 3770 of file Card.cs.

3771 {
3772 if (GetCurrency(id) < a)
3773 {
3774 if (IsPC)
3775 {
3776 SE.Beep();
3777 Msg.Say((id == "ration") ? "notEnoughFood" : "notEnoughMoney");
3778 }
3779 return false;
3780 }
3781 if (IsPC && !(id == "ration"))
3782 {
3783 SE.Pay();
3784 }
3785 ModCurrency(-a, id);
3786 return true;
3787 }
int GetCurrency(string id="money")
Definition: Card.cs:3820

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

2438 {
2439 if (CanReserve(act))
2440 {
2441 reservedAct = act;
2442 return true;
2443 }
2444 return false;
2445 }
bool CanReserve(AIAct act)
Definition: Card.cs:2428

References CanReserve(), and reservedAct.

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

◆ TryStack()

void Card.TryStack ( Thing  t)
inline

Definition at line 6582 of file Card.cs.

6583 {
6584 if (t == this)
6585 {
6586 return;
6587 }
6589 if (dest.stack != null)
6590 {
6591 if (IsPC)
6592 {
6593 Say("stack_thing", t, dest.stack);
6594 }
6595 t.TryStackTo(dest.stack);
6596 }
6597 }
bool TryStackTo(Thing to)
Definition: Card.cs:3258
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 3258 of file Card.cs.

3259 {
3260 if (isDestroyed || to.isDestroyed || !CanStackTo(to))
3261 {
3262 return false;
3263 }
3264 to.decay = (to.decay * to.Num + decay * Num) / (to.Num + Num);
3265 to.ModNum(Num);
3266 if (c_isImportant)
3267 {
3268 to.c_isImportant = true;
3269 }
3271 {
3272 to.isNew = true;
3273 }
3274 Destroy();
3275 return true;
3276 }
virtual bool CanStackTo(Thing to)
Definition: Card.cs:3253
new GameConfig game
Definition: CoreConfig.cs:600

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

6704 {
6705 if (!(GetRestrainer() == null || force))
6706 {
6707 return;
6708 }
6709 isRestrained = false;
6710 Say("unrestrained", this);
6711 if (this != c)
6712 {
6713 Talk("thanks");
6714 }
6716 renderer.SetFirst(first: true);
6717 if (c == null)
6718 {
6719 return;
6720 }
6721 if (c_rescueState == RescueState.WaitingForRescue)
6722 {
6723 c_rescueState = RescueState.Rescued;
6724 if (c.IsPC)
6725 {
6727 }
6728 }
6730 {
6731 return;
6732 }
6733 foreach (Chara item in c.pos.ListCharasInRadius(c, 5, (Chara _c) => _c.id == "fanatic" && _c.faith != Chara.faith))
6734 {
6735 c.DoHostileAction(item, immediate: true);
6736 }
6737 }
RescueState
Definition: RescueState.cs:2
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:6326
TraitShackle GetRestrainer()
Definition: Card.cs:6739
void MoveImmediate(Point p, bool focus=true, bool cancelAI=true)
Definition: Card.cs:5479
RescueState c_rescueState
Definition: Card.cs:1181
override bool IsPC
Definition: Chara.cs:608
void DoHostileAction(Card _tg, bool immediate=false)
Definition: Chara.cs:5857
void ModKarma(int a)
Definition: Player.cs:2311
List< Chara > ListCharasInRadius(Chara cc, int dist, Func< Chara, bool > func, bool onlyVisible=true)
Definition: Point.cs:1200

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

7417 {
7418 }

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

Member Data Documentation

◆ _bits1

◆ _bits2

◆ _category

SourceCategory.Row Card._category
private

Definition at line 85 of file Card.cs.

◆ _childrenWeight

int Card._childrenWeight
private

Definition at line 83 of file Card.cs.

◆ _colorInt

int Card._colorInt

Definition at line 63 of file Card.cs.

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

◆ _ints

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

Definition at line 28 of file Card.cs.

Referenced by _OnDeserialized(), and _OnSerializing().

◆ _LightData

LightData Card._LightData
private

Definition at line 93 of file Card.cs.

◆ _material

SourceMaterial.Row Card._material

Definition at line 87 of file Card.cs.

Referenced by ChangeMaterial(), and Create().

◆ _paintSprite

Sprite Card._paintSprite
private

Definition at line 95 of file Card.cs.

◆ _randColor

Color Card._randColor
staticprivate

Definition at line 89 of file Card.cs.

◆ angle

float Card.angle = 180f

◆ animeCounter

float Card.animeCounter

Definition at line 69 of file Card.cs.

◆ bio

◆ bp

CardBlueprint Card.bp

Definition at line 73 of file Card.cs.

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

◆ dirtyWeight

bool Card.dirtyWeight = true

Definition at line 81 of file Card.cs.

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

◆ elements

Definition at line 37 of file Card.cs.

Referenced by _OnDeserialized(), TraitAltar._OnOffer(), Element._WriteNote(), Element.AddEncNote(), AddRune(), 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(), TraitRod.Create(), TraitSpellbook.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.MakeDish(), TraitSeed.MakeSeed(), CraftUtil.MixIngredients(), StatsMana.Mod(), ModEncLv(), ModExp(), Player.MoveZone(), Trait.OnBarter(), TraitPotionAlchemy.OnCrafted(), 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(), CoreDebug.QuickStart(), ButtonElement.Refresh(), UICharaMaker.Refresh(), WidgetTracker.Refresh(), WindowCharaMini.Refresh(), UIRecipeInfo.RefreshList(), LayerEmbark.RefreshMembers(), LayerCraft.RefreshProduct(), WindowChara.RefreshProfile(), WindowChara.RefreshSkill(), Chara.RefreshSpeed(), WindowChara.RefreshStatic(), 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(), 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 59 of file Card.cs.

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

◆ id

string Card.id = ""

Definition at line 31 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(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), GrowSystem.EqualizePlants(), ZonePreEnterEncounter.Execute(), CardManager.GlobalCharaList.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(), MakeFoodRef(), MakeRefFrom(), TraitSeed.MakeSeed(), DramaOutcome.melilith_friend(), CraftUtil.MixIngredients(), Zone_Casino.OnActivate(), TraitTrap.OnActivateTrap(), Zone_WindRest.OnAfterSimulate(), Trait.OnBarter(), TraitWell.OnBlend(), TraitBrewery.OnChildDecay(), FactionBranch.OnClaimZone(), ContentCodex.OnClickAddCards(), Thing.OnCreate(), TraitRod.OnCreate(), TraitDrink.OnDrink(), TraitDrinkMilkMother.OnDrink(), QuestRandom.OnDropReward(), Zone_CursedManor.OnGenerateMap(), Zone_CursedManorDungeon.OnGenerateMap(), Zone_WindRest.OnGenerateMap(), QuestTaskFlyer.OnGiveItem(), LayerCraft.OnKill(), Game.OnLoad(), Props.OnNumChange(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgressComplete(), TaskBuild.OnProgressComplete(), TraitLicense.OnRead(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), TraitPaintBoard.OnRenderExtra(), TraitTrapMine.OnStepped(), TraitGainPrecious.OnUse(), TraitHat.OnUse(), TraitPotionEmpty.OnUse(), RecipeManager.OnVersionUpdate(), ZoneEventMusic.OnVisit(), 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(), 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 91 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 55 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(), Recipe.Build(), AI_Shopping.Buy(), MeetingManager.CallNext(), TraitTrolley.CanActivate(), TraitDoor.CanClose(), 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(), Trait.GetRandomPoint(), Zone.GetRandomVisitPos(), Chara.GetRevived(), Chara.GetRoomWork(), 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(), 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(), ActMultihit.Perform(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.Perform(), ActThrow.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_Clean.Run(), AI_Cook.Run(), AI_Fuck.Run(), AI_Haul.Run(), AI_Idle.Run(), AI_Massage.Run(), AI_Offer.Run(), AI_PassTime.Run(), AI_PlayMusic.Run(), AI_Shear.Run(), AI_Shopping.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_TargetCard.Run(), AI_Torture.Run(), AI_UseCrafter.Run(), AIWork.Run(), GoalCombat.Run(), GoalManualMove.Run(), GoalSleep.Run(), TaskDump.Run(), TaskPoint.Run(), RecipeUpdater.RunDisassemble(), PartialMap.Save(), Map.Save(), ActWait.Search(), CharaRenderer.SetFirst(), SetPlaceState(), AM_Adv.SetPressedAction(), RegionPoint.SetRegionPoint(), WidgetHotbar.SetShortcutMenu(), UISong.SetSong(), TraitGeneratorWheel.ShouldWork(), AM_Adv.ShowAllAction(), LayerCraftFloat.ShowContextMenu(), Zone.Simulate(), Player.SimulateFaction(), CoreDebug.Spawn(), CoreDebug.SpawnBoss(), ButtonAbility.SpecialHoldAction(), 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(), 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(), 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 47 of file Card.cs.

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

◆ renderer

CardRenderer Card.renderer

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

Referenced by CanReserve(), and TryReserve().

◆ roundTimer

float Card.roundTimer

Definition at line 65 of file Card.cs.

Referenced by WidgetDebug.UpdateText().

◆ sockets

◆ sortVal

◆ things

ThingContainer Card.things = new ThingContainer()

Definition at line 34 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(), 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(), Chara.Die(), Player.DropReward(), Duplicate(), ZonePreEnterBoutWin.Execute(), ZonePreEnterEncounter.Execute(), ThingContainer.Find(), ThingContainer.Find< T >(), Chara.FindAmmo(), Props.FindEmptyContainer< T >(), FindTool< T >(), 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(), 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(), InvOwner.PutBack(), 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(), 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(), 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 49 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(), 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(), 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(), ActThrow.GetText(), 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 >(), InvOwner.Transaction.IsValid(), TaskDump.IsValidContainer(), 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 >(), 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_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(), 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(), CoreDebug.UpdateInput(), and VirtualRoom.VirtualRoom().

◆ turn

Property Documentation

◆ _IsPC

bool Card._IsPC
get

Definition at line 2081 of file Card.cs.

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

◆ _placeState

PlaceState Card._placeState
getset

Definition at line 273 of file Card.cs.

274 {
275 get
276 {
277 return _ints[18].ToEnum<PlaceState>();
278 }
279 set
280 {
281 _ints[18] = (int)value;
282 }
283 }

Referenced by _OnDeserialized(), and _OnSerializing().

◆ _x

int Card._x
getset

Definition at line 165 of file Card.cs.

166 {
167 get
168 {
169 return _ints[7];
170 }
171 set
172 {
173 _ints[7] = value;
174 }
175 }

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

◆ _z

int Card._z
getset

Definition at line 177 of file Card.cs.

178 {
179 get
180 {
181 return _ints[9];
182 }
183 set
184 {
185 _ints[9] = value;
186 }
187 }

Referenced by _OnDeserialized(), and _OnSerializing().

◆ actorPrefab

virtual string Card.actorPrefab
get

Definition at line 2065 of file Card.cs.

◆ AliasMaterialOnCreate

virtual string Card.AliasMaterialOnCreate
get

Definition at line 1989 of file Card.cs.

Referenced by Create().

◆ altitude

int Card.altitude
getset

Definition at line 213 of file Card.cs.

214 {
215 get
216 {
217 return _ints[13];
218 }
219 set
220 {
221 _ints[13] = value;
222 }
223 }

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

1745 {
1746 get
1747 {
1748 return GetObj<Thing>(9);
1749 }
1750 set
1751 {
1752 SetObj(9, value);
1753 }
1754 }
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 609 of file Card.cs.

610 {
611 get
612 {
613 return _bits1[17];
614 }
615 set
616 {
617 _bits1[17] = value;
618 }
619 }

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

◆ blessedState

◆ c_allowance

int Card.c_allowance
getset

Definition at line 1288 of file Card.cs.

1289 {
1290 get
1291 {
1292 return GetInt(114);
1293 }
1294 set
1295 {
1296 SetInt(114, value);
1297 }
1298 }

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

◆ c_altName

string Card.c_altName
getset

Definition at line 1552 of file Card.cs.

1553 {
1554 get
1555 {
1556 return GetStr(1);
1557 }
1558 set
1559 {
1560 SetStr(1, value);
1561 }
1562 }
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 1564 of file Card.cs.

1565 {
1566 get
1567 {
1568 return GetStr(2);
1569 }
1570 set
1571 {
1572 SetStr(2, value);
1573 }
1574 }

◆ c_ammo

int Card.c_ammo
getset

Definition at line 1420 of file Card.cs.

1421 {
1422 get
1423 {
1424 return GetInt(27);
1425 }
1426 set
1427 {
1428 SetInt(27, value);
1429 }
1430 }

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

◆ c_bedType

BedType Card.c_bedType
getset

Definition at line 911 of file Card.cs.

912 {
913 get
914 {
915 return GetInt(9).ToEnum<BedType>();
916 }
917 set
918 {
919 SetInt(9, (int)value);
920 }
921 }
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 1252 of file Card.cs.

1253 {
1254 get
1255 {
1256 return GetInt(23);
1257 }
1258 set
1259 {
1260 SetInt(23, value);
1261 }
1262 }

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

◆ c_bossType

BossType Card.c_bossType
getset

Definition at line 1192 of file Card.cs.

1193 {
1194 get
1195 {
1196 return GetInt(65).ToEnum<BossType>();
1197 }
1198 set
1199 {
1200 SetInt(65, (int)value);
1201 }
1202 }

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

◆ c_charaList

CharaList Card.c_charaList
getset

Definition at line 1852 of file Card.cs.

1853 {
1854 get
1855 {
1856 return GetObj<CharaList>(13);
1857 }
1858 set
1859 {
1860 SetObj(13, value);
1861 }
1862 }

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

1505 {
1506 get
1507 {
1508 return GetStr(8);
1509 }
1510 set
1511 {
1512 SetStr(8, value);
1513 }
1514 }

◆ c_containerSize

int Card.c_containerSize
getset

Definition at line 1324 of file Card.cs.

1325 {
1326 get
1327 {
1328 return GetInt(8);
1329 }
1330 set
1331 {
1332 SetInt(8, value);
1333 }
1334 }

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

◆ c_containerUpgrade

ContainerUpgrade Card.c_containerUpgrade
getset

Definition at line 1828 of file Card.cs.

1829 {
1830 get
1831 {
1832 return GetObj<ContainerUpgrade>(12) ?? (c_containerUpgrade = new ContainerUpgrade());
1833 }
1834 set
1835 {
1836 SetObj(12, value);
1837 }
1838 }
ContainerUpgrade c_containerUpgrade
Definition: Card.cs:1829

Referenced by TraitWrench.Upgrade().

◆ c_context

string Card.c_context
getset

Definition at line 1636 of file Card.cs.

1637 {
1638 get
1639 {
1640 return GetStr(20);
1641 }
1642 set
1643 {
1644 SetStr(20, value);
1645 }
1646 }

Referenced by TraitDaggerGrave.OnUse().

◆ c_copyContainer

Thing Card.c_copyContainer
getset

Definition at line 1768 of file Card.cs.

1769 {
1770 get
1771 {
1772 return GetObj<Thing>(10);
1773 }
1774 set
1775 {
1776 SetObj(10, value);
1777 }
1778 }

Referenced by Trait.OnBarter().

◆ c_corruptionHistory

List<int> Card.c_corruptionHistory
getset

Definition at line 1816 of file Card.cs.

1817 {
1818 get
1819 {
1820 return GetObj<List<int>>(16);
1821 }
1822 set
1823 {
1824 SetObj(16, value);
1825 }
1826 }

◆ c_dateCooked

int Card.c_dateCooked
getset

Definition at line 1312 of file Card.cs.

1313 {
1314 get
1315 {
1316 return GetInt(66);
1317 }
1318 set
1319 {
1320 SetInt(66, value);
1321 }
1322 }

◆ c_dateDeathLock

int Card.c_dateDeathLock
getset

Definition at line 1216 of file Card.cs.

1217 {
1218 get
1219 {
1220 return GetInt(130);
1221 }
1222 set
1223 {
1224 SetInt(130, value);
1225 }
1226 }

◆ c_dateStockExpire

int Card.c_dateStockExpire
getset

Definition at line 1204 of file Card.cs.

1205 {
1206 get
1207 {
1208 return GetInt(22);
1209 }
1210 set
1211 {
1212 SetInt(22, value);
1213 }
1214 }

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

◆ c_daysWithGod

int Card.c_daysWithGod
getset

Definition at line 1432 of file Card.cs.

1433 {
1434 get
1435 {
1436 return GetInt(57);
1437 }
1438 set
1439 {
1440 SetInt(57, value);
1441 }
1442 }

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

◆ c_daysWithPC

int Card.c_daysWithPC
getset

Definition at line 1444 of file Card.cs.

1445 {
1446 get
1447 {
1448 return GetInt(67);
1449 }
1450 set
1451 {
1452 SetInt(67, value);
1453 }
1454 }

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

◆ c_diceDim

int Card.c_diceDim
getset

Definition at line 1348 of file Card.cs.

1349 {
1350 get
1351 {
1352 return GetInt(14);
1353 }
1354 set
1355 {
1356 SetInt(14, value);
1357 }
1358 }

Referenced by AttackProcess.Prepare().

◆ c_DNA

DNA Card.c_DNA
getset

Definition at line 1840 of file Card.cs.

1841 {
1842 get
1843 {
1844 return GetObj<DNA>(14);
1845 }
1846 set
1847 {
1848 SetObj(14, value);
1849 }
1850 }

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

◆ c_dyeMat

int Card.c_dyeMat
getset

Definition at line 1156 of file Card.cs.

1157 {
1158 get
1159 {
1160 return GetInt(3);
1161 }
1162 set
1163 {
1164 SetInt(3, value);
1165 }
1166 }

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

◆ c_editorTags

string Card.c_editorTags
getset

Definition at line 1660 of file Card.cs.

1661 {
1662 get
1663 {
1664 return GetStr(28);
1665 }
1666 set
1667 {
1668 SetStr(28, value);
1669 }
1670 }

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

1673 {
1674 get
1675 {
1676 return GetStr(25);
1677 }
1678 set
1679 {
1680 SetStr(25, value);
1681 }
1682 }

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

◆ c_equippedSlot

int Card.c_equippedSlot
getset

Definition at line 923 of file Card.cs.

924 {
925 get
926 {
927 return GetInt(6);
928 }
929 set
930 {
931 SetInt(6, value);
932 }
933 }

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

◆ c_extraNameRef

string Card.c_extraNameRef
getset

Definition at line 1576 of file Card.cs.

1577 {
1578 get
1579 {
1580 return GetStr(12);
1581 }
1582 set
1583 {
1584 SetStr(12, value);
1585 }
1586 }

Referenced by MakeRefFrom().

◆ c_fixedValue

int Card.c_fixedValue
getset

Definition at line 1144 of file Card.cs.

1145 {
1146 get
1147 {
1148 return GetInt(131);
1149 }
1150 set
1151 {
1152 SetInt(131, value);
1153 }
1154 }

◆ c_fur

int Card.c_fur
getset

Definition at line 1300 of file Card.cs.

1301 {
1302 get
1303 {
1304 return GetInt(62);
1305 }
1306 set
1307 {
1308 SetInt(62, value);
1309 }
1310 }

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

1805 {
1806 get
1807 {
1808 return GetObj<CharaGenes>(15);
1809 }
1810 set
1811 {
1812 SetObj(15, value);
1813 }
1814 }

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

1625 {
1626 get
1627 {
1628 return GetStr(50);
1629 }
1630 set
1631 {
1632 SetStr(50, value);
1633 }
1634 }

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

◆ c_idBacker

int Card.c_idBacker
getset

Definition at line 1396 of file Card.cs.

1397 {
1398 get
1399 {
1400 return GetInt(52);
1401 }
1402 set
1403 {
1404 SetInt(52, value);
1405 }
1406 }

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

◆ c_idDeity

string Card.c_idDeity
getset

Definition at line 1540 of file Card.cs.

1541 {
1542 get
1543 {
1544 return GetStr(26);
1545 }
1546 set
1547 {
1548 SetStr(26, value);
1549 }
1550 }

Referenced by SerializedCards.Add(), TraitAltar.CanOffer(), Element.IsActive(), ElementContainerFaction.IsEffective(), Trait.OfferProcess(), TraitAltar.OnImportMap(), TraitAltar.OnOffer(), ButtonElement.SetGrid(), and TraitAltar.SetName().

◆ c_idEditor

string Card.c_idEditor
getset

Definition at line 1648 of file Card.cs.

1649 {
1650 get
1651 {
1652 return GetStr(27);
1653 }
1654 set
1655 {
1656 SetStr(27, value);
1657 }
1658 }

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

◆ c_idJob

string Card.c_idJob
getset

Definition at line 1480 of file Card.cs.

1481 {
1482 get
1483 {
1484 return GetStr(4);
1485 }
1486 set
1487 {
1488 SetStr(4, value);
1489 }
1490 }

◆ c_idMainElement

int Card.c_idMainElement
getset

Definition at line 1372 of file Card.cs.

1373 {
1374 get
1375 {
1376 return GetInt(16);
1377 }
1378 set
1379 {
1380 SetInt(16, value);
1381 }
1382 }

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

◆ c_idPortrait

string Card.c_idPortrait
getset

Definition at line 1456 of file Card.cs.

1457 {
1458 get
1459 {
1460 return GetStr(9);
1461 }
1462 set
1463 {
1464 SetStr(9, value);
1465 }
1466 }

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

◆ c_idRace

string Card.c_idRace
getset

Definition at line 1468 of file Card.cs.

1469 {
1470 get
1471 {
1472 return GetStr(3);
1473 }
1474 set
1475 {
1476 SetStr(3, value);
1477 }
1478 }

◆ c_idRefCard

◆ c_idRefCard2

string Card.c_idRefCard2
getset

Definition at line 1708 of file Card.cs.

1709 {
1710 get
1711 {
1712 return GetStr(6);
1713 }
1714 set
1715 {
1716 SetStr(6, value);
1717 }
1718 }

Referenced by Thing.CanStackTo().

◆ c_idRefName

string Card.c_idRefName
getset

Definition at line 1600 of file Card.cs.

1601 {
1602 get
1603 {
1604 return GetStr(7);
1605 }
1606 set
1607 {
1608 SetStr(7, value);
1609 }
1610 }

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

1613 {
1614 get
1615 {
1616 return GetStr(55);
1617 }
1618 set
1619 {
1620 SetStr(55, value);
1621 }
1622 }

Referenced by ActPlan._Update().

◆ c_idSpriteReplacer

string Card.c_idSpriteReplacer
getset

Definition at line 1516 of file Card.cs.

1517 {
1518 get
1519 {
1520 return GetStr(13);
1521 }
1522 set
1523 {
1524 SetStr(13, value);
1525 }
1526 }

Referenced by CharaRenderer.SetOwner().

◆ c_idTalk

string Card.c_idTalk
getset

Definition at line 1528 of file Card.cs.

1529 {
1530 get
1531 {
1532 return GetStr(21);
1533 }
1534 set
1535 {
1536 SetStr(21, value);
1537 }
1538 }

Referenced by Person.GetDramaTitle().

◆ c_idTone

string Card.c_idTone
getset

Definition at line 1492 of file Card.cs.

1493 {
1494 get
1495 {
1496 return GetStr(22);
1497 }
1498 set
1499 {
1500 SetStr(22, value);
1501 }
1502 }

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

◆ c_idTrait

string Card.c_idTrait
getset

Definition at line 1684 of file Card.cs.

1685 {
1686 get
1687 {
1688 return GetStr(29);
1689 }
1690 set
1691 {
1692 SetStr(29, value);
1693 }
1694 }

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

◆ c_IDTState

int Card.c_IDTState
getset

Definition at line 1228 of file Card.cs.

1229 {
1230 get
1231 {
1232 return GetInt(2);
1233 }
1234 set
1235 {
1236 SetInt(2, value);
1237 }
1238 }

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

◆ c_indexContainerIcon

int Card.c_indexContainerIcon
getset

Definition at line 1360 of file Card.cs.

1361 {
1362 get
1363 {
1364 return GetInt(15);
1365 }
1366 set
1367 {
1368 SetInt(15, value);
1369 }
1370 }

Referenced by ButtonGrid.SetCard().

◆ c_invest

int Card.c_invest
getset

Definition at line 1264 of file Card.cs.

1265 {
1266 get
1267 {
1268 return GetInt(28);
1269 }
1270 set
1271 {
1272 SetInt(28, value);
1273 }
1274 }

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

◆ c_isDisableStockUse

bool Card.c_isDisableStockUse
getset

Definition at line 1055 of file Card.cs.

1056 {
1057 get
1058 {
1059 return GetInt(122) != 0;
1060 }
1061 set
1062 {
1063 SetInt(122, value ? 1 : 0);
1064 }
1065 }

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

◆ c_isImportant

◆ c_isPrayed

bool Card.c_isPrayed
getset

Definition at line 1043 of file Card.cs.

1044 {
1045 get
1046 {
1047 return GetInt(121) != 0;
1048 }
1049 set
1050 {
1051 SetInt(121, value ? 1 : 0);
1052 }
1053 }

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

◆ c_isTrained

bool Card.c_isTrained
getset

Definition at line 1031 of file Card.cs.

1032 {
1033 get
1034 {
1035 return GetInt(120) != 0;
1036 }
1037 set
1038 {
1039 SetInt(120, value ? 1 : 0);
1040 }
1041 }

◆ c_lightColor

int Card.c_lightColor
getset

Definition at line 1067 of file Card.cs.

1068 {
1069 get
1070 {
1071 return GetInt(5);
1072 }
1073 set
1074 {
1075 Mod();
1076 SetInt(5, value);
1077 }
1078 }
void Mod()
Definition: Card.cs:2447

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

◆ c_lockedHard

bool Card.c_lockedHard
getset

Definition at line 1007 of file Card.cs.

1008 {
1009 get
1010 {
1011 return GetInt(63) != 0;
1012 }
1013 set
1014 {
1015 SetInt(63, value ? 1 : 0);
1016 }
1017 }

Referenced by Trait.TryOpenLock().

◆ c_lockLv

◆ c_minionType

MinionType Card.c_minionType
getset

Definition at line 959 of file Card.cs.

960 {
961 get
962 {
963 return GetInt(61).ToEnum<MinionType>();
964 }
965 set
966 {
967 SetInt(61, (int)value);
968 }
969 }
MinionType
Definition: MinionType.cs:2

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

◆ c_note

string Card.c_note
getset

Definition at line 1720 of file Card.cs.

1721 {
1722 get
1723 {
1724 return GetStr(51);
1725 }
1726 set
1727 {
1728 SetStr(51, value);
1729 }
1730 }

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

◆ c_originalHostility

Hostility Card.c_originalHostility
getset

Definition at line 947 of file Card.cs.

948 {
949 get
950 {
951 return GetInt(12).ToEnum<Hostility>();
952 }
953 set
954 {
955 SetInt(12, (int)value);
956 }
957 }

Referenced by Chara.CreateReplacement().

◆ c_priceAdd

int Card.c_priceAdd
getset

Definition at line 1120 of file Card.cs.

1121 {
1122 get
1123 {
1124 return GetInt(29);
1125 }
1126 set
1127 {
1128 SetInt(29, value);
1129 }
1130 }

Referenced by Thing.CanStackTo().

◆ c_priceCopy

int Card.c_priceCopy
getset

Definition at line 1132 of file Card.cs.

1133 {
1134 get
1135 {
1136 return GetInt(124);
1137 }
1138 set
1139 {
1140 SetInt(124, value);
1141 }
1142 }

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

◆ c_priceFix

int Card.c_priceFix
getset

Definition at line 1108 of file Card.cs.

1109 {
1110 get
1111 {
1112 return GetInt(21);
1113 }
1114 set
1115 {
1116 SetInt(21, value);
1117 }
1118 }

Referenced by Thing.CanStackTo().

◆ c_refText

string Card.c_refText
getset

Definition at line 1588 of file Card.cs.

1589 {
1590 get
1591 {
1592 return GetStr(10);
1593 }
1594 set
1595 {
1596 SetStr(10, value);
1597 }
1598 }

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

◆ c_rescueState

RescueState Card.c_rescueState
getset

Definition at line 1180 of file Card.cs.

1181 {
1182 get
1183 {
1184 return GetInt(53).ToEnum<RescueState>();
1185 }
1186 set
1187 {
1188 SetInt(53, (int)value);
1189 }
1190 }

◆ c_revealLock

bool Card.c_revealLock
getset

Definition at line 1019 of file Card.cs.

1020 {
1021 get
1022 {
1023 return GetInt(64) != 0;
1024 }
1025 set
1026 {
1027 SetInt(64, value ? 1 : 0);
1028 }
1029 }

Referenced by Trait.OnBarter().

◆ c_seed

int Card.c_seed
getset

Definition at line 1276 of file Card.cs.

1277 {
1278 get
1279 {
1280 return GetInt(33);
1281 }
1282 set
1283 {
1284 SetInt(33, value);
1285 }
1286 }

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

◆ c_summonDuration

int Card.c_summonDuration
getset

Definition at line 1384 of file Card.cs.

1385 {
1386 get
1387 {
1388 return GetInt(17);
1389 }
1390 set
1391 {
1392 SetInt(17, value);
1393 }
1394 }

◆ c_textureData

byte [] Card.c_textureData
getset

Definition at line 1864 of file Card.cs.

1865 {
1866 get
1867 {
1868 return GetObj<byte[]>(4);
1869 }
1870 set
1871 {
1872 SetObj(4, value);
1873 }
1874 }

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

◆ c_uidMaster

int Card.c_uidMaster
getset

Definition at line 1408 of file Card.cs.

1409 {
1410 get
1411 {
1412 return GetInt(54);
1413 }
1414 set
1415 {
1416 SetInt(54, value);
1417 }
1418 }

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

◆ c_uidRefCard

int Card.c_uidRefCard
getset

Definition at line 1095 of file Card.cs.

1096 {
1097 get
1098 {
1099 return GetInt(11);
1100 }
1101 set
1102 {
1103 Mod();
1104 SetInt(11, value);
1105 }
1106 }

Referenced by TraitShackle.IsRestraining().

◆ c_uidZone

int Card.c_uidZone
getset

Definition at line 1082 of file Card.cs.

1083 {
1084 get
1085 {
1086 return GetInt(10);
1087 }
1088 set
1089 {
1090 Mod();
1091 SetInt(10, value);
1092 }
1093 }

◆ c_uniqueData

UniqueData Card.c_uniqueData
getset

Definition at line 1732 of file Card.cs.

1733 {
1734 get
1735 {
1736 return GetObj<UniqueData>(6);
1737 }
1738 set
1739 {
1740 SetObj(6, value);
1741 }
1742 }

◆ c_upgrades

CharaUpgrade Card.c_upgrades
getset

Definition at line 1792 of file Card.cs.

1793 {
1794 get
1795 {
1796 return GetObj<CharaUpgrade>(11);
1797 }
1798 set
1799 {
1800 SetObj(11, value);
1801 }
1802 }

Referenced by WindowCharaMini.Refresh().

◆ c_vomit

int Card.c_vomit
getset

Definition at line 971 of file Card.cs.

972 {
973 get
974 {
975 return GetInt(13);
976 }
977 set
978 {
979 SetInt(13, value);
980 }
981 }

◆ c_wasInPcParty

bool Card.c_wasInPcParty
getset

Definition at line 983 of file Card.cs.

984 {
985 get
986 {
987 return GetInt(103) != 0;
988 }
989 set
990 {
991 SetInt(103, value ? 1 : 0);
992 }
993 }

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

◆ c_weight

int Card.c_weight
getset

Definition at line 1336 of file Card.cs.

1337 {
1338 get
1339 {
1340 return GetInt(1);
1341 }
1342 set
1343 {
1344 SetInt(1, value);
1345 }
1346 }

Referenced by ChangeWeight().

◆ c_windowSaveData

Window.SaveData Card.c_windowSaveData
getset

Definition at line 1780 of file Card.cs.

1781 {
1782 get
1783 {
1784 return GetObj<Window.SaveData>(2);
1785 }
1786 set
1787 {
1788 SetObj(2, value);
1789 }
1790 }

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

◆ CanInspect

bool Card.CanInspect
get

Implements IInspect.

Definition at line 2405 of file Card.cs.

2406 {
2407 get
2408 {
2409 if (!isDestroyed)
2410 {
2411 return ExistsOnMap;
2412 }
2413 return false;
2414 }
2415 }

◆ category

◆ Cell

◆ CHA

◆ Chara

virtual Chara Card.Chara
get

Definition at line 2005 of file Card.cs.

2006 {
2007 get
2008 {
2009 if (!isChara)
2010 {
2011 return null;
2012 }
2013 return (Chara)this;
2014 }
2015 }

Referenced by InvOwnerBlend._OnProcess(), ActPlan._Update(), SerializedCards.Add(), Props.Add(), Cell.AddCard(), Zone.AddCard(), Map.AddCardOnActivate(), InvOwner.AllowHold(), Feat.Apply(), ApplyEditorTags(), Thing.ApplyMaterialElements(), ActMelee.Attack(), GuildFighter.CanGiveContribution(), ActNTR.CanPerform(), ActRestrain.CanPerform(), Chara.CanSee(), Chara.CanSeeLos(), InvOwner.CanShiftClick(), TraitSalesTag.CanTagSale(), Faction.CountMembers(), ActEffect.DamageEle(), DamageHP(), Chara.Die(), 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(), ElementContainerCard.OnLevelDown(), ElementContainerCard.OnLevelUp(), AM_MoveInstalled.OnProcessTiles(), ItemGeneral.OnRefreshPref(), ActChat.Perform(), ActDreamBug.Perform(), ActKick.Perform(), ActNTR.Perform(), ActRanged.Perform(), ActRestrain.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(), and ElementContainerCard.ValueBonus().

◆ ChildrenAndSelfWeight

◆ ChildrenAndSelfWeightSingle

int Card.ChildrenAndSelfWeightSingle
get

Definition at line 1979 of file Card.cs.

◆ ChildrenWeight

int Card.ChildrenWeight
get

Definition at line 1948 of file Card.cs.

1949 {
1950 get
1951 {
1952 if (dirtyWeight)
1953 {
1954 _childrenWeight = 0;
1955 if (!(trait is TraitMagicChest))
1956 {
1957 foreach (Thing thing in things)
1958 {
1960 }
1961 dirtyWeight = false;
1962 (parent as Card)?.SetDirtyWeight();
1963 if (isChara && IsPCFaction)
1964 {
1965 Chara.CalcBurden();
1966 }
1967 if (_childrenWeight < 0 || _childrenWeight > 10000000)
1968 {
1969 _childrenWeight = 10000000;
1970 }
1971 }
1972 }
1973 return _childrenWeight * Mathf.Max(100 - Evalue(404), 0) / 100;
1974 }
1975 }
int _childrenWeight
Definition: Card.cs:83
void CalcBurden()
Definition: Chara.cs:1627

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

◆ colorInt

int Card.colorInt
get

Definition at line 103 of file Card.cs.

104 {
105 get
106 {
107 if (_colorInt == 0)
108 {
109 RefreshColor();
110 }
111 return _colorInt;
112 }
113 }
void RefreshColor()
Definition: Card.cs:5644

◆ decay

int Card.decay
getset

Definition at line 201 of file Card.cs.

202 {
203 get
204 {
205 return _ints[12];
206 }
207 set
208 {
209 _ints[12] = value;
210 }
211 }

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

◆ DefaultLV

int Card.DefaultLV
get

Definition at line 1946 of file Card.cs.

Referenced by Create().

◆ DefaultMaterial

virtual SourceMaterial.Row Card.DefaultMaterial
get

Definition at line 2357 of file Card.cs.

Referenced by SerializedCards.Add().

◆ DEX

int Card.DEX
get

◆ dir

◆ disableAutoToggle

bool Card.disableAutoToggle
getset

Definition at line 585 of file Card.cs.

586 {
587 get
588 {
589 return _bits1[15];
590 }
591 set
592 {
593 _bits1[15] = value;
594 }
595 }

Referenced by Trait.TrySetToggleAct().

◆ DMG

int Card.DMG
get

Definition at line 2267 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ DV

virtual int Card.DV
get

Definition at line 2261 of file Card.cs.

Referenced by Thing.GetName().

◆ DyeMat

◆ encLV

◆ END

int Card.END
get

Definition at line 2273 of file Card.cs.

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

◆ ExistsOnMap

◆ exp

int Card.exp
getset

Definition at line 381 of file Card.cs.

382 {
383 get
384 {
385 return _ints[26];
386 }
387 set
388 {
389 _ints[26] = value;
390 }
391 }

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

◆ ExpToNext

int Card.ExpToNext
get

◆ FameLv

int Card.FameLv
get

Definition at line 2233 of file Card.cs.

2234 {
2235 get
2236 {
2237 if (!IsPC)
2238 {
2239 return LV;
2240 }
2241 return EClass.player.fame / 100 + 1;
2242 }
2243 }

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

◆ feat

int Card.feat
getset

Definition at line 357 of file Card.cs.

358 {
359 get
360 {
361 return _ints[24];
362 }
363 set
364 {
365 _ints[24] = value;
366 }
367 }

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

2052 {
2053 get
2054 {
2055 if (Tiles.Length == 1)
2056 {
2057 return dir % 2 == 1;
2058 }
2059 return false;
2060 }
2061 }
virtual int[] Tiles
Definition: Card.cs:2245

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

◆ freePos

bool Card.freePos
getset

Definition at line 501 of file Card.cs.

502 {
503 get
504 {
505 return _bits1[8];
506 }
507 set
508 {
509 _bits1[8] = value;
510 }
511 }

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

◆ fx

float Card.fx
getset

Definition at line 237 of file Card.cs.

238 {
239 get
240 {
241 return 0.001f * (float)_ints[15];
242 }
243 set
244 {
245 _ints[15] = (int)(value * 1000f);
246 }
247 }

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

◆ fy

float Card.fy
getset

Definition at line 249 of file Card.cs.

250 {
251 get
252 {
253 return 0.001f * (float)_ints[16];
254 }
255 set
256 {
257 _ints[16] = (int)(value * 1000f);
258 }
259 }

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

◆ H

int Card.H
get

Definition at line 2301 of file Card.cs.

2302 {
2303 get
2304 {
2305 if (dir % 2 != 0)
2306 {
2307 return sourceCard.W;
2308 }
2309 return sourceCard.H;
2310 }
2311 }

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

◆ HasContainerSize

bool Card.HasContainerSize
get

Definition at line 2343 of file Card.cs.

◆ HasHost

virtual bool Card.HasHost
get

◆ hasSpawned

bool Card.hasSpawned
getset

Definition at line 885 of file Card.cs.

886 {
887 get
888 {
889 return _bits2[8];
890 }
891 set
892 {
893 _bits2[8] = value;
894 }
895 }

Referenced by Zone.AddCard().

◆ HIT

int Card.HIT
get

Definition at line 2265 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ HostRenderer

CardRenderer Card.HostRenderer
get

Definition at line 2377 of file Card.cs.

2378 {
2379 get
2380 {
2381 if (!isChara || Chara.host == null)
2382 {
2383 return renderer;
2384 }
2385 return Chara.host.renderer;
2386 }
2387 }

Referenced by AI_Idle.Run().

◆ hp

◆ idMaterial

int Card.idMaterial
getset

Definition at line 129 of file Card.cs.

130 {
131 get
132 {
133 return _ints[4];
134 }
135 set
136 {
137 _ints[4] = value;
138 }
139 }

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

◆ idSkin

int Card.idSkin
getset

◆ ignoreAutoPick

bool Card.ignoreAutoPick
getset

Definition at line 489 of file Card.cs.

490 {
491 get
492 {
493 return _bits1[7];
494 }
495 set
496 {
497 _bits1[7] = value;
498 }
499 }

Referenced by ActPlan._Update().

◆ ignoreStackHeight

bool Card.ignoreStackHeight
getset

Definition at line 621 of file Card.cs.

622 {
623 get
624 {
625 return _bits1[18];
626 }
627 set
628 {
629 _bits1[18] = value;
630 }
631 }

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

◆ InspectName

string Card.InspectName
get

Implements IInspect.

Definition at line 2417 of file Card.cs.

◆ InspectPoint

Point Card.InspectPoint
get

Implements IInspect.

Definition at line 2419 of file Card.cs.

◆ InspectPosition

Vector3 Card.InspectPosition
get

Implements IInspect.

Definition at line 2421 of file Card.cs.

◆ INT

int Card.INT
get

Definition at line 2285 of file Card.cs.

◆ invX

int Card.invX
getset

Definition at line 1878 of file Card.cs.

1879 {
1880 get
1881 {
1882 return pos.x;
1883 }
1884 set
1885 {
1886 pos.x = value;
1887 }
1888 }

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

670 {
671 get
672 {
673 return _bits1[22];
674 }
675 set
676 {
677 _bits1[22] = value;
678 }
679 }

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

◆ IsAgent

bool Card.IsAgent
get

◆ IsAliveInCurrentZone

◆ IsAmmo

◆ isBackerContent

bool Card.isBackerContent
get

Definition at line 897 of file Card.cs.

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

◆ IsBlessed

bool Card.IsBlessed
get

Definition at line 2189 of file Card.cs.

Referenced by TraitDrink.BlendLove(), TraitDrink.BlendPoison(), and TraitWell.OnBlend().

◆ isBroken

bool Card.isBroken
getset

Definition at line 717 of file Card.cs.

718 {
719 get
720 {
721 return _bits1[26];
722 }
723 set
724 {
725 _bits1[26] = value;
726 }
727 }

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

◆ isCensored

bool Card.isCensored
getset

Definition at line 417 of file Card.cs.

418 {
419 get
420 {
421 return _bits1[1];
422 }
423 set
424 {
425 _bits1[1] = value;
426 }
427 }

Referenced by CardRenderer.OnEnterScreen().

◆ isChara

virtual bool Card.isChara
get

◆ IsContainer

◆ isCopy

bool Card.isCopy
getset

Definition at line 861 of file Card.cs.

862 {
863 get
864 {
865 return _bits2[6];
866 }
867 set
868 {
869 _bits2[6] = value;
870 }
871 }

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

778 {
779 get
780 {
781 return _bits1[31];
782 }
783 set
784 {
785 _bits1[31] = value;
786 }
787 }

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

◆ IsCursed

bool Card.IsCursed
get

◆ IsDeadOrSleeping

virtual bool Card.IsDeadOrSleeping
get

Definition at line 2045 of file Card.cs.

Referenced by CardRenderer.Draw().

◆ IsDecayed

◆ isDeconstructing

bool Card.isDeconstructing
getset

Definition at line 429 of file Card.cs.

430 {
431 get
432 {
433 return _bits1[2];
434 }
435 set
436 {
437 _bits1[2] = value;
438 }
439 }

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

◆ IsDisabled

virtual bool Card.IsDisabled
get

Definition at line 2047 of file Card.cs.

◆ isDyed

bool Card.isDyed
getset

Definition at line 441 of file Card.cs.

442 {
443 get
444 {
445 return _bits1[3];
446 }
447 set
448 {
449 _bits1[3] = value;
450 }
451 }

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

◆ isElemental

bool Card.isElemental
getset

Definition at line 705 of file Card.cs.

706 {
707 get
708 {
709 return _bits1[25];
710 }
711 set
712 {
713 _bits1[25] = value;
714 }
715 }

◆ IsEquipment

◆ IsEquipmentOrRanged

bool Card.IsEquipmentOrRanged
get

Definition at line 2153 of file Card.cs.

2154 {
2155 get
2156 {
2157 if (category.slot == 0)
2158 {
2159 return IsRangedWeapon;
2160 }
2161 return true;
2162 }
2163 }

Referenced by Chara.GiveGift(), SpawnLoot(), Chara.TryTakeSharedItems(), and Chara.TryUse().

◆ IsEquipmentOrRangedOrAmmo

bool Card.IsEquipmentOrRangedOrAmmo
get

Definition at line 2165 of file Card.cs.

2166 {
2167 get
2168 {
2169 if (category.slot == 0 && !IsRangedWeapon)
2170 {
2171 return IsAmmo;
2172 }
2173 return true;
2174 }
2175 }

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

◆ isFireproof

bool Card.isFireproof
getset

Definition at line 657 of file Card.cs.

658 {
659 get
660 {
661 return _bits1[21];
662 }
663 set
664 {
665 _bits1[21] = value;
666 }
667 }

◆ isFloating

bool Card.isFloating
getset

Definition at line 633 of file Card.cs.

634 {
635 get
636 {
637 return _bits1[19];
638 }
639 set
640 {
641 _bits1[19] = value;
642 }
643 }

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

◆ IsFood

◆ IsFresn

bool Card.IsFresn
get

Definition at line 2227 of file Card.cs.

◆ IsFurniture

bool Card.IsFurniture
get

◆ isGifted

bool Card.isGifted
getset

Definition at line 765 of file Card.cs.

766 {
767 get
768 {
769 return _bits1[30];
770 }
771 set
772 {
773 _bits1[30] = value;
774 }
775 }

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

◆ isHidden

◆ IsHotItem

◆ IsIdentified

◆ IsImportant

bool Card.IsImportant
get

Definition at line 2041 of file Card.cs.

◆ isImported

bool Card.isImported
getset

Definition at line 597 of file Card.cs.

598 {
599 get
600 {
601 return _bits1[16];
602 }
603 set
604 {
605 _bits1[16] = value;
606 }
607 }

◆ IsInheritFoodTraits

bool Card.IsInheritFoodTraits
get

Definition at line 2113 of file Card.cs.

2114 {
2115 get
2116 {
2117 if (!IsFood && !category.IsChildOf("seed") && !category.IsChildOf("drink") && !(id == "pasture"))
2118 {
2119 return id == "grass";
2120 }
2121 return true;
2122 }
2123 }

◆ IsInstalled

bool Card.IsInstalled
get

Definition at line 2317 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(), 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(), 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(), and ActionMode.UpdateInput().

◆ isLeashed

bool Card.isLeashed
getset

Definition at line 825 of file Card.cs.

826 {
827 get
828 {
829 return _bits2[3];
830 }
831 set
832 {
833 _bits2[3] = value;
834 }
835 }

Referenced by Chara._Move().

◆ IsLightsource

bool Card.IsLightsource
get

Definition at line 2107 of file Card.cs.

◆ isLostProperty

bool Card.isLostProperty
getset

Definition at line 789 of file Card.cs.

790 {
791 get
792 {
793 return _bits2[0];
794 }
795 set
796 {
797 _bits2[0] = value;
798 }
799 }

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

◆ IsMale

bool Card.IsMale
get

Definition at line 2319 of file Card.cs.

2320 {
2321 get
2322 {
2323 if (bio != null)
2324 {
2325 return bio.gender == 2;
2326 }
2327 return false;
2328 }
2329 }

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

◆ isMasked

◆ IsMeleeWeapon

bool Card.IsMeleeWeapon
get

◆ IsMinion

virtual bool Card.IsMinion
get

Definition at line 2087 of file Card.cs.

◆ isModified

bool Card.isModified
getset

Definition at line 453 of file Card.cs.

454 {
455 get
456 {
457 return _bits1[4];
458 }
459 set
460 {
461 _bits1[4] = value;
462 }
463 }

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

◆ IsMoving

virtual bool Card.IsMoving
get

Definition at line 2049 of file Card.cs.

◆ IsMultisize

virtual bool Card.IsMultisize
get

Definition at line 2093 of file Card.cs.

2094 {
2095 get
2096 {
2098 {
2099 return IsInstalled;
2100 }
2101 return false;
2102 }
2103 }
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 2331 of file Card.cs.

2332 {
2333 get
2334 {
2335 if (!HasTag(CTAG.neg))
2336 {
2337 return blessedState <= BlessedState.Cursed;
2338 }
2339 return true;
2340 }
2341 }

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

◆ isNew

bool Card.isNew
getset

Definition at line 465 of file Card.cs.

466 {
467 get
468 {
469 return _bits1[5];
470 }
471 set
472 {
473 _bits1[5] = value;
474 }
475 }

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

◆ isNPCProperty

◆ isOn

◆ IsPC

◆ IsPCC

virtual bool Card.IsPCC
get

Definition at line 2083 of file Card.cs.

Referenced by CardRenderer.GetPref().

◆ IsPCFaction

◆ IsPCFactionMinion

virtual bool Card.IsPCFactionMinion
get

Definition at line 2091 of file Card.cs.

Referenced by Chara.GoHostile().

◆ IsPCFactionOrMinion

◆ IsPCParty

◆ IsPCPartyMinion

virtual bool Card.IsPCPartyMinion
get

Definition at line 2089 of file Card.cs.

◆ isPlayerCreation

bool Card.isPlayerCreation
getset

Definition at line 477 of file Card.cs.

478 {
479 get
480 {
481 return _bits1[6];
482 }
483 set
484 {
485 _bits1[6] = value;
486 }
487 }

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

◆ IsPowerful

bool Card.IsPowerful
get

Definition at line 2029 of file Card.cs.

2030 {
2031 get
2032 {
2033 if (rarity >= Rarity.Legendary || trait is TraitAdventurer)
2034 {
2035 return !IsPCFaction;
2036 }
2037 return false;
2038 }
2039 }

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

◆ IsRangedWeapon

◆ isReplica

bool Card.isReplica
getset

Definition at line 681 of file Card.cs.

682 {
683 get
684 {
685 return _bits1[23];
686 }
687 set
688 {
689 _bits1[23] = value;
690 }
691 }

Referenced by SetReplica(), and InvOwnerReconstruction.ShouldShowGuide().

◆ isRestocking

bool Card.isRestocking
getset

Definition at line 873 of file Card.cs.

874 {
875 get
876 {
877 return _bits2[7];
878 }
879 set
880 {
881 _bits2[7] = value;
882 }
883 }

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

◆ isRestrained

◆ IsRestrainedResident

bool Card.IsRestrainedResident
get

Definition at line 2193 of file Card.cs.

2194 {
2195 get
2196 {
2197 if (isRestrained)
2198 {
2199 return IsPCFaction;
2200 }
2201 return false;
2202 }
2203 }

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

◆ isRoofItem

bool Card.isRoofItem
getset

Definition at line 561 of file Card.cs.

562 {
563 get
564 {
565 return _bits1[13];
566 }
567 set
568 {
569 _bits1[13] = value;
570 }
571 }

Referenced by TraitDoor.CanClose(), CardRenderer.Draw(), BaseTileMap.DrawTile(), Point.ListCards(), Point.ListThings< T >(), Point.ListVisibleCards(), AM_MoveInstalled.OnProcessTiles(), SetPlaceState(), and PointTarget.ShouldIgnore().

◆ IsRotting

bool Card.IsRotting
get

Definition at line 2225 of file Card.cs.

Referenced by ButtonGrid.SetCard().

◆ isSale

bool Card.isSale
getset

Definition at line 849 of file Card.cs.

850 {
851 get
852 {
853 return _bits2[5];
854 }
855 set
856 {
857 _bits2[5] = value;
858 }
859 }

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

◆ isStolen

bool Card.isStolen
getset

Definition at line 837 of file Card.cs.

838 {
839 get
840 {
841 return _bits2[4];
842 }
843 set
844 {
845 _bits2[4] = value;
846 }
847 }

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

◆ isSubsetCard

bool Card.isSubsetCard
getset

Definition at line 729 of file Card.cs.

730 {
731 get
732 {
733 return _bits1[27];
734 }
735 set
736 {
737 _bits1[27] = value;
738 }
739 }

Referenced by Zone.UpdateQuests().

◆ isSummon

bool Card.isSummon
getset

Definition at line 693 of file Card.cs.

694 {
695 get
696 {
697 return _bits1[24];
698 }
699 set
700 {
701 _bits1[24] = value;
702 }
703 }

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

◆ isSynced

virtual bool Card.isSynced
get

◆ isThing

◆ IsThrownWeapon

bool Card.IsThrownWeapon
get

◆ IsToolbelt

bool Card.IsToolbelt
get

Definition at line 2105 of file Card.cs.

Referenced by ActEffect.Proc().

◆ IsUnique

◆ IsVariation

bool Card.IsVariation
get

Definition at line 2259 of file Card.cs.

◆ IsWeapon

bool Card.IsWeapon
get

Definition at line 2141 of file Card.cs.

2142 {
2143 get
2144 {
2145 if (!IsMeleeWeapon)
2146 {
2147 return IsRangedWeapon;
2148 }
2149 return true;
2150 }
2151 }
bool IsMeleeWeapon
Definition: Card.cs:2177

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

◆ isWeightChanged

bool Card.isWeightChanged
getset

Definition at line 645 of file Card.cs.

646 {
647 get
648 {
649 return _bits1[20];
650 }
651 set
652 {
653 _bits1[20] = value;
654 }
655 }

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

◆ LER

int Card.LER
get

Definition at line 2277 of file Card.cs.

◆ LightColor

Color Card.LightColor
get

Definition at line 1080 of file Card.cs.

Referenced by ActPlan._Update().

◆ LightData

LightData Card.LightData
get

Definition at line 2365 of file Card.cs.

2366 {
2367 get
2368 {
2369 if (_LightData == null)
2370 {
2371 return _LightData = ((!sourceCard.lightData.IsEmpty()) ? EClass.Colors.lightColors[sourceCard.lightData] : null);
2372 }
2373 return _LightData;
2374 }
2375 }
string lightData
Definition: CardRow.cs:13
LightData _LightData
Definition: Card.cs:93
UD_String_LightData lightColors

Referenced by ActPlan._Update().

◆ LUC

int Card.LUC
get

Definition at line 2287 of file Card.cs.

◆ LV

int Card.LV
getset

Definition at line 369 of file Card.cs.

370 {
371 get
372 {
373 return _ints[25];
374 }
375 set
376 {
377 _ints[25] = value;
378 }
379 }

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(), FactionBranch.GetResidentTax(), ActThrow.GetText(), GetTotalQuality(), TaskHarvest.HarvestThing(), LevelUp(), 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(), and Chara.TryIdentify().

◆ MAG

int Card.MAG
get

Definition at line 2281 of file Card.cs.

◆ material

◆ MaxDecay

virtual int Card.MaxDecay
get

Definition at line 2221 of file Card.cs.

◆ MaxHP

virtual int Card.MaxHP
get

Definition at line 2229 of file Card.cs.

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

◆ Name

string Card.Name
get

Definition at line 2073 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(), HomeResourceWorth.WriteNote(), EloPos.WriteNote(), and TraitBookSkill.WriteNote().

◆ NameOne

string Card.NameOne
get

Definition at line 2077 of file Card.cs.

Referenced by BuildMenu._Search().

◆ NameSimple

◆ noMove

bool Card.noMove
getset

◆ noSell

bool Card.noSell
getset

Definition at line 813 of file Card.cs.

814 {
815 get
816 {
817 return _bits2[2];
818 }
819 set
820 {
821 _bits2[2] = value;
822 }
823 }

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

◆ noShadow

bool Card.noShadow
getset

Definition at line 801 of file Card.cs.

802 {
803 get
804 {
805 return _bits2[1];
806 }
807 set
808 {
809 _bits2[1] = value;
810 }
811 }

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

◆ noSnow

bool Card.noSnow
getset

Definition at line 741 of file Card.cs.

742 {
743 get
744 {
745 return _bits1[28];
746 }
747 set
748 {
749 _bits1[28] = value;
750 }
751 }

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

◆ Num

int Card.Num
getset

Definition at line 153 of file Card.cs.

154 {
155 get
156 {
157 return _ints[6];
158 }
159 set
160 {
161 _ints[6] = value;
162 }
163 }

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

◆ PER

int Card.PER
get

Definition at line 2275 of file Card.cs.

◆ posInvX

int Card.posInvX
getset

Definition at line 321 of file Card.cs.

322 {
323 get
324 {
325 return _ints[21];
326 }
327 set
328 {
329 _ints[21] = value;
330 }
331 }

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

◆ posInvY

int Card.posInvY
getset

Definition at line 333 of file Card.cs.

334 {
335 get
336 {
337 return _ints[22];
338 }
339 set
340 {
341 _ints[22] = value;
342 }
343 }

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

◆ Power

virtual int Card.Power
get

Definition at line 2231 of file Card.cs.

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

◆ Pref

◆ PrefIndex

virtual int Card.PrefIndex
get

Definition at line 2247 of file Card.cs.

2248 {
2249 get
2250 {
2251 if (Tiles.Length < 3)
2252 {
2253 return dir % 2;
2254 }
2255 return dir;
2256 }
2257 }

Referenced by CardRenderer.Draw().

◆ PV

virtual int Card.PV
get

Definition at line 2263 of file Card.cs.

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

◆ Quality

int Card.Quality
get

Definition at line 2361 of file Card.cs.

Referenced by GetTotalQuality().

◆ QualityLv

int Card.QualityLv
get

Definition at line 2363 of file Card.cs.

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

◆ rarity

◆ rarityLv

int Card.rarityLv
getset

Definition at line 285 of file Card.cs.

286 {
287 get
288 {
289 return _ints[19];
290 }
291 set
292 {
293 _ints[19] = value;
294 }
295 }

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

◆ refCard

CardRow Card.refCard
get

Definition at line 1902 of file Card.cs.

1903 {
1904 get
1905 {
1906 object obj;
1907 if (!c_idRefCard.IsEmpty())
1908 {
1909 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard);
1910 if (obj == null)
1911 {
1912 return EClass.sources.cards.map["ash3"];
1913 }
1914 }
1915 else
1916 {
1917 obj = null;
1918 }
1919 return (CardRow)obj;
1920 }
1921 }

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

◆ refCard2

CardRow Card.refCard2
get

Definition at line 1923 of file Card.cs.

1924 {
1925 get
1926 {
1927 object obj;
1928 if (!c_idRefCard2.IsEmpty())
1929 {
1930 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard2);
1931 if (obj == null)
1932 {
1933 return EClass.sources.cards.map["ash3"];
1934 }
1935 }
1936 else
1937 {
1938 obj = null;
1939 }
1940 return (CardRow)obj;
1941 }
1942 }

◆ refVal

◆ SelfWeight

virtual int Card.SelfWeight
get

Definition at line 1981 of file Card.cs.

Referenced by AI_Eat.Run().

◆ ShouldShowMsg

bool Card.ShouldShowMsg
get

Definition at line 2389 of file Card.cs.

2390 {
2391 get
2392 {
2393 if (IsPC || parent == EClass.pc || isSynced)
2394 {
2395 if (isChara)
2396 {
2397 return !Chara.isDead;
2398 }
2399 return true;
2400 }
2401 return false;
2402 }
2403 }
bool isDead
Definition: Chara.cs:385

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

◆ ShowFoodEnc

bool Card.ShowFoodEnc
get

Definition at line 2125 of file Card.cs.

2126 {
2127 get
2128 {
2130 {
2131 if (Evalue(10) > 0)
2132 {
2134 }
2135 return false;
2136 }
2137 return true;
2138 }
2139 }
bool IsInheritFoodTraits
Definition: Card.cs:2114

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

◆ socketList

List<SocketData> Card.socketList
getset

Definition at line 1756 of file Card.cs.

1757 {
1758 get
1759 {
1760 return GetObj<List<SocketData>>(17);
1761 }
1762 set
1763 {
1764 SetObj(17, value);
1765 }
1766 }

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

◆ sourceBacker

SourceBacker.Row Card.sourceBacker
get

Definition at line 899 of file Card.cs.

900 {
901 get
902 {
903 if (!isBackerContent)
904 {
905 return null;
906 }
907 return EClass.sources.backers.map.TryGetValue(c_idBacker);
908 }
909 }

◆ sourceCard

◆ sourceRenderCard

virtual CardRow Card.sourceRenderCard
get

◆ STR

int Card.STR
get

Definition at line 2269 of file Card.cs.

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

◆ TextRarity

string Card.TextRarity
get

Definition at line 2315 of file Card.cs.

◆ Thing

virtual Thing Card.Thing
get

Definition at line 1993 of file Card.cs.

1994 {
1995 get
1996 {
1997 if (!isThing)
1998 {
1999 return null;
2000 }
2001 return (Thing)this;
2002 }
2003 }

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 >(), TraitCanvas.TrySetAct(), TraitCrafter.TrySetAct(), TraitSeed.TrySprout(), TraitFoodEgg.Update(), and UIDragGridIngredients.Update().

◆ tier

int Card.tier
getset

Definition at line 393 of file Card.cs.

394 {
395 get
396 {
397 return _ints[27];
398 }
399 set
400 {
401 _ints[27] = value;
402 }
403 }

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

◆ Tiles

virtual int [] Card.Tiles
get

Definition at line 2245 of file Card.cs.

◆ TileType

◆ Tool

◆ uid

int Card.uid
getset

Definition at line 117 of file Card.cs.

118 {
119 get
120 {
121 return _ints[1];
122 }
123 set
124 {
125 _ints[1] = value;
126 }
127 }

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(), GuildFighter.HasBounty(), TraitBed.IsHolder(), TraitShackle.IsRestraining(), UICharaMaker.ListJob(), UICharaMaker.ListRace(), Chara.MakeMinion(), TraitTeleporter.OnChangePlaceState(), BaseListPeople.OnClick(), ListPeopleExpedition.OnClick(), Player.OnCreateGame(), QuestDeliver.OnEnterZone(), ZoneEventSiege.OnFirstTick(), Game.OnGameInstantiated(), ListPeopleExpedition.OnList(), ConSleep.OnRemoved(), Chara.OnSerializing(), QuestEscort.OnStart(), TraitGeneMachine.OnUse(), 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(), Msg.TalkMaid(), ActThrow.Throw(), ConSleep.Tick(), and Thing.TryLickEnchant().

◆ version

int Card.version
getset

Definition at line 405 of file Card.cs.

406 {
407 get
408 {
409 return _ints[29];
410 }
411 set
412 {
413 _ints[29] = value;
414 }
415 }

Referenced by _OnSerializing().

◆ visitorState

VisitorState Card.visitorState
getset

Definition at line 1168 of file Card.cs.

1169 {
1170 get
1171 {
1172 return GetInt(4).ToEnum<VisitorState>();
1173 }
1174 set
1175 {
1176 SetInt(4, (int)value);
1177 }
1178 }
VisitorState
Definition: VisitorState.cs:2

◆ W

int Card.W
get

Definition at line 2289 of file Card.cs.

2290 {
2291 get
2292 {
2293 if (dir % 2 != 0)
2294 {
2295 return sourceCard.H;
2296 }
2297 return sourceCard.W;
2298 }
2299 }

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

◆ WeightLimit

virtual int Card.WeightLimit
get

Definition at line 1983 of file Card.cs.

Referenced by UICurrency.Build().

◆ WIL

int Card.WIL
get

Definition at line 2279 of file Card.cs.

Referenced by AttackProcess.Prepare().


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