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

Public Types

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

Public Member Functions

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

Static Public Member Functions

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

Public Attributes

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

Static Public Attributes

const int MaxWeight = 10000000
 
const int SocketDiv = 1000
 
- 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_lockedAge [get, set]
 
int c_containerSize [get, set]
 
int c_weight [get, set]
 
int c_diceDim [get, set]
 
int c_indexContainerIcon [get, set]
 
int c_idMainElement [get, set]
 
int c_summonDuration [get, set]
 
int c_idBacker [get, set]
 
int c_uidMaster [get, set]
 
int c_ammo [get, set]
 
int c_daysWithGod [get, set]
 
int c_daysWithPC [get, set]
 
string c_idPortrait [get, set]
 
string c_idRace [get, set]
 
string c_idJob [get, set]
 
string c_idTone [get, set]
 
string c_color [get, set]
 
string c_idSpriteReplacer [get, set]
 
string c_idTalk [get, set]
 
string c_idDeity [get, set]
 
string c_altName [get, set]
 
string c_altName2 [get, set]
 
string c_extraNameRef [get, set]
 
string c_refText [get, set]
 
string c_idRefName [get, set]
 
string c_idRidePCC [get, set]
 
string c_idAbility [get, set]
 
string c_context [get, set]
 
string c_idEditor [get, set]
 
string c_editorTags [get, set]
 
string c_editorTraitVal [get, set]
 
string c_idTrait [get, set]
 
string c_idRefCard [get, set]
 
string c_idRefCard2 [get, set]
 
string c_note [get, set]
 
UniqueData c_uniqueData [get, set]
 
Thing ammoData [get, set]
 
List< SocketDatasocketList [get, set]
 
Thing c_copyContainer [get, set]
 
Window.SaveData c_windowSaveData [get, set]
 
CharaUpgrade c_upgrades [get, set]
 
CharaGenes c_genes [get, set]
 
List< int > c_corruptionHistory [get, set]
 
ContainerUpgrade c_containerUpgrade [get, set]
 
DNA c_DNA [get, set]
 
CharaList c_charaList [get, set]
 
MixedFoodData c_mixedFoodData [get, set]
 
byte[] c_textureData [get, set]
 
SourceMaterial.Row DyeMat [get]
 
int invX [get, set]
 
int invY [get, set]
 
CardRow refCard [get]
 
CardRow refCard2 [get]
 
int ExpToNext [get]
 
int DefaultLV [get]
 
int ChildrenWeight [get]
 
int ChildrenAndSelfWeight [get]
 
int ChildrenAndSelfWeightSingle [get]
 
virtual int SelfWeight [get]
 
virtual int WeightLimit [get]
 
SourceCategory.Row category [get]
 
SourceMaterial.Row material [get]
 
virtual string AliasMaterialOnCreate [get]
 
Cell Cell [get]
 
virtual Thing Thing [get]
 
virtual Chara Chara [get]
 
virtual bool isThing [get]
 
virtual bool isChara [get]
 
bool ExistsOnMap [get]
 
virtual bool isSynced [get]
 
bool IsContainer [get]
 
bool IsUnique [get]
 
bool IsPowerful [get]
 
bool IsImportant [get]
 
virtual SourcePref Pref [get]
 
virtual bool IsDeadOrSleeping [get]
 
virtual bool IsDisabled [get]
 
virtual bool IsMoving [get]
 
virtual bool flipX [get]
 
virtual bool IsAliveInCurrentZone [get]
 
virtual string actorPrefab [get]
 
virtual CardRow sourceCard [get]
 
virtual CardRow sourceRenderCard [get]
 
TileType TileType [get]
 
string Name [get]
 
string NameSimple [get]
 
string NameOne [get]
 
virtual bool IsPC [get]
 
bool _IsPC [get]
 
virtual bool IsPCC [get]
 
virtual bool IsPCParty [get]
 
virtual bool IsMinion [get]
 
virtual bool IsPCPartyMinion [get]
 
virtual bool IsPCFactionMinion [get]
 
virtual bool IsMultisize [get]
 
bool IsToolbelt [get]
 
bool IsLightsource [get]
 
bool IsEquipment [get]
 
bool IsFood [get]
 
bool IsInheritFoodTraits [get]
 
bool ShowFoodEnc [get]
 
bool IsWeapon [get]
 
bool IsEquipmentOrRanged [get]
 
bool IsEquipmentOrRangedOrAmmo [get]
 
bool IsMeleeWeapon [get]
 
bool IsRangedWeapon [get]
 
bool IsThrownWeapon [get]
 
bool IsAmmo [get]
 
bool IsAgent [get]
 
bool IsFurniture [get]
 
bool IsBlessed [get]
 
bool IsCursed [get]
 
bool IsRestrainedResident [get]
 
virtual bool IsPCFaction [get]
 
bool IsPCFactionOrMinion [get]
 
virtual bool IsGlobal [get]
 
virtual int MaxDecay [get]
 
bool IsDecayed [get]
 
bool IsRotting [get]
 
bool IsFresn [get]
 
virtual int MaxHP [get]
 
virtual int Power [get]
 
int FameLv [get]
 
virtual int[] Tiles [get]
 
virtual int PrefIndex [get]
 
bool IsVariation [get]
 
virtual int DV [get]
 
virtual int PV [get]
 
int HIT [get]
 
int DMG [get]
 
int STR [get]
 
int DEX [get]
 
int END [get]
 
int PER [get]
 
int LER [get]
 
int WIL [get]
 
int MAG [get]
 
int CHA [get]
 
int INT [get]
 
int LUC [get]
 
int W [get]
 
int H [get]
 
bool IsIdentified [get]
 
string TextRarity [get]
 
bool IsInstalled [get]
 
bool IsMale [get]
 
bool IsNegativeGift [get]
 
bool HasContainerSize [get]
 
Thing Tool [get]
 
virtual SourceMaterial.Row DefaultMaterial [get]
 
virtual bool HasHost [get]
 
int Quality [get]
 
int QualityLv [get]
 
LightData LightData [get]
 
CardRenderer HostRenderer [get]
 
bool ShouldShowMsg [get]
 
bool CanInspect [get]
 
string InspectName [get]
 
Point InspectPoint [get]
 
Vector3 InspectPosition [get]
 
- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 
- Properties inherited from IInspect
bool CanInspect [get]
 
string InspectName [get]
 
Point InspectPoint [get]
 
Vector3 InspectPosition [get]
 

Private Member Functions

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

Private Attributes

int _childrenWeight
 
SourceCategory.Row _category
 
LightData _LightData
 
Sprite _paintSprite
 

Static Private Attributes

static Color _randColor
 

Detailed Description

Definition at line 10 of file Card.cs.

Member Enumeration Documentation

◆ MoveResult

Enumerator
Fail 
Success 
Door 

Definition at line 12 of file Card.cs.

◆ MoveType

Enumerator
Walk 
Force 

Definition at line 19 of file Card.cs.

20 {
21 Walk,
22 Force
23 }

Member Function Documentation

◆ _CreateRenderer()

virtual CardRenderer Card._CreateRenderer ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 5757 of file Card.cs.

5758 {
5759 renderer = new CardRenderer();
5760 renderer.SetOwner(this);
5761 return renderer;
5762 }
virtual void SetOwner(Card c)
Definition: CardRenderer.cs:38
CardRenderer renderer
Definition: Card.cs:59

References CardRenderer.SetOwner().

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

◆ _Move()

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

Reimplemented in Chara.

Definition at line 5628 of file Card.cs.

5629 {
5630 EClass._map.MoveCard(p, this);
5631 if (isChara)
5632 {
5633 Chara.SyncRide();
5634 }
5635 return MoveResult.Success;
5636 }
MoveResult
Definition: Card.cs:13
virtual bool isChara
Definition: Card.cs:2045
Definition: Chara.cs:10
void SyncRide()
Definition: Chara.cs:3826
Definition: EClass.cs:5
static Map _map
Definition: EClass.cs:18
void MoveCard(Point p, Card t)
Definition: Map.cs:841

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

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

◆ _OnDeserialized()

void Card._OnDeserialized ( StreamingContext  context)
inlineprivate

Definition at line 2654 of file Card.cs.

2655 {
2656 if (version < 2)
2657 {
2658 if (sockets != null)
2659 {
2660 for (int i = 0; i < sockets.Count; i++)
2661 {
2662 sockets[i] = sockets[i] / 100 * 1000 + sockets[i] % 100;
2663 }
2664 }
2665 version = 2;
2666 }
2667 _bits1.SetInt(_ints[0]);
2668 _bits2.SetInt(_ints[2]);
2670 pos.Set(_x, _z);
2671 SetSource();
2672 things.SetOwner(this);
2673 elements.SetOwner(this, applyFeat: false);
2675 ApplyTrait();
2676 ApplyMaterialElements(remove: false);
2678 foreach (Thing thing in things)
2679 {
2680 thing.parent = this;
2681 }
2682 if (isThing && Num <= 0)
2683 {
2684 isDestroyed = true;
2685 }
2686 }
bool isDestroyed
Definition: Card.cs:73
BitArray32 _bits1
Definition: Card.cs:77
virtual bool isThing
Definition: Card.cs:2043
int version
Definition: Card.cs:408
virtual void ApplyMaterialElements(bool remove)
Definition: Card.cs:2985
ElementContainerCard elements
Definition: Card.cs:39
virtual void SetSource()
Definition: Card.cs:2808
BitArray32 _bits2
Definition: Card.cs:79
virtual CardRenderer _CreateRenderer()
Definition: Card.cs:5757
PlaceState placeState
Definition: Card.cs:81
Point pos
Definition: Card.cs:57
virtual void OnDeserialized()
Definition: Card.cs:2688
int[] _ints
Definition: Card.cs:30
void ApplyTrait()
Definition: Card.cs:2837
ThingContainer things
Definition: Card.cs:36
int _z
Definition: Card.cs:180
PlaceState _placeState
Definition: Card.cs:276
int Num
Definition: Card.cs:156
int _x
Definition: Card.cs:168
List< int > sockets
Definition: Card.cs:45
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(), sockets, things, and version.

◆ _OnSerializing()

void Card._OnSerializing ( StreamingContext  context)
inlineprivate

Definition at line 2638 of file Card.cs.

2639 {
2640 _x = pos.x;
2641 _z = pos.z;
2642 _ints[0] = _bits1.ToInt();
2643 _ints[2] = _bits2.ToInt();
2645 version = 2;
2646 OnSerializing();
2647 }
virtual void OnSerializing()
Definition: Card.cs:2649
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

Definition at line 3034 of file Card.cs.

3035 {
3036 if (num == 0)
3037 {
3038 num = 1;
3039 }
3040 return AddCard(ThingGen.Create(id, -1, lv).SetNum(num)) as Thing;
3041 }
Card AddCard(Card c)
Definition: Card.cs:3043
Thing SetNum(int a)
Definition: Card.cs:3393
virtual Thing Thing
Definition: Card.cs:2020
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53

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

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

◆ AddBlood()

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

Definition at line 5764 of file Card.cs.

5765 {
5766 if (!EClass._zone.IsRegion)
5767 {
5768 for (int i = 0; i < a; i++)
5769 {
5770 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);
5771 }
5772 PlaySound("blood");
5773 }
5774 }
SourceMaterial.Row material
Definition: Card.cs:2013
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5939
SourceRace.Row race
Definition: Chara.cs:462
static Zone _zone
Definition: EClass.cs:20
static int rnd(long a)
Definition: EClass.cs:58
void AddDecal(int x, int z, int id, int amount=1, bool refresh=true)
Definition: Map.cs:2029
virtual bool IsRegion
Definition: Spatial.cs:503

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

2568 {
2569 c_editorTags = (c_editorTags.IsEmpty() ? tag.ToString() : (c_editorTags + "," + tag));
2570 }
string c_editorTags
Definition: Card.cs:1675

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

2904 {
2905 a = a * GetExpMtp() / 100;
2906 exp += a;
2907 while (exp >= ExpToNext)
2908 {
2909 exp -= ExpToNext;
2910 LevelUp();
2911 }
2912 }
int ExpToNext
Definition: Card.cs:1970
void LevelUp()
Definition: Card.cs:2946
int exp
Definition: Card.cs:384
int GetExpMtp()
Definition: Card.cs:2914

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

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

◆ AddRune() [1/2]

SocketData Card.AddRune ( Card  rune)
inline

Definition at line 3496 of file Card.cs.

3497 {
3498 return AddRune(rune.refVal, rune.encLV, rune.trait is TraitRuneFree);
3499 }
SocketData AddRune(Card rune)
Definition: Card.cs:3496
int refVal
Definition: Card.cs:192
Trait trait
Definition: Card.cs:51
int encLV
Definition: Card.cs:312

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

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

◆ AddRune() [2/2]

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

Definition at line 3501 of file Card.cs.

3502 {
3503 if (socketList == null)
3504 {
3505 socketList = new List<SocketData>();
3506 }
3507 SourceElement.Row row = EClass.sources.elements.map[idEle];
3508 SocketData socketData = new SocketData
3509 {
3510 idEle = idEle,
3511 value = v,
3512 type = SocketData.Type.Rune,
3513 isFree = free
3514 };
3515 socketList.Add(socketData);
3516 if (IsWeapon || !row.IsWeaponEnc)
3517 {
3518 elements.SetTo(idEle, v);
3519 }
3520 return socketData;
3521 }
List< SocketData > socketList
Definition: Card.cs:1771
bool IsWeapon
Definition: Card.cs:2168
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 3439 of file Card.cs.

3440 {
3441 if (sockets == null)
3442 {
3443 sockets = new List<int>();
3444 }
3445 sockets.Add(0);
3446 }

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

3063 {
3064 if (t.Num == 0 || t.isDestroyed)
3065 {
3066 Debug.LogWarning("tried to add destroyed thing:" + t.Num + "/" + t.isDestroyed + "/" + t?.ToString() + "/" + this);
3067 return t;
3068 }
3069 if (t.parent == this)
3070 {
3071 Debug.LogWarning("already child:" + t);
3072 return t;
3073 }
3074 if (things.Contains(t))
3075 {
3076 Debug.Log("already in the list" + t);
3077 return t;
3078 }
3079 _ = t.parent;
3080 _ = EClass._zone;
3081 bool flag = IsPC && t.GetRootCard() == EClass.pc;
3082 if (t.parent != null)
3083 {
3084 t.parent.RemoveCard(t);
3085 }
3086 if (t.trait.ToggleType == ToggleType.Fire && destInvY == 0)
3087 {
3088 t.trait.Toggle(on: false);
3089 }
3090 t.isMasked = false;
3091 t.ignoreAutoPick = false;
3092 t.parent = this;
3093 t.noShadow = false;
3094 t.isSale = false;
3095 if (t.IsContainer)
3096 {
3097 t.RemoveEditorTag(EditorTag.PreciousContainer);
3098 }
3099 t.invX = -1;
3100 if (destInvY == -1)
3101 {
3102 t.invY = 0;
3103 }
3104 if (t.IsUnique && t.HasTag(CTAG.godArtifact) && t.GetRootCard() is Chara { IsPCFactionOrMinion: not false })
3105 {
3107 }
3108 Thing thing = (tryStack ? things.TryStack(t, destInvX, destInvY) : t);
3109 if (t == thing)
3110 {
3111 things.Add(t);
3112 things.OnAdd(t);
3113 }
3114 if (thing == t && IsPC && EClass.core.IsGameStarted && EClass._map != null && parent == EClass.game.activeZone && pos.IsValid && !flag)
3115 {
3116 NotifyAddThing(t, t.Num);
3117 }
3118 if (t == thing && isThing && parent == EClass._zone && placeState != 0)
3119 {
3121 }
3124 {
3126 LayerInventory.SetDirty(thing);
3127 }
3128 if (IsPC)
3129 {
3130 goto IL_029f;
3131 }
3132 if (IsContainer)
3133 {
3134 Card rootCard = GetRootCard();
3135 if (rootCard != null && rootCard.IsPC)
3136 {
3137 goto IL_029f;
3138 }
3139 }
3140 goto IL_0345;
3141 IL_0345:
3142 return thing;
3143 IL_029f:
3144 t.isNPCProperty = false;
3145 t.isGifted = false;
3146 int count = 0;
3147 HashSet<string> ings = EClass.player.recipes.knownIngredients;
3148 TryAdd(t);
3149 if (t.CanSearchContents)
3150 {
3151 t.things.Foreach(delegate(Thing _t)
3152 {
3153 TryAdd(_t);
3154 });
3155 }
3156 if (count > 0 && EClass.core.IsGameStarted)
3157 {
3158 Msg.Say((count == 1) ? "newIng" : "newIngs", count.ToString() ?? "");
3159 }
3160 goto IL_0345;
3161 void TryAdd(Thing a)
3162 {
3163 if (!ings.Contains(a.id))
3164 {
3165 ings.Add(a.id);
3166 count++;
3167 if (a.sourceCard.origin != null && !ings.Contains(a.sourceCard.origin.id))
3168 {
3169 ings.Add(a.sourceCard.origin.id);
3170 }
3171 }
3172 }
3173 }
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:3175
void RemoveEditorTag(EditorTag tag)
Definition: Card.cs:2572
string id
Definition: Card.cs:33
bool IsUnique
Definition: Card.cs:2053
ICardParent parent
Definition: Card.cs:53
void NotifyAddThing(Thing t, int num)
Definition: Card.cs:3053
bool HasTag(CTAG tag)
Definition: Card.cs:2557
void SetDirtyWeight()
Definition: Card.cs:2516
bool ShouldTrySetDirtyInventory()
Definition: Card.cs:3277
virtual bool IsPC
Definition: Card.cs:2105
Card GetRootCard()
Definition: Card.cs:3324
bool IsContainer
Definition: Card.cs:2051
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:248
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:1053
bool IsValid
Definition: Point.cs:88
void Add(Card t)
Definition: Props.cs:63
HashSet< string > knownIngredients
void OnAdd(Thing t)
Thing TryStack(Thing target, int destInvX=-1, int destInvY=-1)
void Foreach(Action< Thing > action, bool onlyAccessible=true)
bool CanSearchContents
Definition: Thing.cs:100
override CardRow sourceCard
Definition: Thing.cs:47
virtual void Toggle(bool on, bool silent=false)
Definition: Trait.cs:1151
virtual ToggleType ToggleType
Definition: Trait.cs:469
void RemoveCard(Card c)

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

◆ ApplyBacker()

void Card.ApplyBacker ( int  bid)
inline

Definition at line 6762 of file Card.cs.

6763 {
6764 ChangeRarity(Rarity.Normal);
6765 SourceBacker.Row row = EClass.sources.backers.map.TryGetValue(bid);
6766 if (row == null)
6767 {
6768 return;
6769 }
6770 c_idBacker = row.id;
6771 if (row.type == 4)
6772 {
6774 Chara chara = Chara;
6775 Hostility hostility2 = (Chara.c_originalHostility = Hostility.Neutral);
6776 chara.hostility = hostility2;
6777 }
6778 if (row.type == 6)
6779 {
6782 Chara.idFaith = row.deity.ToLowerInvariant();
6783 }
6784 if (row.type == 4 || row.type == 5 || row.type == 7)
6785 {
6786 idSkin = ((row.skin == 0) ? EClass.rnd(sourceCard._tiles.Length) : row.skin);
6787 if (id == "putty_snow")
6788 {
6789 idSkin = 0;
6790 }
6791 }
6792 if (bid == 164)
6793 {
6794 Chara.EQ_ID("amulet_moonnight");
6795 }
6796 }
Hostility
Definition: Hostility.cs:2
Rarity
Definition: Rarity.cs:2
void SetGender(int g)
Definition: Biography.cs:469
void SetPortrait(Chara c)
Definition: Biography.cs:478
virtual Chara Chara
Definition: Card.cs:2032
Biography bio
Definition: Card.cs:42
int c_idBacker
Definition: Card.cs:1411
int idSkin
Definition: Card.cs:348
virtual CardRow sourceCard
Definition: Card.cs:2093
virtual void ChangeRarity(Rarity q)
Definition: Card.cs:3818
Thing EQ_ID(string s, int mat=-1, Rarity r=Rarity.Random)
Definition: Chara.cs:4901
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 2812 of file Card.cs.

2813 {
2814 switch (tag)
2815 {
2816 case EditorTag.Hidden:
2817 SetHidden();
2818 break;
2819 case EditorTag.Empty:
2820 RemoveThings();
2821 break;
2822 case EditorTag.IsOn:
2823 isOn = true;
2824 break;
2825 case EditorTag.IsOff:
2826 isOn = false;
2827 break;
2828 case EditorTag.NoSnow:
2829 noSnow = true;
2830 break;
2831 case EditorTag.Boss:
2832 EClass._zone.Boss = Chara;
2833 break;
2834 }
2835 }
Card SetHidden(bool hide=true)
Definition: Card.cs:5621
bool isOn
Definition: Card.cs:528
bool noSnow
Definition: Card.cs:744
void RemoveThings()
Definition: Card.cs:3208

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

Referenced by SerializedCards.Restore().

◆ ApplyElementEffect()

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

Definition at line 4704 of file Card.cs.

