Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
TraitDrink Class Reference
Inheritance diagram for TraitDrink:
Trait EClass TraitDrinkMilk TraitDrug TraitPotion TraitPotionEmpty TraitDrinkMilkMother TraitPotionLove TraitPotionRandom TraitPerfume

Public Member Functions

override bool CanDrink (Chara c)
 
bool IsBlend ()
 
override bool CanBlend (Thing t)
 
override void OnBlend (Thing t, Chara c)
 
override void OnDrink (Chara c)
 
override void OnThrowGround (Chara c, Point p)
 
override Action GetHealAction (Chara c)
 
- Public Member Functions inherited from Trait
string GetParam (int i, string def=null)
 
int GetParamInt (int i, int def)
 
virtual bool Contains (RecipeSource r)
 
virtual int GetValue ()
 
virtual bool CanStackTo (Thing to)
 
virtual string GetHoverText ()
 
virtual Action GetHealAction (Chara c)
 
virtual bool CanBlend (Thing t)
 
virtual void OnBlend (Thing t, Chara c)
 
virtual int GetActDuration (Chara c)
 
virtual SourceElement.Row GetRefElement ()
 
virtual Sprite GetRefSprite ()
 
virtual void OnRenderExtra (RenderParam p)
 
virtual Emo2 GetHeldEmo (Chara c)
 
virtual void SetOwner (Card _owner)
 
virtual bool IdleUse (Chara c, int dist)
 
virtual void OnSetOwner ()
 
virtual void OnImportMap ()
 
virtual void SetParams (params string[] s)
 
virtual void OnCrafted (Recipe recipe)
 
virtual void OnCreate (int lv)
 
virtual void OnEquip (Chara c, bool onSetOwner)
 
virtual void OnUnequip (Chara c)
 
virtual void OnChangePlaceState (PlaceState state)
 
virtual void OnAddedToZone ()
 
virtual void OnRemovedFromZone ()
 
virtual void OnSimulateHour (VirtualDate date)
 
virtual string GetName ()
 
virtual void SetName (ref string s)
 
virtual void OnRenderTile (Point point, HitResult result, int dir)
 
virtual int CompareTo (Card b)
 
virtual bool CanBuiltAt (Point p)
 
virtual void Update ()
 
Point GetPoint ()
 
Point GetRandomPoint (Func< Point, bool > func=null, Chara accessChara=null)
 
virtual List< PointListPoints (Point center=null, bool onlyPassable=true)
 
virtual Recipe GetRecipe ()
 
virtual Recipe GetBuildModeRecipe ()
 
virtual bool CanCook (Card c)
 
void CookProgress ()
 
virtual bool CanOffer (Card tg)
 
void OfferProcess (Chara cc)
 
void Offer (Chara cc)
 
virtual bool TryProgress (AIProgress p)
 
virtual LockOpenState TryOpenLock (Chara cc, bool msgFail=true)
 
virtual void WriteNote (UINote n, bool identified)
 
int GetSortVal (UIList.SortMode m)
 
virtual HotItem GetHotItem ()
 
virtual bool CanRead (Chara c)
 
virtual void OnRead (Chara c)
 
virtual bool CanEat (Chara c)
 
virtual void OnEat (Chara c)
 
virtual bool CanDrink (Chara c)
 
virtual void OnDrink (Chara c)
 
virtual void OnThrowGround (Chara c, Point p)
 
virtual bool CanUse (Chara c)
 
virtual bool CanUse (Chara c, Card tg)
 
virtual bool CanUse (Chara c, Point p)
 
virtual bool OnUse (Chara c)
 
virtual bool OnUse (Chara c, Card tg)
 
virtual bool OnUse (Chara c, Point p)
 
virtual void TrySetAct (ActPlan p)
 
virtual void TrySetHeldAct (ActPlan p)
 
virtual void OnHeld ()
 
virtual void OnTickHeld ()
 
virtual void OnSetCurrentItem ()
 
virtual void OnUnsetCurrentItem ()
 
virtual bool OnChildDecay (Card c, bool firstDecay)
 
virtual bool CanChildDecay (Card c)
 
virtual void OnSetCardGrid (ButtonGrid b)
 
virtual void OnStepped (Chara c)
 
virtual void OnSteppedOut (Chara c)
 
virtual void OnOpenDoor (Chara c)
 
void Install (bool byPlayer)
 
void Uninstall ()
 
virtual void OnInstall (bool byPlayer)
 
virtual void OnUninstall ()
 
virtual void TryToggle ()
 
virtual void Toggle (bool on, bool silent=false)
 
virtual void PlayToggleEffect (bool silent)
 
