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

Public Types

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

Public Member Functions

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

Static Public Member Functions

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

Public Attributes

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

Static Public Attributes

const int MaxWeight = 10000000
 
- Static Public Attributes inherited from EClass
static Core core
 

Protected Member Functions

virtual void OnSerializing ()
 
virtual void OnDeserialized ()
 

Properties

Card parentCard [get]
 
Thing parentThing [get]
 
int colorInt [get]
 
bool IsHotItem [get]
 
int uid [get, set]
 
int idMaterial [get, set]
 
int dir [get, set]
 
int Num [get, set]
 
int _x [get, set]
 
int _z [get, set]
 
int refVal [get, set]
 
int decay [get, set]
 
int altitude [get, set]
 
int hp [get, set]
 
float fx [get, set]
 
float fy [get, set]
 
BlessedState blessedState [get, set]
 
PlaceState _placeState [get, set]
 
int rarityLv [get, set]
 
Rarity rarity [get, set]
 
int encLV [get, set]
 
int posInvX [get, set]
 
int posInvY [get, set]
 
int idSkin [get, set]
 
int feat [get, set]
 
int LV [get, set]
 
int exp [get, set]
 
int tier [get, set]
 
bool isCensored [get, set]
 
bool isDeconstructing [get, set]
 
bool isDyed [get, set]
 
bool isModified [get, set]
 
bool isNew [get, set]
 
bool isPlayerCreation [get, set]
 
bool ignoreAutoPick [get, set]
 
bool freePos [get, set]
 
bool isHidden [get, set]
 
bool isOn [get, set]
 
bool isNPCProperty [get, set]
 
bool isRestrained [get, set]
 
bool isRoofItem [get, set]
 
bool isMasked [get, set]
 
bool disableAutoToggle [get, set]
 
bool isImported [get, set]
 
bool autoRefuel [get, set]
 
bool ignoreStackHeight [get, set]
 
bool isFloating [get, set]
 
bool isWeightChanged [get, set]
 
bool isFireproof [get, set]
 
bool isAcidproof [get, set]
 
bool isReplica [get, set]
 
bool isSummon [get, set]
 
bool isElemental [get, set]
 
bool isBroken [get, set]
 
bool isSubsetCard [get, set]
 
bool noSnow [get, set]
 
bool noMove [get, set]
 
bool isGifted [get, set]
 
bool isCrafted [get, set]
 
bool isLostProperty [get, set]
 
bool noShadow [get, set]
 
bool noSell [get, set]
 
bool isLeashed [get, set]
 
bool isStolen [get, set]
 
bool isSale [get, set]
 
bool isCopy [get, set]
 
bool isRestocking [get, set]
 
bool hasSpawned [get, set]
 
bool isBackerContent [get]
 
SourceBacker.Row sourceBacker [get]
 
BedType c_bedType [get, set]
 
int c_equippedSlot [get, set]
 
int c_lockLv [get, set]
 
Hostility c_originalHostility [get, set]
 
MinionType c_minionType [get, set]
 
int c_vomit [get, set]
 
bool c_wasInPcParty [get, set]
 
bool c_isImportant [get, set]
 
bool c_lockedHard [get, set]
 
bool c_revealLock [get, set]
 
bool c_isTrained [get, set]
 
bool c_isPrayed [get, set]
 
bool c_isDisableStockUse [get, set]
 
int c_lightColor [get, set]
 
Color LightColor [get]
 
int c_uidZone [get, set]
 
int c_uidRefCard [get, set]
 
int c_priceFix [get, set]
 
int c_priceAdd [get, set]
 
int c_priceCopy [get, set]
 
int c_fixedValue [get, set]
 
int c_dyeMat [get, set]
 
VisitorState visitorState [get, set]
 
RescueState c_rescueState [get, set]
 
BossType c_bossType [get, set]
 
int c_dateStockExpire [get, set]
 
int c_dateDeathLock [get, set]
 
int c_IDTState [get, set]
 
int c_charges [get, set]
 
int c_bill [get, set]
 
int c_invest [get, set]
 
int c_seed [get, set]
 
int c_allowance [get, set]
 
int c_fur [get, set]
 
int c_dateCooked [get, set]
 
int c_containerSize [get, set]
 
int c_weight [get, set]
 
int c_diceDim [get, set]
 
int c_indexContainerIcon [get, set]
 
int c_idMainElement [get, set]
 
int c_summonDuration [get, set]
 
int c_idBacker [get, set]
 
int c_uidMaster [get, set]
 
int c_ammo [get, set]
 
int c_daysWithGod [get, set]
 
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_idTalk [get, set]
 
string c_idDeity [get, set]
 
string c_altName [get, set]
 
string c_altName2 [get, set]
 
string c_extraNameRef [get, set]
 
string c_refText [get, set]
 
string c_idRefName [get, set]
 
string c_idRidePCC [get, set]
 
string c_idAbility [get, set]
 
string c_context [get, set]
 
string c_idEditor [get, set]
 
string c_editorTags [get, set]
 
string c_editorTraitVal [get, set]
 
string c_idTrait [get, set]
 
string c_idRefCard [get, set]
 
string c_idRefCard2 [get, set]
 
string c_note [get, set]
 
UniqueData c_uniqueData [get, set]
 
Thing ammoData [get, set]
 
List< SocketDatasocketList [get, set]
 
Thing c_copyContainer [get, set]
 
Window.SaveData c_windowSaveData [get, set]
 
CharaUpgrade c_upgrades [get, set]
 
CharaGenes c_genes [get, set]
 
List< int > c_corruptionHistory [get, set]
 
ContainerUpgrade c_containerUpgrade [get, set]
 
DNA c_DNA [get, set]
 
CharaList c_charaList [get, set]
 
byte[] c_textureData [get, set]
 
SourceMaterial.Row DyeMat [get]
 
int invX [get, set]
 
int invY [get, set]
 
CardRow refCard [get]
 
CardRow refCard2 [get]
 
int ExpToNext [get]
 
int DefaultLV [get]
 
int ChildrenWeight [get]
 
int ChildrenAndSelfWeight [get]
 
int ChildrenAndSelfWeightSingle [get]
 
virtual int SelfWeight [get]
 
virtual int WeightLimit [get]
 
SourceCategory.Row category [get]
 
SourceMaterial.Row material [get]
 
virtual string AliasMaterialOnCreate [get]
 
Cell Cell [get]
 
virtual Thing Thing [get]
 
virtual Chara Chara [get]
 
virtual bool isThing [get]
 
virtual bool isChara [get]
 
bool ExistsOnMap [get]
 
virtual bool isSynced [get]
 
bool IsContainer [get]
 
bool IsUnique [get]
 
bool IsPowerful [get]
 
bool IsImportant [get]
 
virtual SourcePref Pref [get]
 
virtual bool IsDeadOrSleeping [get]
 
virtual bool IsDisabled [get]
 
virtual bool IsMoving [get]
 
virtual bool flipX [get]
 
virtual bool IsAliveInCurrentZone [get]
 
virtual string actorPrefab [get]
 
virtual CardRow sourceCard [get]
 
virtual CardRow sourceRenderCard [get]
 
TileType TileType [get]
 
string Name [get]
 
string NameSimple [get]
 
string NameOne [get]
 
virtual bool IsPC [get]
 
bool _IsPC [get]
 
virtual bool IsPCC [get]
 
virtual bool IsPCParty [get]
 
virtual bool IsMinion [get]
 
virtual bool IsPCPartyMinion [get]
 
virtual bool IsPCFactionMinion [get]
 
virtual bool IsMultisize [get]
 
bool IsToolbelt [get]
 
bool IsLightsource [get]
 
bool IsEquipment [get]
 
bool IsFood [get]
 
bool IsInheritFoodTraits [get]
 
bool ShowFoodEnc [get]
 
bool IsWeapon [get]
 
bool IsEquipmentOrRanged [get]
 
bool IsEquipmentOrRangedOrAmmo [get]
 
bool IsMeleeWeapon [get]
 
bool IsRangedWeapon [get]
 
bool IsThrownWeapon [get]
 
bool IsAmmo [get]
 
bool IsAgent [get]
 
bool IsFurniture [get]
 
bool IsBlessed [get]
 
bool IsCursed [get]
 
bool IsRestrainedResident [get]
 
virtual bool IsPCFaction [get]
 
bool IsPCFactionOrMinion [get]
 
virtual bool IsGlobal [get]
 
virtual int MaxDecay [get]
 
bool IsDecayed [get]
 
bool IsRotting [get]
 
bool IsFresn [get]
 
virtual int MaxHP [get]
 
virtual int Power [get]
 
int FameLv [get]
 
virtual int[] Tiles [get]
 
virtual int PrefIndex [get]
 
bool IsVariation [get]
 
virtual int DV [get]
 
virtual int PV [get]
 
int HIT [get]
 
int DMG [get]
 
int STR [get]
 
int DEX [get]
 
int END [get]
 
int PER [get]
 
int LER [get]
 
int WIL [get]
 
int MAG [get]
 
int CHA [get]
 
int INT [get]
 
int LUC [get]
 
int W [get]
 
int H [get]
 
bool IsIdentified [get]
 
string TextRarity [get]
 
bool IsInstalled [get]
 
bool IsMale [get]
 
bool IsNegativeGift [get]
 
bool HasContainerSize [get]
 
Thing Tool [get]
 
virtual SourceMaterial.Row DefaultMaterial [get]
 
virtual bool HasHost [get]
 
int Quality [get]
 
int QualityLv [get]
 
LightData LightData [get]
 
CardRenderer HostRenderer [get]
 
bool ShouldShowMsg [get]
 
bool CanInspect [get]
 
string InspectName [get]
 
Point InspectPoint [get]
 
Vector3 InspectPosition [get]
 
- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 
- Properties inherited from IInspect
bool CanInspect [get]
 
string InspectName [get]
 
Point InspectPoint [get]
 
Vector3 InspectPosition [get]
 

Private Member Functions

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

Private Attributes

int _childrenWeight
 
SourceCategory.Row _category
 
LightData _LightData
 
Sprite _paintSprite
 

Static Private Attributes

static Color _randColor
 

Detailed Description

Definition at line 10 of file Card.cs.

Member Enumeration Documentation

◆ MoveResult

Enumerator
Fail 
Success 
Door 

Definition at line 12 of file Card.cs.

◆ MoveType

Enumerator
Walk 
Force 

Definition at line 19 of file Card.cs.

20 {
21 Walk,
22 Force
23 }

Member Function Documentation

◆ _CreateRenderer()

virtual CardRenderer Card._CreateRenderer ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 5410 of file Card.cs.

5411 {
5412 renderer = new CardRenderer();
5413 renderer.SetOwner(this);
5414 return renderer;
5415 }
virtual void SetOwner(Card c)
Definition: CardRenderer.cs:38
CardRenderer renderer
Definition: Card.cs:57

References CardRenderer.SetOwner().

Referenced by _OnDeserialized(), and Create().

◆ _Move()

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

Reimplemented in Chara.

Definition at line 5298 of file Card.cs.

5299 {
5300 EClass._map.MoveCard(p, this);
5301 if (isChara)
5302 {
5303 Chara.SyncRide();
5304 }
5305 return MoveResult.Success;
5306 }
MoveResult
Definition: Card.cs:13
virtual bool isChara
Definition: Card.cs:1983
Definition: Chara.cs:10
void SyncRide()
Definition: Chara.cs:3578
Definition: EClass.cs:5
static Map _map
Definition: EClass.cs:18
void MoveCard(Point p, Card t)
Definition: Map.cs:835

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

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

◆ _OnDeserialized()

void Card._OnDeserialized ( StreamingContext  context)
inlineprivate

Definition at line 2591 of file Card.cs.

2592 {
2593 _bits1.SetInt(_ints[0]);
2594 _bits2.SetInt(_ints[2]);
2596 pos.Set(_x, _z);
2597 SetSource();
2598 things.SetOwner(this);
2599 elements.SetOwner(this, applyFeat: false);
2601 ApplyTrait();
2602 ApplyMaterialElements(remove: false);
2604 foreach (Thing thing in things)
2605 {
2606 thing.parent = this;
2607 }
2608 if (isThing && Num <= 0)
2609 {
2610 isDestroyed = true;
2611 }
2612 }
bool isDestroyed
Definition: Card.cs:71
BitArray32 _bits1
Definition: Card.cs:75
virtual bool isThing
Definition: Card.cs:1981
virtual void ApplyMaterialElements(bool remove)
Definition: Card.cs:2878
ElementContainerCard elements
Definition: Card.cs:37
virtual void SetSource()
Definition: Card.cs:2734
BitArray32 _bits2
Definition: Card.cs:77
virtual CardRenderer _CreateRenderer()
Definition: Card.cs:5410
PlaceState placeState
Definition: Card.cs:79
Point pos
Definition: Card.cs:55
virtual void OnDeserialized()
Definition: Card.cs:2614
int[] _ints
Definition: Card.cs:28
void ApplyTrait()
Definition: Card.cs:2763
ThingContainer things
Definition: Card.cs:34
int _z
Definition: Card.cs:178
PlaceState _placeState
Definition: Card.cs:274
int Num
Definition: Card.cs:154
int _x
Definition: Card.cs:166
void SetOwner(Card c, bool applyFeat)
Point Set(int _x, int _z)
Definition: Point.cs:491
void SetOwner(Card owner)
Definition: Thing.cs:8
void SetInt(int i)
Definition: BitArray32.cs:89

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

◆ _OnSerializing()

void Card._OnSerializing ( StreamingContext  context)
inlineprivate

Definition at line 2576 of file Card.cs.

2577 {
2578 _x = pos.x;
2579 _z = pos.z;
2580 _ints[0] = _bits1.ToInt();
2581 _ints[2] = _bits2.ToInt();
2583 OnSerializing();
2584 }
virtual void OnSerializing()
Definition: Card.cs:2586
int x
Definition: Point.cs:36
int z
Definition: Point.cs:39
int ToInt()
Definition: BitArray32.cs:84

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

◆ Add()

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

◆ AddBlood()

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

Definition at line 5417 of file Card.cs.

5418 {
5419 if (!EClass._zone.IsRegion)
5420 {
5421 for (int i = 0; i < a; i++)
5422 {
5423 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);
5424 }
5425 PlaySound("blood");
5426 }
5427 }
SourceMaterial.Row material
Definition: Card.cs:1951
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5585
SourceRace.Row race
Definition: Chara.cs:454
static int rnd(int a)
Definition: EClass.cs:58
static Zone _zone
Definition: EClass.cs:20
void AddDecal(int x, int z, int id, int amount=1, bool refresh=true)
Definition: Map.cs:2007
virtual bool IsRegion
Definition: Spatial.cs:501

References EClass._map, EClass._zone, Map.AddDecal(), Spatial.IsRegion, material, Chara.race, EClass.rnd(), Point.x, and Point.z.

Referenced by ConBleed.Tick().

◆ AddCard()

◆ AddEditorTag()

void Card.AddEditorTag ( EditorTag  tag)
inline

Definition at line 2505 of file Card.cs.

2506 {
2507 c_editorTags = (c_editorTags.IsEmpty() ? tag.ToString() : (c_editorTags + "," + tag));
2508 }
string c_editorTags
Definition: Card.cs:1625

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

2817 {
2818 if (!IsPC)
2819 {
2820 a *= 2;
2821 if (IsPCFaction)
2822 {
2823 a = a * Mathf.Clamp(100 + Chara.affinity.value / 10, 50, 200) / 100;
2825 {
2826 a = a * (50 + EClass.game.principal.petFeatExpMtp * 50) / 100;
2827 }
2828 }
2829 }
2830 a = a * (100 + Evalue(1237) * 30) / 100;
2831 exp += a;
2832 while (exp >= ExpToNext)
2833 {
2834 exp -= ExpToNext;
2835 LevelUp();
2836 }
2837 }
int value
Definition: Affinity.cs:26
int ExpToNext
Definition: Card.cs:1908
void LevelUp()
Definition: Card.cs:2839
int exp
Definition: Card.cs:382
virtual bool IsPC
Definition: Card.cs:2043
int Evalue(int ele)
Definition: Card.cs:2471
virtual bool IsPCFaction
Definition: Card.cs:2169
Affinity affinity
Definition: Chara.cs:304
static Game game
Definition: EClass.cs:8
GamePrincipal principal
Definition: Game.cs:221

References Chara.affinity, Evalue(), exp, ExpToNext, EClass.game, IsPC, IsPCFaction, LevelUp(), GamePrincipal.petFeatExp, Game.principal, and Affinity.value.

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

◆ AddRune() [1/2]

SocketData Card.AddRune ( Card  rune)
inline

Definition at line 3389 of file Card.cs.

3390 {
3391 return AddRune(rune.refVal, rune.encLV);
3392 }
SocketData AddRune(Card rune)
Definition: Card.cs:3389
int refVal
Definition: Card.cs:190
int encLV
Definition: Card.cs:310

References AddRune(), encLV, and refVal.

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

◆ AddRune() [2/2]

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

Definition at line 3394 of file Card.cs.

3395 {
3396 if (socketList == null)
3397 {
3398 socketList = new List<SocketData>();
3399 }
3400 SourceElement.Row row = EClass.sources.elements.map[idEle];
3401 SocketData socketData = new SocketData
3402 {
3403 idEle = idEle,
3404 value = v,
3405 type = SocketData.Type.Rune
3406 };
3407 socketList.Add(socketData);
3408 if (IsWeapon || !row.IsWeaponEnc)
3409 {
3410 elements.SetTo(idEle, v);
3411 }
3412 return socketData;
3413 }
List< SocketData > socketList
Definition: Card.cs:1721
bool IsWeapon
Definition: Card.cs:2106
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 3332 of file Card.cs.

3333 {
3334 if (sockets == null)
3335 {
3336 sockets = new List<int>();
3337 }
3338 sockets.Add(0);
3339 }
List< int > sockets
Definition: Card.cs:43

References sockets.

Referenced by Thing.OnCreate().

◆ AddThing() [1/2]

◆ AddThing() [2/2]

Thing Card.AddThing ( Thing  t,
bool  tryStack = true,
int  destInvX = -1,
int  destInvY = -1 
)
inline

Definition at line 2955 of file Card.cs.

2956 {
2957 if (t.Num == 0 || t.isDestroyed)
2958 {
2959 Debug.LogWarning("tried to add destroyed thing:" + t.Num + "/" + t.isDestroyed + "/" + t?.ToString() + "/" + this);
2960 return t;
2961 }
2962 if (t.parent == this)
2963 {
2964 Debug.LogWarning("already child:" + t);
2965 return t;
2966 }
2967 if (things.Contains(t))
2968 {
2969 Debug.Log("already in the list" + t);
2970 return t;
2971 }
2972 _ = t.parent;
2973 _ = EClass._zone;
2974 bool flag = IsPC && t.GetRootCard() == EClass.pc;
2975 if (t.parent != null)
2976 {
2977 t.parent.RemoveCard(t);
2978 }
2979 if (t.trait.ToggleType == ToggleType.Fire && destInvY == 0)
2980 {
2981 t.trait.Toggle(on: false);
2982 }
2983 t.isMasked = false;
2984 t.ignoreAutoPick = false;
2985 t.parent = this;
2986 t.noShadow = false;
2987 t.isSale = false;
2988 if (t.IsContainer)
2989 {
2990 t.RemoveEditorTag(EditorTag.PreciousContainer);
2991 }
2992 t.invX = -1;
2993 if (destInvY == -1)
2994 {
2995 t.invY = 0;
2996 }
2997 if (t.IsUnique && t.HasTag(CTAG.godArtifact) && t.GetRootCard() is Chara { IsPCFactionOrMinion: not false })
2998 {
3000 }
3001 Thing thing = (tryStack ? things.TryStack(t, destInvX, destInvY) : t);
3002 if (t == thing)
3003 {
3004 things.Add(t);
3005 things.OnAdd(t);
3006 }
3007 if (thing == t && IsPC && EClass.core.IsGameStarted && EClass._map != null && parent == EClass.game.activeZone && pos.IsValid && !flag)
3008 {
3009 NotifyAddThing(t, t.Num);
3010 }
3011 if (t == thing && isThing && parent == EClass._zone && placeState != 0)
3012 {
3014 }
3017 {
3019 LayerInventory.SetDirty(thing);
3020 }
3021 if (IsPC)
3022 {
3023 goto IL_029f;
3024 }
3025 if (IsContainer)
3026 {
3027 Card rootCard = GetRootCard();
3028 if (rootCard != null && rootCard.IsPC)
3029 {
3030 goto IL_029f;
3031 }
3032 }
3033 goto IL_0345;
3034 IL_0345:
3035 return thing;
3036 IL_029f:
3037 t.isNPCProperty = false;
3038 t.isGifted = false;
3039 int count = 0;
3040 HashSet<string> ings = EClass.player.recipes.knownIngredients;
3041 TryAdd(t);
3042 if (t.CanSearchContents)
3043 {
3044 t.things.Foreach(delegate(Thing _t)
3045 {
3046 TryAdd(_t);
3047 });
3048 }
3049 if (count > 0 && EClass.core.IsGameStarted)
3050 {
3051 Msg.Say((count == 1) ? "newIng" : "newIngs", count.ToString() ?? "");
3052 }
3053 goto IL_0345;
3054 void TryAdd(Thing a)
3055 {
3056 if (!ings.Contains(a.id))
3057 {
3058 ings.Add(a.id);
3059 count++;
3060 if (a.sourceCard.origin != null && !ings.Contains(a.sourceCard.origin.id))
3061 {
3062 ings.Add(a.sourceCard.origin.id);
3063 }
3064 }
3065 }
3066 }
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:3068
void RemoveEditorTag(EditorTag tag)
Definition: Card.cs:2510
string id
Definition: Card.cs:31
bool IsUnique
Definition: Card.cs:1991
ICardParent parent
Definition: Card.cs:51
void NotifyAddThing(Thing t, int num)
Definition: Card.cs:2946
bool HasTag(CTAG tag)
Definition: Card.cs:2495
void SetDirtyWeight()
Definition: Card.cs:2454
Trait trait
Definition: Card.cs:49
bool ShouldTrySetDirtyInventory()
Definition: Card.cs:3170
Card GetRootCard()
Definition: Card.cs:3217
bool IsContainer
Definition: Card.cs:1989
bool IsGameStarted
Definition: Core.cs:84
static Core core
Definition: EClass.cs:6
static Player player
Definition: EClass.cs:12
static Chara pc
Definition: EClass.cs:14
Zone activeZone
Definition: Game.cs:245
static void SetDirty(Thing t)
PropsStocked Stocked
Definition: Map.cs:121
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
RecipeManager recipes
Definition: Player.cs:913
bool IsValid
Definition: Point.cs:88
void Add(Card t)
Definition: Props.cs:63
HashSet< string > knownIngredients
void OnAdd(Thing t)
Thing TryStack(Thing target, int destInvX=-1, int destInvY=-1)
void Foreach(Action< Thing > action, bool onlyAccessible=true)
bool CanSearchContents
Definition: Thing.cs:80
override CardRow sourceCard
Definition: Thing.cs:47
virtual void Toggle(bool on, bool silent=false)
Definition: Trait.cs:1144
virtual ToggleType ToggleType
Definition: Trait.cs:462
void RemoveCard(Card c)

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

◆ ApplyBacker()

void Card.ApplyBacker ( int  bid)
inline

Definition at line 6400 of file Card.cs.

6401 {
6402 ChangeRarity(Rarity.Normal);
6403 SourceBacker.Row row = EClass.sources.backers.map.TryGetValue(bid);
6404 if (row == null)
6405 {
6406 return;
6407 }
6408 c_idBacker = row.id;
6409 if (row.type == 4)
6410 {
6412 Chara chara = Chara;
6413 Hostility hostility2 = (Chara.c_originalHostility = Hostility.Neutral);
6414 chara.hostility = hostility2;
6415 }
6416 if (row.type == 6)
6417 {
6420 Chara.idFaith = row.deity.ToLower();
6421 }
6422 if (row.type == 4 || row.type == 5 || row.type == 7)
6423 {
6424 idSkin = ((row.skin == 0) ? EClass.rnd(sourceCard._tiles.Length) : row.skin);
6425 if (id == "putty_snow")
6426 {
6427 idSkin = 0;
6428 }
6429 }
6430 if (bid == 164)
6431 {
6432 Chara.EQ_ID("amulet_moonnight");
6433 }
6434 }
Hostility
Definition: Hostility.cs:2
Rarity
Definition: Rarity.cs:2
void SetGender(int g)
Definition: Biography.cs:454
void SetPortrait(Chara c)
Definition: Biography.cs:463
virtual Chara Chara
Definition: Card.cs:1970
Biography bio
Definition: Card.cs:40
int c_idBacker
Definition: Card.cs:1385
int idSkin
Definition: Card.cs:346
virtual CardRow sourceCard
Definition: Card.cs:2031
virtual void ChangeRarity(Rarity q)
Definition: Card.cs:3667
Thing EQ_ID(string s, int mat=-1, Rarity r=Rarity.Random)
Definition: Chara.cs:4589
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 2738 of file Card.cs.

2739 {
2740 switch (tag)
2741 {
2742 case EditorTag.Hidden:
2743 SetHidden();
2744 break;
2745 case EditorTag.Empty:
2746 RemoveThings();
2747 break;
2748 case EditorTag.IsOn:
2749 isOn = true;
2750 break;
2751 case EditorTag.IsOff:
2752 isOn = false;
2753 break;
2754 case EditorTag.NoSnow:
2755 noSnow = true;
2756 break;
2757 case EditorTag.Boss:
2758 EClass._zone.Boss = Chara;
2759 break;
2760 }
2761 }
Card SetHidden(bool hide=true)
Definition: Card.cs:5291
bool isOn
Definition: Card.cs:514
bool noSnow
Definition: Card.cs:730
void RemoveThings()
Definition: Card.cs:3101

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

Referenced by SerializedCards.Restore().

◆ ApplyMaterial()

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

Reimplemented in Thing.

Definition at line 2882 of file Card.cs.

2883 {
2884 _colorInt = 0;
2885 }
int _colorInt
Definition: Card.cs:63

References _colorInt.

Referenced by ChangeMaterial(), and Create().

◆ ApplyMaterialElements()

virtual void Card.ApplyMaterialElements ( bool  remove)
inlinevirtual

Reimplemented in Thing.

Definition at line 2878 of file Card.cs.

2879 {
2880 }

Referenced by _OnDeserialized(), and ModEncLv().

◆ ApplyNewLine()

string Card.ApplyNewLine ( string  text)
inline

Definition at line 6199 of file Card.cs.

6200 {
6201 if (text.Contains("&"))
6202 {
6203 string text2 = "_comma".lang();
6204 text = text.Replace(text2 + " &", Environment.NewLine ?? "");
6205 text = text.Replace(text2 + "&", Environment.NewLine ?? "");
6206 text = text.Replace("&", Environment.NewLine ?? "");
6207 }
6208 return text;
6209 }

◆ ApplyProtection()

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

Definition at line 3785 of file Card.cs.

3786 {
3787 int armorSkill = GetArmorSkill();
3788 Element orCreateElement = elements.GetOrCreateElement(armorSkill);
3789 int num = PV + orCreateElement.Value + DEX / 10;
3790 int num2 = 1;
3791 int sides = 1;
3792 int bonus = 0;
3793 if (num > 0)
3794 {
3795 int num3 = num / 4;
3796 num2 = num3 / 10 + 1;
3797 sides = num3 / num2 + 1;
3798 bonus = 0;
3799 dmg = dmg * 100 / (100 + num);
3800 }
3801 int num4 = Dice.Roll(num2, sides, bonus, this);
3802 dmg -= num4 * mod / 100;
3803 if (dmg < 0)
3804 {
3805 dmg = 0;
3806 }
3807 return dmg;
3808 }
virtual int PV
Definition: Card.cs:2227
int DEX
Definition: Card.cs:2235
virtual int GetArmorSkill()
Definition: Card.cs:3780
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 3349 of file Card.cs.

3350 {
3351 for (int i = 0; i < sockets.Count; i++)
3352 {
3353 if (sockets[i] == 0)
3354 {
3355 if (lv >= 100)
3356 {
3357 lv = 99;
3358 }
3359 sockets[i] = id * 100 + lv;
3360 elements.ModBase(id, lv);
3361 mod?.Destroy();
3362 break;
3363 }
3364 }
3365 }
void Destroy()
Definition: Card.cs:4680
Element ModBase(int ele, int v)

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

◆ ApplySocket() [2/2]

void Card.ApplySocket ( Thing  t)
inline

Definition at line 3341 of file Card.cs.

3342 {
3343 if (t.trait is TraitMod traitMod && sockets != null)
3344 {
3345 ApplySocket(traitMod.source.id, traitMod.owner.encLV, traitMod.owner);
3346 }
3347 }
void ApplySocket(Thing t)
Definition: Card.cs:3341

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

6285 {
6286 if (text.IsEmpty())
6287 {
6288 return text;
6289 }
6290 string[] array = _tones.IsEmpty("").Split('|');
6291 string key = array[0];
6292 string text2 = "";
6294 if (!Lang.setting.useTone || MOD.tones.list.Count == 0)
6295 {
6296 text2 = text.Replace("{", "").Replace("}", "");
6297 }
6298 else
6299 {
6300 if (array[0].IsEmpty())
6301 {
6302 key = "default";
6303 }
6304 if (MOD.tones.all.ContainsKey(key))
6305 {
6306 StringBuilder stringBuilder = MOD.tones.ApplyTone(key, ref text, gender);
6307 if (Lang.isJP && c != null && c.trait.EnableTone)
6308 {
6309 if (array.Length >= 2)
6310 {
6311 stringBuilder.Replace("_toneI".lang(), array[1]);
6312 }
6313 if (array.Length >= 3)
6314 {
6315 stringBuilder.Replace("_toneYou".lang(), array[2]);
6316 }
6317 }
6318 text2 = stringBuilder.ToString();
6319 }
6320 else
6321 {
6322 text2 = text.Replace("{", "").Replace("}", "");
6323 }
6324 }
6325 if (!stripPun || !Lang.setting.stripPuns)
6326 {
6327 return text2;
6328 }
6329 return text2.StripLastPun();
6330 }
new TraitChara trait
Definition: Chara.cs:493
Dictionary< string, Dictionary< string, string > > all
Definition: ExcelDataList.cs:8
List< Dictionary< string, string > > list
virtual void Initialize()
bool stripPuns
Definition: LangSetting.cs:44
bool useTone
Definition: LangSetting.cs:40
Definition: Lang.cs:6
static LangSetting setting
Definition: Lang.cs:54
static bool isJP
Definition: Lang.cs:38
Definition: MOD.cs:7
static ToneDataList tones
Definition: MOD.cs:12
StringBuilder ApplyTone(string id, ref string text, int gender)
Definition: ToneDataList.cs:11
virtual bool EnableTone
Definition: TraitChara.cs:101

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

◆ ApplyTone() [2/2]

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

Definition at line 6278 of file Card.cs.

6279 {
6280 text = GameLang.ConvertDrama(text, Chara);
6281 return ApplyTone(Chara, ref text, c_idTone, bio?.gender ?? 0, stripPun);
6282 }
string c_idTone
Definition: Card.cs:1469
string ApplyTone(string text, bool stripPun=false)
Definition: Card.cs:6278
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 2763 of file Card.cs.

2764 {
2765 string str = c_idTrait;
2766 if (str.IsEmpty())
2767 {
2768 if (sourceCard.trait.IsEmpty())
2769 {
2770 trait = (isChara ? new TraitChara() : new Trait());
2771 }
2772 else
2773 {
2774 trait = ClassCache.Create<Trait>("Trait" + sourceCard.trait[0], "Elin");
2775 }
2776 }
2777 else
2778 {
2779 trait = ClassCache.Create<Trait>(str, "Elin");
2780 }
2781 trait.SetOwner(this);
2782 }
string[] trait
Definition: CardRow.cs:33
string c_idTrait
Definition: Card.cs:1649
Definition: Trait.cs:7
virtual void SetOwner(Card _owner)
Definition: Trait.cs:629

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

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

◆ CalculateFOV()

void Card.CalculateFOV ( )
inline

Definition at line 5909 of file Card.cs.

5910 {
5911 int radius = GetLightRadius();
5912 if (radius == 0 || !IsAliveInCurrentZone || !EClass._zone.isStarted)
5913 {
5914 return;
5915 }
5916 float power = GetLightPower();
5917 if (IsPC)
5918 {
5919 if (Chara.held != null && Chara.held.GetLightRadius() > 0)
5920 {
5921 power += Chara.held.GetLightPower();
5922 }
5923 if (radius <= 2)
5924 {
5925 power = 0f;
5926 }
5927 foreach (Condition condition in Chara.conditions)
5928 {
5929 condition.OnCalculateFov(fov, ref radius, ref power);
5930 }
5931 if (power > EClass.scene.profile.global.playerLightPowerLimit)
5932 {
5933 power = EClass.scene.profile.global.playerLightPowerLimit;
5934 }
5935 power *= EClass.scene.profile.light.playerLightMod + (float)EClass.player.customLightMod * EClass.scene.profile.light.playerLightCustomMod;
5936 EClass.player.lightRadius = radius;
5937 EClass.player.lightPower = power;
5938 }
5939 if (fov == null)
5940 {
5941 fov = CreateFov();
5942 }
5943 fov.Perform(pos.x, pos.z, radius, power * 2f);
5944 }
float GetLightPower()
Definition: Card.cs:5816
Fov fov
Definition: Card.cs:53
Fov CreateFov()
Definition: Card.cs:5951
virtual bool IsAliveInCurrentZone
Definition: Card.cs:2027
int GetLightRadius()
Definition: Card.cs:5839
Card held
Definition: Chara.cs:70
List< Condition > conditions
Definition: Chara.cs:201
virtual void OnCalculateFov(Fov fov, ref int radius, ref float power)
Definition: Condition.cs:75
static Scene scene
Definition: EClass.cs:30
void Perform(int _x, int _z, int _range, float power=1f)
Definition: Fov.cs:139
float lightPower
Definition: Player.cs:1013
int lightRadius
Definition: Player.cs:1005
int customLightMod
Definition: Player.cs:778
SceneGlobalProfile global
Definition: SceneProfile.cs:6
SceneLightProfile light
Definition: SceneProfile.cs:10
SceneProfile profile
Definition: Scene.cs:73
bool isStarted
Definition: Zone.cs:70

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

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

◆ CanAddRune()

bool Card.CanAddRune ( SourceElement::Row  row)
inline

Definition at line 3451 of file Card.cs.

3452 {
3453 if (category.slot == 0)
3454 {
3455 return false;
3456 }
3457 if (material.HasEnc(row.id))
3458 {
3459 return false;
3460 }
3461 if (!IsWeapon && row.IsWeaponEnc)
3462 {
3463 return false;
3464 }
3465 if (row.category == "resist")
3466 {
3467 foreach (Element item in elements.ListElements())
3468 {
3469 if (item.source.category == "resist" && (item.vBase != 0 || item.vSource != 0))
3470 {
3471 return false;
3472 }
3473 }
3474 }
3475 return CountRune() < MaxRune();
3476 }
int MaxRune()
Definition: Card.cs:3446
int CountRune()
Definition: Card.cs:3430
SourceCategory.Row category
Definition: Card.cs:1949
List< Element > ListElements(Func< Element, bool > shoudList=null, Comparison< Element > comparison=null)

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