4705 {
4706 if (!isChara)
4707 {
4708 return;
4709 }
4710 bool flag = true;
4711 bool hostile = false;
4712 switch (e.id)
4713 {
4714 case 910:
4715 if (Chance(30 + eleP / 5, 100))
4716 {
4717 MarkHostile().AddCondition<ConBurning>(eleP);
4718 }
4719 break;
4720 case 911:
4721 if (Chara.isWet)
4722 {
4723 if (Chance(30 + eleP / 10, 100))
4724 {
4726 }
4727 }
4728 else if (Chance(50 + eleP / 10, 100))
4729 {
4730 Chara.AddCondition<ConWet>(eleP);
4731 }
4732 break;
4733 case 912:
4734 if (Chance(75 + eleP / 20, 100) && EClass.rnd(3) == 0)
4735 {
4736 Chara.AddCondition<ConParalyze>(1, force: true);
4737 }
4738 break;
4739 case 915:
4740 if (Chance(30 + eleP / 5, 100))
4741 {
4742 MarkHostile().AddCondition<ConPoison>(eleP);
4743 }
4744 break;
4745 case 913:
4746 if (Chance(30 + eleP / 5, 100))
4747 {
4749 }
4750 break;
4751 case 918:
4752 flag = false;
4753 if (Chance(30 + eleP / 5, 100))
4754 {
4756 }
4757 break;
4758 case 914:
4759 flag = false;
4760 if (EClass.rnd(3) != 0)
4761 {
4762 if (Chance(30 + eleP / 5, 100))
4763 {
4765 }
4766 }
4767 else if (Chance(30 + eleP / 5, 100))
4768 {
4770 }
4771 break;
4772 case 917:
4773 if (Chance(50 + eleP / 10, 100))
4774 {
4775 Chara.AddCondition<ConDim>(eleP);
4776 }
4777 break;
4778 case 925:
4779 if (EClass.rnd(3) == 0)
4780 {
4781 if (Chance(30 + eleP / 5, 100))
4782 {
4783 Chara.AddCondition<ConDim>(eleP);
4784 }
4785 }
4786 else if (EClass.rnd(2) == 0)
4787 {
4788 if (EClass.rnd(3) == 0)
4789 {
4790 Chara.AddCondition<ConParalyze>(1, force: true);
4791 }
4792 }
4793 else if (EClass.rnd(2) == 0)
4794 {
4795 Chara.AddCondition<ConConfuse>(1 + EClass.rnd(3), force: true);
4796 }
4797 break;
4798 case 920:
4799 flag = false;
4800 if (Chance(5 + eleP / 25, 40))
4801 {
4802 Chara.AddCondition<ConBlind>(eleP / 2);
4803 }
4804 if (Chance(5 + eleP / 25, 40))
4805 {
4806 Chara.AddCondition<ConParalyze>(eleP / 2);
4807 }
4808 if (Chance(5 + eleP / 25, 40))
4809 {
4810 Chara.AddCondition<ConConfuse>(eleP / 2);
4811 }
4812 if (Chance(5 + eleP / 25, 40))
4813 {
4814 MarkHostile().AddCondition<ConPoison>(eleP / 2);
4815 }
4816 if (Chance(5 + eleP / 25, 40))
4817 {
4818 Chara.AddCondition<ConSleep>(eleP / 2);
4819 }
4820 if (Chance(5 + eleP / 25, 40))
4821 {
4822 Chara.AddCondition<ConDim>(eleP / 2);
4823 }
4824 if (Chance(30 + eleP / 10, 100))
4825 {
4826 Chara.SAN.Mod(EClass.rnd(2));
4827 }
4828 break;
4829 case 924:
4830 if (Chance(50 + eleP / 10, 100))
4831 {
4832 MarkHostile().AddCondition<ConBleed>(eleP);
4833 }
4834 break;
4835 case 923:
4836 if (Chance(50 + eleP / 10, 100) && EClass.rnd(4) == 0)
4837 {
4839 }
4840 break;
4841 case 922:
4842 Chara.ModCorruption(EClass.rnd(eleP / 50 + 10));
4843 break;
4844 }
4845 if (Chara.conSleep != null && flag)
4846 {
4848 }
4849 if (checkHostileAct && hostile && origin != null && origin.isChara)
4850 {
4851 origin.Chara.DoHostileAction(this);
4852 }
4853 static bool Chance(int a, int max)
4854 {
4855 return Mathf.Min(a, max) > EClass.rnd(100);
4856 }
4857 Chara MarkHostile()
4858 {
4859 hostile = true;
4860 return Chara;
4861 }
4862 }
EffectId
Definition: EffectId.cs:2
static void Proc(EffectId id, Card cc, Card tc=null, int power=100, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:902
bool isWet
Definition: Chara.cs:142
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:8897
ConSleep conSleep
Definition: Chara.cs:102
Stats SAN
Definition: Chara.cs:1140
void ModCorruption(int a)
Definition: Chara.cs:9426
void DoHostileAction(Card _tg, bool immediate=false)
Definition: Chara.cs:6121
Definition: ConDim.cs:2
Definition: ConWet.cs:2
void Kill(bool silent=false)
Definition: Condition.cs:91
int id
Definition: ELEMENT.cs:250
virtual void Mod(int a)
Definition: Stats.cs:135

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

Referenced by AI_PlayMusic.Run().

◆ ApplyMaterial()

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

Reimplemented in Thing.

Definition at line 2989 of file Card.cs.

2990 {
2991 _colorInt = 0;
2992 }
int _colorInt
Definition: Card.cs:65

References _colorInt.

Referenced by ChangeMaterial(), and Create().

◆ ApplyMaterialElements()

virtual void Card.ApplyMaterialElements ( bool  remove)
inlinevirtual

Reimplemented in Thing.

Definition at line 2985 of file Card.cs.

2986 {
2987 }

Referenced by _OnDeserialized(), and ModEncLv().

◆ ApplyNewLine()

string Card.ApplyNewLine ( string  text)
inline

Definition at line 6553 of file Card.cs.

6554 {
6555 if (text.Contains("&"))
6556 {
6557 string text2 = "_comma".lang();
6558 text = text.Replace(text2 + " &", Environment.NewLine ?? "");
6559 text = text.Replace(text2 + "&", Environment.NewLine ?? "");
6560 text = text.Replace("&", Environment.NewLine ?? "");
6561 }
6562 return text;
6563 }

◆ ApplyProtection()

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

Definition at line 3936 of file Card.cs.

3937 {
3938 int armorSkill = GetArmorSkill();
3939 Element orCreateElement = elements.GetOrCreateElement(armorSkill);
3940 int num = PV + orCreateElement.Value + DEX / 10;
3941 int num2 = 1;
3942 int sides = 1;
3943 int bonus = 0;
3944 if (num > 0)
3945 {
3946 int num3 = num / 4;
3947 num2 = num3 / 10 + 1;
3948 sides = num3 / num2 + 1;
3949 bonus = 0;
3950 dmg = dmg * 100 / Mathf.Max(100 + num, 1);
3951 }
3952 int num4 = Dice.Roll(num2, sides, bonus, this);
3953 dmg -= num4 * mod / 100;
3954 if (dmg < 0)
3955 {
3956 dmg = 0;
3957 }
3958 return dmg;
3959 }
virtual int PV
Definition: Card.cs:2289
int DEX
Definition: Card.cs:2297
virtual int GetArmorSkill()
Definition: Card.cs:3931
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 3456 of file Card.cs.

3457 {
3458 for (int i = 0; i < sockets.Count; i++)
3459 {
3460 if (sockets[i] == 0)
3461 {
3462 if (lv >= 1000)
3463 {
3464 lv = 999;
3465 }
3466 sockets[i] = id * 1000 + lv;
3467 elements.ModBase(id, lv);
3468 mod?.Destroy();
3469 break;
3470 }
3471 }
3472 }
void Destroy()
Definition: Card.cs:4931
Element ModBase(int ele, int v)

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

◆ ApplySocket() [2/2]

void Card.ApplySocket ( Thing  t)
inline

Definition at line 3448 of file Card.cs.

3449 {
3450 if (t.trait is TraitMod traitMod && sockets != null)
3451 {
3452 ApplySocket(traitMod.source.id, traitMod.owner.encLV, traitMod.owner);
3453 }
3454 }
void ApplySocket(Thing t)
Definition: Card.cs:3448

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

6639 {
6640 if (text.IsEmpty())
6641 {
6642 return text;
6643 }
6644 string[] array = _tones.IsEmpty("").Split('|');
6645 string key = array[0];
6646 string text2 = "";
6648 if (!Lang.setting.useTone || MOD.tones.list.Count == 0)
6649 {
6650 text2 = text.Replace("{", "").Replace("}", "");
6651 }
6652 else
6653 {
6654 if (array[0].IsEmpty())
6655 {
6656 key = "default";
6657 }
6658 if (MOD.tones.all.ContainsKey(key))
6659 {
6660 StringBuilder stringBuilder = MOD.tones.ApplyTone(key, ref text, gender);
6661 if (Lang.isJP && c != null)
6662 {
6663 if (array.Length >= 2)
6664 {
6665 stringBuilder.Replace("_toneI".lang(), array[1]);
6666 }
6667 if (array.Length >= 3)
6668 {
6669 stringBuilder.Replace("_toneYou".lang(), array[2]);
6670 }
6671 }
6672 text2 = stringBuilder.ToString();
6673 }
6674 else
6675 {
6676 text2 = text.Replace("{", "").Replace("}", "");
6677 }
6678 }
6679 if (c != null)
6680 {
6681 text2 = text2.Replace("#me", c.NameSimple);
6682 }
6683 if (!stripPun || !Lang.setting.stripPuns)
6684 {
6685 return text2;
6686 }
6687 return text2.StripLastPun();
6688 }
string NameSimple
Definition: Card.cs:2101
Dictionary< string, Dictionary< string, string > > all
Definition: ExcelDataList.cs:8
List< Dictionary< string, string > > list
virtual void Initialize()
bool stripPuns
Definition: LangSetting.cs:44
bool useTone
Definition: LangSetting.cs:40
Definition: Lang.cs:6
static LangSetting setting
Definition: Lang.cs:54
static bool isJP
Definition: Lang.cs:38
Definition: MOD.cs:7
static ToneDataList tones
Definition: MOD.cs:12
StringBuilder ApplyTone(string id, ref string text, int gender)
Definition: ToneDataList.cs:11

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

◆ ApplyTone() [2/2]

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

Definition at line 6632 of file Card.cs.

6633 {
6634 text = GameLang.ConvertDrama(text, Chara);
6635 return ApplyTone(Chara, ref text, c_idTone, bio?.gender ?? 0, stripPun);
6636 }
string c_idTone
Definition: Card.cs:1507
string ApplyTone(string text, bool stripPun=false)
Definition: Card.cs:6632
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 2837 of file Card.cs.

2838 {
2839 string str = c_idTrait;
2840 if (str.IsEmpty())
2841 {
2842 if (sourceCard.trait.IsEmpty())
2843 {
2844 trait = (isChara ? new TraitChara() : new Trait());
2845 }
2846 else
2847 {
2848 trait = ClassCache.Create<Trait>("Trait" + sourceCard.trait[0], "Elin");
2849 }
2850 }
2851 else
2852 {
2853 trait = ClassCache.Create<Trait>(str, "Elin");
2854 }
2855 trait.SetOwner(this);
2856 }
string[] trait
Definition: CardRow.cs:33
string c_idTrait
Definition: Card.cs:1699
Definition: Trait.cs:7
virtual void SetOwner(Card _owner)
Definition: Trait.cs:636

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

6264 {
6265 int radius = GetLightRadius();
6266 if (radius == 0 || !IsAliveInCurrentZone || !EClass._zone.isStarted)
6267 {
6268 return;
6269 }
6270 float power = GetLightPower();
6271 if (IsPC)
6272 {
6273 if (Chara.held != null && Chara.held.GetLightRadius() > 0)
6274 {
6275 power += Chara.held.GetLightPower();
6276 }
6277 if (radius <= 2)
6278 {
6279 power = 0f;
6280 }
6281 foreach (Condition condition in Chara.conditions)
6282 {
6283 condition.OnCalculateFov(fov, ref radius, ref power);
6284 }
6285 if (power > EClass.scene.profile.global.playerLightPowerLimit)
6286 {
6287 power = EClass.scene.profile.global.playerLightPowerLimit;
6288 }
6289 power *= EClass.scene.profile.light.playerLightMod + (float)EClass.player.customLightMod * EClass.scene.profile.light.playerLightCustomMod;
6290 EClass.player.lightRadius = radius;
6291 EClass.player.lightPower = power;
6292 }
6293 if (fov == null)
6294 {
6295 fov = CreateFov();
6296 }
6297 fov.Perform(pos.x, pos.z, radius, power * 2f);
6298 }
float GetLightPower()
Definition: Card.cs:6170
Fov fov
Definition: Card.cs:55
Fov CreateFov()
Definition: Card.cs:6305
virtual bool IsAliveInCurrentZone
Definition: Card.cs:2089
int GetLightRadius()
Definition: Card.cs:6193
Card held
Definition: Chara.cs:70
List< Condition > conditions
Definition: Chara.cs:209
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:1153
int lightRadius
Definition: Player.cs:1145
int customLightMod
Definition: Player.cs:918
SceneGlobalProfile global
Definition: SceneProfile.cs:6
SceneLightProfile light
Definition: SceneProfile.cs:10
SceneProfile profile
Definition: Scene.cs:75
bool isStarted
Definition: Zone.cs:70

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

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

◆ CanAddRune()

bool Card.CanAddRune ( TraitMod  mod)
inline

Definition at line 3559 of file Card.cs.

3560 {
3561 SourceElement.Row source = mod.source;
3562 if (category.slot == 0)
3563 {
3564 return false;
3565 }
3566 if (material.HasEnc(source.id))
3567 {
3568 return false;
3569 }
3570 if (!IsWeapon && source.IsWeaponEnc)
3571 {
3572 return false;
3573 }
3574 if (source.category == "resist")
3575 {
3576 foreach (Element item in elements.ListElements())
3577 {
3578 if (item.source.category == "resist" && (item.vBase != 0 || item.vSource != 0))
3579 {
3580 return false;
3581 }
3582 }
3583 }
3584 string encSlot = source.encSlot;
3585 if (encSlot == null || encSlot.Length != 0)
3586 {
3587 switch (encSlot)
3588 {
3589 case "shield":
3590 if (!category.IsChildOf("shield") && !category.IsChildOf("martial"))
3591 {
3592 return false;
3593 }
3594 break;
3595 default:
3596 {
3597 bool flag = false;
3598 string[] array = source.encSlot.Split(',');
3599 foreach (string key in array)
3600 {
3601 if (EClass.sources.elements.alias[key].id == category.slot)
3602 {
3603 flag = true;
3604 }
3605 }
3606 if (!flag)
3607 {
3608 return false;
3609 }
3610 break;
3611 }
3612 case "global":
3613 case "all":
3614 case "weapon":
3615 break;
3616 }
3617 }
3618 if (mod is TraitRuneFree)
3619 {
3620 return true;
3621 }
3622 return CountRune(countFree: false) < MaxRune();
3623 }
int CountRune(bool countFree=true)
Definition: Card.cs:3538
int MaxRune()
Definition: Card.cs:3554
SourceCategory.Row category
Definition: Card.cs:2011
List< Element > ListElements(Func< Element, bool > shoudList=null, Comparison< Element > comparison=null)
SourceElement.Row source
Definition: TraitMod.cs:11

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

Referenced by InvOwnerMod.ShouldShowGuide().

◆ CanBeSheared()

bool Card.CanBeSheared ( )
inline

Definition at line 7623 of file Card.cs.

7624 {
7626 {
7627 return false;
7628 }
7629 if (!HaveFur() || c_fur < 0)
7630 {
7631 return false;
7632 }
7633 return true;
7634 }
bool HaveFur()
Definition: Card.cs:7609
int c_fur
Definition: Card.cs:1303
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 2454 of file Card.cs.

2455 {
2456 if (reservedAct != null && reservedAct != act)
2457 {
2458 return !reservedAct.IsRunning;
2459 }
2460 return true;
2461 }
virtual bool IsRunning
Definition: AIAct.cs:31
AIAct reservedAct
Definition: Card.cs:47

References AIAct.IsRunning, and reservedAct.

Referenced by TryReserve().

◆ CanStackTo()

virtual bool Card.CanStackTo ( Thing  to)
inlinevirtual

Reimplemented in Thing.

Definition at line 3290 of file Card.cs.

3291 {
3292 return false;
3293 }

Referenced by TryStackTo().

◆ ChangeAltitude()

void Card.ChangeAltitude ( int  a)
inline

Definition at line 6045 of file Card.cs.

6046 {
6047 altitude += a;
6048 if (altitude < 0)
6049 {
6050 altitude = 0;
6051 }
6053 {
6055 }
6056 }
int altitude
Definition: Card.cs:216
virtual int MaxAltitude
Definition: TileType.cs:208

References TileType.MaxAltitude.

◆ ChangeMaterial() [1/3]

◆ ChangeMaterial() [2/3]

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

Definition at line 3004 of file Card.cs.

3005 {
3006 if (sourceCard.fixedMaterial && !ignoreFixedMaterial)
3007 {
3008 return this;
3009 }
3010 ApplyMaterial(remove: true);
3011 _material = row;
3012 idMaterial = row.id;
3013 decay = 0;
3014 dirtyWeight = true;
3015 Card rootCard = GetRootCard();
3016 if (rootCard != null && rootCard.IsPC)
3017 {
3019 }
3020 if (isThing)
3021 {
3023 }
3024 ApplyMaterial();
3025 return this;
3026 }
int idMaterial
Definition: Card.cs:132
bool dirtyWeight
Definition: Card.cs:83
SourceMaterial.Row _material
Definition: Card.cs:89
int decay
Definition: Card.cs:204
virtual void ApplyMaterial(bool remove=false)
Definition: Card.cs:2989
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 2999 of file Card.cs.

3000 {
3001 return ChangeMaterial(EClass.sources.materials.alias.TryGetValue(idNew, "oak"), ignoreFixedMaterial);
3002 }

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

◆ ChangeRarity()

virtual void Card.ChangeRarity ( Rarity  q)
inlinevirtual

Reimplemented in Chara.

Definition at line 3818 of file Card.cs.

3819 {
3820 rarity = q;
3821 }
Rarity rarity
Definition: Card.cs:300

References rarity.

Referenced by TaskHarvest.OnCreateProgress().

◆ ChangeWeight()

void Card.ChangeWeight ( int  a)
inline

Definition at line 2526 of file Card.cs.

2527 {
2528 c_weight = a;
2529 isWeightChanged = true;
2531 }
int c_weight
Definition: Card.cs:1351
bool isWeightChanged
Definition: Card.cs:648

References c_weight, isWeightChanged, and SetDirtyWeight().

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

◆ CheckJustCooked()

void Card.CheckJustCooked ( )
inline

Definition at line 6392 of file Card.cs.

6393 {
6394 if (HasElement(757) && c_dateCooked <= EClass.world.date.GetRaw() - 120)
6395 {
6396 c_dateCooked = 0;
6397 elements.Remove(757);
6398 }
6399 }
bool HasElement(int ele, int req=1)
Definition: Card.cs:5725
int c_dateCooked
Definition: Card.cs:1315
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 2895 of file Card.cs.

2896 {
2897 if (elements.Base(286) > 50)
2898 {
2899 elements.SetTo(286, 50 + (int)Mathf.Sqrt(elements.Base(286) - 50));
2900 }
2901 }

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

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

◆ ClearFOV()

void Card.ClearFOV ( )
inline

Definition at line 6352 of file Card.cs.

6353 {
6354 if (fov != null && fov.lastPoints.Count != 0)
6355 {
6356 fov.Perform(pos.x, pos.z, 0);
6357 }
6358 }
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 6839 of file Card.cs.

6840 {
6841 if ((bool)_paintSprite)
6842 {
6843 UnityEngine.Object.Destroy(_paintSprite.texture);
6844 UnityEngine.Object.Destroy(_paintSprite);
6845 _paintSprite = null;
6846 }
6847 }
Sprite _paintSprite
Definition: Card.cs:97

Referenced by LayerPixelPaint.SetCanvas().

◆ CountRune()

int Card.CountRune ( bool  countFree = true)
inline

Definition at line 3538 of file Card.cs.

3539 {
3540 int num = 0;
3541 if (socketList != null)
3542 {
3543 foreach (SocketData socket in socketList)
3544 {
3545 if (socket.type == SocketData.Type.Rune && (countFree || !socket.isFree))
3546 {
3547 num++;
3548 }
3549 }
3550 }
3551 return num;
3552 }
bool isFree
Definition: SocketData.cs:54
Type type
Definition: SocketData.cs:18

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

Referenced by CanAddRune(), and HasRune().

◆ Create()

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

Definition at line 2697 of file Card.cs.

2698 {
2699 if (CardBlueprint.current != null)
2700 {
2702 CardBlueprint.current = null;
2703 }
2704 else
2705 {
2707 }
2708 id = _id;
2709 Num = 1;
2710 autoRefuel = true;
2711 EClass.game.cards.AssignUID(this);
2712 isNew = true;
2713 SetSource();
2715 if (sourceCard.quality != 0)
2716 {
2717 rarity = sourceCard.quality.ToEnum<Rarity>();
2718 }
2719 else if (bp.rarity != Rarity.Random)
2720 {
2721 rarity = bp.rarity;
2722 }
2723 else if (category.slot != 0 && category.slot != 45 && category.slot != 44)
2724 {
2725 if (EClass.rnd(10) == 0)
2726 {
2727 rarity = Rarity.Crude;
2728 }
2729 else if (EClass.rnd(10) == 0)
2730 {
2731 rarity = Rarity.Superior;
2732 }
2733 else if (EClass.rnd(80) == 0)
2734 {
2735 rarity = Rarity.Legendary;
2736 }
2737 else if (EClass.rnd(250) == 0)
2738 {
2739 rarity = Rarity.Mythical;
2740 }
2741 }
2742 if (rarity != 0 && category.tag.Contains("fixedRarity"))
2743 {
2744 rarity = Rarity.Normal;
2745 }
2746 LV = DefaultLV;
2747 if (bp.lv != -999)
2748 {
2749 LV = bp.lv;
2750 }
2751 if (id == "microchip")
2752 {
2753 Debug.Log(id + "/" + _idMat + "/" + sourceCard.fixedMaterial);
2754 }
2756 {
2758 }
2759 else
2760 {
2761 bool flag = (bp != null && bp.fixedMat) || sourceCard.quality == 4 || sourceCard.tierGroup.IsEmpty();
2762 if (_idMat != -1)
2763 {
2764 _material = EClass.sources.materials.rows[_idMat];
2765 }
2766 else if (!flag)
2767 {
2768 if (sourceCard.tierGroup == "wood")
2769 {
2770 Debug.Log(id);
2771 }
2773 }
2774 else
2775 {
2777 }
2778 }
2779 idMaterial = _material.id;
2780 things.SetOwner(this);
2781 elements.SetOwner(this, applyFeat: true);
2782 ApplyTrait();
2784 {
2785 tier = Mathf.Clamp(EClass.rnd(5) + 1, 1, 3);
2786 LV = LV + tier * 10 + (LV - 1) * (125 + tier * 25) / 100;
2787 }
2788 ApplyMaterial();
2789 OnCreate(genLv);
2791 trait.OnCreate(genLv);
2792 hp = MaxHP;
2793 if (HasTag(CTAG.hidden))
2794 {
2795 SetHidden();
2796 }
2798 }
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:2015
int tier
Definition: Card.cs:396
bool isFloating
Definition: Card.cs:636
CardBlueprint bp
Definition: Card.cs:75
int DefaultLV
Definition: Card.cs:1972
int hp
Definition: Card.cs:228
virtual void OnBeforeCreate()
Definition: Card.cs:2800
bool autoRefuel
Definition: Card.cs:612
virtual SourcePref Pref
Definition: Card.cs:2069
virtual void OnCreate(int genLv)
Definition: Card.cs:2804
virtual int MaxHP
Definition: Card.cs:2255
bool isNew
Definition: Card.cs:468
bool testThingQuality
Definition: CoreDebug.cs:215
static FactionBranch Branch
Definition: EClass.cs:22
static CoreDebug debug
Definition: EClass.cs:48
CardManager cards
Definition: Game.cs:155
static SourceMaterial.Row GetRandomMaterial(int lv, string group=null, bool tryLevelMatTier=false)
Definition: MATERIAL.cs:52
bool Float
Definition: SourcePref.cs:316
virtual void OnCreate(int lv)
Definition: Trait.cs:663
virtual bool LevelAsQuality
Definition: Trait.cs:192
bool IsPCFaction
Definition: Zone.cs:468

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

6306 {
6307 Fov fov = new Fov();
6308 int num = (trait.UseLightColor ? c_lightColor : 0);
6309 if (num != 0)
6310 {
6311 fov.r = (byte)(num / 1024);
6312 fov.g = (byte)(num % 1024 / 32);
6313 fov.b = (byte)(num % 32);
6314 }
6315 else if (LightData != null)
6316 {
6317 fov.r = (byte)(LightData.color.r * 16f);
6318 fov.g = (byte)(LightData.color.g * 16f);
6319 fov.b = (byte)(LightData.color.b * 16f);
6320 }
6321 else if (isChara)
6322 {
6323 fov.r = 0;
6324 fov.g = 0;
6325 fov.b = 0;
6326 }
6327 else
6328 {
6329 fov.r = 3;
6330 fov.g = 2;
6331 fov.b = 1;
6332 }
6333 if (isChara && Chara.held != null && Chara.held.GetLightRadius() > 0)
6334 {
6335 Fov fov2 = Chara.held.CreateFov();
6336 fov.r += fov2.r;
6337 fov.g += fov2.g;
6338 fov.b += fov2.b;
6339 }
6340 if (IsPC)
6341 {
6342 fov.isPC = true;
6343 foreach (Condition condition in Chara.conditions)
6344 {
6345 condition.OnCreateFov(fov);
6346 }
6347 }
6348 fov.limitGradient = IsPCParty && EClass.scene.profile.global.limitGradient;
6349 return fov;
6350 }
virtual bool IsPCParty
Definition: Card.cs:2111
int c_lightColor
Definition: Card.cs:1070
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,
Chara  originalTarget = null 
)
inline

Definition at line 3966 of file Card.cs.

3967 {
3968 if (hp < 0)
3969 {
3970 return;
3971 }
3972 bool flag = originalTarget != null;
3973 Action onEvade = null;
3974 if (isChara && !isRestrained && !HasElement(1241) && !flag)
3975 {
3976 AttackSource attackSource2 = attackSource;
3977 if ((uint)(attackSource2 - 3) > 2u && (uint)(attackSource2 - 13) > 4u)
3978 {
3979 foreach (Chara chara3 in EClass._map.charas)
3980 {
3981 if (chara3 != this && !chara3.IsHostile(Chara))
3982 {
3983 int num = chara3.Evalue(1241);
3984 int num2 = chara3.Evalue(438);
3985 if ((num != 0 || num2 != 0) && !chara3.IsDisabled && !chara3.isRestrained && (!IsPCFactionOrMinion || chara3.IsPCFactionOrMinion) && chara3.Dist(this) <= Mathf.Max(num, (num2 > 0) ? 1 : 0) && (num != 0 || num2 <= 0 || hp * 100 / MaxHP <= chara3.hp * 100 / chara3.MaxHP))
3986 {
3987 Say((num2 == 0) ? "wall_flesh" : "wall_knightly", chara3, this);
3988 chara3.DamageHP(dmg, ele, eleP, attackSource, origin, showEffect, weapon, Chara);
3989 return;
3990 }
3991 }
3992 }
3993 }
3994 }
3995 Element e;
3996 if (ele == 0 || ele == 926)
3997 {
3998 e = Element.Void;
3999 if (origin != null)
4000 {
4001 dmg = dmg * Mathf.Max(100 + origin.Evalue(93) / 2, 10) / 100;
4002 }
4003 }
4004 else
4005 {
4006 e = Element.Create(ele);
4007 if (attackSource != AttackSource.Condition && showEffect)
4008 {
4009 ActEffect.TryDelay(delegate
4010 {
4011 PlayEffect(e.id, useRenderPos: true, 0.25f);
4012 EClass.Sound.Play("atk_" + e.source.alias);
4013 });
4014 }
4015 if (!e.source.aliasRef.IsEmpty() && attackSource != AttackSource.ManaBackfire)
4016 {
4017 int num3 = ((origin != null) ? origin.Evalue(1238) : 0);
4018 if (attackSource == AttackSource.MagicSword)
4019 {
4020 num3 += 2;
4021 if (origin.HasElement(1247))
4022 {
4023 num3++;
4024 }
4025 }
4026 if (attackSource == AttackSource.MagicArrow && origin != null && origin.HasElement(1244))
4027 {
4028 num3++;
4029 }
4030 if (attackSource == AttackSource.MagicHand && origin != null && origin.HasElement(1246))
4031 {
4032 num3++;
4033 }
4034 dmg = Element.GetResistDamage(dmg, Evalue(e.source.aliasRef), num3);
4035 dmg = dmg * 100 / (100 + Mathf.Clamp(Evalue(961) * 5, -50, 200));
4036 dmg = dmg * Mathf.Max(100 - Evalue(93), 10) / 100;
4037 }
4038 switch (e.id)
4039 {
4040 case 910:
4041 {
4042 Chara chara2 = Chara;
4043 if (chara2 != null && chara2.isWet)
4044 {
4045 dmg /= 3;
4046 }
4047 break;
4048 }
4049 case 912:
4050 {
4051 Chara chara = Chara;
4052 if (chara != null && chara.isWet)
4053 {
4054 dmg = dmg * 150 / 100;
4055 }
4056 break;
4057 }
4058 }
4059 }
4060 if (origin != null && origin.isChara && origin.Chara.HasCondition<ConSupress>())
4061 {
4062 dmg = dmg * 2 / 3;
4063 }
4064 if (attackSource != AttackSource.Finish)
4065 {
4066 if (!IsPCFaction && LV > 50)
4067 {
4068 dmg = dmg * (100 - (int)Mathf.Min(80f, Mathf.Sqrt(LV - 50) * 2.5f)) / 100;
4069 }
4070 if (origin != null && origin.HasCondition<ConBerserk>())
4071 {
4072 dmg = dmg * 3 / 2;
4073 }
4075 {
4076 int num4 = ((origin != null) ? origin.LV : EClass._zone.DangerLv);
4077 if (num4 > 50)
4078 {
4079 dmg = dmg * (100 - (int)Mathf.Min(95f, Mathf.Sqrt(num4 - 50))) / 100;
4080 }
4081 }
4082 if (attackSource == AttackSource.Throw || attackSource == AttackSource.Range)
4083 {
4084 dmg = dmg * 100 / (100 + Evalue(435) * 2);
4085 }
4086 dmg = dmg * Mathf.Max(0, 100 - Mathf.Min(Evalue((e == Element.Void || e.id == 926) ? 55 : 56), 100) / ((!flag) ? 1 : 2)) / 100;
4087 if (origin != null && origin.IsPC && EClass.player.codex.Has(id))
4088 {
4089 dmg = dmg * (100 + Mathf.Min(10, EClass.player.codex.GetOrCreate(id).weakspot)) / 100;
4090 }
4091 if (isChara && Chara.body.GetAttackStyle() == AttackStyle.Shield && elements.ValueWithoutLink(123) >= 5 && (e == Element.Void || e.id == 926))
4092 {
4093 dmg = dmg * 90 / 100;
4094 }
4095 if (HasElement(971))
4096 {
4097 dmg = dmg * 100 / Mathf.Clamp(100 + Evalue(971), 25, 1000);
4098 }
4099 if (HasElement(1305))
4100 {
4101 dmg = dmg * 90 / 100;
4102 }
4103 if (EClass.pc.HasElement(1207) && isChara)
4104 {
4105 int num5 = 0;
4106 int num6 = 0;
4107 foreach (Condition condition2 in Chara.conditions)
4108 {
4109 if (condition2.Type == ConditionType.Buff)
4110 {
4111 num5++;
4112 }
4113 else if (condition2.Type == ConditionType.Debuff)
4114 {
4115 num6++;
4116 }
4117 }
4118 if (IsPCParty)
4119 {
4120 dmg = dmg * 100 / Mathf.Min(100 + num5 * 5, 120);
4121 }
4122 else
4123 {
4124 dmg = dmg * Mathf.Min(100 + num6 * 5, 120) / 100;
4125 }
4126 }
4128 {
4129 dmg = dmg * 100 / Mathf.Clamp(105 + EClass.pc.Evalue(135) / 10, 10, 110);
4130 }
4131 if (HasElement(1218) && attackSource != AttackSource.ManaBackfire && (hp > 0 || Evalue(1421) <= 0))
4132 {
4133 dmg = dmg * (1000 - Mathf.Min(Evalue(1218), 1000) / ((!flag) ? 1 : 2)) / 1000;
4134 if (dmg <= 0 && EClass.rnd(4) == 0)
4135 {
4136 dmg++;
4137 }
4138 }
4139 if (dmg >= MaxHP / 10 && Evalue(68) > 0)
4140 {
4141 int num7 = MaxHP / 10;
4142 int num8 = dmg - num7;
4143 num8 = num8 * 100 / (200 + Evalue(68) * 10);
4144 dmg = num7 + num8;
4145 }
4146 }
4147 if (origin != null && origin.IsPC && EClass.pc.Evalue(654) > 0)
4148 {
4149 dmg = 0;
4150 }
4151 if (dmg < 0)
4152 {
4153 dmg = 0;
4154 }
4155 int num9 = Mathf.Clamp(dmg * 6 / MaxHP, 0, 4) + ((dmg > 0) ? 1 : 0);
4156 int num10 = hp;
4157 if (Evalue(1421) > 0)
4158 {
4159 int num11 = 0;
4160 int num12 = dmg;
4161 if (hp > 0)
4162 {
4163 num12 = dmg - hp;
4164 hp -= dmg;
4165 num11 += dmg;
4166 if (hp < 0 && Chara.mana.value >= 0)
4167 {
4168 num11 += hp;
4169 hp = 0;
4170 }
4171 }
4172 if (hp <= 0)
4173 {
4174 if (Evalue(1421) >= 2)
4175 {
4176 num12 /= 2;
4177 }
4178 dmg = num12;
4179 if (Chara.mana.value > 0)
4180 {
4181 num12 -= Chara.mana.value;
4182 Chara.mana.value -= dmg;
4183 num11 += dmg;
4184 }
4185 if (Chara.mana.value <= 0)
4186 {
4187 hp -= num12;
4188 num11 += num12;
4189 }
4190 }
4191 dmg = num11;
4192 }
4193 else
4194 {
4195 hp -= dmg;
4196 }
4197 if (isSynced && dmg != 0)
4198 {
4199 float ratio = (float)dmg / (float)MaxHP;
4200 Card c = ((parent is Chara) ? (parent as Chara) : this);
4201 ActEffect.TryDelay(delegate
4202 {
4203 c.PlayEffect("blood").SetParticleColor(EClass.Colors.matColors[material.alias].main).Emit(20 + (int)(30f * ratio));
4205 {
4206 EClass.scene.damageTextRenderer.Add(this, c, dmg, e);
4207 }
4208 });
4209 }
4210 if (EClass.pc.ai is AI_PracticeDummy { IsRunning: not false } aI_PracticeDummy && aI_PracticeDummy.target == this && (origin == null || origin.IsPC))
4211 {
4212 aI_PracticeDummy.hit++;
4213 aI_PracticeDummy.totalDamage += dmg;
4214 }
4215 ZoneInstanceBout zoneInstanceBout = EClass._zone.instance as ZoneInstanceBout;
4216 bool flag2 = false;
4217 if (hp < 0 && Religion.recentWrath == null)
4218 {
4220 {
4221 EvadeDeath(null);
4222 if (Chara.stamina.value > 0 && (EClass.rnd(2) == 0 || !IsPC))
4223 {
4224 Chara.stamina.Mod(-1);
4225 }
4226 }
4227 else if (IsInstalled && pos.HasBlock && trait.IsDoor)
4228 {
4229 EvadeDeath(null);
4230 }
4231 else if (!trait.CanBeDestroyed)
4232 {
4233 EvadeDeath(null);
4234 }
4235 else if (HasEditorTag(EditorTag.Invulnerable) || (HasEditorTag(EditorTag.InvulnerableToMobs) && (origin == null || !origin.IsPCParty)))
4236 {
4237 EvadeDeath(null);
4238 }
4239 else if (isChara)
4240 {
4242 {
4243 EvadeDeath(null);
4244 }
4245 else if (IsPC && EClass.debug.godMode)
4246 {
4247 EvadeDeath(null);
4248 }
4249 else if (Chara.host != null || (weapon != null && weapon.HasElement(485)))
4250 {
4251 EvadeDeath(null);
4252 flag2 = true;
4253 }
4254 else
4255 {
4256 if (origin != null && origin != this && Evalue(436) > 0 && !HasCondition<ConFractured>())
4257 {
4258 int half = (HasElement(1218) ? MaxHP : (MaxHP / 2));
4259 if (num10 > half)
4260 {
4261 EvadeDeath(delegate
4262 {
4263 Say("guts", this);
4264 Chara.AddCondition<ConFractured>((int)Mathf.Max(10f, 30f - Mathf.Sqrt(Evalue(436))));
4265 hp = Mathf.Min(half * (int)Mathf.Sqrt(Evalue(436) * 2) / 100, MaxHP / 3);
4266 });
4267 goto IL_0ead;
4268 }
4269 }
4270 if (zoneInstanceBout != null && (bool)LayerDrama.Instance)
4271 {
4272 EvadeDeath(null);
4273 }
4274 else if (LayerDrama.IsActive() && IsPC)
4275 {
4276 EvadeDeath(null);
4277 }
4278 else
4279 {
4280 if (attackSource != AttackSource.Finish && IsPCParty && Chara.host == null)
4281 {
4282 if (EClass.pc.ai is GoalAutoCombat && !EClass.player.invlunerable && (EClass.pc.ai as GoalAutoCombat).listHealthy.Contains(Chara))
4283 {
4284 EClass.core.actionsNextFrame.Add(delegate
4285 {
4286 Msg.Say(IsPC ? "abort_damage" : "abort_damgeAlly");
4287 });
4288 EClass.player.invlunerable = true;
4291 }
4293 {
4294 EvadeDeath(null);
4295 goto IL_0ead;
4296 }
4297 }
4298 if (Evalue(1220) > 0 && Chara.stamina.value >= (IsPC ? (Chara.stamina.max / 2) : (Chara.stamina.max / 3 * 2)))
4299 {
4300 EvadeDeath(delegate
4301 {
4302 Say("fate", this);
4303 PlaySound("revive");
4304 PlayEffect("aura_heaven");
4307 });
4308 }
4309 }
4310 }
4311 }
4312 }
4313 goto IL_0ead;
4314 IL_0ead:
4315 if (trait.CanBeAttacked)
4316 {
4317 renderer.PlayAnime(AnimeID.HitObj);
4318 hp = MaxHP;
4320 {
4321 hp = -1;
4322 }
4323 }
4324 Chara target;
4325 if (hp < 0)
4326 {
4327 if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null && originalTarget == null && (origin.isSynced || IsPC))
4328 {
4329 string text = "";
4330 if (IsPC && Lang.setting.combatTextStyle == 0)
4331 {
4332 if (e != Element.Void && e != null)
4333 {
4334 text = "dead_" + e.source.alias;
4335 }
4336 if (text == "" || !LangGame.Has(text))
4337 {
4338 text = "dead_attack";
4339 }
4340 EClass.pc.Say(text, this, "");
4341 }
4342 else
4343 {
4344 if (e != Element.Void && e != null)
4345 {
4346 text = "kill_" + e.source.alias;
4347 }
4348 if (text == "" || !LangGame.Has(text))
4349 {
4350 text = "kill_attack";
4351 }
4352 (IsPC ? EClass.pc : origin).Say(text, origin, this);
4353 }
4354 }
4355 if (isChara && Religion.recentWrath == null)
4356 {
4357 if (HasElement(1410) && !Chara.HasCooldown(1410))
4358 {
4359 Chara.AddCooldown(1410);
4360 Say("reboot", this);
4361 PlaySound("reboot");
4362 Chara.Cure(CureType.Boss);
4363 hp = MaxHP / 3;
4365 return;
4366 }
4367 if (HasCondition<ConRebirth>())
4368 {
4369 Say("rebirth", this);
4370 hp = Mathf.Min(MaxHP * (int)(5f + Mathf.Sqrt(Chara.GetCondition<ConRebirth>().power)) / 100, MaxHP);
4372 Chara.RemoveCondition<ConRebirth>();
4373 PlayEffect("revive");
4374 PlaySound("revive");
4375 return;
4376 }
4377 foreach (Chara chara4 in EClass._map.charas)
4378 {
4379 if (Chara.IsFriendOrAbove(chara4) && chara4.HasElement(1408) && chara4.faith == EClass.game.religions.Healing && EClass.world.date.GetRawDay() != chara4.GetInt(58) && (!chara4.IsPCFaction || IsPCFaction))
4380 {
4381 Msg.alwaysVisible = true;
4382 Msg.Say("layhand", chara4, this);
4383 Msg.Say("pray_heal", this);
4384 hp = MaxHP;
4386 PlayEffect("revive");
4387 PlaySound("revive");
4388 chara4.SetInt(58, EClass.world.date.GetRawDay());
4389 return;
4390 }
4391 }
4392 }
4393 if (zoneInstanceBout != null)
4394 {
4395 target = EClass._map.FindChara(zoneInstanceBout.uidTarget);
4396 if (target != null)
4397 {
4398 EClass.pc.ai.Cancel();
4399 if (IsPC)
4400 {
4401 EClass.pc.hp = 0;
4402 Heal();
4403 EClass.player.ModFame(-10 - (int)((float)EClass.player.fame * 0.05f));
4404 target.ShowDialog("_chara", "bout_lose");
4405 return;
4406 }
4407 if (target == this)
4408 {
4409 hp = 0;
4410 Heal();
4411 target.ModAffinity(EClass.pc, 10);
4412 target.ShowDialog("_chara", "bout_win");
4413 return;
4414 }
4415 }
4416 }
4417 if (!isDestroyed)
4418 {
4419 if (attackSource == AttackSource.MoonSpear && isChara)
4420 {
4422 ActEffect.LoveMiracle(Chara, origin?.Chara, 100, EffectId.MoonSpear);
4423 Rand.SetSeed();
4424 }
4425 Die(e, origin, attackSource, originalTarget);
4427 {
4428 Rand.SetSeed(uid);
4429 if (EClass.rnd(3) == 0 && !isCrafted && !isCopy)
4430 {
4431 string text2 = new int[18]
4432 {
4433 233, 235, 236, 236, 236, 1170, 1143, 1144, 727, 728,
4434 237, 869, 1178, 1179, 1180, 1243, 1244, 1245
4435 }.RandomItem().ToString();
4436 if (EClass.rnd(10) == 0)
4437 {
4438 text2 = "casino_coin";
4439 }
4440 if (EClass.rnd(10) == 0)
4441 {
4442 text2 = "scratchcard";
4443 }
4444 if (EClass.rnd(3) == 0)
4445 {
4446 text2 = "money";
4447 }
4448 if (EClass.rnd(5) == 0)
4449 {
4450 text2 = "plat";
4451 }
4452 if (EClass.rnd(10) == 0)
4453 {
4454 text2 = "money2";
4455 }
4456 if (EClass.rnd(20) == 0 || EClass.debug.enable)
4457 {
4458 text2 = "medal";
4459 }
4460 EClass._zone.AddCard(ThingGen.Create(text2).SetNum((!(text2 == "money")) ? 1 : EClass.rndHalf(100)).SetHidden(hide: false), pos);
4461 }
4462 Rand.SetSeed();
4463 }
4464 ProcAbsorb();
4465 if (EClass.pc.Evalue(1355) > 0 && isChara && (IsPCFactionOrMinion || (origin != null && origin.IsPCParty)))
4466 {
4467 ((EClass.pc.AddCondition<ConStrife>() as ConStrife) ?? EClass.pc.GetCondition<ConStrife>())?.AddKill(Chara);
4468 }
4469 }
4470 if (origin != null && origin.isChara)
4471 {
4472 if (origin.IsPCFactionOrMinion && isChara && !isCopy)
4473 {
4475 EClass.game.quests.list.ForeachReverse(delegate(Quest q)
4476 {
4477 q.OnKillChara(Chara);
4478 });
4481 {
4483 }
4485 {
4486 int a = EClass.rndHalf(200 + LV * 20);
4487 Msg.Say("bounty", Chara, a.ToString() ?? "");
4489 SE.Pay();
4490 }
4491 }
4492 if (origin.GetInt(106) == 0)
4493 {
4494 origin.Chara.TalkTopic("kill");
4495 }
4496 }
4497 Msg.SetColor();
4498 }
4499 else if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null && originalTarget == null)
4500 {
4501 (IsPC ? EClass.pc : origin).Say("dmgMelee" + num9 + (IsPC ? "pc" : ""), origin, this);
4502 }
4503 else if (isChara)
4504 {
4505 int num13 = ((attackSource != AttackSource.Condition && attackSource != AttackSource.WeaponEnchant) ? 1 : 2);
4506 if (num9 >= num13)
4507 {
4508 if (e != Element.Void)
4509 {
4510 Say("dmg_" + e.source.alias, this);
4511 }
4512 if (e == Element.Void || num9 >= 2)
4513 {
4514 Say("dmg" + num9, this);
4515 }
4516 }
4517 }
4518 onEvade?.Invoke();
4519 if (isChara)
4520 {
4521 if (flag2)
4522 {
4523 if (!Chara.HasCondition<ConFaint>())
4524 {
4525 Chara.AddCondition<ConFaint>(200, force: true);
4526 }
4527 return;
4528 }
4529 if (origin != null && origin.IsAliveInCurrentZone && origin.isChara)
4530 {
4531 if (e.id == 916)
4532 {
4533 origin.HealHP(Mathf.Clamp(EClass.rnd(dmg * (50 + eleP) / 500 + 5), 1, origin.MaxHP / 5 + EClass.rnd(10)));
4534 }
4535 if (attackSource == AttackSource.Melee || attackSource == AttackSource.Range)
4536 {
4537 int num14 = origin.Dist(this);
4538 if (attackSource == AttackSource.Melee && HasElement(1221) && num14 <= Evalue(1221))
4539 {
4540 int ele2 = ((Chara.MainElement == Element.Void) ? 924 : Chara.MainElement.id);
4541 if (id == "hedgehog_ether")
4542 {
4543 ele2 = 922;
4544 }
4545 Say("reflect_thorne", this, origin);
4546 origin.DamageHP(Mathf.Clamp(dmg / 10, 1, MaxHP / (origin.IsPowerful ? 200 : 20)), ele2, Power, AttackSource.Condition, this);
4547 }
4548 if (HasElement(1223) && num14 <= Evalue(1223))
4549 {
4550 int ele3 = ((Chara.MainElement == Element.Void) ? 923 : Chara.MainElement.id);
4551 Say("reflect_acid", this, origin);
4552 origin.DamageHP(Mathf.Clamp(dmg / 10, 1, MaxHP / (origin.IsPowerful ? 200 : 20)), ele3, Power * 2, AttackSource.Condition, this);
4553 }
4554 }
4555 ProcAbsorb();
4556 }
4557 }
4558 if (hp < 0 || !isChara)
4559 {
4560 return;
4561 }
4562 if (dmg > 0)
4563 {
4564 int a2 = (int)(100L * (long)(dmg * 100 / MaxHP) / 100) + 1;
4565 a2 = Mathf.Min(a2, Chara.isRestrained ? 15 : 200);
4566 if (a2 > 0)
4567 {
4569 if (Chara.body.GetAttackStyle() == AttackStyle.Shield)
4570 {
4571 elements.ModExp(123, a2);
4572 }
4573 }
4574 }
4575 int num15 = ((EClass.rnd(2) == 0) ? 1 : 0);
4576 if (attackSource == AttackSource.Condition)
4577 {
4578 num15 = 1 + EClass.rnd(2);
4579 }
4580 if (num15 > 0)
4581 {
4582 bool flag3 = Chara.HasCondition<ConPoison>() || ((e.id == 915 || e.id == 923) && ResistLv(Evalue(955)) < 4);
4583 AddBlood(num15, flag3 ? 6 : (-1));
4584 }
4585 if (dmg > 0 || (origin != null && origin.HasElement(1345)))
4586 {
4587 ApplyElementEffect(e, eleP, origin);
4588 }
4589 if (origin != null && origin.HasElement(1411) && !Chara.HasCondition<ConGravity>())
4590 {
4591 Condition.ignoreEffect = true;
4593 Condition.ignoreEffect = false;
4594 }
4595 if (IsPC)
4596 {
4597 float num16 = (float)hp / (float)MaxHP;
4598 if (Evalue(1421) > 0)
4599 {
4600 num16 = (float)Chara.mana.value / (float)Chara.mana.max;
4601 }
4602 if (num16 < 0.3f)
4603 {
4604 PlaySound("heartbeat", 1f - num16 * 2f);
4605 }
4606 }
4607 if (!IsPC && hp < MaxHP / 5 && Evalue(423) <= 0 && dmg * 100 / MaxHP + 10 > EClass.rnd(IsPowerful ? 400 : 150) && !HasCondition<ConFear>())
4608 {
4609 Chara.AddCondition<ConFear>(100 + EClass.rnd(100));
4610 }
4611 if (Chara.ai.Current.CancelWhenDamaged && attackSource != AttackSource.Hunger && attackSource != AttackSource.Fatigue && (!EClass.core.config.test.dontCancelIfZeroDamage || dmg != 0 || !IsPC))
4612 {
4613 Chara.ai.Current.TryCancel(origin);
4614 }
4616 {
4617 ConWeapon condition = Chara.GetCondition<ConWeapon>();
4618 if (e.source.aliasRef == condition.sourceElement.aliasRef)
4619 {
4620 condition.Mod(-1);
4621 }
4622 }
4623 if (Chara.HasElement(1222) && (dmg >= MaxHP / 10 || EClass.rnd(20) == 0))
4624 {
4625 ActEffect.Proc(EffectId.Duplicate, this);
4626 }
4627 if (origin != null)
4628 {
4630 }
4631 if (hp < MaxHP / 3 && HasElement(1409) && !Chara.HasCooldown(1409))
4632 {
4633 Chara.AddCooldown(1409);
4635 Chara.Cure(CureType.Boss);
4636 Chara.HealHP(MaxHP / 2);
4637 EClass.player.forceTalk = true;
4638 }
4639 if (origin != null && origin.isChara && attackSource != AttackSource.Finish)
4640 {
4642 {
4643 Chara.TrySetEnemy(origin.Chara);
4644 }
4645 if ((weapon == null || !weapon.HasElement(486)) && origin.Evalue(428) > 0 && !IsPCFactionOrMinion && EClass.rnd(dmg) >= EClass.rnd(MaxHP / 10) + MaxHP / 100 + 1)
4646 {
4647 origin.Chara.TryNeckHunt(Chara, origin.Evalue(428) * 20, harvest: true);
4648 }
4649 }
4650 void EvadeDeath(Action action)
4651 {
4652 hp = 0;
4653 if (Evalue(1421) > 0 && isChara && Chara.mana.value < 0)
4654 {
4655 Chara.mana.value = 0;
4656 }
4657 onEvade = action;
4658 }
4659 void Heal()
4660 {
4661 target.Cure(CureType.HealComplete);
4662 foreach (Chara member in EClass.pc.party.members)
4663 {
4664 member.Cure(CureType.HealComplete);
4665 }
4666 }
4667 void ProcAbsorb()
4668 {
4669 if (origin != null && origin.isChara && isChara && (weapon == null || !weapon.HasElement(486)))
4670 {
4671 int valueOrDefault = (origin.Evalue(662) + weapon?.Evalue(662, ignoreGlobalElement: true)).GetValueOrDefault();
4672 int valueOrDefault2 = (origin.Evalue(661) + weapon?.Evalue(661, ignoreGlobalElement: true)).GetValueOrDefault();
4673 if (valueOrDefault > 0 && attackSource == AttackSource.Melee && origin.isChara && !origin.Chara.ignoreSPAbsorb && Chara.IsHostile(origin as Chara))
4674 {
4675 int num17 = EClass.rnd(3 + Mathf.Clamp(dmg / 100, 0, valueOrDefault / 10));
4676 origin.Chara.stamina.Mod(num17);
4678 {
4679 Chara.stamina.Mod(-num17);
4680 }
4681 }
4682 if (origin.HasElement(1350) && attackSource == AttackSource.Melee)
4683 {
4684 int num18 = EClass.rndHalf(2 + Mathf.Clamp(dmg / 10, 0, origin.Chara.GetPietyValue() + 10));
4685 origin.Chara.mana.Mod(num18);
4687 {
4688 Chara.mana.Mod(-num18);
4689 }
4690 }
4691 if (valueOrDefault2 > 0 && attackSource == AttackSource.Melee)
4692 {
4693 int num19 = EClass.rnd(2 + Mathf.Clamp(dmg / 10, 0, valueOrDefault2 + 10));
4694 origin.Chara.mana.Mod(num19);
4696 {
4697 Chara.mana.Mod(-num19);
4698 }
4699 }
4700 }
4701 }
4702 }
AnimeID
Definition: AnimeID.cs:2
AttackSource
Definition: AttackSource.cs:2
AttackStyle
Definition: AttackStyle.cs:2
ConditionType
Definition: ConditionType.cs:2
CureType
Definition: CureType.cs:2
@ harvest
AIAct Current
Definition: AIAct.cs:103
bool TryCancel(Card c)
Definition: AIAct.cs:266
virtual Status Cancel()
Definition: AIAct.cs:291
virtual bool CancelWhenDamaged
Definition: AIAct.cs:94
static bool ignoreDamage
Definition: AI_PlayMusic.cs:14
static void LoveMiracle(Chara tc, Chara c, int power, EffectId idEffect=EffectId.Love, BlessedState? state=null)
Definition: ActEffect.cs:2407
static void TryDelay(Action a)
Definition: ActEffect.cs:23
static void ProcShieldEncs(Chara CC, Card TC, int mtpChance=100)
int GetInt(int id, int? defaultInt=null)
Definition: BaseCard.cs:25
void SetInt(int id, int value=0)
Definition: BaseCard.cs:39
void Mod(int a, bool force=false)
SourceElement.Row sourceElement
List< Action > actionsNextFrame
Definition: BaseCore.cs:31
virtual ConditionType Type
Definition: BaseStats.cs:19
void PlayAnime(AnimeID id, bool force)
bool IsPCFactionOrMinion
Definition: Card.cs:2234
bool isCrafted
Definition: Card.cs:780
virtual void Die(Element e=null, Card origin=null, AttackSource attackSource=AttackSource.None, Chara originalTarget=null)
Definition: Card.cs:4864
void AddBlood(int a=1, int id=-1)
Definition: Card.cs:5764
bool isRestrained
Definition: Card.cs:552
virtual int Power
Definition: Card.cs:2257
bool isCopy
Definition: Card.cs:864
virtual void HealHP(int a, HealSource origin=HealSource.None)
Definition: Card.cs:3901
void ApplyElementEffect(Element e, int eleP, Card origin, bool checkHostileAct=false)
Definition: Card.cs:4704
int uid
Definition: Card.cs:120
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:5973
void ModCurrency(int a, string id="money")
Definition: Card.cs:3859
bool IsPowerful
Definition: Card.cs:2056
bool HasEditorTag(EditorTag tag)
Definition: Card.cs:2562
bool IsInstalled
Definition: Card.cs:2343
int Evalue(int ele)
Definition: Card.cs:2533
int Dist(Card c)
Definition: Card.cs:7404
virtual bool IsPCFaction
Definition: Card.cs:2231
int ResistLv(int res)
Definition: Card.cs:5720
virtual bool isSynced
Definition: Card.cs:2049
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6586
AttackStyle GetAttackStyle()
Definition: CharaBody.cs:433
Element MainElement
Definition: Chara.cs:715
CharaBody body
Definition: Chara.cs:94
AIAct ai
Definition: Chara.cs:200
bool TryNeckHunt(Chara TC, int power, bool harvest=false)
Definition: Chara.cs:9259
void ModAffinity(Chara c, int a, bool show=true, bool showOnlyEmo=false)
Definition: Chara.cs:7640
Chara host
Definition: Chara.cs:33
void ShowDialog()
Definition: Chara.cs:6796
override string ToString()
Definition: Chara.cs:1154
Party party
Definition: Chara.cs:43
bool HasCondition(string alias)
Definition: Chara.cs:9054
override bool IsDisabled
Definition: Chara.cs:583
override bool IsPCFaction
Definition: Chara.cs:669
bool IsFriendOrAbove()
Definition: Chara.cs:6386
override int MaxHP
Definition: Chara.cs:706
Stats mana
Definition: Chara.cs:1136
string TalkTopic(string topic="calm")
Definition: Chara.cs:6725
Stats stamina
Definition: Chara.cs:1128
void AddCooldown(int idEle, int turns=0)
Definition: Chara.cs:8341
bool ignoreSPAbsorb
Definition: Chara.cs:146
Religion faith
Definition: Chara.cs:437
int GetPietyValue()
Definition: Chara.cs:9773
bool IsHostile()
Definition: Chara.cs:6298
void Cure(CureType type, int p=100, BlessedState state=BlessedState.Normal)
Definition: Chara.cs:9133
void TrySetEnemy(Chara c)
Definition: Chara.cs:6089
bool HasCooldown(int idEle)
Definition: Chara.cs:8359
bool Has(string id)
Definition: CodexManager.cs:36
CodexCreature GetOrCreate(string id)
Definition: CodexManager.cs:9
void AddKill(string id)
Definition: CodexManager.cs:55
UD_String_MatData matColors
bool dontCancelIfZeroDamage
Definition: CoreConfig.cs:553
bool godMode
Definition: CoreDebug.cs:173
bool enable
Definition: CoreDebug.cs:286
CoreConfig config
Definition: Core.cs:70
void Add(Card target, Card attacker, int dmg, Element e=null)
int day
Definition: Date.cs:62
int GetRawDay()
Definition: Date.cs:327
static ColorProfile Colors
Definition: EClass.cs:38
static int rndHalf(int a)
Definition: EClass.cs:87
static SoundManager Sound
Definition: EClass.cs:46
Effect Emit(int num)
Definition: Effect.cs:279
Effect SetParticleColor(Color c)
Definition: Effect.cs:289
void ModExp(int ele, float a, bool chain=false)
int ValueWithoutLink(int ele)
static int GetResistDamage(int dmg, int v, int power=0)
Definition: ELEMENT.cs:1138
SourceElement.Row source
Definition: ELEMENT.cs:273
static Element Create(int id, int v=0)
Definition: ELEMENT.cs:1100
static Element Void
Definition: ELEMENT.cs:238
void AddContribution(int a)
Definition: FACTION.cs:318
bool enableDamageReduction
ReligionManager religions
Definition: Game.cs:158
GamePrincipal principal
Definition: Game.cs: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:56
static bool Has(string id)
Definition: LangGame.cs:46
int combatTextStyle
Definition: LangSetting.cs:50
static bool IsActive()
Definition: LayerDrama.cs:34
static LayerDrama Instance
Definition: LayerDrama.cs:20
Chara FindChara(string id)
Definition: Map.cs:2568
List< Chara > charas
Definition: Map.cs:81
static void SetColor()
Definition: Msg.cs:22
List< Chara > members
Definition: Party.cs:18
int kills
Definition: Player.cs:87
CodexManager codex
Definition: Player.cs:1071
void ModFame(int a)
Definition: Player.cs:2033
Stats stats
Definition: Player.cs:972
bool invlunerable
Definition: Player.cs:1129
int fame
Definition: Player.cs:840
bool TryAbortAutoCombat(bool immediate=true)
Definition: Player.cs:2338
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 int value
Definition: Stats.cs:56
virtual int max
Definition: Stats.cs:68
virtual bool CanBeAttacked
Definition: Trait.cs:164
virtual bool CanBeDestroyed
Definition: Trait.cs:294
virtual bool IsDoor
Definition: Trait.cs:57
virtual bool CanBeSmashedToDeath
Definition: Trait.cs:296
override int DangerLv
Definition: Zone.cs:107
Card AddCard(Card t, Point point)
Definition: Zone.cs:1943

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