virtual void OnToggle ()
 
virtual void TrySetToggleAct (ActPlan p)
 
bool IsFuelEnough (int num=1, List< Thing > excludes=null, bool tryRefuel=true)
 
bool IsFuel (string s)
 
bool IsFuel (Thing t)
 
int GetFuelValue (Thing t)
 
int GetFuelValue (string id)
 
void Refuel (Thing t)
 
void TryRefuel (int dest, List< Thing > excludes)
 
virtual void OnEnterScreen ()
 
virtual void RefreshRenderer ()
 
virtual void SetMainText (UIText t, bool hotitem)
 
virtual bool CanCopy (Thing t)
 
string GetTextRestock (string lang, bool pet)
 
Emo2 GetRestockedIcon ()
 
void OnBarter ()
 
Thing CreateStock ()
 

Static Public Member Functions

static void BlendLove (Chara c, Thing t, bool dream=false)
 
static void BlendPoison (Chara c, Thing t)
 
- Static Public Member Functions inherited from EClass
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)
 

Properties

virtual EffectId IdEffect [get]
 
virtual int Power [get]
 
virtual int IdEle [get]
 
virtual SourceElement.Row source [get]
 
virtual string AliasEle [get]
 
virtual string N1 [get]
 
virtual bool IsNeg [get]
 
override bool IsThrowMainAction [get]
 
override ThrowType ThrowType [get]
 
override bool IsBlendBase [get]
 
- Properties inherited from Trait
string[] Params [get]
 
virtual byte WeightMod [get]
 
virtual int IdSkin [get]
 
virtual string Name [get]
 
virtual TileType tileType [get]
 
virtual RefCardName RefCardName [get]
 
virtual bool IsBlockPath [get]
 
virtual bool IsBlockSight [get]
 
virtual bool IsDoor [get]
 
virtual bool IsOpenSight [get]
 
virtual bool IsOpenPath [get]
 
virtual bool IsFloating [get]
 
virtual bool IsGround [get]
 
virtual bool InvertHeldSprite [get]
 
virtual bool IsChangeFloorHeight [get]
 
virtual bool ShouldRefreshTile [get]
 
virtual bool ShouldTryRefreshRoom [get]
 
virtual int InstallBottomPriority [get]
 
virtual bool CanHarvest [get]
 
virtual int radius [get]
 
virtual TraitRadiusType radiusType [get]
 
virtual bool CanUseRoomRadius [get]
 
virtual int GuidePriotiy [get]
 
virtual int Electricity [get]
 
virtual bool IgnoreLastStackHeight [get]
 
virtual int Decay [get]
 
virtual int DecaySpeed [get]
 
virtual int DecaySpeedChild [get]
 
virtual bool IsFridge [get]
 
virtual int DefaultStock [get]
 
virtual bool HoldAsDefaultInteraction [get]
 
virtual int CraftNum [get]
 
virtual bool ShowOrbit [get]
 
virtual bool HaveUpdate [get]
 
virtual bool IsSpot [get]
 
virtual bool IsFactory [get]
 
virtual bool CanAutofire [get]
 
virtual bool CanName [get]
 
virtual bool CanPutAway [get]
 
virtual bool CanChangeHeight [get]
 
virtual bool CanStack [get]
 
virtual bool CanCopyInBlueprint [get]
 
virtual bool CanBeAttacked [get]
 
virtual bool CanExtendBuild [get]
 
virtual string langNote [get]
 
virtual string IDInvStyle [get]
 
virtual string IDActorEx [get]
 
virtual bool MaskOnBuild [get]
 
virtual bool ShowContextOnPick [get]
 
virtual bool IsThrowMainAction [get]
 
virtual bool LevelAsQuality [get]
 
virtual bool UseDummyTile [get]
 
virtual bool RequireFullStackCheck [get]
 
virtual bool DisableAutoCombat [get]
 
virtual InvGridSize InvGridSize [get]
 
virtual bool IsContainer [get]
 
virtual bool CanUseContent [get]
 
virtual bool CanSearchContent [get]
 
virtual bool CanOpenContainer [get]
 
virtual bool IsSpecialContainer [get]
 
virtual ContainerType ContainerType [get]
 
virtual ThrowType ThrowType [get]
 
virtual EffectDead EffectDead [get]
 
virtual bool IsHomeItem [get]
 
virtual bool IsAltar [get]
 
virtual bool IsRestSpot [get]
 
virtual bool CanBeMasked [get]
 
virtual bool IsBlendBase [get]
 
virtual bool CanBeOnlyBuiltInHome [get]
 
