Elin Decompiled Documentation EA 23.317 Nightly
Loading...
Searching...
No Matches
TraitSeed Class Reference
Inheritance diagram for TraitSeed:
Trait EClass

Public Member Functions

override void OnCreate (int lv)
 
override void SetName (ref string s)
 
override void WriteNote (UINote n, bool identified)
 
void TrySprout (bool force=false, bool sucker=false, VirtualDate date=null)
 
- Public Member Functions inherited from Trait
string GetParam (int i, string def=null)
 
int GetParamInt (int i, int def)
 
virtual SourcePref GetPref ()
 
virtual RenderData GetRenderData ()
 
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, List< Thing > ings)
 
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 void OnListInteraction (InvOwner.ListInteraction list, ButtonGrid b, bool context)
 
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 LockOpenState TryPryOpenLock (Chara cc, bool msgFail=true)
 
void DamageRandomProperty (Chara cc)
 
virtual void OnLockOpen (Chara cc)
 
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 ()
 
virtual void OnBarter (bool reroll=false)
 
Thing CreateStock ()
 

Static Public Member Functions

static Thing MakeRandomSeed (bool enc=false)
 
static Thing MakeSeed (string idSource)
 
static Thing MakeSeed (SourceObj.Row obj)
 
static Thing MakeSeed (Cell cell)
 
static Thing MakeSeed (string id, PlantData plant=null)
 
static Thing MakeSeed (SourceObj.Row obj, PlantData plant=null)
 
static void LevelSeed (Thing t, SourceObj.Row obj, int num)
 
static Thing ApplySeed (Thing t, int refval)
 
static SourceObj.Row GetRandomSeedObj ()
 
- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
static int rnd (int a)
 
static int curve (long _a, int start, int step, int rate=75)
 
static int sqrt (int a)
 
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)
 

Static Public Attributes

static List< SourceObj.RowlistSeeds
 
- Static Public Attributes inherited from Trait
static TraitSelfFactory SelfFactory = new TraitSelfFactory()
 
- Static Public Attributes inherited from EClass
static Core core
 

Properties

SourceObj.Row row [get]
 
override int InstallBottomPriority [get]
 
override bool CanExtendBuild [get]
 
override bool CanChangeHeight [get]
 
override bool CanName [get]
 