◆ Decay()

void Card.Decay ( int  a = 10)
inline

Definition at line 6401 of file Card.cs.

6402 {
6403 Card card = parent as Card;
6404 int num = 200;
6405 int num2 = MaxDecay / 4 * 3;
6406 if (a > 0)
6407 {
6408 if (card != null)
6409 {
6410 num = card.trait.DecaySpeedChild;
6411 }
6412 num = num * trait.DecaySpeed / 100;
6413 int num3 = Evalue(405);
6414 if (num3 != 0)
6415 {
6416 num = num * (100 - num3 * 2) / 100;
6417 }
6418 if (num < 0)
6419 {
6420 num = 0;
6421 }
6422 }
6423 else
6424 {
6425 num = 100;
6426 }
6427 a = a * num / 100;
6428 if (decay + a > MaxDecay)
6429 {
6430 if (card != null && !card.trait.OnChildDecay(this, !IsDecayed))
6431 {
6432 return;
6433 }
6434 if (!IsDecayed)
6435 {
6436 if (EClass.pc.HasElement(1325) && GetRootCard() is Chara && category.IsChildOf("food"))
6437 {
6438 Thing thing = TraitSeed.MakeRandomSeed(enc: true).SetNum(Mathf.Min(Num, 3));
6439 card.AddCard(thing);
6440 if (!IsParentLocked())
6441 {
6442 GetRootCard().Say("seed_rot", GetRootCard(), this, thing.Name);
6443 }
6444 Destroy();
6445 return;
6446 }
6447 if (parent == EClass._zone)
6448 {
6449 Say("rot", this);
6450 }
6451 else if (GetRootCard() == EClass.pc)
6452 {
6453 if (!IsParentLocked())
6454 {
6455 EClass.pc.Say("rotInv", this, EClass.pc);
6456 }
6458 }
6459 if (IsFood)
6460 {
6461 elements.ModBase(73, -10);
6462 }
6463 }
6464 }
6465 else if (decay < num2 && decay + a >= num2 && GetRootCard() == EClass.pc)
6466 {
6467 if (!IsParentLocked())
6468 {
6469 EClass.pc.Say("rottingInv", this, EClass.pc);
6470 }
6472 }
6473 decay += a;
6474 bool IsParentLocked()
6475 {
6476 if (parent is Thing)
6477 {
6478 return (parent as Thing).c_lockLv > 0;
6479 }
6480 return false;
6481 }
6482 }
bool IsDecayed
Definition: Card.cs:2249
string Name
Definition: Card.cs:2099
bool IsFood
Definition: Card.cs:2137
virtual int MaxDecay
Definition: Card.cs:2247
bool IsChildOf(Card c)
Definition: Card.cs:2623
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 6369 of file Card.cs.

6370 {
6371 if (!isNPCProperty)
6372 {
6373 things.ForeachReverse(delegate(Thing t)
6374 {
6375 t.DecayNatural(hour);
6376 });
6377 if (sourceCard._origin == "dish")
6378 {
6380 }
6381 if (parent is Card && (parent as Card).trait.CanChildDecay(this))
6382 {
6383 Decay(10 * hour);
6384 }
6385 else if (!isChara && trait.Decay != 0)
6386 {
6387 Decay(trait.Decay * hour);
6388 }
6389 }
6390 }
string _origin
Definition: CardRow.cs:15
bool isNPCProperty
Definition: Card.cs:540
void DecayNatural(int hour=1)
Definition: Card.cs:6369
void Decay(int a=10)
Definition: Card.cs:6401
void CheckJustCooked()
Definition: Card.cs:6392
virtual bool CanChildDecay(Card c)
Definition: Trait.cs:1062
virtual int Decay
Definition: Trait.cs:120

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

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

◆ Deconstruct()

void Card.Deconstruct ( )
inline

Definition at line 4925 of file Card.cs.

4926 {
4927 PlaySound(material.GetSoundDead(sourceCard));
4928 Destroy();
4929 }

References material.

Referenced by AI_Deconstruct.Run().

◆ Destroy()

void Card.Destroy ( )
inline

Definition at line 4931 of file Card.cs.

4932 {
4933 if (isDestroyed)
4934 {
4935 Debug.Log(Name + " is already destroyed.");
4936 return;
4937 }
4938 if (isChara)
4939 {
4940 if (IsPCFaction && !Chara.isSummon)
4941 {
4942 Debug.Log(this);
4943 return;
4944 }
4945 Chara.DropHeld();
4946 Chara.isDead = true;
4947 if (IsPCParty)
4948 {
4950 }
4951 if (IsGlobal)
4952 {
4954 }
4955 }
4956 if (renderer.hasActor)
4957 {
4959 }
4960 if (parent != null)
4961 {
4962 parent.RemoveCard(this);
4963 }
4964 for (int num = things.Count - 1; num >= 0; num--)
4965 {
4966 things[num].Destroy();
4967 }
4968 isDestroyed = true;
4969 }
GlobalCharaList globalCharas
Definition: CardManager.cs:46
void KillActor()
bool isSummon
Definition: Card.cs:696
virtual bool IsGlobal
Definition: Card.cs:2245
Card DropHeld(Point dropPos=null)
Definition: Chara.cs:4497
void RemoveMember(Chara c)
Definition: Party.cs:101

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(), TraitSpotBiome.CountNotableThing(), TraitCrafter.Craft(), RecipeCard.CreateMold(), FactionBranch.DailyOutcome(), QuestDeliver.Deliver(), ThingContainer.DestroyAll(), Chara.DropThing(), Chara.EQ_CAT(), Chara.EQ_ID(), CoreDebug.Fix_RemoveDemitas(), DramaOutcome.give_sketch_special(), Chara.GiveGift(), Chara.GiveLovePotion(), TaskHarvest.HarvestThing(), ModNum(), TraitTrap.OnActivateTrap(), TraitBrewery.OnChildDecay(), Meeting.OnEndDrama(), Chara.OnGiveErohon(), Game.OnLoad(), TraitAltar.OnOffer(), AM_FlagCell.OnProcessTiles(), AI_Fish.ProgressFish.OnProgressComplete(), TaskDig.OnProgressComplete(), TraitFertilizer.OnSimulateHour(), Zone.OnSimulateHour(), TraitFarmChest.OnUse(), TraitScrollMapTreasure.OnUse(), TraitStairsLocked.OnUse(), TraitFoodMeat.OnUse(), DramaManager.ParseLine(), InvOwnerDeliver.PayBill(), ActEffect.Proc(), PurgeDuplicateArtifact(), Map.PutAway(), Trait.Refuel(), QuestEscort.ReleaseEscort(), RemoveBacker(), GameDate.ShipGoods(), ConSleep.SuccubusVisit(), ActThrow.Throw(), AI_PlayMusic.ThrowReward(), Zone.TryAddThing(), TraitSwitch.TryDisarmTrap(), Chara.TryPoisonPotion(), ActPray.TryPray(), AI_Shopping.TryRestock(), Map.TryShatter(), TraitSeed.TrySprout(), TryStackTo(), TraitFoodEgg.Update(), and ActionMode.UpdateInput().

◆ Die()

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

Reimplemented in Chara.

Definition at line 4864 of file Card.cs.

4865 {
4866 Card rootCard = GetRootCard();
4867 Point _pos = rootCard?.pos ?? pos;
4868 if (_pos != null && !_pos.IsValid)
4869 {
4870 _pos = null;
4871 }
4872 if (trait.EffectDead == EffectDead.Default && _pos != null)
4873 {
4874 _pos.PlaySound(material.GetSoundDead(sourceCard));
4875 _pos.PlayEffect("mine").SetParticleColor(material.GetColor()).Emit(10 + EClass.rnd(10));
4876 material.AddBlood(_pos, trait.CanBeSmashedToDeath ? (12 + EClass.rnd(8)) : 6);
4877 if (_pos.IsSync)
4878 {
4879 string text = ((rootCard != this) ? "destroyed_inv_" : "destroyed_ground_");
4880 if (e != null && LangGame.Has(text + e.source.alias))
4881 {
4882 text += e.source.alias;
4883 }
4884 if (attackSource != AttackSource.Throw)
4885 {
4886 Msg.Say(text, this, rootCard);
4887 }
4888 }
4889 else if (attackSource != AttackSource.Throw)
4890 {
4891 Msg.Say("destroyed", this);
4892 }
4893 }
4894 if (_pos != null && !EClass._zone.IsUserZone)
4895 {
4896 things.ForeachReverse(delegate(Thing t)
4897 {
4898 if (!(t.trait is TraitChestMerchant))
4899 {
4900 EClass._zone.AddCard(t, _pos);
4901 }
4902 });
4903 }
4904 Destroy();
4905 if (e != null && _pos != null && e.id == 21)
4906 {
4907 EClass._zone.AddCard(ThingGen.Create((EClass.rnd(2) == 0) ? "ash" : "ash2"), _pos);
4908 }
4909 if (trait.ThrowType == ThrowType.Explosive)
4910 {
4911 Explode(pos, origin);
4912 }
4913 }
EffectDead
Definition: EffectDead.cs:2
ThrowType
Definition: ThrowType.cs:2
void Explode(Point p, Card origin)
Definition: Card.cs:4915
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:1237
Effect PlayEffect(string id)
Definition: Point.cs:1232
virtual EffectDead EffectDead
Definition: Trait.cs:250
virtual ThrowType ThrowType
Definition: Trait.cs:248

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

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

◆ Dist() [1/2]

int Card.Dist ( Card  c)
inline

Definition at line 7404 of file Card.cs.

7405 {
7406 if (!IsMultisize && !c.IsMultisize)
7407 {
7408 return pos.Distance(c.pos);
7409 }
7410 if (IsMultisize)
7411 {
7412 int dist = 99;
7413 ForeachPoint(delegate(Point p, bool main)
7414 {
7415 int num2 = DistMulti(p, c);
7416 if (num2 < dist)
7417 {
7418 dist = num2;
7419 }
7420 });
7421 return dist;
7422 }
7423 return DistMulti(pos, c);
7424 static int DistMulti(Point p1, Card c)
7425 {
7426 if (!c.IsMultisize)
7427 {
7428 return p1.Distance(c.pos);
7429 }
7430 int dist2 = 99;
7431 c.ForeachPoint(delegate(Point p, bool main)
7432 {
7433 int num = p1.Distance(p);
7434 if (num < dist2)
7435 {
7436 dist2 = num;
7437 }
7438 });
7439 return dist2;
7440 }
7441 }
virtual bool IsMultisize
Definition: Card.cs:2120
void ForeachPoint(Action< Point, bool > action)
Definition: Card.cs:7569
int Distance(Point p)
Definition: Point.cs:973

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

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

◆ Dist() [2/2]

int Card.Dist ( Point  p)
inline

Definition at line 7443 of file Card.cs.

7444 {
7445 return pos.Distance(p);
7446 }

References Point.Distance().

◆ Duplicate()

Thing Card.Duplicate ( int  num)
inline

Definition at line 3342 of file Card.cs.

3343 {
3344 Thing thing = ThingGen.Create(id);
3345 thing.ChangeMaterial(idMaterial, ignoreFixedMaterial: true);
3346 thing._bits1 = _bits1;
3347 thing._bits2 = _bits2;
3348 thing.dir = dir;
3349 thing.refVal = refVal;
3350 thing.altitude = altitude;
3351 thing.idSkin = idSkin;
3352 thing.blessedState = blessedState;
3353 thing.rarityLv = rarityLv;
3354 thing.tier = tier;
3355 thing.LV = LV;
3356 thing.exp = exp;
3357 thing.encLV = encLV;
3358 thing.decay = decay;
3359 thing.mapInt.Clear();
3360 thing.mapStr.Clear();
3361 foreach (KeyValuePair<int, int> item in mapInt)
3362 {
3363 thing.mapInt[item.Key] = item.Value;
3364 }
3365 foreach (KeyValuePair<int, string> item2 in mapStr)
3366 {
3367 thing.mapStr[item2.Key] = item2.Value;
3368 }
3369 elements.CopyTo(thing.elements);
3370 thing.SetNum(num);
3371 if (thing.IsRangedWeapon)
3372 {
3373 thing.sockets = IO.DeepCopy(sockets);
3374 }
3375 if (thing.c_containerSize != 0)
3376 {
3377 thing.things.SetOwner(thing);
3378 }
3379 return thing;
3380 }
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:2994
bool IsRangedWeapon
Definition: Card.cs:2205
int c_containerSize
Definition: Card.cs:1339
int rarityLv
Definition: Card.cs:288
BlessedState blessedState
Definition: Card.cs:264
int dir
Definition: Card.cs:144
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 5800 of file Card.cs.

5801 {
5802 isDyed = mat != null;
5803 c_dyeMat = mat?.id ?? 0;
5804 _colorInt = 0;
5805 }
int c_dyeMat
Definition: Card.cs:1159
bool isDyed
Definition: Card.cs:444

◆ Dye() [2/2]

◆ DyeRandom()

void Card.DyeRandom ( )
inline

Definition at line 5790 of file Card.cs.

5791 {
5792 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);
5793 }

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

3475 {
3476 for (int i = 0; i < sockets.Count; i++)
3477 {
3478 int num = sockets[i];
3479 if (num != 0)
3480 {
3481 Thing thing = ThingGen.Create(isCopy ? "ash3" : "mod_ranged");
3482 int ele = num / 1000;
3483 int num2 = num % 1000;
3484 elements.ModBase(ele, -num2);
3485 if (!isCopy)
3486 {
3487 thing.refVal = ele;
3488 thing.encLV = num2;
3489 }
3491 sockets[i] = 0;
3492 }
3493 }
3494 }
void TrySmoothPick(Cell cell, Thing t, Chara c)
Definition: Map.cs:1804
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 2533 of file Card.cs.

2534 {
2535 return elements.Value(ele);
2536 }
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(), CraftUtil.GetRandomLoveLunchIngredient(), AttackProcess.GetRawDamage(), RecipeSource.GetSPCost(), ElementContainer.GetSpellExp(), LayerTravel.GetTravelHours(), AttackProcess.GetTwoHandEncBonus(), RecipeManager.GetUnlearnedRecipe(), AttackProcess.GetWeaponEnc(), GoalAutoCombat.GoalAutoCombat(), HealHP(), TraitFoodEggFertilized.Incubate(), Quest.Init(), CalcMoney.Invest(), Chara.IsCriticallyWounded(), Religion.LeaveFaith(), LevelUp(), RecipeCard.MakeDish(), AI_Fish.Makefish(), CraftUtil.MakeLoveLunch(), TraitSeed.MakeSeed(), MaxRune(), CraftUtil.MixIngredients(), StatsStamina.Mod(), CalcMoney.Negotiate(), Player.OnAdvanceDay(), Player.OnAdvanceHour(), Trait.OnBarter(), TraitPotionAlchemy.OnCrafted(), TraitDrinkMilkMother.OnDrink(), AI_Fish.ProgressFish.OnProgress(), RecipeManager.OnSleep(), TraitFloorSwitch.OnStepped(), Affinity.OnTalkRumor(), TraitItemProc.OnUse(), RaceBonus.OnWriteNote(), ActRanged.Perform(), ActRush.Perform(), ActZap.Perform(), AttackProcess.Perform(), AttackProcess.Prepare(), FoodEffect.Proc(), ActEffect.ProcAt(), AttackProcess.ProcShieldEncs(), Religion.Punish(), Religion.PunishTakeOver(), WindowCharaMini.Refresh(), WindowChara.RefreshNote(), WindowChara.RefreshSkill(), Chara.RefreshSpeed(), Chara.RequestProtection(), Dice.Roll(), AI_Fuck.Run(), AI_Idle.Run(), AI_OpenGambleChest.Run(), AI_PassTime.Run(), AI_PlayMusic.Run(), AI_Steal.Run(), AI_UseCrafter.Run(), ActWait.Search(), Player.SelectDomain(), QuestSupplySpecific.SetIdThing(), Map.SetObj(), BaseTaskHarvest.SetTarget(), SpawnLoot(), Chara.Stumble(), ConSleep.SuccubusVisit(), TraitSwitch.TryDisarmTrap(), Religion.TryGetGift(), Trait.TryOpenLock(), ActPray.TryPray(), TraitBaseSpellbook.TryProgress(), ActRanged.TryReload(), HotItemHeld.TrySetAct(), TraitSwitch.TrySetAct(), TraitEcoMark.TrySetHeldAct(), GoalCombat.TryUseAbility(), ElementContainerCard.ValueBonus(), and Element.BonusInfo.WriteNote().

◆ Evalue() [2/3]

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

Definition at line 2538 of file Card.cs.

2539 {
2540 if (!ignoreGlobalElement || !HasGlobalElement(ele))
2541 {
2542 return elements.Value(ele);
2543 }
2544 return 0;
2545 }
bool HasGlobalElement(int ele)
Definition: Card.cs:5735

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

◆ Evalue() [3/3]

int Card.Evalue ( string  alias)
inline

Definition at line 2552 of file Card.cs.

2553 {
2554 return elements.Value(EClass.sources.elements.alias[alias].id);
2555 }

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

◆ EvalueMax()

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

Definition at line 2547 of file Card.cs.

2548 {
2549 return Mathf.Max(elements.Value(ele), min);
2550 }

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