Referenced by InvOwnerMod.ShouldShowGuide().

◆ CanBeSheared()

bool Card.CanBeSheared ( )
inline

Definition at line 7244 of file Card.cs.

7245 {
7247 {
7248 return false;
7249 }
7250 if (!HaveFur() || c_fur < 0)
7251 {
7252 return false;
7253 }
7254 return true;
7255 }
bool HaveFur()
Definition: Card.cs:7230
int c_fur
Definition: Card.cs:1289
virtual bool IsUserZone
Definition: Zone.cs:264

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

2393 {
2394 if (reservedAct != null && reservedAct != act)
2395 {
2396 return !reservedAct.IsRunning;
2397 }
2398 return true;
2399 }
virtual bool IsRunning
Definition: AIAct.cs:31
AIAct reservedAct
Definition: Card.cs:45

References AIAct.IsRunning, and reservedAct.

Referenced by TryReserve().

◆ CanStackTo()

virtual bool Card.CanStackTo ( Thing  to)
inlinevirtual

Reimplemented in Thing.

Definition at line 3183 of file Card.cs.

3184 {
3185 return false;
3186 }

Referenced by TryStackTo().

◆ ChangeAltitude()

void Card.ChangeAltitude ( int  a)
inline

Definition at line 5691 of file Card.cs.

5692 {
5693 altitude += a;
5694 if (altitude < 0)
5695 {
5696 altitude = 0;
5697 }
5699 {
5701 }
5702 }
int altitude
Definition: Card.cs:214
virtual int MaxAltitude
Definition: TileType.cs:203

References TileType.MaxAltitude.

◆ ChangeMaterial() [1/3]

◆ ChangeMaterial() [2/3]

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

Definition at line 2897 of file Card.cs.

2898 {
2899 if (sourceCard.fixedMaterial && !ignoreFixedMaterial)
2900 {
2901 return this;
2902 }
2903 ApplyMaterial(remove: true);
2904 _material = row;
2905 idMaterial = row.id;
2906 decay = 0;
2907 dirtyWeight = true;
2908 Card rootCard = GetRootCard();
2909 if (rootCard != null && rootCard.IsPC)
2910 {
2912 }
2913 if (isThing)
2914 {
2916 }
2917 ApplyMaterial();
2918 return this;
2919 }
int idMaterial
Definition: Card.cs:130
bool dirtyWeight
Definition: Card.cs:81
SourceMaterial.Row _material
Definition: Card.cs:87
int decay
Definition: Card.cs:202
virtual void ApplyMaterial(bool remove=false)
Definition: Card.cs:2882
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 2892 of file Card.cs.

2893 {
2894 return ChangeMaterial(EClass.sources.materials.alias[idNew], ignoreFixedMaterial);
2895 }

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

◆ ChangeRarity()

virtual void Card.ChangeRarity ( Rarity  q)
inlinevirtual

Reimplemented in Chara.

Definition at line 3667 of file Card.cs.

3668 {
3669 rarity = q;
3670 }
Rarity rarity
Definition: Card.cs:298

References rarity.

Referenced by TaskHarvest.OnCreateProgress().

◆ ChangeWeight()

void Card.ChangeWeight ( int  a)
inline

Definition at line 2464 of file Card.cs.

2465 {
2466 c_weight = a;
2467 isWeightChanged = true;
2469 }
int c_weight
Definition: Card.cs:1325
bool isWeightChanged
Definition: Card.cs:634

References c_weight, isWeightChanged, and SetDirtyWeight().

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

◆ CheckJustCooked()

void Card.CheckJustCooked ( )
inline

Definition at line 6038 of file Card.cs.

6039 {
6040 if (HasElement(757) && c_dateCooked <= EClass.world.date.GetRaw() - 120)
6041 {
6042 c_dateCooked = 0;
6043 elements.Remove(757);
6044 }
6045 }
bool HasElement(int ele, int req=1)
Definition: Card.cs:5395
int c_dateCooked
Definition: Card.cs:1301
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().

◆ ClearFOV()

void Card.ClearFOV ( )
inline

Definition at line 5998 of file Card.cs.

5999 {
6000 if (fov != null && fov.lastPoints.Count != 0)
6001 {
6002 fov.Perform(pos.x, pos.z, 0);
6003 }
6004 }
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 6477 of file Card.cs.

6478 {
6479 if ((bool)_paintSprite)
6480 {
6481 UnityEngine.Object.Destroy(_paintSprite.texture);
6482 UnityEngine.Object.Destroy(_paintSprite);
6483 _paintSprite = null;
6484 }
6485 }
Sprite _paintSprite
Definition: Card.cs:95

Referenced by LayerPixelPaint.SetCanvas().

◆ CountRune()

int Card.CountRune ( )
inline

Definition at line 3430 of file Card.cs.

3431 {
3432 int num = 0;
3433 if (socketList != null)
3434 {
3435 foreach (SocketData socket in socketList)
3436 {
3437 if (socket.type == SocketData.Type.Rune)
3438 {
3439 num++;
3440 }
3441 }
3442 }
3443 return num;
3444 }
Type type
Definition: SocketData.cs:18

References socketList, and SocketData.type.

Referenced by CanAddRune(), and HasRune().

◆ Create()

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

Definition at line 2623 of file Card.cs.

2624 {
2625 if (CardBlueprint.current != null)
2626 {
2628 CardBlueprint.current = null;
2629 }
2630 else
2631 {
2633 }
2634 id = _id;
2635 Num = 1;
2636 autoRefuel = true;
2637 EClass.game.cards.AssignUID(this);
2638 isNew = true;
2639 SetSource();
2641 if (sourceCard.quality != 0)
2642 {
2643 rarity = sourceCard.quality.ToEnum<Rarity>();
2644 }
2645 else if (bp.rarity != Rarity.Random)
2646 {
2647 rarity = bp.rarity;
2648 }
2649 else if (category.slot != 0 && category.slot != 45 && category.slot != 44)
2650 {
2651 if (EClass.rnd(10) == 0)
2652 {
2653 rarity = Rarity.Crude;
2654 }
2655 else if (EClass.rnd(10) == 0)
2656 {
2657 rarity = Rarity.Superior;
2658 }
2659 else if (EClass.rnd(80) == 0)
2660 {
2661 rarity = Rarity.Legendary;
2662 }
2663 else if (EClass.rnd(250) == 0)
2664 {
2665 rarity = Rarity.Mythical;
2666 }
2667 }
2668 if (rarity != 0 && category.tag.Contains("fixedRarity"))
2669 {
2670 rarity = Rarity.Normal;
2671 }
2672 LV = DefaultLV;
2673 if (bp.lv != -999)
2674 {
2675 LV = bp.lv;
2676 }
2677 if (id == "microchip")
2678 {
2679 Debug.Log(id + "/" + _idMat + "/" + sourceCard.fixedMaterial);
2680 }
2682 {
2684 }
2685 else
2686 {
2687 bool flag = (bp != null && bp.fixedMat) || sourceCard.quality == 4 || sourceCard.tierGroup.IsEmpty();
2688 if (_idMat != -1)
2689 {
2690 _material = EClass.sources.materials.rows[_idMat];
2691 }
2692 else if (!flag)
2693 {
2694 if (sourceCard.tierGroup == "wood")
2695 {
2696 Debug.Log(id);
2697 }
2699 }
2700 else
2701 {
2703 }
2704 }
2705 idMaterial = _material.id;
2706 things.SetOwner(this);
2707 elements.SetOwner(this, applyFeat: true);
2708 ApplyTrait();
2710 {
2711 tier = Mathf.Clamp(EClass.rnd(5) + 1, 1, 3);
2712 LV = LV + tier * 10 + (LV - 1) * (125 + tier * 25) / 100;
2713 }
2714 ApplyMaterial();
2715 OnCreate(genLv);
2717 trait.OnCreate(genLv);
2718 hp = MaxHP;
2719 if (HasTag(CTAG.hidden))
2720 {
2721 SetHidden();
2722 }
2724 }
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:1953
int tier
Definition: Card.cs:394
bool isFloating
Definition: Card.cs:622
CardBlueprint bp
Definition: Card.cs:73
int DefaultLV
Definition: Card.cs:1910
int hp
Definition: Card.cs:226
virtual void OnBeforeCreate()
Definition: Card.cs:2726
bool autoRefuel
Definition: Card.cs:598
virtual SourcePref Pref
Definition: Card.cs:2007
virtual void OnCreate(int genLv)
Definition: Card.cs:2730
virtual int MaxHP
Definition: Card.cs:2193
bool isNew
Definition: Card.cs:454
bool testThingQuality
Definition: CoreDebug.cs:214
static FactionBranch Branch
Definition: EClass.cs:22
static CoreDebug debug
Definition: EClass.cs:48
CardManager cards
Definition: Game.cs:155
static SourceMaterial.Row GetRandomMaterial(int lv, string group=null, bool tryLevelMatTier=false)
Definition: MATERIAL.cs:43
bool Float
Definition: SourcePref.cs:312
virtual void OnCreate(int lv)
Definition: Trait.cs:656
virtual bool LevelAsQuality
Definition: Trait.cs:189
bool IsPCFaction
Definition: Zone.cs:464

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

5952 {
5953 Fov fov = new Fov();
5954 int num = (trait.UseLightColor ? c_lightColor : 0);
5955 if (num != 0)
5956 {
5957 fov.r = (byte)(num / 1024);
5958 fov.g = (byte)(num % 1024 / 32);
5959 fov.b = (byte)(num % 32);
5960 }
5961 else if (LightData != null)
5962 {
5963 fov.r = (byte)(LightData.color.r * 16f);
5964 fov.g = (byte)(LightData.color.g * 16f);
5965 fov.b = (byte)(LightData.color.b * 16f);
5966 }
5967 else if (isChara)
5968 {
5969 fov.r = 0;
5970 fov.g = 0;
5971 fov.b = 0;
5972 }
5973 else
5974 {
5975 fov.r = 3;
5976 fov.g = 2;
5977 fov.b = 1;
5978 }
5979 if (isChara && Chara.held != null && Chara.held.GetLightRadius() > 0)
5980 {
5981 Fov fov2 = Chara.held.CreateFov();
5982 fov.r += fov2.r;
5983 fov.g += fov2.g;
5984 fov.b += fov2.b;
5985 }
5986 if (IsPC)
5987 {
5988 fov.isPC = true;
5989 foreach (Condition condition in Chara.conditions)
5990 {
5991 condition.OnCreateFov(fov);
5992 }
5993 }
5994 fov.limitGradient = IsPCParty && EClass.scene.profile.global.limitGradient;
5995 return fov;
5996 }
virtual bool IsPCParty
Definition: Card.cs:2049
int c_lightColor
Definition: Card.cs:1056
virtual void OnCreateFov(Fov fov)
Definition: Condition.cs:79
Definition: Fov.cs:6
byte b
Definition: Fov.cs:30
byte g
Definition: Fov.cs:28
byte r
Definition: Fov.cs:26
Color color
Definition: LightData.cs:7

References Fov.b, LightData.color, Chara.conditions, CreateFov(), Fov.g, GetLightRadius(), SceneProfile.global, Chara.held, Condition.OnCreateFov(), Scene.profile, Fov.r, and EClass.scene.

Referenced by CreateFov().

◆ DamageHP() [1/2]

void Card.DamageHP ( int  dmg,
AttackSource  attackSource = AttackSource::None,
Card  origin = null 
)
inline

◆ DamageHP() [2/2]

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

Definition at line 3815 of file Card.cs.

3816 {
3817 if (hp < 0)
3818 {
3819 return;
3820 }
3821 Element e;
3822 if (ele == 0 || ele == 926)
3823 {
3824 e = Element.Void;
3825 if (origin != null)
3826 {
3827 dmg = dmg * Mathf.Max(100 + origin.Evalue(93) / 2, 10) / 100;
3828 }
3829 }
3830 else
3831 {
3832 e = Element.Create(ele);
3833 if (attackSource != AttackSource.Condition && showEffect)
3834 {
3835 ActEffect.TryDelay(delegate
3836 {
3837 PlayEffect(e.id, useRenderPos: true, 0.25f);
3838 EClass.Sound.Play("atk_" + e.source.alias);
3839 });
3840 }
3841 if (!e.source.aliasRef.IsEmpty() && attackSource != AttackSource.ManaBackfire)
3842 {
3843 int num = ((origin != null) ? origin.Evalue(1238) : 0);
3844 if (attackSource == AttackSource.MagicSword)
3845 {
3846 num += 2;
3847 }
3848 dmg = Element.GetResistDamage(dmg, Evalue(e.source.aliasRef), num);
3849 dmg = dmg * 100 / (100 + Mathf.Clamp(Evalue(961) * 5, -50, 200));
3850 dmg = dmg * Mathf.Max(100 - Evalue(93), 10) / 100;
3851 }
3852 switch (e.id)
3853 {
3854 case 910:
3855 {
3856 Chara chara2 = Chara;
3857 if (chara2 != null && chara2.isWet)
3858 {
3859 dmg /= 3;
3860 }
3861 break;
3862 }
3863 case 912:
3864 {
3865 Chara chara = Chara;
3866 if (chara != null && chara.isWet)
3867 {
3868 dmg = dmg * 150 / 100;
3869 }
3870 break;
3871 }
3872 }
3873 }
3874 if (origin != null && origin.isChara && origin.Chara.HasCondition<ConSupress>())
3875 {
3876 dmg = dmg * 2 / 3;
3877 }
3878 if (attackSource != AttackSource.Finish)
3879 {
3880 if (!IsPCFaction && LV > 50)
3881 {
3882 dmg = dmg * (100 - (int)Mathf.Min(80f, Mathf.Sqrt(LV - 50) * 2.5f)) / 100;
3883 }
3885 {
3886 int num2 = ((origin != null) ? origin.LV : EClass._zone.DangerLv);
3887 if (num2 > 50)
3888 {
3889 dmg = dmg * (100 - (int)Mathf.Min(95f, Mathf.Sqrt(num2 - 50))) / 100;
3890 }
3891 }
3892 dmg = dmg * Mathf.Max(0, 100 - Evalue((e == Element.Void || e.id == 926) ? 55 : 56)) / 100;
3893 if (origin != null && origin.IsPC && EClass.player.codex.Has(id))
3894 {
3895 dmg = dmg * (100 + Mathf.Min(10, EClass.player.codex.GetOrCreate(id).weakspot)) / 100;
3896 }
3897 if (isChara && Chara.body.GetAttackStyle() == AttackStyle.Shield && elements.ValueWithoutLink(123) >= 5 && (e == Element.Void || e.id == 926))
3898 {
3899 dmg = dmg * 90 / 100;
3900 }
3901 if (Evalue(971) > 0)
3902 {
3903 dmg = dmg * 100 / Mathf.Clamp(100 + Evalue(971), 25, 1000);
3904 }
3905 if (HasElement(1305))
3906 {
3907 dmg = dmg * 90 / 100;
3908 }
3909 if (EClass.pc.HasElement(1207) && isChara)
3910 {
3911 int num3 = 0;
3912 int num4 = 0;
3913 foreach (Condition condition2 in Chara.conditions)
3914 {
3915 if (condition2.Type == ConditionType.Buff)
3916 {
3917 num3++;
3918 }
3919 else if (condition2.Type == ConditionType.Debuff)
3920 {
3921 num4++;
3922 }
3923 }
3924 if (IsPCParty)
3925 {
3926 dmg = dmg * 100 / Mathf.Min(100 + num3 * 5, 120);
3927 }
3928 else
3929 {
3930 dmg = dmg * Mathf.Min(100 + num4 * 5, 120) / 100;
3931 }
3932 }
3934 {
3935 dmg = dmg * 100 / Mathf.Clamp(105 + EClass.pc.Evalue(135) / 10, 10, 110);
3936 }
3937 if (HasElement(1218) && attackSource != AttackSource.ManaBackfire && (hp > 0 || Evalue(1421) <= 0))
3938 {
3939 dmg = dmg * (1000 - Evalue(1218)) / 1000;
3940 if (dmg <= 0 && EClass.rnd(4) == 0)
3941 {
3942 dmg++;
3943 }
3944 }
3945 if (dmg >= MaxHP / 10 && Evalue(68) > 0)
3946 {
3947 int num5 = MaxHP / 10;
3948 int num6 = dmg - num5;
3949 num6 = num6 * 100 / (200 + Evalue(68) * 10);
3950 dmg = num5 + num6;
3951 }
3952 }
3953 if (origin != null && origin.IsPC && EClass.pc.Evalue(654) > 0)
3954 {
3955 dmg = 0;
3956 }
3957 if (dmg < 0)
3958 {
3959 dmg = 0;
3960 }
3961 int num7 = Mathf.Clamp(dmg * 6 / MaxHP, 0, 4) + ((dmg > 0) ? 1 : 0);
3962 if (Evalue(1421) > 0)
3963 {
3964 int num8 = 0;
3965 int num9 = dmg;
3966 if (hp > 0)
3967 {
3968 num9 = dmg - hp;
3969 hp -= dmg;
3970 num8 += dmg;
3971 if (hp < 0 && Chara.mana.value >= 0)
3972 {
3973 num8 += hp;
3974 hp = 0;
3975 }
3976 }
3977 if (hp <= 0)
3978 {
3979 if (Evalue(1421) >= 2)
3980 {
3981 num9 /= 2;
3982 }
3983 dmg = num9;
3984 if (Chara.mana.value > 0)
3985 {
3986 num9 -= Chara.mana.value;
3987 Chara.mana.value -= dmg;
3988 num8 += dmg;
3989 }
3990 if (Chara.mana.value <= 0)
3991 {
3992 hp -= num9;
3993 num8 += num9;
3994 }
3995 }
3996 dmg = num8;
3997 }
3998 else
3999 {
4000 hp -= dmg;
4001 }
4002 if (isSynced && dmg != 0)
4003 {
4004 float ratio = (float)dmg / (float)MaxHP;
4005 Card c = ((parent is Chara) ? (parent as Chara) : this);
4006 ActEffect.TryDelay(delegate
4007 {
4008 c.PlayEffect("blood").SetParticleColor(EClass.Colors.matColors[material.alias].main).Emit(20 + (int)(30f * ratio));
4010 {
4011 EClass.scene.damageTextRenderer.Add(this, c, dmg, e);
4012 }
4013 });
4014 }
4015 if (EClass.pc.ai is AI_PracticeDummy { IsRunning: not false } aI_PracticeDummy && aI_PracticeDummy.target == this && (origin == null || origin.IsPC))
4016 {
4017 aI_PracticeDummy.hit++;
4018 aI_PracticeDummy.totalDamage += dmg;
4019 }
4020 ZoneInstanceBout zoneInstanceBout = EClass._zone.instance as ZoneInstanceBout;
4021 bool flag = false;
4022 if (hp < 0 && Religion.recentWrath == null)
4023 {
4025 {
4026 EvadeDeath();
4027 if (Chara.stamina.value > 0 && (EClass.rnd(2) == 0 || !IsPC))
4028 {
4029 Chara.stamina.Mod(-1);
4030 }
4031 }
4032 else if (IsInstalled && pos.HasBlock && trait.IsDoor)
4033 {
4034 EvadeDeath();
4035 }
4036 else if (!trait.CanBeDestroyed)
4037 {
4038 EvadeDeath();
4039 }
4040 else if (HasEditorTag(EditorTag.Invulnerable) || (HasEditorTag(EditorTag.InvulnerableToMobs) && (origin == null || !origin.IsPCParty)))
4041 {
4042 EvadeDeath();
4043 }
4044 else if (isChara)
4045 {
4047 {
4048 EvadeDeath();
4049 }
4050 else if (IsPC && EClass.debug.godMode)
4051 {
4052 EvadeDeath();
4053 }
4054 else if (Chara.host != null || (weapon != null && weapon.HasElement(485)))
4055 {
4056 EvadeDeath();
4057 flag = true;
4058 }
4059 else if (zoneInstanceBout != null && (bool)LayerDrama.Instance)
4060 {
4061 EvadeDeath();
4062 }
4063 else if (LayerDrama.IsActive() && IsPC)
4064 {
4065 EvadeDeath();
4066 }
4067 else
4068 {
4069 if (attackSource != AttackSource.Finish && IsPCParty && Chara.host == null)
4070 {
4071 if (EClass.pc.ai is GoalAutoCombat && !EClass.player.invlunerable && (EClass.pc.ai as GoalAutoCombat).listHealthy.Contains(Chara))
4072 {
4073 EClass.core.actionsNextFrame.Add(delegate
4074 {
4075 Msg.Say(IsPC ? "abort_damage" : "abort_damgeAlly");
4076 });
4077 EClass.player.invlunerable = true;
4080 }
4082 {
4083 EvadeDeath();
4084 goto IL_0baa;
4085 }
4086 }
4087 if (IsPC && Evalue(1220) > 0 && Chara.stamina.value >= Chara.stamina.max / 2)
4088 {
4091 EvadeDeath();
4092 }
4093 }
4094 }
4095 }
4096 goto IL_0baa;
4097 IL_0baa:
4098 if (trait.CanBeAttacked)
4099 {
4100 renderer.PlayAnime(AnimeID.HitObj);
4101 hp = MaxHP;
4103 {
4104 hp = -1;
4105 }
4106 }
4107 Chara target;
4108 if (hp < 0)
4109 {
4110 if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null && (origin.isSynced || IsPC))
4111 {
4112 string text = "";
4113 if (IsPC && Lang.setting.combatTextStyle == 0)
4114 {
4115 if (e != Element.Void && e != null)
4116 {
4117 text = "dead_" + e.source.alias;
4118 }
4119 if (text == "" || !LangGame.Has(text))
4120 {
4121 text = "dead_attack";
4122 }
4123 EClass.pc.Say(text, this, "");
4124 }
4125 else
4126 {
4127 if (e != Element.Void && e != null)
4128 {
4129 text = "kill_" + e.source.alias;
4130 }
4131 if (text == "" || !LangGame.Has(text))
4132 {
4133 text = "kill_attack";
4134 }
4135 (IsPC ? EClass.pc : origin).Say(text, origin, this);
4136 }
4137 }
4138 if (isChara && Religion.recentWrath == null)
4139 {
4140 if (HasElement(1410) && !Chara.HasCooldown(1410))
4141 {
4142 Chara.AddCooldown(1410);
4143 Say("reboot", this);
4144 PlaySound("reboot");
4145 Chara.Cure(CureType.Boss);
4146 hp = MaxHP / 3;
4148 return;
4149 }
4150 if (HasCondition<ConRebirth>())
4151 {
4152 Say("rebirth", this);
4153 hp = Mathf.Min(MaxHP * (int)(5f + Mathf.Sqrt(Chara.GetCondition<ConRebirth>().power)) / 100, MaxHP);
4155 Chara.RemoveCondition<ConRebirth>();
4156 PlayEffect("revive");
4157 PlaySound("revive");
4158 return;
4159 }
4160 foreach (Chara chara3 in EClass._map.charas)
4161 {
4162 if (Chara.IsFriendOrAbove(chara3) && chara3.HasElement(1408) && chara3.faith == EClass.game.religions.Healing && EClass.world.date.GetRawDay() != chara3.GetInt(58) && (!chara3.IsPCFaction || IsPCFaction))
4163 {
4164 Msg.alwaysVisible = true;
4165 Msg.Say("layhand", chara3, this);
4166 Msg.Say("pray_heal", this);
4167 hp = MaxHP;
4169 PlayEffect("revive");
4170 PlaySound("revive");
4171 chara3.SetInt(58, EClass.world.date.GetRawDay());
4172 return;
4173 }
4174 }
4175 }
4176 if (zoneInstanceBout != null)
4177 {
4178 target = EClass._map.FindChara(zoneInstanceBout.uidTarget);
4179 if (target != null)
4180 {
4181 if (IsPC)
4182 {
4183 EClass.pc.hp = 0;
4184 Heal();
4185 target.ShowDialog("_chara", "bout_lose");
4186 return;
4187 }
4188 if (target == this)
4189 {
4190 hp = 0;
4191 Heal();
4192 target.ModAffinity(EClass.pc, 10);
4193 target.ShowDialog("_chara", "bout_win");
4194 return;
4195 }
4196 }
4197 }
4198 if (!isDestroyed)
4199 {
4200 Die(e, origin, attackSource);
4202 {
4203 Rand.SetSeed(uid);
4204 if (EClass.rnd(3) == 0 && !isCrafted && !isCopy)
4205 {
4206 string text2 = new int[18]
4207 {
4208 233, 235, 236, 236, 236, 1170, 1143, 1144, 727, 728,
4209 237, 869, 1178, 1179, 1180, 1243, 1244, 1245
4210 }.RandomItem().ToString();
4211 if (EClass.rnd(10) == 0)
4212 {
4213 text2 = "casino_coin";
4214 }
4215 if (EClass.rnd(10) == 0)
4216 {
4217 text2 = "scratchcard";
4218 }
4219 if (EClass.rnd(3) == 0)
4220 {
4221 text2 = "money";
4222 }
4223 if (EClass.rnd(5) == 0)
4224 {
4225 text2 = "plat";
4226 }
4227 if (EClass.rnd(10) == 0)
4228 {
4229 text2 = "money2";
4230 }
4231 if (EClass.rnd(20) == 0 || EClass.debug.enable)
4232 {
4233 text2 = "medal";
4234 }
4235 EClass._zone.AddCard(ThingGen.Create(text2).SetNum((!(text2 == "money")) ? 1 : EClass.rndHalf(100)).SetHidden(hide: false), pos);
4236 }
4237 Rand.SetSeed();
4238 }
4239 ProcAbsorb();
4240 if (EClass.pc.Evalue(1355) > 0 && isChara && (IsPCFactionOrMinion || (origin != null && origin.IsPCParty)))
4241 {
4242 ((EClass.pc.AddCondition<ConStrife>() as ConStrife) ?? EClass.pc.GetCondition<ConStrife>())?.AddKill(Chara);
4243 }
4244 }
4245 if (origin != null && origin.isChara)
4246 {
4247 if (origin.IsPCFactionOrMinion && isChara && !isCopy)
4248 {
4250 EClass.game.quests.list.ForeachReverse(delegate(Quest q)
4251 {
4252 q.OnKillChara(Chara);
4253 });
4256 {
4258 }
4260 {
4261 int a2 = EClass.rndHalf(200 + LV * 20);
4262 Msg.Say("bounty", Chara, a2.ToString() ?? "");
4263 EClass.pc.ModCurrency(a2);
4264 SE.Pay();
4265 }
4266 }
4267 if (origin.GetInt(106) == 0)
4268 {
4269 origin.Chara.TalkTopic("kill");
4270 }
4271 }
4272 Msg.SetColor();
4273 }
4274 else if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null)
4275 {
4276 (IsPC ? EClass.pc : origin).Say("dmgMelee" + num7 + (IsPC ? "pc" : ""), origin, this);
4277 }
4278 else if (isChara)
4279 {
4280 int num10 = ((attackSource != AttackSource.Condition && attackSource != AttackSource.WeaponEnchant) ? 1 : 2);
4281 if (num7 >= num10)
4282 {
4283 if (e != Element.Void)
4284 {
4285 Say("dmg_" + e.source.alias, this);
4286 }
4287 if (e == Element.Void || num7 >= 2)
4288 {
4289 Say("dmg" + num7, this);
4290 }
4291 }
4292 }
4293 if (isChara)
4294 {
4295 if (flag)
4296 {
4297 if (!Chara.HasCondition<ConFaint>())
4298 {
4299 Chara.AddCondition<ConFaint>(200, force: true);
4300 }
4301 return;
4302 }
4303 if (origin != null && origin.IsAliveInCurrentZone && origin.isChara)
4304 {
4305 if (e.id == 916)
4306 {
4307 origin.HealHP(Mathf.Clamp(EClass.rnd(dmg * (50 + eleP) / 500 + 5), 1, origin.MaxHP / 5 + EClass.rnd(10)));
4308 }
4309 if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin.Dist(this) <= 1)
4310 {
4311 if (attackSource == AttackSource.Melee && HasElement(1221))
4312 {
4313 int ele2 = ((Chara.MainElement == Element.Void) ? 924 : Chara.MainElement.id);
4314 if (id == "hedgehog_ether")
4315 {
4316 ele2 = 922;
4317 }
4318 Say("reflect_thorne", this, origin);
4319 origin.DamageHP(Mathf.Clamp(dmg / 20, 1, MaxHP / 20), ele2, Power, AttackSource.Condition);
4320 }
4321 if (HasElement(1223))
4322 {
4323 int ele3 = ((Chara.MainElement == Element.Void) ? 923 : Chara.MainElement.id);
4324 Say("reflect_acid", this, origin);
4325 origin.DamageHP(Mathf.Clamp(dmg / 20, 1, MaxHP / 20), ele3, Power * 2, AttackSource.Condition);
4326 }
4327 }
4328 ProcAbsorb();
4329 }
4330 }
4331 if (hp < 0 || !isChara)
4332 {
4333 return;
4334 }
4335 if (dmg > 0)
4336 {
4337 int a3 = (int)(100L * (long)(dmg * 100 / MaxHP) / 100) + 1;
4338 a3 = Mathf.Min(a3, Chara.isRestrained ? 15 : 200);
4339 if (a3 > 0)
4340 {
4342 if (Chara.body.GetAttackStyle() == AttackStyle.Shield)
4343 {
4344 elements.ModExp(123, a3);
4345 }
4346 }
4347 }
4348 int num11 = ((EClass.rnd(2) == 0) ? 1 : 0);
4349 if (attackSource == AttackSource.Condition)
4350 {
4351 num11 = 1 + EClass.rnd(2);
4352 }
4353 if (num11 > 0)
4354 {
4355 bool flag2 = Chara.HasCondition<ConPoison>() || ((e.id == 915 || e.id == 923) && ResistLv(Evalue(955)) < 4);
4356 AddBlood(num11, flag2 ? 6 : (-1));
4357 }
4358 bool flag3 = true;
4359 switch (e.id)
4360 {
4361 case 910:
4362 if (Chance(30 + eleP / 5, 100))
4363 {
4365 }
4366 break;
4367 case 911:
4368 if (Chara.isWet)
4369 {
4370 if (Chance(30 + eleP / 10, 100))
4371 {
4373 }
4374 }
4375 else if (Chance(50 + eleP / 10, 100))
4376 {
4377 Chara.AddCondition<ConWet>(eleP);
4378 }
4379 break;
4380 case 912:
4381 if (Chance(75 + eleP / 20, 100) && EClass.rnd(3) == 0)
4382 {
4383 Chara.AddCondition<ConParalyze>(1, force: true);
4384 }
4385 break;
4386 case 915:
4387 if (Chance(30 + eleP / 5, 100))
4388 {
4390 }
4391 break;
4392 case 913:
4393 if (Chance(30 + eleP / 5, 100))
4394 {
4396 }
4397 break;
4398 case 918:
4399 flag3 = false;
4400 if (Chance(30 + eleP / 5, 100))
4401 {
4403 }
4404 break;
4405 case 914:
4406 flag3 = false;
4407 if (EClass.rnd(3) != 0)
4408 {
4409 if (Chance(30 + eleP / 5, 100))
4410 {
4412 }
4413 }
4414 else if (Chance(30 + eleP / 5, 100))
4415 {
4417 }
4418 break;
4419 case 917:
4420 if (Chance(50 + eleP / 10, 100))
4421 {
4422 Chara.AddCondition<ConDim>(eleP);
4423 }
4424 break;
4425 case 925:
4426 if (EClass.rnd(3) == 0)
4427 {
4428 if (Chance(30 + eleP / 5, 100))
4429 {
4430 Chara.AddCondition<ConDim>(eleP);
4431 }
4432 }
4433 else if (EClass.rnd(2) == 0)
4434 {
4435 if (EClass.rnd(3) == 0)
4436 {
4437 Chara.AddCondition<ConParalyze>(1, force: true);
4438 }
4439 }
4440 else if (EClass.rnd(2) == 0)
4441 {
4442 Chara.AddCondition<ConConfuse>(1 + EClass.rnd(3), force: true);
4443 }
4444 break;
4445 case 920:
4446 flag3 = false;
4447 if (Chance(5 + eleP / 25, 40))
4448 {
4449 Chara.AddCondition<ConBlind>(eleP / 2);
4450 }
4451 if (Chance(5 + eleP / 25, 40))
4452 {
4453 Chara.AddCondition<ConParalyze>(eleP / 2);
4454 }
4455 if (Chance(5 + eleP / 25, 40))
4456 {
4457 Chara.AddCondition<ConConfuse>(eleP / 2);
4458 }
4459 if (Chance(5 + eleP / 25, 40))
4460 {
4461 Chara.AddCondition<ConPoison>(eleP / 2);
4462 }
4463 if (Chance(5 + eleP / 25, 40))
4464 {
4465 Chara.AddCondition<ConSleep>(eleP / 2);
4466 }
4467 if (Chance(5 + eleP / 25, 40))
4468 {
4469 Chara.AddCondition<ConDim>(eleP / 2);
4470 }
4471 if (Chance(30 + eleP / 10, 100))
4472 {
4473 Chara.SAN.Mod(EClass.rnd(2));
4474 }
4475 break;
4476 case 924:
4477 if (Chance(50 + eleP / 10, 100))
4478 {
4480 }
4481 break;
4482 case 923:
4483 if (Chance(50 + eleP / 10, 100) && EClass.rnd(4) == 0)
4484 {
4486 }
4487 break;
4488 case 922:
4489 Chara.ModCorruption(EClass.rnd(eleP / 50 + 10));
4490 break;
4491 }
4492 if (origin != null && origin.HasElement(1411) && !Chara.HasCondition<ConGravity>())
4493 {
4494 Condition.ignoreEffect = true;
4496 Condition.ignoreEffect = false;
4497 }
4498 if (Chara.conSleep != null && flag3)
4499 {
4501 }
4502 if (IsPC)
4503 {
4504 float num12 = (float)hp / (float)MaxHP;
4505 if (Evalue(1421) > 0)
4506 {
4507 num12 = (float)Chara.mana.value / (float)Chara.mana.max;
4508 }
4509 if (num12 < 0.3f)
4510 {
4511 PlaySound("heartbeat", 1f - num12 * 2f);
4512 }
4513 }
4514 if (!IsPC && hp < MaxHP / 5 && Evalue(423) <= 0 && dmg * 100 / MaxHP + 10 > EClass.rnd(IsPowerful ? 400 : 150) && !HasCondition<ConFear>())
4515 {
4516 Chara.AddCondition<ConFear>(100 + EClass.rnd(100));
4517 }
4518 if (Chara.ai.Current.CancelWhenDamaged && attackSource != AttackSource.Hunger && attackSource != AttackSource.Fatigue)
4519 {
4520 Chara.ai.Current.TryCancel(origin);
4521 }
4523 {
4524 ConWeapon condition = Chara.GetCondition<ConWeapon>();
4525 if (e.source.aliasRef == condition.sourceElement.aliasRef)
4526 {
4527 condition.Mod(-1);
4528 }
4529 }
4530 if (Chara.HasElement(1222) && (dmg >= MaxHP / 10 || EClass.rnd(20) == 0))
4531 {
4532 ActEffect.Proc(EffectId.Duplicate, this);
4533 }
4534 if (hp < MaxHP / 3 && HasElement(1409) && !Chara.HasCooldown(1409))
4535 {
4536 Chara.AddCooldown(1409);
4538 Chara.Cure(CureType.Boss);
4539 Chara.HealHP(MaxHP / 2);
4540 }
4541 if (origin != null && origin.isChara && attackSource != AttackSource.Finish)
4542 {
4544 {
4545 Chara.TrySetEnemy(origin.Chara);
4546 }
4547 if ((weapon == null || !weapon.HasElement(486)) && origin.Evalue(428) > 0 && !IsPCFactionOrMinion && EClass.rnd(dmg) >= EClass.rnd(MaxHP / 10) + MaxHP / 100 + 1)
4548 {
4549 origin.Chara.TryNeckHunt(Chara, origin.Evalue(428) * 20, harvest: true);
4550 }
4551 }
4552 bool Chance(int a, int max)
4553 {
4554 if (dmg > 0 || (origin != null && origin.HasElement(1345)))
4555 {
4556 return Mathf.Min(a, max) > EClass.rnd(100);
4557 }
4558 return false;
4559 }
4560 void EvadeDeath()
4561 {
4562 hp = 0;
4563 if (Evalue(1421) > 0 && isChara && Chara.mana.value < 0)
4564 {
4565 Chara.mana.value = 0;
4566 }
4567 }
4568 void Heal()
4569 {
4570 target.Cure(CureType.Death);
4571 foreach (Chara member in EClass.pc.party.members)
4572 {
4573 member.Cure(CureType.Death);
4574 }
4575 }
4576 void ProcAbsorb()
4577 {
4578 if (origin != null && origin.isChara && isChara && (weapon == null || !weapon.HasElement(486)))
4579 {
4580 int valueOrDefault = (origin.Evalue(662) + weapon?.Evalue(662, ignoreGlobalElement: true)).GetValueOrDefault();
4581 int valueOrDefault2 = (origin.Evalue(661) + weapon?.Evalue(661, ignoreGlobalElement: true)).GetValueOrDefault();
4582 if (valueOrDefault > 0 && attackSource == AttackSource.Melee && origin.isChara && !origin.Chara.ignoreSPAbsorb && Chara.IsHostile(origin as Chara))
4583 {
4584 int num13 = EClass.rnd(3 + Mathf.Clamp(dmg / 100, 0, valueOrDefault / 10));
4585 origin.Chara.stamina.Mod(num13);
4587 {
4588 Chara.stamina.Mod(-num13);
4589 }
4590 }
4591 if (origin.HasElement(1350) && attackSource == AttackSource.Melee)
4592 {
4593 int num14 = EClass.rndHalf(2 + Mathf.Clamp(dmg / 10, 0, origin.Chara.GetPietyValue() + 10));
4594 origin.Chara.mana.Mod(num14);
4596 {
4597 Chara.mana.Mod(-num14);
4598 }
4599 }
4600 if (valueOrDefault2 > 0 && attackSource == AttackSource.Melee)
4601 {
4602 int num15 = EClass.rnd(2 + Mathf.Clamp(dmg / 10, 0, valueOrDefault2 + 10));
4603 origin.Chara.mana.Mod(num15);
4605 {
4606 Chara.mana.Mod(-num15);
4607 }
4608 }
4609 }
4610 }
4611 }
AnimeID
Definition: AnimeID.cs:2
AttackSource
Definition: AttackSource.cs:2
AttackStyle
Definition: AttackStyle.cs:2
ConditionType
Definition: ConditionType.cs:2
CureType
Definition: CureType.cs:2
EffectId
Definition: EffectId.cs:2
@ harvest
AIAct Current
Definition: AIAct.cs:103
bool TryCancel(Card c)
Definition: AIAct.cs:266
virtual bool CancelWhenDamaged
Definition: AIAct.cs:94
static bool ignoreDamage
Definition: AI_PlayMusic.cs:14
static void TryDelay(Action a)
Definition: ActEffect.cs:23
static void Proc(EffectId id, Card cc, Card tc=null, int power=100, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:824
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:2172
bool isCrafted
Definition: Card.cs:766
void AddBlood(int a=1, int id=-1)
Definition: Card.cs:5417
bool isRestrained
Definition: Card.cs:538
virtual int Power
Definition: Card.cs:2195
bool isCopy
Definition: Card.cs:850
virtual void HealHP(int a, HealSource origin=HealSource.None)
Definition: Card.cs:3750
virtual void Die(Element e=null, Card origin=null, AttackSource attackSource=AttackSource.None)
Definition: Card.cs:4613
int uid
Definition: Card.cs:118
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:5619
void ModCurrency(int a, string id="money")
Definition: Card.cs:3708
bool IsPowerful
Definition: Card.cs:1994
bool HasEditorTag(EditorTag tag)
Definition: Card.cs:2500
bool IsInstalled
Definition: Card.cs:2281
int Dist(Card c)
Definition: Card.cs:7025
int ResistLv(int res)
Definition: Card.cs:5390
virtual bool isSynced
Definition: Card.cs:1987
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6232
AttackStyle GetAttackStyle()
Definition: CharaBody.cs:433
Element MainElement
Definition: Chara.cs:707
CharaBody body
Definition: Chara.cs:94
AIAct ai
Definition: Chara.cs:192
bool TryNeckHunt(Chara TC, int power, bool harvest=false)
Definition: Chara.cs:8845
bool isWet
Definition: Chara.cs:140
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:8513
void ModAffinity(Chara c, int a, bool show=true, bool showOnlyEmo=false)
Definition: Chara.cs:7268
Chara host
Definition: Chara.cs:33
void ShowDialog()
Definition: Chara.cs:6440
override string ToString()
Definition: Chara.cs:986
Party party
Definition: Chara.cs:43
bool HasCondition(string alias)
Definition: Chara.cs:8666
override bool IsPCFaction
Definition: Chara.cs:661
ConSleep conSleep
Definition: Chara.cs:102
bool IsFriendOrAbove()
Definition: Chara.cs:6030
Stats SAN
Definition: Chara.cs:972
Stats mana
Definition: Chara.cs:968
string TalkTopic(string topic="calm")
Definition: Chara.cs:6369
Stats stamina
Definition: Chara.cs:960
void AddCooldown(int idEle, int turns=0)
Definition: Chara.cs:7987
bool ignoreSPAbsorb
Definition: Chara.cs:144
void ModCorruption(int a)
Definition: Chara.cs:9005
Religion faith
Definition: Chara.cs:429
int GetPietyValue()
Definition: Chara.cs:9311
bool IsHostile()
Definition: Chara.cs:5942
void Cure(CureType type, int p=100, BlessedState state=BlessedState.Normal)
Definition: Chara.cs:8745
void TrySetEnemy(Chara c)
Definition: Chara.cs:5733
bool HasCooldown(int idEle)
Definition: Chara.cs:8005
bool Has(string id)
Definition: CodexManager.cs:36
CodexCreature GetOrCreate(string id)
Definition: CodexManager.cs:9
void AddKill(string id)
Definition: CodexManager.cs:55
UD_String_MatData matColors
Definition: ConDim.cs:2
Definition: ConWet.cs:2
void Kill(bool silent=false)
Definition: Condition.cs:91
bool godMode
Definition: CoreDebug.cs:172
bool enable
Definition: CoreDebug.cs:285
CoreConfig config
Definition: Core.cs:70
void Add(Card target, Card attacker, int dmg, Element e=null)
int GetRawDay()
Definition: Date.cs:327
static ColorProfile Colors
Definition: EClass.cs:38
static int rndHalf(int a)
Definition: EClass.cs:82
static SoundManager Sound
Definition: EClass.cs:46
Effect Emit(int num)
Definition: Effect.cs:279
Effect SetParticleColor(Color c)
Definition: Effect.cs:289
int ValueWithoutLink(int ele)
void ModExp(int ele, int a, bool chain=false)
static int GetResistDamage(int dmg, int v, int power=0)
Definition: ELEMENT.cs:1132
int id
Definition: ELEMENT.cs:246
SourceElement.Row source
Definition: ELEMENT.cs:269
static Element Create(int id, int v=0)
Definition: ELEMENT.cs:1094
static Element Void
Definition: ELEMENT.cs:234
void AddContribution(int a)
Definition: FACTION.cs:316
bool enableDamageReduction
ReligionManager religions
Definition: Game.cs:158
QuestManager quests
Definition: Game.cs:179
bool HasBounty(Chara c)
Definition: GuildFighter.cs:44
bool CanGiveContribution(Chara c)
Definition: GuildFighter.cs:26
Definition: Guild.cs:2
static GuildFighter Fighter
Definition: Guild.cs:23
static bool Has(string id)
Definition: LangGame.cs:46
int combatTextStyle
Definition: LangSetting.cs:50
static bool IsActive()
Definition: LayerDrama.cs:34
static LayerDrama Instance
Definition: LayerDrama.cs:20
Chara FindChara(string id)
Definition: Map.cs:2546
List< Chara > charas
Definition: Map.cs:81
static void SetColor()
Definition: Msg.cs:22
List< Chara > members
Definition: Party.cs:18
int kills
Definition: Player.cs:76
CodexManager codex
Definition: Player.cs:931
Stats stats
Definition: Player.cs:832
bool invlunerable
Definition: Player.cs:989
bool TryAbortAutoCombat(bool immediate=true)
Definition: Player.cs:2200
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:105
virtual void Mod(int a)
Definition: Stats.cs:135
virtual int value
Definition: Stats.cs:56
virtual int max
Definition: Stats.cs:68
virtual bool CanBeAttacked
Definition: Trait.cs:163
virtual bool CanBeDestroyed
Definition: Trait.cs:289
virtual bool IsDoor
Definition: Trait.cs:56
virtual bool CanBeSmashedToDeath
Definition: Trait.cs:291
override int DangerLv
Definition: Zone.cs:107
Card AddCard(Card t, Point point)
Definition: Zone.cs:1893

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

◆ Decay()

void Card.Decay ( int  a = 10)
inline

Definition at line 6047 of file Card.cs.

6048 {
6049 Card card = parent as Card;
6050 int num = 200;
6051 int num2 = MaxDecay / 4 * 3;
6052 if (a > 0)
6053 {
6054 if (card != null)
6055 {
6056 num = card.trait.DecaySpeedChild;
6057 }
6058 num = num * trait.DecaySpeed / 100;
6059 int num3 = Evalue(405);
6060 if (num3 != 0)
6061 {
6062 num = num * (100 - num3 * 2) / 100;
6063 }
6064 if (num < 0)
6065 {
6066 num = 0;
6067 }
6068 }
6069 else
6070 {
6071 num = 100;
6072 }
6073 a = a * num / 100;
6074 if (decay + a > MaxDecay)
6075 {
6076 if (card != null && !card.trait.OnChildDecay(this, !IsDecayed))
6077 {
6078 return;
6079 }
6080 if (!IsDecayed)
6081 {
6082 if (EClass.pc.HasElement(1325) && GetRootCard() is Chara && category.IsChildOf("food"))
6083 {
6084 Thing thing = TraitSeed.MakeRandomSeed(enc: true).SetNum(Mathf.Min(Num, 3));
6085 card.AddCard(thing);
6086 if (!IsParentLocked())
6087 {
6088 GetRootCard().Say("seed_rot", GetRootCard(), this, thing.Name);
6089 }
6090 Destroy();
6091 return;
6092 }
6093 if (parent == EClass._zone)
6094 {
6095 Say("rot", this);
6096 }
6097 else if (GetRootCard() == EClass.pc)
6098 {
6099 if (!IsParentLocked())
6100 {
6101 EClass.pc.Say("rotInv", this, EClass.pc);
6102 }
6104 }
6105 if (IsFood)
6106 {
6107 elements.ModBase(73, -10);
6108 }
6109 }
6110 }
6111 else if (decay < num2 && decay + a >= num2 && GetRootCard() == EClass.pc)
6112 {
6113 if (!IsParentLocked())
6114 {
6115 EClass.pc.Say("rottingInv", this, EClass.pc);
6116 }
6118 }
6119 decay += a;
6120 bool IsParentLocked()
6121 {
6122 if (parent is Thing)
6123 {
6124 return (parent as Thing).c_lockLv > 0;
6125 }
6126 return false;
6127 }
6128 }
bool IsDecayed
Definition: Card.cs:2187
string Name
Definition: Card.cs:2037
bool IsFood
Definition: Card.cs:2075
virtual int MaxDecay
Definition: Card.cs:2185
bool IsChildOf(Card c)
Definition: Card.cs:2561
static Thing MakeRandomSeed(bool enc=false)
Definition: TraitSeed.cs:176

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

6016 {
6017 if (!isNPCProperty)
6018 {
6019 things.ForeachReverse(delegate(Thing t)
6020 {
6021 t.DecayNatural(hour);
6022 });
6023 if (sourceCard._origin == "dish")
6024 {
6026 }
6027 if (parent is Card && (parent as Card).trait.CanChildDecay(this))
6028 {
6029 Decay(10 * hour);
6030 }
6031 else if (!isChara && trait.Decay != 0)
6032 {
6033 Decay(trait.Decay * hour);
6034 }
6035 }
6036 }
string _origin
Definition: CardRow.cs:15
bool isNPCProperty
Definition: Card.cs:526
void DecayNatural(int hour=1)
Definition: Card.cs:6015
void Decay(int a=10)
Definition: Card.cs:6047
void CheckJustCooked()
Definition: Card.cs:6038
virtual bool CanChildDecay(Card c)
Definition: Trait.cs:1055
virtual int Decay
Definition: Trait.cs:119

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

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

◆ Deconstruct()

void Card.Deconstruct ( )
inline

Definition at line 4674 of file Card.cs.

4675 {
4676 PlaySound(material.GetSoundDead(sourceCard));
4677 Destroy();
4678 }

References material.

Referenced by AI_Deconstruct.Run().

◆ Destroy()

void Card.Destroy ( )
inline

Definition at line 4680 of file Card.cs.

4681 {
4682 if (isDestroyed)
4683 {
4684 Debug.Log(Name + " is already destroyed.");
4685 return;
4686 }
4687 if (isChara)
4688 {
4689 if (IsPCFaction && !Chara.isSummon)
4690 {
4691 Debug.Log(this);
4692 return;
4693 }
4694 Chara.DropHeld();
4695 Chara.isDead = true;
4696 if (IsPCParty)
4697 {
4699 }
4700 if (IsGlobal)
4701 {
4703 }
4704 }
4705 if (renderer.hasActor)
4706 {
4708 }
4709 if (parent != null)
4710 {
4711 parent.RemoveCard(this);
4712 }
4713 for (int num = things.Count - 1; num >= 0; num--)
4714 {
4715 things[num].Destroy();
4716 }
4717 isDestroyed = true;
4718 }
GlobalCharaList globalCharas
Definition: CardManager.cs:46
void KillActor()
bool isSummon
Definition: Card.cs:682
virtual bool IsGlobal
Definition: Card.cs:2183
Card DropHeld(Point dropPos=null)
Definition: Chara.cs:4233
void RemoveMember(Chara c)
Definition: Party.cs:84

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

Referenced by InvOwnerDeliver._OnProcess(), InvOwnerGacha._OnProcess(), InvOwnerRecycle._OnProcess(), ActPlan._Update(), MapSubset.Apply(), PartialMap.Apply(), FactionBranch.BanishMember(), DramaOutcome.check_sketch(), Chara.ClearInventory(), ContentCodex.Collect(), TraitCrafter.Craft(), RecipeCard.CreateMold(), FactionBranch.DailyOutcome(), QuestDeliver.Deliver(), ThingContainer.DestroyAll(), Chara.DropThing(), Chara.EQ_CAT(), Chara.EQ_ID(), CoreDebug.Fix_RemoveDemitas(), DramaOutcome.give_sketch_special(), Chara.GiveGift(), Chara.GiveLovePotion(), ModNum(), TraitTrap.OnActivateTrap(), TraitBrewery.OnChildDecay(), Meeting.OnEndDrama(), Chara.OnGiveErohon(), Game.OnLoad(), TraitAltar.OnOffer(), AM_FlagCell.OnProcessTiles(), AI_Fish.ProgressFish.OnProgressComplete(), TaskDig.OnProgressComplete(), TraitFertilizer.OnSimulateHour(), Zone.OnSimulateHour(), TraitFarmChest.OnUse(), TraitScrollMapTreasure.OnUse(), TraitStairsLocked.OnUse(), TraitFoodMeat.OnUse(), DramaManager.ParseLine(), InvOwnerDeliver.PayBill(), ActEffect.Proc(), PurgeDuplicateArtifact(), Map.PutAway(), Trait.Refuel(), QuestEscort.ReleaseEscort(), RemoveBacker(), GameDate.ShipGoods(), ConSleep.SuccubusVisit(), ActThrow.Throw(), AI_PlayMusic.ThrowReward(), Zone.TryAddThing(), TraitSwitch.TryDisarmTrap(), Chara.TryPoisonPotion(), ActPray.TryPray(), AI_Shopping.TryRestock(), Map.TryShatter(), TraitSeed.TrySprout(), TryStackTo(), TraitFoodEgg.Update(), and ActionMode.UpdateInput().

◆ Die()

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

Reimplemented in Chara.

Definition at line 4613 of file Card.cs.

4614 {
4615 Card rootCard = GetRootCard();
4616 Point _pos = rootCard?.pos ?? pos;
4617 if (_pos != null && !_pos.IsValid)
4618 {
4619 _pos = null;
4620 }
4621 if (trait.EffectDead == EffectDead.Default && _pos != null)
4622 {
4623 _pos.PlaySound(material.GetSoundDead(sourceCard));
4624 _pos.PlayEffect("mine").SetParticleColor(material.GetColor()).Emit(10 + EClass.rnd(10));
4625 material.AddBlood(_pos, trait.CanBeSmashedToDeath ? (12 + EClass.rnd(8)) : 6);
4626 if (_pos.IsSync)
4627 {
4628 string text = ((rootCard != this) ? "destroyed_inv_" : "destroyed_ground_");
4629 if (e != null && LangGame.Has(text + e.source.alias))
4630 {
4631 text += e.source.alias;
4632 }
4633 if (attackSource != AttackSource.Throw)
4634 {
4635 Msg.Say(text, this, rootCard);
4636 }
4637 }
4638 else if (attackSource != AttackSource.Throw)
4639 {
4640 Msg.Say("destroyed", this);
4641 }
4642 }
4643 if (_pos != null && !EClass._zone.IsUserZone)
4644 {
4645 things.ForeachReverse(delegate(Thing t)
4646 {
4647 if (!(t.trait is TraitChestMerchant))
4648 {
4649 EClass._zone.AddCard(t, _pos);
4650 }
4651 });
4652 }
4653 Destroy();
4654 if (e != null && _pos != null && e.id == 21)
4655 {
4656 EClass._zone.AddCard(ThingGen.Create((EClass.rnd(2) == 0) ? "ash" : "ash2"), _pos);
4657 }
4658 if (trait.ThrowType == ThrowType.Explosive)
4659 {
4660 Explode(pos, origin);
4661 }
4662 }
EffectDead
Definition: EffectDead.cs:2
ThrowType
Definition: ThrowType.cs:2
void Explode(Point p, Card origin)
Definition: Card.cs:4664
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:1229
Effect PlayEffect(string id)
Definition: Point.cs:1224
virtual EffectDead EffectDead
Definition: Trait.cs:247
virtual ThrowType ThrowType
Definition: Trait.cs:245

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

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

◆ Dist() [1/2]

int Card.Dist ( Card  c)
inline

Definition at line 7025 of file Card.cs.

7026 {
7027 if (!IsMultisize && !c.IsMultisize)
7028 {
7029 return pos.Distance(c.pos);
7030 }
7031 if (IsMultisize)
7032 {
7033 int dist = 99;
7034 ForeachPoint(delegate(Point p, bool main)
7035 {
7036 int num2 = DistMulti(p, c);
7037 if (num2 < dist)
7038 {
7039 dist = num2;
7040 }
7041 });
7042 return dist;
7043 }
7044 return DistMulti(pos, c);
7045 static int DistMulti(Point p1, Card c)
7046 {
7047 if (!c.IsMultisize)
7048 {
7049 return p1.Distance(c.pos);
7050 }
7051 int dist2 = 99;
7052 c.ForeachPoint(delegate(Point p, bool main)
7053 {
7054 int num = p1.Distance(p);
7055 if (num < dist2)
7056 {
7057 dist2 = num;
7058 }
7059 });
7060 return dist2;
7061 }
7062 }
virtual bool IsMultisize
Definition: Card.cs:2058
void ForeachPoint(Action< Point, bool > action)
Definition: Card.cs:7190
int Distance(Point p)
Definition: Point.cs:965

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

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

◆ Dist() [2/2]

int Card.Dist ( Point  p)
inline

Definition at line 7064 of file Card.cs.

7065 {
7066 return pos.Distance(p);
7067 }

References Point.Distance().

◆ Duplicate()

Thing Card.Duplicate ( int  num)
inline

Definition at line 3235 of file Card.cs.

3236 {
3237 Thing thing = ThingGen.Create(id);
3238 thing.ChangeMaterial(idMaterial, ignoreFixedMaterial: true);
3239 thing._bits1 = _bits1;
3240 thing._bits2 = _bits2;
3241 thing.dir = dir;
3242 thing.refVal = refVal;
3243 thing.altitude = altitude;
3244 thing.idSkin = idSkin;
3245 thing.blessedState = blessedState;
3246 thing.rarityLv = rarityLv;
3247 thing.tier = tier;
3248 thing.LV = LV;
3249 thing.exp = exp;
3250 thing.encLV = encLV;
3251 thing.decay = decay;
3252 thing.mapInt.Clear();
3253 thing.mapStr.Clear();
3254 foreach (KeyValuePair<int, int> item in mapInt)
3255 {
3256 thing.mapInt[item.Key] = item.Value;
3257 }
3258 foreach (KeyValuePair<int, string> item2 in mapStr)
3259 {
3260 thing.mapStr[item2.Key] = item2.Value;
3261 }
3262 elements.CopyTo(thing.elements);
3263 thing.SetNum(num);
3264 if (thing.IsRangedWeapon)
3265 {
3266 thing.sockets = IO.DeepCopy(sockets);
3267 }
3268 if (thing.c_containerSize != 0)
3269 {
3270 thing.things.SetOwner(thing);
3271 }
3272 return thing;
3273 }
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:2887
bool IsRangedWeapon
Definition: Card.cs:2143
int c_containerSize
Definition: Card.cs:1313
int rarityLv
Definition: Card.cs:286
BlessedState blessedState
Definition: Card.cs:262
int dir
Definition: Card.cs:142
void CopyTo(ElementContainer container)
Definition: IO.cs:11

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

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

◆ Dye() [1/2]

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

Definition at line 5453 of file Card.cs.

5454 {
5455 isDyed = mat != null;
5456 c_dyeMat = mat?.id ?? 0;
5457 _colorInt = 0;
5458 }
int c_dyeMat
Definition: Card.cs:1145
bool isDyed
Definition: Card.cs:430

◆ Dye() [2/2]

◆ DyeRandom()

void Card.DyeRandom ( )
inline

Definition at line 5443 of file Card.cs.

5444 {
5445 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);
5446 }

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