virtual bool CanBuildInTown [get]
 
virtual bool CanBeHeld [get]
 
virtual bool CanBeStolen [get]
 
virtual bool CanOnlyCarry [get]
 
virtual bool CanBeDestroyed [get]
 
virtual bool CanBeHallucinated [get]
 
virtual bool CanBeDropped [get]
 
virtual string ReqHarvest [get]
 
virtual bool CanBeDisassembled [get]
 
virtual bool CanBeShipped [get]
 
virtual bool HasCharges [get]
 
virtual bool ShowCharges [get]
 
virtual bool ShowChildrenNumber [get]
 
virtual bool ShowAsTool [get]
 
virtual bool CanBeHeldAsFurniture [get]
 
virtual bool HideInAdv [get]
 
virtual bool NoHeldDir [get]
 
virtual bool AlwaysHideOnLowWall [get]
 
bool ExistsOnMap [get]
 
virtual bool RenderExtra [get]
 
virtual float DropChance [get]
 
virtual string IdNoRestock [get]
 
virtual int IdleUseChance [get]
 
virtual string RecipeCat [get]
 
virtual bool IsTool [get]
 
virtual string LangUse [get]
 
virtual bool IsOn [get]
 
virtual bool IsAnimeOn [get]
 
bool IsToggle [get]
 
virtual bool AutoToggle [get]
 
bool IsLighting [get]
 
virtual bool IsLightOn [get]
 
virtual bool IsNightOnlyLight [get]
 
virtual TileMode tileMode [get]
 
virtual bool UseAltTiles [get]
 
virtual bool UseLowblock [get]
 
virtual bool UseExtra [get]
 
virtual bool UseLightColor [get]
 
virtual ? Color ColorExtra [get]
 
virtual int MaxFuel [get]
 
virtual int FuelCost [get]
 
virtual bool ShowFuelWindow [get]
 
bool IsRequireFuel [get]
 
string IdToggleExtra [get]
 
virtual ToggleType ToggleType [get]
 
virtual int ShopLv [get]
 
virtual CopyShopType CopyShop [get]
 
virtual int NumCopyItem [get]
 
virtual ShopType ShopType [get]
 
virtual CurrencyType CurrencyType [get]
 
virtual PriceType PriceType [get]
 
virtual bool AllowSell [get]
 
virtual int CostRerollShop [get]
 
virtual bool AllowCriminal [get]
 
virtual int RestockDay [get]
 
virtual SlaverType SlaverType [get]
 
virtual string LangBarter [get]
 
string TextNextRestock [get]
 
string TextNextRestockPet [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]
 

Additional Inherited Members

- Public Types inherited from Trait
enum  TileMode {
  Default , Door , Illumination , DefaultNoAnime ,
  SignalAnime
}
 
enum  CopyShopType { None , Item , Spellbook }
 
- Public Attributes inherited from Trait
Card owner
 
- Static Public Attributes inherited from Trait
static TraitSelfFactory SelfFactory = new TraitSelfFactory()
 
- Static Public Attributes inherited from EClass
static Core core
 
- Static Protected Attributes inherited from Trait
static List< PointlistRadiusPoints = new List<Point>()
 

Detailed Description

Definition at line 3 of file TraitDrink.cs.

Member Function Documentation

◆ BlendLove()

static void TraitDrink.BlendLove ( Chara  c,
Thing  t,
bool  dream = false 
)
inlinestatic

Definition at line 136 of file TraitDrink.cs.

137 {
138 Msg.Say("blend_love", t);
139 Thing thing = t.Split(1);
140 thing.elements.ModBase(dream ? 704 : 703, t.IsBlessed ? 15 : (t.IsCursed ? 5 : 10));
141 c.Pick(thing);
142 }
Thing Split(int a)
Definition: Card.cs:3231
ElementContainerCard elements
Definition: Card.cs:37
bool IsCursed
Definition: Card.cs:2115
bool IsBlessed
Definition: Card.cs:2113
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
Definition: Chara.cs:3920
Element ModBase(int ele, int v)
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
Definition: Thing.cs:8

References Card.elements, Card.IsBlessed, Card.IsCursed, ElementContainer.ModBase(), Chara.Pick(), Msg.Say(), and Card.Split().

Referenced by TraitDreamBug.OnBlend(), and OnBlend().

◆ BlendPoison()

static void TraitDrink.BlendPoison ( Chara  c,
Thing  t 
)
inlinestatic

Definition at line 144 of file TraitDrink.cs.