4916 {
4917 ActEffect.ProcAt(EffectId.Explosive, 100, blessedState, this, null, p, isNeg: true, new ActRef
4918 {
4919 origin = origin?.Chara,
4920 refThing = Thing,
4921 aliasEle = "eleImpact"
4922 });
4923 }
static void ProcAt(EffectId id, int power, BlessedState state, Card cc, Card tc, Point tp, bool isNeg, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:430
Definition: ActRef.cs:2

References ActEffect.ProcAt().

◆ FindTool< T >()

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

Definition at line 2628 of file Card.cs.

2628 : Trait
2629 {
2630 if (IsPC)
2631 {
2632 return Tool?.trait as T;
2633 }
2634 return things.Find<T>()?.trait as T;
2635 }
Thing Tool
Definition: Card.cs:2372
Thing Find(int uid)

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

◆ ForeachFOV()

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

Definition at line 7553 of file Card.cs.

7554 {
7555 if (fov == null)
7556 {
7557 return;
7558 }
7559 foreach (KeyValuePair<int, byte> lastPoint in fov.lastPoints)
7560 {
7561 Point arg = new Point().Set(lastPoint.Key);
7562 if (func(arg))
7563 {
7564 break;
7565 }
7566 }
7567 }

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

◆ ForeachPoint()

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

Definition at line 7569 of file Card.cs.

7570 {
7571 if (IsMultisize)
7572 {
7573 pos.ForeachMultiSize(W, H, action);
7574 }
7575 else
7576 {
7577 action(pos, arg2: true);
7578 }
7579 }
int H
Definition: Card.cs:2328
int W
Definition: Card.cs:2316
void ForeachMultiSize(int w, int h, Action< Point, bool > action)
Definition: Point.cs:1369

References Point.ForeachMultiSize().

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

◆ GetAffinityExpBonus()

int Card.GetAffinityExpBonus ( )
inline

Definition at line 2932 of file Card.cs.

2933 {
2934 return Mathf.Clamp(100 + Chara.affinity.value / 10, 50, 200);
2935 }
int value
Definition: Affinity.cs:26
Affinity affinity
Definition: Chara.cs:312

References Chara.affinity, and Affinity.value.

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

◆ GetArmorSkill()

virtual int Card.GetArmorSkill ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 3931 of file Card.cs.

3932 {
3933 return 0;
3934 }

Referenced by ApplyProtection().

◆ GetBestAttribute()

int Card.GetBestAttribute ( )
inline

Definition at line 2592 of file Card.cs.

2593 {
2594 int num = 1;
2595 foreach (Element item in elements.dict.Values.Where((Element a) => Element.List_MainAttributesMajor.Contains(a.id)))
2596 {
2597 int num2 = item.Value;
2598 if (isChara && Chara.tempElements != null)
2599 {
2600 num2 -= Chara.tempElements.Value(item.id);
2601 }
2602 if (num2 > num)
2603 {
2604 num = num2;
2605 }
2606 }
2607 return num;
2608 }
ElementContainer tempElements
Definition: Chara.cs:36
Dictionary< int, Element > dict
static int[] List_MainAttributesMajor
Definition: ELEMENT.cs:242

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

Referenced by AI_Fuck.Finish().

◆ GetCurrency()

◆ GetDaysTogetherBonus()

int Card.GetDaysTogetherBonus ( )
inline

Definition at line 2937 of file Card.cs.

2938 {
2940 {
2941 return 100;
2942 }
2943 return 100 + EClass.curve(c_daysWithPC / 100 * 3, 100, 20, 70);
2944 }
int c_daysWithPC
Definition: Card.cs:1459
static int curve(int a, int start, int step, int rate=75)
Definition: EClass.cs:68

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

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

◆ GetDetail()

virtual string Card.GetDetail ( )
inlinevirtual

Definition at line 2587 of file Card.cs.

2588 {
2589 return sourceCard.GetText("detail", returnNull: true);
2590 }
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 6939 of file Card.cs.

6940 {
6941 return GetValue();
6942 }
int GetValue(PriceType priceType=PriceType.Default, bool sell=false)
Definition: Card.cs:6960

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

◆ GetExpMtp()

int Card.GetExpMtp ( )
inline

Definition at line 2914 of file Card.cs.

2915 {
2916 int num = 100;
2917 if (!IsPC)
2918 {
2919 num *= 2;
2920 if (IsPCFaction)
2921 {
2922 num = num * GetAffinityExpBonus() / 100;
2924 {
2925 num = num * (50 + EClass.game.principal.petFeatExpMtp * 50) / 100;
2926 }
2927 }
2928 }
2929 return num * (100 + Evalue(1237) * 30) / 100;
2930 }
int GetAffinityExpBonus()
Definition: Card.cs:2932

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

2583 {
2584 return "";
2585 }

Referenced by Act.GetTextSmall().

◆ GetFoodName()

string Card.GetFoodName ( string  s)
inline

Definition at line 5534 of file Card.cs.

5535 {
5536 return s.Replace("_corpseFrom".lang(), "_corpseTo".lang());
5537 }

◆ GetHoverText()

virtual string Card.GetHoverText ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 7394 of file Card.cs.

7395 {
7396 return Name + GetExtraName();
7397 }
virtual string GetExtraName()
Definition: Card.cs:2582

◆ GetHoverText2()

virtual string Card.GetHoverText2 ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 7399 of file Card.cs.

7400 {
7401 return "";
7402 }

◆ GetImageSprite()

virtual Sprite Card.GetImageSprite ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 5885 of file Card.cs.

5886 {
5887 return null;
5888 }

Referenced by HotItemThing.GetSprite().

◆ GetLightPower()

float Card.GetLightPower ( )
inline

Definition at line 6170 of file Card.cs.

6171 {
6173 if (LightData != null)
6174 {
6175 return 0.01f * LightData.color.a * 256f * 1.12f;
6176 }
6177 if (IsPCFaction && !IsPC)
6178 {
6179 num *= 4f;
6180 }
6181 return num;
6182 }
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 6193 of file Card.cs.

6194 {
6195 if (isThing)
6196 {
6197 if (!IsInstalled && EClass.pc.held != this)
6198 {
6199 return 0;
6200 }
6202 {
6203 return (trait as TraitLightSource).LightRadius;
6204 }
6205 if (LightData == null || !trait.IsLightOn)
6206 {
6207 return 0;
6208 }
6209 return LightData.radius;
6210 }
6211 int num = ((LightData != null) ? LightData.radius : 0);
6212 int num2 = 0;
6213 if (IsPC)
6214 {
6215 if (Chara.isBlind)
6216 {
6217 return 1;
6218 }
6219 num = ((EClass._map.IsIndoor || EClass.world.date.IsNight) ? 2 : ((EClass.world.date.periodOfDay == PeriodOfDay.Day) ? 6 : 5));
6220 num2 = 2;
6221 }
6222 else
6223 {
6225 {
6226 return 0;
6227 }
6228 if (LightData == null && !EClass._map.IsIndoor && !EClass.world.date.IsNight)
6229 {
6230 return 0;
6231 }
6232 }
6233 if (IsPCFaction)
6234 {
6235 Thing equippedThing = Chara.body.GetEquippedThing(45);
6236 if (equippedThing != null && equippedThing.trait is TraitLightSource traitLightSource)
6237 {
6238 num2 = traitLightSource.LightRadius;
6239 }
6240 if (Chara.held != null && IsPC)
6241 {
6242 int lightRadius = Chara.held.GetLightRadius();
6243 if (lightRadius > 0)
6244 {
6245 if (lightRadius > num2)
6246 {
6247 num2 = Chara.held.GetLightRadius() - 1;
6248 }
6249 if (num2 < 3)
6250 {
6251 num2 = 3;
6252 }
6253 }
6254 }
6255 if (num < num2)
6256 {
6257 num = num2;
6258 }
6259 }
6260 return num;
6261 }
PeriodOfDay
Definition: PeriodOfDay.cs:2
Thing GetEquippedThing(int elementId)
Definition: CharaBody.cs:378
bool isBlind
Definition: Chara.cs:130
GraphicSetting graphic
Definition: CoreConfig.cs:602
bool IsNight
Definition: Date.cs:112
PeriodOfDay periodOfDay
Definition: Date.cs:124
int radius
Definition: LightData.cs:10
bool IsIndoor
Definition: Map.cs:131
bool isEquipped
Definition: Thing.cs:17
virtual bool IsLightOn
Definition: Trait.cs:413

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

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

◆ GetName()

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

Reimplemented in Thing, and Chara.

Definition at line 2577 of file Card.cs.

2578 {
2579 return "Card";
2580 }

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

◆ GetPaintData()

byte[] Card.GetPaintData ( )
inline

Definition at line 6821 of file Card.cs.

6822 {
6823 Sprite sprite = GetSprite();
6824 Texture2D texture2D = ScreenCapture.CaptureScreenshotAsTexture();
6825 int num = sprite.texture.width * 2;
6826 int num2 = sprite.texture.height * 2;
6827 int x = (int)Mathf.Clamp(Input.mousePosition.x - (float)(num / 2), 1f, texture2D.width - num - 1);
6828 int y = (int)Mathf.Clamp(Input.mousePosition.y - (float)(num2 / 2), 1f, texture2D.height - num2 - 1);
6829 Color[] pixels = texture2D.GetPixels(x, y, num, num2);
6830 Texture2D texture2D2 = new Texture2D(num, num2, TextureFormat.ARGB32, mipChain: false);
6831 texture2D2.SetPixels(pixels);
6832 texture2D2.Apply();
6833 byte[] result = texture2D2.EncodeToJPG();
6834 UnityEngine.Object.Destroy(texture2D);
6835 UnityEngine.Object.Destroy(texture2D2);
6836 return result;
6837 }
virtual Sprite GetSprite(int dir=0)
Definition: Card.cs:5876

References Color.

Referenced by AM_Paint.OnUpdateInput().

◆ GetPaintSprite()

Sprite Card.GetPaintSprite ( )
inline

Definition at line 6849 of file Card.cs.

6850 {
6851 if (!_paintSprite)
6852 {
6853 byte[] data = c_textureData;
6854 Texture2D texture2D = new Texture2D(1, 1);
6855 texture2D.LoadImage(data);
6856 _paintSprite = Sprite.Create(texture2D, new Rect(0f, 0f, texture2D.width, texture2D.height), new Vector2(0.5f, 0.5f), 200f);
6857 EClass.game.loadedTextures.Add(texture2D);
6858 if (trait is TraitCanvas traitCanvas)
6859 {
6860 texture2D.filterMode = ((!traitCanvas.PointFilter) ? FilterMode.Bilinear : FilterMode.Point);
6861 }
6862 }
6863 return _paintSprite;
6864 }
byte[] c_textureData
Definition: Card.cs:1891
HashSet< Texture2D > loadedTextures
Definition: Game.cs:254

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

7039 {
7040 if (priceType == PriceType.CopyShop && sell)
7041 {
7042 return 0;
7043 }
7044 if (!sell)
7045 {
7046 if (id == "littleball")
7047 {
7048 return 0;
7049 }
7050 switch (currency)
7051 {
7052 case CurrencyType.Ecopo:
7053 switch (id)
7054 {
7055 case "plat":
7056 return 500;
7057 case "rune_free":
7058 return 1000;
7059 case "whip_egg":
7060 return 3000;
7061 case "hammer_strip":
7062 return 5000;
7063 case "helm_chef":
7064 return 25000;
7065 }
7066 break;
7067 case CurrencyType.Plat:
7068 {
7069 string text = id;
7070 if (!(text == "lucky_coin"))
7071 {
7072 if (!(text == "book_skill"))
7073 {
7074 break;
7075 }
7076 return 50;
7077 }
7078 return 100;
7079 }
7080 case CurrencyType.Medal:
7081 switch (id)
7082 {
7083 case "bill_tax":
7084 return 3;
7085 case "water":
7086 return 3;
7087 case "bill":
7088 return 3;
7089 case "1165":
7090 return 10;
7091 case "diary_sister":
7092 return 12;
7093 case "diary_lady":
7094 return 25;
7095 case "diary_catsister":
7096 return 85;
7097 case "container_magic":
7098 return 20;
7099 case "wrench_tent_elec":
7100 return 3;
7101 case "wrench_tent_soil":
7102 return 3;
7103 case "wrench_tent_seabed":
7104 return 12;
7105 case "wrench_bed":
7106 return 3;
7107 case "wrench_storage":
7108 return 4;
7109 case "wrench_fridge":
7110 return 15;
7111 case "wrench_extend_v":
7112 return 6;
7113 case "wrench_extend_h":
7114 return 6;
7115 case "monsterball":
7116 return LV / 8;
7117 case "372":
7118 return 3;
7119 }
7120 break;
7121 }
7122 }
7123 if (sell && noSell)
7124 {
7125 return 0;
7126 }
7127 if (!sell && id == "casino_coin")
7128 {
7129 return 20;
7130 }
7131 int value = GetValue(priceType, sell);
7132 if (value == 0)
7133 {
7134 return 0;
7135 }
7136 if (c == null)
7137 {
7138 c = EClass.pc;
7139 }
7140 double p = value;
7141 Trait trait = this.trait;
7142 if (!(trait is TraitBed))
7143 {
7144 if (trait is TraitContainer traitContainer)
7145 {
7146 p *= 1f + 4f * (float)(things.width - traitContainer.Width) + 4f * (float)(things.height - traitContainer.Height);
7147 }
7148 }
7149 else
7150 {
7151 p *= 1f + 0.5f * (float)c_containerSize;
7152 }
7153 p += c_priceAdd;
7154 if (c_priceFix != 0)
7155 {
7156 p = (int)((float)p * (float)Mathf.Clamp(100 + c_priceFix, 0, 1000000) / 100f);
7157 if (p == 0.0)
7158 {
7159 return 0;
7160 }
7161 }
7162 if (isStolen)
7163 {
7164 if (sell && priceType == PriceType.PlayerShop && EClass.Branch != null && EClass.Branch.policies.IsActive(2824))
7165 {
7166 p = p * 100.0 / (double)Mathf.Max(110f, 170f - Mathf.Sqrt(EClass.Branch.Evalue(2824) * 5));
7167 }
7168 else if (sell && Guild.Thief.IsMember)
7169 {
7170 p = Guild.Thief.SellStolenPrice((int)p);
7171 }
7172 else
7173 {
7174 p *= 0.5;
7175 }
7176 }
7177 if (!sell && category.id == "spellbook")
7178 {
7179 p = Guild.Mage.BuySpellbookPrice((int)p);
7180 }
7181 bool flag = priceType == PriceType.CopyShop;
7182 int num = ((!flag) ? 1 : 5);
7183 float num2 = Mathf.Min(0.01f * (float)Evalue(752), 1f);
7184 float num3 = Mathf.Min(0.01f * (float)Evalue(751), 1f);
7185 float num4 = Mathf.Min(0.02f * (float)Evalue(759), 2f);
7186 if (num3 > 0f)
7187 {
7188 num3 *= (float)num;
7189 }
7190 float num5 = Mathf.Clamp(1f + num2 + num3, 0.5f, 5f) + num4;
7191 p *= num5;
7192 p *= 0.20000000298023224;
7193 if (sell)
7194 {
7195 p *= 0.20000000298023224;
7196 if (isCopy)
7197 {
7198 p *= 0.20000000298023224;
7199 }
7200 if (currency == CurrencyType.Money && (category.IsChildOf("meal") || category.IsChildOf("preserved")))
7201 {
7202 p *= 0.5;
7203 }
7204 if ((uint)(priceType - 1) <= 1u)
7205 {
7206 if (category.IsChildOf("fish"))
7207 {
7208 p *= ((EClass.pc.faith == EClass.game.religions.Luck) ? 1.5f : 1f);
7209 }
7210 if (category.IsChildOf("vegi") || category.IsChildOf("fruit"))
7211 {
7212 p *= ((EClass.pc.faith == EClass.game.religions.Harvest) ? 3f : 2f);
7213 }
7214 }
7215 }
7216 if (id == "rod_wish")
7217 {
7218 p *= (sell ? 0.01f : 50f);
7219 }
7220 switch (currency)
7221 {
7222 case CurrencyType.Ecopo:
7223 if (this.trait is TraitSeed)
7224 {
7225 p *= 2.0;
7226 }
7227 else if (this.trait is TraitEcoMark)
7228 {
7229 p *= 1.0;
7230 }
7231 else
7232 {
7233 p *= 0.20000000298023224;
7234 }
7235 break;
7236 case CurrencyType.Casino_coin:
7237 p *= 0.10000000149011612;
7238 break;
7239 case CurrencyType.Influence:
7240 p *= 0.0020000000949949026;
7241 break;
7242 case CurrencyType.Medal:
7243 p *= 0.00019999999494757503;
7244 break;
7245 case CurrencyType.Money2:
7246 p *= 0.004999999888241291;
7247 break;
7248 default:
7249 if (IsIdentified || (this.trait is TraitErohon && !sell) || priceType == PriceType.Tourism)
7250 {
7251 if (blessedState == BlessedState.Blessed)
7252 {
7253 p *= 1.25;
7254 }
7255 else if (blessedState <= BlessedState.Cursed)
7256 {
7257 p *= (flag ? 1.25f : 0.3f);
7258 }
7259 if (this.trait.HasCharges)
7260 {
7261 p = p * 0.05000000074505806 + p * (double)(0.5f + Mathf.Clamp(0.1f * (float)c_charges, 0f, 1.5f));
7262 }
7263 if (IsDecayed)
7264 {
7265 p *= (flag ? 0.9f : 0.5f);
7266 }
7267 }
7268 else
7269 {
7270 Rand.UseSeed(uid, delegate
7271 {
7272 p = (sell ? (1 + EClass.rnd(15)) : (50 + EClass.rnd(500)));
7273 });
7274 }
7275 if (!sell)
7276 {
7277 p *= 1f + 0.2f * (float)c.Evalue(1406);
7278 }
7279 break;
7280 }
7281 float num6 = Math.Clamp(Mathf.Sqrt(c.EvalueMax(291) + ((!sell && EClass._zone.IsPCFaction) ? (EClass.Branch.Evalue(2800) * 2) : 0)), 0f, 25f);
7282 switch (priceType)
7283 {
7284 case PriceType.Tourism:
7285 num6 = 0f;
7286 break;
7287 case PriceType.Shipping:
7288 if (sell)
7289 {
7290 p *= 1.100000023841858;
7291 }
7292 break;
7293 case PriceType.PlayerShop:
7294 {
7295 if (!sell)
7296 {
7297 break;
7298 }
7299 float num7 = 1.25f;
7300 if (EClass.Branch != null)
7301 {
7302 if (EClass.Branch.policies.IsActive(2817))
7303 {
7304 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2817));
7305 }
7306 if (EClass.Branch.policies.IsActive(2816))
7307 {
7308 num7 += 0.2f + 0.02f * Mathf.Sqrt(EClass.Branch.Evalue(2816));
7309 }
7310 if (isChara)
7311 {
7312 if (EClass.Branch.policies.IsActive(2828))
7313 {
7314 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2828));
7315 }
7316 }
7317 else if (category.IsChildOf("food") || category.IsChildOf("drink"))
7318 {
7319 if (EClass.Branch.policies.IsActive(2818))
7320 {
7321 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2818));
7322 }
7323 }
7324 else if (category.IsChildOf("furniture"))
7325 {
7326 if (EClass.Branch.policies.IsActive(2819))
7327 {
7328 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2819));
7329 }
7330 }
7331 else if (EClass.Branch.policies.IsActive(2820))
7332 {
7333 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2820));
7334 }
7335 }
7336 p *= num7;
7337 break;
7338 }
7339 }
7340 if ((uint)currency > 1u)
7341 {
7342 num6 = 0f;
7343 }
7344 p *= (sell ? (1f + num6 * 0.02f) : (1f - num6 * 0.02f));
7345 if (sell)
7346 {
7347 p = EClass.curve((int)p, 10000, 10000, 80);
7348 }
7349 if (p < 1.0)
7350 {
7351 p = ((!sell) ? 1 : 0);
7352 }
7353 if (!sell)
7354 {
7355 if (currency == CurrencyType.Casino_coin)
7356 {
7357 if (p > 100000.0)
7358 {
7359 p = Mathf.CeilToInt((float)p / 100000f) * 100000;
7360 }
7361 else if (p > 10000.0)
7362 {
7363 p = Mathf.CeilToInt((float)p / 10000f) * 10000;
7364 }
7365 else if (p > 1000.0)
7366 {
7367 p = Mathf.CeilToInt((float)p / 1000f) * 1000;
7368 }
7369 else if (p > 100.0)
7370 {
7371 p = Mathf.CeilToInt((float)p / 100f) * 100;
7372 }
7373 else if (p > 10.0)
7374 {
7375 p = Mathf.CeilToInt((float)p / 10f) * 10;
7376 }
7377 }
7378 if (this.trait is TraitDeed)
7379 {
7380 p *= Mathf.Pow(2f, EClass.player.flags.landDeedBought);
7381 }
7382 }
7383 if (p > (double)(sell ? 500000000 : 1000000000))
7384 {
7385 if (!sell)
7386 {
7387 return 1000000000;
7388 }
7389 return 500000000;
7390 }
7391 return (int)p;
7392 }
BlessedState
Definition: BlessedState.cs:2
@ currency
CurrencyType
Definition: CurrencyType.cs:2
PriceType
Definition: PriceType.cs:2
int c_priceFix
Definition: Card.cs:1111
int EvalueMax(int ele, int min=0)
Definition: Card.cs:2547
bool noSell
Definition: Card.cs:816
int c_priceAdd
Definition: Card.cs:1123
bool isStolen
Definition: Card.cs:840
bool IsIdentified
Definition: Card.cs:2339
int c_charges
Definition: Card.cs:1243
int Evalue(int ele)
PolicyManager policies
int BuySpellbookPrice(int a)
Definition: GuildMage.cs:17
int SellStolenPrice(int a)
Definition: GuildThief.cs:17
static GuildMage Mage
Definition: Guild.cs:58
bool IsMember
Definition: Guild.cs:72
static GuildThief Thief
Definition: Guild.cs:60
int landDeedBought
Definition: Player.cs:638
Flags flags
Definition: Player.cs:1050
bool IsActive(int id, int days=-1)
static void UseSeed(int seed, Action action)
Definition: Rand.cs:22
ReligionHarvest Harvest
ReligionLuck Luck
virtual bool HasCharges
Definition: Trait.cs:328

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

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

◆ GetRandomColor()

ref Color Card.GetRandomColor ( )
inline

Definition at line 5849 of file Card.cs.

5850 {
5851 int num = EClass.game.seed + refVal;
5852 num += id[0] % 10000;
5853 if (id.Length > 1)
5854 {
5855 num += id[1] % 1000;
5856 if (id.Length > 2)
5857 {
5858 num += id[2] % 1000;
5859 if (id.Length > 3)
5860 {
5861 num += id[3] % 1000;
5862 if (id.Length > 4)
5863 {
5864 num += id[4] % 1000;
5865 }
5866 }
5867 }
5868 }
5869 Rand.UseSeed(num, delegate
5870 {
5871 _randColor = EClass.sources.materials.rows[EClass.rnd(90)].matColor;
5872 });
5873 return ref _randColor;
5874 }
static Color _randColor
Definition: Card.cs:91

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

◆ GetRenderParam()

RenderParam Card.GetRenderParam ( )
inline

Definition at line 5776 of file Card.cs.

5777 {
5779 shared.color = 11010048f;
5780 shared.liquidLv = 0;
5781 shared.cell = null;
5782 SetRenderParam(shared);
5783 return shared;
5784 }
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:5786
static RenderParam shared
Definition: RenderParam.cs:5

References RenderParam.shared.

Referenced by EffectIRenderer.OnUpdate().

◆ GetRestrainer()

TraitShackle Card.GetRestrainer ( )
inline

Definition at line 6902 of file Card.cs.

6903 {
6904 foreach (Card item in pos.ListCards())
6905 {
6906 if (item.trait is TraitShackle && item.c_uidRefCard == uid)
6907 {
6908 return item.trait as TraitShackle;
6909 }
6910 }
6911 return null;
6912 }
List< Card > ListCards(bool includeMasked=false)
Definition: Point.cs:1035

References item, and Point.ListCards().

Referenced by BaseTileMap.DrawTile().

◆ GetRoot()

ICardParent Card.GetRoot ( )
inline

Implements ICardParent.

Definition at line 3315 of file Card.cs.

3316 {
3317 if (parent == null)
3318 {
3319 return this;
3320 }
3321 return parent.GetRoot();
3322 }
ICardParent GetRoot()

References ICardParent.GetRoot(), and parent.

Referenced by UIInventory.RefreshMenu().

◆ GetRootCard()

Card Card.GetRootCard ( )
inline

Definition at line 3324 of file Card.cs.

3325 {
3326 if (!(parent is Card card))
3327 {
3328 return this;
3329 }
3330 return card.GetRootCard();
3331 }

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

3524 {
3525 if (socketList != null)
3526 {
3527 foreach (SocketData socket in socketList)
3528 {
3529 if (socket.type == SocketData.Type.Rune && socket.idEle == idEle)
3530 {
3531 return socket;
3532 }
3533 }
3534 }
3535 return null;
3536 }

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

Referenced by Element.AddEncNote().

◆ GetSightRadius()

int Card.GetSightRadius ( )
inline

Definition at line 6184 of file Card.cs.

6185 {
6186 if (IsPC)
6187 {
6188 return EClass.player.lightRadius;
6189 }
6190 return (EClass._map.IsIndoor ? 4 : 5) + (IsPCFaction ? 1 : 0);
6191 }

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

5877 {
5878 if (trait is TraitAbility)
5879 {
5880 return (trait as TraitAbility).CreateAct()?.GetSprite() ?? EClass.core.refs.icons.defaultAbility;
5881 }
5882 return sourceCard.GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
5883 }
bool IsSnowTile
Definition: Cell.cs:782
Sprite defaultAbility
Definition: CoreRef.cs:118
Icons icons
Definition: CoreRef.cs:355
CoreRef refs
Definition: Core.cs:51
Cell cell
Definition: Point.cs:51
Sprite GetSprite(int dir=0, int skin=0, bool snow=false)
Definition: RenderRow.cs:261
virtual int IdSkin
Definition: Trait.cs:45

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

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

◆ GetSubPassData()

virtual SubPassData Card.GetSubPassData ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 6058 of file Card.cs.

6059 {
6060 return SubPassData.Default;
6061 }
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 6613 of file Card.cs.

6614 {
6615 bool flag = isChara && Chara.IsHumanSpeak;
6616 string text = MOD.listTalk.GetTalk(c_idTalk.IsEmpty(id), idTopic, useDefault, flag);
6617 if (!text.IsEmpty())
6618 {
6619 text = text.Split('|').RandomItem();
6620 if (!flag || (IsDeadOrSleeping && IsAliveInCurrentZone))
6621 {
6622 if (!text.StartsWith("(") && !text.StartsWith("*"))
6623 {
6624 text = "(" + text + ")";
6625 }
6626 text = text.Replace("。)", ")");
6627 }
6628 }
6629 return ApplyTone(text, stripPun);
6630 }
virtual bool IsDeadOrSleeping
Definition: Card.cs:2071
string c_idTalk
Definition: Card.cs:1543
bool IsHumanSpeak
Definition: Chara.cs:1001
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 6918 of file Card.cs.

6919 {
6920 int result = 0;
6921 if (row.id == 0)
6922 {
6923 return result;
6924 }
6925 result = row.value * mat.value / 100;
6926 if (result < 0)
6927 {
6928 result = 1;
6929 }
6930 return result;
6931 }
int id
Definition: TileRow.cs:8

References TileRow.id.

Referenced by PartialMap.Save().

◆ GetTotalQuality()

int Card.GetTotalQuality ( bool  applyBonus = true)
inline

Definition at line 3734 of file Card.cs.

3735 {
3736 int num = 5 + LV + material.quality;
3737 if (applyBonus)
3738 {
3739 num = num * (100 + Quality) / 100;
3740 }
3741 return num;
3742 }
int Quality
Definition: Card.cs:2387

References LV, material, and Quality.

Referenced by Hobby.GetEfficiency().

◆ GetValue()

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

Definition at line 6960 of file Card.cs.

6961 {
6962 int num = ((c_fixedValue == 0) ? trait.GetValue() : c_fixedValue);
6963 if (id == "plat" && !sell)
6964 {
6965 num = 10000;
6966 }
6967 if (num == 0)
6968 {
6969 return 0;
6970 }
6971 float num2 = num;
6972 if (priceType == PriceType.CopyShop)
6973 {
6974 num2 += (float)c_priceCopy * 0.2f;
6975 num2 = num2 * (float)Mathf.Max(150 + rarityLv, 150) / 100f;
6976 }
6977 else
6978 {
6979 num2 = num2 * (float)Mathf.Max(100 + rarityLv + Mathf.Min(QualityLv * 10, 200), 80) / 100f;
6980 }
6981 if (IsFood && !material.tag.Contains("food"))
6982 {
6983 num2 *= 0.5f;
6984 }
6985 float num3;
6987 {
6988 if (sell)
6989 {
6990 num2 *= 0.3f;
6991 }
6992 num3 = 2f;
6993 }
6994 else
6995 {
6996 num3 = 0.5f;
6997 }
6998 if (isReplica)
6999 {
7000 num2 *= 0.15f;
7001 }
7002 if (!IsUnique)
7003 {
7004 if (IsEquipmentOrRanged && rarity >= Rarity.Legendary)
7005 {
7006 num2 = Mathf.Max(num2, 1800f + num2 / 5f);
7007 }
7008 num2 = num2 * (100f + num3 * (float)(material.value - 100)) / 100f;
7010 {
7011 int num4 = 0;
7012 foreach (Element value in elements.dict.Values)
7013 {
7014 num4 += value.source.value;
7015 }
7016 num2 = num2 * (float)(100 + (sell ? ((int)MathF.Sqrt(num4) * 10) : num4)) / 100f;
7017 if (rarity >= Rarity.Legendary)
7018 {
7019 num2 = Mathf.Max(num2, 3600f + num2 / 5f);
7020 }
7021 }
7022 }
7023 if (trait is TraitRecipe && sell)
7024 {
7025 num2 *= 0.1f;
7026 }
7027 if (encLV != 0 && !category.tag.Contains("noEnc"))
7028 {
7029 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)))));
7030 }
7031 if (tier > 0)
7032 {
7033 num2 *= (float)(tier + 1);
7034 }
7035 return (int)num2;
7036 }
bool IsEquipmentOrRangedOrAmmo
Definition: Card.cs:2192
int c_fixedValue
Definition: Card.cs:1147
int c_priceCopy
Definition: Card.cs:1135
bool IsEquipmentOrRanged
Definition: Card.cs:2180
bool isReplica
Definition: Card.cs:684
int QualityLv
Definition: Card.cs:2389
virtual int GetValue()
Definition: Trait.cs:583

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

2479 {
2480 if (IsPC)
2481 {
2482 return Window.dictData.TryGetValue("LayerInventoryFloatMain0");
2483 }
2485 {
2486 return Window.dictData.TryGetValue("ChestMerchant");
2487 }
2488 return c_windowSaveData;
2489 }
Window.SaveData c_windowSaveData
Definition: Card.cs:1795
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 5602 of file Card.cs.

5603 {
5604 Card card = (ExistsOnMap ? this : (GetRootCard() ?? EClass.pc));
5605 EClass.player.forceTalk = true;
5606 card.Talk("giveBirth");
5607 EClass._zone.TryAddThing(t, card.pos);
5608 if (effect)
5609 {
5610 card.pos.PlayEffect("revive");
5611 card.pos.PlaySound("egg");
5612 PlayAnime(AnimeID.Shiver);
5613 if (isChara)
5614 {
5616 }
5617 }
5618 return t;
5619 }
bool ExistsOnMap
Definition: Card.cs:2047
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:5958
bool TryAddThing(Thing target, Point p, bool destroyIfFail=false)
Definition: Zone.cs:2183

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

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

◆ HasCondition< T >()

virtual bool Card.HasCondition< T > ( )
inlinevirtual

Reimplemented in Chara.

Type Constraints
T :Condition 

Definition at line 7604 of file Card.cs.

7604 : Condition
7605 {
7606 return false;
7607 }

◆ HasCraftBonusTrait()

bool Card.HasCraftBonusTrait ( )
inline

Definition at line 6724 of file Card.cs.

6725 {
6726 return ListCraftBonusTraits().Count > 0;
6727 }
List< Element > ListCraftBonusTraits()
Definition: Card.cs:6729

Referenced by CraftUtil.MixIngredients().

◆ HasEditorTag()

bool Card.HasEditorTag ( EditorTag  tag)
inline

Definition at line 2562 of file Card.cs.

2563 {
2564 return c_editorTags?.Contains(tag.ToString()) ?? false;
2565 }

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

5726 {
5727 return elements.Value(ele) >= req;
5728 }

References ElementContainer.Value().

Referenced by Chara._Move(), TraitAltar._OnOffer(), InvOwnerGene._OnProcess(), ActPlan._Update(), UICharaMaker.AddDomain(), ActMelee.Attack(), DramaCustomSequence.Build(), RecipeCard.Build(), RecipeCard.BuildIngredientList(), AttackProcess.CalcHit(), Chara.CanBeTempAlly(), TraitKettle.CanCopy(), Trait.CanEat(), TaskMine.CanMine(), TraitAltar.CanOffer(), ActNTR.CanPerform(), TaskChopWood.CanProgress(), ActThrow.CanThrow(), TraitCrafter.Craft(), RecipeCard.Craft(), FactionBranch.DailyOutcome(), ActEffect.DamageEle(), DamageHP(), Decay(), CharaBody.Equip(), AI_Fuck.Finish(), HotItemHeld.GetAct(), Chara.GetHoverText(), TaskHarvest.GetIdDismantled(), Religion.GetOfferingValue(), BaseTaskHarvest.GetText(), BaseTaskHarvest.GetToolEfficiency(), Chara.GiveGift(), TaskHarvest.HarvestThing(), Party.HasElement(), CharaBody.IsEquippable(), CharaBody.IsTooHeavyToEquip(), Recipe.Ingredient.IsValidIngredient(), Religion.JoinFaith(), CalcPlat.Learn(), LevelUp(), Props.ListThingStack(), Thing.ListValidTraits(), RecipeCard.MakeDish(), TraitSeed.MakeSeed(), CraftUtil.MixIngredients(), StatsMana.Mod(), StatsStamina.Mod(), Zone_Casino.OnActivate(), AM_Adv.OnBecomeNoGoal(), TraitTent.OnChangePlaceState(), Affinity.OnGift(), AI_Fish.ProgressFish.OnProgress(), InvOwnerGene.OnWriteNote(), ActRush.Perform(), ActThrow.Perform(), AttackProcess.Perform(), AttackProcess.Prepare(), 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(), TryMakeRandomItem(), 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 5730 of file Card.cs.

5731 {
5732 return HasElement(EClass.sources.elements.alias[id].id, req);
5733 }

References SourceManager.elements, and EClass.sources.

◆ HasElementNoCopy()

bool Card.HasElementNoCopy ( )
inline

Definition at line 5740 of file Card.cs.

5741 {
5742 if (HasElement(764))
5743 {
5744 return true;
5745 }
5746 if (HasElement(759))
5747 {
5748 return true;
5749 }
5750 if (HasElement(703))
5751 {
5752 return true;
5753 }
5754 return false;
5755 }

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

◆ HasGlobalElement()

bool Card.HasGlobalElement ( int  ele)
inline

Definition at line 5735 of file Card.cs.

5736 {
5737 return elements.GetElement(ele)?.IsGlobalElement ?? false;
5738 }
Element GetElement(string alias)
bool IsGlobalElement
Definition: ELEMENT.cs:345

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