3368 {
3369 for (int i = 0; i < sockets.Count; i++)
3370 {
3371 int num = sockets[i];
3372 if (num != 0)
3373 {
3374 Thing thing = ThingGen.Create(isCopy ? "ash3" : "mod_ranged");
3375 int ele = num / 100;
3376 int num2 = num % 100;
3377 elements.ModBase(ele, -num2);
3378 if (!isCopy)
3379 {
3380 thing.refVal = ele;
3381 thing.encLV = num2;
3382 }
3384 sockets[i] = 0;
3385 }
3386 }
3387 }
void TrySmoothPick(Cell cell, Thing t, Chara c)
Definition: Map.cs:1791
bool IsBlocked
Definition: Point.cs:351

References EClass._map, ThingGen.Create(), elements, Point.IsBlocked, isCopy, ElementContainer.ModBase(), EClass.pc, pos, sockets, and Map.TrySmoothPick().

Referenced by TaskHarvest.HarvestThing().

◆ Evalue() [1/3]

int Card.Evalue ( int  ele)
inline

Definition at line 2471 of file Card.cs.

2472 {
2473 return elements.Value(ele);
2474 }
int Value(int ele)

References elements, and ElementContainer.Value().

Referenced by Chara._Move(), TraitAltar._OnOffer(), AM_Adv._OnUpdateInput(), ActPlan._Update(), Element._WriteNote(), AddExp(), 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(), ActEffect.DamageEle(), DamageHP(), Player.DreamSpell(), CharaBody.Equip(), Party.EValue(), Chara.FindNewEnemy(), TraitBaseSpellbook.GetActDuration(), Party.GetBestSkill(), HomeResourceEducation.GetDestValue(), HomeResourceSafety.GetDestValue(), TraitCrafter.GetDuration(), Hobby.GetEfficiency(), TraitDrinkMilkMother.GetHeldEmo(), DNA.GetInvalidFeat(), Hobby.GetLv(), CharaBody.GetMeleeDistance(), Ability.GetPower(), Recipe.GetQualityBonus(), AttackProcess.GetRawDamage(), RecipeSource.GetSPCost(), ElementContainer.GetSpellExp(), LayerTravel.GetTravelHours(), RecipeManager.GetUnlearnedRecipe(), AttackProcess.GetWeaponEnc(), GoalAutoCombat.GoalAutoCombat(), HealHP(), TraitFoodEggFertilized.Incubate(), Quest.Init(), CalcMoney.Invest(), Chara.IsCriticallyWounded(), Religion.LeaveFaith(), LevelUp(), RecipeCard.MakeDish(), AI_Fish.Makefish(), TraitSeed.MakeSeed(), MaxRune(), CraftUtil.MixIngredients(), StatsStamina.Mod(), CalcMoney.Negotiate(), Player.OnAdvanceDay(), Player.OnAdvanceHour(), Trait.OnBarter(), TraitDrinkMilkMother.OnDrink(), AI_Fish.ProgressFish.OnProgress(), RecipeManager.OnSleep(), TraitFloorSwitch.OnStepped(), Affinity.OnTalkRumor(), TraitItemProc.OnUse(), RaceBonus.OnWriteNote(), ActRanged.Perform(), ActZap.Perform(), AttackProcess.Perform(), AttackProcess.Prepare(), FoodEffect.Proc(), Religion.Punish(), Religion.PunishTakeOver(), WindowCharaMini.Refresh(), WindowChara.RefreshNote(), WindowChara.RefreshSkill(), Chara.RefreshSpeed(), Chara.RequestProtection(), Dice.Roll(), AI_Fuck.Run(), AI_Idle.Run(), AI_OpenGambleChest.Run(), AI_PassTime.Run(), AI_PlayMusic.Run(), AI_Steal.Run(), AI_UseCrafter.Run(), ActWait.Search(), Player.SelectDomain(), QuestSupplySpecific.SetIdThing(), Map.SetObj(), BaseTaskHarvest.SetTarget(), SpawnLoot(), Chara.Stumble(), ConSleep.SuccubusVisit(), Chara.Tick(), TraitSwitch.TryDisarmTrap(), Religion.TryGetGift(), Trait.TryOpenLock(), ActPray.TryPray(), TraitBaseSpellbook.TryProgress(), ActRanged.TryReload(), HotItemHeld.TrySetAct(), TraitSwitch.TrySetAct(), TraitEcoMark.TrySetHeldAct(), GoalCombat.TryUseAbility(), ElementContainerCard.ValueBonus(), and Element.BonusInfo.WriteNote().

◆ Evalue() [2/3]

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

Definition at line 2476 of file Card.cs.

2477 {
2478 if (!ignoreGlobalElement || !HasGlobalElement(ele))
2479 {
2480 return elements.Value(ele);
2481 }
2482 return 0;
2483 }
bool HasGlobalElement(int ele)
Definition: Card.cs:5405

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

◆ Evalue() [3/3]

int Card.Evalue ( string  alias)
inline

Definition at line 2490 of file Card.cs.

2491 {
2492 return elements.Value(EClass.sources.elements.alias[alias].id);
2493 }

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

◆ EvalueMax()

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

Definition at line 2485 of file Card.cs.

2486 {
2487 return Mathf.Max(elements.Value(ele), min);
2488 }

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

