Elin Decompiled Documentation EA 23.299 Nightly
Loading...
Searching...
No Matches
GameDate.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using Newtonsoft.Json;
3using UnityEngine;
4
5public class GameDate : Date
6{
7 [JsonProperty]
8 public bool shaken;
9
10 public const int minPerRound = 5;
11
12 public void AdvanceSec(int a)
13 {
14 base.sec += a;
15 if (base.sec >= 60)
16 {
17 AdvanceMin(base.sec / 60);
18 base.sec %= 60;
19 }
20 }
21
22 public void AdvanceMin(int a)
23 {
24 EClass.game.sessionMin += a;
25 EClass.player.stats.mins += a;
26 base.min += a;
27 if (base.min >= 60)
28 {
29 while (base.min >= 60)
30 {
31 base.min -= 60;
33 }
35 }
36 else if (base.min % 3 == 2)
37 {
39 }
40 if (EClass._map.footmarks.Count > 0)
41 {
42 for (int num = EClass._map.footmarks.Count - 1; num >= 0; num--)
43 {
44 Footmark footmark = EClass._map.footmarks[num];
45 footmark.remaining--;
46 if (footmark.remaining <= 0)
47 {
48 CellDetail detail = footmark.pos.detail;
49 if (detail != null && detail.footmark == footmark)
50 {
51 detail.footmark = null;
52 footmark.pos.cell.TryDespawnDetail();
53 }
54 EClass._map.footmarks.RemoveAt(num);
55 }
56 }
57 }
60 {
61 Msg.NewLine();
62 EClass.player.countNewline = 0;
63 }
66 {
67 item.minElapsed += a;
68 }
69 }
70
71 public void AdvanceHour()
72 {
73 VirtualDate virtualDate = new VirtualDate();
74 virtualDate.IsRealTime = true;
75 virtualDate.SimulateHour();
76 base.hour++;
77 if (base.hour >= 24)
78 {
79 base.hour = 0;
80 AdvanceDay();
81 }
82 if (!shaken && EClass.rnd(24) == 0 && !EClass._zone.IsRegion)
83 {
84 Msg.Say("earthquake");
86 {
87 Shaker.ShakeCam("earthquake");
88 }
89 shaken = true;
90 }
97 {
99 }
101 {
103 }
104 foreach (Chara value in EClass.game.cards.globalCharas.Values)
105 {
106 if (!value.IsPCParty && value.currentZone != EClass.game.activeZone && value.trait.UseGlobalGoal)
107 {
108 if (value.global.goal == null && !value.IsPCFaction)
109 {
110 GlobalGoalAdv globalGoalAdv = new GlobalGoalAdv();
111 globalGoalAdv.SetOwner(value);
112 globalGoalAdv.Start();
113 }
114 if (value.global.goal != null)
115 {
116 value.global.goal.AdvanceHour();
117 }
118 }
119 }
121 if (base.hour == 5)
122 {
123 ShipGoods();
124 ShipPackages();
125 ShipLetter();
126 if (EClass.rnd(30) == 0 && EClass.game.cards.listPackage.Count <= 2)
127 {
129 }
130 if (base.month == 10)
131 {
132 Tutorial.Reserve("season");
133 }
134 if (base.month == 11)
135 {
136 Tutorial.Reserve("season2");
137 }
138 else
139 {
140 Tutorial.Remove("season2");
141 }
142 if (base.year >= 2500)
143 {
144 Tutorial.Reserve("worldend");
145 }
146 }
147 }
148
149 public void AdvanceDay()
150 {
151 base.day++;
153 EClass.player.questRerollCost -= 3;
155 {
156 EClass.player.questRerollCost = 0;
157 }
158 if (EClass.player.stats.days >= 90)
159 {
160 Tutorial.Reserve("death_penalty");
161 }
162 if (base.day > 30)
163 {
164 base.day = 1;
165 AdvanceMonth();
166 }
168 EClass.Sound.Play("owl");
169 if (!EClass.player.prayed && EClass.pc.Evalue(1655) > 0)
170 {
171 ActPray.TryPray(EClass.pc, passive: true);
172 }
173 Msg.Say("endDay");
174 shaken = false;
178 foreach (Chara item in EClass.game.cards.listAdv)
179 {
180 if (!item.IsPCFaction && EClass.rnd(10) == 0 && (item.isDead || item.currentZone == null || item.currentZone.id == "somewhere"))
181 {
182 item.SetHomeZone(EClass.world.region.ListTowns().RandomItem());
183 item.Revive();
184 item.MoveZone(item.homeZone);
185 }
186 }
187 foreach (Chara value in EClass.game.cards.globalCharas.Values)
188 {
189 value.OnAdvanceDay();
190 }
192 {
194 }
195 if (EClass.player.stats.days >= 7 && EClass.game.cards.globalCharas.Find("fiama").currentZone == EClass.game.StartZone && EClass.game.quests.GetGlobal("fiama_starter_gift") == null && !EClass.game.quests.IsCompleted("fiama_starter_gift"))
196 {
197 EClass.game.quests.Add("fiama_starter_gift", "fiama");
198 }
199 if (EClass.game.quests.completedIDs.Contains("demitas_spellwriter") && !EClass.game.quests.IsAdded<QuestNegotiationDarkness>())
200 {
201 EClass.game.quests.Add("negotiation_darkness", "loytel");
202 }
203 if (EClass.game.quests.IsCompleted("exploration"))
204 {
207 {
208 EClass.player.flags.magicChestSent = true;
209 Thing thing = ThingGen.Create("parchment");
210 thing.SetStr(53, "letter_magic_chest");
211 Thing p = ThingGen.CreateParcel(null, ThingGen.Create("container_magic"), thing);
213 }
214 }
215 if (base.day == 1 && base.month == 11 && (EClass.game.quests.IsStarted<QuestDebt>() || EClass.debug.enable))
216 {
217 Thing thing2 = ThingGen.Create("parchment");
218 thing2.SetStr(53, "letter_crimale");
219 Thing p2 = ThingGen.CreateParcel(null, ThingGen.Create("crimale2"), thing2);
221 }
222 if (base.day == 25 && base.month == 12)
223 {
225 }
226 foreach (Chara value2 in EClass.game.cards.globalCharas.Values)
227 {
228 if (value2.IsPCFaction && value2.IsMarried && !value2.c_love.gotMusicBox)
229 {
230 Date date = Date.ToDate(value2.c_love.dateMarriage);
231 if (date.month == base.month && date.day == base.day)
232 {
233 value2.c_love.gotMusicBox = true;
234 Thing thing3 = ThingGen.Create("musicbox_memory2");
235 thing3.MakeRefFrom(value2, EClass.pc, simple: true);
236 Thing thing4 = ThingGen.Create("parchment");
237 thing4.MakeRefFrom(value2, null, simple: true);
238 thing4.SetStr(53, "letter_love");
239 Thing p3 = ThingGen.CreateParcel(null, thing3, ThingGen.Create("1165"), thing4);
241 }
242 }
243 }
244 }
245
246 public void AdvanceMonth()
247 {
248 base.month++;
249 if (base.month > 12)
250 {
251 base.month = 1;
252 AdvanceYear();
253 }
256 if (base.month % 2 == 0)
257 {
259 }
261 foreach (Thing thing in EClass._map.things)
262 {
263 if (thing.renderer.hasActor)
264 {
265 thing.renderer.RefreshSprite();
266 }
267 }
269 }
270
271 public void AdvanceYear()
272 {
273 base.year++;
274 EClass.player.flags.santa = 0;
275 EClass.player.wellWished = false;
277 EClass.world.SendPackage(ThingGen.Create("gift_newyear"));
278 }
279
280 public void ShipGoods()
281 {
282 Thing container_shipping = EClass.game.cards.container_shipping;
283 if (container_shipping.things.Count == 0)
284 {
285 return;
286 }
287 int num = 0;
288 int num2 = 0;
289 long num3 = 0L;
290 long num4 = 0L;
291 List<Thing> list = new List<Thing>();
292 List<string> list2 = new List<string>();
294 if (zone == null || zone.branch == null)
295 {
296 zone = EClass.pc.homeZone;
297 }
298 ShippingResult shippingResult = new ShippingResult();
299 shippingResult.rawDate = EClass.world.date.GetRaw();
300 shippingResult.uidZone = zone.uid;
302 {
303 EClass.player.stats.shipMoney = 2147483647L;
304 }
305 shippingResult.total = EClass.player.stats.shipMoney;
306 shippingResult.hearthLv = zone.branch.lv;
307 shippingResult.hearthExp = zone.branch.exp;
308 shippingResult.debt = EClass.player.debt;
309 foreach (Thing thing3 in container_shipping.things)
310 {
311 if (thing3.trait.CanBeShipped)
312 {
313 int price = thing3.GetPrice(CurrencyType.Money, sell: true, PriceType.Shipping);
314 long num5 = (long)price * (long)thing3.Num;
315 num3 += num5;
316 num += thing3.Num;
317 num2 += EClass.rndHalf(thing3.Num * Mathf.Min(15 + price, 10000) / 100 + 1);
318 list.Add(thing3);
319 shippingResult.items.Add(new ShippingResult.Item
320 {
321 text = thing3.Name,
322 income = num5
323 });
324 }
325 }
326 if (list.Count == 0)
327 {
328 return;
329 }
330 num2 = num2 / 2 + 1;
331 if (zone.branch.policies.IsActive(2515))
332 {
333 num2 = 0;
334 }
335 shippingResult.hearthExpGained = num2;
336 EClass.pc.homeBranch.log.Add(Msg.Say("shipped_collect"));
337 foreach (string item in list2)
338 {
340 }
342 EClass.player.stats.shipNum += num;
343 EClass.player.stats.shipMoney += num3;
345 if (shippingBonus2 > shippingBonus)
346 {
347 num4 = shippingBonus2 - shippingBonus;
348 }
349 if (num4 > int.MaxValue)
350 {
351 num4 = 2147483647L;
352 }
353 foreach (Thing item2 in list)
354 {
355 item2.Destroy();
356 }
357 Thing thing = null;
358 Thing thing2 = null;
359 string text = "";
360 long num6 = 0L;
361 if (num3 > int.MaxValue)
362 {
363 num6 = num3 - int.MaxValue;
364 num3 = 2147483647L;
365 }
366 if (num3 > 0)
367 {
368 thing = ThingGen.Create("money").SetNum((int)num3);
369 }
370 if (num4 > 0)
371 {
372 thing2 = ThingGen.Create("money2").SetNum((int)num4);
373 }
374 if (thing != null && thing2 != null)
375 {
376 text = "_and".lang(thing.Name, thing2.Name);
377 SE.Pay();
378 }
379 else if (thing != null || thing2 != null)
380 {
381 text = ((thing != null) ? thing : thing2).Name;
382 }
383 EClass.pc.homeBranch.log.Add(Msg.Say((text == "") ? "shipped_none" : "shipped", num.ToString() ?? "", text), FontColor.Good);
384 EClass.player.shippingResults.Add(shippingResult);
385 EClass.player.showShippingResult = EClass.core.config.game.showShippingResult;
386 for (int i = 0; i < EClass.player.shippingResults.Count - 10; i++)
387 {
388 EClass.player.shippingResults.RemoveAt(0);
389 }
390 zone.branch.statistics.ship += num3;
391 zone.branch.ModExp(num2);
392 if (thing != null)
393 {
394 EClass.pc.Pick(thing);
395 }
396 if (thing2 != null)
397 {
398 EClass.pc.Pick(thing2);
399 }
400 while (num6 > 0)
401 {
402 int num7 = 0;
403 if (num6 > int.MaxValue)
404 {
405 num7 = int.MaxValue;
406 num6 -= int.MaxValue;
407 }
408 else
409 {
410 num7 = (int)num6;
411 num6 = 0L;
412 }
413 Thing t = ThingGen.Create("money").SetNum(num7);
415 }
416 }
417
418 public void ShipPackages()
419 {
420 Thing container_deliver = EClass.game.cards.container_deliver;
421 if (container_deliver.things.Count == 0)
422 {
423 return;
424 }
425 int num = 0;
426 while (container_deliver.things.Count > 0)
427 {
428 num++;
429 if (num > 100)
430 {
431 Debug.Log("too many tries");
432 break;
433 }
434 int uidZone = 0;
435 foreach (Thing thing2 in container_deliver.things)
436 {
437 int @int = thing2.GetInt(102);
438 if (@int != 0)
439 {
440 uidZone = @int;
441 thing2.SetInt(102);
442 break;
443 }
444 }
445 int num2 = 20;
446 Thing thing = ThingGen.CreateCardboardBox(uidZone);
447 for (int num3 = container_deliver.things.Count - 1; num3 >= 0; num3--)
448 {
449 Thing c = container_deliver.things[num3];
450 thing.AddCard(c);
451 num2 += 5;
452 if (thing.things.IsFull())
453 {
454 break;
455 }
456 }
457 EClass.world.SendPackage(thing);
458 Thing bill = ThingGen.CreateBill(num2, tax: false);
460 }
461 }
462
463 public void ShipLetter()
464 {
465 int num = -1;
466 int lutz = EClass.player.flags.lutz;
467 if (EClass.player.stats.days >= 2 && lutz <= 0)
468 {
469 num = 1;
470 }
471 else if (EClass.player.stats.days >= 5 && lutz <= 1)
472 {
473 num = 2;
474 }
475 else if (EClass.player.stats.days >= 8 && lutz <= 2)
476 {
477 num = 3;
478 }
479 else if (EClass.player.stats.days >= 11 && lutz <= 3)
480 {
481 num = 4;
482 }
483 else if (EClass.player.stats.days >= 15 && lutz <= 4)
484 {
485 num = 5;
486 }
487 else if (EClass.player.stats.days >= 17 && lutz <= 5)
488 {
489 num = 6;
490 }
491 else if (EClass.player.stats.days >= 30 && lutz <= 6)
492 {
493 num = 7;
494 }
495 else if (EClass.player.stats.days >= 50 && lutz <= 7)
496 {
497 num = 8;
498 }
499 if (num != -1)
500 {
501 EClass.player.flags.lutz = num;
502 Thing thing = ThingGen.Create("letter");
503 thing.SetStr(53, "lutz_" + num);
504 EClass.world.SendPackage(thing);
505 }
506 }
507
508 public void ShipRandomPackages()
509 {
511 TraitContainer traitContainer = box.trait as TraitContainer;
512 bool flag = EClass.pc.homeBranch.policies.IsActive(2708);
513 if (EClass.rnd(EClass.debug.enable ? 1 : 100) == 0 && !EClass.player.flags.statueShipped)
514 {
515 EClass.player.flags.statueShipped = true;
516 Add("statue_weird", 1);
517 flag = false;
518 }
519 else if (EClass.rnd(10) == 0)
520 {
521 Add("234", 1);
522 }
523 else if (EClass.rnd(5) == 0)
524 {
525 AddThing(ThingGen.CreateFromCategory("junk"), 1);
526 }
527 else if (EClass.rnd(10) == 0)
528 {
529 AddThing(ThingGen.CreateFromTag("garbage"), 1);
530 }
531 else if (EClass.rnd(8) == 0)
532 {
533 CardRow cardRow = SpawnList.Get("chara").Select(EClass.pc.LV + 10);
534 traitContainer.PutChara(cardRow.id);
535 flag = false;
536 }
537 else if (EClass.rnd(8) == 0)
538 {
539 Add("plat", 1 + EClass.rnd(4));
540 flag = false;
541 }
542 else if (EClass.rnd(8) == 0)
543 {
544 Add("money2", 1 + EClass.rnd(4));
545 flag = false;
546 }
547 else
548 {
549 string id2 = "trash2";
550 if (EClass.rnd(3) == 0)
551 {
552 id2 = "trash1";
553 }
554 if (EClass.rnd(3) == 0)
555 {
556 id2 = ((EClass.rnd(3) == 0) ? "529" : "1170");
557 }
558 if (EClass.rnd(5) == 0)
559 {
560 id2 = "_poop";
561 }
562 if (EClass.rnd(100) == 0)
563 {
564 id2 = "goodness";
565 flag = false;
566 }
567 Add(id2, 1);
568 }
569 if (!flag)
570 {
572 }
573 void Add(string id, int num)
574 {
575 AddThing(ThingGen.Create(id), num);
576 }
577 void AddThing(Thing t, int num)
578 {
579 t.SetNum(num);
580 box.AddCard(t);
581 }
582 }
583}
CurrencyType
Definition: CurrencyType.cs:2
FontColor
Definition: FontColor.cs:2
PriceType
Definition: PriceType.cs:2
list. Add(item3)
static bool TryPray(Chara c, bool passive=false)
Definition: ActPray.cs:12
void SetStr(int id, string value=null)
Definition: BaseCard.cs:63
int GetInt(int id, int? defaultInt=null)
Definition: BaseCard.cs:25
void SetInt(int id, int value=0)
Definition: BaseCard.cs:39
Chara Find(string id)
Definition: CardManager.cs:20
Thing container_shipping
Definition: CardManager.cs:52
List< Chara > listAdv
Definition: CardManager.cs:64
GlobalCharaList globalCharas
Definition: CardManager.cs:46
List< Thing > listPackage
Definition: CardManager.cs:61
Thing container_deliver
Definition: CardManager.cs:55
void RefreshSprite()
string id
Definition: CardRow.cs:7
Card MakeRefFrom(string id)
Definition: Card.cs:5854
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:7574
Card AddCard(Card c)
Definition: Card.cs:3168
string Name
Definition: Card.cs:2179
LoveData c_love
Definition: Card.cs:1873
Thing SetNum(int a)
Definition: Card.cs:3579
void RecalculateFOV()
Definition: Card.cs:6659
Point pos
Definition: Card.cs:60
Trait trait
Definition: Card.cs:54
void Destroy()
Definition: Card.cs:5184
ThingContainer things
Definition: Card.cs:39
int Evalue(int ele)
Definition: Card.cs:2613
int Num
Definition: Card.cs:161
CardRenderer renderer
Definition: Card.cs:64
int LV
Definition: Card.cs:389
Footmark footmark
Definition: CellDetail.cs:17
void TryDespawnDetail()
Definition: Cell.cs:1542
Definition: Chara.cs:10
new TraitChara trait
Definition: Chara.cs:505
Faction faction
Definition: Chara.cs:429
override bool IsPCParty
Definition: Chara.cs:629
void OnAdvanceDay()
Definition: Chara.cs:10363
void PickOrDrop(Point p, string idThing, int idMat=-1, int num=1, bool msg=true)
Definition: Chara.cs:4366
override bool IsPCFaction
Definition: Chara.cs:685
Zone currentZone
Definition: Chara.cs:257
GlobalData global
Definition: Chara.cs:76
Zone homeZone
Definition: Chara.cs:269
bool IsMarried
Definition: Chara.cs:611
FactionBranch homeBranch
Definition: Chara.cs:1080
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
Definition: Chara.cs:4386
new GameConfig game
Definition: CoreConfig.cs:611
GraphicSetting graphic
Definition: CoreConfig.cs:609
bool enable
Definition: CoreDebug.cs:286
CoreConfig config
Definition: Core.cs:70
Definition: Date.cs:4
int GetRaw(int offsetHours=0)
Definition: Date.cs:328
int month
Definition: Date.cs:50
static Date ToDate(int raw)
Definition: Date.cs:399
int day
Definition: Date.cs:62
Definition: EClass.cs:6
static Game game
Definition: EClass.cs:9
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 BaseGameScreen screen
Definition: EClass.cs:33
static int rndHalf(int a)
Definition: EClass.cs:97
static Player player
Definition: EClass.cs:13
static Chara pc
Definition: EClass.cs:15
static CoreDebug debug
Definition: EClass.cs:49
static SoundManager Sound
Definition: EClass.cs:47
PolicyManager policies
void TryPayBill(Thing bill)
Definition: FACTION.cs:424
void OnAdvanceDay()
Definition: FACTION.cs:379
void OnAdvanceMonth()
Definition: FACTION.cs:387
int remaining
Definition: Footmark.cs:5
Point pos
Definition: Footmark.cs:3
void AdvanceMin(int a)
Definition: GameDate.cs:22
void ShipGoods()
Definition: GameDate.cs:280
void ShipPackages()
Definition: GameDate.cs:418
void AdvanceDay()
Definition: GameDate.cs:149
void ShipRandomPackages()
Definition: GameDate.cs:508
void ShipLetter()
Definition: GameDate.cs:463
const int minPerRound
Definition: GameDate.cs:10
void AdvanceSec(int a)
Definition: GameDate.cs:12
bool shaken
Definition: GameDate.cs:8
void AdvanceMonth()
Definition: GameDate.cs:246
void AdvanceHour()
Definition: GameDate.cs:71
void AdvanceYear()
Definition: GameDate.cs:271
SurvivalManager survival
Definition: Game.cs:228
SpatialManager spatials
Definition: Game.cs:153
CardManager cards
Definition: Game.cs:156
Zone activeZone
Definition: Game.cs:252
bool IsSurvival
Definition: Game.cs:276
RelationManager relations
Definition: Game.cs:186
QuestManager quests
Definition: Game.cs:183
Zone StartZone
Definition: Game.cs:278
GlobalGoal goal
Definition: GlobalData.cs:9
void Start()
Definition: GlobalGoal.cs:16
void SetOwner(Chara c)
Definition: GlobalGoal.cs:10
void AdvanceHour()
Definition: GlobalGoal.cs:25
bool gotMusicBox
Definition: LoveData.cs:21
int dateMarriage
Definition: LoveData.cs:6
List< Thing > things
Definition: Map.cs:49
List< Footmark > footmarks
Definition: Map.cs:99
void RefreshAllTiles()
Definition: Map.cs:2109
void Add(Data data)
Definition: MsgLog.cs:53
Definition: Msg.cs:5
static void NewLine()
Definition: Msg.cs:323
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
void OnAdvanceYear()
void OnAdvanceMonth()
void OnChangeMin()
Definition: PCOrbit.cs:19
int lutz
Definition: Player.cs:664
bool magicChestSent
Definition: Player.cs:544
bool statueShipped
Definition: Player.cs:460
int daysAfterQuestExploration
Definition: Player.cs:676
long shipMoney
Definition: Player.cs:144
int GetShippingBonus(long _a)
Definition: Player.cs:248
int days
Definition: Player.cs:75
int months
Definition: Player.cs:78
int debt
Definition: Player.cs:1014
Flags flags
Definition: Player.cs:1161
void OnAdvanceDay()
Definition: Player.cs:2461
Stats stats
Definition: Player.cs:1083
int countNewline
Definition: Player.cs:1257
int holyWell
Definition: Player.cs:984
void OnAdvanceHour()
Definition: Player.cs:2441
bool prayed
Definition: Player.cs:1053
List< ShippingResult > shippingResults
Definition: Player.cs:1191
int questRerollCost
Definition: Player.cs:1029
int uidLastShippedZone
Definition: Player.cs:969
NumLogManager nums
Definition: Player.cs:1086
CellDetail detail
Definition: Point.cs:71
Cell cell
Definition: Point.cs:51
bool IsActive(int id, int days=-1)
void OnAdvanceHour()
HashSet< string > completedIDs
Definition: QuestManager.cs:17
Quest Add(string id, string idGlobalChara=null)
Definition: QuestManager.cs:29
bool IsCompleted(string id)
Quest GetGlobal(string id)
List< Zone > ListTowns()
Definition: Region.cs:272
void CheckRandomSites()
Definition: Region.cs:76
void UpdateRelations()
void OnChangeHour()
Definition: Scene.cs:779
Definition: Shaker.cs:5
static void ShakeCam(string id="default", float magnitude=1f)
Definition: Shaker.cs:25
Zone Find(string id)
int uid
Definition: Spatial.cs:70
virtual bool IsRegion
Definition: Spatial.cs:515
Faction mainFaction
Definition: Spatial.cs:442
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
bool IsFull(int y=0)
static Thing CreateParcel(string idLang=null, params Thing[] things)
Definition: ThingGen.cs:42
static Thing CreateFromTag(string idTag, int lv=-1)
Definition: ThingGen.cs:80
static Thing CreateFromCategory(string idCat, int lv=-1)
Definition: ThingGen.cs:75
static Thing CreateBill(int pay, bool tax)
Definition: ThingGen.cs:85
static Thing CreateCardboardBox(int uidZone=-1)
Definition: ThingGen.cs:244
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
void PutChara(string id)
virtual bool UseGlobalGoal
Definition: TraitChara.cs:93
virtual bool CanBeShipped
Definition: Trait.cs:330
static void Reserve(string idStep, Action onBeforePlay=null)
Definition: Tutorial.cs:55
static void Remove(string idStep)
Definition: Tutorial.cs:49
void SimulateHour()
Definition: VirtualDate.cs:66
void OnChangeHour()
Definition: Weather.cs:197
static void Add(BaseSticky sticky, bool animate=true)
Definition: WidgetSticky.cs:52
void CreateDayData()
Definition: World.cs:43
Region region
Definition: World.cs:23
GameDate date
Definition: World.cs:6
void SendPackage(Thing p)
Definition: World.cs:68
Weather weather
Definition: World.cs:12
List< ZoneEvent > list
Definition: Zone.cs:12
ZoneEventManager events
Definition: Zone.cs:40
FactionBranch branch
Definition: Zone.cs:34
virtual void OnAdvanceHour()
Definition: Zone.cs:1208
Region Region
Definition: Zone.cs:165