Referenced by Evalue().

◆ HasLight()

bool Card.HasLight ( )
inline

Definition at line 6165 of file Card.cs.

6166 {
6167 return GetLightRadius() > 0;
6168 }

◆ HasRune()

bool Card.HasRune ( )
inline

Definition at line 3625 of file Card.cs.

3626 {
3627 return CountRune() > 0;
3628 }

References CountRune().

Referenced by TraitKettle.CanCopy().

◆ HasTag()

◆ HasTalk()

bool Card.HasTalk ( string  idTopic)
inline

Definition at line 6484 of file Card.cs.

6485 {
6486 return !MOD.listTalk.GetTalk(c_idTalk.IsEmpty(id), idTopic, useDefault: true).IsEmpty();
6487 }

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

◆ HaveFur()

bool Card.HaveFur ( )
inline

Definition at line 7609 of file Card.cs.

7610 {
7611 if (!isChara)
7612 {
7613 return false;
7614 }
7615 string text = id;
7616 if (text == "putty_snow" || text == "putty_snow_gold")
7617 {
7618 return true;
7619 }
7620 return !Chara.race.fur.IsEmpty();
7621 }

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

3902 {
3903 long num = a;
3904 if (origin == HealSource.Magic)
3905 {
3906 num = (long)a * (long)Mathf.Max(100 - Evalue(93), 1) / 100;
3907 }
3908 if (num > 100000000)
3909 {
3910 num = 100000000L;
3911 }
3912 hp += (int)num;
3913 if (hp > MaxHP)
3914 {
3915 hp = MaxHP;
3916 }
3917 switch (origin)
3918 {
3919 case HealSource.Magic:
3920 case HealSource.Item:
3921 PlaySound("heal");
3922 PlayEffect("heal");
3923 break;
3924 case HealSource.HOT:
3925 PlaySound("heal_tick");
3926 PlayEffect("heal_tick");
3927 break;
3928 }
3929 }
HealSource
Definition: HealSource.cs:2

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

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

◆ HealHPHost()

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

Definition at line 3885 of file Card.cs.

3886 {
3887 if (isChara)
3888 {
3889 if (Chara.parasite != null)
3890 {
3892 }
3893 if (Chara.ride != null)
3894 {
3895 Chara.ride.HealHP(a);
3896 }
3897 }
3898 HealHP(a, origin);
3899 }
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 7589 of file Card.cs.

7590 {
7591 SE.Play("pop_paper");
7592 if (isChara)
7593 {
7594 LayerChara layerChara = EClass.ui.AddLayerDontCloseOthers<LayerChara>();
7595 layerChara.windows[0].SetRect(EClass.core.refs.rects.center);
7596 layerChara.SetChara(Chara);
7597 }
7598 else
7599 {
7600 EClass.ui.AddLayerDontCloseOthers<LayerInfo>().SetThing(Thing);
7601 }
7602 }
RectData center
Definition: CoreRef.cs:166
Rects rects
Definition: CoreRef.cs:361
static UI ui
Definition: EClass.cs:16
LayerChara SetChara(Chara c)
Definition: LayerChara.cs:9
List< Window > windows
Definition: Layer.cs:116

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

Referenced by ActPlan._Update().

◆ Install()

◆ IsChildOf()

bool Card.IsChildOf ( Card  c)
inline

Definition at line 2623 of file Card.cs.

2624 {
2625 return GetRootCard() == c;
2626 }

References GetRootCard().

Referenced by AI_OpenGambleChest.IsValid().

◆ IsExcludeFromCraft()

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

Definition at line 2491 of file Card.cs.

2492 {
2493 if ((IsUnique && ing.id != id && !ing.idOther.Contains(id)) || c_isImportant)
2494 {
2495 return true;
2496 }
2497 if (parent is Card card)
2498 {
2499 if (card.trait is TraitChestMerchant)
2500 {
2501 return true;
2502 }
2503 if (card.isSale || !card.trait.CanUseContent)
2504 {
2505 return true;
2506 }
2507 Window.SaveData windowSaveData = card.GetWindowSaveData();
2508 if (windowSaveData != null)
2509 {
2510 return windowSaveData.excludeCraft;
2511 }
2512 }
2513 return false;
2514 }
bool c_isImportant
Definition: Card.cs:998
List< string > idOther
Definition: Recipe.cs:41
bool excludeCraft
Definition: Window.cs:379

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

Referenced by Props.ListThingStack().

◆ IsInMutterDistance()

bool Card.IsInMutterDistance ( int  d = 10)
inline

Definition at line 7448 of file Card.cs.

7449 {
7450 return pos.Distance(EClass.pc.pos) < d;
7451 }

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

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

◆ IsStackable()

bool Card.IsStackable ( Thing  tg)
inline

Definition at line 3333 of file Card.cs.

3334 {
3335 if (id != tg.id || material != tg.material)
3336 {
3337 return false;
3338 }
3339 return true;
3340 }

References id, and material.

◆ KillAnime()

void Card.KillAnime ( )
inline

Definition at line 5953 of file Card.cs.

5954 {
5956 }
virtual void KillAnime()

References CardRenderer.KillAnime().

Referenced by ActThrow.Throw().

◆ LevelUp()

void Card.LevelUp ( )
inline

Definition at line 2946 of file Card.cs.

2947 {
2948 if (IsPC)
2949 {
2951 {
2952 Msg.Say("demoLimit");
2953 return;
2954 }
2956 Tutorial.Reserve("feat");
2957 }
2958 feat++;
2959 LV++;
2960 Say("dingExp", this);
2961 PlaySound("jingle_lvup");
2962 PlayEffect("aura_heaven");
2963 if (HasElement(1415) && Evalue(1415) < 9 && LV >= Evalue(1415) * 5 + 10)
2964 {
2965 Chara.SetFeat(1415, Evalue(1415) + 1, msg: true);
2966 }
2967 if (IsPC)
2968 {
2969 return;
2970 }
2971 if (Chara.race.id == "mutant")
2972 {
2973 int num = Mathf.Min(1 + LV / 5, 20);
2974 for (int i = 0; i < num; i++)
2975 {
2976 if (Evalue(1644) < i + 1)
2977 {
2978 Chara.SetFeat(1644, i + 1, msg: true);
2979 }
2980 }
2981 }
2982 Chara.TryUpgrade();
2983 }
Version version
Definition: BaseCore.cs:17
int feat
Definition: Card.cs:360
void SetFeat(int id, int value=1, bool msg=false)
Definition: Chara.cs:9484
void TryUpgrade(bool msg=true)
Definition: Chara.cs:8248
int totalFeat
Definition: Player.cs:864
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 6729 of file Card.cs.

6730 {
6731 List<Element> list = new List<Element>();
6732 string[] tag = sourceCard.tag;
6733 for (int i = 0; i < tag.Length; i++)
6734 {
6735 string[] array = tag[i].Split('/');
6736 if (!(array[0] != "craft_bonus"))
6737 {
6738 Element item = Element.Create(array[1], array[2].ToInt());
6739 list.Add(item);
6740 }
6741 }
6742 return list;
6743 }

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

6007 {
6008 }

Referenced by ActThrow.Throw().

◆ LookAt() [2/2]

virtual void Card.LookAt ( Point  p)
inlinevirtual

Reimplemented in Chara.

Definition at line 6010 of file Card.cs.

6011 {
6012 }

◆ MakeEgg()

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

Definition at line 5562 of file Card.cs.

5563 {
5564 Thing thing = ThingGen.Create((EClass.rnd(EClass.debug.enable ? 1 : fertChance) == 0) ? "egg_fertilized" : "_egg").SetNum(num);
5565 thing.MakeFoodFrom(this);
5566 thing.c_idMainElement = c_idMainElement;
5567 if (state.HasValue)
5568 {
5569 thing.SetBlessedState(state.Value);
5570 }
5571 if (!addToZone)
5572 {
5573 return thing;
5574 }
5575 return GiveBirth(thing, effect);
5576 }
int c_idMainElement
Definition: Card.cs:1387
Thing GiveBirth(Thing t, bool effect)
Definition: Card.cs:5602
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:3793
Card MakeFoodFrom(string _id)
Definition: Card.cs:5353

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

5540 {
5541 MakeRefFrom(id);
5542 }
Card MakeRefFrom(string id)
Definition: Card.cs:5544

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

◆ MakeFoodFrom() [1/2]

Card Card.MakeFoodFrom ( Card  c)
inline

Definition at line 5358 of file Card.cs.

5359 {
5360 MakeRefFrom(c);
5362 if (!c.isChara)
5363 {
5364 return this;
5365 }
5366 SourceRace.Row race = c.Chara.race;
5367 int num = race.food[0].ToInt();
5368 bool flag = id == "meat_marble";
5369 int num2 = 1;
5370 bool flag2 = category.IsChildOf("meat");
5371 bool flag3 = category.IsChildOf("egg");
5372 if (flag)
5373 {
5374 num += 100;
5375 }
5376 if (flag2)
5377 {
5378 if (c.IsPCFaction && c.IsUnique)
5379 {
5380 num = -100;
5381 }
5382 elements.SetBase(70, race.STR * race.STR / 5 * num / 100 - 10 + num / 10);
5383 if (flag)
5384 {
5385 elements.SetBase(440, race.END * race.END / 5 * num / 100 - 10 + num / 10);
5386 }
5387 elements.SetBase(71, (int)Mathf.Clamp((float)(num / 10) + Mathf.Sqrt(race.height) - 10f, 1f, 60f));
5388 }
5389 else if (flag3)
5390 {
5391 elements.SetBase(444, race.LER * race.LER / 5 * num / 100 - 10 + num / 10);
5392 num2 = 2;
5393 }
5394 else
5395 {
5396 num2 = 3;
5397 }
5398 if (flag2)
5399 {
5400 if (c.Chara.IsHuman)
5401 {
5402 elements.SetBase(708, 1);
5403 }
5404 if (c.Chara.IsUndead)
5405 {
5406 elements.SetBase(709, 1);
5407 }
5408 }
5409 foreach (Element value in c.elements.dict.Values)
5410 {
5411 if ((!flag3 || value.id != 1229) && (value.source.category == "food" || value.source.tag.Contains("foodEnc") || value.IsTrait))
5412 {
5413 elements.SetBase(value.id, value.Value);
5414 }
5415 }
5416 List<Tuple<int, int>> list = new List<Tuple<int, int>>();
5417 foreach (KeyValuePair<int, int> item in race.elementMap)
5418 {
5419 if (EClass.sources.elements.map[item.Key].tag.Contains("primary"))
5420 {
5421 list.Add(new Tuple<int, int>(item.Key, item.Value));
5422 }
5423 }
5424 list.Sort((Tuple<int, int> a, Tuple<int, int> b) => b.Item2 - a.Item2);
5425 for (int i = 0; i < num2 && i < list.Count; i++)
5426 {
5427 Tuple<int, int> tuple = list[i];
5428 elements.SetBase(tuple.Item1, tuple.Item2 * tuple.Item2 / 4);
5429 }
5430 if (c.Chara.IsUndead)
5431 {
5432 elements.ModBase(73, -20);
5433 }
5434 isWeightChanged = true;
5435 c_weight = race.height * 4 + 100;
5438 int num3 = c.LV - c.sourceCard.LV;
5439 if (num3 < 0)
5440 {
5441 num3 = 0;
5442 }
5443 num3 = EClass.curve(num3, 10, 10, 80);
5444 if (c.rarity >= Rarity.Legendary || c.IsUnique)
5445 {
5446 num3 += 60;
5447 }
5448 if (flag2 && c.IsPCFaction && c.IsUnique)
5449 {
5450 num3 = 0;
5451 }
5452 if (num3 > 0)
5453 {
5454 elements.ModBase(2, num3);
5455 }
5456 return this;
5457 }
bool IsHuman
Definition: Chara.cs:877
bool IsUndead
Definition: Chara.cs:889
Element SetBase(string alias, int v, int potential=0)
int Value
Definition: ELEMENT.cs:292
bool IsTrait
Definition: ELEMENT.cs:362
int LV
Definition: RenderRow.cs:22
string[] food
Definition: SourceRace.cs:89
Dictionary< int, int > elementMap
Definition: SourceRace.cs:97

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

◆ MakeFoodFrom() [2/2]

Card Card.MakeFoodFrom ( string  _id)
inline

Definition at line 5353 of file Card.cs.

5354 {
5355 return MakeFoodFrom(EClass.sources.cards.map[_id].model);
5356 }
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 5459 of file Card.cs.

5460 {
5461 Card card = c1;
5462 Card card2 = c2;
5463 if (IsIgnoreName(card))
5464 {
5465 card = null;
5466 }
5467 if (IsIgnoreName(card2))
5468 {
5469 card2 = null;
5470 }
5471 if (card == null && card2 != null)
5472 {
5473 card = card2;
5474 card2 = null;
5475 }
5476 if (card != null)
5477 {
5478 MakeRefFrom(card, card2);
5479 if (card.c_idRefCard != null)
5480 {
5481 c_idRefCard = card.c_idRefCard;
5483 }
5484 if (card2 != null && card2.c_idRefCard != null)
5485 {
5486 c_idRefCard2 = card2.c_idRefCard;
5487 c_altName2 = TryGetFoodName(card2);
5488 }
5489 }
5490 static bool IsIgnoreName(Card c)
5491 {
5492 if (c == null)
5493 {
5494 return true;
5495 }
5496 switch (c.id)
5497 {
5498 case "dough_cake":
5499 case "dough_bread":
5500 case "noodle":
5501 case "flour":
5502 case "rice":
5503 return true;
5504 default:
5505 return false;
5506 }
5507 }
5508 }
string c_altName
Definition: Card.cs:1567
string TryGetFoodName(Card c)
Definition: Card.cs:5510
string c_altName2
Definition: Card.cs:1579
string c_idRefCard2
Definition: Card.cs:1723
string c_idRefCard
Definition: Card.cs:1711

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

5579 {
5580 Thing thing = ThingGen.Create("milk").SetNum(num);
5581 thing.MakeRefFrom(this);
5582 if (state.HasValue)
5583 {
5584 thing.SetBlessedState(state.Value);
5585 }
5586 int num2 = LV - sourceCard.LV;
5588 {
5589 num2 = 0;
5590 }
5591 if (num2 >= 10)
5592 {
5593 thing.SetEncLv(num2 / 10);
5594 }
5595 if (!addToZone)
5596 {
5597 return thing;
5598 }
5599 return GiveBirth(thing, effect);
5600 }
void SetEncLv(int a)
Definition: Card.cs:3762

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

5551 {
5552 c_idRefCard = c1.id;
5553 c_altName = (c1.IsPC ? c1.c_altName : c1.GetName(NameStyle.Ref, (!c1.isChara) ? 1 : 0));
5554 if (c2 != null)
5555 {
5556 c_idRefCard2 = c2.id;
5557 c_altName2 = (c2.IsPC ? c2.c_altName : c2.GetName(NameStyle.Ref, (!c2.isChara) ? 1 : 0));
5558 }
5559 c_extraNameRef = (c1.IsPC ? EClass.pc.c_altName : c1.c_extraNameRef);
5560 }
NameStyle
Definition: NameStyle.cs:2
virtual string GetName(NameStyle style, int num=-1)
Definition: Card.cs:2577
string c_extraNameRef
Definition: Card.cs:1591

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

◆ MakeRefFrom() [2/2]

Card Card.MakeRefFrom ( string  id)
inline

◆ MatchEncSearch()

virtual bool Card.MatchEncSearch ( string  s)
inlinevirtual

Reimplemented in Thing.

Definition at line 7479 of file Card.cs.

7480 {
7481 return false;
7482 }

◆ MaxRune()

int Card.MaxRune ( )
inline

Definition at line 3554 of file Card.cs.

3555 {
3556 return ((!IsUnique) ? 1 : 0) + Evalue(484);
3557 }

References Evalue(), and IsUnique.

Referenced by CanAddRune().

◆ Mod()

void Card.Mod ( )
inline

Definition at line 2473 of file Card.cs.

2474 {
2475 isModified = true;
2476 }
bool isModified
Definition: Card.cs:456

References isModified.

◆ ModCharge()

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

Definition at line 3848 of file Card.cs.

3849 {
3850 c_charges += a;
3852 if (c_charges <= 0 && destroy)
3853 {
3854 Say("spellbookCrumble", this);
3855 ModNum(-1);
3856 }
3857 }
void ModNum(int a, bool notify=true)
Definition: Card.cs:3413

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

3860 {
3861 if (a != 0)
3862 {
3863 if (id == "influence")
3864 {
3866 return;
3867 }
3868 SourceMaterial.Row mat = null;
3869 things.AddCurrency(this, id, a, mat);
3870 }
3871 }
void AddCurrency(Card owner, string id, int a, SourceMaterial.Row mat=null)
void ModInfluence(int a)
Definition: Zone.cs:3462

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

3745 {
3746 ApplyMaterialElements(remove: true);
3747 encLV += a;
3748 ApplyMaterialElements(remove: false);
3750 {
3751 if (IsWeapon || IsAmmo)
3752 {
3753 elements.ModBase(67, a);
3754 }
3755 else
3756 {
3757 elements.ModBase(65, a * 2);
3758 }
3759 }
3760 }
bool IsAmmo
Definition: Card.cs:2209

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

2616 {
2617 if (isChara)
2618 {
2619 elements.ModExp(ele, a);
2620 }
2621 }

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

◆ ModExp() [2/2]

◆ ModNum()

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

Definition at line 3413 of file Card.cs.

3414 {
3415 if (Num + a < 0)
3416 {
3417 a = -Num;
3418 }
3419 Num += a;
3420 if (props != null)
3421 {
3422 props.OnNumChange(this, a);
3423 }
3424 if (parent != null)
3425 {
3427 }
3428 if (a > 0 && EClass.core.IsGameStarted && GetRootCard() == EClass.pc && notify)
3429 {
3431 }
3433 if (Num <= 0)
3434 {
3435 Destroy();
3436 }
3437 }
Props props
Definition: Card.cs:49
void OnNumChange(Card c, int a)
Definition: Props.cs:160
void OnChildNumChange(Card c)

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

Referenced by InvOwnerChangeMaterial._OnProcess(), InvOwnerChaosOffering._OnProcess(), InvOwnerMod._OnProcess(), ThingContainer.AddCurrency(), DramaOutcome.chara_hired_ticket(), TraitCrafter.Craft(), SourceMaterial.Row.CreateByProduct(), FactionBranch.DailyOutcome(), Chara.Drink(), DramaOutcome.duponne_capture(), TraitDye.Dye(), HitSummary.Execute(), 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_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 5638 of file Card.cs.

5639 {
5640 if (p == null)
5641 {
5642 return;
5643 }
5644 EClass._map.MoveCard(p, this);
5645 if (!IsPC || focus)
5646 {
5647 renderer.SetFirst(first: true, p.PositionCenter());
5648 }
5649 if (isChara)
5650 {
5651 if (cancelAI)
5652 {
5653 Chara.ai.Cancel();
5654 }
5655 Chara.SyncRide();
5656 }
5657 if (IsPC && focus)
5658 {
5661 }
5662 }
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(), AI_Sleep.OnProgressComplete(), GoalGraze.OnSimulatePosition(), GoalSleep.OnSimulatePosition(), GoalWork.OnSimulatePosition(), TraitShackle.OnUse(), ActRush.Perform(), LayerTravel.Refresh(), AI_Trolley.Run(), Meeting.SetChara(), MeetingManager.Start(), ConSleep.Tick(), and ActRide.Unride().

◆ NotifyAddThing()

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

Definition at line 3053 of file Card.cs.

3054 {
3055 }

Referenced by AddThing(), and ModNum().

◆ OnBeforeCreate()

virtual void Card.OnBeforeCreate ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 2800 of file Card.cs.

2801 {
2802 }

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

2805 {
2806 }

Referenced by Create().

◆ OnDeserialized()

virtual void Card.OnDeserialized ( )
inlineprotectedvirtual

Reimplemented in Chara.

Definition at line 2688 of file Card.cs.

2689 {
2690 }

Referenced by _OnDeserialized().

◆ OnInspect()

void Card.OnInspect ( )
inline

Implements IInspect.

Definition at line 7581 of file Card.cs.

7582 {
7583 }

◆ OnLand()

virtual void Card.OnLand ( )
inlinevirtual

Definition at line 5706 of file Card.cs.

5707 {
5709 {
5710 PlayEffect("ripple");
5711 PlaySound("Footstep/water");
5712 }
5713 }
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 2649 of file Card.cs.

2650 {
2651 }

Referenced by _OnSerializing().

◆ OnSimulateHour()

virtual void Card.OnSimulateHour ( VirtualDate  date)
inlinevirtual

Definition at line 6360 of file Card.cs.

6361 {
6362 trait.OnSimulateHour(date);
6363 if (date.IsRealTime)
6364 {
6365 DecayNatural();
6366 }
6367 }
virtual void OnSimulateHour(VirtualDate date)
Definition: Trait.cs:687
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 5963 of file Card.cs.

5964 {
5965 renderer.PlayAnime(id, dest);
5966 }

References CardRenderer.PlayAnime().

◆ PlayAnimeLoot()

void Card.PlayAnimeLoot ( )
inline

Definition at line 5968 of file Card.cs.

5969 {
5971 }

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

5984 {
5985 Effect effect = Effect.Get("Element/" + EClass.sources.elements.map[ele].alias);
5986 if (effect == null)
5987 {
5988 Debug.Log(ele);
5989 return;
5990 }
5991 Card rootCard = GetRootCard();
5992 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));
5993 }
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 5973 of file Card.cs.

5974 {
5975 if (id.IsEmpty())
5976 {
5977 return null;
5978 }
5979 Card rootCard = GetRootCard();
5980 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));
5981 }

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(), ZoneEventSiege.SpawnMob(), TraitAltar.TakeOver(), ActThrow.Throw(), ConBurning.Tick(), Religion.TryGetGift(), ActPray.TryPray(), Chara.TryPush(), TraitFoodEgg.Update(), CoreDebug.UpdateInput(), and FactionBranch.Upgrade().

◆ PlaySound()

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

Definition at line 5939 of file Card.cs.

5940 {
5941 Card rootCard = GetRootCard();
5942 if (rootCard.IsPC)
5943 {
5944 spatial = false;
5945 }
5946 if (rootCard.Dist(EClass.pc) < EClass.player.lightRadius + 1 || !spatial)
5947 {
5948 return rootCard.pos.PlaySound(id, isSynced || !spatial, v, spatial);
5949 }
5950 return null;
5951 }

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

Referenced by Chara._Move(), RecipeManager.Add(), Chara.AddRandomBodyPart(), ActMelee.Attack(), Core.Awake(), Recipe.Build(), RecipeCard.Build(), AI_Shopping.Buy(), Zone.ClaimZone(), Trait.CookProgress(), TraitCrafter.Craft(), AI_OpenLock.CreateProgress(), ActEffect.DamageEle(), CardRenderer.Draw(), TraitDye.Dye(), CharaBody.Equip(), AI_Fuck.Finish(), AI_Massage.Finish(), Chara.GiveGift(), Chara.GiveLovePotion(), HealHP(), TraitChopper.IdleUse(), TraitGamble.IdleUse(), Trait.Install(), LevelUp(), TraitSeed.MakeSeed(), TraitNewZone.MoveZone(), Trait.Offer(), TraitChangingRoom.OnActivateTrap(), TraitSeesaw.OnActivateTrap(), TraitTrap.OnActivateTrap(), AIWork_Lumberjack.OnCreateProgress(), AIWork_Research.OnCreateProgress(), TaskDig.OnCreateProgress(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), TraitDrinkMilkMother.OnDrink(), Affinity.OnGift(), ElementContainerCard.OnModTempPotential(), TraitAltar.OnOffer(), TraitDoorBell.OnOpenDoor(), AI_Farm.OnProgress(), AI_Fish.ProgressFish.OnProgress(), AI_Water.OnProgress(), TaskCraft.OnProgress(), AI_Fish.ProgressFish.OnProgressComplete(), AI_Water.OnProgressComplete(), TaskBuild.OnProgressComplete(), TraitBaseSpellbook.OnRead(), TraitBookSecret.OnRead(), TraitDeedRelocate.OnRead(), TraitDiary.OnRead(), TraitIndulgence.OnRead(), ConSleep.OnRemoved(), TraitJukeBox.OnSetBGM(), TraitToolTorch.OnSetCurrentItem(), TraitClock.OnSimulateHour(), TraitFertilizer.OnSimulateHour(), AI_Fish.ProgressFish.OnStart(), ConBoost.OnStart(), TraitMiniPool.OnStepped(), TraitSwing.OnSteppedOut(), TraitLeverBreaker.OnToggle(), Scene.OnUpdate(), TraitDaggerGrave.OnUse(), TraitEquipItem.OnUse(), TraitGeneMachine.OnUse(), TraitGiftJure.OnUse(), TraitStairsLocked.OnUse(), TraitWhistlePeace.OnUse(), TraitFoodMeat.OnUse(), DramaManager.ParseLine(), ActBash.Perform(), ActClearWater.Perform(), ActCryRage.Perform(), ActCrySad.Perform(), ActDrawWater.Perform(), ActDreamBug.Perform(), 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(), LayerPixelPaint.SetCanvas(), TraitGenerator.ShortOut(), ZoneEventSiege.SpawnMob(), ActThrow.Throw(), ConBurning.Tick(), Trait.Toggle(), TraitDoor.ToggleDoor(), TraitDoorSwing.ToggleDoor(), TraitToolTorch.ToggleOn(), TraitSwitch.TryDisarmTrap(), Trait.TryOpenLock(), ActPray.TryPray(), Chara.TryPush(), AI_Shopping.TryRestock(), TraitWell.TrySetAct(), Trait.Uninstall(), ActRide.Unride(), TraitFoodEgg.Update(), and CoreDebug.UpdateInput().

◆ PlaySoundDead()

void Card.PlaySoundDead ( bool  spatial = true)
inline

Definition at line 5934 of file Card.cs.

5935 {
5936 PlaySound(material.GetSoundDead(sourceCard), 1f, spatial);
5937 }

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

5920 {
5921 PlaySound(material.GetSoundDrop(sourceCard), 1f, spatial);
5922 }

References material.

◆ PlaySoundImpact()

void Card.PlaySoundImpact ( bool  spatial = true)
inline

Definition at line 5929 of file Card.cs.

5930 {
5931 PlaySound(material.GetSoundImpact(sourceCard), 1f, spatial);
5932 }

References material.

Referenced by TaskChopWood.OnCreateProgress().

◆ PurgeDuplicateArtifact()

void Card.PurgeDuplicateArtifact ( Thing  af)
inline

Definition at line 3175 of file Card.cs.

3176 {
3177 List<Chara> list = new List<Chara>();
3178 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
3179 {
3180 foreach (Chara member in child.members)
3181 {
3182 list.Add(member);
3183 }
3184 }
3185 foreach (Chara chara in EClass._map.charas)
3186 {
3187 list.Add(chara);
3188 }
3189 foreach (Chara item in list)
3190 {
3191 if (!item.IsPCFactionOrMinion)
3192 {
3193 continue;
3194 }
3195 List<Thing> list2 = item.things.List((Thing t) => t.id == af.id && t != af);
3196 if (list2.Count == 0)
3197 {
3198 continue;
3199 }
3200 foreach (Thing item2 in list2)
3201 {
3202 Msg.Say("destroyed_inv_", item2, item);
3203 item2.Destroy();
3204 }
3205 }
3206 }
Faction faction
Definition: Chara.cs:425
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 2692 of file Card.cs.

2693 {
2694 return "c" + uid;
2695 }

References uid.

◆ RefreshColor()

void Card.RefreshColor ( )
inline

Definition at line 5807 of file Card.cs.

5808 {
5809 if (isChara)
5810 {
5811 if (isDyed)
5812 {
5814 }
5815 else if (isElemental)
5816 {
5818 }
5819 else
5820 {
5821 _colorInt = 104025;
5822 }
5823 }
5824 else if (isDyed)
5825 {
5827 {
5829 }
5830 else
5831 {
5833 }
5834 }
5836 {
5838 }
5840 {
5842 }
5843 else
5844 {
5846 }
5847 }
static int GetColorInt(ref Color matColor, int p)
bool isElemental
Definition: Card.cs:708
SourceMaterial.Row DyeMat
Definition: Card.cs:1902
virtual CardRow sourceRenderCard
Definition: Card.cs:2095
ref Color GetRandomColor()
Definition: Card.cs:5849
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 6798 of file Card.cs.

6799 {
6800 if (c_idBacker == 164)
6801 {
6802 Chara.things.Find("amulet_moonnight")?.Destroy();
6803 }
6804 c_idBacker = 0;
6805 }

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

3049 {
3050 RemoveThing(c as Thing);
3051 }
void RemoveThing(Thing thing)
Definition: Card.cs:3216

References RemoveThing().

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

◆ RemoveEditorTag()

void Card.RemoveEditorTag ( EditorTag  tag)
inline

Definition at line 2572 of file Card.cs.

2573 {
2574 c_editorTags = (c_editorTags.IsEmpty() ? null : c_editorTags.Replace(tag.ToString(), "").Replace(",,", ","));
2575 }

References c_editorTags.

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

◆ RemoveThing()

void Card.RemoveThing ( Thing  thing)
inline

Definition at line 3216 of file Card.cs.

3217 {
3218 Card rootCard = GetRootCard();
3219 if (rootCard != null && rootCard.isChara && (rootCard.Chara.held == thing || (rootCard.IsPC && thing.things.Find((Thing t) => EClass.pc.held == t) != null)))
3220 {
3221 rootCard.Chara.held = null;
3222 if (rootCard.IsPC)
3223 {
3225 if ((bool)instance && instance.selected != -1 && instance.selectedButton.card != null && instance.selectedButton.card == thing)
3226 {
3227 instance.selectedButton.card = null;
3228 }
3230 ActionMode.AdvOrRegion.updatePlans = true;
3231 LayerInventory.SetDirty(thing);
3232 }
3234 }
3235 dirtyWeight = true;
3236 if (thing.c_equippedSlot != 0 && isChara)
3237 {
3238 Chara.body.Unequip(thing);
3239 }
3240 things.Remove(thing);
3241 things.OnRemove(thing);
3242 if (isSale && things.Count == 0 && IsContainer)
3243 {
3244 isSale = false;
3245 EClass._map.props.sales.Remove(this);
3246 }
3247 if (thing.invY == 1)
3248 {
3249 WidgetCurrentTool.dirty = true;
3250 }
3251 thing.invX = -1;
3252 thing.invY = 0;
3253 if (thing.props != null)
3254 {
3255 thing.props.Remove(thing);
3256 }
3259 {
3260 LayerInventory.SetDirty(thing);
3261 WidgetHotbar.dirtyCurrentItem = true;
3262 thing.parent = null;
3263 if (thing.trait.IsContainer)
3264 {
3265 foreach (LayerInventory item in LayerInventory.listInv.Copy())
3266 {
3267 if (item.invs[0].owner.Container.GetRootCard() != EClass.pc && item.floatInv)
3268 {
3269 EClass.ui.layerFloat.RemoveLayer(item);
3270 }
3271 }
3272 }
3273 }
3274 thing.parent = null;
3275 }
Card card
Definition: ButtonGrid.cs:24
int c_equippedSlot
Definition: Card.cs:926
int invY
Definition: Card.cs:1917
bool isSale
Definition: Card.cs:852
void RecalculateFOV()
Definition: Card.cs:6151
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:2131
List< Card > sales
Definition: PropsManager.cs:14
void Remove(Card t)
Definition: Props.cs:115
void OnRemove(Thing t)
virtual bool IsContainer
Definition: Trait.cs:212
static WidgetCurrentTool Instance
ButtonGrid selectedButton

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

Referenced by RemoveCard(), and RemoveThings().

◆ RemoveThings()

void Card.RemoveThings ( )
inline

Definition at line 3208 of file Card.cs.

3209 {
3210 for (int num = things.Count - 1; num >= 0; num--)
3211 {
3212 RemoveThing(things[num]);
3213 }
3214 }

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

6088 {
6089 if (dir != -1)
6090 {
6091 this.dir = dir;
6092 }
6093 Vector3 v = point.Position();
6094 bool skipRender = point.cell.skipRender;
6095 if (result != 0 && EClass.screen.guide.isActive && !skipRender)
6096 {
6097 EClass.screen.guide.passGuideBlock.Add(ref v, (point.HasObj || point.HasChara) ? 5 : 0);
6098 }
6099 if (!main)
6100 {
6101 return;
6102 }
6103 RenderParam renderParam = GetRenderParam();
6105 {
6106 renderParam.x = v.x;
6107 renderParam.y = v.y;
6108 renderParam.z = v.z;
6109 EClass.screen.tileMap.SetRoofHeight(renderParam, point.cell, point.x, point.z);
6110 v.x = renderParam.x;
6111 v.y = renderParam.y;
6112 v.z = renderParam.z;
6113 }
6115 {
6116 TileType.GetMountHeight(ref v, point, this.dir, this);
6117 }
6118 v.z += EClass.setting.render.thingZ;
6119 if (!skipRender)
6120 {
6121 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
6122 if (freePos)
6123 {
6124 v.x += fx;
6125 v.y += fy;
6126 v.z += thingPosition.z;
6127 }
6128 else
6129 {
6130 v += thingPosition;
6131 }
6132 }
6133 if (useCurrentPosition)
6134 {
6135 v = renderer.position;
6136 v.z += -0.01f;
6137 }
6138 if (TileType == TileType.Door)
6139 {
6140 v.z -= 0.5f;
6141 }
6142 renderParam.matColor = (active ? EClass.Colors.blockColors.Active : EClass.Colors.blockColors.Inactive);
6143 point.ApplyAnime(ref v);
6144 if (renderer.hasActor)
6145 {
6147 }
6148 renderer.Draw(renderParam, ref v, drawShadow: false);
6149 }
virtual bool IsRoofEditMode(Card c=null)
Definition: ActionMode.cs:311
ScreenGuide guide
BaseTileMap tileMap
void SetRoofHeight(MeshPassParam _param, Cell _cell, int _cx, int _cz, int h=0, int altitude=0, int dirWall=-1, bool ignoreAltitudeY=false)
Vector3 GetThingPosition(Card tg, Point p)
virtual void RefreshSprite()
Definition: CardActor.cs:224
override void Draw(RenderParam p)
Definition: CardRenderer.cs:53
CardActor actor
Definition: CardRenderer.cs:11
float fy
Definition: Card.cs:252
float fx
Definition: Card.cs:240
RenderParam GetRenderParam()
Definition: Card.cs:5776
bool freePos
Definition: Card.cs:504
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:1309
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:383
virtual bool UseMountHeight
Definition: TileType.cs:221
static TileTypeDoor Door
Definition: TileType.cs:95

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