4665 {
4666 ActEffect.ProcAt(EffectId.Explosive, 100, blessedState, this, null, p, isNeg: true, new ActRef
4667 {
4668 origin = origin?.Chara,
4669 refThing = Thing,
4670 aliasEle = "eleImpact"
4671 });
4672 }
static void ProcAt(EffectId id, int power, BlessedState state, Card cc, Card tc, Point tp, bool isNeg, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:407
Definition: ActRef.cs:2

References ActEffect.ProcAt().

◆ FindTool< T >()

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

Definition at line 2566 of file Card.cs.

2566 : Trait
2567 {
2568 if (IsPC)
2569 {
2570 return Tool?.trait as T;
2571 }
2572 return things.Find<T>()?.trait as T;
2573 }
Thing Tool
Definition: Card.cs:2310
Thing Find(int uid)

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

◆ ForeachFOV()

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

Definition at line 7174 of file Card.cs.

7175 {
7176 if (fov == null)
7177 {
7178 return;
7179 }
7180 foreach (KeyValuePair<int, byte> lastPoint in fov.lastPoints)
7181 {
7182 Point arg = new Point().Set(lastPoint.Key);
7183 if (func(arg))
7184 {
7185 break;
7186 }
7187 }
7188 }

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

◆ ForeachPoint()

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

Definition at line 7190 of file Card.cs.

7191 {
7192 if (IsMultisize)
7193 {
7194 pos.ForeachMultiSize(W, H, action);
7195 }
7196 else
7197 {
7198 action(pos, arg2: true);
7199 }
7200 }
int H
Definition: Card.cs:2266
int W
Definition: Card.cs:2254
void ForeachMultiSize(int w, int h, Action< Point, bool > action)
Definition: Point.cs:1361

References Point.ForeachMultiSize().

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

◆ GetArmorSkill()

virtual int Card.GetArmorSkill ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 3780 of file Card.cs.

3781 {
3782 return 0;
3783 }

Referenced by ApplyProtection().

◆ GetBestAttribute()

int Card.GetBestAttribute ( )
inline

Definition at line 2530 of file Card.cs.

2531 {
2532 int num = 1;
2533 foreach (Element item in elements.dict.Values.Where((Element a) => Element.List_MainAttributesMajor.Contains(a.id)))
2534 {
2535 int num2 = item.Value;
2536 if (isChara && Chara.tempElements != null)
2537 {
2538 num2 -= Chara.tempElements.Value(item.id);
2539 }
2540 if (num2 > num)
2541 {
2542 num = num2;
2543 }
2544 }
2545 return num;
2546 }
ElementContainer tempElements
Definition: Chara.cs:36
Dictionary< int, Element > dict
static int[] List_MainAttributesMajor
Definition: ELEMENT.cs:238

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

Referenced by AI_Fuck.Finish().

◆ GetCurrency()

◆ GetDetail()

virtual string Card.GetDetail ( )
inlinevirtual

Definition at line 2525 of file Card.cs.

2526 {
2527 return sourceCard.GetText("detail", returnNull: true);
2528 }
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 6577 of file Card.cs.

6578 {
6579 return GetValue();
6580 }
int GetValue(PriceType priceType=PriceType.Default, bool sell=false)
Definition: Card.cs:6598

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

◆ GetExtraName()

virtual string Card.GetExtraName ( )
inlinevirtual

Reimplemented in Thing.

Definition at line 2520 of file Card.cs.

2521 {
2522 return "";
2523 }

Referenced by Act.GetTextSmall().

◆ GetFoodName()

string Card.GetFoodName ( string  s)
inline

Definition at line 5264 of file Card.cs.

5265 {
5266 return s.Replace("_corpseFrom".lang(), "_corpseTo".lang());
5267 }

◆ GetHoverText()

virtual string Card.GetHoverText ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 7015 of file Card.cs.

7016 {
7017 return Name + GetExtraName();
7018 }
virtual string GetExtraName()
Definition: Card.cs:2520

◆ GetHoverText2()

virtual string Card.GetHoverText2 ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 7020 of file Card.cs.

7021 {
7022 return "";
7023 }

◆ GetImageSprite()

virtual Sprite Card.GetImageSprite ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 5531 of file Card.cs.

5532 {
5533 return null;
5534 }

Referenced by HotItemThing.GetSprite().

◆ GetLightPower()

float Card.GetLightPower ( )
inline

Definition at line 5816 of file Card.cs.

5817 {
5819 if (LightData != null)
5820 {
5821 return 0.01f * LightData.color.a * 256f * 1.12f;
5822 }
5823 if (IsPCFaction && !IsPC)
5824 {
5825 num *= 4f;
5826 }
5827 return num;
5828 }
AnimationCurve fovCurveChara
float timeRatio
Definition: Scene.cs:126

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

5840 {
5841 if (isThing)
5842 {
5843 if (!IsInstalled && EClass.pc.held != this)
5844 {
5845 return 0;
5846 }
5848 {
5849 return (trait as TraitLightSource).LightRadius;
5850 }
5851 if (LightData == null || !trait.IsLightOn)
5852 {
5853 return 0;
5854 }
5855 return LightData.radius;
5856 }
5857 int num = ((LightData != null) ? LightData.radius : 0);
5858 int num2 = 0;
5859 if (IsPC)
5860 {
5861 if (Chara.isBlind)
5862 {
5863 return 1;
5864 }
5865 num = ((EClass._map.IsIndoor || EClass.world.date.IsNight) ? 2 : ((EClass.world.date.periodOfDay == PeriodOfDay.Day) ? 6 : 5));
5866 num2 = 2;
5867 }
5868 else
5869 {
5871 {
5872 return 0;
5873 }
5874 if (LightData == null && !EClass._map.IsIndoor && !EClass.world.date.IsNight)
5875 {
5876 return 0;
5877 }
5878 }
5879 if (IsPCFaction)
5880 {
5881 Thing equippedThing = Chara.body.GetEquippedThing(45);
5882 if (equippedThing != null && equippedThing.trait is TraitLightSource traitLightSource)
5883 {
5884 num2 = traitLightSource.LightRadius;
5885 }
5886 if (Chara.held != null && IsPC)
5887 {
5888 int lightRadius = Chara.held.GetLightRadius();
5889 if (lightRadius > 0)
5890 {
5891 if (lightRadius > num2)
5892 {
5893 num2 = Chara.held.GetLightRadius() - 1;
5894 }
5895 if (num2 < 3)
5896 {
5897 num2 = 3;
5898 }
5899 }
5900 }
5901 if (num < num2)
5902 {
5903 num = num2;
5904 }
5905 }
5906 return num;
5907 }
PeriodOfDay
Definition: PeriodOfDay.cs:2
Thing GetEquippedThing(int elementId)
Definition: CharaBody.cs:378
bool isBlind
Definition: Chara.cs:128
GraphicSetting graphic
Definition: CoreConfig.cs:596
bool IsNight
Definition: Date.cs:112
PeriodOfDay periodOfDay
Definition: Date.cs:124
int radius
Definition: LightData.cs:10
bool IsIndoor
Definition: Map.cs:131
bool isEquipped
Definition: Thing.cs:17
virtual bool IsLightOn
Definition: Trait.cs:406

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

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

◆ GetName()

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

Reimplemented in Thing, and Chara.

Definition at line 2515 of file Card.cs.

2516 {
2517 return "Card";
2518 }

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

◆ GetPaintData()

byte[] Card.GetPaintData ( )
inline

Definition at line 6459 of file Card.cs.

6460 {
6461 Sprite sprite = GetSprite();
6462 Texture2D texture2D = ScreenCapture.CaptureScreenshotAsTexture();
6463 int num = sprite.texture.width * 2;
6464 int num2 = sprite.texture.height * 2;
6465 int x = (int)Mathf.Clamp(Input.mousePosition.x - (float)(num / 2), 1f, texture2D.width - num - 1);
6466 int y = (int)Mathf.Clamp(Input.mousePosition.y - (float)(num2 / 2), 1f, texture2D.height - num2 - 1);
6467 Color[] pixels = texture2D.GetPixels(x, y, num, num2);
6468 Texture2D texture2D2 = new Texture2D(num, num2, TextureFormat.ARGB32, mipChain: false);
6469 texture2D2.SetPixels(pixels);
6470 texture2D2.Apply();
6471 byte[] result = texture2D2.EncodeToJPG();
6472 UnityEngine.Object.Destroy(texture2D);
6473 UnityEngine.Object.Destroy(texture2D2);
6474 return result;
6475 }
virtual Sprite GetSprite(int dir=0)
Definition: Card.cs:5522

References Color.

Referenced by AM_Paint.OnUpdateInput().

◆ GetPaintSprite()

Sprite Card.GetPaintSprite ( )
inline

Definition at line 6487 of file Card.cs.

6488 {
6489 if (!_paintSprite)
6490 {
6491 byte[] data = c_textureData;
6492 Texture2D texture2D = new Texture2D(1, 1);
6493 texture2D.LoadImage(data);
6494 _paintSprite = Sprite.Create(texture2D, new Rect(0f, 0f, texture2D.width, texture2D.height), new Vector2(0.5f, 0.5f), 200f);
6495 EClass.game.loadedTextures.Add(texture2D);
6496 if (trait is TraitCanvas traitCanvas)
6497 {
6498 texture2D.filterMode = ((!traitCanvas.PointFilter) ? FilterMode.Bilinear : FilterMode.Point);
6499 }
6500 }
6501 return _paintSprite;
6502 }
byte[] c_textureData
Definition: Card.cs:1829
HashSet< Texture2D > loadedTextures
Definition: Game.cs:251

References EClass.game, and Game.loadedTextures.

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

◆ GetPrice()

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

Definition at line 6676 of file Card.cs.

6677 {
6678 if (!sell)
6679 {
6680 if (id == "littleball")
6681 {
6682 return 0;
6683 }
6684 switch (currency)
6685 {
6686 case CurrencyType.Ecopo:
6687 if (id == "plat")
6688 {
6689 return 500;
6690 }
6691 break;
6692 case CurrencyType.Plat:
6693 {
6694 string text = id;
6695 if (!(text == "lucky_coin"))
6696 {
6697 if (!(text == "book_skill"))
6698 {
6699 break;
6700 }
6701 return 50;
6702 }
6703 return 100;
6704 }
6705 case CurrencyType.Medal:
6706 switch (id)
6707 {
6708 case "bill_tax":
6709 return 3;
6710 case "water":
6711 return 3;
6712 case "bill":
6713 return 3;
6714 case "1165":
6715 return 10;
6716 case "diary_sister":
6717 return 12;
6718 case "diary_lady":
6719 return 25;
6720 case "diary_catsister":
6721 return 85;
6722 case "container_magic":
6723 return 20;
6724 case "wrench_tent_elec":
6725 return 3;
6726 case "wrench_tent_soil":
6727 return 3;
6728 case "wrench_bed":
6729 return 3;
6730 case "wrench_storage":
6731 return 4;
6732 case "wrench_fridge":
6733 return 15;
6734 case "wrench_extend_v":
6735 return 6;
6736 case "wrench_extend_h":
6737 return 6;
6738 case "monsterball":
6739 return LV / 8;
6740 }
6741 break;
6742 }
6743 }
6744 if (sell && noSell)
6745 {
6746 return 0;
6747 }
6748 if (!sell && id == "casino_coin")
6749 {
6750 return 20;
6751 }
6752 int value = GetValue(priceType, sell);
6753 if (value == 0)
6754 {
6755 return 0;
6756 }
6757 if (c == null)
6758 {
6759 c = EClass.pc;
6760 }
6761 double p = value;
6762 Trait trait = this.trait;
6763 if (!(trait is TraitBed))
6764 {
6765 if (trait is TraitContainer traitContainer)
6766 {
6767 p *= 1f + 4f * (float)(things.width - traitContainer.Width) + 4f * (float)(things.height - traitContainer.Height);
6768 }
6769 }
6770 else
6771 {
6772 p *= 1f + 0.5f * (float)c_containerSize;
6773 }
6774 p += c_priceAdd;
6775 if (c_priceFix != 0)
6776 {
6777 p = (int)((float)p * (float)Mathf.Clamp(100 + c_priceFix, 0, 1000000) / 100f);
6778 if (p == 0.0)
6779 {
6780 return 0;
6781 }
6782 }
6783 if (isStolen)
6784 {
6785 if (sell && priceType == PriceType.PlayerShop && EClass.Branch != null && EClass.Branch.policies.IsActive(2824))
6786 {
6787 p = p * 100.0 / (double)Mathf.Max(110f, 170f - Mathf.Sqrt(EClass.Branch.Evalue(2824) * 5));
6788 }
6789 else if (sell && Guild.Thief.IsMember)
6790 {
6791 p = Guild.Thief.SellStolenPrice((int)p);
6792 }
6793 else
6794 {
6795 p *= 0.5;
6796 }
6797 }
6798 if (!sell && category.id == "spellbook")
6799 {
6800 p = Guild.Mage.BuySpellbookPrice((int)p);
6801 }
6802 bool flag = priceType == PriceType.CopyShop;
6803 int num = ((!flag) ? 1 : 5);
6804 float num2 = Mathf.Min(0.01f * (float)Evalue(752), 1f);
6805 float num3 = Mathf.Min(0.01f * (float)Evalue(751), 1f);
6806 float num4 = Mathf.Min(0.02f * (float)Evalue(759), 2f);
6807 if (num3 > 0f)
6808 {
6809 num3 *= (float)num;
6810 }
6811 float num5 = Mathf.Clamp(1f + num2 + num3, 0.5f, 5f) + num4;
6812 p *= num5;
6813 p *= 0.20000000298023224;
6814 if (sell)
6815 {
6816 p *= 0.20000000298023224;
6817 if (isCopy)
6818 {
6819 p *= 0.20000000298023224;
6820 }
6821 if (currency == CurrencyType.Money && (category.IsChildOf("meal") || category.IsChildOf("preserved")))
6822 {
6823 p *= 0.5;
6824 }
6825 if ((uint)(priceType - 1) <= 1u)
6826 {
6827 if (category.IsChildOf("fish"))
6828 {
6829 p *= ((EClass.pc.faith == EClass.game.religions.Luck) ? 1.5f : 1f);
6830 }
6831 if (category.IsChildOf("vegi") || category.IsChildOf("fruit"))
6832 {
6833 p *= ((EClass.pc.faith == EClass.game.religions.Harvest) ? 3f : 2f);
6834 }
6835 }
6836 }
6837 if (id == "rod_wish")
6838 {
6839 p *= (sell ? 0.01f : 50f);
6840 }
6841 switch (currency)
6842 {
6843 case CurrencyType.Ecopo:
6844 if (this.trait is TraitSeed)
6845 {
6846 p *= 2.0;
6847 }
6848 else if (this.trait is TraitEcoMark)
6849 {
6850 p *= 1.0;
6851 }
6852 else
6853 {
6854 p *= 0.20000000298023224;
6855 }
6856 break;
6857 case CurrencyType.Casino_coin:
6858 p *= 0.10000000149011612;
6859 break;
6860 case CurrencyType.Influence:
6861 p *= 0.0020000000949949026;
6862 break;
6863 case CurrencyType.Medal:
6864 p *= 0.00019999999494757503;
6865 break;
6866 case CurrencyType.Money2:
6867 p *= 0.004999999888241291;
6868 break;
6869 default:
6870 if (IsIdentified || (this.trait is TraitErohon && !sell))
6871 {
6872 if (blessedState == BlessedState.Blessed)
6873 {
6874 p *= 1.25;
6875 }
6876 else if (blessedState <= BlessedState.Cursed)
6877 {
6878 p *= (flag ? 1.25f : 0.3f);
6879 }
6880 if (this.trait.HasCharges)
6881 {
6882 p = p * 0.05000000074505806 + p * (double)(0.5f + Mathf.Clamp(0.1f * (float)c_charges, 0f, 1.5f));
6883 }
6884 if (IsDecayed)
6885 {
6886 p *= (flag ? 0.9f : 0.5f);
6887 }
6888 }
6889 else
6890 {
6891 Rand.UseSeed(uid, delegate
6892 {
6893 p = (sell ? (1 + EClass.rnd(15)) : (50 + EClass.rnd(500)));
6894 });
6895 }
6896 if (!sell)
6897 {
6898 p *= 1f + 0.2f * (float)c.Evalue(1406);
6899 }
6900 break;
6901 }
6902 float num6 = Math.Clamp(Mathf.Sqrt(c.EvalueMax(291) + ((!sell && EClass._zone.IsPCFaction) ? (EClass.Branch.Evalue(2800) * 2) : 0)), 0f, 25f);
6903 switch (priceType)
6904 {
6905 case PriceType.Tourism:
6906 num6 = 0f;
6907 break;
6908 case PriceType.Shipping:
6909 if (sell)
6910 {
6911 p *= 1.100000023841858;
6912 }
6913 break;
6914 case PriceType.PlayerShop:
6915 {
6916 if (!sell)
6917 {
6918 break;
6919 }
6920 float num7 = 1.25f;
6921 if (EClass.Branch != null)
6922 {
6923 if (EClass.Branch.policies.IsActive(2817))
6924 {
6925 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2817));
6926 }
6927 if (EClass.Branch.policies.IsActive(2816))
6928 {
6929 num7 += 0.2f + 0.02f * Mathf.Sqrt(EClass.Branch.Evalue(2816));
6930 }
6931 if (isChara)
6932 {
6933 if (EClass.Branch.policies.IsActive(2828))
6934 {
6935 num7 += 0.1f + 0.01f * Mathf.Sqrt(EClass.Branch.Evalue(2828));
6936 }
6937 }
6938 else if (category.IsChildOf("food") || category.IsChildOf("drink"))
6939 {
6940 if (EClass.Branch.policies.IsActive(2818))
6941 {
6942 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2818));
6943 }
6944 }
6945 else if (category.IsChildOf("furniture"))
6946 {
6947 if (EClass.Branch.policies.IsActive(2819))
6948 {
6949 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2819));
6950 }
6951 }
6952 else if (EClass.Branch.policies.IsActive(2820))
6953 {
6954 num7 += 0.05f + 0.005f * Mathf.Sqrt(EClass.Branch.Evalue(2820));
6955 }
6956 }
6957 p *= num7;
6958 break;
6959 }
6960 }
6961 if ((uint)currency > 1u)
6962 {
6963 num6 = 0f;
6964 }
6965 p *= (sell ? (1f + num6 * 0.02f) : (1f - num6 * 0.02f));
6966 if (sell)
6967 {
6968 p = EClass.curve((int)p, 10000, 10000, 80);
6969 }
6970 if (p < 1.0)
6971 {
6972 p = ((!sell) ? 1 : 0);
6973 }
6974 if (!sell)
6975 {
6976 if (currency == CurrencyType.Casino_coin)
6977 {
6978 if (p > 100000.0)
6979 {
6980 p = Mathf.CeilToInt((float)p / 100000f) * 100000;
6981 }
6982 else if (p > 10000.0)
6983 {
6984 p = Mathf.CeilToInt((float)p / 10000f) * 10000;
6985 }
6986 else if (p > 1000.0)
6987 {
6988 p = Mathf.CeilToInt((float)p / 1000f) * 1000;
6989 }
6990 else if (p > 100.0)
6991 {
6992 p = Mathf.CeilToInt((float)p / 100f) * 100;
6993 }
6994 else if (p > 10.0)
6995 {
6996 p = Mathf.CeilToInt((float)p / 10f) * 10;
6997 }
6998 }
6999 if (this.trait is TraitDeed)
7000 {
7001 p *= Mathf.Pow(2f, EClass.player.flags.landDeedBought);
7002 }
7003 }
7004 if (p > (double)(sell ? 500000000 : 1000000000))
7005 {
7006 if (!sell)
7007 {
7008 return 1000000000;
7009 }
7010 return 500000000;
7011 }
7012 return (int)p;
7013 }
BlessedState
Definition: BlessedState.cs:2
@ currency
CurrencyType
Definition: CurrencyType.cs:2
PriceType
Definition: PriceType.cs:2
int c_priceFix
Definition: Card.cs:1097
int EvalueMax(int ele, int min=0)
Definition: Card.cs:2485
bool noSell
Definition: Card.cs:802
int c_priceAdd
Definition: Card.cs:1109
bool isStolen
Definition: Card.cs:826
bool IsIdentified
Definition: Card.cs:2277
int c_charges
Definition: Card.cs:1229
static int curve(int a, int start, int step, int rate=75)
Definition: EClass.cs:63
int Evalue(int ele)
PolicyManager policies
int BuySpellbookPrice(int a)
Definition: GuildMage.cs:17
int SellStolenPrice(int a)
Definition: GuildThief.cs:17
static GuildMage Mage
Definition: Guild.cs:25
bool IsMember
Definition: Guild.cs:39
static GuildThief Thief
Definition: Guild.cs:27
int landDeedBought
Definition: Player.cs:522
Flags flags
Definition: Player.cs:910
bool IsActive(int id, int days=-1)
static void UseSeed(int seed, Action action)
Definition: Rand.cs:22
ReligionHarvest Harvest
ReligionLuck Luck
virtual bool HasCharges
Definition: Trait.cs:323

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

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

◆ GetRandomColor()

ref Color Card.GetRandomColor ( )
inline

Definition at line 5495 of file Card.cs.

5496 {
5497 int num = EClass.game.seed + refVal;
5498 num += id[0] % 10000;
5499 if (id.Length > 1)
5500 {
5501 num += id[1] % 1000;
5502 if (id.Length > 2)
5503 {
5504 num += id[2] % 1000;
5505 if (id.Length > 3)
5506 {
5507 num += id[3] % 1000;
5508 if (id.Length > 4)
5509 {
5510 num += id[4] % 1000;
5511 }
5512 }
5513 }
5514 }
5515 Rand.UseSeed(num, delegate
5516 {
5517 _randColor = EClass.sources.materials.rows[EClass.rnd(90)].matColor;
5518 });
5519 return ref _randColor;
5520 }
static Color _randColor
Definition: Card.cs:89

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

◆ GetRenderParam()

RenderParam Card.GetRenderParam ( )
inline

Definition at line 5429 of file Card.cs.

5430 {
5432 shared.color = 11010048f;
5433 shared.liquidLv = 0;
5434 shared.cell = null;
5435 SetRenderParam(shared);
5436 return shared;
5437 }
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:5439
static RenderParam shared
Definition: RenderParam.cs:5

References RenderParam.shared.

Referenced by EffectIRenderer.OnUpdate().

◆ GetRestrainer()

TraitShackle Card.GetRestrainer ( )
inline

Definition at line 6540 of file Card.cs.

6541 {
6542 foreach (Card item in pos.ListCards())
6543 {
6544 if (item.trait is TraitShackle && item.c_uidRefCard == uid)
6545 {
6546 return item.trait as TraitShackle;
6547 }
6548 }
6549 return null;
6550 }
List< Card > ListCards(bool includeMasked=false)
Definition: Point.cs:1027

References item, and Point.ListCards().

Referenced by BaseTileMap.DrawTile().

◆ GetRoot()

ICardParent Card.GetRoot ( )
inline

Implements ICardParent.

Definition at line 3208 of file Card.cs.

3209 {
3210 if (parent == null)
3211 {
3212 return this;
3213 }
3214 return parent.GetRoot();
3215 }
ICardParent GetRoot()

References ICardParent.GetRoot(), and parent.

Referenced by UIInventory.RefreshMenu().

◆ GetRootCard()

Card Card.GetRootCard ( )
inline

Definition at line 3217 of file Card.cs.

3218 {
3219 if (!(parent is Card card))
3220 {
3221 return this;
3222 }
3223 return card.GetRootCard();
3224 }

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

3416 {
3417 if (socketList != null)
3418 {
3419 foreach (SocketData socket in socketList)
3420 {
3421 if (socket.type == SocketData.Type.Rune && socket.idEle == idEle)
3422 {
3423 return socket;
3424 }
3425 }
3426 }
3427 return null;
3428 }

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

Referenced by Element.AddEncNote().

◆ GetSightRadius()

int Card.GetSightRadius ( )
inline

Definition at line 5830 of file Card.cs.

5831 {
5832 if (IsPC)
5833 {
5834 return EClass.player.lightRadius;
5835 }
5836 return (EClass._map.IsIndoor ? 4 : 5) + (IsPCFaction ? 1 : 0);
5837 }

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

5523 {
5524 if (trait is TraitAbility)
5525 {
5526 return (trait as TraitAbility).CreateAct()?.GetSprite() ?? EClass.core.refs.icons.defaultAbility;
5527 }
5528 return sourceCard.GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
5529 }
bool IsSnowTile
Definition: Cell.cs:782
Sprite defaultAbility
Definition: CoreRef.cs:116
Icons icons
Definition: CoreRef.cs:341
CoreRef refs
Definition: Core.cs:51
Cell cell
Definition: Point.cs:51
Sprite GetSprite(int dir=0, int skin=0, bool snow=false)
Definition: RenderRow.cs:261
virtual int IdSkin
Definition: Trait.cs:44

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

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

◆ GetSubPassData()

virtual SubPassData Card.GetSubPassData ( )
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 5704 of file Card.cs.

5705 {
5706 return SubPassData.Default;
5707 }
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 6259 of file Card.cs.

6260 {
6261 bool flag = isChara && Chara.IsHumanSpeak;
6262 string text = MOD.listTalk.GetTalk(c_idTalk.IsEmpty(id), idTopic, useDefault, flag);
6263 if (!text.IsEmpty())
6264 {
6265 text = text.Split('|').RandomItem();
6266 if (!flag || (IsDeadOrSleeping && IsAliveInCurrentZone))
6267 {
6268 if (!text.StartsWith("(") && !text.StartsWith("*"))
6269 {
6270 text = "(" + text + ")";
6271 }
6272 text = text.Replace("。)", ")");
6273 }
6274 }
6275 return ApplyTone(text, stripPun);
6276 }
virtual bool IsDeadOrSleeping
Definition: Card.cs:2009
string c_idTalk
Definition: Card.cs:1493
bool IsHumanSpeak
Definition: Chara.cs:843
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 6556 of file Card.cs.

6557 {
6558 int result = 0;
6559 if (row.id == 0)
6560 {
6561 return result;
6562 }
6563 result = row.value * mat.value / 100;
6564 if (result < 0)
6565 {
6566 result = 1;
6567 }
6568 return result;
6569 }
int id
Definition: TileRow.cs:8

References TileRow.id.

Referenced by PartialMap.Save().

◆ GetTotalQuality()

int Card.GetTotalQuality ( bool  applyBonus = true)
inline

Definition at line 3583 of file Card.cs.

3584 {
3585 int num = 5 + LV + material.quality;
3586 if (applyBonus)
3587 {
3588 num = num * (100 + Quality) / 100;
3589 }
3590 return num;
3591 }
int Quality
Definition: Card.cs:2325

References LV, material, and Quality.

Referenced by Hobby.GetEfficiency().

◆ GetValue()

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

Definition at line 6598 of file Card.cs.

6599 {
6600 int num = ((c_fixedValue == 0) ? trait.GetValue() : c_fixedValue);
6601 if (id == "plat" && !sell)
6602 {
6603 num = 10000;
6604 }
6605 if (num == 0)
6606 {
6607 return 0;
6608 }
6609 float num2 = num;
6610 if (priceType == PriceType.CopyShop)
6611 {
6612 num2 += (float)c_priceCopy * 0.2f;
6613 num2 = num2 * (float)Mathf.Max(150 + rarityLv, 150) / 100f;
6614 }
6615 else
6616 {
6617 num2 = num2 * (float)Mathf.Max(100 + rarityLv + Mathf.Min(QualityLv * 10, 200), 80) / 100f;
6618 }
6619 if (IsFood && !material.tag.Contains("food"))
6620 {
6621 num2 *= 0.5f;
6622 }
6623 float num3;
6625 {
6626 if (sell)
6627 {
6628 num2 *= 0.3f;
6629 }
6630 num3 = 2f;
6631 }
6632 else
6633 {
6634 num3 = 0.5f;
6635 }
6636 if (isReplica)
6637 {
6638 num2 *= 0.15f;
6639 }
6640 if (!IsUnique)
6641 {
6642 if (IsEquipmentOrRanged && rarity >= Rarity.Legendary)
6643 {
6644 num2 = Mathf.Max(num2, 1800f + num2 / 5f);
6645 }
6646 num2 = num2 * (100f + num3 * (float)(material.value - 100)) / 100f;
6648 {
6649 int num4 = 0;
6650 foreach (Element value in elements.dict.Values)
6651 {
6652 num4 += value.source.value;
6653 }
6654 num2 = num2 * (float)(100 + (sell ? ((int)MathF.Sqrt(num4) * 10) : num4)) / 100f;
6655 if (rarity >= Rarity.Legendary)
6656 {
6657 num2 = Mathf.Max(num2, 3600f + num2 / 5f);
6658 }
6659 }
6660 }
6661 if (trait is TraitRecipe && sell)
6662 {
6663 num2 *= 0.1f;
6664 }
6665 if (encLV != 0 && !category.tag.Contains("noEnc"))
6666 {
6667 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)))));
6668 }
6669 if (tier > 0)
6670 {
6671 num2 *= (float)(tier + 1);
6672 }
6673 return (int)num2;
6674 }
bool IsEquipmentOrRangedOrAmmo
Definition: Card.cs:2130
int c_fixedValue
Definition: Card.cs:1133
int c_priceCopy
Definition: Card.cs:1121
bool IsEquipmentOrRanged
Definition: Card.cs:2118
bool isReplica
Definition: Card.cs:670
int QualityLv
Definition: Card.cs:2327
virtual int GetValue()
Definition: Trait.cs:576

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

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

◆ GetWindowSaveData()

Window.SaveData Card.GetWindowSaveData ( )
inline

Definition at line 2416 of file Card.cs.

2417 {
2418 if (IsPC)
2419 {
2420 return Window.dictData.TryGetValue("LayerInventoryFloatMain0");
2421 }
2423 {
2424 return Window.dictData.TryGetValue("ChestMerchant");
2425 }
2426 return c_windowSaveData;
2427 }
Window.SaveData c_windowSaveData
Definition: Card.cs:1745
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().

◆ HasCondition< T >()

virtual bool Card.HasCondition< T > ( )
inlinevirtual

Reimplemented in Chara.

Type Constraints
T :Condition 

Definition at line 7225 of file Card.cs.

7225 : Condition
7226 {
7227 return false;
7228 }

◆ HasCraftBonusTrait()

bool Card.HasCraftBonusTrait ( )
inline

Definition at line 6362 of file Card.cs.

6363 {
6364 return ListCraftBonusTraits().Count > 0;
6365 }
List< Element > ListCraftBonusTraits()
Definition: Card.cs:6367

Referenced by CraftUtil.MixIngredients().

◆ HasEditorTag()

bool Card.HasEditorTag ( EditorTag  tag)
inline

Definition at line 2500 of file Card.cs.

2501 {
2502 return c_editorTags?.Contains(tag.ToString()) ?? false;
2503 }

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

5396 {
5397 return elements.Value(ele) >= req;
5398 }

References ElementContainer.Value().

Referenced by Chara._Move(), TraitAltar._OnOffer(), InvOwnerGene._OnProcess(), ActPlan._Update(), UICharaMaker.AddDomain(), ActMelee.Attack(), DramaCustomSequence.Build(), RecipeCard.Build(), Chara.CanBeTempAlly(), TraitDemitas.CanCopy(), TraitKettle.CanCopy(), Trait.CanEat(), TaskMine.CanMine(), ActNTR.CanPerform(), TaskChopWood.CanProgress(), ActThrow.CanThrow(), TraitCrafter.Craft(), RecipeCard.Craft(), ActEffect.DamageEle(), DamageHP(), Decay(), CharaBody.Equip(), AI_Fuck.Finish(), HotItemHeld.GetAct(), Chara.GetHoverText(), TaskHarvest.GetIdDismantled(), Religion.GetOfferingValue(), BaseTaskHarvest.GetToolEfficiency(), Chara.GiveGift(), Party.HasElement(), CharaBody.IsEquippable(), CharaBody.IsTooHeavyToEquip(), Religion.JoinFaith(), CalcPlat.Learn(), LevelUp(), Thing.ListValidTraits(), RecipeCard.MakeDish(), TraitSeed.MakeSeed(), StatsMana.Mod(), StatsStamina.Mod(), Zone_Casino.OnActivate(), AM_Adv.OnBecomeNoGoal(), TraitTent.OnChangePlaceState(), Affinity.OnGift(), AI_Fish.ProgressFish.OnProgress(), InvOwnerGene.OnWriteNote(), ActThrow.Perform(), AttackProcess.Perform(), FoodEffect.Proc(), ActEffect.Proc(), CoreDebug.QuickStart(), Chara.Refresh(), Chara.RefreshSpeed(), Chara.RequestProtection(), ActRide.Ride(), AI_Idle.Run(), AI_Slaughter.Run(), GoalCombat.Run(), Weather.SetCondition(), SpawnLoot(), ConSleep.SuccubusVisit(), DramaActor.Talk(), ActThrow.Throw(), ConSuffocation.Tick(), Chara.TickConditions(), CalcPlat.Train(), TaskHarvest.TryGetAct(), ThingGen.TryLickChest(), Chara.TryNullifyCurse(), HotItemHeld.TrySetToolAct(), GoalCombat.TryThrow(), GoalCombat.TryUseAbility(), and CharaBody.Unequip().

◆ HasElement() [2/2]

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

Definition at line 5400 of file Card.cs.

5401 {
5402 return HasElement(EClass.sources.elements.alias[id].id, req);
5403 }

References SourceManager.elements, and EClass.sources.

◆ HasGlobalElement()

bool Card.HasGlobalElement ( int  ele)
inline

Definition at line 5405 of file Card.cs.

5406 {
5407 return elements.GetElement(ele)?.IsGlobalElement ?? false;
5408 }
Element GetElement(string alias)
bool IsGlobalElement
Definition: ELEMENT.cs:341

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

Referenced by Evalue().

◆ HasLight()

bool Card.HasLight ( )
inline

Definition at line 5811 of file Card.cs.

5812 {
5813 return GetLightRadius() > 0;
5814 }

◆ HasRune()

bool Card.HasRune ( )
inline

Definition at line 3478 of file Card.cs.

3479 {
3480 return CountRune() > 0;
3481 }

References CountRune().

Referenced by TraitKettle.CanCopy().

◆ HasTag()

◆ HasTalk()

bool Card.HasTalk ( string  idTopic)
inline

Definition at line 6130 of file Card.cs.

6131 {
6132 return !MOD.listTalk.GetTalk(c_idTalk.IsEmpty(id), idTopic, useDefault: true).IsEmpty();
6133 }

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

◆ HaveFur()

bool Card.HaveFur ( )
inline

Definition at line 7230 of file Card.cs.

7231 {
7232 if (!isChara)
7233 {
7234 return false;
7235 }
7236 string text = id;
7237 if (text == "putty_snow" || text == "putty_snow_gold")
7238 {
7239 return true;
7240 }
7241 return !Chara.race.fur.IsEmpty();
7242 }

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

3751 {
3752 long num = a;
3753 if (origin == HealSource.Magic)
3754 {
3755 num = (long)a * (long)Mathf.Max(100 - Evalue(93), 1) / 100;
3756 }
3757 if (num > 100000000)
3758 {
3759 num = 100000000L;
3760 }
3761 hp += (int)num;
3762 if (hp > MaxHP)
3763 {
3764 hp = MaxHP;
3765 }
3766 switch (origin)
3767 {
3768 case HealSource.Magic:
3769 case HealSource.Item:
3770 PlaySound("heal");
3771 PlayEffect("heal");
3772 break;
3773 case HealSource.HOT:
3774 PlaySound("heal_tick");
3775 PlayEffect("heal_tick");
3776 break;
3777 }
3778 }
HealSource
Definition: HealSource.cs:2

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

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

◆ HealHPHost()

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

Definition at line 3734 of file Card.cs.

3735 {
3736 if (isChara)
3737 {
3738 if (Chara.parasite != null)
3739 {
3741 }
3742 if (Chara.ride != null)
3743 {
3744 Chara.ride.HealHP(a);
3745 }
3746 }
3747 HealHP(a, origin);
3748 }
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 7210 of file Card.cs.

7211 {
7212 SE.Play("pop_paper");
7213 if (isChara)
7214 {
7215 LayerChara layerChara = EClass.ui.AddLayerDontCloseOthers<LayerChara>();
7216 layerChara.windows[0].SetRect(EClass.core.refs.rects.center);
7217 layerChara.SetChara(Chara);
7218 }
7219 else
7220 {
7221 EClass.ui.AddLayerDontCloseOthers<LayerInfo>().SetThing(Thing);
7222 }
7223 }
RectData center
Definition: CoreRef.cs:164
Rects rects
Definition: CoreRef.cs:347
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 2561 of file Card.cs.

2562 {
2563 return GetRootCard() == c;
2564 }

References GetRootCard().

Referenced by AI_OpenGambleChest.IsValid().

◆ IsExcludeFromCraft()

bool Card.IsExcludeFromCraft ( )
inline

Definition at line 2429 of file Card.cs.

2430 {
2431 if (IsUnique || c_isImportant)
2432 {
2433 return true;
2434 }
2435 if (parent is Card card)
2436 {
2437 if (card.trait is TraitChestMerchant)
2438 {
2439 return true;
2440 }
2441 if (card.isSale || !card.trait.CanUseContent)
2442 {
2443 return true;
2444 }
2445 Window.SaveData windowSaveData = card.GetWindowSaveData();
2446 if (windowSaveData != null)
2447 {
2448 return windowSaveData.excludeCraft;
2449 }
2450 }
2451 return false;
2452 }
bool c_isImportant
Definition: Card.cs:984
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 7069 of file Card.cs.

7070 {
7071 return pos.Distance(EClass.pc.pos) < d;
7072 }

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

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

◆ IsStackable()

bool Card.IsStackable ( Thing  tg)
inline

Definition at line 3226 of file Card.cs.

3227 {
3228 if (id != tg.id || material != tg.material)
3229 {
3230 return false;
3231 }
3232 return true;
3233 }

References id, and material.

◆ KillAnime()

void Card.KillAnime ( )
inline

Definition at line 5599 of file Card.cs.

5600 {
5602 }
virtual void KillAnime()

References CardRenderer.KillAnime().

Referenced by ActThrow.Throw().

◆ LevelUp()

void Card.LevelUp ( )
inline

Definition at line 2839 of file Card.cs.

2840 {
2841 if (IsPC)
2842 {
2844 {
2845 Msg.Say("demoLimit");
2846 return;
2847 }
2849 Tutorial.Reserve("feat");
2850 }
2851 feat++;
2852 LV++;
2853 Say("dingExp", this);
2854 PlaySound("jingle_lvup");
2855 PlayEffect("aura_heaven");
2856 if (HasElement(1415) && Evalue(1415) < 9 && LV >= Evalue(1415) * 5 + 10)
2857 {
2858 Chara.SetFeat(1415, Evalue(1415) + 1, msg: true);
2859 }
2860 if (IsPC)
2861 {
2862 return;
2863 }
2864 if (Chara.race.id == "mutant")
2865 {
2866 int num = Mathf.Min(1 + LV / 5, 22);
2867 for (int i = 0; i < num; i++)
2868 {
2869 if (Evalue(1644) < i + 1)
2870 {
2871 Chara.SetFeat(1644, i + 1);
2872 }
2873 }
2874 }
2875 Chara.TryUpgrade();
2876 }
Version version
Definition: BaseCore.cs:17
int feat
Definition: Card.cs:358
void SetFeat(int id, int value=1, bool msg=false)
Definition: Chara.cs:9063
void TryUpgrade(bool msg=true)
Definition: Chara.cs:7894
int totalFeat
Definition: Player.cs:724
static void Reserve(string idStep, Action onBeforePlay=null)
Definition: Tutorial.cs:55
bool demo
Definition: Version.cs:14

References EClass.core, Version.demo, Evalue(), feat, HasElement(), IsPC, LV, PlayEffect(), EClass.player, PlaySound(), Chara.race, Tutorial.Reserve(), Msg.Say(), Say(), Chara.SetFeat(), Player.totalFeat, Chara.TryUpgrade(), and BaseCore.version.

Referenced by AddExp().

◆ ListCraftBonusTraits()

List< Element > Card.ListCraftBonusTraits ( )
inline

Definition at line 6367 of file Card.cs.

6368 {
6369 List<Element> list = new List<Element>();
6370 string[] tag = sourceCard.tag;
6371 for (int i = 0; i < tag.Length; i++)
6372 {
6373 string[] array = tag[i].Split('/');
6374 if (!(array[0] != "craft_bonus"))
6375 {
6376 Element item = Element.Create(array[1], array[2].ToInt());
6377 list.Add(item);
6378 }
6379 }
6380 return list;
6381 }

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

5653 {
5654 }

Referenced by ActThrow.Throw().

◆ LookAt() [2/2]

virtual void Card.LookAt ( Point  p)
inlinevirtual

Reimplemented in Chara.

Definition at line 5656 of file Card.cs.

5657 {
5658 }

◆ MakeFigureFrom()

void Card.MakeFigureFrom ( string  id)
inline

Definition at line 5269 of file Card.cs.

5270 {
5271 MakeRefFrom(id);
5272 }
void MakeRefFrom(string id)
Definition: Card.cs:5274

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

◆ MakeFoodFrom() [1/2]

Card Card.MakeFoodFrom ( Card  c)
inline

Definition at line 5092 of file Card.cs.