145 {
146 Msg.Say("blend_poison", t);
147 Thing thing = t.Split(1);
148 thing.elements.ModBase(702, t.IsBlessed ? 5 : (t.IsCursed ? 15 : 10));
149 c.Pick(thing);
150 }

References Card.elements, Card.IsBlessed, Card.IsCursed, ElementContainer.ModBase(), Chara.Pick(), Msg.Say(), and Card.Split().

Referenced by OnBlend().

◆ CanBlend()

override bool TraitDrink.CanBlend ( Thing  t)
inlinevirtual

Reimplemented from Trait.

Definition at line 64 of file TraitDrink.cs.

65 {
66 switch (IdEffect)
67 {
68 case EffectId.Poison:
69 case EffectId.Love:
70 return t.IsFood;
71 case EffectId.Acidproof:
72 if (!t.isAcidproof)
73 {
75 }
76 return false;
77 case EffectId.DrinkWater:
78 if (t.category.ignoreBless != 1 && t.id != "water")
79 {
80 return t.id != "bucket";
81 }
82 return false;
83 default:
84 return false;
85 }
86 }
EffectId
Definition: EffectId.cs:2
string id
Definition: Card.cs:31
bool IsEquipmentOrRangedOrAmmo
Definition: Card.cs:2090
bool IsFood
Definition: Card.cs:2051
bool isAcidproof
Definition: Card.cs:658
SourceCategory.Row category
Definition: Card.cs:1925
virtual EffectId IdEffect
Definition: TraitDrink.cs:5

References Card.category, Card.id, IdEffect, Card.isAcidproof, Card.IsEquipmentOrRangedOrAmmo, and Card.IsFood.

◆ CanDrink()

override bool TraitDrink.CanDrink ( Chara  c)
inlinevirtual

Reimplemented from Trait.

Reimplemented in TraitPotionEmpty.

Definition at line 45 of file TraitDrink.cs.

46 {
47 return true;
48 }

◆ GetHealAction()

override Action TraitDrink.GetHealAction ( Chara  c)
inlinevirtual

Reimplemented from Trait.

Definition at line 188 of file TraitDrink.cs.

189 {
190 if (IdEffect == EffectId.Heal)
191 {
192 return delegate
193 {
194 c.Drink(owner);
195 };
196 }
197 return null;
198 }
void Drink(Card t)
Definition: Chara.cs:4612
Card owner
Definition: Trait.cs:26

References Chara.Drink(), IdEffect, and Trait.owner.

◆ IsBlend()

bool TraitDrink.IsBlend ( )
inline

Definition at line 50 of file TraitDrink.cs.

51 {
52 switch (IdEffect)
53 {
54 case EffectId.DrinkWater:
55 case EffectId.Poison:
56 case EffectId.Love:
57 case EffectId.Acidproof:
58 return true;
59 default:
60 return false;
61 }
62 }

References IdEffect.

◆ OnBlend()

override void TraitDrink.OnBlend ( Thing  t,
Chara  c 
)
inlinevirtual

Reimplemented from Trait.

Definition at line 88 of file TraitDrink.cs.

89 {
90 switch (IdEffect)
91 {
92 case EffectId.Love:
93 BlendLove(c, t);
94 break;
95 case EffectId.Poison:
96 BlendPoison(c, t);
97 break;
98 case EffectId.Acidproof:
99 c.Say("coated", t, c);
100 if (t.IsEquipment && owner.blessedState <= BlessedState.Cursed)
101 {
102 c.Say("blend_curse", t);
103 t.ModEncLv(-1);
104 }
105 else
106 {
107 t.isAcidproof = true;
108 }
109 break;
110 case EffectId.DrinkWater:
111 {
112 BlessedState blessedState = owner.blessedState;
113 t = t.Split(1);
114 if (blessedState >= BlessedState.Blessed)
115 {
116 Msg.Say("waterBless", t);
117 t.SetBlessedState(BlessedState.Blessed);
118 c.Pick(t);
119 }
120 else if (blessedState <= BlessedState.Cursed)
121 {
122 Msg.Say("waterCurse", t);
124 c.Pick(t);
125 }
126 else
127 {
129 }
130 break;
131 }
132 }
133 owner.ModNum(-1);
134 }
BlessedState
Definition: BlessedState.cs:2
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:3572
bool IsEquipment
Definition: Card.cs:2049
void ModEncLv(int a)
Definition: Card.cs:3549
BlessedState blessedState
Definition: Card.cs:262
void ModNum(int a, bool notify=true)
Definition: Card.cs:3262
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6046
static string SayNothingHappen()
Definition: Msg.cs:96
static void BlendLove(Chara c, Thing t, bool dream=false)
Definition: TraitDrink.cs:136
static void BlendPoison(Chara c, Thing t)
Definition: TraitDrink.cs:144