Referenced by RecipeCard.OnRenderMarker().

◆ ResistLv()

int Card.ResistLv ( int  res)
inline

Definition at line 5720 of file Card.cs.

5721 {
5722 return Element.GetResistLv(Evalue(res));
5723 }
static int GetResistLv(int v)
Definition: ELEMENT.cs:1124

References Element.GetResistLv().

Referenced by ActEffect.ProcAt().

◆ ResistLvFrom()

int Card.ResistLvFrom ( int  ele)
inline

Definition at line 5715 of file Card.cs.

5716 {
5717 return ResistLv(EClass.sources.elements.alias.TryGetValue(EClass.sources.elements.map[ele].aliasRef)?.id ?? 0);
5718 }

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

6015 {
6016 int num = 4;
6017 if (sourceCard.tiles.Length > 4)
6018 {
6019 num = sourceCard.tiles.Length;
6020 }
6021 if (TileType == TileType.Door)
6022 {
6023 num = 2;
6024 }
6025 if (reverse)
6026 {
6027 dir--;
6028 }
6029 else
6030 {
6031 dir++;
6032 }
6033 if (dir < 0)
6034 {
6035 dir = num - 1;
6036 }
6037 if (dir == num)
6038 {
6039 dir = 0;
6040 }
6041 SetDir(dir);
6043 }
void RefreshSprite()
virtual void SetDir(int d)
Definition: Card.cs:5995
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 6595 of file Card.cs.

6596 {
6597 if (ShouldShowMsg)
6598 {
6599 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, c2, ref1, ref2);
6600 }
6601 Msg.SetColor();
6602 }
bool ShouldShowMsg
Definition: Card.cs:2416
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 6604 of file Card.cs.

6605 {
6606 if (ShouldShowMsg)
6607 {
6608 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, ref1, ref2);
6609 }
6610 Msg.SetColor();
6611 }

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

6587 {
6588 if (ShouldShowMsg)
6589 {
6590 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, ref1, ref2);
6591 }
6592 Msg.SetColor();
6593 }

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(), DamageHP(), Decay(), Chara.Die(), Chara.DoHostileAction(), CharaBody.Equip(), AI_Fish.ProgressFish.Fail(), AI_Fuck.Finish(), AI_Massage.Finish(), ActEffect.GeneMiracle(), Chara.GiveGift(), Chara.GiveLovePotion(), TraitGamble.IdleUse(), Condition.Kill(), LevelUp(), ActEffect.LoveMiracle(), Chara.MakeAlly(), AI_Fish.Makefish(), StatsMana.Mod(), TraitBaseSpellbook.ModCharge(), ModCharge(), TraitWell.ModCharges(), TraitChangingRoom.OnActivateTrap(), TraitTrap.OnActivateTrap(), ConSleep.OnBeforeStart(), TraitDrink.OnBlend(), AI_PassTime.OnCancel(), Stats.OnChangePhase(), TraitBrewery.OnChildDecay(), InvOwner.OnClick(), TaskChopWood.OnCreateProgress(), TaskDig.OnCreateProgress(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), TraitDrinkMilkMother.OnDrink(), Affinity.OnGift(), GrowSystemTree.OnHitFail(), ElementContainerCard.OnLevelUp(), ElementContainerCard.OnModTempPotential(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgressComplete(), AI_Sleep.OnProgressComplete(), TaskBuild.OnProgressComplete(), TraitBaseSpellbook.OnRead(), TraitBookSecret.OnRead(), TraitBookSkill.OnRead(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), AI_Read.OnSetOwner(), AI_Fish.ProgressFish.OnStart(), TraitFloorSwitch.OnStepped(), TraitMiniPool.OnStepped(), TraitFoodPreparedPackage.OnUse(), TraitGiftJure.OnUse(), TraitGiftNewYear.OnUse(), TraitGiftPack.OnUse(), TraitItemProc.OnUse(), TraitParcel.OnUse(), TraitPlamoBox.OnUse(), TraitWhistlePeace.OnUse(), TraitFoodMeat.OnUse(), TraitPotionEmpty.OnUse(), DramaManager.ParseLine(), ActBash.Perform(), ActClearWater.Perform(), ActCryRage.Perform(), ActCrySad.Perform(), ActDrawWater.Perform(), ActDreamBug.Perform(), 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 6565 of file Card.cs.

6566 {
6567 if (isSynced && !text.IsEmpty())
6568 {
6569 if (ref1 != null)
6570 {
6571 text = text.Replace("#1", ref1);
6572 }
6573 if (ref2 != null)
6574 {
6575 text = text.Replace("#2", ref2);
6576 }
6577 HostRenderer.Say(text);
6578 }
6579 }
void Say(string text, Color c=default(Color), float duration=0f)
CardRenderer HostRenderer
Definition: Card.cs:2404

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

◆ SecondaryCompare()

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

Definition at line 7515 of file Card.cs.

7516 {
7517 int num = 0;
7518 if (num == 0)
7519 {
7520 num = id.CompareTo(c.id);
7521 }
7522 if (num == 0)
7523 {
7524 num = trait.CompareTo(c);
7525 }
7526 if (num == 0)
7527 {
7528 num = Lang.comparer.Compare(GetName(NameStyle.Full, 1), c.GetName(NameStyle.Full, 1));
7529 }
7530 if (num == 0)
7531 {
7532 num = refVal - c.refVal;
7533 }
7534 if (num == 0)
7535 {
7536 num = c_charges - c.c_charges;
7537 }
7538 if (num == 0)
7539 {
7540 num = encLV - c.encLV;
7541 }
7542 if (num == 0)
7543 {
7544 num = Num - c.Num;
7545 }
7546 if (num == 0)
7547 {
7548 num = uid - c.uid;
7549 }
7550 return num;
7551 }
static NaturalStringComparer comparer
Definition: Lang.cs:22
virtual int CompareTo(Card b)
Definition: Trait.cs:715

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

3794 {
3795 int num = 0;
3796 if (s == BlessedState.Blessed && blessedState < BlessedState.Blessed)
3797 {
3798 num = 1;
3799 }
3800 if (s < BlessedState.Blessed && blessedState == BlessedState.Blessed)
3801 {
3802 num = -1;
3803 }
3804 if (num != 0 && IsEquipmentOrRangedOrAmmo)
3805 {
3806 if (IsWeapon || IsAmmo)
3807 {
3808 elements.ModBase(67, num);
3809 }
3810 else
3811 {
3812 elements.ModBase(65, num * 2);
3813 }
3814 }
3815 blessedState = s;
3816 }

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

7454 {
7455 isCensored = enable;
7457 {
7458 isCensored = false;
7459 }
7461 }
void SetCensored(bool enable)
bool isCensored
Definition: Card.cs:420
OtherSetting other
Definition: CoreConfig.cs:614

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

7464 {
7465 if (isDeconstructing != deconstruct)
7466 {
7467 if (deconstruct)
7468 {
7469 EClass._map.props.deconstructing.Add(this);
7470 }
7471 else
7472 {
7473 EClass._map.props.deconstructing.Remove(this);
7474 }
7475 isDeconstructing = deconstruct;
7476 }
7477 }
bool isDeconstructing
Definition: Card.cs:432
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 5995 of file Card.cs.

5996 {
5997 dir = d;
5999 }

References CardRenderer.RefreshSprite().

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

◆ SetDirtyWeight()

void Card.SetDirtyWeight ( )
inline

Definition at line 2516 of file Card.cs.

2517 {
2519 {
2520 EClass.player.wasDirtyWeight = true;
2521 }
2522 dirtyWeight = true;
2523 (parent as Card)?.SetDirtyWeight();
2524 }

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

6064 {
6065 freePos = EClass.game.config.FreePos && isThing && TileType.FreeStyle && !sourceCard.multisize && !EClass.scene.actionMode.IsRoofEditMode(this);
6066 if (freePos)
6067 {
6068 Vector3 vector = point.Position();
6069 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
6070 fx = EInput.mposWorld.x + EClass.setting.render.freePosFix.x;
6071 fy = EInput.mposWorld.y + EClass.setting.render.freePosFix.y;
6073 {
6074 fx -= fx % 0.2f;
6075 fy -= fy % 0.1f;
6076 }
6077 fx = fx - vector.x + thingPosition.x;
6078 fy = fy - vector.y + thingPosition.y;
6079 }
6080 else
6081 {
6082 float num2 = (fy = 0f);
6083 fx = num2;
6084 }
6085 }
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 5621 of file Card.cs.

5622 {
5623 isHidden = hide;
5624 pos.cell.Refresh();
5625 return this;
5626 }
bool isHidden
Definition: Card.cs:516
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 5895 of file Card.cs.

5896 {
5897 if (trait is TraitAbility)
5898 {
5899 (trait as TraitAbility).act.SetImage(image);
5900 }
5901 else
5902 {
5903 sourceRenderCard.SetImage(image, GetSprite(), colorInt, setNativeSize: true, 0, 0, this);
5904 }
5905 }
int colorInt
Definition: Card.cs:106
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 2858 of file Card.cs.

2859 {
2860 bool flag = a > LV;
2861 LV = a;
2862 if (!isChara)
2863 {
2864 return this;
2865 }
2866 Rand.SetSeed(uid);
2867 ElementContainer elementContainer = new ElementContainer();
2868 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.job.elementMap, LV);
2869 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.race.elementMap, LV);
2870 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.source.elementMap, 1, invert: false, applyFeat: true);
2871 foreach (Element value in elements.dict.Values)
2872 {
2873 int num = elementContainer.Value(value.id);
2874 if (num != 0)
2875 {
2876 int num2 = num - value.ValueWithoutLink;
2877 if (num2 != 0)
2878 {
2879 elements.ModBase(value.id, num2);
2880 }
2881 }
2882 }
2883 if (flag)
2884 {
2886 }
2887 Rand.SetSeed();
2888 hp = MaxHP;
2889 Chara.mana.value = Chara.mana.max;
2892 return this;
2893 }
SourceValueType
void ClampInitialSkill()
Definition: Card.cs:2895
SourceJob.Row job
Definition: Chara.cs:464
void CalculateMaxStamina()
Definition: Chara.cs:1963
SourceChara.Row source
Definition: Chara.cs:156
void ApplyElementMap(int uid, SourceValueType type, Dictionary< int, int > map, int lv, bool invert=false, bool applyFeat=false)
int ValueWithoutLink
Definition: ELEMENT.cs:294

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

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

◆ SetNoSell()

Thing Card.SetNoSell ( )
inline

Definition at line 3407 of file Card.cs.

3408 {
3409 noSell = true;
3410 return this as Thing;
3411 }

References noSell, and Thing.

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

◆ SetNum()

Thing Card.SetNum ( int  a)
inline

Definition at line 3393 of file Card.cs.

3394 {
3395 if (!isThing)
3396 {
3397 return null;
3398 }
3399 if (a == Num)
3400 {
3401 return this as Thing;
3402 }
3403 ModNum(a - Num);
3404 return this as Thing;
3405 }

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

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

◆ SetPaintData()

void Card.SetPaintData ( )
inline

Definition at line 6807 of file Card.cs.

6808 {
6809 EClass.ui.Hide(0f);
6811 {
6815 {
6816 EClass.ui.Show(0f);
6817 });
6818 });
6819 }
void WaitForEndOfFrame(Action action)
Definition: BaseCore.cs:61
byte[] GetPaintData()
Definition: Card.cs:6821
void ClearPaintSprite()
Definition: Card.cs:6839

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

◆ SetPlaceState()

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

Definition at line 3645 of file Card.cs.

3646 {
3647 if (this.placeState == newState)
3648 {
3649 return;
3650 }
3651 if (parent != EClass._zone)
3652 {
3653 Debug.Log("tried to change placestate of non-root card:" + this);
3654 return;
3655 }
3657 Area area = pos.area;
3658 if (placeState == PlaceState.installed)
3659 {
3660 area?.OnUninstallCard(this);
3661 if (!isRoofItem)
3662 {
3663 altitude = 0;
3664 freePos = false;
3665 float num2 = (fy = 0f);
3666 fx = num2;
3667 }
3668 trait.Uninstall();
3669 }
3670 if (placeState == PlaceState.installed || newState == PlaceState.installed)
3671 {
3672 ForeachPoint(delegate(Point p, bool main)
3673 {
3674 p.cell.RemoveCard(this);
3675 });
3676 this.placeState = newState;
3677 ForeachPoint(delegate(Point p, bool main)
3678 {
3679 p.cell.AddCard(this);
3680 });
3681 }
3682 else
3683 {
3684 this.placeState = newState;
3685 }
3686 if (trait is TraitFakeBlock)
3687 {
3689 }
3690 if (newState == PlaceState.none)
3691 {
3692 this.placeState = PlaceState.roaming;
3693 if (props != null)
3694 {
3695 props.Remove(this);
3696 }
3697 }
3698 else
3699 {
3701 if (this.placeState == PlaceState.installed)
3702 {
3703 if (isThing)
3704 {
3705 if (trait.InstallBottomPriority != -1)
3706 {
3708 }
3709 else
3710 {
3712 }
3713 }
3714 area?.OnInstallCard(this);
3715 isRoofItem = false;
3716 trait.Install(byPlayer);
3717 }
3718 }
3720 {
3722 }
3723 if (trait.ShouldTryRefreshRoom && (placeState == PlaceState.installed || this.placeState == PlaceState.installed))
3724 {
3726 }
3727 trait.OnChangePlaceState(newState);
3729 {
3731 }
3732 }
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:564
void MoveThingToBottom(Thing t)
Definition: CellDetail.cs:45
void MoveThingToTop(Thing t)
Definition: CellDetail.cs:58
void RemoveCard(Card c)
Definition: Cell.cs:1566
void AddCard(Card c)
Definition: Cell.cs:1550
HomeResourceManager resources
void OnSetBlockOrDoor(int x, int z)
Definition: Map.cs:1024
CellDetail detail
Definition: Point.cs:71
void RefreshNeighborTiles()
Definition: Point.cs:1260
Area area
Definition: Point.cs:73
void OnCardAddedToZone(Card c)
Definition: PropsManager.cs:25
virtual bool ShouldRefreshTile
Definition: Trait.cs:76
virtual void OnChangePlaceState(PlaceState state)
Definition: Trait.cs:675
virtual bool ShouldTryRefreshRoom
Definition: Trait.cs:87
void Uninstall()
Definition: Trait.cs:1103
virtual int InstallBottomPriority
Definition: Trait.cs:89
void Install(bool byPlayer)
Definition: Trait.cs:1083

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

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

◆ SetPriceFix()

Thing Card.SetPriceFix ( int  a)
inline

Definition at line 6933 of file Card.cs.

6934 {
6935 c_priceFix = a;
6936 return Thing;
6937 }

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

◆ SetRandomDir()

void Card.SetRandomDir ( )
inline

Definition at line 6001 of file Card.cs.

6002 {
6003 SetDir(EClass.rnd(4));
6004 }

References EClass.rnd().

Referenced by Zone.TryGenerateShrine().

◆ SetRandomLightColors()

void Card.SetRandomLightColors ( )
inline

Definition at line 6300 of file Card.cs.

6301 {
6302 c_lightColor = (byte)(EClass.rnd(8) + 1) * 1024 + (byte)(EClass.rnd(8) + 1) * 32 + (byte)(EClass.rnd(8) + 1);
6303 }

References EClass.rnd().

◆ SetRandomTalk()

void Card.SetRandomTalk ( )
inline

Definition at line 6690 of file Card.cs.

6691 {
6693 if (!MOD.listTalk.list[0].ContainsKey(id))
6694 {
6695 c_idTalk = MOD.listTalk.GetRandomID("human");
6696 }
6697 }
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 6699 of file Card.cs.

6700 {
6702 List<Dictionary<string, string>> list = MOD.tones.list;
6703 if (list.Count != 0)
6704 {
6705 int mtp = EClass.core.config.test.extraToneMTP switch
6706 {
6707 4 => 10,
6708 3 => 5,
6709 2 => 2,
6710 1 => 1,
6711 0 => 0,
6712 _ => 0,
6713 };
6714 if (EClass.debug.enable)
6715 {
6716 mtp *= 100;
6717 }
6718 string text = list.RandomItem()["id"];
6719 text = list.RandomItemWeighted((Dictionary<string, string> a) => a["chance"].ToInt() * ((!a["tag"].Contains("meta")) ? 1 : mtp))["id"];
6720 c_idTone = MOD.tones.GetToneID(text, bio?.gender ?? 0);
6721 }
6722 }
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 5786 of file Card.cs.

5787 {
5788 }

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

◆ SetReplica()

void Card.SetReplica ( bool  on)
inline

Definition at line 3028 of file Card.cs.

3029 {
3030 isReplica = true;
3031 ChangeMaterial("granite");
3032 }

References ChangeMaterial, and isReplica.

◆ SetSale()

void Card.SetSale ( bool  sale)
inline

Definition at line 6944 of file Card.cs.

6945 {
6946 if (isSale != sale)
6947 {
6948 isSale = sale;
6949 if (isSale)
6950 {
6951 EClass._map.props.sales.Add(this);
6952 }
6953 else
6954 {
6955 EClass._map.props.sales.Remove(this);
6956 }
6957 }
6958 }

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

7485 {
7486 switch (m)
7487 {
7488 case UIList.SortMode.ByEquip:
7489 sortVal = ((c_equippedSlot == 0) ? (category.sortVal * 1000) : 0);
7490 break;
7491 case UIList.SortMode.ByValue:
7492 sortVal = -GetPrice(currency) * 1000;
7493 break;
7494 case UIList.SortMode.ByNumber:
7495 sortVal = -Num * 1000;
7496 break;
7497 case UIList.SortMode.ByCategory:
7498 sortVal = category.sortVal * 1000;
7499 break;
7500 case UIList.SortMode.ByWeight:
7502 break;
7503 case UIList.SortMode.ByWeightSingle:
7505 break;
7506 case UIList.SortMode.ByPrice:
7507 sortVal = -GetPrice(currency) * 1000;
7508 break;
7509 default:
7510 sortVal = sourceCard._index * 1000;
7511 break;
7512 }
7513 }
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:7038
int sortVal
Definition: Card.cs:99
int ChildrenAndSelfWeightSingle
Definition: Card.cs:2005
int ChildrenAndSelfWeight
Definition: Card.cs:2003
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 2808 of file Card.cs.

2809 {
2810 }

Referenced by _OnDeserialized(), and Create().

◆ SetTier()

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

Definition at line 3767 of file Card.cs.

3768 {
3769 if (a < 0)
3770 {
3771 a = 0;
3772 }
3773 tier = a;
3774 if (setTraits)
3775 {
3776 int num = ((a == 1) ? 180 : ((a == 2) ? 400 : ((a >= 3) ? 600 : 0)));
3777 if (a > 0)
3778 {
3779 foreach (Element value in elements.dict.Values)
3780 {
3781 if (value.IsFoodTrait || value.IsTrait)
3782 {
3783 elements.SetTo(value.id, value.Value * num / 100);
3784 }
3785 }
3786 }
3787 elements.SetBase(2, a * 30);
3788 elements.SetBase(759, (a > 1) ? a : 0);
3789 }
3791 }
bool IsFoodTrait
Definition: ELEMENT.cs:364

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

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

◆ ShouldTrySetDirtyInventory()

bool Card.ShouldTrySetDirtyInventory ( )
inline

Definition at line 3277 of file Card.cs.

3278 {
3279 if (EClass.player.chara != null)
3280 {
3281 if (!IsPC && GetRootCard() != EClass.pc)
3282 {
3283 return EClass.ui.layers.Count > 0;
3284 }
3285 return true;
3286 }
3287 return false;
3288 }
Chara chara
Definition: Player.cs:1159

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

4972 {
4973 if (!isChara || IsPCFactionMinion || (isCopy && EClass.rnd(10) != 0))
4974 {
4975 return;
4976 }
4977 bool isUserZone = EClass._zone.IsUserZone;
4978 bool flag = EClass._zone is Zone_Music;
4979 List<Card> list = new List<Card>();
4980 if (!IsPCFaction && !isUserZone && sourceCard.idActor.IsEmpty())
4981 {
4982 int i2 = 500;
4983 if (this.rarity >= Rarity.Legendary)
4984 {
4985 i2 = ((!EClass.player.codex.DroppedCard(id)) ? 1 : 10);
4987 }
4989 {
4990 i2 = 10;
4991 }
4992 if (chance(i2))
4993 {
4994 Thing thing = ThingGen.Create("figure");
4995 thing.MakeFigureFrom(id);
4996 list.Add(thing);
4997 }
4998 if (chance(i2))
4999 {
5000 Thing thing2 = ThingGen.Create("figure3");
5001 thing2.MakeFigureFrom(id);
5002 list.Add(thing2);
5003 }
5004 }
5005 bool flag2 = Chara.race.corpse[1].ToInt() > EClass.rnd(1500) || (Chara.IsPowerful && !IsPCFaction) || EClass.debug.godFood;
5006 int num = 1;
5007 if (!IsMinion && Chara.IsAnimal && EClass.rnd(EClass._zone.IsPCFaction ? 3 : 5) == 0)
5008 {
5009 flag2 = true;
5010 }
5012 {
5013 flag2 = true;
5014 num = EClass.rndHalf(4 + 10 * (50 + Mathf.Max(0, (int)MathF.Sqrt(EClass.pc.Evalue(290) * 10))) / 100);
5015 }
5016 else if (origin != null && origin.HasElement(290) && !IsMinion)
5017 {
5018 if (!flag2 && Chara.race.corpse[1].ToInt() > EClass.rnd(150000 / (100 + (int)Mathf.Sqrt(origin.Evalue(290)) * 5)))
5019 {
5020 flag2 = true;
5021 origin.elements.ModExp(290, 150f);
5022 }
5023 else
5024 {
5025 origin.elements.ModExp(290, 25f);
5026 }
5027 }
5028 if (id == "littleOne" && IsPCFactionOrMinion)
5029 {
5030 flag2 = false;
5031 }
5032 if (flag2 && !isUserZone)
5033 {
5034 string text = Chara.race.corpse[0];
5035 bool num2 = text == "_meat";
5036 int num3 = 10;
5038 {
5039 num3 += (int)Mathf.Min(Mathf.Sqrt(EClass.pc.Evalue(290)), 20f);
5040 }
5041 if (EClass.rnd((Act.CurrentAct is ActMeleeBladeStorm || (origin != null && (origin.HasElement(1556) || origin.HasCondition<ConTransmuteCat>()))) ? 2 : 100) == 0)
5042 {
5043 text = "dattamono";
5044 }
5045 if (num2 && num3 > EClass.rnd(100))
5046 {
5047 text = "meat_marble";
5048 }
5049 Thing thing3 = ThingGen.Create(text).SetNum(num);
5050 if (thing3.source._origin == "meat")
5051 {
5052 thing3.MakeFoodFrom(this);
5053 }
5054 else
5055 {
5057 }
5058 list.Add(thing3);
5059 }
5060 if (!IsPCFaction && (!isUserZone || !EClass.game.principal.disableUsermapBenefit) && chance(200))
5061 {
5062 list.Add(Chara.MakeGene());
5063 }
5064 if (!IsPCFaction && !isUserZone)
5065 {
5066 foreach (string item2 in sourceCard.loot.Concat(Chara.race.loot).ToList())
5067 {
5068 string[] array = item2.Split('/');
5069 int num4 = array[1].ToInt();
5070 if (num4 >= 1000 || num4 > EClass.rnd(1000) || EClass.debug.godMode)
5071 {
5072 CardRow cardRow = EClass.sources.cards.map[array[0]];
5073 if (cardRow != null && cardRow.Category.slot != 0 && cardRow.quality == 0 && EClass.pc.Evalue(1660) * 25 > EClass.rnd(100))
5074 {
5075 CardBlueprint.SetRarity((EClass.rnd(20) == 0) ? Rarity.Mythical : Rarity.Legendary);
5076 }
5077 list.Add(ThingGen.Create(array[0], -1, LV).SetNum((num4 < 1000) ? 1 : (num4 / 1000 + ((EClass.rnd(1000) > num4 % 1000) ? 1 : 0))));
5078 }
5079 }
5080 if (Chara.IsMachine)
5081 {
5082 if (chance(20))
5083 {
5084 list.Add(ThingGen.Create("microchip"));
5085 }
5086 if (chance(15))
5087 {
5088 list.Add(ThingGen.Create("battery"));
5089 }
5090 }
5091 else
5092 {
5093 if (Chara.IsAnimal)
5094 {
5095 if (chance(15))
5096 {
5097 list.Add(ThingGen.Create("fang"));
5098 }
5099 if (chance(10))
5100 {
5101 list.Add(ThingGen.Create("skin"));
5102 }
5103 }
5104 if (chance(20))
5105 {
5106 list.Add(ThingGen.Create("offal"));
5107 }
5108 if (chance(20))
5109 {
5110 list.Add(ThingGen.Create("heart"));
5111 }
5112 }
5113 if (!isBackerContent && !flag)
5114 {
5115 switch (id)
5116 {
5117 case "isca":
5118 list.Add(ThingGen.Create("blood_angel"));
5119 break;
5120 case "golem_wood":
5121 if (chance(30))
5122 {
5123 list.Add(ThingGen.Create("crystal_earth"));
5124 }
5125 break;
5126 case "golem_fish":
5127 case "golem_stone":
5128 if (chance(30))
5129 {
5130 list.Add(ThingGen.Create("crystal_sun"));
5131 }
5132 break;
5133 case "golem_steel":
5134 if (chance(30))
5135 {
5136 list.Add(ThingGen.Create("crystal_mana"));
5137 }
5138 break;
5139 case "golem_gold":
5140 list.Add(ThingGen.Create("money2"));
5141 break;
5142 }
5143 int num5 = ((EClass._zone.Boss == this) ? 2 : ((this.rarity >= Rarity.Legendary) ? 1 : 0));
5144 if (EClass._zone is Zone_Void)
5145 {
5146 num5++;
5147 }
5148 if (EClass.rnd(5) == 0)
5149 {
5150 num5++;
5151 }
5152 string text2 = id;
5153 if (text2 == "big_daddy" || text2 == "santa")
5154 {
5155 num5 += 2;
5156 }
5157 if (num5 > 0 && EClass.game.principal.dropRate)
5158 {
5159 num5 = Mathf.Max(1, num5 * (50 + EClass.game.principal.dropRateMtp * 50) / 100);
5160 }
5161 List<Thing> list2 = new List<Thing>();
5162 foreach (Thing thing4 in things)
5163 {
5164 if (thing4.HasTag(CTAG.gift) || thing4.trait is TraitChestMerchant)
5165 {
5166 continue;
5167 }
5168 if (thing4.isGifted || thing4.rarity >= Rarity.Artifact || thing4.trait.DropChance > EClass.rndf(1f))
5169 {
5170 list.Add(thing4);
5171 }
5172 else if (thing4.IsEquipmentOrRanged)
5173 {
5174 if (thing4.rarity >= Rarity.Legendary)
5175 {
5176 list2.Add(thing4);
5177 }
5178 else if (EClass.rnd(100) == 0)
5179 {
5180 list.Add(thing4);
5181 }
5182 }
5183 else if (EClass.rnd(5) == 0)
5184 {
5185 list.Add(thing4);
5186 }
5187 }
5188 if (num5 > 0 && list2.Count > 0)
5189 {
5190 list2.Shuffle();
5191 for (int j = 0; j < list2.Count && j < num5; j++)
5192 {
5193 list.Add(list2[j]);
5194 num5--;
5195 }
5196 }
5197 if (this.rarity >= Rarity.Legendary && !IsUnique && c_bossType != BossType.Evolved)
5198 {
5199 int num6 = 0;
5200 foreach (Card item3 in list)
5201 {
5202 if (item3.rarity >= Rarity.Legendary || item3.IsContainer)
5203 {
5204 num6++;
5205 }
5206 }
5207 if (num6 == 0)
5208 {
5209 int num7 = ((!(EClass._zone is Zone_Void)) ? 1 : 2);
5210 if (num5 < num7)
5211 {
5212 num5 = num7;
5213 }
5214 for (int k = 0; k < num5; k++)
5215 {
5216 Rand.SetSeed(uid + k);
5217 if (EClass.rnd((EClass._zone.events.GetEvent<ZoneEventDefenseGame>() != null) ? 3 : 2) == 0)
5218 {
5219 Rarity rarity = ((EClass.rnd(20) == 0) ? Rarity.Mythical : Rarity.Legendary);
5221 {
5222 rarity = rarity
5223 });
5225 list.Add(item);
5226 }
5227 else if (EClass.rnd(3) == 0)
5228 {
5229 list.Add(ThingGen.Create("medal"));
5230 }
5231 Rand.SetSeed();
5232 }
5233 }
5234 }
5235 }
5236 }
5237 foreach (Thing thing5 in things)
5238 {
5239 if (thing5.GetInt(116) != 0)
5240 {
5241 list.Add(thing5);
5242 }
5243 }
5244 Point nearestPoint = GetRootCard().pos;
5245 if (nearestPoint.IsBlocked)
5246 {
5247 nearestPoint = nearestPoint.GetNearestPoint();
5248 }
5249 foreach (Card item4 in list)
5250 {
5251 if (item4.parent == EClass._zone)
5252 {
5253 continue;
5254 }
5255 item4.isHidden = false;
5256 item4.SetInt(116);
5257 EClass._zone.AddCard(item4, nearestPoint);
5258 if (!item4.IsEquipment || item4.rarity < Rarity.Superior || item4.IsCursed)
5259 {
5260 continue;
5261 }
5262 foreach (Chara chara in EClass._map.charas)
5263 {
5264 if (chara.HasElement(1412) && chara.Dist(nearestPoint) < 3)
5265 {
5266 item4.Thing.TryLickEnchant(chara);
5267 break;
5268 }
5269 }
5270 }
5271 bool chance(int i)
5272 {
5273 i = i * 100 / (100 + EClass.player.codex.GetOrCreate(id).BonusDropLv * 10);
5274 if (i < 1)
5275 {
5276 i = 1;
5277 }
5278 if (IsMinion)
5279 {
5280 i *= 5;
5281 }
5282 if (EClass.rnd(i) == 0)
5283 {
5284 return true;
5285 }
5286 return false;
5287 }
5288 }
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)
static void SetRarity(Rarity q=Rarity.Normal)
string[] idActor
Definition: CardRow.cs:35
string[] loot
Definition: CardRow.cs:29
Thing Split(int a)
Definition: Card.cs:3382
void MakeFigureFrom(string id)
Definition: Card.cs:5539
bool IsCursed
Definition: Card.cs:2217
virtual bool IsMinion
Definition: Card.cs:2113
bool IsEquipment
Definition: Card.cs:2135
BossType c_bossType
Definition: Card.cs:1195
bool isGifted
Definition: Card.cs:768
virtual bool IsPCFactionMinion
Definition: Card.cs:2117
Thing Add(string id, int num=1, int lv=1)
Definition: Card.cs:3034
bool isBackerContent
Definition: Card.cs:899
bool IsAnimal
Definition: Chara.cs:865
Thing MakeGene(DNA.Type? type=null)
Definition: Chara.cs:7852
bool IsMachine
Definition: Chara.cs:901
bool DroppedCard(string id)
Definition: CodexManager.cs:46
void MarkCardDrop(string id)
Definition: CodexManager.cs:41
bool godFood
Definition: CoreDebug.cs:183
static float rndf(float a)
Definition: EClass.cs:92
bool disableUsermapBenefit
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false, int minRadius=0)
Definition: Point.cs:607
SourceCategory.Row Category
Definition: RenderRow.cs:119
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:1981
virtual float DropChance
Definition: Trait.cs:358
ZoneEventManager events
Definition: Zone.cs:40

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

◆ Split()

◆ Talk()

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

Definition at line 6489 of file Card.cs.