5093 {
5094 MakeRefFrom(c);
5096 SourceRace.Row race = c.Chara.race;
5097 int num = race.food[0].ToInt();
5098 bool flag = id == "meat_marble";
5099 int num2 = 1;
5100 bool flag2 = category.IsChildOf("meat");
5101 bool flag3 = category.IsChildOf("egg");
5102 if (flag)
5103 {
5104 num += 100;
5105 }
5106 if (flag2)
5107 {
5108 if (c.IsPCFaction && c.IsUnique)
5109 {
5110 num = -100;
5111 }
5112 elements.SetBase(70, race.STR * race.STR / 5 * num / 100 - 10 + num / 10);
5113 if (flag)
5114 {
5115 elements.SetBase(440, race.END * race.END / 5 * num / 100 - 10 + num / 10);
5116 }
5117 elements.SetBase(71, (int)Mathf.Clamp((float)(num / 10) + Mathf.Sqrt(race.height) - 10f, 1f, 60f));
5118 }
5119 else if (flag3)
5120 {
5121 elements.SetBase(444, race.LER * race.LER / 5 * num / 100 - 10 + num / 10);
5122 num2 = 2;
5123 }
5124 else
5125 {
5126 num2 = 3;
5127 }
5128 if (flag2)
5129 {
5130 if (race.IsHuman)
5131 {
5132 elements.SetBase(708, 1);
5133 }
5134 if (race.IsUndead)
5135 {
5136 elements.SetBase(709, 1);
5137 }
5138 }
5139 foreach (Element value in c.elements.dict.Values)
5140 {
5141 if ((!flag3 || value.id != 1229) && (value.source.category == "food" || value.source.tag.Contains("foodEnc") || value.IsTrait))
5142 {
5143 elements.SetBase(value.id, value.Value);
5144 }
5145 }
5146 List<Tuple<int, int>> list = new List<Tuple<int, int>>();
5147 foreach (KeyValuePair<int, int> item in race.elementMap)
5148 {
5149 if (EClass.sources.elements.map[item.Key].tag.Contains("primary"))
5150 {
5151 list.Add(new Tuple<int, int>(item.Key, item.Value));
5152 }
5153 }
5154 list.Sort((Tuple<int, int> a, Tuple<int, int> b) => b.Item2 - a.Item2);
5155 for (int i = 0; i < num2 && i < list.Count; i++)
5156 {
5157 Tuple<int, int> tuple = list[i];
5158 elements.SetBase(tuple.Item1, tuple.Item2 * tuple.Item2 / 4);
5159 }
5160 if (race.IsUndead)
5161 {
5162 elements.ModBase(73, -20);
5163 }
5164 isWeightChanged = true;
5165 c_weight = race.height * 4 + 100;
5168 int num3 = c.LV - c.sourceCard.LV;
5169 if (num3 < 0)
5170 {
5171 num3 = 0;
5172 }
5173 num3 = EClass.curve(num3, 10, 10, 80);
5174 if (c.rarity >= Rarity.Legendary || c.IsUnique)
5175 {
5176 num3 += 60;
5177 }
5178 if (flag2 && c.IsPCFaction && c.IsUnique)
5179 {
5180 num3 = 0;
5181 }
5182 if (num3 > 0)
5183 {
5184 elements.ModBase(2, num3);
5185 }
5186 return this;
5187 }
int c_idMainElement
Definition: Card.cs:1361
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:3642
Element SetBase(string alias, int v, int potential=0)
int Value
Definition: ELEMENT.cs:288
bool IsTrait
Definition: ELEMENT.cs:358
int LV
Definition: RenderRow.cs:22
string[] food
Definition: SourceRace.cs:89
Dictionary< int, int > elementMap
Definition: SourceRace.cs:99

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

◆ MakeFoodFrom() [2/2]

Card Card.MakeFoodFrom ( string  _id)
inline

Definition at line 5087 of file Card.cs.

5088 {
5089 return MakeFoodFrom(EClass.sources.cards.map[_id].model);
5090 }
Card MakeFoodFrom(string _id)
Definition: Card.cs:5087
Dictionary< string, CardRow > map
Definition: SourceCard.cs:8
SourceCard cards

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

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

◆ MakeFoodRef()

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

Definition at line 5189 of file Card.cs.

5190 {
5191 Card card = c1;
5192 Card card2 = c2;
5193 if (IsIgnoreName(card))
5194 {
5195 card = null;
5196 }
5197 if (IsIgnoreName(card2))
5198 {
5199 card2 = null;
5200 }
5201 if (card == null && card2 != null)
5202 {
5203 card = card2;
5204 card2 = null;
5205 }
5206 if (card != null)
5207 {
5208 MakeRefFrom(card, card2);
5209 if (card.c_idRefCard != null)
5210 {
5211 c_idRefCard = card.c_idRefCard;
5213 }
5214 if (card2 != null && card2.c_idRefCard != null)
5215 {
5216 c_idRefCard2 = card2.c_idRefCard;
5217 c_altName2 = TryGetFoodName(card2);
5218 }
5219 }
5220 static bool IsIgnoreName(Card c)
5221 {
5222 if (c == null)
5223 {
5224 return true;
5225 }
5226 switch (c.id)
5227 {
5228 case "dough_cake":
5229 case "dough_bread":
5230 case "noodle":
5231 case "flour":
5232 case "rice":
5233 return true;
5234 default:
5235 return false;
5236 }
5237 }
5238 }
string c_altName
Definition: Card.cs:1517
string TryGetFoodName(Card c)
Definition: Card.cs:5240
string c_altName2
Definition: Card.cs:1529
string c_idRefCard2
Definition: Card.cs:1673
string c_idRefCard
Definition: Card.cs:1661

References c_idRefCard, card, and id.

Referenced by TraitBrewery.OnChildDecay().

◆ MakeRefFrom() [1/2]

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

Definition at line 5279 of file Card.cs.

5280 {
5281 c_idRefCard = c1.id;
5282 c_altName = (c1.IsPC ? c1.c_altName : c1.GetName(NameStyle.Ref, (!c1.isChara) ? 1 : 0));
5283 if (c2 != null)
5284 {
5285 c_idRefCard2 = c2.id;
5286 c_altName2 = (c2.IsPC ? c2.c_altName : c2.GetName(NameStyle.Ref, (!c2.isChara) ? 1 : 0));
5287 }
5288 c_extraNameRef = (c1.IsPC ? EClass.pc.c_altName : c1.c_extraNameRef);
5289 }
NameStyle
Definition: NameStyle.cs:2
virtual string GetName(NameStyle style, int num=-1)
Definition: Card.cs:2515
string c_extraNameRef
Definition: Card.cs:1541

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

◆ MakeRefFrom() [2/2]

void Card.MakeRefFrom ( string  id)
inline

◆ MatchEncSearch()

virtual bool Card.MatchEncSearch ( string  s)
inlinevirtual

Reimplemented in Thing.

Definition at line 7100 of file Card.cs.

7101 {
7102 return false;
7103 }

◆ MaxRune()

int Card.MaxRune ( )
inline

Definition at line 3446 of file Card.cs.

3447 {
3448 return ((!IsUnique) ? 1 : 0) + Evalue(484);
3449 }

References Evalue(), and IsUnique.

Referenced by CanAddRune().

◆ Mod()

void Card.Mod ( )
inline

Definition at line 2411 of file Card.cs.

2412 {
2413 isModified = true;
2414 }
bool isModified
Definition: Card.cs:442

References isModified.

◆ ModCharge()

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

Definition at line 3697 of file Card.cs.

3698 {
3699 c_charges += a;
3701 if (c_charges <= 0 && destroy)
3702 {
3703 Say("spellbookCrumble", this);
3704 ModNum(-1);
3705 }
3706 }
void ModNum(int a, bool notify=true)
Definition: Card.cs:3306

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

3709 {
3710 if (a != 0)
3711 {
3712 if (id == "influence")
3713 {
3715 return;
3716 }
3717 SourceMaterial.Row mat = null;
3718 things.AddCurrency(this, id, a, mat);
3719 }
3720 }
void AddCurrency(Card owner, string id, int a, SourceMaterial.Row mat=null)
void ModInfluence(int a)
Definition: Zone.cs:3321

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

3594 {
3595 ApplyMaterialElements(remove: true);
3596 encLV += a;
3597 ApplyMaterialElements(remove: false);
3599 {
3600 if (IsWeapon || IsAmmo)
3601 {
3602 elements.ModBase(67, a);
3603 }
3604 else
3605 {
3606 elements.ModBase(65, a * 2);
3607 }
3608 }
3609 }
bool IsAmmo
Definition: Card.cs:2147

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

2554 {
2555 if (isChara)
2556 {
2557 elements.ModExp(ele, a);
2558 }
2559 }

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

◆ ModExp() [2/2]

◆ ModNum()

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

Definition at line 3306 of file Card.cs.

3307 {
3308 if (Num + a < 0)
3309 {
3310 a = -Num;
3311 }
3312 Num += a;
3313 if (props != null)
3314 {
3315 props.OnNumChange(this, a);
3316 }
3317 if (parent != null)
3318 {
3320 }
3321 if (a > 0 && EClass.core.IsGameStarted && GetRootCard() == EClass.pc && notify)
3322 {
3324 }
3326 if (Num <= 0)
3327 {
3328 Destroy();
3329 }
3330 }
Props props
Definition: Card.cs:47
void OnNumChange(Card c, int a)
Definition: Props.cs:160
void OnChildNumChange(Card c)

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

Referenced by InvOwnerChangeMaterial._OnProcess(), InvOwnerChaosOffering._OnProcess(), InvOwnerMod._OnProcess(), ThingContainer.AddCurrency(), DramaOutcome.chara_hired_ticket(), TraitCrafter.Craft(), SourceMaterial.Row.CreateByProduct(), FactionBranch.DailyOutcome(), Chara.Drink(), TraitDye.Dye(), HitSummary.Execute(), Chara.GiveGift(), DramaOutcome.guild_mageTrial(), TraitBaseSpellbook.ModCharge(), ModCharge(), TraitDreamBug.OnBlend(), TraitDrink.OnBlend(), TraitWell.OnBlend(), TaskChopWood.OnCreateProgress(), DragItemCard.OnDragSpecial(), AI_Fish.ProgressFish.OnProgressComplete(), TaskBuild.OnProgressComplete(), TraitBookSecret.OnRead(), TraitDeed.OnRead(), TraitDeedRelocate.OnRead(), TraitDiary.OnRead(), TraitIndulgence.OnRead(), TraitLicense.OnRead(), TraitRecipe.OnRead(), TraitRecipeCat.OnRead(), TraitScrollMap.OnRead(), TraitScrollStatic.OnRead(), TraitFirework.OnUse(), TraitGainPrecious.OnUse(), TraitGiftJure.OnUse(), TraitGiftNewYear.OnUse(), TraitGiftPack.OnUse(), TraitGoodsCoin.OnUse(), TraitItemProc.OnUse(), TraitParcel.OnUse(), TraitPlamoBox.OnUse(), TraitTape.OnUse(), TraitWaystone.OnUse(), TraitPotionEmpty.OnUse(), LayerGacha.PlayGacha(), AI_Eat.Run(), AI_Idle.Run(), AI_OpenGambleChest.Run(), SetNum(), CoreDebug.SetStartStockpile(), Split(), TraitWaystone.TrySetAct(), TraitSyringeGene.TrySetHeldAct(), TraitSyringeHeaven.TrySetHeldAct(), TraitToolTorch.TrySetHeldAct(), TryStackTo(), and TraitFoodEgg.Update().

◆ MoveImmediate()

void Card.MoveImmediate ( Point  p,
bool  focus = true,
bool  cancelAI = true 
)
inline

Definition at line 5308 of file Card.cs.

5309 {
5310 if (p == null)
5311 {
5312 return;
5313 }
5314 EClass._map.MoveCard(p, this);
5315 if (!IsPC || focus)
5316 {
5317 renderer.SetFirst(first: true, p.PositionCenter());
5318 }
5319 if (isChara)
5320 {
5321 if (cancelAI)
5322 {
5323 Chara.ai.Cancel();
5324 }
5325 Chara.SyncRide();
5326 }
5327 if (IsPC && focus)
5328 {
5331 }
5332 }
virtual Status Cancel()
Definition: AIAct.cs:291
virtual void RefreshPosition()
virtual void SetFirst(bool first, Vector3 pos)
static BaseGameScreen screen
Definition: EClass.cs:32
ref Vector3 PositionCenter()
Definition: Point.cs:575

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

Referenced by Chara.Kick(), FactionBranch.OnActivateZone(), FactionBranch.OnAfterSimulate(), GoalGraze.OnSimulatePosition(), GoalSleep.OnSimulatePosition(), GoalWork.OnSimulatePosition(), TraitShackle.OnUse(), ActRush.Perform(), LayerTravel.Refresh(), AI_Trolley.Run(), Meeting.SetChara(), MeetingManager.Start(), ConSleep.Tick(), and ActRide.Unride().

◆ NotifyAddThing()

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

Definition at line 2946 of file Card.cs.

2947 {
2948 }

Referenced by AddThing(), and ModNum().

◆ OnBeforeCreate()

virtual void Card.OnBeforeCreate ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 2726 of file Card.cs.

2727 {
2728 }

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

2731 {
2732 }

Referenced by Create().

◆ OnDeserialized()

virtual void Card.OnDeserialized ( )
inlineprotectedvirtual

Reimplemented in Chara.

Definition at line 2614 of file Card.cs.

2615 {
2616 }

Referenced by _OnDeserialized().

◆ OnInspect()

void Card.OnInspect ( )
inline

Implements IInspect.

Definition at line 7202 of file Card.cs.

7203 {
7204 }

◆ OnLand()

virtual void Card.OnLand ( )
inlinevirtual

Definition at line 5376 of file Card.cs.

5377 {
5379 {
5380 PlayEffect("ripple");
5381 PlaySound("Footstep/water");
5382 }
5383 }
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 2586 of file Card.cs.

2587 {
2588 }

Referenced by _OnSerializing().

◆ OnSimulateHour()

virtual void Card.OnSimulateHour ( VirtualDate  date)
inlinevirtual

Definition at line 6006 of file Card.cs.

6007 {
6008 trait.OnSimulateHour(date);
6009 if (date.IsRealTime)
6010 {
6011 DecayNatural();
6012 }
6013 }
virtual void OnSimulateHour(VirtualDate date)
Definition: Trait.cs:680
bool IsRealTime
Definition: VirtualDate.cs:7

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

Referenced by Zone.OnSimulateHour().

◆ PlayAnime() [1/2]

◆ PlayAnime() [2/2]

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

Definition at line 5609 of file Card.cs.

5610 {
5611 renderer.PlayAnime(id, dest);
5612 }

References CardRenderer.PlayAnime().

◆ PlayAnimeLoot()

void Card.PlayAnimeLoot ( )
inline

Definition at line 5614 of file Card.cs.

5615 {
5617 }

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

5630 {
5631 Effect effect = Effect.Get("Element/" + EClass.sources.elements.map[ele].alias);
5632 if (effect == null)
5633 {
5634 Debug.Log(ele);
5635 return;
5636 }
5637 Card rootCard = GetRootCard();
5638 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));
5639 }
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 5619 of file Card.cs.

5620 {
5621 if (id.IsEmpty())
5622 {
5623 return null;
5624 }
5625 Card rootCard = GetRootCard();
5626 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));
5627 }

References Effect._Play(), Effect.Get(), pos, CardRenderer.position, Point.Position(), Rand.Range(), and renderer.

Referenced by InvOwnerChaosOffering._OnProcess(), InvOwnerGene._OnProcess(), InvOwnerMod._OnProcess(), TraitShrine._OnUse(), TraitCrafter.Craft(), ActEffect.DamageEle(), DamageHP(), AI_Fuck.Finish(), AI_Massage.Finish(), Chara.GiveGift(), HealHP(), Religion.JoinFaith(), Chara.Kick(), LevelUp(), AI_Fish.Makefish(), TraitTrap.OnActivateTrap(), TraitDrinkMilkMother.OnDrink(), TraitAltar.OnOffer(), TraitBookSecret.OnRead(), TraitDiary.OnRead(), TraitIndulgence.OnRead(), TraitScrollStatic.OnRead(), TraitFertilizer.OnSimulateHour(), Scene.OnUpdate(), TraitDaggerGrave.OnUse(), TraitGiftJure.OnUse(), TraitPowerStatue.OnUse(), ActZap.Perform(), BaseCondition.PlayEffect(), ConBuffStats.PlayEffect(), BaseCondition.PlayEndEffect(), AttackProcess.PlayRangedAnime(), ActPray.Pray(), AI_Pray.Pray(), ActEffect.Proc(), ActEffect.ProcAt(), Religion.Reforge(), GoalCombat.Run(), TraitAltar.TakeOver(), ActThrow.Throw(), ConBurning.Tick(), Religion.TryGetGift(), ActPray.TryPray(), Chara.TryPush(), TraitFoodEgg.Update(), CoreDebug.UpdateInput(), and FactionBranch.Upgrade().

◆ PlaySound()

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

Definition at line 5585 of file Card.cs.

5586 {
5587 Card rootCard = GetRootCard();
5588 if (rootCard.IsPC)
5589 {
5590 spatial = false;
5591 }
5592 if (rootCard.Dist(EClass.pc) < EClass.player.lightRadius + 1 || !spatial)
5593 {
5594 return rootCard.pos.PlaySound(id, isSynced || !spatial, v, spatial);
5595 }
5596 return null;
5597 }

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

Referenced by Chara._Move(), RecipeManager.Add(), Chara.AddRandomBodyPart(), ActMelee.Attack(), Core.Awake(), Recipe.Build(), RecipeCard.Build(), AI_Shopping.Buy(), Zone.ClaimZone(), Trait.CookProgress(), TraitCrafter.Craft(), AI_OpenLock.CreateProgress(), ActEffect.DamageEle(), TraitDye.Dye(), CharaBody.Equip(), AI_Fuck.Finish(), AI_Massage.Finish(), Chara.GiveGift(), Chara.GiveLovePotion(), HealHP(), TraitChopper.IdleUse(), TraitGamble.IdleUse(), Trait.Install(), LevelUp(), TraitSeed.MakeSeed(), TraitNewZone.MoveZone(), Trait.Offer(), TraitChangingRoom.OnActivateTrap(), TraitSeesaw.OnActivateTrap(), TraitTrap.OnActivateTrap(), AIWork_Lumberjack.OnCreateProgress(), AIWork_Research.OnCreateProgress(), TaskDig.OnCreateProgress(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), TraitDrinkMilkMother.OnDrink(), Affinity.OnGift(), ElementContainerCard.OnModTempPotential(), TraitAltar.OnOffer(), TraitDoorBell.OnOpenDoor(), AI_Farm.OnProgress(), AI_Fish.ProgressFish.OnProgress(), AI_Water.OnProgress(), TaskCraft.OnProgress(), AI_Fish.ProgressFish.OnProgressComplete(), AI_Water.OnProgressComplete(), TaskBuild.OnProgressComplete(), TraitBaseSpellbook.OnRead(), TraitBookSecret.OnRead(), TraitDeedRelocate.OnRead(), TraitDiary.OnRead(), TraitIndulgence.OnRead(), ConSleep.OnRemoved(), TraitJukeBox.OnSetBGM(), TraitToolTorch.OnSetCurrentItem(), TraitClock.OnSimulateHour(), TraitFertilizer.OnSimulateHour(), AI_Fish.ProgressFish.OnStart(), TraitMiniPool.OnStepped(), TraitSwing.OnSteppedOut(), TraitLeverBreaker.OnToggle(), Scene.OnUpdate(), TraitDaggerGrave.OnUse(), TraitEquipItem.OnUse(), TraitGeneMachine.OnUse(), TraitGiftJure.OnUse(), TraitStairsLocked.OnUse(), TraitWhistlePeace.OnUse(), TraitFoodMeat.OnUse(), DramaManager.ParseLine(), ActBash.Perform(), ActDrawWater.Perform(), ActDreamBug.Perform(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.Perform(), ActWater.Perform(), ActZap.Perform(), AttackProcess.Perform(), BaseCondition.PlayEffect(), ConBuffStats.PlayEffect(), BaseCondition.PlayEndEffect(), AttackProcess.PlayRangedAnime(), Trait.PlayToggleEffect(), AI_Pray.Pray(), FoodEffect.Proc(), ActEffect.Proc(), ActEffect.ProcAt(), TraitBaseSpellbook.ReadFailEffect(), TraitGenerator.Recover(), Chara.RemoveLastBodyPart(), ActRide.Ride(), AI_Bladder.Run(), AI_Clean.Run(), AI_Craft_Snowman.Run(), AI_Deconstruct.Run(), AI_Eat.Run(), AI_Fuck.Run(), AI_HaulResource.Run(), AI_Idle.Run(), AI_OpenGambleChest.Run(), AI_Paint.Run(), AI_PlayMusic.Run(), AI_Read.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_Trolley.Run(), AI_UseCrafter.Run(), GoalCombat.Run(), TaskClean.Run(), TaskCullLife.Run(), TaskWater.Run(), TraitDetector.Search(), ActWait.SearchMedal(), LayerPixelPaint.SetCanvas(), TraitGenerator.ShortOut(), ActThrow.Throw(), ConBurning.Tick(), Trait.Toggle(), TraitDoor.ToggleDoor(), TraitDoorSwing.ToggleDoor(), TraitToolTorch.ToggleOn(), TraitSwitch.TryDisarmTrap(), Trait.TryOpenLock(), ActPray.TryPray(), Chara.TryPush(), AI_Shopping.TryRestock(), TraitWell.TrySetAct(), Trait.Uninstall(), ActRide.Unride(), TraitFoodEgg.Update(), and CoreDebug.UpdateInput().

◆ PlaySoundDead()

void Card.PlaySoundDead ( bool  spatial = true)
inline

Definition at line 5580 of file Card.cs.

5581 {
5582 PlaySound(material.GetSoundDead(sourceCard), 1f, spatial);
5583 }

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

5566 {
5567 PlaySound(material.GetSoundDrop(sourceCard), 1f, spatial);
5568 }

References material.

◆ PlaySoundImpact()

void Card.PlaySoundImpact ( bool  spatial = true)
inline

Definition at line 5575 of file Card.cs.

5576 {
5577 PlaySound(material.GetSoundImpact(sourceCard), 1f, spatial);
5578 }

References material.

Referenced by TaskChopWood.OnCreateProgress().

◆ PurgeDuplicateArtifact()

void Card.PurgeDuplicateArtifact ( Thing  af)
inline

Definition at line 3068 of file Card.cs.

3069 {
3070 List<Chara> list = new List<Chara>();
3071 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
3072 {
3073 foreach (Chara member in child.members)
3074 {
3075 list.Add(member);
3076 }
3077 }
3078 foreach (Chara chara in EClass._map.charas)
3079 {
3080 list.Add(chara);
3081 }
3082 foreach (Chara item in list)
3083 {
3084 if (!item.IsPCFactionOrMinion)
3085 {
3086 continue;
3087 }
3088 List<Thing> list2 = item.things.List((Thing t) => t.id == af.id && t != af);
3089 if (list2.Count == 0)
3090 {
3091 continue;
3092 }
3093 foreach (Thing item2 in list2)
3094 {
3095 Msg.Say("destroyed_inv_", item2, item);
3096 item2.Destroy();
3097 }
3098 }
3099 }
Faction faction
Definition: Chara.cs:417
List< Chara > members
List< FactionBranch > GetChildren()
Definition: FACTION.cs:200

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

2619 {
2620 return "c" + uid;
2621 }

References uid.

◆ RefreshColor()

void Card.RefreshColor ( )
inline

Definition at line 5460 of file Card.cs.

5461 {
5462 if (isChara)
5463 {
5464 if (isDyed)
5465 {
5467 }
5468 else if (isElemental)
5469 {
5471 }
5472 else
5473 {
5474 _colorInt = 104025;
5475 }
5476 }
5477 else if (isDyed)
5478 {
5480 }
5482 {
5484 }
5486 {
5488 }
5489 else
5490 {
5492 }
5493 }
static int GetColorInt(ref Color matColor, int p)
bool isElemental
Definition: Card.cs:694
SourceMaterial.Row DyeMat
Definition: Card.cs:1840
virtual CardRow sourceRenderCard
Definition: Card.cs:2033
ref Color GetRandomColor()
Definition: Card.cs:5495
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 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 6436 of file Card.cs.

6437 {
6438 if (c_idBacker == 164)
6439 {
6440 Chara.things.Find("amulet_moonnight")?.Destroy();
6441 }
6442 c_idBacker = 0;
6443 }

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

2942 {
2943 RemoveThing(c as Thing);
2944 }
void RemoveThing(Thing thing)
Definition: Card.cs:3109

References RemoveThing().

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

◆ RemoveEditorTag()

void Card.RemoveEditorTag ( EditorTag  tag)
inline

Definition at line 2510 of file Card.cs.

2511 {
2512 c_editorTags = (c_editorTags.IsEmpty() ? null : c_editorTags.Replace(tag.ToString(), "").Replace(",,", ","));
2513 }

References c_editorTags.

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

◆ RemoveThing()

void Card.RemoveThing ( Thing  thing)
inline

Definition at line 3109 of file Card.cs.

3110 {
3111 Card rootCard = GetRootCard();
3112 if (rootCard != null && rootCard.isChara && (rootCard.Chara.held == thing || (rootCard.IsPC && thing.things.Find((Thing t) => EClass.pc.held == t) != null)))
3113 {
3114 rootCard.Chara.held = null;
3115 if (rootCard.IsPC)
3116 {
3118 if ((bool)instance && instance.selected != -1 && instance.selectedButton.card != null && instance.selectedButton.card == thing)
3119 {
3120 instance.selectedButton.card = null;
3121 }
3123 ActionMode.AdvOrRegion.updatePlans = true;
3124 LayerInventory.SetDirty(thing);
3125 }
3127 }
3128 dirtyWeight = true;
3129 if (thing.c_equippedSlot != 0 && isChara)
3130 {
3131 Chara.body.Unequip(thing);
3132 }
3133 things.Remove(thing);
3134 things.OnRemove(thing);
3135 if (isSale && things.Count == 0 && IsContainer)
3136 {
3137 isSale = false;
3138 EClass._map.props.sales.Remove(this);
3139 }
3140 if (thing.invY == 1)
3141 {
3142 WidgetCurrentTool.dirty = true;
3143 }
3144 thing.invX = -1;
3145 thing.invY = 0;
3146 if (thing.props != null)
3147 {
3148 thing.props.Remove(thing);
3149 }
3152 {
3153 LayerInventory.SetDirty(thing);
3154 WidgetHotbar.dirtyCurrentItem = true;
3155 thing.parent = null;
3156 if (thing.trait.IsContainer)
3157 {
3158 foreach (LayerInventory item in LayerInventory.listInv.Copy())
3159 {
3160 if (item.invs[0].owner.Container.GetRootCard() != EClass.pc && item.floatInv)
3161 {
3162 EClass.ui.layerFloat.RemoveLayer(item);
3163 }
3164 }
3165 }
3166 }
3167 thing.parent = null;
3168 }
Card card
Definition: ButtonGrid.cs:24
int c_equippedSlot
Definition: Card.cs:912
int invY
Definition: Card.cs:1855
bool isSale
Definition: Card.cs:838
void RecalculateFOV()
Definition: Card.cs:5797
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:1993
List< Card > sales
Definition: PropsManager.cs:14
void Remove(Card t)
Definition: Props.cs:115
void OnRemove(Thing t)
virtual bool IsContainer
Definition: Trait.cs:209
static WidgetCurrentTool Instance
ButtonGrid selectedButton

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

Referenced by RemoveCard(), and RemoveThings().

◆ RemoveThings()

void Card.RemoveThings ( )
inline

Definition at line 3101 of file Card.cs.

3102 {
3103 for (int num = things.Count - 1; num >= 0; num--)
3104 {
3105 RemoveThing(things[num]);
3106 }
3107 }

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

5734 {
5735 if (dir != -1)
5736 {
5737 this.dir = dir;
5738 }
5739 Vector3 v = point.Position();
5740 bool skipRender = point.cell.skipRender;
5741 if (result != 0 && EClass.screen.guide.isActive && !skipRender)
5742 {
5743 EClass.screen.guide.passGuideBlock.Add(ref v, (point.HasObj || point.HasChara) ? 5 : 0);
5744 }
5745 if (!main)
5746 {
5747 return;
5748 }
5749 RenderParam renderParam = GetRenderParam();
5751 {
5752 renderParam.x = v.x;
5753 renderParam.y = v.y;
5754 renderParam.z = v.z;
5755 EClass.screen.tileMap.SetRoofHeight(renderParam, point.cell, point.x, point.z);
5756 v.x = renderParam.x;
5757 v.y = renderParam.y;
5758 v.z = renderParam.z;
5759 }
5761 {
5762 TileType.GetMountHeight(ref v, point, this.dir, this);
5763 }
5764 v.z += EClass.setting.render.thingZ;
5765 if (!skipRender)
5766 {
5767 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
5768 if (freePos)
5769 {
5770 v.x += fx;
5771 v.y += fy;
5772 v.z += thingPosition.z;
5773 }
5774 else
5775 {
5776 v += thingPosition;
5777 }
5778 }
5779 if (useCurrentPosition)
5780 {
5781 v = renderer.position;
5782 v.z += -0.01f;
5783 }
5784 if (TileType == TileType.Door)
5785 {
5786 v.z -= 0.5f;
5787 }
5788 renderParam.matColor = (active ? EClass.Colors.blockColors.Active : EClass.Colors.blockColors.Inactive);
5789 point.ApplyAnime(ref v);
5790 if (renderer.hasActor)
5791 {
5793 }
5794 renderer.Draw(renderParam, ref v, drawShadow: false);
5795 }
virtual bool IsRoofEditMode(Card c=null)
Definition: ActionMode.cs:311
ScreenGuide guide
BaseTileMap tileMap
void SetRoofHeight(MeshPassParam _param, Cell _cell, int _cx, int _cz, int h=0, int altitude=0, int dirWall=-1, bool ignoreAltitudeY=false)
Vector3 GetThingPosition(Card tg, Point p)
virtual void RefreshSprite()
Definition: CardActor.cs:224
override void Draw(RenderParam p)
Definition: CardRenderer.cs:49
CardActor actor
Definition: CardRenderer.cs:11
float fy
Definition: Card.cs:250
float fx
Definition: Card.cs:238
RenderParam GetRenderParam()
Definition: Card.cs:5429
bool freePos
Definition: Card.cs:490
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:1301
bool HasObj
Definition: Point.cs:137
bool HasChara
Definition: Point.cs:226
ActionMode actionMode
Definition: Scene.cs:77
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:367
virtual bool UseMountHeight
Definition: TileType.cs:209
static TileTypeDoor Door
Definition: TileType.cs:91

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

5391 {
5392 return Element.GetResistLv(Evalue(res));
5393 }
static int GetResistLv(int v)
Definition: ELEMENT.cs:1118

References Element.GetResistLv().

Referenced by ActEffect.ProcAt().

◆ ResistLvFrom()

int Card.ResistLvFrom ( int  ele)
inline

Definition at line 5385 of file Card.cs.

5386 {
5387 return ResistLv(EClass.sources.elements.alias.TryGetValue(EClass.sources.elements.map[ele].aliasRef)?.id ?? 0);
5388 }

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

5661 {
5662 int num = 4;
5663 if (sourceCard.tiles.Length > 4)
5664 {
5665 num = sourceCard.tiles.Length;
5666 }
5667 if (TileType == TileType.Door)
5668 {
5669 num = 2;
5670 }
5671 if (reverse)
5672 {
5673 dir--;
5674 }
5675 else
5676 {
5677 dir++;
5678 }
5679 if (dir < 0)
5680 {
5681 dir = num - 1;
5682 }
5683 if (dir == num)
5684 {
5685 dir = 0;
5686 }
5687 SetDir(dir);
5689 }
void RefreshSprite()
virtual void SetDir(int d)
Definition: Card.cs:5641
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 6241 of file Card.cs.

6242 {
6243 if (ShouldShowMsg)
6244 {
6245 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, c2, ref1, ref2);
6246 }
6247 Msg.SetColor();
6248 }
bool ShouldShowMsg
Definition: Card.cs:2354
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 6250 of file Card.cs.

6251 {
6252 if (ShouldShowMsg)
6253 {
6254 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, c1, ref1, ref2);
6255 }
6256 Msg.SetColor();
6257 }

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

6233 {
6234 if (ShouldShowMsg)
6235 {
6236 Msg.Say(IsPC ? Lang.Game.TryGetId(lang + "_pc", lang) : lang, ref1, ref2);
6237 }
6238 Msg.SetColor();
6239 }

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