override int DefaultStock [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 IsNoShop [get]
 
virtual bool IsGround [get]
 
virtual bool IsOnlyUsableByPc [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 OriginalElectricity [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 CanBeTeleported [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 IsLocalAct [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 CanBeSmashedToDeath [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 IgnoreOnSteppedWhenMoving [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 string IdSoundToggleOn [get]
 
virtual string IdSoundToggleOff [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]
 
virtual bool RemoveGlobalOnBanish [get]
 
virtual bool CanChangeAffinity [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 , FakeBlock , FakeObj
}
 
enum  CopyShopType { None , Item , Spellbook }
 
- Public Attributes inherited from Trait
Card owner
 
- Static Protected Attributes inherited from Trait
static List< PointlistRadiusPoints = new List<Point>()
 

Detailed Description

Definition at line 5 of file TraitSeed.cs.

Member Function Documentation

◆ ApplySeed()

static Thing TraitSeed.ApplySeed ( Thing  t,
int  refval 
)
inlinestatic

Definition at line 208 of file TraitSeed.cs.

209 {
210 t.refVal = refval;
211 SourceObj.Row row = EClass.sources.objs.map.TryGetValue(refval);
212 if (row != null && row.vals.Length != 0)
213 {
214 t.idSkin = row.vals[0].ToInt();
215 }
216 return t;
217 }
Definition: EClass.cs:6
static SourceManager sources
Definition: EClass.cs:43
SourceObj objs
SourceObj.Row row
Definition: TraitSeed.cs:9

References SourceManager.objs, row, and EClass.sources.

Referenced by MakeRandomSeed(), MakeSeed(), OnCreate(), and FoodEffect.Proc().

◆ GetRandomSeedObj()

static SourceObj.Row TraitSeed.GetRandomSeedObj ( )
inlinestatic

Definition at line 219 of file TraitSeed.cs.

220 {
221 if (listSeeds == null)
222 {
223 listSeeds = EClass.sources.objs.rows.Where((SourceObj.Row s) => s.HasTag(CTAG.seed) && !s.HasTag(CTAG.rareSeed) && s.alias != "redpepper").ToList();
224 }
225 return listSeeds.RandomItemWeighted((SourceObj.Row a) => a.chance);
226 }
CTAG
Definition: CTAG.cs:2
static List< SourceObj.Row > listSeeds
Definition: TraitSeed.cs:7

References listSeeds, SourceManager.objs, and EClass.sources.

Referenced by MakeRandomSeed(), and OnCreate().

◆ LevelSeed()

static void TraitSeed.LevelSeed ( Thing  t,
SourceObj::Row  obj,
int  num 
)
inlinestatic

Definition at line 184 of file TraitSeed.cs.

185 {
186 if (obj == null || obj.growth == null || !obj.growth.CanLevelSeed)
187 {
188 return;
189 }
190 for (int i = 0; i < num; i++)
191 {
192 if (obj == null || obj.objType == "crop")
193 {
194 if (t.encLV == 0)
195 {
197 }
198 else
199 {
202 }
203 }
204 t.ModEncLv(1);
205 }
206 }
int c_seed
Definition: Card.cs:1345
int encLV
Definition: Card.cs:329
void ModEncLv(int a)
Definition: Card.cs:4004
static void AddRandomFoodEnc(Thing t)
Definition: CraftUtil.cs:43
static void ModRandomFoodEnc(Thing t)
Definition: CraftUtil.cs:22
virtual bool CanLevelSeed
Definition: GrowSystem.cs:97
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:44
string objType
Definition: SourceObj.cs:13
GrowSystem growth
Definition: SourceObj.cs:33

References CraftUtil.AddRandomFoodEnc(), Card.c_seed, Card.encLV, Card.ModEncLv(), CraftUtil.ModRandomFoodEnc(), and Rand.SetSeed().

Referenced by TraitCrafter.Craft(), Trait.CreateStock(), Zone.Generate(), CraftUtil.MakeDish(), and MakeSeed().

◆ MakeRandomSeed()

static Thing TraitSeed.MakeRandomSeed ( bool  enc = false)
inlinestatic

Definition at line 97 of file TraitSeed.cs.

98 {
99 Thing thing = ThingGen.Create("seed", null);
100 SourceObj.Row randomSeedObj = GetRandomSeedObj();
101 ApplySeed(thing, randomSeedObj.id);
102 return thing;
103 }
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
int id
Definition: TileRow.cs:8
static SourceObj.Row GetRandomSeedObj()
Definition: TraitSeed.cs:219
static Thing ApplySeed(Thing t, int refval)
Definition: TraitSeed.cs:208

References ApplySeed(), ThingGen.Create(), GetRandomSeedObj(), and TileRow.id.

Referenced by Trait.CreateStock(), Card.Decay(), SurvivalManager.OnMineWreck(), and CoreDebug.SetStartStockpile().

◆ MakeSeed() [1/5]

static Thing TraitSeed.MakeSeed ( Cell  cell)
inlinestatic

Definition at line 117 of file TraitSeed.cs.

118 {
119 Thing thing = MakeSeed(cell.sourceObj, EClass._map.TryGetPlant(cell));
120 if (thing != null && cell.isObjDyed && cell.sourceObj.ContainsTag("dyeable"))
121 {
122 thing.Dye(cell.matObj);
123 }
124 return thing;
125 }
void Dye(string idMat)
Definition: Card.cs:6394
SourceMaterial.Row matObj
Definition: Cell.cs:1046
SourceObj.Row sourceObj
Definition: Cell.cs:1084
bool isObjDyed
Definition: Cell.cs:626
static Map _map
Definition: EClass.cs:19
PlantData TryGetPlant(Point p)
Definition: Map.cs:1987
static Thing MakeSeed(string idSource)
Definition: TraitSeed.cs:105

References EClass._map, Card.Dye(), Cell.isObjDyed, MakeSeed(), Cell.matObj, Cell.sourceObj, and Map.TryGetPlant().

◆ MakeSeed() [2/5]

static Thing TraitSeed.MakeSeed ( SourceObj::Row  obj)
inlinestatic

Definition at line 110 of file TraitSeed.cs.

111 {
112 Thing thing = ThingGen.Create("seed");
113 ApplySeed(thing, obj.id);
114 return thing;
115 }

References ApplySeed(), ThingGen.Create(), and Card.id.

◆ MakeSeed() [3/5]

static Thing TraitSeed.MakeSeed ( SourceObj::Row  obj,
PlantData  plant = null 
)
inlinestatic

Definition at line 132 of file TraitSeed.cs.

133 {
134 Thing thing = plant?.seed;
136 {
137 thing = null;
138 }
139 Thing thing2 = ThingGen.Create("seed");
140 ApplySeed(thing2, obj.id);
141 if (thing != null && obj.growth != null && obj.growth.CanLevelSeed)
142 {
143 foreach (Element value in thing.elements.dict.Values)
144 {
145 if (value.IsFoodTrait)
146 {
147 thing2.elements.SetTo(value.id, value.Value);
148 }
149 }
150 thing2.SetEncLv(thing.encLV);
151 thing2.c_refText = thing.c_refText;
152 thing2.c_seed = thing.c_seed;
153 int num = plant?.water ?? 0;
154 int num2 = plant?.fert ?? 0;
155 int num3 = 220 / (Mathf.Clamp(EClass.pc.Evalue(286) - thing.LV, 0, 50) * 2 + 10 + num * 2 + ((num2 > 0) ? 20 : 0) + (EClass.pc.HasElement(1325) ? 25 : 0));
157 {
158 num3 = 2 + num3 * 2;
159 }
160 if (EClass.rnd(num3) == 0 && EClass._zone.IsPCFactionOrTent)
161 {
162 int num4 = Mathf.Max(5, EClass.pc.Evalue(286)) - thing2.encLV;
163 if (num4 <= 0)
164 {
166 {
167 Msg.Say("seedLvLimit", thing2);
168 }
169 }
170 else
171 {
172 int num5 = Mathf.Clamp(EClass.rnd(num4) - 5, 1, EClass.player.isAutoFarming ? 3 : 10);
173 LevelSeed(thing2, obj, num5);
174 EClass.pc.PlaySound("seed_level");
175 }
176 }
177 thing2.elements.SetBase(2, EClass.curve(thing2.encLV, 50, 10, 80));
178 Rand.SetSeed();
179 }
180 thing2.SetBlessedState(BlessedState.Normal);
181 return thing2;
182 }
BlessedState
Definition: BlessedState.cs:2
@ plant
if(!match.Success)
ElementContainerCard elements
Definition: Card.cs:42
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6561
string c_refText
Definition: Card.cs:1669
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:4053
void SetEncLv(int a)
Definition: Card.cs:4022
int Evalue(int ele)
Definition: Card.cs:2688
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6303
int LV
Definition: Card.cs:389
static int curve(long _a, int start, int step, int rate=75)
Definition: EClass.cs:69
static Zone _zone
Definition: EClass.cs:21
static int rnd(long a)
Definition: EClass.cs:59
static Player player
Definition: EClass.cs:13
static Chara pc
Definition: EClass.cs:15
Dictionary< int, Element > dict
void SetTo(int id, int v)
Element SetBase(string alias, int v, int potential=0)
int id
Definition: ELEMENT.cs:257
int Value
Definition: ELEMENT.cs:299
bool IsFoodTrait
Definition: ELEMENT.cs:371
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
bool isAutoFarming
Definition: Player.cs:1251
static void LevelSeed(Thing t, SourceObj.Row obj, int num)
Definition: TraitSeed.cs:184
bool IsPCFactionOrTent
Definition: Zone.cs:480
virtual bool IsUserZone
Definition: Zone.cs:275

References EClass._zone, ApplySeed(), Card.c_refText, Card.c_seed, ThingGen.Create(), EClass.curve(), ElementContainer.dict, Card.elements, Card.encLV, Card.Evalue(), Card.HasElement(), Card.id, Element.id, if(), Player.isAutoFarming, Element.IsFoodTrait, Zone.IsPCFactionOrTent, Zone.IsUserZone, LevelSeed(), Card.LV, EClass.pc, plant, EClass.player, Card.PlaySound(), EClass.rnd(), Msg.Say(), ElementContainer.SetBase(), Card.SetBlessedState(), Card.SetEncLv(), Rand.SetSeed(), ElementContainer.SetTo(), and Element.Value.

◆ MakeSeed() [4/5]

static Thing TraitSeed.MakeSeed ( string  id,
PlantData  plant = null 
)
inlinestatic

Definition at line 127 of file TraitSeed.cs.

128 {
129 return MakeSeed(EClass.sources.objs.alias[id], plant);
130 }

References MakeSeed(), SourceManager.objs, plant, and EClass.sources.

◆ MakeSeed() [5/5]

◆ OnCreate()

override void TraitSeed.OnCreate ( int  lv)
inlinevirtual

Reimplemented from Trait.

Definition at line 21 of file TraitSeed.cs.

22 {
24 owner.c_seed = EClass.rnd(10000);
25 }
virtual Thing Thing
Definition: Card.cs:2110
Card owner
Definition: Trait.cs:28

References ApplySeed(), GetRandomSeedObj(), Trait.owner, EClass.rnd(), and Card.Thing.

◆ SetName()

override void TraitSeed.SetName ( ref string  s)
inlinevirtual

Reimplemented from Trait.

Definition at line 27 of file TraitSeed.cs.

28 {
29 s = "_of".lang(row.GetName(), s);
30 }
string GetName(int id)
Definition: SourceObj.cs:273

References SourceObj.GetName(), and row.

◆ TrySprout()

void TraitSeed.TrySprout ( bool  force = false,
bool  sucker = false,
VirtualDate  date = null 
)
inline

Definition at line 74 of file TraitSeed.cs.

75 {
76 Point pos = owner.pos;
77 if (!pos.HasObj && pos.cell.CanGrow(row, date ?? new VirtualDate()))
78 {
79 pos.SetObj(row.id, 1, owner.dir);
81 if (owner.isDyed && pos.sourceObj.ContainsTag("dyeable"))
82 {
83 pos.cell.isObjDyed = true;
84 pos.cell.objMat = (byte)owner.DyeMat.id;
85 }
86 if (sucker)
87 {
89 }
90 else
91 {
92 owner.Destroy();
93 }
94 }
95 }
void Add(Act a, string s="")
Definition: ActPlan.cs:11
SourceMaterial.Row DyeMat
Definition: Card.cs:1992
Point pos
Definition: Card.cs:60
bool isDyed
Definition: Card.cs:461
void Destroy()
Definition: Card.cs:5268
int dir
Definition: Card.cs:149
bool CanGrow(SourceObj.Row obj, VirtualDate date)
Definition: Cell.cs:1689
PlantData AddPlant(Point pos, Thing seed)
Definition: Map.cs:1997
Definition: Point.cs:9
void SetObj(int id=0, int value=1, int dir=0)
Definition: Point.cs:934
SourceObj.Row sourceObj
Definition: Point.cs:69
bool HasObj
Definition: Point.cs:137
Cell cell
Definition: Point.cs:51
Definition: Zone.cs:12
static List< Thing > Suckers
Definition: Zone.cs:83

References EClass._map, ActPlan.List.Add(), Map.AddPlant(), Cell.CanGrow(), Point.cell, Card.Destroy(), Card.dir, Card.DyeMat, Point.HasObj, Card.isDyed, Trait.owner, Card.pos, row, Point.SetObj(), Point.sourceObj, Zone.Suckers, and Card.Thing.

◆ WriteNote()

override void TraitSeed.WriteNote ( UINote  n,
bool  identified 
)
inlinevirtual

Reimplemented from Trait.

Definition at line 32 of file TraitSeed.cs.

33 {
34 base.WriteNote(n, identified);
35 int num = 1;
36 if (!row._growth.IsEmpty() && row._growth.Length >= 4)
37 {
38 if (row._growth.Length >= 5)
39 {
40 num = row._growth[4].ToInt();
41 }
42 n.AddText("NoteText_enc", "isHarvestCrop".lang(num.ToString() ?? ""));
43 }
44 n.AddText("NoteText_enc", "isConsumeFertility".lang((0.1f * (float)row.costSoil).ToString() ?? ""));
45 if (row.tag.Contains("flood"))
46 {
47 n.AddText("NoteText_enc", "isWaterCrop");
48 }
49 if (row.tag.Contains("dyeable"))
50 {
51 n.AddText("NoteText_enc", "isDyeableCrop");
52 }
53 if (row.growth != null)
54 {
55 if (row.growth.GrowOnLand)
56 {
57 n.AddText("NoteText_enc", "isGrowOnLand");
58 }
59 if (row.growth.GrowUndersea)
60 {
61 n.AddText("NoteText_enc", "isGrowUndersea");
62 }
63 if (row.growth.NeedSunlight)
64 {
65 n.AddText("NoteText_enc", "isNeedSun");
66 }
67 }
68 if (row.growth == null || !row.growth.CanLevelSeed)
69 {
70 n.AddText("NoteText_enc", "isDecoSeed", FontColor.Warning);
71 }
72 }
FontColor
Definition: FontColor.cs:2
UIItem AddText(string text, FontColor color=FontColor.DontChange)
Definition: UINote.cs:113

References UINote.AddText(), and row.

Member Data Documentation

◆ listSeeds

List<SourceObj.Row> TraitSeed.listSeeds
static

Definition at line 7 of file TraitSeed.cs.

Referenced by GetRandomSeedObj().

Property Documentation

◆ CanChangeHeight

override bool TraitSeed.CanChangeHeight
get

Definition at line 15 of file TraitSeed.cs.

◆ CanExtendBuild

override bool TraitSeed.CanExtendBuild
get

Definition at line 13 of file TraitSeed.cs.

◆ CanName

override bool TraitSeed.CanName
get

Definition at line 17 of file TraitSeed.cs.

◆ DefaultStock

override int TraitSeed.DefaultStock
get

Definition at line 19 of file TraitSeed.cs.

◆ InstallBottomPriority

override int TraitSeed.InstallBottomPriority
get

Definition at line 11 of file TraitSeed.cs.

◆ row

SourceObj.Row TraitSeed.row
get

Definition at line 9 of file TraitSeed.cs.

Referenced by ApplySeed(), TraitCrafter.Craft(), SetName(), TrySprout(), and WriteNote().


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