6490 {
6491 if (IsPC && !EClass.player.forceTalk && idTopic != "goodBoy" && idTopic != "insane")
6492 {
6493 EClass.player.forceTalk = false;
6494 Msg.SetColor();
6495 return;
6496 }
6497 EClass.player.forceTalk = false;
6498 if (!isSynced && !forceSync)
6499 {
6500 Msg.SetColor();
6501 return;
6502 }
6503 GameLang.refDrama1 = ref1;
6504 GameLang.refDrama2 = ref2;
6505 string text = GetTalkText(idTopic, stripPun: true);
6506 if (HasElement(1232) && idTopic != "baby")
6507 {
6508 BackerContent.GakiConvert(ref text, "babu");
6509 }
6510 else
6511 {
6512 string text2 = id;
6513 if (!(text2 == "adv_gaki"))
6514 {
6515 if (text2 == "corgon")
6516 {
6517 BackerContent.GakiConvert(ref text, "mokyu");
6518 }
6519 }
6520 else
6521 {
6522 BackerContent.GakiConvert(ref text);
6523 }
6524 }
6525 TalkRaw(text, ref1, ref2, forceSync);
6526 }
static void GakiConvert(ref string text, string idLang="zako")
string GetTalkText(string idTopic, bool stripPun=false, bool useDefault=true)
Definition: Card.cs:6613
void TalkRaw(string text, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:6528
bool forceTalk
Definition: Player.cs:1107

References Player.forceTalk, BackerContent.GakiConvert(), EClass.player, and Msg.SetColor().

Referenced by Chara._Move(), AI_Shopping.Buy(), Point.CallGuard(), AI_Torture.CreateProgress(), ZonePreEnterEncounter.Execute(), AI_Fuck.Finish(), AI_Massage.Finish(), Chara.GiveGift(), Chara.GiveLovePotion(), TraitGamble.IdleUse(), Trait.OfferProcess(), InvOwner.OnClick(), QuestEscort.OnEnterZone(), Affinity.OnGift(), TraitBaseSpellbook.OnRead(), ConBoost.OnStart(), QuestEscort.OnStart(), TraitStairsLocked.OnUse(), ActWater.Perform(), ActEffect.Poison(), FoodEffect.Proc(), 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(), Chara.Sniff(), ActThrow.Throw(), ConChampagne.Tick(), ConEntangle.Tick(), ConInsane.Tick(), ConSleep.Tick(), Chara.TryPush(), and ActRide.Unride().

◆ TalkRaw()

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

Definition at line 6528 of file Card.cs.

6529 {
6530 if ((!isSynced && !forceSync) || text.IsEmpty())
6531 {
6532 Msg.SetColor();
6533 return;
6534 }
6535 if (ref1 != null)
6536 {
6537 text = text.Replace("#1", ref1);
6538 }
6539 if (ref2 != null)
6540 {
6541 text = text.Replace("#2", ref2);
6542 }
6544 bool flag = text.StartsWith("*");
6545 Msg.SetColor(text.StartsWith("(") ? Msg.colors.Thinking : (flag ? Msg.colors.Ono : Msg.colors.Talk));
6546 if (!flag)
6547 {
6548 text = text.Bracket();
6549 }
6550 Msg.Say(text.Replace("&", ""));
6551 }
string ApplyNewLine(string text)
Definition: Card.cs:6553
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 5664 of file Card.cs.

5665 {
5666 if (EClass._zone.IsRegion)
5667 {
5669 return;
5670 }
5671 PlayEffect("teleport");
5672 if (!force && (!trait.CanBeTeleported || elements.Has(400) || (isChara && Chara.HasCondition<ConGravity>())))
5673 {
5674 Say("antiTeleport", this);
5675 PlaySound("gravity");
5676 return;
5677 }
5678 if (!silent)
5679 {
5680 PlaySound("teleport");
5681 Say("teleported", this);
5682 }
5683 _Move(point);
5684 renderer.SetFirst(first: true, pos.PositionCenter());
5685 if (isChara)
5686 {
5687 Chara.ai.Cancel();
5688 foreach (Chara chara in EClass._map.charas)
5689 {
5690 if (chara.enemy == this)
5691 {
5692 chara.SetEnemy();
5693 }
5694 }
5695 Chara.RemoveCondition<ConEntangle>();
5696 }
5697 if (IsPC)
5698 {
5701 EClass.player.haltMove = true;
5702 }
5703 PlayEffect("teleport", useRenderPos: false);
5704 }
virtual MoveResult _Move(Point p, MoveType type=MoveType.Walk)
Definition: Card.cs:5628
void SayNothingHappans()
Definition: Card.cs:6581
Chara enemy
Definition: Chara.cs:86
Chara SetEnemy(Chara c=null)
Definition: Chara.cs:6072
bool Has(int ele)
virtual bool CanBeTeleported
Definition: Trait.cs:166

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

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

◆ Tick()

virtual void Card.Tick ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 6914 of file Card.cs.

6915 {
6916 }

◆ ToString()

override string Card.ToString ( )
inline

Definition at line 2449 of file Card.cs.

2450 {
2451 return Name + "/" + pos?.ToString() + "/" + parent;
2452 }
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 5510 of file Card.cs.

5511 {
5512 if (c.c_idRefCard.IsEmpty())
5513 {
5514 return c.c_altName;
5515 }
5516 if (!(c.refCard is SourceChara.Row { isChara: not false } row))
5517 {
5518 return c.c_altName;
5519 }
5520 if (!row.aka.IsEmpty())
5521 {
5522 if (row.name == "*r" && row.aka == "*r")
5523 {
5524 return "corpseGeneral".lang();
5525 }
5526 if (row.name == "*r")
5527 {
5528 return row.GetText("aka");
5529 }
5530 }
5531 return row.GetName();
5532 }
CardRow refCard
Definition: Card.cs:1929

References c_altName, c_idRefCard, and refCard.

◆ TryMakeRandomItem()

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

Definition at line 5290 of file Card.cs.

5291 {
5292 if (lv == -1)
5293 {
5294 lv = EClass._zone.DangerLv;
5295 }
5296 switch (id)
5297 {
5298 case "gene":
5300 break;
5301 case "log":
5302 ChangeMaterial(EClass.sources.materials.rows.Where((SourceMaterial.Row m) => m.category == "wood").RandomItem());
5303 break;
5304 case "ore_gem":
5306 break;
5307 case "ore":
5309 break;
5310 case "milk":
5311 case "_egg":
5312 case "egg_fertilized":
5313 case "_meat":
5314 case "meat_marble":
5315 case "dattamono":
5316 {
5317 string text = "c_wilds";
5318 if (id == "_meat" || id == "meat_marble")
5319 {
5320 text = "c_animal";
5321 }
5322 if (itemSource == TryMakeRandomItemSource.Cooking && crafter != null && crafter.HasElement(1205))
5323 {
5324 text = "c_human";
5325 }
5326 for (int i = 0; i < 20; i++)
5327 {
5328 CardRow cardRow = SpawnList.Get(text).Select(lv + i);
5329 if ((cardRow.model.Chara.race.corpse[0] != "_meat" && id != "milk" && id != "_egg" && id != "egg_fertilized") || (itemSource == TryMakeRandomItemSource.Cooking && cardRow.model.HasElement(701)))
5330 {
5331 continue;
5332 }
5333 if (id == "milk")
5334 {
5335 if (c_idRefCard.IsEmpty())
5336 {
5337 MakeRefFrom(cardRow.model);
5338 }
5339 }
5340 else
5341 {
5342 MakeFoodFrom(cardRow.model);
5343 }
5344 return this as Thing;
5345 }
5346 MakeFoodFrom(EClass.sources.charas.map.Values.Where((SourceChara.Row r) => r.chance > 0 && r.quality == 0).RandomItem().model);
5347 break;
5348 }
5349 }
5350 return this as Thing;
5351 }
TryMakeRandomItemSource
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:90
SourceChara charas
static SpawnList Get(string id, string parent=null, CardFilter filter=null)
Definition: SpawnList.cs:18
CardRow Select(int lv=-1, int levelRange=-1)
Definition: SpawnList.cs:139

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

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

◆ TryPay()

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

Definition at line 3823 of file Card.cs.

3824 {
3825 if (GetCurrency(id) < a)
3826 {
3827 if (IsPC)
3828 {
3829 SE.Beep();
3830 Msg.Say((id == "ration") ? "notEnoughFood" : "notEnoughMoney");
3831 }
3832 return false;
3833 }
3834 if (IsPC && !(id == "ration"))
3835 {
3836 SE.Pay();
3837 }
3838 ModCurrency(-a, id);
3839 return true;
3840 }
int GetCurrency(string id="money")
Definition: Card.cs:3873

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

2464 {
2465 if (CanReserve(act))
2466 {
2467 reservedAct = act;
2468 return true;
2469 }
2470 return false;
2471 }
bool CanReserve(AIAct act)
Definition: Card.cs:2454

References CanReserve(), and reservedAct.

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

◆ TryStack()

void Card.TryStack ( Thing  t)
inline

Definition at line 6745 of file Card.cs.

6746 {
6747 if (t == this)
6748 {
6749 return;
6750 }
6752 if (dest.stack != null)
6753 {
6754 if (IsPC)
6755 {
6756 Say("stack_thing", t, dest.stack);
6757 }
6758 t.TryStackTo(dest.stack);
6759 }
6760 }
bool TryStackTo(Thing to)
Definition: Card.cs:3295
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 3295 of file Card.cs.

3296 {
3297 if (isDestroyed || to.isDestroyed || !CanStackTo(to))
3298 {
3299 return false;
3300 }
3301 to.decay = (to.decay * to.Num + decay * Num) / (to.Num + Num);
3302 to.ModNum(Num);
3303 if (c_isImportant)
3304 {
3305 to.c_isImportant = true;
3306 }
3308 {
3309 to.isNew = true;
3310 }
3311 Destroy();
3312 return true;
3313 }
virtual bool CanStackTo(Thing to)
Definition: Card.cs:3290
new GameConfig game
Definition: CoreConfig.cs:604

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

6867 {
6868 if (!(GetRestrainer() == null || force))
6869 {
6870 return;
6871 }
6872 isRestrained = false;
6873 Say("unrestrained", this);
6874 if (this != c)
6875 {
6876 Talk("thanks");
6877 }
6879 renderer.SetFirst(first: true);
6880 if (c == null)
6881 {
6882 return;
6883 }
6884 if (c_rescueState == RescueState.WaitingForRescue)
6885 {
6886 c_rescueState = RescueState.Rescued;
6887 if (c.IsPC)
6888 {
6890 }
6891 }
6893 {
6894 return;
6895 }
6896 foreach (Chara item in c.pos.ListCharasInRadius(c, 5, (Chara _c) => _c.id == "fanatic" && _c.faith != Chara.faith))
6897 {
6898 c.DoHostileAction(item, immediate: true);
6899 }
6900 }
RescueState
Definition: RescueState.cs:2
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:6489
TraitShackle GetRestrainer()
Definition: Card.cs:6902
void MoveImmediate(Point p, bool focus=true, bool cancelAI=true)
Definition: Card.cs:5638
RescueState c_rescueState
Definition: Card.cs:1183
override bool IsPC
Definition: Chara.cs:610
void ModKarma(int a)
Definition: Player.cs:2444
List< Chara > ListCharasInRadius(Chara cc, int dist, Func< Chara, bool > func, bool onlyVisible=true)
Definition: Point.cs:1204

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

7586 {
7587 }

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

Member Data Documentation

◆ _bits1

◆ _bits2

◆ _category

SourceCategory.Row Card._category
private

Definition at line 87 of file Card.cs.

◆ _childrenWeight

int Card._childrenWeight
private

Definition at line 85 of file Card.cs.

◆ _colorInt

int Card._colorInt

Definition at line 65 of file Card.cs.

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

◆ _ints

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

Definition at line 30 of file Card.cs.

Referenced by _OnDeserialized(), and _OnSerializing().

◆ _LightData

LightData Card._LightData
private

Definition at line 95 of file Card.cs.

◆ _material

SourceMaterial.Row Card._material

Definition at line 89 of file Card.cs.

Referenced by ChangeMaterial(), and Create().

◆ _paintSprite

Sprite Card._paintSprite
private

Definition at line 97 of file Card.cs.

◆ _randColor

Color Card._randColor
staticprivate

Definition at line 91 of file Card.cs.

◆ angle

float Card.angle = 180f

◆ animeCounter

float Card.animeCounter

Definition at line 71 of file Card.cs.

◆ bio

◆ bp

CardBlueprint Card.bp

Definition at line 75 of file Card.cs.

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

◆ dirtyWeight

bool Card.dirtyWeight = true

Definition at line 83 of file Card.cs.

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

◆ elements

Definition at line 39 of file Card.cs.

Referenced by _OnDeserialized(), TraitAltar._OnOffer(), Element._WriteNote(), Element.AddEncNote(), AddRune(), LayerSleep.Advance(), DNA.Apply(), Chara.ApplyDeathPenalty(), Chara.ApplyJob(), Thing.ApplyMaterial(), Thing.ApplyMaterialElements(), ApplyProtection(), Chara.ApplyRace(), ApplySocket(), ActMelee.Attack(), TraitDrink.BlendLove(), TraitDrink.BlendPoison(), WidgetStatsBar.Build(), TraitTrainingDummyArmor.CalcPV(), Chara.CalculateMaxStamina(), CanAddRune(), Thing.CanAutoFire(), Thing.CanStackTo(), TraitAmmo.CanStackTo(), ClampInitialSkill(), TraitCrafter.Craft(), RecipeCard.Craft(), TraitPotion.Create(), TraitSpellbook.Create(), TraitRod.Create(), Create(), DamageHP(), Player.DreamSpell(), Chara.Duplicate(), Duplicate(), EjectSockets(), CharaBody.Equip(), Evalue(), EvalueMax(), DramaOutcome.fiama_starter_gift(), AI_Fuck.Finish(), CoreDebug.Fix_EtherDisease(), DNA.GenerateWithGene(), GetBestAttribute(), Party.GetBestSkill(), Check.GetFinalDC(), AI_Shear.GetFur(), Element.GetParent(), Chara.GiveGift(), TaskHarvest.HarvestThing(), TraitFoodEggFertilized.Incubate(), Religion.JoinFaith(), Religion.LeaveFaith(), ElementContainer.ListElements(), CraftUtil.MakeDish(), CraftUtil.MakeLoveLunch(), TraitSeed.MakeSeed(), CraftUtil.MixIngredients(), StatsMana.Mod(), ModEncLv(), ModExp(), Player.MoveZone(), Trait.OnBarter(), TraitPotionAlchemy.OnCrafted(), Thing.OnCreate(), TraitRod.OnCreate(), TraitToolRangeCane.OnCreate(), TaskChopWood.OnCreateProgress(), TaskDig.OnCreateProgress(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), Chara.OnDeserialized(), TraitDrinkMilkMother.OnDrink(), Game.OnLoad(), TraitAgingShelf.OnProduce(), TraitDryBrick.OnProduce(), TaskCraft.OnProgress(), AI_Fish.ProgressFish.OnProgressComplete(), TaskCraft.OnProgressComplete(), TaskDig.OnProgressComplete(), TaskMine.OnProgressComplete(), TraitBookSkill.OnRead(), TraitScrollStatic.OnRead(), Player.OnStartNewGame(), Act.Perform(), AttackProcess.Perform(), AttackProcess.PlayRangedAnime(), AttackProcess.Prepare(), FoodEffect.Proc(), ActEffect.Proc(), AttackProcess.ProcShieldEncs(), CoreDebug.QuickStart(), ButtonElement.Refresh(), UICharaMaker.Refresh(), WidgetTracker.Refresh(), WindowCharaMini.Refresh(), UIRecipeInfo.RefreshList(), LayerEmbark.RefreshMembers(), LayerCraft.RefreshProduct(), WindowChara.RefreshProfile(), WindowChara.RefreshSkill(), Chara.RefreshSpeed(), WindowChara.RefreshStatic(), 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 61 of file Card.cs.

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

◆ id

string Card.id = ""

Definition at line 33 of file Card.cs.

Referenced by ThingContainer._ListCurrency(), InvOwnerRecycle._OnProcess(), BuildMenu._Search(), SerializedCards.Add(), Props.Add(), Zone.AddCard(), ThingContainer.AddCurrency(), ThingContainer.AddFactory(), FactionBranch.AddMemeber(), AddThing(), InvOwner.AllowHold(), DramaCustomSequence.Build(), Recipe.BuildIngredientList(), Chara.CanAcceptGift(), TraitDrink.CanBlend(), TraitBrewery.CanChildDecay(), TraitAltar.CanOffer(), Recipe.Ingredient.CanSetThing(), Thing.CanStackTo(), QuestCrafter.CanUpdateOnTalk(), QuestDefense.CanUpdateOnTalk(), QuestExploration.CanUpdateOnTalk(), QuestShippingChest.CanUpdateOnTalk(), Trait.Contains(), TraitCrafter.Craft(), RecipeCard.Craft(), Recipe.Create(), LayerInventory.CreateContainer(), Chara.Cuddle(), FactionBranch.DailyOutcome(), CardRenderer.Draw(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), GrowSystem.EqualizePlants(), ZonePreEnterEncounter.Execute(), CardManager.GlobalCharaList.Find(), Party.Find(), ThingContainer.Find(), Map.FindChara(), Zone.FindChara(), CoreDebug.Fix_RemoveDemitas(), CoreDebug.Fix_RemoveDuplicateUnique(), Biography.Generate(), FactionBranch.GenerateGarbage(), DNA.GenerateGene(), TraitChara.GetAdvRank(), TraitItemProc.GetCraftNum(), ThingContainer.GetCurrency(), Trait.GetFuelValue(), AI_Shear.GetFur(), TaskChopWood.GetLog(), Thing.GetName(), ReligionMoonShadow.GetOfferingMtp(), ReligionTrickery.GetOfferingMtp(), TraitBrewery.GetProductID(), DramaCustomSequence.GetRumor(), TaskBuild.GetText(), ThingContainer.GetThingStack(), AI_Haul.GetThingToClean(), Chara.GiveGift(), TaskHarvest.HarvestThing(), Faction.HasMember(), ActClearWater.HasWaterSource(), ActDrawWater.HasWaterSource(), AI_HaulResource.HoldingResource(), UIDragGridInfo.InitFuel(), QuestDeliver.IsDestThing(), Player.IsPriorityAction(), IsStackable(), Recipe.Ingredient.IsValidIngredient(), Faction.IsWearingPanty(), Props.ListThingStack(), Props.ListThingStacksInCategory(), TraitFoodEggFertilized.MakeBaby(), CraftUtil.MakeDish(), MakeFoodRef(), MakeRefFrom(), TraitSeed.MakeSeed(), DramaOutcome.melilith_friend(), CraftUtil.MixIngredients(), DramaOutcome.nasu_join(), Zone_Casino.OnActivate(), TraitTrap.OnActivateTrap(), Zone_WindRest.OnAfterSimulate(), Trait.OnBarter(), TraitWell.OnBlend(), TraitBrewery.OnChildDecay(), FactionBranch.OnClaimZone(), ContentCodex.OnClickAddCards(), 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 93 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 57 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(), SurvivalManager.GetRandomPoint(), Trait.GetRandomPoint(), Zone.GetRandomVisitPos(), Chara.GetRevived(), Chara.GetRoomWork(), ZoneEventRaid.GetSpawnPos(), Zone.GetSpawnPos(), Chara.GetSubPassData(), TraitGeneMachine.GetTarget(), AI_Haul.GetThingToClean(), TaskHarvest.HarvestThing(), Chara.HasAccess(), Chara.HasHigherGround(), ZoneEventDefenseGame.Horn_Ally(), TraitFoodEggFertilized.Incubate(), Scene.Init(), AI_Goto.IsDestinationReached(), IsInMutterDistance(), TraitDoor.IsOpen(), TraitShackle.IsRestraining(), TraitDoor.IsValid(), Los.IsVisible(), Chara.Kick(), HomeResourceWorth.ListHeirloom(), Trait.ListPoints(), TraitLightSun.ListPoints(), Props.ListThingStack(), Region.ListTravelZones(), Chara.LookAt(), Map.MineFloor(), Player.ModKarma(), Chara.MoveNeighborDefinitely(), Chara.MoveRandom(), TraitNewZone.MoveZone(), TraitMoongate.MoveZone(), Trait.Offer(), Trait.OfferProcess(), AM_Adv.OnActivate(), WidgetArtTool.OnActivate(), TraitHitchingPost.OnActivateTrap(), FactionBranch.OnActivateZone(), Region.OnAdvanceHour(), FactionBranch.OnAfterSimulate(), AM_Adv.OnAfterUpdate(), Chara.OnBanish(), AM_Adv.OnBecomeNoGoal(), Zone_Nymelle.OnBeforeSimulate(), ConSleep.OnBeforeStart(), TraitHouseBoard.OnChangePlaceState(), QuestIntroInspector.OnComplete(), QuestVernis.OnComplete(), TaskDig.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), QuestDialog.OnDropReward(), TraitRollingFortune.OnEndAI(), ZoneEventRaid.OnKill(), ZoneEventSiege.OnKill(), ElementContainerCard.OnLevelUp(), ElementContainerZone.OnLevelUp(), Act.OnMarkMapHighlights(), ActBolt.OnMarkMapHighlights(), ActRush.OnMarkMapHighlights(), TraitAltar.OnOffer(), AM_Designation< T >.OnProcessTiles(), AM_MoveInstalled.OnProcessTiles(), AI_Fish.ProgressFish.OnProgressComplete(), AI_Sleep.OnProgressComplete(), QuestCraft.OnProgressComplete(), TaskBuild.OnProgressComplete(), TaskDig.OnProgressComplete(), TraitDeedRelocate.OnRead(), TraitDiary.OnRead(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), ConSuspend.OnRemoved(), AM_Adv.OnRenderTile(), TraitFertilizer.OnSimulateHour(), GoalSleep.OnSimulatePosition(), QuestEscort.OnStart(), TraitNewZone.OnStepped(), TraitSwing.OnSteppedOut(), LayerCraftFloat.OnSwitchContent(), Scene.OnUpdate(), TraitDaggerGrave.OnUse(), TraitFarmChest.OnUse(), TraitGeneMachine.OnUse(), TraitGiftNewYear.OnUse(), TraitMannequin.OnUse(), TraitShackle.OnUse(), TraitStairsLocked.OnUse(), TraitContainer.Open(), DramaManager.ParseLine(), Act.Perform(), 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(), SurvivalManager.StartRaid(), Chara.Stumble(), ConSleep.SuccubusVisit(), Chara.SyncRide(), Player.TargetRanged(), CoreDebug.TestSpawn(), ActThrow.Throw(), AI_PlayMusic.ThrowReward(), Chara.Tick(), ConFear.Tick(), ConMiasma.Tick(), ConSleep.Tick(), ConSuspend.Tick(), StanceSongSleep.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(), TraitBed.TrySetAct(), TraitCanvas.TrySetAct(), TraitCoreZone.TrySetAct(), TraitHouseBoard.TrySetAct(), TraitNewZone.TrySetAct(), TraitRoomPlate.TrySetAct(), TraitWaystone.TrySetAct(), TraitCatalyst.TrySetHeldAct(), TraitToolBrush.TrySetHeldAct(), TraitToolButcher.TrySetHeldAct(), TraitToolShears.TrySetHeldAct(), Map.TryShatter(), Map.TrySmoothPick(), TraitSeed.TrySprout(), TraitTeleporter.TryTeleport(), GoalCombat.TryThrow(), ButtonAbility.TryUse(), ActRide.Unride(), GameUpdater.Update(), TraitFoodEgg.Update(), TraitSpotSpawn.Update(), GameUpdater.Update100ms(), CoreDebug.UpdateInput(), AM_Adv.UpdateLangWheel(), CharaRenderer.UpdatePosition(), WidgetDebug.UpdateText(), Chara.UseAbility(), VirtualRoom.VirtualRoom(), and ActEffect.Wish().

◆ props

Props Card.props

Definition at line 49 of file Card.cs.

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

◆ renderer

CardRenderer Card.renderer

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

Referenced by CanReserve(), and TryReserve().

◆ roundTimer

float Card.roundTimer

Definition at line 67 of file Card.cs.

Referenced by WidgetDebug.UpdateText().

◆ SocketDiv

const int Card.SocketDiv = 1000
static

Definition at line 27 of file Card.cs.

◆ sockets

◆ sortVal

◆ things

ThingContainer Card.things = new ThingContainer()

Definition at line 36 of file Card.cs.

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

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

◆ turn

Property Documentation

◆ _IsPC

bool Card._IsPC
get

Definition at line 2107 of file Card.cs.

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

◆ _placeState

PlaceState Card._placeState
getset

Definition at line 275 of file Card.cs.

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

Referenced by _OnDeserialized(), and _OnSerializing().

◆ _x

int Card._x
getset

Definition at line 167 of file Card.cs.

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

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

◆ _z

int Card._z
getset

Definition at line 179 of file Card.cs.

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

Referenced by _OnDeserialized(), and _OnSerializing().

◆ actorPrefab

virtual string Card.actorPrefab
get

Definition at line 2091 of file Card.cs.

◆ AliasMaterialOnCreate

virtual string Card.AliasMaterialOnCreate
get

Definition at line 2015 of file Card.cs.

Referenced by Create().

◆ altitude

int Card.altitude
getset

Definition at line 215 of file Card.cs.

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

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

1759 {
1760 get
1761 {
1762 return GetObj<Thing>(9);
1763 }
1764 set
1765 {
1766 SetObj(9, value);
1767 }
1768 }
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 611 of file Card.cs.

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

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

◆ blessedState

◆ c_allowance

int Card.c_allowance
getset

Definition at line 1290 of file Card.cs.

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

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

◆ c_altName

string Card.c_altName
getset

Definition at line 1566 of file Card.cs.

1567 {
1568 get
1569 {
1570 return GetStr(1);
1571 }
1572 set
1573 {
1574 SetStr(1, value);
1575 }
1576 }
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 1578 of file Card.cs.

1579 {
1580 get
1581 {
1582 return GetStr(2);
1583 }
1584 set
1585 {
1586 SetStr(2, value);
1587 }
1588 }

◆ c_ammo

int Card.c_ammo
getset

Definition at line 1434 of file Card.cs.

1435 {
1436 get
1437 {
1438 return GetInt(27);
1439 }
1440 set
1441 {
1442 SetInt(27, value);
1443 }
1444 }

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

◆ c_bedType

BedType Card.c_bedType
getset

Definition at line 913 of file Card.cs.

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

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

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

◆ c_bossType

BossType Card.c_bossType
getset

Definition at line 1194 of file Card.cs.

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

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

◆ c_charaList

CharaList Card.c_charaList
getset

Definition at line 1866 of file Card.cs.

1867 {
1868 get
1869 {
1870 return GetObj<CharaList>(13);
1871 }
1872 set
1873 {
1874 SetObj(13, value);
1875 }
1876 }

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

1519 {
1520 get
1521 {
1522 return GetStr(8);
1523 }
1524 set
1525 {
1526 SetStr(8, value);
1527 }
1528 }

◆ c_containerSize

int Card.c_containerSize
getset

Definition at line 1338 of file Card.cs.

1339 {
1340 get
1341 {
1342 return GetInt(8);
1343 }
1344 set
1345 {
1346 SetInt(8, value);
1347 }
1348 }

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

◆ c_containerUpgrade

ContainerUpgrade Card.c_containerUpgrade
getset

Definition at line 1842 of file Card.cs.

1843 {
1844 get
1845 {
1846 return GetObj<ContainerUpgrade>(12) ?? (c_containerUpgrade = new ContainerUpgrade());
1847 }
1848 set
1849 {
1850 SetObj(12, value);
1851 }
1852 }
ContainerUpgrade c_containerUpgrade
Definition: Card.cs:1843

Referenced by TraitWrench.Upgrade().

◆ c_context

string Card.c_context
getset

Definition at line 1650 of file Card.cs.

1651 {
1652 get
1653 {
1654 return GetStr(20);
1655 }
1656 set
1657 {
1658 SetStr(20, value);
1659 }
1660 }

Referenced by TraitDaggerGrave.OnUse().

◆ c_copyContainer

Thing Card.c_copyContainer
getset

Definition at line 1782 of file Card.cs.

1783 {
1784 get
1785 {
1786 return GetObj<Thing>(10);
1787 }
1788 set
1789 {
1790 SetObj(10, value);
1791 }
1792 }

Referenced by Trait.OnBarter().

◆ c_corruptionHistory

List<int> Card.c_corruptionHistory
getset

Definition at line 1830 of file Card.cs.

1831 {
1832 get
1833 {
1834 return GetObj<List<int>>(16);
1835 }
1836 set
1837 {
1838 SetObj(16, value);
1839 }
1840 }

◆ c_dateCooked

int Card.c_dateCooked
getset

Definition at line 1314 of file Card.cs.

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

◆ c_dateDeathLock

int Card.c_dateDeathLock
getset

Definition at line 1218 of file Card.cs.

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

◆ c_dateStockExpire

int Card.c_dateStockExpire
getset

Definition at line 1206 of file Card.cs.

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

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

◆ c_daysWithGod

int Card.c_daysWithGod
getset

Definition at line 1446 of file Card.cs.

1447 {
1448 get
1449 {
1450 return GetInt(57);
1451 }
1452 set
1453 {
1454 SetInt(57, value);
1455 }
1456 }

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

◆ c_daysWithPC

int Card.c_daysWithPC
getset

Definition at line 1458 of file Card.cs.

1459 {
1460 get
1461 {
1462 return GetInt(67);
1463 }
1464 set
1465 {
1466 SetInt(67, value);
1467 }
1468 }

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

◆ c_diceDim

int Card.c_diceDim
getset

Definition at line 1362 of file Card.cs.

1363 {
1364 get
1365 {
1366 return GetInt(14);
1367 }
1368 set
1369 {
1370 SetInt(14, value);
1371 }
1372 }

Referenced by AttackProcess.Prepare().

◆ c_DNA

DNA Card.c_DNA
getset

Definition at line 1854 of file Card.cs.

1855 {
1856 get
1857 {
1858 return GetObj<DNA>(14);
1859 }
1860 set
1861 {
1862 SetObj(14, value);
1863 }
1864 }

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

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

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

◆ c_editorTags

string Card.c_editorTags
getset

Definition at line 1674 of file Card.cs.

1675 {
1676 get
1677 {
1678 return GetStr(28);
1679 }
1680 set
1681 {
1682 SetStr(28, value);
1683 }
1684 }

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

1687 {
1688 get
1689 {
1690 return GetStr(25);
1691 }
1692 set
1693 {
1694 SetStr(25, value);
1695 }
1696 }

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

◆ c_equippedSlot

int Card.c_equippedSlot
getset

Definition at line 925 of file Card.cs.

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

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

◆ c_extraNameRef

string Card.c_extraNameRef
getset

Definition at line 1590 of file Card.cs.

1591 {
1592 get
1593 {
1594 return GetStr(12);
1595 }
1596 set
1597 {
1598 SetStr(12, value);
1599 }
1600 }

Referenced by MakeRefFrom().

◆ c_fixedValue

int Card.c_fixedValue
getset

Definition at line 1146 of file Card.cs.

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

◆ c_fur

int Card.c_fur
getset

Definition at line 1302 of file Card.cs.

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

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

1819 {
1820 get
1821 {
1822 return GetObj<CharaGenes>(15);
1823 }
1824 set
1825 {
1826 SetObj(15, value);
1827 }
1828 }

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

1639 {
1640 get
1641 {
1642 return GetStr(50);
1643 }
1644 set
1645 {
1646 SetStr(50, value);
1647 }
1648 }

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

◆ c_idBacker

int Card.c_idBacker
getset

Definition at line 1410 of file Card.cs.

1411 {
1412 get
1413 {
1414 return GetInt(52);
1415 }
1416 set
1417 {
1418 SetInt(52, value);
1419 }
1420 }

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

◆ c_idDeity

string Card.c_idDeity
getset

Definition at line 1554 of file Card.cs.

1555 {
1556 get
1557 {
1558 return GetStr(26);
1559 }
1560 set
1561 {
1562 SetStr(26, value);
1563 }
1564 }

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

1663 {
1664 get
1665 {
1666 return GetStr(27);
1667 }
1668 set
1669 {
1670 SetStr(27, value);
1671 }
1672 }

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

◆ c_idJob

string Card.c_idJob
getset

Definition at line 1494 of file Card.cs.

1495 {
1496 get
1497 {
1498 return GetStr(4);
1499 }
1500 set
1501 {
1502 SetStr(4, value);
1503 }
1504 }

◆ c_idMainElement

int Card.c_idMainElement
getset

Definition at line 1386 of file Card.cs.

1387 {
1388 get
1389 {
1390 return GetInt(16);
1391 }
1392 set
1393 {
1394 SetInt(16, value);
1395 }
1396 }

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

◆ c_idPortrait

string Card.c_idPortrait
getset

Definition at line 1470 of file Card.cs.

1471 {
1472 get
1473 {
1474 return GetStr(9);
1475 }
1476 set
1477 {
1478 SetStr(9, value);
1479 }
1480 }

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

◆ c_idRace

string Card.c_idRace
getset

Definition at line 1482 of file Card.cs.

1483 {
1484 get
1485 {
1486 return GetStr(3);
1487 }
1488 set
1489 {
1490 SetStr(3, value);
1491 }
1492 }

◆ c_idRefCard

◆ c_idRefCard2

string Card.c_idRefCard2
getset

Definition at line 1722 of file Card.cs.

1723 {
1724 get
1725 {
1726 return GetStr(6);
1727 }
1728 set
1729 {
1730 SetStr(6, value);
1731 }
1732 }

Referenced by Thing.CanStackTo().

◆ c_idRefName

string Card.c_idRefName
getset

Definition at line 1614 of file Card.cs.

1615 {
1616 get
1617 {
1618 return GetStr(7);
1619 }
1620 set
1621 {
1622 SetStr(7, value);
1623 }
1624 }

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

1627 {
1628 get
1629 {
1630 return GetStr(55);
1631 }
1632 set
1633 {
1634 SetStr(55, value);
1635 }
1636 }

Referenced by ActPlan._Update().

◆ c_idSpriteReplacer

string Card.c_idSpriteReplacer
getset

Definition at line 1530 of file Card.cs.