Referenced by Chara._Move(), InvOwnerBlend._OnProcess(), TraitShrine._OnUse(), ActPlan._Update(), TraitSwitch.ActivateTrap(), RecipeManager.Add(), Chara.AddRandomBodyPart(), ActMelee.Attack(), Point.CallGuard(), ElementContainerCard.CheckSkillActions(), TraitCrafter.Craft(), AI_OpenLock.CreateProgress(), Decay(), Chara.Die(), Chara.DoHostileAction(), CharaBody.Equip(), AI_Fish.ProgressFish.Fail(), AI_Fuck.Finish(), AI_Massage.Finish(), Chara.GiveGift(), Chara.GiveLovePotion(), TraitGamble.IdleUse(), Condition.Kill(), LevelUp(), ActEffect.LoveMiracle(), Chara.MakeAlly(), AI_Fish.Makefish(), StatsMana.Mod(), TraitBaseSpellbook.ModCharge(), ModCharge(), TraitWell.ModCharges(), TraitChangingRoom.OnActivateTrap(), TraitTrap.OnActivateTrap(), ConSleep.OnBeforeStart(), TraitDrink.OnBlend(), AI_PassTime.OnCancel(), Stats.OnChangePhase(), TraitBrewery.OnChildDecay(), InvOwner.OnClick(), TaskChopWood.OnCreateProgress(), TaskDig.OnCreateProgress(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), TraitDrinkMilkMother.OnDrink(), Affinity.OnGift(), GrowSystemTree.OnHitFail(), ElementContainerCard.OnLevelUp(), ElementContainerCard.OnModTempPotential(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgressComplete(), TaskBuild.OnProgressComplete(), TraitBaseSpellbook.OnRead(), TraitBookSecret.OnRead(), TraitBookSkill.OnRead(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), AI_Read.OnSetOwner(), AI_Fish.ProgressFish.OnStart(), TraitFloorSwitch.OnStepped(), TraitMiniPool.OnStepped(), TraitFoodPreparedPackage.OnUse(), TraitGiftJure.OnUse(), TraitGiftNewYear.OnUse(), TraitGiftPack.OnUse(), TraitItemProc.OnUse(), TraitParcel.OnUse(), TraitPlamoBox.OnUse(), TraitWhistlePeace.OnUse(), TraitFoodMeat.OnUse(), TraitPotionEmpty.OnUse(), DramaManager.ParseLine(), ActBash.Perform(), 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 6211 of file Card.cs.

6212 {
6213 if (isSynced && !text.IsEmpty())
6214 {
6215 if (ref1 != null)
6216 {
6217 text = text.Replace("#1", ref1);
6218 }
6219 if (ref2 != null)
6220 {
6221 text = text.Replace("#2", ref2);
6222 }
6223 HostRenderer.Say(text);
6224 }
6225 }
void Say(string text, Color c=default(Color), float duration=0f)
CardRenderer HostRenderer
Definition: Card.cs:2342

Referenced by CoreDebug.BroadcastNext().

◆ SecondaryCompare()

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

Definition at line 7136 of file Card.cs.

7137 {
7138 int num = 0;
7139 if (num == 0)
7140 {
7141 num = id.CompareTo(c.id);
7142 }
7143 if (num == 0)
7144 {
7145 num = trait.CompareTo(c);
7146 }
7147 if (num == 0)
7148 {
7149 num = Lang.comparer.Compare(GetName(NameStyle.Full, 1), c.GetName(NameStyle.Full, 1));
7150 }
7151 if (num == 0)
7152 {
7153 num = refVal - c.refVal;
7154 }
7155 if (num == 0)
7156 {
7157 num = c_charges - c.c_charges;
7158 }
7159 if (num == 0)
7160 {
7161 num = encLV - c.encLV;
7162 }
7163 if (num == 0)
7164 {
7165 num = Num - c.Num;
7166 }
7167 if (num == 0)
7168 {
7169 num = uid - c.uid;
7170 }
7171 return num;
7172 }
static NaturalStringComparer comparer
Definition: Lang.cs:22
virtual int CompareTo(Card b)
Definition: Trait.cs:708

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

◆ SetBlessedState()

virtual void Card.SetBlessedState ( BlessedState  s)
inlinevirtual

Definition at line 3642 of file Card.cs.

3643 {
3644 int num = 0;
3645 if (s == BlessedState.Blessed && blessedState < BlessedState.Blessed)
3646 {
3647 num = 1;
3648 }
3649 if (s < BlessedState.Blessed && blessedState == BlessedState.Blessed)
3650 {
3651 num = -1;
3652 }
3653 if (num != 0 && IsEquipmentOrRangedOrAmmo)
3654 {
3655 if (IsWeapon || IsAmmo)
3656 {
3657 elements.ModBase(67, num);
3658 }
3659 else
3660 {
3661 elements.ModBase(65, num * 2);
3662 }
3663 }
3664 blessedState = s;
3665 }

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

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

7075 {
7076 isCensored = enable;
7078 {
7079 isCensored = false;
7080 }
7082 }
void SetCensored(bool enable)
bool isCensored
Definition: Card.cs:406
OtherSetting other
Definition: CoreConfig.cs:608

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

Definition at line 3691 of file Card.cs.

3692 {
3693 c_charges = a;
3695 }

References c_charges, and LayerInventory.SetDirty().

Referenced by Zone_CursedManorDungeon.OnGenerateMap(), and ActDrawWater.Perform().

◆ SetDeconstruct()

void Card.SetDeconstruct ( bool  deconstruct)
inline

Definition at line 7084 of file Card.cs.

7085 {
7086 if (isDeconstructing != deconstruct)
7087 {
7088 if (deconstruct)
7089 {
7090 EClass._map.props.deconstructing.Add(this);
7091 }
7092 else
7093 {
7094 EClass._map.props.deconstructing.Remove(this);
7095 }
7096 isDeconstructing = deconstruct;
7097 }
7098 }
bool isDeconstructing
Definition: Card.cs:418
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 5641 of file Card.cs.

5642 {
5643 dir = d;
5645 }

References CardRenderer.RefreshSprite().

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

◆ SetDirtyWeight()

void Card.SetDirtyWeight ( )
inline

Definition at line 2454 of file Card.cs.

2455 {
2457 {
2458 EClass.player.wasDirtyWeight = true;
2459 }
2460 dirtyWeight = true;
2461 (parent as Card)?.SetDirtyWeight();
2462 }

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

void Card.SetEncLv ( int  a)
inline

◆ SetFreePos()

void Card.SetFreePos ( Point  point)
inline

Definition at line 5709 of file Card.cs.

5710 {
5711 freePos = EClass.game.config.FreePos && isThing && TileType.FreeStyle && !sourceCard.multisize && !EClass.scene.actionMode.IsRoofEditMode(this);
5712 if (freePos)
5713 {
5714 Vector3 vector = point.Position();
5715 Vector3 thingPosition = EClass.screen.tileMap.GetThingPosition(this, point);
5716 fx = EInput.mposWorld.x + EClass.setting.render.freePosFix.x;
5717 fy = EInput.mposWorld.y + EClass.setting.render.freePosFix.y;
5719 {
5720 fx -= fx % 0.2f;
5721 fy -= fy % 0.1f;
5722 }
5723 fx = fx - vector.x + thingPosition.x;
5724 fy = fy - vector.y + thingPosition.y;
5725 }
5726 else
5727 {
5728 float num2 = (fy = 0f);
5729 fx = num2;
5730 }
5731 }
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 5291 of file Card.cs.

5292 {
5293 isHidden = hide;
5294 pos.cell.Refresh();
5295 return this;
5296 }
bool isHidden
Definition: Card.cs:502
void Refresh()
Definition: Cell.cs:1148

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

5542 {
5543 if (trait is TraitAbility)
5544 {
5545 (trait as TraitAbility).act.SetImage(image);
5546 }
5547 else
5548 {
5550 }
5551 }
int colorInt
Definition: Card.cs:104
void SetImage(Image image, Sprite sprite=null, int matCol=0, bool setNativeSize=true, int dir=0, int idSkin=0)
Definition: RenderRow.cs:351

References RenderRow.SetImage().

◆ SetImage() [2/2]

◆ SetLv()

Card Card.SetLv ( int  a)
inline

Definition at line 2784 of file Card.cs.

2785 {
2786 LV = a;
2787 if (!isChara)
2788 {
2789 return this;
2790 }
2791 Rand.SetSeed(uid);
2792 ElementContainer elementContainer = new ElementContainer();
2793 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.job.elementMap, LV);
2794 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.race.elementMap, LV);
2795 elementContainer.ApplyElementMap(uid, SourceValueType.Chara, Chara.source.elementMap, 1, invert: false, applyFeat: true);
2796 foreach (Element value in elements.dict.Values)
2797 {
2798 int num = elementContainer.Value(value.id);
2799 if (num != 0)
2800 {
2801 int num2 = num - value.ValueWithoutLink;
2802 if (num2 != 0)
2803 {
2804 elements.ModBase(value.id, num2);
2805 }
2806 }
2807 }
2808 Rand.SetSeed();
2809 hp = MaxHP;
2810 Chara.mana.value = Chara.mana.max;
2813 return this;
2814 }
SourceValueType
SourceJob.Row job
Definition: Chara.cs:456
void CalculateMaxStamina()
Definition: Chara.cs:1750
SourceChara.Row source
Definition: Chara.cs:148
void ApplyElementMap(int uid, SourceValueType type, Dictionary< int, int > map, int lv, bool invert=false, bool applyFeat=false)
int ValueWithoutLink
Definition: ELEMENT.cs:290

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

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

◆ SetNoSell()

Thing Card.SetNoSell ( )
inline

Definition at line 3300 of file Card.cs.

3301 {
3302 noSell = true;
3303 return this as Thing;
3304 }

References noSell, and Thing.

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

◆ SetNum()

Thing Card.SetNum ( int  a)
inline

Definition at line 3286 of file Card.cs.

3287 {
3288 if (!isThing)
3289 {
3290 return null;
3291 }
3292 if (a == Num)
3293 {
3294 return this as Thing;
3295 }
3296 ModNum(a - Num);
3297 return this as Thing;
3298 }

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

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

◆ SetPaintData()

void Card.SetPaintData ( )
inline

Definition at line 6445 of file Card.cs.

6446 {
6447 EClass.ui.Hide(0f);
6449 {
6453 {
6454 EClass.ui.Show(0f);
6455 });
6456 });
6457 }
void WaitForEndOfFrame(Action action)
Definition: BaseCore.cs:61
byte[] GetPaintData()
Definition: Card.cs:6459
void ClearPaintSprite()
Definition: Card.cs:6477

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

◆ SetPlaceState()

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

Definition at line 3498 of file Card.cs.

3499 {
3500 if (this.placeState == newState)
3501 {
3502 return;
3503 }
3504 if (parent != EClass._zone)
3505 {
3506 Debug.Log("tried to change placestate of non-root card:" + this);
3507 return;
3508 }
3510 Area area = pos.area;
3511 if (placeState == PlaceState.installed)
3512 {
3513 area?.OnUninstallCard(this);
3514 if (!isRoofItem)
3515 {
3516 altitude = 0;
3517 freePos = false;
3518 float num2 = (fy = 0f);
3519 fx = num2;
3520 }
3521 trait.Uninstall();
3522 }
3523 if (placeState == PlaceState.installed || newState == PlaceState.installed)
3524 {
3525 ForeachPoint(delegate(Point p, bool main)
3526 {
3527 p.cell.RemoveCard(this);
3528 });
3529 this.placeState = newState;
3530 ForeachPoint(delegate(Point p, bool main)
3531 {
3532 p.cell.AddCard(this);
3533 });
3534 }
3535 else
3536 {
3537 this.placeState = newState;
3538 }
3539 if (newState == PlaceState.none)
3540 {
3541 this.placeState = PlaceState.roaming;
3542 if (props != null)
3543 {
3544 props.Remove(this);
3545 }
3546 }
3547 else
3548 {
3550 if (this.placeState == PlaceState.installed)
3551 {
3552 if (isThing)
3553 {
3554 if (trait.InstallBottomPriority != -1)
3555 {
3557 }
3558 else
3559 {
3561 }
3562 }
3563 area?.OnInstallCard(this);
3564 isRoofItem = false;
3565 trait.Install(byPlayer);
3566 }
3567 }
3569 {
3571 }
3572 if (trait.ShouldTryRefreshRoom && (placeState == PlaceState.installed || this.placeState == PlaceState.installed))
3573 {
3575 }
3576 trait.OnChangePlaceState(newState);
3578 {
3580 }
3581 }
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:550
void MoveThingToBottom(Thing t)
Definition: CellDetail.cs:45
void MoveThingToTop(Thing t)
Definition: CellDetail.cs:58
void RemoveCard(Card c)
Definition: Cell.cs:1562
void AddCard(Card c)
Definition: Cell.cs:1546
HomeResourceManager resources
void OnSetBlockOrDoor(int x, int z)
Definition: Map.cs:1018
CellDetail detail
Definition: Point.cs:71
void RefreshNeighborTiles()
Definition: Point.cs:1252
Area area
Definition: Point.cs:73
void OnCardAddedToZone(Card c)
Definition: PropsManager.cs:25
virtual bool ShouldRefreshTile
Definition: Trait.cs:75
virtual void OnChangePlaceState(PlaceState state)
Definition: Trait.cs:668
virtual bool ShouldTryRefreshRoom
Definition: Trait.cs:86
void Uninstall()
Definition: Trait.cs:1096
virtual int InstallBottomPriority
Definition: Trait.cs:88
void Install(bool byPlayer)
Definition: Trait.cs:1076

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

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

◆ SetPriceFix()

Thing Card.SetPriceFix ( int  a)
inline

Definition at line 6571 of file Card.cs.

6572 {
6573 c_priceFix = a;
6574 return Thing;
6575 }

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

◆ SetRandomDir()

void Card.SetRandomDir ( )
inline

Definition at line 5647 of file Card.cs.

5648 {
5649 SetDir(EClass.rnd(4));
5650 }

References EClass.rnd().

Referenced by Zone.TryGenerateShrine().

◆ SetRandomLightColors()

void Card.SetRandomLightColors ( )
inline

Definition at line 5946 of file Card.cs.

5947 {
5948 c_lightColor = (byte)(EClass.rnd(8) + 1) * 1024 + (byte)(EClass.rnd(8) + 1) * 32 + (byte)(EClass.rnd(8) + 1);
5949 }

References EClass.rnd().

◆ SetRandomTalk()

void Card.SetRandomTalk ( )
inline

Definition at line 6332 of file Card.cs.

6333 {
6335 if (!MOD.listTalk.list[0].ContainsKey(id))
6336 {
6337 c_idTalk = MOD.listTalk.GetRandomID("human");
6338 }
6339 }
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 6341 of file Card.cs.

6342 {
6344 List<Dictionary<string, string>> list = MOD.tones.list;
6345 if (list.Count == 0)
6346 {
6347 return;
6348 }
6349 string text = list.RandomItem()["id"];
6350 for (int i = 0; i < 10; i++)
6351 {
6352 Dictionary<string, string> dictionary = list.RandomItem();
6353 if (EClass.rnd(100) <= dictionary["chance"].ToInt())
6354 {
6355 text = dictionary["id"];
6356 break;
6357 }
6358 }
6359 c_idTone = MOD.tones.GetToneID(text, bio?.gender ?? 0);
6360 }
string GetToneID(string id, int gender)
Definition: ToneDataList.cs:58

References ToneDataList.GetToneID(), ExcelDataList.Initialize(), ExcelDataList.list, EClass.rnd(), and MOD.tones.

Referenced by Biography.Generate().

◆ SetRenderParam()

virtual void Card.SetRenderParam ( RenderParam  p)
inlinevirtual

Reimplemented in Chara, and Thing.

Definition at line 5439 of file Card.cs.

5440 {
5441 }

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

◆ SetReplica()

void Card.SetReplica ( bool  on)
inline

Definition at line 2921 of file Card.cs.

2922 {
2923 isReplica = true;
2924 ChangeMaterial("granite");
2925 }

References ChangeMaterial, and isReplica.

◆ SetSale()

void Card.SetSale ( bool  sale)
inline

Definition at line 6582 of file Card.cs.

6583 {
6584 if (isSale != sale)
6585 {
6586 isSale = sale;
6587 if (isSale)
6588 {
6589 EClass._map.props.sales.Add(this);
6590 }
6591 else
6592 {
6593 EClass._map.props.sales.Remove(this);
6594 }
6595 }
6596 }

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

7106 {
7107 switch (m)
7108 {
7109 case UIList.SortMode.ByEquip:
7110 sortVal = ((c_equippedSlot == 0) ? (category.sortVal * 1000) : 0);
7111 break;
7112 case UIList.SortMode.ByValue:
7113 sortVal = -GetPrice(currency) * 1000;
7114 break;
7115 case UIList.SortMode.ByNumber:
7116 sortVal = -Num * 1000;
7117 break;
7118 case UIList.SortMode.ByCategory:
7119 sortVal = category.sortVal * 1000;
7120 break;
7121 case UIList.SortMode.ByWeight:
7123 break;
7124 case UIList.SortMode.ByWeightSingle:
7126 break;
7127 case UIList.SortMode.ByPrice:
7128 sortVal = -GetPrice(currency) * 1000;
7129 break;
7130 default:
7131 sortVal = sourceCard._index * 1000;
7132 break;
7133 }
7134 }
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:6676
int sortVal
Definition: Card.cs:97
int ChildrenAndSelfWeightSingle
Definition: Card.cs:1943
int ChildrenAndSelfWeight
Definition: Card.cs:1941
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 2734 of file Card.cs.

2735 {
2736 }

Referenced by _OnDeserialized(), and Create().

◆ SetTier()

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

Definition at line 3616 of file Card.cs.

3617 {
3618 if (a < 0)
3619 {
3620 a = 0;
3621 }
3622 tier = a;
3623 if (setTraits)
3624 {
3625 int num = ((a == 1) ? 180 : ((a == 2) ? 400 : ((a >= 3) ? 600 : 0)));
3626 if (a > 0)
3627 {
3628 foreach (Element value in elements.dict.Values)
3629 {
3630 if (value.IsFoodTrait || value.IsTrait)
3631 {
3632 elements.SetTo(value.id, value.Value * num / 100);
3633 }
3634 }
3635 }
3636 elements.SetBase(2, a * 30);
3637 elements.SetBase(759, (a > 1) ? a : 0);
3638 }
3640 }
bool IsFoodTrait
Definition: ELEMENT.cs:360

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

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

◆ ShouldTrySetDirtyInventory()

bool Card.ShouldTrySetDirtyInventory ( )
inline

Definition at line 3170 of file Card.cs.

3171 {
3172 if (EClass.player.chara != null)
3173 {
3174 if (!IsPC && GetRootCard() != EClass.pc)
3175 {
3176 return EClass.ui.layers.Count > 0;
3177 }
3178 return true;
3179 }
3180 return false;
3181 }
Chara chara
Definition: Player.cs:1019

References Player.chara, GetRootCard(), IsPC, EClass.pc, and EClass.player.

Referenced by AddThing(), OnChildNumChange(), and RemoveThing().

◆ ShowEmo()

void Card.ShowEmo ( Emo  _emo = Emo::none,
float  duration = 0f,
bool  skipSame = true 
)
inline

◆ SpawnLoot()

void Card.SpawnLoot ( Card  origin)
inline

Definition at line 4720 of file Card.cs.

4721 {
4722 if (!isChara || IsPCFactionMinion || (isCopy && EClass.rnd(10) != 0))
4723 {
4724 return;
4725 }
4726 bool isUserZone = EClass._zone.IsUserZone;
4727 bool flag = EClass._zone is Zone_Music;
4728 List<Card> list = new List<Card>();
4729 SourceRace.Row race = Chara.race;
4730 if (!IsPCFaction && !isUserZone && sourceCard.idActor.IsEmpty())
4731 {
4732 int i2 = 500;
4733 if (this.rarity >= Rarity.Legendary)
4734 {
4735 i2 = ((!EClass.player.codex.DroppedCard(id)) ? 1 : 10);
4737 }
4739 {
4740 i2 = 10;
4741 }
4742 if (chance(i2))
4743 {
4744 Thing thing = ThingGen.Create("figure");
4745 thing.MakeFigureFrom(id);
4746 list.Add(thing);
4747 }
4748 if (chance(i2))
4749 {
4750 Thing thing2 = ThingGen.Create("figure3");
4751 thing2.MakeFigureFrom(id);
4752 list.Add(thing2);
4753 }
4754 }
4755 bool flag2 = Chara.race.corpse[1].ToInt() > EClass.rnd(1500) || (Chara.IsPowerful && !IsPCFaction) || EClass.debug.godFood;
4756 int num = 1;
4757 if (!IsMinion && Chara.race.IsAnimal && EClass.rnd(EClass._zone.IsPCFaction ? 3 : 5) == 0)
4758 {
4759 flag2 = true;
4760 }
4762 {
4763 flag2 = true;
4764 num = EClass.rndHalf(4 + 10 * (50 + Mathf.Max(0, (int)MathF.Sqrt(EClass.pc.Evalue(290) * 10))) / 100);
4765 }
4766 else if (origin != null && origin.HasElement(290) && !IsMinion)
4767 {
4768 if (!flag2 && Chara.race.corpse[1].ToInt() > EClass.rnd(150000 / (100 + (int)Mathf.Sqrt(origin.Evalue(290)) * 5)))
4769 {
4770 flag2 = true;
4771 origin.elements.ModExp(290, 100);
4772 }
4773 else
4774 {
4775 origin.elements.ModExp(290, 5);
4776 }
4777 }
4778 if (id == "littleOne" && IsPCFactionOrMinion)
4779 {
4780 flag2 = false;
4781 }
4782 if (flag2 && !isUserZone)
4783 {
4784 string text = Chara.race.corpse[0];
4785 bool num2 = text == "_meat";
4786 int num3 = 10;
4788 {
4789 num3 += (int)Mathf.Min(Mathf.Sqrt(EClass.pc.Evalue(290)), 20f);
4790 }
4791 if (num2 && num3 > EClass.rnd(100))
4792 {
4793 text = "meat_marble";
4794 }
4795 Thing thing3 = ThingGen.Create(text).SetNum(num);
4796 if (thing3.source._origin == "meat")
4797 {
4798 thing3.MakeFoodFrom(this);
4799 }
4800 else
4801 {
4803 }
4804 list.Add(thing3);
4805 }
4806 if (!IsPCFaction && (!isUserZone || !EClass.game.principal.disableUsermapBenefit) && chance(200))
4807 {
4808 list.Add(Chara.MakeGene());
4809 }
4810 if (!IsPCFaction && !isUserZone)
4811 {
4812 foreach (string item2 in sourceCard.loot.Concat(Chara.race.loot).ToList())
4813 {
4814 string[] array = item2.Split('/');
4815 int num4 = array[1].ToInt();
4816 if (num4 >= 1000 || num4 > EClass.rnd(1000) || EClass.debug.godMode)
4817 {
4818 list.Add(ThingGen.Create(array[0]).SetNum((num4 < 1000) ? 1 : (num4 / 1000 + ((EClass.rnd(1000) > num4 % 1000) ? 1 : 0))));
4819 }
4820 }
4821 if (race.IsMachine)
4822 {
4823 if (chance(20))
4824 {
4825 list.Add(ThingGen.Create("microchip"));
4826 }
4827 if (chance(15))
4828 {
4829 list.Add(ThingGen.Create("battery"));
4830 }
4831 }
4832 else
4833 {
4834 if (race.IsAnimal)
4835 {
4836 if (chance(15))
4837 {
4838 list.Add(ThingGen.Create("fang"));
4839 }
4840 if (chance(10))
4841 {
4842 list.Add(ThingGen.Create("skin"));
4843 }
4844 }
4845 if (chance(20))
4846 {
4847 list.Add(ThingGen.Create("offal"));
4848 }
4849 if (chance(20))
4850 {
4851 list.Add(ThingGen.Create("heart"));
4852 }
4853 }
4854 if (!isBackerContent && !flag)
4855 {
4856 switch (id)
4857 {
4858 case "isca":
4859 list.Add(ThingGen.Create("blood_angel"));
4860 break;
4861 case "golem_wood":
4862 if (chance(30))
4863 {
4864 list.Add(ThingGen.Create("crystal_earth"));
4865 }
4866 break;
4867 case "golem_stone":
4868 if (chance(30))
4869 {
4870 list.Add(ThingGen.Create("crystal_sun"));
4871 }
4872 break;
4873 case "golem_steel":
4874 if (chance(30))
4875 {
4876 list.Add(ThingGen.Create("crystal_mana"));
4877 }
4878 break;
4879 case "golem_gold":
4880 list.Add(ThingGen.Create("money2"));
4881 break;
4882 }
4883 int num5 = ((EClass._zone.Boss == this) ? 2 : ((this.rarity >= Rarity.Legendary) ? 1 : 0));
4884 if (EClass._zone is Zone_Void)
4885 {
4886 num5++;
4887 }
4888 if (EClass.rnd(5) == 0)
4889 {
4890 num5++;
4891 }
4892 string text2 = id;
4893 if (text2 == "big_daddy" || text2 == "santa")
4894 {
4895 num5 += 2;
4896 }
4897 if (num5 > 0 && EClass.game.principal.dropRate)
4898 {
4899 num5 = Mathf.Max(1, num5 * (50 + EClass.game.principal.dropRateMtp * 50) / 100);
4900 }
4901 List<Thing> list2 = new List<Thing>();
4902 foreach (Thing thing4 in things)
4903 {
4904 if (thing4.HasTag(CTAG.gift) || thing4.trait is TraitChestMerchant)
4905 {
4906 continue;
4907 }
4908 if (thing4.isGifted || thing4.rarity >= Rarity.Artifact || thing4.trait.DropChance > EClass.rndf(1f))
4909 {
4910 list.Add(thing4);
4911 }
4912 else if (thing4.IsEquipmentOrRanged)
4913 {
4914 if (thing4.rarity >= Rarity.Legendary)
4915 {
4916 list2.Add(thing4);
4917 }
4918 else if (EClass.rnd(100) == 0)
4919 {
4920 list.Add(thing4);
4921 }
4922 }
4923 else if (EClass.rnd(5) == 0)
4924 {
4925 list.Add(thing4);
4926 }
4927 }
4928 if (num5 > 0 && list2.Count > 0)
4929 {
4930 list2.Shuffle();
4931 for (int j = 0; j < list2.Count && j < num5; j++)
4932 {
4933 list.Add(list2[j]);
4934 num5--;
4935 }
4936 }
4937 if (this.rarity >= Rarity.Legendary && !IsUnique && c_bossType != BossType.Evolved)
4938 {
4939 int num6 = 0;
4940 foreach (Card item3 in list)
4941 {
4942 if (item3.rarity >= Rarity.Legendary || item3.IsContainer)
4943 {
4944 num6++;
4945 }
4946 }
4947 if (num6 == 0)
4948 {
4949 int num7 = ((!(EClass._zone is Zone_Void)) ? 1 : 2);
4950 if (num5 < num7)
4951 {
4952 num5 = num7;
4953 }
4954 for (int k = 0; k < num5; k++)
4955 {
4956 Rand.SetSeed(uid + k);
4957 if (EClass.rnd((EClass._zone.events.GetEvent<ZoneEventDefenseGame>() != null) ? 3 : 2) == 0)
4958 {
4959 Rarity rarity = ((EClass.rnd(20) == 0) ? Rarity.Mythical : Rarity.Legendary);
4961 {
4962 rarity = rarity
4963 });
4965 list.Add(item);
4966 }
4967 else if (EClass.rnd(3) == 0)
4968 {
4969 list.Add(ThingGen.Create("medal"));
4970 }
4971 Rand.SetSeed();
4972 }
4973 }
4974 }
4975 }
4976 }
4977 foreach (Thing thing5 in things)
4978 {
4979 if (thing5.GetInt(116) != 0)
4980 {
4981 list.Add(thing5);
4982 }
4983 }
4984 Point nearestPoint = GetRootCard().pos;
4985 if (nearestPoint.IsBlocked)
4986 {
4987 nearestPoint = nearestPoint.GetNearestPoint();
4988 }
4989 foreach (Card item4 in list)
4990 {
4991 if (item4.parent == EClass._zone)
4992 {
4993 continue;
4994 }
4995 item4.isHidden = false;
4996 item4.SetInt(116);
4997 EClass._zone.AddCard(item4, nearestPoint);
4998 if (!item4.IsEquipment || item4.rarity < Rarity.Superior || item4.IsCursed)
4999 {
5000 continue;
5001 }
5002 foreach (Chara chara in EClass._map.charas)
5003 {
5004 if (chara.HasElement(1412) && chara.Dist(nearestPoint) < 3)
5005 {
5006 item4.Thing.TryLickEnchant(chara);
5007 break;
5008 }
5009 }
5010 }
5011 bool chance(int i)
5012 {
5013 i = i * 100 / (100 + EClass.player.codex.GetOrCreate(id).BonusDropLv * 10);
5014 if (i < 1)
5015 {
5016 i = 1;
5017 }
5018 if (IsMinion)
5019 {
5020 i *= 5;
5021 }
5022 if (EClass.rnd(i) == 0)
5023 {
5024 return true;
5025 }
5026 return false;
5027 }
5028 }
BossType
Definition: BossType.cs:2
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
static bool slaughtering
Definition: AI_Slaughter.cs:6
static void Set(CardBlueprint _bp)
string[] idActor
Definition: CardRow.cs:35
string[] loot
Definition: CardRow.cs:29
Thing Split(int a)
Definition: Card.cs:3275
void MakeFigureFrom(string id)
Definition: Card.cs:5269
bool IsCursed
Definition: Card.cs:2155
virtual bool IsMinion
Definition: Card.cs:2051
bool IsEquipment
Definition: Card.cs:2073
BossType c_bossType
Definition: Card.cs:1181
bool isGifted
Definition: Card.cs:754
virtual bool IsPCFactionMinion
Definition: Card.cs:2055
Thing Add(string id, int num=1, int lv=1)
Definition: Card.cs:2927
bool isBackerContent
Definition: Card.cs:885
Thing MakeGene(DNA.Type? type=null)
Definition: Chara.cs:7468
bool DroppedCard(string id)
Definition: CodexManager.cs:46
void MarkCardDrop(string id)
Definition: CodexManager.cs:41
bool godFood
Definition: CoreDebug.cs:182
static float rndf(float a)
Definition: EClass.cs:87
bool disableUsermapBenefit
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false)
Definition: Point.cs:607
static Thing CreateFromFilter(string id, int lv=-1)
Definition: ThingGen.cs:63
SourceThing.Row source
Definition: Thing.cs:11
void TryLickEnchant(Chara c, bool msg=true, Chara tg=null, BodySlot slot=null)
Definition: Thing.cs:1909
virtual float DropChance
Definition: Trait.cs:353
ZoneEventManager events
Definition: Zone.cs:40

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

◆ Split()

◆ Talk()

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

Definition at line 6135 of file Card.cs.

