Elin Decompiled Documentation EA 23.283 Nightly Patch 2
Loading...
Searching...
No Matches
RecipeCard.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using Newtonsoft.Json;
3using UnityEngine;
4
5public class RecipeCard : Recipe
6{
8
9 [JsonProperty]
10 public bool freePos;
11
12 [JsonProperty]
13 public float fx;
14
15 [JsonProperty]
16 public float fy;
17
18 public Card _mold;
19
20 public CardRow sourceCard => _sourceCard ?? (_sourceCard = EClass.sources.cards.map.TryGetValue(base.source.row.idString));
21
22 public override RenderRow renderRow => sourceCard;
23
24 public override TileType tileType => Mold.trait.tileType;
25
26 public string idCard => sourceCard.id;
27
28 public override bool CanRotate => tileType.CanRotate(buildMode: true);
29
30 public override bool IsThing => true;
31
32 public override Card Mold => _mold ?? (_mold = CreateMold());
33
34 public bool isDish => sourceCard._origin == "dish";
35
36 public override IRenderer GetRenderer()
37 {
38 return Mold.renderer;
39 }
40
41 public override string GetDetail()
42 {
43 return sourceCard.GetDetail();
44 }
45
46 public override string GetIdThing()
47 {
48 return id;
49 }
50
51 public override void OnRenderMarker(Point point, bool active, HitResult result, bool main, int dir, int bridgeHeight)
52 {
53 Mold.ignoreStackHeight = Input.GetKey(KeyCode.LeftControl);
54 Mold.SetFreePos(point);
56 fx = Mold.fx;
57 fy = Mold.fy;
58 Mold.RenderMarker(point, active, result, main, dir);
59 if (!point.cell.skipRender)
60 {
61 Mold.trait.OnRenderTile(point, result, dir);
62 }
63 }
64
65 public override void BuildIngredientList()
66 {
67 if (ingredients.Count != 0)
68 {
69 return;
70 }
71 base.BuildIngredientList();
73 {
74 return;
75 }
77 {
78 ingredients[0].ingType = IngType.CreativeFood;
79 }
80 if (EClass.pc.Evalue(1650) < 2)
81 {
82 return;
83 }
84 bool flag = ingredients.Count < 3;
85 foreach (Ingredient ingredient in ingredients)
86 {
87 if (ingredient.id == "seasoning")
88 {
89 flag = false;
90 }
91 }
92 if (flag)
93 {
95 {
96 id = "seasoning",
97 useCat = true,
98 optional = true,
99 req = 1
100 });
101 }
102 }
103
104 public override void OnChangeIngredient()
105 {
106 if (!UseStock)
107 {
109 if (base.source.colorIng != 0)
110 {
112 }
113 }
114 }
115
116 public override void OnSelected()
117 {
118 CreateMold();
119 }
120
122 {
123 if (_mold != null)
124 {
125 _mold.Destroy();
126 }
127 if (UseStock)
128 {
129 ingredients[0].RefreshThing();
130 }
131 if (UseStock && ingredients[0].thing != null)
132 {
133 _mold = ingredients[0].thing.Duplicate(1);
134 }
135 else
136 {
138 {
140 }
141 else
142 {
144 }
146 }
147 _mold.dir = _dir;
148 _mold.altitude = ActionMode.Build.altitude;
149 _mold.idSkin = idSkin;
151 return _mold;
152 }
153
154 public override Thing Craft(BlessedState blessed, bool sound = false, List<Thing> ings = null, TraitCrafter crafter = null, bool model = false)
155 {
156 string key = idCard;
157 int num = GetMainMaterial().id;
158 Element reqSkill = base.source.GetReqSkill();
159 int num2 = reqSkill.Value - EClass.pc.Evalue(reqSkill.id);
160 int num3 = GetQualityBonus();
161 int num4 = renderRow.LV + num3;
162 bool flag = num3 < 0;
163 CardRow cardRow = EClass.sources.cards.map.TryGetValue(key);
164 bool flag2 = false;
165 if (ings != null)
166 {
167 foreach (Thing ing in ings)
168 {
169 if (ing != null && ing.IsDecayed)
170 {
171 flag2 = true;
172 }
173 }
174 }
175 if (EClass.debug.godCraft || model)
176 {
177 flag = false;
178 }
179 else if (cardRow != null && cardRow.tag.Contains("no_fail"))
180 {
181 flag = false;
182 }
184 {
185 if (num2 > 0 && EClass.rnd(num2 * 10) > EClass.rnd(100))
186 {
187 key = GetIdFailDish();
188 flag = true;
189 }
190 else
191 {
192 flag = false;
193 }
194 }
195 if (!model)
196 {
197 switch (id)
198 {
199 case "weapon_stone":
200 case "weapon_wood":
201 Rand.SetSeed();
202 key = new string[6] { "dagger", "sword", "axe_hand", "blunt_club", "spear", "staff_long" }.RandomItem();
203 break;
204 case "weapon_anvil":
205 Rand.SetSeed();
206 key = new string[6] { "dagger", "sword", "axe_hand", "blunt_club", "spear", "staff_long" }.RandomItem();
207 num = ings[1].material.id;
208 break;
209 }
210 }
211 bool flag3 = EClass.sources.cards.map[key].tag.Contains("static_craft");
212 if (!isDish && num4 < 1)
213 {
214 num4 = 1;
215 }
216 if (EClass.sources.cards.map[key].tag.Contains("noQuality"))
217 {
218 num4 = -1;
219 }
220 if (EClass.sources.cards.map[key].tag.Contains("noMaterialChange"))
221 {
222 num = -1;
223 }
224 if (flag3)
225 {
226 num3 = 0;
227 flag = false;
228 }
230 {
231 qualityBonus = num3,
232 rarity = (flag ? Rarity.Crude : Rarity.Normal),
233 isCraft = true
234 });
235 Thing thing = (flag3 ? ThingGen.Create(key) : ThingGen.Create(key, num, num4));
236 thing.idSkin = idSkin;
237 if (thing.IsEquipment && ings != null)
238 {
239 foreach (Thing ing2 in ings)
240 {
241 if (ing2.trait is TraitRune)
242 {
243 if (thing.CanAddRune(ing2.trait as TraitRune))
244 {
245 thing.AddRune(ing2);
246 }
247 if (!thing.HasElement(484))
248 {
249 thing.elements.SetBase(484, 1);
250 }
251 }
252 }
253 }
254 thing.Identify(show: false);
255 thing.isCrafted = true;
256 if (!flag3)
257 {
258 if (base.source.colorIng != 0)
259 {
260 thing.Dye(GetColorMaterial());
261 }
262 if (thing.IsContainer)
263 {
264 thing.RemoveThings();
265 thing.c_lockLv = 0;
266 }
267 }
268 thing.SetBlessedState(blessed);
269 if (!flag3)
270 {
271 if (isDish)
272 {
273 if (flag)
274 {
275 thing.ChangeMaterial("meat");
276 }
277 else
278 {
279 MakeDish(thing);
280 }
281 }
282 else
283 {
284 MixIngredients(thing);
285 }
286 if (isDish && flag2)
287 {
288 thing.decay = thing.MaxDecay + 1;
289 }
290 }
291 thing.trait.OnCrafted(this, ings);
292 if (thing.IsAmmo && num2 < 0)
293 {
294 thing.SetEncLv(-num2 / 10);
295 }
296 if (model)
297 {
298 thing.SetNum(1);
299 return thing;
300 }
301 int num5 = thing.trait.CraftNum;
302 if (crafter != null && EClass.pc.Evalue(1417) > 0 && crafter.WitchDoubleCraftChance(thing) > EClass.rnd(100))
303 {
304 num5 *= 2;
305 }
306 if (thing.trait is TraitFoodFishSlice && thing.c_idRefCard == thing.id && (thing.SelfWeight == 0 || thing.Evalue(10) == 0))
307 {
308 Msg.Say("noMoreSlice");
309 num5 = 1;
310 }
311 if (num5 > 1 && (thing.HasElement(703) || thing.HasElement(704) || thing.HasElement(1229)))
312 {
313 num5 = 1;
314 }
315 if (num5 > 1)
316 {
317 thing.SetNum(num5);
318 }
319 if (EClass.pc.held == null || !thing.TryStackTo(EClass.pc.held.Thing))
320 {
321 EClass.pc.HoldCard(thing);
322 }
323 if (sound)
324 {
325 thing.PlaySoundDrop(spatial: false);
326 }
327 Msg.Say("crafted", thing);
328 if (thing.Num > EClass.rnd(1000) || EClass.debug.enable)
329 {
331 }
332 if (isDish)
333 {
335 {
337 EClass.player.flags.canComupWithFoodRecipe = false;
338 }
339 if (flag && crafter != null && crafter.CanTriggerFire && EClass.rnd(4) == 0)
340 {
341 Point point = (crafter.ExistsOnMap ? crafter.owner.pos : EClass.pc.pos);
342 if (!point.cell.HasFire)
343 {
344 EClass._map.ModFire(point.x, point.z, 10);
345 }
346 }
347 }
348 return thing;
349 }
350
351 public void MakeDish(Thing t)
352 {
354 List<Thing> list = new List<Thing>();
355 foreach (Ingredient ingredient in ingredients)
356 {
357 list.Add(ingredient.thing);
358 }
360 Rand.SetSeed();
361 if (EClass.pc.HasElement(1658))
362 {
363 t.elements.SetBase(757, 1);
364 t.c_dateCooked = EClass.world.date.GetRaw() + (EClass.pc.Evalue(1658) - 1) * 48 * 60;
365 }
366 }
367
368 public void MixIngredients(Thing t)
369 {
371 List<Thing> list = new List<Thing>();
372 foreach (Ingredient ingredient in ingredients)
373 {
374 list.Add(ingredient.thing);
375 }
377 Rand.SetSeed();
378 }
379
380 public string GetIdFailDish()
381 {
382 return sourceCard.category switch
383 {
384 "meal_meat" => "fail_meat",
385 "meal_fish" => "fail_fish",
386 "meal_vegi" => "fail_vegi",
387 "meal_fruit" => "fail_fruit",
388 "meal_cake" => "fail_dough_cake",
389 "meal_bread" => "fail_dough_bread",
390 "meal_noodle" => "fail_noodle",
391 "meal_egg" => "fail_egg",
392 "meal_rice" => "fail_rice",
393 "meal_soup" => "fail_drink",
394 "meal_cookie" => "fail_nuts",
395 _ => "fail_dish",
396 };
397 }
398
399 public override void Build(TaskBuild task)
400 {
401 Card card = null;
402 if (task.target != null)
403 {
404 card = task.target;
405 }
406 else if (IngAsProduct)
407 {
408 if (task.resources.Count == 0)
409 {
410 Thing thing = ingredients[0].RefreshThing();
411 if (thing == null)
412 {
413 SE.Beep();
414 return;
415 }
416 Thing item = thing.Split(1);
417 task.resources.Add(item);
418 if (ingredients[0].thing.isDestroyed || ingredients[0].thing.ExistsOnMap)
419 {
420 ingredients[0].thing = null;
421 }
422 }
423 card = task.resources[0];
424 }
425 else if (sourceCard.isChara)
426 {
428 }
429 else
430 {
432 if (!card.IsUnique)
433 {
434 card.ChangeMaterial(GetMainMaterial());
435 }
436 if (base.source.colorIng != 0)
437 {
438 card.Dye(GetColorMaterial());
439 }
440 if (card.IsContainer)
441 {
442 card.RemoveThings();
443 }
444 foreach (Ingredient ingredient in ingredients)
445 {
446 if (ingredient.thing != null && ingredient.thing.HasElement(759))
447 {
448 card.elements.SetBase(759, ingredient.thing.Evalue(759));
449 }
450 }
451 }
452 Build(task.owner, card, task.pos, ingredients[0].mat, task.dir, task.altitude, task.bridgeHeight);
453 card.renderer.PlayAnime(AnimeID.Place);
454 }
455
456 public override void Build(Chara chara, Card t, Point pos, int mat, int dir, int altitude, int bridgeHeight)
457 {
458 if (mat == -1)
459 {
460 mat = 2;
461 }
462 EClass.pc.PlaySound(EClass.sources.materials.rows[mat].GetSoundImpact());
463 t.SetDir(dir);
464 t.idSkin = idSkin;
465 EClass._zone.AddCard(t, pos);
466 if (t.trait is TraitHouseBoard && ActionMode.Build.houseBoard != null)
467 {
468 (t.trait as TraitHouseBoard).data = IO.DeepCopy(ActionMode.Build.houseBoard.data);
469 }
470 t.SetPlaceState(PlaceState.installed, byPlayer: true);
471 t.altitude = altitude;
472 t.isPlayerCreation = true;
473 if (EClass._zone.idCurrentSubset != null)
474 {
475 t.isSubsetCard = true;
476 }
477 t.ignoreStackHeight = Input.GetKey(KeyCode.LeftControl);
478 if (ActionMode.Build.IsActive && t.trait.MaskOnBuild && EClass.debug.enable)
479 {
480 t.isMasked = true;
481 }
483 {
484 t.isRoofItem = true;
485 t.SetPlaceState(PlaceState.roaming);
486 }
487 try
488 {
489 t.ForeachPoint(delegate(Point p, bool main)
490 {
491 CheckBlock(p);
492 });
493 }
494 catch
495 {
496 Debug.LogWarning("kokodayo");
497 }
498 t.freePos = freePos;
499 if (freePos)
500 {
501 t.fx = fx;
502 t.fy = fy;
503 }
505 void CheckBlock(Point _pos)
506 {
507 if (_pos.cell.IsBlocked && _pos.HasChara)
508 {
509 foreach (Chara item in _pos.ListCharas().Copy())
510 {
511 chara.Kick(item, ignoreSelf: false, karmaLoss: false);
512 }
513 }
514 }
515 }
516
517 public override void OnChangeAltitude(int a)
518 {
519 Mold.altitude = a;
520 }
521
522 public override void Rotate()
523 {
524 Mold.Rotate();
525 _dir = Mold.dir;
526 if ((bool)BuildMenu.Instance)
527 {
529 }
530 }
531
532 public override void SetDir(int d)
533 {
534 Mold.dir = d;
535 base.SetDir(d);
536 }
537
538 public override void WriteNote(UINote n)
539 {
540 n.Clear();
541 if (!Mold.isChara)
542 {
544 }
545 n.Build();
546 }
547
548 public override Recipe Duplicate()
549 {
550 RecipeCard recipeCard = IO.DeepCopy(this);
551 recipeCard._mold = _mold;
552 return recipeCard;
553 }
554}
AnimeID
Definition: AnimeID.cs:2
BlessedState
Definition: BlessedState.cs:2
HitResult
Definition: HitResult.cs:2
PlaceState
Definition: PlaceState.cs:2
Rarity
Definition: Rarity.cs:2
new Chara owner
Definition: AIAct.cs:14
int altitude
Definition: AM_Build.cs:8
TraitHouseBoard houseBoard
Definition: AM_Build.cs:16
void Add(Act a, string s="")
Definition: ActPlan.cs:11
virtual bool IsRoofEditMode(Card c=null)
Definition: ActionMode.cs:311
static AM_Build Build
Definition: ActionMode.cs:49
virtual bool IsBuildMode
Definition: ActionMode.cs:181
static BuildMenu Instance
Definition: BuildMenu.cs:77
UIRecipeInfo info1
Definition: BuildMenu.cs:27
static void Set(CardBlueprint _bp=null)
void RefreshSprite()
bool isChara
Definition: CardRow.cs:55
string id
Definition: CardRow.cs:7
Definition: Card.cs:11
bool isDestroyed
Definition: Card.cs:76
bool IsDecayed
Definition: Card.cs:2315
virtual bool isThing
Definition: Card.cs:2107
bool IsAmmo
Definition: Card.cs:2275
SocketData AddRune(Card rune)
Definition: Card.cs:3668
bool CanAddRune(TraitMod mod)
Definition: Card.cs:3731
Thing Split(int a)
Definition: Card.cs:3554
void SetPlaceState(PlaceState newState, bool byPlayer=false)
Definition: Card.cs:3817
ElementContainerCard elements
Definition: Card.cs:42
string id
Definition: Card.cs:36
float fy
Definition: Card.cs:267
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6359
Card ChangeMaterial(int idNew, bool ignoreFixedMaterial=false)
Definition: Card.cs:3105
virtual void SetDir(int d)
Definition: Card.cs:6415
virtual CardRenderer _CreateRenderer()
Definition: Card.cs:6159
float fx
Definition: Card.cs:255
void Kick(Point p, bool ignoreSelf=false, bool checkWall=true)
Definition: Card.cs:6041
Thing SetNum(int a)
Definition: Card.cs:3565
void ForeachPoint(Action< Point, bool > action)
Definition: Card.cs:8048
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:3965
Point pos
Definition: Card.cs:60
void RenderMarker(Point point, bool active, HitResult result, bool main, int dir, bool useCurrentPosition=false)
Definition: Card.cs:6511
void Dye(string idMat)
Definition: Card.cs:6197
Trait trait
Definition: Card.cs:54
bool IsEquipment
Definition: Card.cs:2201
void SetEncLv(int a)
Definition: Card.cs:3934
void Destroy()
Definition: Card.cs:5148
virtual void Rotate(bool reverse=false)
Definition: Card.cs:6434
void SetFreePos(Point point)
Definition: Card.cs:6487
virtual bool isChara
Definition: Card.cs:2109
virtual Thing Thing
Definition: Card.cs:2084
int turn
Definition: Card.cs:66
int Evalue(int ele)
Definition: Card.cs:2599
void PlaySoundDrop(bool spatial=true)
Definition: Card.cs:6344
int dir
Definition: Card.cs:147
bool TryStackTo(Thing to)
Definition: Card.cs:3467
int Num
Definition: Card.cs:159
SourceCategory.Row category
Definition: Card.cs:2075
bool IsContainer
Definition: Card.cs:2115
bool freePos
Definition: Card.cs:519
CardRenderer renderer
Definition: Card.cs:62
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6106
int LV
Definition: Card.cs:387
string c_idRefCard
Definition: Card.cs:1751
void RemoveThings()
Definition: Card.cs:3380
bool IsBlocked
Definition: Cell.cs:895
bool skipRender
Definition: Cell.cs:270
bool HasFire
Definition: Cell.cs:676
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
Definition: Chara.cs:10
Card held
Definition: Chara.cs:70
void HoldCard(Card t, int num=-1)
Definition: Chara.cs:4540
bool godCraft
Definition: CoreDebug.cs:181
bool enable
Definition: CoreDebug.cs:286
Game game
Definition: Core.cs:72
bool IsGameStarted
Definition: Core.cs:84
static Thing MixIngredients(string idProduct, List< Thing > ings, MixType type, int idMat=0, Chara crafter=null)
Definition: CraftUtil.cs:363
static void MakeDish(Thing food, int lv, Chara crafter=null, int seed=-1)
Definition: CraftUtil.cs:61
int GetRaw(int offsetHours=0)
Definition: Date.cs:328
Definition: EClass.cs:6
static Scene scene
Definition: EClass.cs:31
static Core core
Definition: EClass.cs:7
static Zone _zone
Definition: EClass.cs:21
static World world
Definition: EClass.cs:41
static Map _map
Definition: EClass.cs:19
static int rnd(long a)
Definition: EClass.cs:59
static SourceManager sources
Definition: EClass.cs:43
static Player player
Definition: EClass.cs:13
static Chara pc
Definition: EClass.cs:15
static CoreDebug debug
Definition: EClass.cs:49
void AddNote(UINote n, Func< Element, bool > isValid=null, Action onAdd=null, NoteMode mode=NoteMode.Default, bool addRaceFeat=false, Func< Element, string, string > funcText=null, Action< UINote, Element > onAddNote=null)
Element SetBase(string alias, int v, int potential=0)
int id
Definition: ELEMENT.cs:255
SourceElement.Row source
Definition: ELEMENT.cs:278
bool isLoading
Definition: Game.cs:242
void ModFire(int x, int z, int amount)
Definition: Map.cs:1172
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 canComupWithFoodRecipe
Definition: Player.cs:418
Flags flags
Definition: Player.cs:1117
RecipeManager recipes
Definition: Player.cs:1120
Definition: Point.cs:9
int x
Definition: Point.cs:36
int z
Definition: Point.cs:39
List< Chara > ListCharas()
Definition: Point.cs:1171
Cell cell
Definition: Point.cs:51
bool HasChara
Definition: Point.cs:238
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:37
float fy
Definition: RecipeCard.cs:16
override void WriteNote(UINote n)
Definition: RecipeCard.cs:538
void MixIngredients(Thing t)
Definition: RecipeCard.cs:368
override Card Mold
Definition: RecipeCard.cs:32
bool isDish
Definition: RecipeCard.cs:34
override void BuildIngredientList()
Definition: RecipeCard.cs:65
CardRow _sourceCard
Definition: RecipeCard.cs:7
override TileType tileType
Definition: RecipeCard.cs:24
override bool IsThing
Definition: RecipeCard.cs:30
override void OnChangeAltitude(int a)
Definition: RecipeCard.cs:517
string GetIdFailDish()
Definition: RecipeCard.cs:380
float fx
Definition: RecipeCard.cs:13
override void Build(TaskBuild task)
Definition: RecipeCard.cs:399
override void OnRenderMarker(Point point, bool active, HitResult result, bool main, int dir, int bridgeHeight)
Definition: RecipeCard.cs:51
override void Build(Chara chara, Card t, Point pos, int mat, int dir, int altitude, int bridgeHeight)
Definition: RecipeCard.cs:456
Card _mold
Definition: RecipeCard.cs:18
override string GetIdThing()
Definition: RecipeCard.cs:46
CardRow sourceCard
Definition: RecipeCard.cs:20
override Thing Craft(BlessedState blessed, bool sound=false, List< Thing > ings=null, TraitCrafter crafter=null, bool model=false)
Definition: RecipeCard.cs:154
override Recipe Duplicate()
Definition: RecipeCard.cs:548
override string GetDetail()
Definition: RecipeCard.cs:41
override RenderRow renderRow
Definition: RecipeCard.cs:22
override void Rotate()
Definition: RecipeCard.cs:522
Card CreateMold()
Definition: RecipeCard.cs:121
override void OnSelected()
Definition: RecipeCard.cs:116
override bool CanRotate
Definition: RecipeCard.cs:28
string idCard
Definition: RecipeCard.cs:26
override void OnChangeIngredient()
Definition: RecipeCard.cs:104
bool freePos
Definition: RecipeCard.cs:10
void MakeDish(Thing t)
Definition: RecipeCard.cs:351
override void SetDir(int d)
Definition: RecipeCard.cs:532
override IRenderer GetRenderer()
Definition: RecipeCard.cs:36
void ComeUpWithRandomRecipe(string idCat=null, int lvBonus=0)
Definition: Recipe.cs:7
string id
Definition: Recipe.cs:178
List< Ingredient > ingredients
Definition: Recipe.cs:181
IngType
Definition: Recipe.cs:15
virtual SourceMaterial.Row GetMainMaterial()
Definition: Recipe.cs:484
int GetQualityBonus()
Definition: Recipe.cs:397
bool UseStock
Definition: Recipe.cs:184
int _dir
Definition: Recipe.cs:192
int idSkin
Definition: Recipe.cs:198
virtual SourceMaterial.Row GetColorMaterial()
Definition: Recipe.cs:498
bool IngAsProduct
Definition: Recipe.cs:187
string[] tag
Definition: RenderRow.cs:58
ActionMode actionMode
Definition: Scene.cs:79
Dictionary< string, CardRow > map
Definition: SourceCard.cs:9
string GetDetail()
Definition: SourceData.cs:616
SourceMaterial materials
SourceCard cards
string idCurrentSubset
Definition: Spatial.cs:28
int altitude
Definition: TaskBuild.cs:17
Card target
Definition: TaskBuild.cs:35
int bridgeHeight
Definition: TaskBuild.cs:14
int dir
Definition: TaskBuild.cs:11
List< Thing > resources
Definition: TaskBuild.cs:20
Point pos
Definition: TaskPoint.cs:11
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
override int SelfWeight
Definition: Thing.cs:67
Thing Identify(bool show=true, IDTSource idtSource=IDTSource.Identify)
Definition: Thing.cs:2102
virtual bool CanRotate(bool buildMode)
Definition: TileType.cs:298
virtual int CraftNum
Definition: Trait.cs:135
virtual void OnRenderTile(Point point, HitResult result, int dir)
Definition: Trait.cs:727
virtual TileType tileType
Definition: Trait.cs:50
virtual bool MaskOnBuild
Definition: Trait.cs:189
virtual void OnCrafted(Recipe recipe, List< Thing > ings)
Definition: Trait.cs:686
Definition: UINote.cs:6
void Clear()
Definition: UINote.cs:35
void Build()
Definition: UINote.cs:49
void OnRotate()
GameDate date
Definition: World.cs:6
override int DangerLv
Definition: Zone.cs:110
Card AddCard(Card t, Point point)
Definition: Zone.cs:1994