References BlendLove(), BlendPoison(), Card.blessedState, IdEffect, Card.IsEquipment, Card.ModEncLv(), Card.ModNum(), Trait.owner, Chara.Pick(), Msg.Say(), Card.Say(), Msg.SayNothingHappen(), Card.SetBlessedState(), and Card.Split().

◆ OnDrink()

override void TraitDrink.OnDrink ( Chara  c)
inlinevirtual

Reimplemented from Trait.

Reimplemented in TraitDrinkMilkMother, and TraitPotionEmpty.

Definition at line 152 of file TraitDrink.cs.

153 {
155 {
156 n1 = N1,
157 isPerfume = (this is TraitPerfume),
158 refThing = owner.Thing,
159 act = ((source != null) ? ACT.Create(source) : null)
160 });
161 }
static void Proc(EffectId id, Card cc, Card tc=null, int power=100, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:788
virtual int Power
Definition: TraitDrink.cs:8
Definition: ActRef.cs:2

References Card.blessedState, IdEffect, Trait.owner, Power, and ActEffect.Proc().

◆ OnThrowGround()

override void TraitDrink.OnThrowGround ( Chara  c,
Point  p 
)
inlinevirtual

Reimplemented from Trait.

Definition at line 163 of file TraitDrink.cs.

164 {
165 if (IdEffect != EffectId.Drink)
166 {
167 bool isHostileAct = c.IsPCParty && IsNeg;
169 {
170 id = 4,
171 idEffect = IdEffect,
172 power = Power,
173 amount = 5,
174 isHostileAct = isHostileAct,
175 color = BaseTileMap.GetColorInt(ref owner.GetRandomColor(), owner.sourceRenderCard.colorMod),
176 idEle = IdEle,
177 n1 = N1,
178 isBlessed = (owner.blessedState >= BlessedState.Blessed),
179 isCursed = (owner.blessedState <= BlessedState.Cursed)
180 });
181 }
182 else
183 {
184 EClass._map.SetLiquid(p.x, p.z, 1, 3);
185 }
186 }
Definition: EClass.cs:5
static Map _map
Definition: EClass.cs:18
void SetLiquid(int x, int z, CellEffect effect=null)
Definition: Map.cs:1464
int x
Definition: Point.cs:36
int z
Definition: Point.cs:39
virtual bool IsNeg
Definition: TraitDrink.cs:37

References EClass._map, IdEffect, IsNeg, Map.SetLiquid(), Point.x, and Point.z.

Property Documentation

◆ AliasEle

virtual string TraitDrink.AliasEle
get

Definition at line 33 of file TraitDrink.cs.

◆ IdEffect

virtual EffectId TraitDrink.IdEffect
get

Definition at line 5 of file TraitDrink.cs.

Referenced by CanBlend(), GetHealAction(), IsBlend(), OnBlend(), OnDrink(), and OnThrowGround().

◆ IdEle

virtual int TraitDrink.IdEle
get

Definition at line 19 of file TraitDrink.cs.

20 {
21 get
22 {
23 if (!AliasEle.IsEmpty())
24 {
25 return EClass.sources.elements.alias[AliasEle].id;
26 }
27 return 0;
28 }
29 }
static SourceManager sources
Definition: EClass.cs:42
SourceElement elements
virtual string AliasEle
Definition: TraitDrink.cs:33

◆ IsBlendBase

override bool TraitDrink.IsBlendBase
get

Definition at line 43 of file TraitDrink.cs.

◆ IsNeg

virtual bool TraitDrink.IsNeg
get

Definition at line 37 of file TraitDrink.cs.

Referenced by OnThrowGround().

◆ IsThrowMainAction

override bool TraitDrink.IsThrowMainAction
get

Definition at line 39 of file TraitDrink.cs.

◆ N1

virtual string TraitDrink.N1
get

Definition at line 35 of file TraitDrink.cs.

◆ Power

virtual int TraitDrink.Power
get

Definition at line 7 of file TraitDrink.cs.

8 {
9 get
10 {
11 if (GetParam(2) == null)
12 {
13 return 100;
14 }
15 return GetParam(2).ToInt();
16 }
17 }
string GetParam(int i, string def=null)
Definition: Trait.cs:515

Referenced by OnDrink().

◆ source

virtual SourceElement.Row TraitDrink.source
get

Definition at line 31 of file TraitDrink.cs.

◆ ThrowType

override ThrowType TraitDrink.ThrowType
get

Definition at line 41 of file TraitDrink.cs.


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