6136 {
6137 if (IsPC && !EClass.player.forceTalk && idTopic != "goodBoy" && idTopic != "insane")
6138 {
6139 EClass.player.forceTalk = false;
6140 Msg.SetColor();
6141 return;
6142 }
6143 EClass.player.forceTalk = false;
6144 if (!isSynced && !forceSync)
6145 {
6146 Msg.SetColor();
6147 return;
6148 }
6149 GameLang.refDrama1 = ref1;
6150 GameLang.refDrama2 = ref2;
6151 string text = GetTalkText(idTopic, stripPun: true);
6152 if (HasElement(1232) && idTopic != "baby")
6153 {
6154 BackerContent.GakiConvert(ref text, "babu");
6155 }
6156 else
6157 {
6158 string text2 = id;
6159 if (!(text2 == "adv_gaki"))
6160 {
6161 if (text2 == "corgon")
6162 {
6163 BackerContent.GakiConvert(ref text, "mokyu");
6164 }
6165 }
6166 else
6167 {
6168 BackerContent.GakiConvert(ref text);
6169 }
6170 }
6171 TalkRaw(text, ref1, ref2, forceSync);
6172 }
static void GakiConvert(ref string text, string idLang="zako")
string GetTalkText(string idTopic, bool stripPun=false, bool useDefault=true)
Definition: Card.cs:6259
void TalkRaw(string text, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:6174
bool forceTalk
Definition: Player.cs:967

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

Referenced by Chara._Move(), AI_Shopping.Buy(), Point.CallGuard(), AI_Torture.CreateProgress(), ZonePreEnterEncounter.Execute(), AI_Fuck.Finish(), AI_Massage.Finish(), Chara.GiveGift(), Chara.GiveLovePotion(), TraitGamble.IdleUse(), Trait.OfferProcess(), InvOwner.OnClick(), QuestEscort.OnEnterZone(), Affinity.OnGift(), TraitBaseSpellbook.OnRead(), QuestEscort.OnStart(), ActWater.Perform(), ActEffect.Poison(), FoodEffect.Proc(), InvOwner.Transaction.Process(), Chara.RequestProtection(), ActRide.Ride(), AI_ArmPillow.Run(), AI_Clean.Run(), AI_Eat.Run(), AI_Fuck.Run(), AI_GotoHearth.Run(), AI_Haul.Run(), AI_Idle.Run(), AI_Massage.Run(), AI_PlayMusic.Run(), AI_Shear.Run(), AI_Trolley.Run(), AIWork.Run(), GoalCombat.Run(), ActThrow.Throw(), ConChampagne.Tick(), ConEntangle.Tick(), ConInsane.Tick(), ConSleep.Tick(), Chara.TryPush(), and ActRide.Unride().

◆ TalkRaw()

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

Definition at line 6174 of file Card.cs.

6175 {
6176 if ((!isSynced && !forceSync) || text.IsEmpty())
6177 {
6178 Msg.SetColor();
6179 return;
6180 }
6181 if (ref1 != null)
6182 {
6183 text = text.Replace("#1", ref1);
6184 }
6185 if (ref2 != null)
6186 {
6187 text = text.Replace("#2", ref2);
6188 }
6190 bool flag = text.StartsWith("*");
6191 Msg.SetColor(text.StartsWith("(") ? Msg.colors.Thinking : (flag ? Msg.colors.Ono : Msg.colors.Talk));
6192 if (!flag)
6193 {
6194 text = text.Bracket();
6195 }
6196 Msg.Say(text.Replace("&", ""));
6197 }
string ApplyNewLine(string text)
Definition: Card.cs:6199
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 5334 of file Card.cs.

5335 {
5336 if (EClass._zone.IsRegion)
5337 {
5339 return;
5340 }
5341 PlayEffect("teleport");
5342 if (!force && (trait is TraitNewZone || elements.Has(400) || (isChara && Chara.HasCondition<ConGravity>())))
5343 {
5344 Say("antiTeleport", this);
5345 PlaySound("gravity");
5346 return;
5347 }
5348 if (!silent)
5349 {
5350 PlaySound("teleport");
5351 Say("teleported", this);
5352 }
5353 _Move(point);
5354 renderer.SetFirst(first: true, pos.PositionCenter());
5355 if (isChara)
5356 {
5357 Chara.ai.Cancel();
5358 foreach (Chara chara in EClass._map.charas)
5359 {
5360 if (chara.enemy == this)
5361 {
5362 chara.SetEnemy();
5363 }
5364 }
5365 Chara.RemoveCondition<ConEntangle>();
5366 }
5367 if (IsPC)
5368 {
5371 EClass.player.haltMove = true;
5372 }
5373 PlayEffect("teleport", useRenderPos: false);
5374 }
virtual MoveResult _Move(Point p, MoveType type=MoveType.Walk)
Definition: Card.cs:5298
void SayNothingHappans()
Definition: Card.cs:6227
Chara enemy
Definition: Chara.cs:86
Chara SetEnemy(Chara c=null)
Definition: Chara.cs:5716
bool Has(int ele)

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

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

◆ Tick()

virtual void Card.Tick ( )
inlinevirtual

Reimplemented in Chara.

Definition at line 6552 of file Card.cs.

6553 {
6554 }

◆ ToString()

override string Card.ToString ( )
inline

Definition at line 2387 of file Card.cs.

2388 {
2389 return Name + "/" + pos?.ToString() + "/" + parent;
2390 }
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 5240 of file Card.cs.

5241 {
5242 if (c.c_idRefCard.IsEmpty())
5243 {
5244 return c.c_altName;
5245 }
5246 if (!(c.refCard is SourceChara.Row { isChara: not false } row))
5247 {
5248 return c.c_altName;
5249 }
5250 if (!row.aka.IsEmpty())
5251 {
5252 if (row.name == "*r" && row.aka == "*r")
5253 {
5254 return "corpseGeneral".lang();
5255 }
5256 if (row.name == "*r")
5257 {
5258 return row.GetText("aka");
5259 }
5260 }
5261 return row.GetName();
5262 }
CardRow refCard
Definition: Card.cs:1867

References c_altName, c_idRefCard, and refCard.

◆ TryMakeRandomItem()

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

Definition at line 5030 of file Card.cs.

5031 {
5032 if (lv == -1)
5033 {
5034 lv = EClass._zone.DangerLv;
5035 }
5036 switch (id)
5037 {
5038 case "gene":
5040 break;
5041 case "log":
5042 ChangeMaterial(EClass.sources.materials.rows.Where((SourceMaterial.Row m) => m.category == "wood").RandomItem());
5043 break;
5044 case "ore_gem":
5046 break;
5047 case "ore":
5049 break;
5050 case "milk":
5051 case "_egg":
5052 case "egg_fertilized":
5053 case "_meat":
5054 case "meat_marble":
5055 {
5056 string text = "c_wilds";
5057 if (id == "_meat" || id == "meat_marble")
5058 {
5059 text = "c_animal";
5060 }
5061 for (int i = 0; i < 20; i++)
5062 {
5063 CardRow cardRow = SpawnList.Get(text).Select(lv);
5064 if (cardRow.model.Chara.race.corpse[0] != "_meat" && id != "milk" && id != "_egg" && id != "egg_fertilized")
5065 {
5066 continue;
5067 }
5068 if (id == "milk")
5069 {
5070 if (c_idRefCard.IsEmpty())
5071 {
5072 MakeRefFrom(cardRow.model);
5073 }
5074 }
5075 else
5076 {
5077 MakeFoodFrom(cardRow.model);
5078 }
5079 break;
5080 }
5081 break;
5082 }
5083 }
5084 return this as Thing;
5085 }
Card model
Definition: CardRow.cs:60
Definition: DNA.cs:8
static Thing CopyDNA(Thing from, Thing to)
Definition: DNA.cs:130
static Thing GenerateRandomGene(int lv=-1, int seed=-1)
Definition: DNA.cs:138
static SourceMaterial.Row GetRandomMaterialFromCategory(int lv, string cat, SourceMaterial.Row fallback)
Definition: MATERIAL.cs:81
static SpawnList Get(string id, string parent=null, CardFilter filter=null)
Definition: SpawnList.cs:18
CardRow Select(int lv=-1, int levelRange=-1)
Definition: SpawnList.cs:139

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

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

◆ TryPay()

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

Definition at line 3672 of file Card.cs.

3673 {
3674 if (GetCurrency(id) < a)
3675 {
3676 if (IsPC)
3677 {
3678 SE.Beep();
3679 Msg.Say((id == "ration") ? "notEnoughFood" : "notEnoughMoney");
3680 }
3681 return false;
3682 }
3683 if (IsPC && !(id == "ration"))
3684 {
3685 SE.Pay();
3686 }
3687 ModCurrency(-a, id);
3688 return true;
3689 }
int GetCurrency(string id="money")
Definition: Card.cs:3722

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

2402 {
2403 if (CanReserve(act))
2404 {
2405 reservedAct = act;
2406 return true;
2407 }
2408 return false;
2409 }
bool CanReserve(AIAct act)
Definition: Card.cs:2392

References CanReserve(), and reservedAct.

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

◆ TryStack()

void Card.TryStack ( Thing  t)
inline

Definition at line 6383 of file Card.cs.

6384 {
6385 if (t == this)
6386 {
6387 return;
6388 }
6390 if (dest.stack != null)
6391 {
6392 if (IsPC)
6393 {
6394 Say("stack_thing", t, dest.stack);
6395 }
6396 t.TryStackTo(dest.stack);
6397 }
6398 }
bool TryStackTo(Thing to)
Definition: Card.cs:3188
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 3188 of file Card.cs.

3189 {
3190 if (isDestroyed || to.isDestroyed || !CanStackTo(to))
3191 {
3192 return false;
3193 }
3194 to.decay = (to.decay * to.Num + decay * Num) / (to.Num + Num);
3195 to.ModNum(Num);
3196 if (c_isImportant)
3197 {
3198 to.c_isImportant = true;
3199 }
3201 {
3202 to.isNew = true;
3203 }
3204 Destroy();
3205 return true;
3206 }
virtual bool CanStackTo(Thing to)
Definition: Card.cs:3183
new GameConfig game
Definition: CoreConfig.cs:598

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

6505 {
6506 if (!(GetRestrainer() == null || force))
6507 {
6508 return;
6509 }
6510 isRestrained = false;
6511 Say("unrestrained", this);
6512 if (this != c)
6513 {
6514 Talk("thanks");
6515 }
6517 renderer.SetFirst(first: true);
6518 if (c == null)
6519 {
6520 return;
6521 }
6522 if (c_rescueState == RescueState.WaitingForRescue)
6523 {
6524 c_rescueState = RescueState.Rescued;
6525 if (c.IsPC)
6526 {
6528 }
6529 }
6531 {
6532 return;
6533 }
6534 foreach (Chara item in c.pos.ListCharasInRadius(c, 5, (Chara _c) => _c.id == "fanatic" && _c.faith != Chara.faith))
6535 {
6536 c.DoHostileAction(item, immediate: true);
6537 }
6538 }
RescueState
Definition: RescueState.cs:2
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:6135
TraitShackle GetRestrainer()
Definition: Card.cs:6540
void MoveImmediate(Point p, bool focus=true, bool cancelAI=true)
Definition: Card.cs:5308
RescueState c_rescueState
Definition: Card.cs:1169
override bool IsPC
Definition: Chara.cs:602
void DoHostileAction(Card _tg, bool immediate=false)
Definition: Chara.cs:5765
void ModKarma(int a)
Definition: Player.cs:2306
List< Chara > ListCharasInRadius(Chara cc, int dist, Func< Chara, bool > func, bool onlyVisible=true)
Definition: Point.cs:1196

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

7207 {
7208 }

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

Member Data Documentation

◆ _bits1

◆ _bits2

◆ _category

SourceCategory.Row Card._category
private

Definition at line 85 of file Card.cs.

◆ _childrenWeight

int Card._childrenWeight
private

Definition at line 83 of file Card.cs.

◆ _colorInt

int Card._colorInt

Definition at line 63 of file Card.cs.

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

◆ _ints

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

Definition at line 28 of file Card.cs.

Referenced by _OnDeserialized(), and _OnSerializing().

◆ _LightData

LightData Card._LightData
private

Definition at line 93 of file Card.cs.

◆ _material

SourceMaterial.Row Card._material

Definition at line 87 of file Card.cs.

Referenced by ChangeMaterial(), and Create().

◆ _paintSprite

Sprite Card._paintSprite
private

Definition at line 95 of file Card.cs.

◆ _randColor

Color Card._randColor
staticprivate

Definition at line 89 of file Card.cs.

◆ angle

float Card.angle = 180f

◆ animeCounter

float Card.animeCounter

Definition at line 69 of file Card.cs.

◆ bio

◆ bp

CardBlueprint Card.bp

Definition at line 73 of file Card.cs.

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

◆ dirtyWeight

bool Card.dirtyWeight = true

Definition at line 81 of file Card.cs.

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

◆ elements

Definition at line 37 of file Card.cs.

Referenced by _OnDeserialized(), TraitAltar._OnOffer(), Element._WriteNote(), Element.AddEncNote(), AddRune(), DNA.Apply(), Chara.ApplyDeathPenalty(), Chara.ApplyJob(), Thing.ApplyMaterial(), Thing.ApplyMaterialElements(), ApplyProtection(), Chara.ApplyRace(), ApplySocket(), ActMelee.Attack(), TraitDrink.BlendLove(), TraitDrink.BlendPoison(), WidgetStatsBar.Build(), TraitTrainingDummyArmor.CalcPV(), Chara.CalculateMaxStamina(), CanAddRune(), Thing.CanAutoFire(), Thing.CanStackTo(), TraitAmmo.CanStackTo(), TraitCrafter.Craft(), RecipeCard.Craft(), TraitPotion.Create(), TraitRod.Create(), TraitSpellbook.Create(), Create(), DamageHP(), Player.DreamSpell(), Chara.Duplicate(), Duplicate(), EjectSockets(), CharaBody.Equip(), Evalue(), EvalueMax(), DramaOutcome.fiama_starter_gift(), AI_Fuck.Finish(), CoreDebug.Fix_EtherDisease(), DNA.GenerateWithGene(), GetBestAttribute(), Party.GetBestSkill(), Check.GetFinalDC(), AI_Shear.GetFur(), Element.GetParent(), Chara.GiveGift(), TaskHarvest.HarvestThing(), TraitFoodEggFertilized.Incubate(), Religion.JoinFaith(), Religion.LeaveFaith(), ElementContainer.ListElements(), CraftUtil.MakeDish(), TraitSeed.MakeSeed(), CraftUtil.MixIngredients(), StatsMana.Mod(), ModEncLv(), ModExp(), Player.MoveZone(), Trait.OnBarter(), TraitPotionAlchemy.OnCrafted(), TraitRod.OnCreate(), TraitToolRangeCane.OnCreate(), TaskChopWood.OnCreateProgress(), TaskDig.OnCreateProgress(), TaskDrawWater.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), TaskPourWater.OnCreateProgress(), Chara.OnDeserialized(), TraitDrinkMilkMother.OnDrink(), Game.OnLoad(), TraitAgingShelf.OnProduce(), TraitDryBrick.OnProduce(), TaskCraft.OnProgress(), AI_Fish.ProgressFish.OnProgressComplete(), TaskCraft.OnProgressComplete(), TaskDig.OnProgressComplete(), TaskMine.OnProgressComplete(), TraitBookSkill.OnRead(), TraitScrollStatic.OnRead(), Player.OnStartNewGame(), Act.Perform(), AttackProcess.Perform(), AttackProcess.PlayRangedAnime(), AttackProcess.Prepare(), FoodEffect.Proc(), ActEffect.Proc(), CoreDebug.QuickStart(), ButtonElement.Refresh(), UICharaMaker.Refresh(), WidgetTracker.Refresh(), WindowCharaMini.Refresh(), UIRecipeInfo.RefreshList(), LayerEmbark.RefreshMembers(), LayerCraft.RefreshProduct(), WindowChara.RefreshProfile(), WindowChara.RefreshSkill(), Chara.RefreshSpeed(), WindowChara.RefreshStatic(), AI_Eat.Run(), AI_Fuck.Run(), AI_Idle.Run(), AI_PlayMusic.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_UseCrafter.Run(), LayerAbility.SelectGroup(), ButtonAbility.SetAct(), SetBlessedState(), ItemGachaResult.SetChara(), CoreDebug.SetElement(), ButtonElement.SetGrid(), SetLv(), Chara.SetMainElement(), TraitAbility.SetMainText(), CharaBody.SetOwner(), Recipe.SetTextDifficulty(), SetTier(), SpawnLoot(), ButtonAbility.SpecialHoldAction(), WidgetTracker.Toggle(), CalcPlat.Train(), Map.TryShatter(), CharaBody.Unequip(), TraitFoodEgg.Update(), CoreDebug.UpdateInput(), TraitWrench.Upgrade(), Element.BonusInfo.WriteNote(), RecipeCard.WriteNote(), Thing.WriteNote(), TraitBookSkill.WriteNote(), and Recipe.WriteReqSkill().

◆ fov

◆ hat

CardRow Card.hat

Definition at line 59 of file Card.cs.

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

◆ id

string Card.id = ""

Definition at line 31 of file Card.cs.

Referenced by ThingContainer._ListCurrency(), InvOwnerRecycle._OnProcess(), BuildMenu._Search(), SerializedCards.Add(), Props.Add(), Zone.AddCard(), ThingContainer.AddCurrency(), ThingContainer.AddFactory(), FactionBranch.AddMemeber(), AddThing(), InvOwner.AllowHold(), 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(), RecipeCard.Craft(), Recipe.Create(), LayerInventory.CreateContainer(), FactionBranch.DailyOutcome(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), GrowSystem.EqualizePlants(), ZonePreEnterEncounter.Execute(), CardManager.GlobalCharaList.Find(), ThingContainer.Find(), Map.FindChara(), Zone.FindChara(), CoreDebug.Fix_RemoveDemitas(), CoreDebug.Fix_RemoveDuplicateUnique(), Biography.Generate(), FactionBranch.GenerateGarbage(), DNA.GenerateGene(), TraitChara.GetAdvRank(), TraitItemProc.GetCraftNum(), ThingContainer.GetCurrency(), Trait.GetFuelValue(), AI_Shear.GetFur(), TaskChopWood.GetLog(), Thing.GetName(), ReligionMoonShadow.GetOfferingMtp(), ReligionTrickery.GetOfferingMtp(), TraitBrewery.GetProductID(), DramaCustomSequence.GetRumor(), TaskBuild.GetText(), ThingContainer.GetThingStack(), AI_Haul.GetThingToClean(), Chara.GiveGift(), TaskHarvest.HarvestThing(), Faction.HasMember(), ActDrawWater.HasWaterSource(), AI_HaulResource.HoldingResource(), UIDragGridInfo.InitFuel(), QuestDeliver.IsDestThing(), Player.IsPriorityAction(), IsStackable(), Recipe.Ingredient.IsValidIngredient(), Faction.IsWearingPanty(), Props.ListThingStack(), Props.ListThingStacksInCategory(), TraitFoodEggFertilized.MakeBaby(), CraftUtil.MakeDish(), MakeFoodRef(), MakeRefFrom(), TraitSeed.MakeSeed(), DramaOutcome.melilith_friend(), CraftUtil.MixIngredients(), Zone_Casino.OnActivate(), TraitTrap.OnActivateTrap(), Zone_WindRest.OnAfterSimulate(), Trait.OnBarter(), TraitWell.OnBlend(), TraitBrewery.OnChildDecay(), FactionBranch.OnClaimZone(), ContentCodex.OnClickAddCards(), Thing.OnCreate(), TraitRod.OnCreate(), TraitDrink.OnDrink(), TraitDrinkMilkMother.OnDrink(), QuestRandom.OnDropReward(), Zone_CursedManor.OnGenerateMap(), Zone_CursedManorDungeon.OnGenerateMap(), Zone_WindRest.OnGenerateMap(), QuestTaskFlyer.OnGiveItem(), LayerCraft.OnKill(), Game.OnLoad(), Props.OnNumChange(), TraitAltar.OnOffer(), AI_Fish.ProgressFish.OnProgressComplete(), TaskBuild.OnProgressComplete(), TraitLicense.OnRead(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), TraitPaintBoard.OnRenderExtra(), TraitTrapMine.OnStepped(), TraitGainPrecious.OnUse(), TraitHat.OnUse(), TraitPotionEmpty.OnUse(), RecipeManager.OnVersionUpdate(), ZoneEventMusic.OnVisit(), AttackProcess.Perform(), AttackProcess.PlayRangedAnime(), DramaOutcome.poppy_found(), ActEffect.Proc(), ActEffect.ProcAt(), InvOwner.Transaction.Process(), PurgeDuplicateArtifact(), TCOrbitChara.RefreshAll(), LayerCraft.RefreshCategory(), LayerCraftFloat.RefreshDisassemble(), UIRecipeInfo.RefreshList(), TraitDaggerGrave.RemainingSword(), SerializedCards.Restore(), AI_Haul.Run(), AI_Idle.Run(), AI_PlayMusic.Run(), GoalCombat.Run(), RecipeUpdater.RunRecipe(), TraitDetector.Search(), ActWait.SearchMedal(), SecondaryCompare(), Portrait.SetChara(), TraitAltar.SetDeity(), Chara.SetMainElement(), CardActor.SetOwner(), Biography.SetPortrait(), Player.SetPriorityAction(), HitSummary.SetRecipe(), Chara.SetSource(), Thing.SetSource(), TaskHarvest.ShouldGenerateDismantled(), InvOwnerRecycle.ShouldShowGuide(), Chara.ShouldThrowAway(), Zone.Simulate(), DramaOutcome.sister_friend(), Tactics.Tactics(), DramaActor.Talk(), ActThrow.Throw(), AI_PlayMusic.ThrowReward(), Chara.TryPoisonPotion(), Chara.TryReservePickupTutorial(), Chara.TryTakeSharedItems(), TryUnrestrain(), Chara.TryUse(), GoalCombat.TryUseAbility(), CoreDebug.UpdateInput(), ElementContainerCard.ValueBonus(), and Element.BonusInfo.WriteNote().

◆ isDestroyed

◆ lastEmo

Emo Card.lastEmo

Definition at line 91 of file Card.cs.

◆ MaxWeight

const int Card.MaxWeight = 10000000
static

Definition at line 25 of file Card.cs.

◆ parent

◆ placeState

◆ pos

Point Card.pos = new Point()

Definition at line 55 of file Card.cs.

Referenced by Map._AddCard(), TaskPoint._CanPerformTask(), AIWork._FuncWorkPoint(), Chara._Move(), _OnDeserialized(), InvOwnerChaosOffering._OnProcess(), _OnSerializing(), AM_Adv._OnUpdateInput(), TraitShrine._OnUse(), WidgetDate._Refresh(), ActPlan._Update(), Zone.Activate(), SerializedCards.Add(), Map.AddCardOnActivate(), Zone.AddGlobalCharasOnActivate(), AddThing(), PartialMap.Apply(), TraitHouseBoard.ApplyData(), Chara.ApplyDeathPenalty(), ActMelee.Attack(), AM_Adv.AxisMove(), Recipe.Build(), AI_Shopping.Buy(), MeetingManager.CallNext(), TraitTrolley.CanActivate(), TraitDoor.CanClose(), Chara.CanInteractTo(), GoalManualMove.CanMove(), Chara.CanMoveTo(), ActBash.CanPerform(), ActKick.CanPerform(), ActRanged.CanPerform(), ActRush.CanPerform(), ActThrow.CanPerform(), Act.CanPerform(), Chara.CanPick(), Chara.CanReplace(), Chara.CanSee(), Player.CanSee(), Chara.CanSeeLos(), ActThrow.CanThrow(), QuestDefense.CanUpdateOnTalk(), TraitGeneratorWheel.CanUse(), TraitShackle.CanUse(), Zone.ClaimZone(), CoreDebug.COM_Teleport(), Trait.CookProgress(), TraitCrafter.Craft(), RecipeCard.Craft(), SpatialGen.CreateInstance(), AI_PracticeDummy.CreateProgress(), AI_Torture.CreateProgress(), Region.CreateRandomSite(), TraitNewZone.CreateZone(), FactionBranch.DailyOutcome(), ActEffect.DamageEle(), Chara.DestroyPath(), Die(), Dist(), ActionMode.DoFunc(), AI_Idle.DoSomethingToCharaInRadius(), AI_Idle.DoSomethingToNearChara(), BaseGameScreen.Draw(), BaseTileMap.Draw(), TileMapElona.Draw(), CardRenderer.Draw(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), Player.DropReward(), EjectSockets(), WidgetMinimap.EmitParticle(), Player.EnterLocalZone(), ZonePreEnterBout.Execute(), ZonePreEnterBoutWin.Execute(), ZonePreEnterEncounter.Execute(), DramaOutcome.fiama_pet(), Chara.FindNearestNewEnemy(), Map.FindThing(), BaseGameScreen.Focus(), BaseGameScreen.FocusPC(), TraitBoat.ForeachDeck(), FactionBranch.GenerateGarbage(), DramaOutcome.get_scratch(), ActPlan.GetAction(), AI_Pray.GetAltar(), AI_Clean.GetCleanPoint(), AI_Goto.GetDestination(), AIAct.GetDestination(), Hobby.GetEfficiency(), BaseArea.GetEmptySeat(), TraitNewZone.GetExitPos(), TraitStairs.GetExitPos(), Chara.GetFirstStep(), TaskMine.GetHitResult(), FactionBranch.GetMailBoxPos(), CoreDebug.GetOrCreateDebugContainer(), Trait.GetPoint(), AI_Trolley.GetPoint(), FortuneRollData.GetPrize(), Trait.GetRandomPoint(), Zone.GetRandomVisitPos(), Chara.GetRevived(), Chara.GetRoomWork(), Zone.GetSpawnPos(), Chara.GetSubPassData(), TraitGeneMachine.GetTarget(), AI_Haul.GetThingToClean(), TaskHarvest.HarvestThing(), Chara.HasAccess(), Chara.HasHigherGround(), ZoneEventDefenseGame.Horn_Ally(), TraitFoodEggFertilized.Incubate(), Scene.Init(), AI_Goto.IsDestinationReached(), IsInMutterDistance(), TraitDoor.IsOpen(), TraitShackle.IsRestraining(), TraitDoor.IsValid(), Los.IsVisible(), Chara.Kick(), HomeResourceWorth.ListHeirloom(), Trait.ListPoints(), TraitLightSun.ListPoints(), Props.ListThingStack(), Region.ListTravelZones(), Chara.LookAt(), Map.MineFloor(), Player.ModKarma(), Chara.MoveNeighborDefinitely(), Chara.MoveRandom(), TraitNewZone.MoveZone(), TraitMoongate.MoveZone(), Trait.Offer(), Trait.OfferProcess(), AM_Adv.OnActivate(), WidgetArtTool.OnActivate(), TraitHitchingPost.OnActivateTrap(), FactionBranch.OnActivateZone(), Region.OnAdvanceHour(), FactionBranch.OnAfterSimulate(), AM_Adv.OnAfterUpdate(), Chara.OnBanish(), AM_Adv.OnBecomeNoGoal(), Zone_Nymelle.OnBeforeSimulate(), ConSleep.OnBeforeStart(), TraitHouseBoard.OnChangePlaceState(), QuestIntroInspector.OnComplete(), QuestVernis.OnComplete(), TaskDig.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), QuestDialog.OnDropReward(), TraitRollingFortune.OnEndAI(), ElementContainerCard.OnLevelUp(), ElementContainerZone.OnLevelUp(), Act.OnMarkMapHighlights(), ActBolt.OnMarkMapHighlights(), ActRush.OnMarkMapHighlights(), TraitAltar.OnOffer(), AM_Designation< T >.OnProcessTiles(), AM_MoveInstalled.OnProcessTiles(), AI_Fish.ProgressFish.OnProgressComplete(), AI_Sleep.OnProgressComplete(), QuestCraft.OnProgressComplete(), TaskBuild.OnProgressComplete(), TaskDig.OnProgressComplete(), TraitDeedRelocate.OnRead(), TraitDiary.OnRead(), TraitScrollStatic.OnRead(), ConSleep.OnRemoved(), ConSuspend.OnRemoved(), AM_Adv.OnRenderTile(), TraitFertilizer.OnSimulateHour(), GoalSleep.OnSimulatePosition(), QuestEscort.OnStart(), TraitNewZone.OnStepped(), TraitSwing.OnSteppedOut(), LayerCraftFloat.OnSwitchContent(), Scene.OnUpdate(), TraitDaggerGrave.OnUse(), TraitFarmChest.OnUse(), TraitGeneMachine.OnUse(), TraitGiftNewYear.OnUse(), TraitMannequin.OnUse(), TraitShackle.OnUse(), TraitStairsLocked.OnUse(), TraitContainer.Open(), DramaManager.ParseLine(), Act.Perform(), ActMultihit.Perform(), ActRanged.Perform(), ActRush.Perform(), ActSummonGuard.Perform(), ActThrow.Perform(), HotItemActionSleep.Perform(), ActPlan.Item.Perform(), AttackProcess.Perform(), Zone_Dungeon.PlaceRail(), EffectIRenderer.Play(), CardRenderer.PlayAnime(), PlayEffect(), AttackProcess.PlayRangedAnime(), PlaySound(), Trait.PlayToggleEffect(), AttackProcess.Prepare(), AM_Adv.PressedActionMove(), FoodEffect.Proc(), ActEffect.Proc(), ActEffect.ProcAt(), InvOwner.Transaction.Process(), DramaOutcome.QuestExploration_AfterCrystal(), CoreDebug.QuickStart(), TraitBaseSpellbook.ReadFailEffect(), FactionBranch.Recruit(), Religion.Reforge(), ActorEx.Refresh(), LayerTravel.Refresh(), WidgetMouseover.Refresh(), AM_Adv.RefreshArrow(), AM_Region.RefreshArrow(), Zone.RefreshBGM(), LayerCraftFloat.RefreshCraft(), WidgetSearch.RefreshList(), BaseGameScreen.RefreshPosition(), GameScreenElona.RefreshPosition(), BaseGameScreen.RefreshWeather(), GameScreenElona.RefreshWeather(), Weather.RefreshWeather(), Map.Resize(), SerializedCards.Restore(), Zone.Revive(), Chara.Revive(), AI_ArmPillow.Run(), AI_Bladder.Run(), AI_Clean.Run(), AI_Cook.Run(), AI_Fuck.Run(), AI_Haul.Run(), AI_Idle.Run(), AI_Massage.Run(), AI_Offer.Run(), AI_PassTime.Run(), AI_PlayMusic.Run(), AI_Shear.Run(), AI_Shopping.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_TargetCard.Run(), AI_Torture.Run(), AI_UseCrafter.Run(), AIWork.Run(), GoalCombat.Run(), GoalManualMove.Run(), GoalSleep.Run(), TaskDump.Run(), TaskPoint.Run(), RecipeUpdater.RunDisassemble(), PartialMap.Save(), Map.Save(), ActWait.Search(), CharaRenderer.SetFirst(), SetPlaceState(), AM_Adv.SetPressedAction(), RegionPoint.SetRegionPoint(), WidgetHotbar.SetShortcutMenu(), UISong.SetSong(), TraitGeneratorWheel.ShouldWork(), AM_Adv.ShowAllAction(), LayerCraftFloat.ShowContextMenu(), Zone.Simulate(), Player.SimulateFaction(), CoreDebug.Spawn(), CoreDebug.SpawnBoss(), ButtonAbility.SpecialHoldAction(), Chara.Stumble(), ConSleep.SuccubusVisit(), Chara.SyncRide(), Player.TargetRanged(), CoreDebug.TestSpawn(), ActThrow.Throw(), AI_PlayMusic.ThrowReward(), Chara.Tick(), ConFear.Tick(), ConMiasma.Tick(), ConSleep.Tick(), ConSuspend.Tick(), TraitDoor.ToggleDoor(), TraitDoorSwing.ToggleDoor(), ToString(), Chara.ToString(), TraitSwitch.TryDisarmTrap(), Religion.TryGetGift(), AI_Goto.TryGoTo(), GoalCombat.TryMove(), GoalManualMove.TryMove(), Chara.TryMoveFrom(), Chara.TryMoveTowards(), AI_Shopping.TryRestock(), HotItemAct.TrySetAct(), HotItemHeld.TrySetAct(), TraitCanvas.TrySetAct(), TraitCoreZone.TrySetAct(), TraitHouseBoard.TrySetAct(), TraitNewZone.TrySetAct(), TraitRoomPlate.TrySetAct(), TraitWaystone.TrySetAct(), TraitCatalyst.TrySetHeldAct(), TraitToolBrush.TrySetHeldAct(), TraitToolButcher.TrySetHeldAct(), TraitToolShears.TrySetHeldAct(), Map.TryShatter(), Map.TrySmoothPick(), TraitSeed.TrySprout(), TraitTeleporter.TryTeleport(), GoalCombat.TryThrow(), ButtonAbility.TryUse(), ActRide.Unride(), GameUpdater.Update(), TraitFoodEgg.Update(), TraitSpotSpawn.Update(), GameUpdater.Update100ms(), CoreDebug.UpdateInput(), AM_Adv.UpdateLangWheel(), CharaRenderer.UpdatePosition(), WidgetDebug.UpdateText(), Chara.UseAbility(), and VirtualRoom.VirtualRoom().

◆ props

Props Card.props

Definition at line 47 of file Card.cs.

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

◆ renderer

CardRenderer Card.renderer

Definition at line 57 of file Card.cs.

Referenced by Chara._Move(), ActPlan._Update(), GameDate.AdvanceMonth(), ActMelee.Attack(), RecipeCard.Build(), Chara.ChangeRarity(), BaseGameScreen.Draw(), CardRenderer.Draw(), CharaRenderer.DrawHeld(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), RecipeCard.GetRenderer(), BaseTileMap.GetThingPosition(), AM_Adv.OnActivate(), AM_Adv.OnBeforeUpdate(), TraitGodStatue.OnChangeMaterial(), BaseListPeople.OnClick(), TaskChopWood.OnCreateProgress(), TaskDig.OnCreateProgress(), TaskHarvest.OnCreateProgress(), TaskMine.OnCreateProgress(), TaskPlow.OnCreateProgress(), Map.OnDeactivate(), GrowSystemTree.OnHitFail(), EffectIRenderer.OnKill(), Zone.OnKillGame(), AM_MoveInstalled.OnProcessTiles(), AI_Fish.ProgressFish.OnProgress(), AI_Fish.ProgressFish.OnProgressComplete(), TaskBuild.OnProgressComplete(), ConFaint.OnRemoved(), CardActor.OnRender(), CharaActorPCC.OnRender(), CharaActorPCC.OnSetOwner(), TCOrbitChara.OnSetOwner(), TCOrbitThing.OnSetOwner(), EffectIRenderer.OnUpdate(), Scene.OnUpdate(), TraitPowerStatue.OnUse(), ActBash.Perform(), ActRanged.Perform(), EffectIRenderer.Play(), CardRenderer.PlayAnime(), PlayEffect(), AttackProcess.PlayRangedAnime(), BaseStats.PopText(), TraitEffect.Proc(), TCOrbitChara.Refresh(), TCOrbitThing.Refresh(), BaseGameScreen.RefreshPosition(), GameScreenElona.RefreshPosition(), Trait.RefreshRenderer(), TraitToolTorch.RefreshRenderer(), Trait.Refuel(), Zone.RemoveCard(), TraitDoor.RotateDoor(), AI_Bladder.Run(), AI_Deconstruct.Run(), AI_Fuck.Run(), AI_Massage.Run(), AI_OpenGambleChest.Run(), AI_Paint.Run(), AI_PlayMusic.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), AI_UseCrafter.Run(), GoalWait.Run(), NoGoal.Run(), TaskClean.Run(), LayerPixelPaint.SetCanvas(), ConFaint.SetOwner(), ConSleep.SetOwner(), ActThrow.Throw(), Player.TooHeavyToMove(), CoreDebug.UpdateInput(), and WidgetDebug.UpdateText().

◆ reservedAct

AIAct Card.reservedAct

Definition at line 45 of file Card.cs.

Referenced by CanReserve(), and TryReserve().

◆ roundTimer

float Card.roundTimer

Definition at line 65 of file Card.cs.

Referenced by WidgetDebug.UpdateText().

◆ sockets

◆ sortVal

◆ things

ThingContainer Card.things = new ThingContainer()

Definition at line 34 of file Card.cs.

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

◆ trait

Trait Card.trait

Definition at line 49 of file Card.cs.

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

◆ turn

Property Documentation

◆ _IsPC

bool Card._IsPC
get

Definition at line 2045 of file Card.cs.

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

◆ _placeState

PlaceState Card._placeState
getset

Definition at line 273 of file Card.cs.

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

Referenced by _OnDeserialized(), and _OnSerializing().

◆ _x

int Card._x
getset

Definition at line 165 of file Card.cs.

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

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

◆ _z

int Card._z
getset

Definition at line 177 of file Card.cs.

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

Referenced by _OnDeserialized(), and _OnSerializing().

◆ actorPrefab

virtual string Card.actorPrefab
get

Definition at line 2029 of file Card.cs.

◆ AliasMaterialOnCreate

virtual string Card.AliasMaterialOnCreate
get

Definition at line 1953 of file Card.cs.

Referenced by Create().

◆ altitude

int Card.altitude
getset

Definition at line 213 of file Card.cs.

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

Referenced by SerializedCards.Add(), CardRenderer.Draw(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), Duplicate(), Cell.GetSurfaceHeight(), BaseTileMap.GetThingPosition(), AM_MoveInstalled.OnProcessTiles(), and SetPlaceState().

◆ ammoData

Thing Card.ammoData
getset

Definition at line 1708 of file Card.cs.

1709 {
1710 get
1711 {
1712 return GetObj<Thing>(9);
1713 }
1714 set
1715 {
1716 SetObj(9, value);
1717 }
1718 }
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 597 of file Card.cs.

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

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

◆ blessedState

◆ c_allowance

int Card.c_allowance
getset

Definition at line 1276 of file Card.cs.

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

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

◆ c_altName

string Card.c_altName
getset

Definition at line 1516 of file Card.cs.

1517 {
1518 get
1519 {
1520 return GetStr(1);
1521 }
1522 set
1523 {
1524 SetStr(1, value);
1525 }
1526 }
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 1528 of file Card.cs.

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

◆ c_ammo

int Card.c_ammo
getset

Definition at line 1408 of file Card.cs.

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

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

◆ c_bedType

BedType Card.c_bedType
getset

Definition at line 899 of file Card.cs.

900 {
901 get
902 {
903 return GetInt(9).ToEnum<BedType>();
904 }
905 set
906 {
907 SetInt(9, (int)value);
908 }
909 }
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 1240 of file Card.cs.

1241 {
1242 get
1243 {
1244 return GetInt(23);
1245 }
1246 set
1247 {
1248 SetInt(23, value);
1249 }
1250 }

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

◆ c_bossType

BossType Card.c_bossType
getset

Definition at line 1180 of file Card.cs.

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

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

◆ c_charaList

CharaList Card.c_charaList
getset

Definition at line 1816 of file Card.cs.

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

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

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

◆ c_containerSize

int Card.c_containerSize
getset

Definition at line 1312 of file Card.cs.

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

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

◆ c_containerUpgrade

ContainerUpgrade Card.c_containerUpgrade
getset

Definition at line 1792 of file Card.cs.

1793 {
1794 get
1795 {
1796 return GetObj<ContainerUpgrade>(12) ?? (c_containerUpgrade = new ContainerUpgrade());
1797 }
1798 set
1799 {
1800 SetObj(12, value);
1801 }
1802 }
ContainerUpgrade c_containerUpgrade
Definition: Card.cs:1793

Referenced by TraitWrench.Upgrade().

◆ c_context

string Card.c_context
getset

Definition at line 1600 of file Card.cs.

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

Referenced by TraitDaggerGrave.OnUse().

◆ c_copyContainer

Thing Card.c_copyContainer
getset

Definition at line 1732 of file Card.cs.

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

Referenced by Trait.OnBarter().

◆ c_corruptionHistory

List<int> Card.c_corruptionHistory
getset

Definition at line 1780 of file Card.cs.

1781 {
1782 get
1783 {
1784 return GetObj<List<int>>(16);
1785 }
1786 set
1787 {
1788 SetObj(16, value);
1789 }
1790 }

◆ c_dateCooked

int Card.c_dateCooked
getset

Definition at line 1300 of file Card.cs.

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

◆ c_dateDeathLock

int Card.c_dateDeathLock
getset

Definition at line 1204 of file Card.cs.

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

◆ c_dateStockExpire

int Card.c_dateStockExpire
getset

Definition at line 1192 of file Card.cs.

1193 {
1194 get
1195 {
1196 return GetInt(22);
1197 }
1198 set
1199 {
1200 SetInt(22, value);
1201 }
1202 }

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

◆ c_daysWithGod

int Card.c_daysWithGod
getset

Definition at line 1420 of file Card.cs.

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

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

◆ c_diceDim

int Card.c_diceDim
getset

Definition at line 1336 of file Card.cs.

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

Referenced by AttackProcess.Prepare().

◆ c_DNA

DNA Card.c_DNA
getset

Definition at line 1804 of file Card.cs.

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

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

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

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

◆ c_editorTags

string Card.c_editorTags
getset

Definition at line 1624 of file Card.cs.

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

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

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

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

◆ c_equippedSlot

int Card.c_equippedSlot
getset

Definition at line 911 of file Card.cs.

912 {
913 get
914 {
915 return GetInt(6);
916 }
917 set
918 {
919 SetInt(6, value);
920 }
921 }

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

◆ c_extraNameRef

string Card.c_extraNameRef
getset

Definition at line 1540 of file Card.cs.

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

Referenced by MakeRefFrom().

◆ c_fixedValue

int Card.c_fixedValue
getset

Definition at line 1132 of file Card.cs.

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

◆ c_fur

int Card.c_fur
getset

Definition at line 1288 of file Card.cs.

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

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

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

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

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

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

◆ c_idBacker

int Card.c_idBacker
getset

Definition at line 1384 of file Card.cs.

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

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

◆ c_idDeity

string Card.c_idDeity
getset

Definition at line 1504 of file Card.cs.

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

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

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

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

◆ c_idJob

string Card.c_idJob
getset

Definition at line 1456 of file Card.cs.

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

◆ c_idMainElement

int Card.c_idMainElement
getset

Definition at line 1360 of file Card.cs.

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

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

◆ c_idPortrait

string Card.c_idPortrait
getset

Definition at line 1432 of file Card.cs.

1433 {
1434 get
1435 {
1436 return GetStr(9);
1437 }
1438 set
1439 {
1440 SetStr(9, value);
1441 }
1442 }

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

◆ c_idRace

string Card.c_idRace
getset

Definition at line 1444 of file Card.cs.

1445 {
1446 get
1447 {
1448 return GetStr(3);
1449 }
1450 set
1451 {
1452 SetStr(3, value);
1453 }
1454 }

◆ c_idRefCard

◆ c_idRefCard2

string Card.c_idRefCard2
getset

Definition at line 1672 of file Card.cs.

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

Referenced by Thing.CanStackTo().

◆ c_idRefName

string Card.c_idRefName
getset

Definition at line 1564 of file Card.cs.

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

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

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

Referenced by ActPlan._Update().

◆ c_idTalk

string Card.c_idTalk
getset