1531 {
1532 get
1533 {
1534 return GetStr(13);
1535 }
1536 set
1537 {
1538 SetStr(13, value);
1539 }
1540 }

Referenced by CharaRenderer.SetOwner().

◆ c_idTalk

string Card.c_idTalk
getset

Definition at line 1542 of file Card.cs.

1543 {
1544 get
1545 {
1546 return GetStr(21);
1547 }
1548 set
1549 {
1550 SetStr(21, value);
1551 }
1552 }

Referenced by Person.GetDramaTitle().

◆ c_idTone

string Card.c_idTone
getset

Definition at line 1506 of file Card.cs.

1507 {
1508 get
1509 {
1510 return GetStr(22);
1511 }
1512 set
1513 {
1514 SetStr(22, value);
1515 }
1516 }

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

◆ c_idTrait

string Card.c_idTrait
getset

Definition at line 1698 of file Card.cs.

1699 {
1700 get
1701 {
1702 return GetStr(29);
1703 }
1704 set
1705 {
1706 SetStr(29, value);
1707 }
1708 }

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

◆ c_IDTState

int Card.c_IDTState
getset

Definition at line 1230 of file Card.cs.

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

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

◆ c_indexContainerIcon

int Card.c_indexContainerIcon
getset

Definition at line 1374 of file Card.cs.

1375 {
1376 get
1377 {
1378 return GetInt(15);
1379 }
1380 set
1381 {
1382 SetInt(15, value);
1383 }
1384 }

Referenced by ButtonGrid.SetCard().

◆ c_invest

int Card.c_invest
getset

Definition at line 1266 of file Card.cs.

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

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

◆ c_isDisableStockUse

bool Card.c_isDisableStockUse
getset

Definition at line 1057 of file Card.cs.

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

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

◆ c_isImportant

◆ c_isPrayed

bool Card.c_isPrayed
getset

Definition at line 1045 of file Card.cs.

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

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

◆ c_isTrained

bool Card.c_isTrained
getset

Definition at line 1033 of file Card.cs.

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

◆ c_lightColor

int Card.c_lightColor
getset

Definition at line 1069 of file Card.cs.

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

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

◆ c_lockedAge

int Card.c_lockedAge
getset

Definition at line 1326 of file Card.cs.

1327 {
1328 get
1329 {
1330 return GetInt(38);
1331 }
1332 set
1333 {
1334 SetInt(38, value);
1335 }
1336 }

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

◆ c_lockedHard

bool Card.c_lockedHard
getset

Definition at line 1009 of file Card.cs.

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

Referenced by Trait.TryOpenLock().

◆ c_lockLv

◆ c_minionType

MinionType Card.c_minionType
getset

Definition at line 961 of file Card.cs.

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

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

◆ c_mixedFoodData

MixedFoodData Card.c_mixedFoodData
getset

Definition at line 1878 of file Card.cs.

1879 {
1880 get
1881 {
1882 return GetObj<MixedFoodData>(18);
1883 }
1884 set
1885 {
1886 SetObj(18, value);
1887 }
1888 }

Referenced by CraftUtil.WrapIngredient().

◆ c_note

string Card.c_note
getset

Definition at line 1734 of file Card.cs.

1735 {
1736 get
1737 {
1738 return GetStr(51);
1739 }
1740 set
1741 {
1742 SetStr(51, value);
1743 }
1744 }

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

◆ c_originalHostility

Hostility Card.c_originalHostility
getset

Definition at line 949 of file Card.cs.

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

Referenced by Chara.CreateReplacement().

◆ c_priceAdd

int Card.c_priceAdd
getset

Definition at line 1122 of file Card.cs.

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

Referenced by Thing.CanStackTo().

◆ c_priceCopy

int Card.c_priceCopy
getset

Definition at line 1134 of file Card.cs.

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

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

◆ c_priceFix

int Card.c_priceFix
getset

Definition at line 1110 of file Card.cs.

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

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

◆ c_refText

string Card.c_refText
getset

Definition at line 1602 of file Card.cs.

1603 {
1604 get
1605 {
1606 return GetStr(10);
1607 }
1608 set
1609 {
1610 SetStr(10, value);
1611 }
1612 }

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

◆ c_rescueState

RescueState Card.c_rescueState
getset

Definition at line 1182 of file Card.cs.

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

◆ c_revealLock

bool Card.c_revealLock
getset

Definition at line 1021 of file Card.cs.

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

Referenced by Trait.OnBarter().

◆ c_seed

int Card.c_seed
getset

Definition at line 1278 of file Card.cs.

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

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

◆ c_summonDuration

int Card.c_summonDuration
getset

Definition at line 1398 of file Card.cs.

1399 {
1400 get
1401 {
1402 return GetInt(17);
1403 }
1404 set
1405 {
1406 SetInt(17, value);
1407 }
1408 }

◆ c_textureData

byte [] Card.c_textureData
getset

Definition at line 1890 of file Card.cs.

1891 {
1892 get
1893 {
1894 return GetObj<byte[]>(4);
1895 }
1896 set
1897 {
1898 SetObj(4, value);
1899 }
1900 }

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

◆ c_uidMaster

int Card.c_uidMaster
getset

Definition at line 1422 of file Card.cs.

1423 {
1424 get
1425 {
1426 return GetInt(54);
1427 }
1428 set
1429 {
1430 SetInt(54, value);
1431 }
1432 }

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

◆ c_uidRefCard

int Card.c_uidRefCard
getset

Definition at line 1097 of file Card.cs.

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

Referenced by TraitShackle.IsRestraining().

◆ c_uidZone

int Card.c_uidZone
getset

Definition at line 1084 of file Card.cs.

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

◆ c_uniqueData

UniqueData Card.c_uniqueData
getset

Definition at line 1746 of file Card.cs.

1747 {
1748 get
1749 {
1750 return GetObj<UniqueData>(6);
1751 }
1752 set
1753 {
1754 SetObj(6, value);
1755 }
1756 }

◆ c_upgrades

CharaUpgrade Card.c_upgrades
getset

Definition at line 1806 of file Card.cs.

1807 {
1808 get
1809 {
1810 return GetObj<CharaUpgrade>(11);
1811 }
1812 set
1813 {
1814 SetObj(11, value);
1815 }
1816 }

Referenced by WindowCharaMini.Refresh().

◆ c_vomit

int Card.c_vomit
getset

Definition at line 973 of file Card.cs.

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

◆ c_wasInPcParty

bool Card.c_wasInPcParty
getset

Definition at line 985 of file Card.cs.

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

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

◆ c_weight

int Card.c_weight
getset

Definition at line 1350 of file Card.cs.

1351 {
1352 get
1353 {
1354 return GetInt(1);
1355 }
1356 set
1357 {
1358 SetInt(1, value);
1359 }
1360 }

Referenced by ChangeWeight().

◆ c_windowSaveData

Window.SaveData Card.c_windowSaveData
getset

Definition at line 1794 of file Card.cs.

1795 {
1796 get
1797 {
1798 return GetObj<Window.SaveData>(2);
1799 }
1800 set
1801 {
1802 SetObj(2, value);
1803 }
1804 }

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

◆ CanInspect

bool Card.CanInspect
get

Implements IInspect.

Definition at line 2431 of file Card.cs.

2432 {
2433 get
2434 {
2435 if (!isDestroyed)
2436 {
2437 return ExistsOnMap;
2438 }
2439 return false;
2440 }
2441 }

◆ category

◆ Cell

◆ CHA

◆ Chara

virtual Chara Card.Chara
get

Definition at line 2031 of file Card.cs.

2032 {
2033 get
2034 {
2035 if (!isChara)
2036 {
2037 return null;
2038 }
2039 return (Chara)this;
2040 }
2041 }

Referenced by InvOwnerBlend._OnProcess(), ActPlan._Update(), SerializedCards.Add(), Props.Add(), Cell.AddCard(), Zone.AddCard(), Map.AddCardOnActivate(), InvOwner.AllowHold(), Feat.Apply(), ApplyEditorTags(), ApplyElementEffect(), Thing.ApplyMaterialElements(), ActMelee.Attack(), GuildFighter.CanGiveContribution(), ActNTR.CanPerform(), ActRestrain.CanPerform(), Chara.CanSee(), Chara.CanSeeLos(), InvOwner.CanShiftClick(), TraitSalesTag.CanTagSale(), Faction.CountMembers(), ActEffect.DamageEle(), DamageHP(), Chara.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(), SurvivalManager.OnExpandFloor(), ElementContainerCard.OnLevelDown(), ElementContainerCard.OnLevelUp(), AM_MoveInstalled.OnProcessTiles(), ItemGeneral.OnRefreshPref(), ActChat.Perform(), ActDreamBug.Perform(), ActKick.Perform(), ActNTR.Perform(), ActRanged.Perform(), ActRestrain.Perform(), ActRush.Perform(), ActEffect.Proc(), ActEffect.ProcAt(), InvOwner.Transaction.Process(), InvOwner.PutBack(), CardRenderer.RefreshExtra(), Props.Remove(), Cell.RemoveCard(), RemoveThing(), SerializedCards.Restore(), AI_AttackHome.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), GoalSiege.Run(), ButtonGrid.SetBodySlot(), ButtonGeneral.SetCard(), Portrait.SetChara(), Meeting.SetChara(), PointTarget.ShouldIgnore(), ActThrow.Throw(), TryMakeRandomItem(), Trait.TrySetAct(), TraitLeash.TrySetHeldAct(), TraitStethoscope.TrySetHeldAct(), TraitWhipLove.TrySetHeldAct(), Map.TryShatter(), ElementContainerCard.ValueBonus(), and Thing.WriteNote().

◆ ChildrenAndSelfWeight

◆ ChildrenAndSelfWeightSingle

int Card.ChildrenAndSelfWeightSingle
get

Definition at line 2005 of file Card.cs.

◆ ChildrenWeight

int Card.ChildrenWeight
get

Definition at line 1974 of file Card.cs.

1975 {
1976 get
1977 {
1978 if (dirtyWeight)
1979 {
1980 _childrenWeight = 0;
1981 if (!(trait is TraitMagicChest))
1982 {
1983 foreach (Thing thing in things)
1984 {
1986 }
1987 dirtyWeight = false;
1988 (parent as Card)?.SetDirtyWeight();
1989 if (isChara && IsPCFaction)
1990 {
1991 Chara.CalcBurden();
1992 }
1993 if (_childrenWeight < 0 || _childrenWeight > 10000000)
1994 {
1995 _childrenWeight = 10000000;
1996 }
1997 }
1998 }
1999 return _childrenWeight * Mathf.Max(100 - Evalue(404), 0) / 100;
2000 }
2001 }
int _childrenWeight
Definition: Card.cs:85
void CalcBurden()
Definition: Chara.cs:1783

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

◆ colorInt

int Card.colorInt
get

Definition at line 105 of file Card.cs.

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

◆ decay

int Card.decay
getset

Definition at line 203 of file Card.cs.

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

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

◆ DefaultLV

int Card.DefaultLV
get

Definition at line 1972 of file Card.cs.

Referenced by Create().

◆ DefaultMaterial

virtual SourceMaterial.Row Card.DefaultMaterial
get

Definition at line 2383 of file Card.cs.

Referenced by SerializedCards.Add().

◆ DEX

int Card.DEX
get

◆ dir

◆ disableAutoToggle

bool Card.disableAutoToggle
getset

Definition at line 587 of file Card.cs.

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

Referenced by Trait.TrySetToggleAct().

◆ DMG

int Card.DMG
get

Definition at line 2293 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ DV

virtual int Card.DV
get

Definition at line 2287 of file Card.cs.

Referenced by Thing.GetName().

◆ DyeMat

◆ encLV

◆ END

int Card.END
get

Definition at line 2299 of file Card.cs.

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

◆ ExistsOnMap

bool Card.ExistsOnMap
get

◆ exp

int Card.exp
getset

Definition at line 383 of file Card.cs.

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

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

◆ ExpToNext

int Card.ExpToNext
get

◆ FameLv

int Card.FameLv
get

Definition at line 2259 of file Card.cs.

2260 {
2261 get
2262 {
2263 if (!IsPC)
2264 {
2265 return LV;
2266 }
2267 return EClass.player.fame / 100 + 1;
2268 }
2269 }

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

◆ feat

int Card.feat
getset

Definition at line 359 of file Card.cs.

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

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

2078 {
2079 get
2080 {
2081 if (Tiles.Length == 1)
2082 {
2083 return dir % 2 == 1;
2084 }
2085 return false;
2086 }
2087 }
virtual int[] Tiles
Definition: Card.cs:2271

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

◆ freePos

bool Card.freePos
getset

Definition at line 503 of file Card.cs.

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

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

◆ fx

float Card.fx
getset

Definition at line 239 of file Card.cs.

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

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

◆ fy

float Card.fy
getset

Definition at line 251 of file Card.cs.

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

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

◆ H

int Card.H
get

Definition at line 2327 of file Card.cs.

2328 {
2329 get
2330 {
2331 if (dir % 2 != 0)
2332 {
2333 return sourceCard.W;
2334 }
2335 return sourceCard.H;
2336 }
2337 }

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

◆ HasContainerSize

bool Card.HasContainerSize
get

Definition at line 2369 of file Card.cs.

◆ HasHost

virtual bool Card.HasHost
get

◆ hasSpawned

bool Card.hasSpawned
getset

Definition at line 887 of file Card.cs.

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

Referenced by Zone.AddCard().

◆ HIT

int Card.HIT
get

Definition at line 2291 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ HostRenderer

CardRenderer Card.HostRenderer
get

Definition at line 2403 of file Card.cs.

2404 {
2405 get
2406 {
2407 if (!isChara || Chara.host == null)
2408 {
2409 return renderer;
2410 }
2411 return Chara.host.renderer;
2412 }
2413 }

Referenced by AI_Idle.Run().

◆ hp

◆ idMaterial

int Card.idMaterial
getset

Definition at line 131 of file Card.cs.

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

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

◆ idSkin

int Card.idSkin
getset

◆ ignoreAutoPick

bool Card.ignoreAutoPick
getset

Definition at line 491 of file Card.cs.

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

Referenced by ActPlan._Update().

◆ ignoreStackHeight

bool Card.ignoreStackHeight
getset

Definition at line 623 of file Card.cs.

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

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

◆ InspectName

string Card.InspectName
get

Implements IInspect.

Definition at line 2443 of file Card.cs.

◆ InspectPoint

Point Card.InspectPoint
get

Implements IInspect.

Definition at line 2445 of file Card.cs.

◆ InspectPosition

Vector3 Card.InspectPosition
get

Implements IInspect.

Definition at line 2447 of file Card.cs.

◆ INT

int Card.INT
get

Definition at line 2311 of file Card.cs.

◆ invX

int Card.invX
getset

Definition at line 1904 of file Card.cs.

1905 {
1906 get
1907 {
1908 return pos.x;
1909 }
1910 set
1911 {
1912 pos.x = value;
1913 }
1914 }

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

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

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

◆ IsAgent

bool Card.IsAgent
get

◆ IsAliveInCurrentZone

◆ IsAmmo

◆ isBackerContent

bool Card.isBackerContent
get

Definition at line 899 of file Card.cs.

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

◆ IsBlessed

bool Card.IsBlessed
get

Definition at line 2215 of file Card.cs.

Referenced by TraitWell.OnBlend().

◆ isBroken

bool Card.isBroken
getset

Definition at line 719 of file Card.cs.

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

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

◆ isCensored

bool Card.isCensored
getset

Definition at line 419 of file Card.cs.

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

Referenced by CardRenderer.OnEnterScreen().

◆ isChara

virtual bool Card.isChara
get

Definition at line 2045 of file Card.cs.

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

◆ IsContainer

◆ isCopy

bool Card.isCopy
getset

Definition at line 863 of file Card.cs.

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

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

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

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

◆ IsCursed

bool Card.IsCursed
get

Definition at line 2217 of file Card.cs.

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

◆ IsDeadOrSleeping

virtual bool Card.IsDeadOrSleeping
get

Definition at line 2071 of file Card.cs.

Referenced by CardRenderer.Draw().

◆ IsDecayed

◆ isDeconstructing

bool Card.isDeconstructing
getset

Definition at line 431 of file Card.cs.

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

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

◆ IsDisabled

virtual bool Card.IsDisabled
get

Definition at line 2073 of file Card.cs.

Referenced by ActMelee.Attack().

◆ isDyed

bool Card.isDyed
getset

Definition at line 443 of file Card.cs.

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

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

◆ isElemental

bool Card.isElemental
getset

Definition at line 707 of file Card.cs.

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

◆ IsEquipment

◆ IsEquipmentOrRanged

bool Card.IsEquipmentOrRanged
get

Definition at line 2179 of file Card.cs.

2180 {
2181 get
2182 {
2183 if (category.slot == 0)
2184 {
2185 return IsRangedWeapon;
2186 }
2187 return true;
2188 }
2189 }

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

◆ IsEquipmentOrRangedOrAmmo

bool Card.IsEquipmentOrRangedOrAmmo
get

Definition at line 2191 of file Card.cs.

2192 {
2193 get
2194 {
2195 if (category.slot == 0 && !IsRangedWeapon)
2196 {
2197 return IsAmmo;
2198 }
2199 return true;
2200 }
2201 }

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

◆ isFireproof

bool Card.isFireproof
getset

Definition at line 659 of file Card.cs.

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

◆ isFloating

bool Card.isFloating
getset

Definition at line 635 of file Card.cs.

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

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

◆ IsFood

◆ IsFresn

bool Card.IsFresn
get

Definition at line 2253 of file Card.cs.

◆ IsFurniture

bool Card.IsFurniture
get

◆ isGifted

bool Card.isGifted
getset

Definition at line 767 of file Card.cs.

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

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

◆ isHidden

◆ IsHotItem

◆ IsIdentified

◆ IsImportant

bool Card.IsImportant
get

Definition at line 2067 of file Card.cs.

◆ isImported

bool Card.isImported
getset

Definition at line 599 of file Card.cs.

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

◆ IsInheritFoodTraits

bool Card.IsInheritFoodTraits
get

Definition at line 2139 of file Card.cs.

2140 {
2141 get
2142 {
2143 if (!IsFood && !category.IsChildOf("seed") && !category.IsChildOf("drink") && !(id == "pasture"))
2144 {
2145 return id == "grass";
2146 }
2147 return true;
2148 }
2149 }

◆ IsInstalled

bool Card.IsInstalled
get

Definition at line 2343 of file Card.cs.

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

◆ isLeashed

bool Card.isLeashed
getset

Definition at line 827 of file Card.cs.

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

Referenced by Chara._Move().

◆ IsLightsource

bool Card.IsLightsource
get

Definition at line 2133 of file Card.cs.

◆ isLostProperty

bool Card.isLostProperty
getset

Definition at line 791 of file Card.cs.

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

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

◆ IsMale

bool Card.IsMale
get

Definition at line 2345 of file Card.cs.

2346 {
2347 get
2348 {
2349 if (bio != null)
2350 {
2351 return bio.gender == 2;
2352 }
2353 return false;
2354 }
2355 }

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

◆ isMasked

◆ IsMeleeWeapon

bool Card.IsMeleeWeapon
get

◆ IsMinion

virtual bool Card.IsMinion
get

Definition at line 2113 of file Card.cs.

◆ isModified

bool Card.isModified
getset

Definition at line 455 of file Card.cs.

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

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

◆ IsMoving

virtual bool Card.IsMoving
get

Definition at line 2075 of file Card.cs.

◆ IsMultisize

virtual bool Card.IsMultisize
get

Definition at line 2119 of file Card.cs.

2120 {
2121 get
2122 {
2124 {
2125 return IsInstalled;
2126 }
2127 return false;
2128 }
2129 }
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 2357 of file Card.cs.

2358 {
2359 get
2360 {
2361 if (!HasTag(CTAG.neg))
2362 {
2363 return blessedState <= BlessedState.Cursed;
2364 }
2365 return true;
2366 }
2367 }

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

◆ isNew

bool Card.isNew
getset

Definition at line 467 of file Card.cs.

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

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

◆ isNPCProperty

◆ isOn

◆ IsPC

◆ IsPCC

virtual bool Card.IsPCC
get

Definition at line 2109 of file Card.cs.

Referenced by CardRenderer.GetPref().

◆ IsPCFaction

◆ IsPCFactionMinion

virtual bool Card.IsPCFactionMinion
get

Definition at line 2117 of file Card.cs.

Referenced by Chara.GoHostile().

◆ IsPCFactionOrMinion

◆ IsPCParty

◆ IsPCPartyMinion

virtual bool Card.IsPCPartyMinion
get

Definition at line 2115 of file Card.cs.

◆ isPlayerCreation

bool Card.isPlayerCreation
getset

Definition at line 479 of file Card.cs.

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

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

◆ IsPowerful

bool Card.IsPowerful
get

Definition at line 2055 of file Card.cs.

2056 {
2057 get
2058 {
2059 if (rarity >= Rarity.Legendary || trait is TraitAdventurer)
2060 {
2061 return !IsPCFactionOrMinion;
2062 }
2063 return false;
2064 }
2065 }

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

◆ IsRangedWeapon

◆ isReplica

bool Card.isReplica
getset

Definition at line 683 of file Card.cs.

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

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

◆ isRestocking

bool Card.isRestocking
getset

Definition at line 875 of file Card.cs.

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

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

◆ isRestrained

◆ IsRestrainedResident

bool Card.IsRestrainedResident
get

Definition at line 2219 of file Card.cs.

2220 {
2221 get
2222 {
2223 if (isRestrained)
2224 {
2225 return IsPCFaction;
2226 }
2227 return false;
2228 }
2229 }

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

◆ isRoofItem

bool Card.isRoofItem
getset

Definition at line 563 of file Card.cs.

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

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

Referenced by ButtonGrid.SetCard().

◆ isSale

bool Card.isSale
getset

Definition at line 851 of file Card.cs.

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

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

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

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

◆ isSubsetCard

bool Card.isSubsetCard
getset

Definition at line 731 of file Card.cs.

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

Referenced by Zone.UpdateQuests().

◆ isSummon

bool Card.isSummon
getset

Definition at line 695 of file Card.cs.

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

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

Referenced by ActEffect.Proc().

◆ IsUnique

◆ IsVariation

bool Card.IsVariation
get

Definition at line 2285 of file Card.cs.

◆ IsWeapon

bool Card.IsWeapon
get

Definition at line 2167 of file Card.cs.

2168 {
2169 get
2170 {
2171 if (!IsMeleeWeapon)
2172 {
2173 return IsRangedWeapon;
2174 }
2175 return true;
2176 }
2177 }
bool IsMeleeWeapon
Definition: Card.cs:2203

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

◆ isWeightChanged

bool Card.isWeightChanged
getset

Definition at line 647 of file Card.cs.

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

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

◆ LER

int Card.LER
get

Definition at line 2303 of file Card.cs.

◆ LightColor

Color Card.LightColor
get

Definition at line 1082 of file Card.cs.

Referenced by ActPlan._Update().

◆ LightData

LightData Card.LightData
get

Definition at line 2391 of file Card.cs.

2392 {
2393 get
2394 {
2395 if (_LightData == null)
2396 {
2397 return _LightData = ((!sourceCard.lightData.IsEmpty()) ? EClass.Colors.lightColors[sourceCard.lightData] : null);
2398 }
2399 return _LightData;
2400 }
2401 }
string lightData
Definition: CardRow.cs:13
LightData _LightData
Definition: Card.cs:95
UD_String_LightData lightColors

Referenced by ActPlan._Update().

◆ LUC

int Card.LUC
get

Definition at line 2313 of file Card.cs.

◆ LV

int Card.LV
getset

Definition at line 371 of file Card.cs.

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

Referenced by TraitGodStatue._OnUse(), TraitShrine._OnUse(), SerializedCards.Add(), AddThing(), Feat.Apply(), RecipeCard.Build(), CalcMoney.BuySlave(), TraitMonsterBall.CanStackTo(), TraitRecipeCat.CanStackTo(), TraitCrafter.Craft(), Create(), Region.CreateRandomSite(), FactionBranch.DailyOutcome(), DamageHP(), Chara.Die(), Duplicate(), ZonePreEnterBout.Execute(), ZonePreEnterBoutWin.Execute(), DNA.GenerateGene(), DNA.GenerateManiGene(), TraitChara.GetAdvRank(), AI_Shear.GetFur(), Chara.GetHoverText(), Hobby.GetLv(), Religion.GetOfferingValue(), Ability.GetPower(), CraftUtil.GetRandomDarkSoupIngredient(), CraftUtil.GetRandomLoveLunchIngredient(), FactionBranch.GetResidentTax(), ActThrow.GetText(), GetTotalQuality(), TaskHarvest.HarvestThing(), LevelUp(), 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 2307 of file Card.cs.

◆ material

◆ MaxDecay

virtual int Card.MaxDecay
get

Definition at line 2247 of file Card.cs.

◆ MaxHP

virtual int Card.MaxHP
get

Definition at line 2255 of file Card.cs.

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

◆ Name

string Card.Name
get

Definition at line 2099 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(), Recipe.Ingredient.IsValidIngredient(), ShopTransaction.Log(), GlobalGoalVisitAndStay.OnAdvanceHour(), TraitWell.OnBlend(), TaskHarvest.OnCreateProgress(), UIInventory.OnInit(), ElementContainerCard.OnLevelUp(), Game.OnLoad(), TraitBaseSpellbook.OnRead(), ActZap.Perform(), ActEffect.Proc(), ShopTransaction.Process(), WidgetCurrentTool.RebuildSlots(), FactionBranch.Recruit(), LayerQuestBoard.RefreshHire(), UIInventory.RefreshList(), UIInventory.RefreshMenu(), UIHomeInfo.RefreshReport(), Chara.RefreshSpeed(), SerializedCards.Restore(), AI_Slaughter.Run(), GoalCombat.Run(), TraitDetector.Search(), WidgetSearch.Search(), ButtonGeneral.SetCard(), ButtonGrid.SetCard(), Person.SetChara(), ButtonChara.SetChara(), ItemGeneral.SetChara(), LayerDragGrid.SetInv(), TraitMonsterBall.SetName(), CardActor.SetOwner(), ItemPopulation.SetTopic(), UIFactionInfo.SetZone(), UIZoneInfo.SetZone(), GameDate.ShipGoods(), CoreDebug.Spawn(), ZoneEventQuest.SpawnBoss(), CoreDebug.SpawnBoss(), Expedition.Start(), WidgetInspector.SwitchPage(), ToString(), GoalCombat.TryMove(), TraitSalesTag.TrySetHeldAct(), TraitSyringeGene.TrySetHeldAct(), TraitSyringeHeaven.TrySetHeldAct(), TraitWrench.TrySetHeldAct(), Map.TryShatter(), GoalCombat.TryUseAbility(), CoreDebug.UpdateInput(), CraftUtil.WrapIngredient(), HomeResourceWorth.WriteNote(), EloPos.WriteNote(), and TraitBookSkill.WriteNote().

◆ NameOne

string Card.NameOne
get

Definition at line 2103 of file Card.cs.

Referenced by BuildMenu._Search().

◆ NameSimple

◆ noMove

bool Card.noMove
getset

◆ noSell

bool Card.noSell
getset

Definition at line 815 of file Card.cs.

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

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

◆ noShadow

bool Card.noShadow
getset

Definition at line 803 of file Card.cs.

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

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

◆ noSnow

bool Card.noSnow
getset

Definition at line 743 of file Card.cs.

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

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

◆ Num

int Card.Num
getset

Definition at line 155 of file Card.cs.

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

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

◆ PER

int Card.PER
get

Definition at line 2301 of file Card.cs.

◆ posInvX

int Card.posInvX
getset

Definition at line 323 of file Card.cs.

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

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

◆ posInvY

int Card.posInvY
getset

Definition at line 335 of file Card.cs.

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

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

◆ Power

virtual int Card.Power
get

Definition at line 2257 of file Card.cs.

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

◆ Pref

◆ PrefIndex

virtual int Card.PrefIndex
get

Definition at line 2273 of file Card.cs.

2274 {
2275 get
2276 {
2277 if (Tiles.Length < 3)
2278 {
2279 return dir % 2;
2280 }
2281 return dir;
2282 }
2283 }

Referenced by CardRenderer.Draw().

◆ PV

virtual int Card.PV
get

Definition at line 2289 of file Card.cs.

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

◆ Quality

int Card.Quality
get

Definition at line 2387 of file Card.cs.

Referenced by GetTotalQuality().

◆ QualityLv

int Card.QualityLv
get

Definition at line 2389 of file Card.cs.

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

◆ rarity

◆ rarityLv

int Card.rarityLv
getset

Definition at line 287 of file Card.cs.

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

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

◆ refCard

CardRow Card.refCard
get

Definition at line 1928 of file Card.cs.

1929 {
1930 get
1931 {
1932 object obj;
1933 if (!c_idRefCard.IsEmpty())
1934 {
1935 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard);
1936 if (obj == null)
1937 {
1938 return EClass.sources.cards.map["ash3"];
1939 }
1940 }
1941 else
1942 {
1943 obj = null;
1944 }
1945 return (CardRow)obj;
1946 }
1947 }

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

◆ refCard2

CardRow Card.refCard2
get

Definition at line 1949 of file Card.cs.

1950 {
1951 get
1952 {
1953 object obj;
1954 if (!c_idRefCard2.IsEmpty())
1955 {
1956 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard2);
1957 if (obj == null)
1958 {
1959 return EClass.sources.cards.map["ash3"];
1960 }
1961 }
1962 else
1963 {
1964 obj = null;
1965 }
1966 return (CardRow)obj;
1967 }
1968 }

◆ refVal

◆ SelfWeight

virtual int Card.SelfWeight
get

Definition at line 2007 of file Card.cs.

Referenced by AI_Eat.Run().

◆ ShouldShowMsg

bool Card.ShouldShowMsg
get

Definition at line 2415 of file Card.cs.

2416 {
2417 get
2418 {
2419 if (IsPC || parent == EClass.pc || isSynced)
2420 {
2421 if (isChara)
2422 {
2423 return !Chara.isDead;
2424 }
2425 return true;
2426 }
2427 return false;
2428 }
2429 }
bool isDead
Definition: Chara.cs:387

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

◆ ShowFoodEnc

bool Card.ShowFoodEnc
get

Definition at line 2151 of file Card.cs.

2152 {
2153 get
2154 {
2156 {
2157 if (Evalue(10) > 0)
2158 {
2160 }
2161 return false;
2162 }
2163 return true;
2164 }
2165 }
bool IsInheritFoodTraits
Definition: Card.cs:2140

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

◆ socketList

List<SocketData> Card.socketList
getset

Definition at line 1770 of file Card.cs.

1771 {
1772 get
1773 {
1774 return GetObj<List<SocketData>>(17);
1775 }
1776 set
1777 {
1778 SetObj(17, value);
1779 }
1780 }

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

◆ sourceBacker

SourceBacker.Row Card.sourceBacker
get

Definition at line 901 of file Card.cs.

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

◆ sourceCard

◆ sourceRenderCard

virtual CardRow Card.sourceRenderCard
get

◆ STR

int Card.STR
get

Definition at line 2295 of file Card.cs.

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

◆ TextRarity

string Card.TextRarity
get

Definition at line 2341 of file Card.cs.

◆ Thing

virtual Thing Card.Thing
get

Definition at line 2019 of file Card.cs.

2020 {
2021 get
2022 {
2023 if (!isThing)
2024 {
2025 return null;
2026 }
2027 return (Thing)this;
2028 }
2029 }

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

◆ tier

int Card.tier
getset

Definition at line 395 of file Card.cs.

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

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

◆ Tiles

virtual int [] Card.Tiles
get

Definition at line 2271 of file Card.cs.

◆ TileType

◆ Tool

◆ uid

int Card.uid
getset

Definition at line 119 of file Card.cs.

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

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(), Game.OnGameInstantiated(), ListPeopleExpedition.OnList(), ConSleep.OnRemoved(), Chara.OnSerializing(), QuestEscort.OnStart(), TraitGeneMachine.OnUse(), ZoneEventSiege.OnVisit(), HotItemEQSet.Perform(), ReferenceId(), ItemQuestTracker.Refresh(), HotItemEQSet.Register(), CardManager.GlobalCharaList.Remove(), CharaList.Remove(), Party.RemoveMember(), Faction.RemoveReserve(), Party.Replace(), SerializedCards.Restore(), TraitShackle.Restrain(), Recipe.SaveLastIngredients(), SecondaryCompare(), RefChara.Set(), Person.SetChara(), ItemGeneral.SetChara(), TeleportManager.SetID(), SetLv(), ElementContainerCard.SetOwner(), ListPeopleExpedition.SetSubText(), ZoneEventQuest.Spawn(), ZoneEventQuest.SpawnBoss(), ZoneEventSiege.SpawnMob(), Msg.TalkMaid(), ActThrow.Throw(), ConSleep.Tick(), and Thing.TryLickEnchant().

◆ version

int Card.version
getset

Definition at line 407 of file Card.cs.

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

Referenced by _OnDeserialized(), and _OnSerializing().

◆ visitorState

VisitorState Card.visitorState
getset

Definition at line 1170 of file Card.cs.

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

◆ W

int Card.W
get

Definition at line 2315 of file Card.cs.

2316 {
2317 get
2318 {
2319 if (dir % 2 != 0)
2320 {
2321 return sourceCard.H;
2322 }
2323 return sourceCard.W;
2324 }
2325 }

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

◆ WeightLimit

virtual int Card.WeightLimit
get

Definition at line 2009 of file Card.cs.

Referenced by UICurrency.Build().

◆ WIL

int Card.WIL
get

Definition at line 2305 of file Card.cs.

Referenced by AttackProcess.Prepare().


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