Definition at line 1492 of file Card.cs.

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

Referenced by Person.GetDramaTitle().

◆ c_idTone

string Card.c_idTone
getset

Definition at line 1468 of file Card.cs.

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

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

◆ c_idTrait

string Card.c_idTrait
getset

Definition at line 1648 of file Card.cs.

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

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

◆ c_IDTState

int Card.c_IDTState
getset

Definition at line 1216 of file Card.cs.

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

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

◆ c_indexContainerIcon

int Card.c_indexContainerIcon
getset

Definition at line 1348 of file Card.cs.

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

Referenced by ButtonGrid.SetCard().

◆ c_invest

int Card.c_invest
getset

Definition at line 1252 of file Card.cs.

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

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

◆ c_isDisableStockUse

bool Card.c_isDisableStockUse
getset

Definition at line 1043 of file Card.cs.

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

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

◆ c_isImportant

◆ c_isPrayed

bool Card.c_isPrayed
getset

Definition at line 1031 of file Card.cs.

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

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

◆ c_isTrained

bool Card.c_isTrained
getset

Definition at line 1019 of file Card.cs.

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

◆ c_lightColor

int Card.c_lightColor
getset

Definition at line 1055 of file Card.cs.

1056 {
1057 get
1058 {
1059 return GetInt(5);
1060 }
1061 set
1062 {
1063 Mod();
1064 SetInt(5, value);
1065 }
1066 }
void Mod()
Definition: Card.cs:2411

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

◆ c_lockedHard

bool Card.c_lockedHard
getset

Definition at line 995 of file Card.cs.

996 {
997 get
998 {
999 return GetInt(63) != 0;
1000 }
1001 set
1002 {
1003 SetInt(63, value ? 1 : 0);
1004 }
1005 }

Referenced by Trait.TryOpenLock().

◆ c_lockLv

◆ c_minionType

MinionType Card.c_minionType
getset

Definition at line 947 of file Card.cs.

948 {
949 get
950 {
951 return GetInt(61).ToEnum<MinionType>();
952 }
953 set
954 {
955 SetInt(61, (int)value);
956 }
957 }
MinionType
Definition: MinionType.cs:2

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

◆ c_note

string Card.c_note
getset

Definition at line 1684 of file Card.cs.

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

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

◆ c_originalHostility

Hostility Card.c_originalHostility
getset

Definition at line 935 of file Card.cs.

936 {
937 get
938 {
939 return GetInt(12).ToEnum<Hostility>();
940 }
941 set
942 {
943 SetInt(12, (int)value);
944 }
945 }

Referenced by Chara.CreateReplacement().

◆ c_priceAdd

int Card.c_priceAdd
getset

Definition at line 1108 of file Card.cs.

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

Referenced by Thing.CanStackTo().

◆ c_priceCopy

int Card.c_priceCopy
getset

Definition at line 1120 of file Card.cs.

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

Referenced by CraftUtil.MixIngredients().

◆ c_priceFix

int Card.c_priceFix
getset

Definition at line 1096 of file Card.cs.

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

Referenced by Thing.CanStackTo().

◆ c_refText

string Card.c_refText
getset

Definition at line 1552 of file Card.cs.

1553 {
1554 get
1555 {
1556 return GetStr(10);
1557 }
1558 set
1559 {
1560 SetStr(10, value);
1561 }
1562 }

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

◆ c_rescueState

RescueState Card.c_rescueState
getset

Definition at line 1168 of file Card.cs.

1169 {
1170 get
1171 {
1172 return GetInt(53).ToEnum<RescueState>();
1173 }
1174 set
1175 {
1176 SetInt(53, (int)value);
1177 }
1178 }

◆ c_revealLock

bool Card.c_revealLock
getset

Definition at line 1007 of file Card.cs.

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

Referenced by Trait.OnBarter().

◆ c_seed

int Card.c_seed
getset

Definition at line 1264 of file Card.cs.

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

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

◆ c_summonDuration

int Card.c_summonDuration
getset

Definition at line 1372 of file Card.cs.

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

◆ c_textureData

byte [] Card.c_textureData
getset

Definition at line 1828 of file Card.cs.

1829 {
1830 get
1831 {
1832 return GetObj<byte[]>(4);
1833 }
1834 set
1835 {
1836 SetObj(4, value);
1837 }
1838 }

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

◆ c_uidMaster

int Card.c_uidMaster
getset

Definition at line 1396 of file Card.cs.

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

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

◆ c_uidRefCard

int Card.c_uidRefCard
getset

Definition at line 1083 of file Card.cs.

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

Referenced by TraitShackle.IsRestraining().

◆ c_uidZone

int Card.c_uidZone
getset

Definition at line 1070 of file Card.cs.

1071 {
1072 get
1073 {
1074 return GetInt(10);
1075 }
1076 set
1077 {
1078 Mod();
1079 SetInt(10, value);
1080 }
1081 }

◆ c_uniqueData

UniqueData Card.c_uniqueData
getset

Definition at line 1696 of file Card.cs.

1697 {
1698 get
1699 {
1700 return GetObj<UniqueData>(6);
1701 }
1702 set
1703 {
1704 SetObj(6, value);
1705 }
1706 }

◆ c_upgrades

CharaUpgrade Card.c_upgrades
getset

Definition at line 1756 of file Card.cs.

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

Referenced by WindowCharaMini.Refresh().

◆ c_vomit

int Card.c_vomit
getset

Definition at line 959 of file Card.cs.

960 {
961 get
962 {
963 return GetInt(13);
964 }
965 set
966 {
967 SetInt(13, value);
968 }
969 }

◆ c_wasInPcParty

bool Card.c_wasInPcParty
getset

Definition at line 971 of file Card.cs.

972 {
973 get
974 {
975 return GetInt(103) != 0;
976 }
977 set
978 {
979 SetInt(103, value ? 1 : 0);
980 }
981 }

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

◆ c_weight

int Card.c_weight
getset

Definition at line 1324 of file Card.cs.

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

Referenced by ChangeWeight().

◆ c_windowSaveData

Window.SaveData Card.c_windowSaveData
getset

Definition at line 1744 of file Card.cs.

1745 {
1746 get
1747 {
1748 return GetObj<Window.SaveData>(2);
1749 }
1750 set
1751 {
1752 SetObj(2, value);
1753 }
1754 }

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

◆ CanInspect

bool Card.CanInspect
get

Implements IInspect.

Definition at line 2369 of file Card.cs.

2370 {
2371 get
2372 {
2373 if (!isDestroyed)
2374 {
2375 return ExistsOnMap;
2376 }
2377 return false;
2378 }
2379 }
bool ExistsOnMap
Definition: Card.cs:1985

◆ category

◆ Cell

◆ CHA

◆ Chara

virtual Chara Card.Chara
get

Definition at line 1969 of file Card.cs.

1970 {
1971 get
1972 {
1973 if (!isChara)
1974 {
1975 return null;
1976 }
1977 return (Chara)this;
1978 }
1979 }

Referenced by InvOwnerBlend._OnProcess(), ActPlan._Update(), SerializedCards.Add(), Props.Add(), Cell.AddCard(), Zone.AddCard(), Map.AddCardOnActivate(), InvOwner.AllowHold(), Feat.Apply(), ApplyEditorTags(), Thing.ApplyMaterialElements(), ActMelee.Attack(), GuildFighter.CanGiveContribution(), ActNTR.CanPerform(), ActRestrain.CanPerform(), Chara.CanSee(), Chara.CanSeeLos(), InvOwner.CanShiftClick(), TraitSalesTag.CanTagSale(), Faction.CountMembers(), ActEffect.DamageEle(), DamageHP(), Chara.Die(), Chara.DoHostileAction(), DragItemCard.DragInfo.DragInfo(), CardRenderer.Draw(), AI_Fuck.Finish(), Biography.Generate(), AI_Shear.GetFur(), LayerInspect.GetItem(), CardRow.GetName(), CardRenderer.GetPref(), Chara.GoHostile(), InvOwner.Grab(), Chara.HasHigherGround(), ElementContainer.ListElements(), InvOwner.ListInteractions(), MakeFoodFrom(), ElementContainer.ModExp(), Trait.OnBarter(), AI_Slaughter.OnCancelOrSuccess(), Map.OnCardAddedToZone(), Map.OnCardRemovedFromZone(), InvOwner.OnClick(), InvOwner.OnDrag(), ElementContainerCard.OnLevelDown(), ElementContainerCard.OnLevelUp(), AM_MoveInstalled.OnProcessTiles(), ItemGeneral.OnRefreshPref(), ActChat.Perform(), ActDreamBug.Perform(), ActKick.Perform(), ActNTR.Perform(), ActRanged.Perform(), ActRestrain.Perform(), ActEffect.Proc(), ActEffect.ProcAt(), InvOwner.Transaction.Process(), InvOwner.PutBack(), CardRenderer.RefreshExtra(), Props.Remove(), Cell.RemoveCard(), RemoveThing(), SerializedCards.Restore(), AI_AttackHome.Run(), AI_Shear.Run(), AI_Slaughter.Run(), AI_Steal.Run(), GoalSiege.Run(), ButtonGrid.SetBodySlot(), ButtonGeneral.SetCard(), Portrait.SetChara(), Meeting.SetChara(), PointTarget.ShouldIgnore(), ActThrow.Throw(), TryMakeRandomItem(), Trait.TrySetAct(), TraitLeash.TrySetHeldAct(), TraitStethoscope.TrySetHeldAct(), TraitWhipLove.TrySetHeldAct(), Map.TryShatter(), and ElementContainerCard.ValueBonus().

◆ ChildrenAndSelfWeight

◆ ChildrenAndSelfWeightSingle

int Card.ChildrenAndSelfWeightSingle
get

Definition at line 1943 of file Card.cs.

◆ ChildrenWeight

int Card.ChildrenWeight
get

Definition at line 1912 of file Card.cs.

1913 {
1914 get
1915 {
1916 if (dirtyWeight)
1917 {
1918 _childrenWeight = 0;
1919 if (!(trait is TraitMagicChest))
1920 {
1921 foreach (Thing thing in things)
1922 {
1924 }
1925 dirtyWeight = false;
1926 (parent as Card)?.SetDirtyWeight();
1927 if (isChara && IsPCFaction)
1928 {
1929 Chara.CalcBurden();
1930 }
1931 if (_childrenWeight < 0 || _childrenWeight > 10000000)
1932 {
1933 _childrenWeight = 10000000;
1934 }
1935 }
1936 }
1937 return _childrenWeight * Mathf.Max(100 - Evalue(404), 0) / 100;
1938 }
1939 }
int _childrenWeight
Definition: Card.cs:83
void CalcBurden()
Definition: Chara.cs:1587

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

◆ colorInt

int Card.colorInt
get

Definition at line 103 of file Card.cs.

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

◆ decay

int Card.decay
getset

Definition at line 201 of file Card.cs.

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

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

◆ DefaultLV

int Card.DefaultLV
get

Definition at line 1910 of file Card.cs.

Referenced by Create().

◆ DefaultMaterial

virtual SourceMaterial.Row Card.DefaultMaterial
get

Definition at line 2321 of file Card.cs.

Referenced by SerializedCards.Add().

◆ DEX

int Card.DEX
get

◆ dir

◆ disableAutoToggle

bool Card.disableAutoToggle
getset

Definition at line 573 of file Card.cs.

574 {
575 get
576 {
577 return _bits1[15];
578 }
579 set
580 {
581 _bits1[15] = value;
582 }
583 }

Referenced by Trait.TrySetToggleAct().

◆ DMG

int Card.DMG
get

Definition at line 2231 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ DV

virtual int Card.DV
get

Definition at line 2225 of file Card.cs.

Referenced by Thing.GetName().

◆ DyeMat

◆ encLV

◆ END

int Card.END
get

Definition at line 2237 of file Card.cs.

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

◆ ExistsOnMap

◆ exp

int Card.exp
getset

Definition at line 381 of file Card.cs.

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

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

◆ ExpToNext

int Card.ExpToNext
get

◆ FameLv

int Card.FameLv
get

Definition at line 2197 of file Card.cs.

2198 {
2199 get
2200 {
2201 if (!IsPC)
2202 {
2203 return LV;
2204 }
2205 return EClass.player.fame / 100 + 1;
2206 }
2207 }

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

◆ feat

int Card.feat
getset

Definition at line 357 of file Card.cs.

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

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

◆ flipX

virtual bool Card.flipX
get

Definition at line 2015 of file Card.cs.

2016 {
2017 get
2018 {
2019 if (Tiles.Length == 1)
2020 {
2021 return dir % 2 == 1;
2022 }
2023 return false;
2024 }
2025 }
virtual int[] Tiles
Definition: Card.cs:2209

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

◆ freePos

bool Card.freePos
getset

Definition at line 489 of file Card.cs.

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

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

◆ fx

float Card.fx
getset

Definition at line 237 of file Card.cs.

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

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

◆ fy

float Card.fy
getset

Definition at line 249 of file Card.cs.

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

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

◆ H

int Card.H
get

Definition at line 2265 of file Card.cs.

2266 {
2267 get
2268 {
2269 if (dir % 2 != 0)
2270 {
2271 return sourceCard.W;
2272 }
2273 return sourceCard.H;
2274 }
2275 }

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

◆ HasContainerSize

bool Card.HasContainerSize
get

Definition at line 2307 of file Card.cs.

◆ HasHost

virtual bool Card.HasHost
get

◆ hasSpawned

bool Card.hasSpawned
getset

Definition at line 873 of file Card.cs.

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

Referenced by Zone.AddCard().

◆ HIT

int Card.HIT
get

Definition at line 2229 of file Card.cs.

Referenced by AttackProcess.Prepare().

◆ HostRenderer

CardRenderer Card.HostRenderer
get

Definition at line 2341 of file Card.cs.

2342 {
2343 get
2344 {
2345 if (!isChara || Chara.host == null)
2346 {
2347 return renderer;
2348 }
2349 return Chara.host.renderer;
2350 }
2351 }

Referenced by AI_Idle.Run().

◆ hp

◆ idMaterial

int Card.idMaterial
getset

Definition at line 129 of file Card.cs.

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

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

◆ idSkin

int Card.idSkin
getset

◆ ignoreAutoPick

bool Card.ignoreAutoPick
getset

Definition at line 477 of file Card.cs.

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

Referenced by ActPlan._Update().

◆ ignoreStackHeight

bool Card.ignoreStackHeight
getset

Definition at line 609 of file Card.cs.

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

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

◆ InspectName

string Card.InspectName
get

Implements IInspect.

Definition at line 2381 of file Card.cs.

◆ InspectPoint

Point Card.InspectPoint
get

Implements IInspect.

Definition at line 2383 of file Card.cs.

◆ InspectPosition

Vector3 Card.InspectPosition
get

Implements IInspect.

Definition at line 2385 of file Card.cs.

◆ INT

int Card.INT
get

Definition at line 2249 of file Card.cs.

◆ invX

int Card.invX
getset

Definition at line 1842 of file Card.cs.

1843 {
1844 get
1845 {
1846 return pos.x;
1847 }
1848 set
1849 {
1850 pos.x = value;
1851 }
1852 }

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

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

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

◆ IsAgent

bool Card.IsAgent
get

◆ IsAliveInCurrentZone

◆ IsAmmo

◆ isBackerContent

bool Card.isBackerContent
get

Definition at line 885 of file Card.cs.

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

◆ IsBlessed

bool Card.IsBlessed
get

Definition at line 2153 of file Card.cs.

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

◆ isBroken

bool Card.isBroken
getset

Definition at line 705 of file Card.cs.

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

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

◆ isCensored

bool Card.isCensored
getset

Definition at line 405 of file Card.cs.

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

Referenced by CardRenderer.OnEnterScreen().

◆ isChara

◆ IsContainer

◆ isCopy

bool Card.isCopy
getset

Definition at line 849 of file Card.cs.

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

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

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

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

◆ IsCursed

bool Card.IsCursed
get

◆ IsDeadOrSleeping

virtual bool Card.IsDeadOrSleeping
get

Definition at line 2009 of file Card.cs.

Referenced by CardRenderer.Draw().

◆ IsDecayed

◆ isDeconstructing

bool Card.isDeconstructing
getset

Definition at line 417 of file Card.cs.

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

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

◆ IsDisabled

virtual bool Card.IsDisabled
get

Definition at line 2011 of file Card.cs.

◆ isDyed

bool Card.isDyed
getset

Definition at line 429 of file Card.cs.

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

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

◆ isElemental

bool Card.isElemental
getset

Definition at line 693 of file Card.cs.

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

◆ IsEquipment

◆ IsEquipmentOrRanged

bool Card.IsEquipmentOrRanged
get

Definition at line 2117 of file Card.cs.

2118 {
2119 get
2120 {
2121 if (category.slot == 0)
2122 {
2123 return IsRangedWeapon;
2124 }
2125 return true;
2126 }
2127 }

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

◆ IsEquipmentOrRangedOrAmmo

bool Card.IsEquipmentOrRangedOrAmmo
get

Definition at line 2129 of file Card.cs.

2130 {
2131 get
2132 {
2133 if (category.slot == 0 && !IsRangedWeapon)
2134 {
2135 return IsAmmo;
2136 }
2137 return true;
2138 }
2139 }

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

◆ isFireproof

bool Card.isFireproof
getset

Definition at line 645 of file Card.cs.

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

◆ isFloating

bool Card.isFloating
getset

Definition at line 621 of file Card.cs.

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

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

◆ IsFood

◆ IsFresn

bool Card.IsFresn
get

Definition at line 2191 of file Card.cs.

◆ IsFurniture

bool Card.IsFurniture
get

◆ isGifted

bool Card.isGifted
getset

Definition at line 753 of file Card.cs.

754 {
755 get
756 {
757 return _bits1[30];
758 }
759 set
760 {
761 _bits1[30] = value;
762 }
763 }

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

◆ isHidden

◆ IsHotItem

◆ IsIdentified

◆ IsImportant

bool Card.IsImportant
get

Definition at line 2005 of file Card.cs.

◆ isImported

bool Card.isImported
getset

Definition at line 585 of file Card.cs.

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

◆ IsInheritFoodTraits

bool Card.IsInheritFoodTraits
get

Definition at line 2077 of file Card.cs.

2078 {
2079 get
2080 {
2081 if (!IsFood && !category.IsChildOf("seed") && !category.IsChildOf("drink") && !(id == "pasture"))
2082 {
2083 return id == "grass";
2084 }
2085 return true;
2086 }
2087 }

◆ IsInstalled

bool Card.IsInstalled
get

Definition at line 2281 of file Card.cs.

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

◆ isLeashed

bool Card.isLeashed
getset

Definition at line 813 of file Card.cs.

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

Referenced by Chara._Move().

◆ IsLightsource

bool Card.IsLightsource
get

Definition at line 2071 of file Card.cs.

◆ isLostProperty

bool Card.isLostProperty
getset

Definition at line 777 of file Card.cs.

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

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

◆ IsMale

bool Card.IsMale
get

Definition at line 2283 of file Card.cs.

2284 {
2285 get
2286 {
2287 if (bio != null)
2288 {
2289 return bio.gender == 2;
2290 }
2291 return false;
2292 }
2293 }

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

◆ isMasked

◆ IsMeleeWeapon

bool Card.IsMeleeWeapon
get

◆ IsMinion

virtual bool Card.IsMinion
get

Definition at line 2051 of file Card.cs.

◆ isModified

bool Card.isModified
getset

Definition at line 441 of file Card.cs.

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

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

◆ IsMoving

virtual bool Card.IsMoving
get

Definition at line 2013 of file Card.cs.

◆ IsMultisize

virtual bool Card.IsMultisize
get

Definition at line 2057 of file Card.cs.

2058 {
2059 get
2060 {
2062 {
2063 return IsInstalled;
2064 }
2065 return false;
2066 }
2067 }
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 2295 of file Card.cs.

2296 {
2297 get
2298 {
2299 if (!HasTag(CTAG.neg))
2300 {
2301 return blessedState <= BlessedState.Cursed;
2302 }
2303 return true;
2304 }
2305 }

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

◆ isNew

bool Card.isNew
getset

Definition at line 453 of file Card.cs.

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

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

◆ isNPCProperty

◆ isOn

◆ IsPC

◆ IsPCC

virtual bool Card.IsPCC
get

Definition at line 2047 of file Card.cs.

Referenced by CardRenderer.GetPref().

◆ IsPCFaction

◆ IsPCFactionMinion

virtual bool Card.IsPCFactionMinion
get

Definition at line 2055 of file Card.cs.

Referenced by Chara.GoHostile().

◆ IsPCFactionOrMinion

◆ IsPCParty

◆ IsPCPartyMinion

virtual bool Card.IsPCPartyMinion
get

Definition at line 2053 of file Card.cs.

◆ isPlayerCreation

bool Card.isPlayerCreation
getset

Definition at line 465 of file Card.cs.

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

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

◆ IsPowerful

bool Card.IsPowerful
get

Definition at line 1993 of file Card.cs.

1994 {
1995 get
1996 {
1997 if (rarity >= Rarity.Legendary || trait is TraitAdventurer)
1998 {
1999 return !IsPCFaction;
2000 }
2001 return false;
2002 }
2003 }

Referenced by GoalCombat.Run(), and ConBurning.Tick().

◆ IsRangedWeapon

◆ isReplica

bool Card.isReplica
getset

Definition at line 669 of file Card.cs.

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

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

◆ isRestocking

bool Card.isRestocking
getset

Definition at line 861 of file Card.cs.

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

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

◆ isRestrained

◆ IsRestrainedResident

bool Card.IsRestrainedResident
get

Definition at line 2157 of file Card.cs.

2158 {
2159 get
2160 {
2161 if (isRestrained)
2162 {
2163 return IsPCFaction;
2164 }
2165 return false;
2166 }
2167 }

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

◆ isRoofItem

bool Card.isRoofItem
getset

Definition at line 549 of file Card.cs.

550 {
551 get
552 {
553 return _bits1[13];
554 }
555 set
556 {
557 _bits1[13] = value;
558 }
559 }

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

Referenced by ButtonGrid.SetCard().

◆ isSale

bool Card.isSale
getset

Definition at line 837 of file Card.cs.

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

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

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

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

◆ isSubsetCard

bool Card.isSubsetCard
getset

Definition at line 717 of file Card.cs.

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

Referenced by Zone.UpdateQuests().

◆ isSummon

bool Card.isSummon
getset

Definition at line 681 of file Card.cs.

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

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

Referenced by ActEffect.Proc().

◆ IsUnique

◆ IsVariation

bool Card.IsVariation
get

Definition at line 2223 of file Card.cs.

◆ IsWeapon

bool Card.IsWeapon
get

Definition at line 2105 of file Card.cs.

2106 {
2107 get
2108 {
2109 if (!IsMeleeWeapon)
2110 {
2111 return IsRangedWeapon;
2112 }
2113 return true;
2114 }
2115 }
bool IsMeleeWeapon
Definition: Card.cs:2141

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

◆ isWeightChanged

bool Card.isWeightChanged
getset

Definition at line 633 of file Card.cs.

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

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

◆ LER

int Card.LER
get

Definition at line 2241 of file Card.cs.

◆ LightColor

Color Card.LightColor
get

Definition at line 1068 of file Card.cs.

Referenced by ActPlan._Update().

◆ LightData

LightData Card.LightData
get

Definition at line 2329 of file Card.cs.

2330 {
2331 get
2332 {
2333 if (_LightData == null)
2334 {
2335 return _LightData = ((!sourceCard.lightData.IsEmpty()) ? EClass.Colors.lightColors[sourceCard.lightData] : null);
2336 }
2337 return _LightData;
2338 }
2339 }
string lightData
Definition: CardRow.cs:13
LightData _LightData
Definition: Card.cs:93
UD_String_LightData lightColors

Referenced by ActPlan._Update().

◆ LUC

int Card.LUC
get

Definition at line 2251 of file Card.cs.

◆ LV

int Card.LV
getset

Definition at line 369 of file Card.cs.

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

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

◆ MAG

int Card.MAG
get

Definition at line 2245 of file Card.cs.

◆ material

◆ MaxDecay

virtual int Card.MaxDecay
get

Definition at line 2185 of file Card.cs.

◆ MaxHP

virtual int Card.MaxHP
get

Definition at line 2193 of file Card.cs.

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

◆ Name

string Card.Name
get

Definition at line 2037 of file Card.cs.

Referenced by InvOwnerRecycle._OnProcess(), BuildMenu._Search(), Party.AddMemeber(), DramaCustomSequence.Build(), MeetingManager.CallNext(), GameLang.ConvertDrama(), LayerInventory.CreateContainerAlly(), FactionBranch.DailyOutcome(), ActEffect.DamageEle(), Decay(), Chara.DropThing(), Expedition.End(), ZonePreEnterEncounter.Execute(), AI_Fuck.Finish(), Person.GetDramaTitle(), LayerInspect.GetItem(), Msg.GetName(), FactionBranch.GetResidentTax(), ActPlan.Item.GetTextContext(), TaskHarvest.GetTextSmall(), ShopTransaction.Log(), GlobalGoalVisitAndStay.OnAdvanceHour(), TraitWell.OnBlend(), TaskHarvest.OnCreateProgress(), UIInventory.OnInit(), ElementContainerCard.OnLevelUp(), Game.OnLoad(), TraitBaseSpellbook.OnRead(), ActZap.Perform(), ActEffect.Proc(), ShopTransaction.Process(), WidgetCurrentTool.RebuildSlots(), FactionBranch.Recruit(), LayerQuestBoard.RefreshHire(), UIInventory.RefreshList(), UIInventory.RefreshMenu(), UIHomeInfo.RefreshReport(), Chara.RefreshSpeed(), SerializedCards.Restore(), AI_Slaughter.Run(), GoalCombat.Run(), TraitDetector.Search(), WidgetSearch.Search(), ButtonGeneral.SetCard(), ButtonGrid.SetCard(), ItemGeneral.SetChara(), Person.SetChara(), ButtonChara.SetChara(), LayerDragGrid.SetInv(), TraitMonsterBall.SetName(), CardActor.SetOwner(), ItemPopulation.SetTopic(), UIFactionInfo.SetZone(), UIZoneInfo.SetZone(), GameDate.ShipGoods(), CoreDebug.Spawn(), ZoneEventQuest.SpawnBoss(), CoreDebug.SpawnBoss(), Expedition.Start(), WidgetInspector.SwitchPage(), ToString(), GoalCombat.TryMove(), TraitSalesTag.TrySetHeldAct(), TraitSyringeGene.TrySetHeldAct(), TraitSyringeHeaven.TrySetHeldAct(), TraitWrench.TrySetHeldAct(), Map.TryShatter(), GoalCombat.TryUseAbility(), HomeResourceWorth.WriteNote(), EloPos.WriteNote(), and TraitBookSkill.WriteNote().

◆ NameOne

string Card.NameOne
get

Definition at line 2041 of file Card.cs.

Referenced by BuildMenu._Search().

◆ NameSimple

◆ noMove

bool Card.noMove
getset

◆ noSell

bool Card.noSell
getset

Definition at line 801 of file Card.cs.

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

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

◆ noShadow

bool Card.noShadow
getset

Definition at line 789 of file Card.cs.

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

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

◆ noSnow

bool Card.noSnow
getset

Definition at line 729 of file Card.cs.

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

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

◆ Num

int Card.Num
getset

Definition at line 153 of file Card.cs.

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

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

◆ parentCard

◆ parentThing

Thing Card.parentThing
get

Definition at line 101 of file Card.cs.

◆ PER

int Card.PER
get

Definition at line 2239 of file Card.cs.

◆ posInvX

int Card.posInvX
getset

Definition at line 321 of file Card.cs.

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

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

◆ posInvY

int Card.posInvY
getset

Definition at line 333 of file Card.cs.

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

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

◆ Power

virtual int Card.Power
get

Definition at line 2195 of file Card.cs.

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

◆ Pref

◆ PrefIndex

virtual int Card.PrefIndex
get

Definition at line 2211 of file Card.cs.

2212 {
2213 get
2214 {
2215 if (Tiles.Length < 3)
2216 {
2217 return dir % 2;
2218 }
2219 return dir;
2220 }
2221 }

Referenced by CardRenderer.Draw().

◆ PV

virtual int Card.PV
get

Definition at line 2227 of file Card.cs.

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

◆ Quality

int Card.Quality
get

Definition at line 2325 of file Card.cs.

Referenced by GetTotalQuality().

◆ QualityLv

int Card.QualityLv
get

Definition at line 2327 of file Card.cs.

Referenced by TraitBlanket.OnCreate().

◆ rarity

◆ rarityLv

int Card.rarityLv
getset

Definition at line 285 of file Card.cs.

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

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

◆ refCard

CardRow Card.refCard
get

Definition at line 1866 of file Card.cs.

1867 {
1868 get
1869 {
1870 object obj;
1871 if (!c_idRefCard.IsEmpty())
1872 {
1873 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard);
1874 if (obj == null)
1875 {
1876 return EClass.sources.cards.map["ash3"];
1877 }
1878 }
1879 else
1880 {
1881 obj = null;
1882 }
1883 return (CardRow)obj;
1884 }
1885 }

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

◆ refCard2

CardRow Card.refCard2
get

Definition at line 1887 of file Card.cs.

1888 {
1889 get
1890 {
1891 object obj;
1892 if (!c_idRefCard2.IsEmpty())
1893 {
1894 obj = EClass.sources.cards.map.TryGetValue(c_idRefCard2);
1895 if (obj == null)
1896 {
1897 return EClass.sources.cards.map["ash3"];
1898 }
1899 }
1900 else
1901 {
1902 obj = null;
1903 }
1904 return (CardRow)obj;
1905 }
1906 }

◆ refVal

◆ SelfWeight

virtual int Card.SelfWeight
get

Definition at line 1945 of file Card.cs.

Referenced by AI_Eat.Run().

◆ ShouldShowMsg

bool Card.ShouldShowMsg
get

Definition at line 2353 of file Card.cs.

2354 {
2355 get
2356 {
2357 if (IsPC || parent == EClass.pc || isSynced)
2358 {
2359 if (isChara)
2360 {
2361 return !Chara.isDead;
2362 }
2363 return true;
2364 }
2365 return false;
2366 }
2367 }
bool isDead
Definition: Chara.cs:379

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

◆ ShowFoodEnc

bool Card.ShowFoodEnc
get

Definition at line 2089 of file Card.cs.

2090 {
2091 get
2092 {
2094 {
2095 if (Evalue(10) > 0)
2096 {
2098 }
2099 return false;
2100 }
2101 return true;
2102 }
2103 }
bool IsInheritFoodTraits
Definition: Card.cs:2078

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

◆ socketList

List<SocketData> Card.socketList
getset

Definition at line 1720 of file Card.cs.

1721 {
1722 get
1723 {
1724 return GetObj<List<SocketData>>(17);
1725 }
1726 set
1727 {
1728 SetObj(17, value);
1729 }
1730 }

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

◆ sourceBacker

SourceBacker.Row Card.sourceBacker
get

Definition at line 887 of file Card.cs.

888 {
889 get
890 {
891 if (!isBackerContent)
892 {
893 return null;
894 }
895 return EClass.sources.backers.map.TryGetValue(c_idBacker);
896 }
897 }

◆ sourceCard

◆ sourceRenderCard

virtual CardRow Card.sourceRenderCard
get

◆ STR

int Card.STR
get

Definition at line 2233 of file Card.cs.

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

◆ TextRarity

string Card.TextRarity
get

Definition at line 2279 of file Card.cs.

◆ Thing

virtual Thing Card.Thing
get

Definition at line 1957 of file Card.cs.

1958 {
1959 get
1960 {
1961 if (!isThing)
1962 {
1963 return null;
1964 }
1965 return (Thing)this;
1966 }
1967 }

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

◆ tier

int Card.tier
getset

Definition at line 393 of file Card.cs.

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

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

◆ Tiles

virtual int [] Card.Tiles
get

Definition at line 2209 of file Card.cs.

◆ TileType

◆ Tool

◆ uid

int Card.uid
getset

Definition at line 117 of file Card.cs.

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

Referenced by CardManager.GlobalCharaList.Add(), CharaList.Add(), FactionBranch.AddMemeber(), Party.AddMemeber(), Faction.AddReserve(), ElementContainer.ApplyMaterialElementMap(), Recipe.BuildIngredientList(), DropdownGrid.BuildIngredients(), CalcMoney.BuySlave(), QuestDeliver.CanDeliverToClient(), Expedition.Create(), Recipe.Create(), QuestInstance.CreateInstanceZone(), CardRenderer.Draw(), ZonePreEnterOnCompleteQuestInstance.Execute(), CardManager.GlobalCharaList.Find(), CardManager.Find(), Props.Find(), ThingContainer.Find(), Map.FindChara(), Zone.FindChara(), Map.FindThing(), ItemPosition.Get(), RefChara.GetAndCache(), GoalGraze.GetPos(), Portrait.GetRandomHairColor(), RelationManager.GetRelation(), TraitGeneMachine.GetTarget(), TeleportManager.GetTeleportZone(), GuildFighter.HasBounty(), TraitBed.IsHolder(), TraitShackle.IsRestraining(), UICharaMaker.ListJob(), UICharaMaker.ListRace(), Chara.MakeMinion(), TraitTeleporter.OnChangePlaceState(), BaseListPeople.OnClick(), ListPeopleExpedition.OnClick(), Player.OnCreateGame(), QuestDeliver.OnEnterZone(), ZoneEventSiege.OnFirstTick(), Game.OnGameInstantiated(), ListPeopleExpedition.OnList(), ConSleep.OnRemoved(), Chara.OnSerializing(), QuestEscort.OnStart(), TraitGeneMachine.OnUse(), HotItemEQSet.Perform(), ReferenceId(), ItemQuestTracker.Refresh(), HotItemEQSet.Register(), CardManager.GlobalCharaList.Remove(), CharaList.Remove(), Party.RemoveMember(), Faction.RemoveReserve(), Party.Replace(), SerializedCards.Restore(), TraitShackle.Restrain(), Recipe.SaveLastIngredients(), SecondaryCompare(), RefChara.Set(), ItemGeneral.SetChara(), Person.SetChara(), TeleportManager.SetID(), SetLv(), ElementContainerCard.SetOwner(), ListPeopleExpedition.SetSubText(), ZoneEventQuest.Spawn(), ZoneEventQuest.SpawnBoss(), Msg.TalkMaid(), ActThrow.Throw(), ConSleep.Tick(), and Thing.TryLickEnchant().

◆ visitorState

VisitorState Card.visitorState
getset

Definition at line 1156 of file Card.cs.

1157 {
1158 get
1159 {
1160 return GetInt(4).ToEnum<VisitorState>();
1161 }
1162 set
1163 {
1164 SetInt(4, (int)value);
1165 }
1166 }
VisitorState
Definition: VisitorState.cs:2

◆ W

int Card.W
get

Definition at line 2253 of file Card.cs.

2254 {
2255 get
2256 {
2257 if (dir % 2 != 0)
2258 {
2259 return sourceCard.H;
2260 }
2261 return sourceCard.W;
2262 }
2263 }

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

◆ WeightLimit

virtual int Card.WeightLimit
get

Definition at line 1947 of file Card.cs.

Referenced by UICurrency.Build().

◆ WIL

int Card.WIL
get

Definition at line 2243 of file Card.cs.

Referenced by AttackProcess.Prepare().


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