Elin Decompiled Documentation EA 23.233 Nightly Patch 1
Loading...
Searching...
No Matches
Game.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3using System.Runtime.Serialization;
4using Newtonsoft.Json;
5using UnityEngine;
6
7public class Game : EClass
8{
9 public class Config : EClass
10 {
11 [JsonProperty]
12 public bool showRoof;
13
14 [JsonProperty]
15 public bool showWall;
16
17 [JsonProperty]
18 public bool tilt;
19
20 [JsonProperty]
21 public bool tiltRegion;
22
23 [JsonProperty]
24 public bool slope;
25
26 [JsonProperty]
27 public bool noRoof;
28
29 [JsonProperty]
30 public bool freePos;
31
32 [JsonProperty]
33 public bool snapFreePos;
34
35 [JsonProperty]
36 public bool buildLight;
37
38 [JsonProperty]
39 public bool highlightArea;
40
41 [JsonProperty]
42 public bool autoWall;
43
44 [JsonProperty]
45 public bool showGuideGrid;
46
47 [JsonProperty]
48 public bool reverseSnow;
49
50 [JsonProperty]
51 public bool autoCollectCard;
52
53 [JsonProperty]
54 public bool cheat;
55
56 [JsonProperty]
57 public bool showAllFeat;
58
59 [JsonProperty]
60 public int slopeMod = 50;
61
62 [JsonProperty]
63 public int defaultZoom = 100;
64
65 [JsonProperty]
66 public int zoomedZoom = 125;
67
68 [JsonProperty]
69 public int regionZoom = 100;
70
71 [JsonProperty]
72 public int tiltPower = 80;
73
74 [JsonProperty]
75 public int tiltPowerRegion = 50;
76
77 [JsonProperty]
78 public int gridIconSize = 100;
79
80 [JsonProperty]
81 public int backDrawAlpha = 10;
82
83 [JsonProperty]
84 public int animeSpeed = 100;
85
86 [JsonProperty]
87 public int lowWallObjAltitude = 2;
88
89 [JsonProperty]
91
92 [JsonProperty]
94
95 [JsonProperty]
97
98 public bool FreePos
99 {
100 get
101 {
102 if (!Input.GetKey(KeyCode.LeftShift))
103 {
104 return Input.GetKey(KeyCode.RightShift);
105 }
106 return true;
107 }
108 }
109 }
110
111 public class Flags : EClass
112 {
113 [JsonProperty]
114 public int _b1;
115
117
119 {
120 get
121 {
122 return b1[0];
123 }
124 set
125 {
126 b1[0] = value;
127 }
128 }
129
131 private void OnSerializing(StreamingContext context)
132 {
133 _b1 = (int)b1.Bits;
134 }
135
136 [OnDeserialized]
137 private void _OnDeserialized(StreamingContext context)
138 {
139 b1.Bits = (uint)_b1;
140 }
141 }
142
143 public static Game Instance;
144
145 public static float waitTimer;
146
147 public static string id;
148
149 public static bool isPaused;
150
151 [JsonProperty(Order = -90)]
153
154 [JsonProperty(Order = -80)]
156
157 [JsonProperty(Order = -100)]
159
160 [JsonProperty(Order = -60)]
162
163 [JsonProperty(Order = -50)]
165
166 [JsonProperty]
168
169 [JsonProperty]
171
172 [JsonProperty]
174
175 [JsonProperty]
176 public new World world;
177
178 [JsonProperty]
179 public new Player player = new Player();
180
181 [JsonProperty]
183
184 [JsonProperty]
186
187 [JsonProperty]
188 public MsgLog log = new MsgLog
189 {
190 id = "log"
191 };
192
193 [JsonProperty]
194 public PCCUniformManager uniforms = new PCCUniformManager();
195
196 [JsonProperty]
198
199 [JsonProperty]
200 public int seed;
201
202 [JsonProperty]
203 public int idPrologue;
204
205 [JsonProperty]
206 public int idDifficulty;
207
208 [JsonProperty]
209 public int dateScratch;
210
211 [JsonProperty]
212 public double backupTime;
213
214 [JsonProperty]
215 public Flags flags = new Flags();
216
217 [JsonProperty]
218 public Config config = new Config();
219
220 [JsonProperty]
221 public List<Thing> lostThings = new List<Thing>();
222
223 [JsonProperty]
225
226 [JsonProperty]
228
229 public int gameSpeedIndex = 1;
230
231 public int lastGameSpeedIndex = 1;
232
233 public int sessionMin;
234
235 public int countLoadedMaps;
236
237 public int saveCount;
238
239 public float timeSinceStart;
240
241 public bool isLoading;
242
243 public bool isKilling;
244
245 public bool isCloud;
246
248
250
252
254
255 public Dictionary<string, IGlobalValue> referenceMap = new Dictionary<string, IGlobalValue>();
256
257 public HashSet<Texture2D> loadedTextures = new HashSet<Texture2D>();
258
259 private float welcomeTimer;
260
261 public static bool IsWaiting => waitTimer > 0f;
262
264
266
268
270
272
274
275 public bool IsSurvival => Prologue.type == GameType.Survival;
276
278
279 public new static void Wait(float a, Point p)
280 {
281 _ = p?.IsSync;
282 }
283
284 public new static void Wait(float a, Card c)
285 {
286 if (c != null && c.isSynced && !c.IsPC)
287 {
288 Wait(a);
289 }
290 }
291
292 public static void Wait(float a)
293 {
294 waitTimer = a * (float)(EClass.core.config.game.waiter * 25) / 100f;
295 }
296
297 public void OnUpdate()
298 {
299 backupTime += Time.deltaTime;
300 waitTimer -= Time.deltaTime;
301 timeSinceStart += Time.deltaTime;
302 player.stats.timeElapsed += Time.deltaTime;
304 {
305 flags.IsWelcomeMessageShown = true;
306 }
308 }
309
310 public static bool TryLoad(string id, bool cloud, Action onLoad)
311 {
313 {
314 onLoad();
315 return true;
316 }
317 EClass.ui.Say("incompatible");
318 return false;
319 }
320
321 public static void Load(string id, bool cloud)
322 {
323 string text = (cloud ? CorePath.RootSaveCloud : CorePath.RootSave) + id;
324 Debug.Log("Loading: " + id + ": " + text);
325 if (EClass.game != null)
326 {
327 EClass.game.Kill();
328 }
330 EClass.core.game = GameIO.LoadGame(id, text, cloud);
331 EClass.game.isCloud = cloud;
332 EClass.game.isLoading = true;
336 EClass.scene.Init(Scene.Mode.StartGame);
337 if (EClass.game.altInv)
338 {
339 SoundManager.ignoreSounds = true;
341 {
342 EClass.ui.OpenFloatInv();
343 }
344 SoundManager.ignoreSounds = true;
346 {
347 EClass.ui.ToggleAbility();
348 }
349 SoundManager.ignoreSounds = false;
350 TooltipManager.Instance.HideTooltips(immediate: true);
351 }
352 if ((bool)WidgetSideScreen.Instance)
353 {
355 }
356 EClass.game.isLoading = false;
357 }
358
359 public void OnLoad()
360 {
361 domains.OnLoad();
364 world._OnLoad();
365 player.OnLoad();
367 {
368 EClass.pc.party.members.ForEach(delegate(Chara c)
369 {
370 c.currentZone = EClass.pc.homeZone;
371 c.global.transition = new ZoneTransition
372 {
373 state = ZoneTransition.EnterState.Return
374 };
375 });
376 }
377 player.zone = EClass.pc.currentZone;
378 EClass.pc.currentZone.lastActive = world.date.GetRaw();
379 if (spatials.Find("somewhere") == null)
380 {
381 SpatialGen.Create("somewhere", world.region, register: true);
382 }
383 EClass.pc.homeZone.isKnown = true;
386 foreach (Thing item in EClass.pc.things.List((Thing t) => t.Num <= 0 || t.isDestroyed))
387 {
388 item.parent.RemoveCard(item);
389 }
390 foreach (Thing item2 in EClass.pc.things.List((Thing t) => t.trait is TraitChestMerchant))
391 {
392 item2.Destroy();
393 }
394 foreach (Thing item3 in EClass.pc.things.List((Thing t) => t.invY == 1 && t.invX == -1))
395 {
396 item3.invY = 0;
397 }
398 foreach (Chara value in EClass.game.cards.globalCharas.Values)
399 {
400 if (value.id == "demitas" && value.faction.id == "wilds")
401 {
403 }
404 if (value.memberType == FactionMemberType.Livestock && !value.IsPCFaction)
405 {
406 value.memberType = FactionMemberType.Default;
407 }
408 if (!value.isDyed && value.HasTag(CTAG.random_color))
409 {
410 value.DyeRandom();
411 }
412 }
413 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
414 {
415 foreach (Chara member in child.members)
416 {
417 if (!member.isDead && (member.currentZone == null || member.currentZone.id == "somewhere"))
418 {
419 Debug.Log("exception: Moving invalid chara: " + member.Name + "/" + member.currentZone?.ToString() + "/" + member.homeBranch?.ToString() + "/" + member.faction);
420 member.MoveZone(child.owner, ZoneTransition.EnterState.RandomVisit);
421 }
422 member.RefreshWorkElements(child.owner.elements);
423 member.Refresh();
424 }
425 }
426 EClass.pc.angle = player.angle;
428 if (cards.listAdv.Count == 0)
429 {
431 }
432 quests.list.ForeachReverse(delegate(Quest q)
433 {
434 if (!(q is QuestRandom))
435 {
436 foreach (Quest item4 in quests.list)
437 {
438 if (q != item4 && item4.id == q.id)
439 {
440 quests.list.Remove(item4);
441 break;
442 }
443 }
444 }
445 });
446 quests.globalList.ForeachReverse(delegate(Quest q)
447 {
448 if (!(q is QuestRandom))
449 {
450 foreach (Quest global in quests.globalList)
451 {
452 if (q != global && global.id == q.id)
453 {
454 quests.globalList.Remove(global);
455 break;
456 }
457 }
458 }
459 });
460 TryAddQuest("into_darkness", "exile_kettle");
461 if (version.IsBelow(0, 23, 221) && EClass.game.quests.IsCompleted("curry"))
462 {
463 world.SendPackage(ThingGen.CreateParcel(null, ThingGen.CreateCassette(110)));
464 }
465 if (version.IsBelow(0, 23, 185))
466 {
467 player.resetPrincipal = true;
468 }
469 if (version.IsBelow(0, 23, 182))
470 {
471 foreach (Chara value2 in cards.globalCharas.Values)
472 {
473 if (!value2.IsUnique && value2.c_lockedAge != 0)
474 {
475 value2.elements.SetBase(1243, 1);
476 }
477 }
478 }
479 if (version.IsBelow(0, 23, 155))
480 {
481 AddAdventurer("adv_yukiimo");
482 }
483 if (version.IsBelow(0, 23, 100))
484 {
485 int num = player.recipes.knownRecipes.TryGetValue("trainingDummy_heavy", 0);
486 if (num != 0)
487 {
488 player.recipes.knownRecipes["trainingDummy_heavy1"] = num;
489 }
490 }
491 if (version.IsBelow(0, 23, 96))
492 {
493 EClass.game.principal = IO.DeepCopy(EClass.setting.start.principals[0]);
494 }
495 if (player.resetPrincipal)
496 {
497 GameDifficultySetting gameDifficultySetting = EClass.setting.start.difficulties[idDifficulty];
498 EClass.game.principal.id = -1;
499 EClass.game.principal.permadeath = gameDifficultySetting.deleteGameOnDeath;
500 EClass.game.principal.disableManualSave = !gameDifficultySetting.allowManualSave;
501 EClass.core.actionsNextFrame.Add(delegate
502 {
503 EClass.ui.AddLayer<LayerWorldSetting>();
504 });
505 }
506 if (version.IsBelow(0, 23, 93))
507 {
509 Debug.Log("â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– feafefaeffaeaffeaaeaefseasfaefaef");
510 while (TryAddRecipe())
511 {
512 }
513 }
514 if (version.IsBelow(0, 23, 72))
515 {
516 foreach (Chara value3 in EClass.game.cards.globalCharas.Values)
517 {
518 if (!value3.isDead)
519 {
520 value3.c_wasInPcParty = false;
521 }
522 }
523 }
524 if (version.IsBelow(0, 23, 59))
525 {
526 while (TryDestroy())
527 {
528 }
529 }
530 if (version.IsBelow(0, 23, 199) && EClass.game.quests.GetPhase<QuestNegotiationDarkness>() >= 3)
531 {
532 world.SendPackage(ThingGen.CreateParcel(null, ThingGen.Create("bone_duponne")));
533 }
534 if (version.IsBelow(0, 23, 195))
535 {
536 Zone zone = spatials.Find("startVillage2");
537 if (zone != null && zone.visitCount > 0)
538 {
540 }
541 }
542 if (version.IsBelow(0, 23, 52))
543 {
544 player.flags.toggleHotbarHighlightActivated = true;
545 }
546 if (version.IsBelow(0, 23, 51))
547 {
548 foreach (Chara value4 in EClass.game.cards.globalCharas.Values)
549 {
550 if (!(value4.id != "adv") && value4.IsPCFaction)
551 {
552 value4.idSkin = value4.uid % (value4.source._tiles.Length - 4) / 2 * 2 + ((!value4.IsMale) ? 1 : 0);
553 }
554 }
555 }
556 if (version.IsBelow(0, 22, 91))
557 {
558 TryAddQuestIfActive("demitas_spellwriter", "into_darkness");
559 }
560 if (version.IsBelow(0, 22, 86))
561 {
562 Chara chara = cards.globalCharas.Find("demitas");
563 if (chara != null && chara._works != null && chara._works.Count > 0)
564 {
565 chara._works[0] = 51;
566 }
567 }
568 if (version.IsBelow(0, 22, 86))
569 {
570 TryAddQuest("farris_tulip", "greatDebt");
571 }
572 if (version.IsBelow(0, 22, 86))
573 {
574 TryAddQuest("exile_whisper", "exile_kettle");
575 }
576 if (version.IsBelow(0, 22, 85))
577 {
578 TryAddQuest("exile_meet", "pre_debt");
579 }
580 if (version.IsBelow(0, 22, 60) && EClass.game.quests.Get<QuestDebt>() != null)
581 {
582 Chara chara2 = cards.globalCharas.Find("loytel");
583 Debug.Log("Loytelfix: " + chara2.homeZone);
584 if (chara2.homeZone == null || !chara2.homeZone.IsPCFaction)
585 {
587 chara2.homeZone = EClass.pc.homeBranch.owner;
588 chara2.RemoveEditorTag(EditorTag.Invulnerable);
589 }
590 }
591 if (version.IsBelow(0, 22, 52) && quests.completedIDs.Contains("vernis_gold"))
592 {
593 quests.Add("pre_debt", "farris");
594 }
595 if (quests.completedIDs.Contains("farris_tulip"))
596 {
597 quests.globalList.ForeachReverse(delegate(Quest q)
598 {
599 if (q.id == "farris_tulip")
600 {
601 quests.globalList.Remove(q);
602 }
603 });
604 }
605 quests.list.ForeachReverse(delegate(Quest q)
606 {
607 if (q is QuestDialog && quests.completedIDs.Contains(q.id))
608 {
609 quests.list.Remove(q);
610 }
611 });
612 if (version.IsBelow(0, 22, 20))
613 {
614 foreach (Chara value5 in cards.globalCharas.Values)
615 {
616 value5.SetBool(18, enable: false);
617 }
618 }
619 if (version.IsBelow(0, 22, 22))
620 {
621 if (EClass.pc.faithElements != null)
622 {
624 }
625 foreach (Element item5 in EClass.pc.elements.ListElements((Element e) => e.source.categorySub == "god"))
626 {
627 EClass.pc.SetFeat(item5.id, 0);
628 }
630 }
631 if (version.IsBelow(0, 22, 45))
632 {
633 player.debt = 20000000;
634 }
635 if (!version.Equals(EClass.core.version))
636 {
637 player.recipes.OnVersionUpdate();
638 }
639 if (cards.container_deposit == null)
640 {
641 cards.container_deposit = ThingGen.Create("container_deposit");
642 if (player.bankMoney > 0)
643 {
644 cards.container_deposit.Add("money", player.bankMoney);
645 }
646 }
647 foreach (Quest item6 in quests.list)
648 {
649 if (item6 is QuestSequence && !EClass.sources.quests.map.ContainsKey(item6.idSource))
650 {
651 item6.phase = 0;
652 }
653 }
654 foreach (Quest global2 in quests.globalList)
655 {
656 if (global2 is QuestSequence && !EClass.sources.quests.map.ContainsKey(global2.idSource))
657 {
658 global2.phase = 0;
659 }
660 }
661 void TryAddQuest(string idQuest, string idReqQuest)
662 {
663 if (quests.completedIDs.Contains(idReqQuest) && !quests.completedIDs.Contains(idQuest) && quests.GetGlobal(idQuest) == null && quests.Get(idQuest) == null)
664 {
665 quests.Add(idQuest);
666 }
667 }
668 void TryAddQuestIfActive(string idQuest, string idReqQuest)
669 {
670 if (quests.Get(idReqQuest) != null && !quests.completedIDs.Contains(idQuest) && quests.GetGlobal(idQuest) == null && quests.Get(idQuest) == null)
671 {
672 quests.Add(idQuest);
673 }
674 }
675 bool TryAddRecipe()
676 {
677 foreach (string key in player.recipes.knownRecipes.Keys)
678 {
679 if (key.Length > 1 && key[0] == 'b')
680 {
681 RecipeSource recipeSource = RecipeManager.Get(key + "-p");
682 if (recipeSource != null && !player.recipes.knownRecipes.ContainsKey(recipeSource.id))
683 {
684 Debug.Log(recipeSource.id);
685 player.recipes.Add(recipeSource.id, showEffect: false);
686 return true;
687 }
688 recipeSource = RecipeManager.Get(key.Replace("-p", ""));
689 if (recipeSource != null && !player.recipes.knownRecipes.ContainsKey(recipeSource.id))
690 {
691 Debug.Log(recipeSource.id);
692 player.recipes.Add(recipeSource.id, showEffect: false);
693 return true;
694 }
695 }
696 }
697 return false;
698 }
699 static bool TryDestroy()
700 {
701 for (int i = 0; i < EClass.pc.party.members.Count; i++)
702 {
703 Chara chara3 = EClass.pc.party.members[i];
704 Debug.Log(chara3.id + "/" + chara3.uid + "/" + chara3._cints[1]);
705 for (int j = 0; j < EClass.pc.party.members.Count; j++)
706 {
707 Chara chara4 = EClass.pc.party.members[j];
708 if (i != j && chara3.uid == chara4.uid)
709 {
710 EClass.pc.party.uidMembers.RemoveAt(j);
711 EClass.pc.party.members.RemoveAt(j);
712 chara4.Destroy();
713 Debug.Log("Destroyed");
714 return true;
715 }
716 }
717 }
718 return false;
719 }
720 }
721
722 public static void Create(string _id = null, bool cloud = false)
723 {
724 id = _id ?? GameIO.GetNewId(cloud ? CorePath.RootSaveCloud : CorePath.RootSave, "world_");
725 OnBeforeInstantiate();
726 EClass.core.game = (Instance = new Game());
727 EClass.core.game.isCloud = cloud;
731 }
732
733 public static void OnBeforeInstantiate()
734 {
735 Player.seedHallucination = 0;
736 }
737
738 public void OnGameInstantiated()
739 {
740 HotItemHeld.taskBuild = null;
741 InvOwner.Trader = (InvOwner.Main = null);
742 LayerDrama.currentQuest = null;
743 BookList.Init();
744 ContentGallery.lastPage = 0;
745 ContentGallery.listMode = false;
746 if (!Application.isEditor || !EClass.debug.enable)
747 {
749 }
750 foreach (Chara value in cards.globalCharas.Values)
751 {
752 if (value.uid == player.uidChara)
753 {
754 player.chara = value;
755 break;
756 }
757 }
759 EClass.ui.widgets.OnGameInstantiated();
760 EClass.Sound.ResetPlaylist();
761 EClass.core.config.ApplyFPS(force: true);
762 }
763
764 public void _Create()
765 {
766 principal = IO.DeepCopy(EClass.setting.start.principals[0]);
767 idDifficulty = 1;
768 config.snapFreePos = (config.slope = (config.autoWall = true));
769 config.autoCombat.abortOnAllyDead = true;
770 config.autoCombat.abortOnHalfHP = true;
771 config.autoCombat.bUseHotBar = true;
772 config.autoCombat.bUseInventory = true;
773 config.autoCombat.bDontChangeTarget = true;
774 config.autoCombat.abortOnKill = true;
775 config.autoCombat.abortOnItemLoss = true;
776 seed = EClass.rnd(10000);
777 Debug.Log("creating game: " + id + " seed:" + seed);
778 startVersion = EClass.core.version;
779 uniforms.Import();
780 religions.OnCreateGame();
781 factions.OnCreateGame();
783 domains.OnCreateGame();
784 foreach (Spatial value in spatials.map.Values)
785 {
786 value.SetMainFaction(factions.Find(value.source.faction.IsEmpty("wilds")));
787 }
788 player.OnCreateGame();
789 cards.container_shipping = ThingGen.Create("container_shipping");
790 cards.container_deliver = ThingGen.Create("container_delivery");
791 cards.container_deposit = ThingGen.Create("container_deposit");
792 bp = new GameBlueprint();
793 bp.Create();
794 }
795
796 public void StartNewGame()
797 {
798 EClass.pc.homeZone = StartZone;
800 parties.Create(EClass.pc);
801 Prologue prologue = EClass.game.Prologue;
802 if (prologue.type == GameType.Survival)
803 {
804 survival = new SurvivalManager();
805 }
806 else
807 {
808 CharaGen.Create("fiama").SetGlobal(EClass.game.StartZone, prologue.posFiama.x, prologue.posFiama.y);
809 CharaGen.Create("ashland").SetGlobal(EClass.game.StartZone, prologue.posAsh.x, prologue.posAsh.y);
810 }
811 if ((bool)LayerTitle.actor)
812 {
813 world.date.hour = EClass.game.Prologue.hour;
815 Player obj = player;
816 Chara chara = EClass.pc;
817 Zone zone2 = (EClass.pc.homeZone = EClass.game.spatials.Find(EClass.game.Prologue.idStartZone));
818 Zone zone4 = (chara.currentZone = zone2);
819 obj.zone = zone4;
820 EClass.pc.global.transition = new ZoneTransition
821 {
822 state = ZoneTransition.EnterState.Exact,
824 z = EClass.game.Prologue.startZ
825 };
826 EClass.pc.hp = EClass.pc.MaxHP;
829 EClass.pc.AddCondition<ConFaint>(200, force: true);
830 }
831 else
832 {
833 EClass.pc.homeZone = EClass.game.spatials.Find(EClass.game.Prologue.idStartZone);
834 Zone zone5 = null;
835 ZoneTransition transition = new ZoneTransition
836 {
837 state = ZoneTransition.EnterState.Auto
838 };
839 Chara c = EClass.game.cards.globalCharas.Find("ashland");
840 switch (EClass.debug.startScene)
841 {
842 case CoreDebug.StartScene.Zone:
844 transition = new ZoneTransition
845 {
846 state = ZoneTransition.EnterState.Exact,
848 z = EClass.game.Prologue.startZ
849 };
850 break;
851 case CoreDebug.StartScene.Home:
852 case CoreDebug.StartScene.Story_Test:
854 transition = new ZoneTransition
855 {
856 state = ZoneTransition.EnterState.Exact,
858 z = EClass.game.Prologue.startZ
859 };
860 break;
861 case CoreDebug.StartScene.Survival:
862 EClass.game.idPrologue = 3;
864 transition = new ZoneTransition
865 {
866 state = ZoneTransition.EnterState.Exact,
868 z = EClass.game.Prologue.startZ
869 };
870 break;
871 case CoreDebug.StartScene.Home_Cave:
872 EClass.game.idPrologue = 2;
874 transition = new ZoneTransition
875 {
876 state = ZoneTransition.EnterState.Exact,
878 z = EClass.game.Prologue.startZ
879 };
880 break;
881 case CoreDebug.StartScene.MeetFarris:
882 {
883 Zone parent4 = EClass.game.spatials.Find("nymelle");
884 zone5 = SpatialGen.Create("nymelle", parent4, register: true) as Zone;
885 zone5.lv = -2;
886 EClass.game.quests.Start("exploration", c, assignQuest: false);
887 break;
888 }
889 case CoreDebug.StartScene.NymelleBoss:
890 {
891 Zone parent3 = EClass.game.spatials.Find("nymelle");
892 zone5 = SpatialGen.Create("nymelle_boss", parent3, register: true) as Zone;
893 zone5.lv = -5;
894 EClass.game.quests.Start("exploration", c, assignQuest: false).ChangePhase(2);
895 break;
896 }
897 case CoreDebug.StartScene.AfterNymelle:
899 transition = new ZoneTransition
900 {
901 state = ZoneTransition.EnterState.Exact,
903 z = EClass.game.Prologue.startZ
904 };
905 EClass.game.quests.Start("exploration", c, assignQuest: false).ChangePhase(5);
906 EClass.game.quests.globalList.Add(Quest.Create("sharedContainer").SetClient(c, assignQuest: false));
907 EClass.game.quests.globalList.Add(Quest.Create("crafter").SetClient(c, assignQuest: false));
908 EClass.game.quests.globalList.Add(Quest.Create("defense").SetClient(c, assignQuest: false));
909 break;
910 case CoreDebug.StartScene.Melilith:
911 {
912 Zone parent2 = EClass.game.spatials.Find("cursed_manor");
913 zone5 = SpatialGen.Create("cursed_manor_dungeon", parent2, register: true) as Zone;
914 zone5.lv = -5;
915 break;
916 }
917 case CoreDebug.StartScene.Tefra:
918 {
919 Zone parent = EClass.game.spatials.Find("vernis");
920 zone5 = SpatialGen.Create("vernis_mine", parent, register: true) as Zone;
921 zone5.lv = -7;
922 break;
923 }
924 }
925 if (zone5 != null)
926 {
927 Player obj2 = player;
928 Chara chara2 = EClass.pc;
929 Zone zone2 = (EClass.pc.homeZone = zone5);
930 Zone zone4 = (chara2.currentZone = zone2);
931 obj2.zone = zone4;
932 EClass.pc.global.transition = transition;
933 }
934 else
935 {
936 Player obj3 = player;
937 Zone zone4 = (EClass.pc.currentZone = EClass.game.spatials.Find(EClass.debug.startZone));
938 obj3.zone = zone4;
939 EClass.pc.global.transition = new ZoneTransition
940 {
941 state = ZoneTransition.EnterState.Return
942 };
943 }
944 }
945 EClass.pc.homeZone.isKnown = true;
946 AddAdventurers();
947 player.OnStartNewGame();
948 EClass.scene.Init(Scene.Mode.StartGame);
949 }
950
951 public void AddAdventurers()
952 {
953 List<Zone> source = world.region.ListTowns();
954 string[] array = new string[7] { "adv_kiria", "adv_gaki", "adv_wini", "adv_verna", "adv_ivory", "adv_mesherada", "adv_yukiimo" };
955 for (int i = 0; i < EClass.setting.balance.numAdv; i++)
956 {
957 Zone zone = source.RandomItem();
958 if (zone is Zone_SubTown && EClass.rnd(5) != 0)
959 {
960 i--;
961 continue;
962 }
963 if (i >= array.Length && i < array.Length + 2)
964 {
966 }
967 Chara chara = CharaGen.Create((i < array.Length) ? array[i] : ((EClass.rnd(10) == 0) ? "adv_fairy" : "adv"));
968 chara.SetHomeZone(zone);
969 chara.global.transition = new ZoneTransition
970 {
971 state = ZoneTransition.EnterState.RandomVisit
972 };
973 zone.AddCard(chara);
974 cards.listAdv.Add(chara);
975 }
976 }
977
978 public void AddAdventurer(string id, Zone z = null)
979 {
980 if (z == null)
981 {
982 List<Zone> source = world.region.ListTowns();
983 do
984 {
985 z = source.RandomItem();
986 }
987 while ((z is Zone_SubTown && EClass.rnd(5) != 0) || z == EClass.pc.currentZone);
988 }
989 Chara chara = CharaGen.Create(id);
990 chara.SetHomeZone(z);
991 chara.global.transition = new ZoneTransition
992 {
993 state = ZoneTransition.EnterState.RandomVisit
994 };
995 z.AddCard(chara);
996 cards.listAdv.Add(chara);
997 }
998
999 public void GotoTitle(bool showDialog = true)
1000 {
1001 if (showDialog)
1002 {
1003 Dialog.YesNo("dialog_gotoTitle", delegate
1004 {
1005 if (EClass.game.Save(isAutoSave: true))
1006 {
1007 EClass.scene.Init(Scene.Mode.Title);
1008 }
1009 });
1010 }
1011 else
1012 {
1013 EClass.scene.Init(Scene.Mode.Title);
1014 }
1015 }
1016
1017 public void Quit()
1018 {
1019 Dialog.YesNo("dialog_quit", delegate
1020 {
1021 if (EClass.game.Save())
1022 {
1023 EClass.core.Quit();
1024 }
1025 });
1026 }
1027
1028 public bool Save(bool isAutoSave = false, bool silent = false)
1029 {
1030 if (EClass.ui.IsDragging)
1031 {
1032 EClass.ui.EndDrag(canceled: true);
1033 }
1034 if (isAutoSave && EClass.debug.ignoreAutoSave)
1035 {
1036 return true;
1037 }
1038 bool flag = EClass.core.config.game.autoBackup && backupTime >= (double)(EClass.core.config.game.backupInterval * 60 * 30);
1039 if (flag)
1040 {
1041 backupTime = 0.0;
1042 }
1044 countLoadedMaps = 0;
1045 player.pref.layerInventory = EClass.ui.layerFloat.GetLayer<LayerInventory>();
1046 if (player.pref.layerInventory)
1047 {
1048 player.pref.layerAbility = EClass.ui.layerFloat.GetLayer<LayerAbility>();
1049 }
1050 player.pref.layerCraft = EClass.ui.layerFloat.GetLayer<LayerCraftFloat>();
1051 player.angle = EClass.pc.angle;
1052 version = EClass.core.version;
1053 EClass.ui.widgets.UpdateConfigs();
1054 GameIndex gameIndex = null;
1055 try
1056 {
1057 OnBeforeSave();
1058 gameIndex = GameIO.SaveGame();
1059 }
1060 catch (Exception ex)
1061 {
1062 EClass.ui.Say(ex.Message);
1063 SE.Beep();
1064 Msg.Say("error_save");
1065 return false;
1066 }
1067 if (flag)
1068 {
1069 GameIO.MakeBackup(gameIndex);
1070 EClass.ui.Say("backupDone");
1071 }
1072 if (!silent)
1073 {
1074 if (!isAutoSave)
1075 {
1076 SE.WriteJournal();
1077 }
1078 Msg.Say("saved");
1079 }
1080 saveCount++;
1081 return true;
1082 }
1083
1084 public void OnBeforeSave()
1085 {
1086 foreach (Zone zone in spatials.Zones)
1087 {
1088 zone.OnBeforeSave();
1089 }
1090 player.OnBeforeSave();
1091 foreach (Spatial item in spatials.listDestryoed)
1092 {
1093 item.DeleteMapRecursive();
1094 }
1095 spatials.listDestryoed.Clear();
1096 }
1097
1098 public void Kill()
1099 {
1100 isKilling = true;
1101 Debug.Log("Killing Game: IsStarted? " + EClass.core.IsGameStarted);
1103 {
1104 EClass.ui.OnKillGame();
1106 activeZone.OnKillGame();
1107 }
1108 EClass.core.game = (Instance = null);
1109 EClass.Sound.currentPlaylist = null;
1110 Window.dictTab.Clear();
1111 foreach (Texture2D loadedTexture in loadedTextures)
1112 {
1113 if (loadedTexture != null)
1114 {
1115 UnityEngine.Object.Destroy(loadedTexture);
1116 }
1117 }
1118 }
1119
1120 public void Pause(Action onUnpause = null)
1121 {
1122 isPaused = true;
1123 LayerPause layerPause = EClass.ui.AddLayer<LayerPause>();
1124 Game lastGame = EClass.game;
1125 if (onUnpause == null)
1126 {
1127 return;
1128 }
1129 layerPause.SetOnKill(delegate
1130 {
1131 if (EClass.core.IsGameStarted && lastGame == EClass.game)
1132 {
1133 onUnpause();
1134 }
1135 });
1136 }
1137
1138 [OnSerializing]
1139 private void OnSerializing(StreamingContext context)
1140 {
1141 Debug.Log("#io game OnSerializing");
1142 }
1143
1144 [OnDeserializing]
1145 private void OnDeserializing(StreamingContext context)
1146 {
1147 Debug.Log("#io game OnDeserializing");
1148 Instance = this;
1149 }
1150}
CTAG
Definition: CTAG.cs:2
@ seed
EditorTag
Definition: EditorTag.cs:2
FactionMemberType
GameType
Definition: GameType.cs:2
static void OnGameInstantiated()
Definition: ActionMode.cs:247
void SetBool(int id, bool enable)
Definition: BaseCard.cs:20
List< Action > actionsNextFrame
Definition: BaseCore.cs:31
Version version
Definition: BaseCore.cs:17
static void Init()
Definition: BookList.cs:22
static void Set(CardBlueprint _bp=null)
static CardBlueprint Chara(int lv, Rarity rarity=Rarity.Normal)
Chara Find(string id)
Definition: CardManager.cs:20
List< Chara > listAdv
Definition: CardManager.cs:64
GlobalCharaList globalCharas
Definition: CardManager.cs:46
Thing container_deposit
Definition: CardManager.cs:58
Definition: Card.cs:11
float angle
Definition: Card.cs:71
int c_lockedAge
Definition: Card.cs:1353
bool isDestroyed
Definition: Card.cs:75
void RemoveEditorTag(EditorTag tag)
Definition: Card.cs:2598
ElementContainerCard elements
Definition: Card.cs:41
string id
Definition: Card.cs:35
bool IsUnique
Definition: Card.cs:2079
int invY
Definition: Card.cs:1943
bool IsMale
Definition: Card.cs:2372
string Name
Definition: Card.cs:2125
bool HasTag(CTAG tag)
Definition: Card.cs:2583
void DyeRandom()
Definition: Card.cs:5918
int uid
Definition: Card.cs:122
Trait trait
Definition: Card.cs:53
bool isDyed
Definition: Card.cs:458
void Destroy()
Definition: Card.cs:5015
ThingContainer things
Definition: Card.cs:38
virtual bool IsPC
Definition: Card.cs:2131
int invX
Definition: Card.cs:1931
Thing Add(string id, int num=1, int lv=1)
Definition: Card.cs:3062
int Num
Definition: Card.cs:158
virtual bool isSynced
Definition: Card.cs:2075
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
Definition: Chara.cs:10
void Refresh(bool calledRecursive=false)
Definition: Chara.cs:1720
int[] _cints
Definition: Chara.cs:82
void RefreshWorkElements(ElementContainer parent=null)
Definition: Chara.cs:8849
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:9089
Faction faction
Definition: Chara.cs:425
void SetFeat(int id, int value=1, bool msg=false)
Definition: Chara.cs:9697
Party party
Definition: Chara.cs:43
Chara SetHomeZone(Zone zone)
Definition: Chara.cs:1425
Chara SetGlobal(Zone _home, int x, int z)
Definition: Chara.cs:1469
override bool IsPCFaction
Definition: Chara.cs:669
override int MaxHP
Definition: Chara.cs:706
Zone currentZone
Definition: Chara.cs:253
Stats mana
Definition: Chara.cs:1152
FactionMemberType memberType
Definition: Chara.cs:46
Stats stamina
Definition: Chara.cs:1144
Zone homeZone
Definition: Chara.cs:265
void RefreshFaithElement()
Definition: Chara.cs:10012
ElementContainer faithElements
Definition: Chara.cs:38
FactionBranch homeBranch
Definition: Chara.cs:1064
bool isDead
Definition: Chara.cs:387
List< int > _works
Definition: Chara.cs:52
void MoveZone(string alias)
Definition: Chara.cs:3304
new GameConfig game
Definition: CoreConfig.cs:605
void ApplyFPS(bool force=false)
Definition: CoreConfig.cs:837
void TryUpdatePlayedHour()
Definition: CoreConfig.cs:811
string startZone
Definition: CoreDebug.cs:106
bool enable
Definition: CoreDebug.cs:286
void OnLoad()
Definition: CoreDebug.cs:706
bool ignoreAutoSave
Definition: CoreDebug.cs:126
StartScene startScene
Definition: CoreDebug.cs:96
static string RootSave
Definition: CorePath.cs:206
static string RootSaveCloud
Definition: CorePath.cs:208
Game game
Definition: Core.cs:72
bool IsGameStarted
Definition: Core.cs:84
CoreConfig config
Definition: Core.cs:70
int GetRaw(int offsetHours=0)
Definition: Date.cs:322
Definition: Dialog.cs:7
static Dialog YesNo(string langDetail, Action actionYes, Action actionNo=null, string langYes="yes", string langNo="no")
Definition: Dialog.cs:244
void OnCreateGame()
Definition: DomainManager.cs:7
Definition: EClass.cs:5
static Game game
Definition: EClass.cs:8
static Scene scene
Definition: EClass.cs:30
static Core core
Definition: EClass.cs:6
static int rnd(long a)
Definition: EClass.cs:58
static SourceManager sources
Definition: EClass.cs:42
static Chara pc
Definition: EClass.cs:14
static CoreDebug debug
Definition: EClass.cs:48
static SoundManager Sound
Definition: EClass.cs:46
static UI ui
Definition: EClass.cs:16
static GameSetting setting
Definition: EClass.cs:34
List< Element > ListElements(Func< Element, bool > shoudList=null, Comparison< Element > comparison=null)
void SetParent(Card c)
Element SetBase(string alias, int v, int potential=0)
int id
Definition: ELEMENT.cs:250
SourceElement.Row source
Definition: ELEMENT.cs:273
List< Chara > members
void AddMemeber(Chara c)
Faction Find(string id)
List< FactionBranch > GetChildren()
Definition: FACTION.cs:202
string id
Definition: FACTION.cs:129
Definition: GameIO.cs:10
static string GetNewId(string path, string prefix="", int start=1)
Definition: GameIO.cs:342
static bool CanLoad(string root)
Definition: GameIO.cs:134
static GameIndex SaveGame()
Definition: GameIO.cs:69
static void ClearTemp()
Definition: GameIO.cs:51
static Game LoadGame(string id, string root, bool cloud)
Definition: GameIO.cs:140
static void ResetTemp()
Definition: GameIO.cs:41
static void MakeBackup(GameIndex index, string suffix="")
Definition: GameIO.cs:102
List< GameDifficultySetting > difficulties
Definition: GameSetting.cs:242
List< GamePrincipal > principals
Definition: GameSetting.cs:244
List< Prologue > prologues
Definition: GameSetting.cs:240
StartSetting start
Definition: GameSetting.cs:305
BalanceSetting balance
Definition: GameSetting.cs:309
void FixedUpdate()
Definition: GameUpdater.cs:436
int slopeMod
Definition: Game.cs:60
bool tilt
Definition: Game.cs:18
bool buildLight
Definition: Game.cs:36
int animeSpeed
Definition: Game.cs:84
bool showRoof
Definition: Game.cs:12
bool showWall
Definition: Game.cs:15
int regionZoom
Definition: Game.cs:69
bool autoCollectCard
Definition: Game.cs:51
ConfigPreference preference
Definition: Game.cs:96
bool noRoof
Definition: Game.cs:27
int defaultZoom
Definition: Game.cs:63
bool showGuideGrid
Definition: Game.cs:45
int lowWallObjAltitude
Definition: Game.cs:87
bool highlightArea
Definition: Game.cs:39
int zoomedZoom
Definition: Game.cs:66
int tiltPower
Definition: Game.cs:72
int backDrawAlpha
Definition: Game.cs:81
int tiltPowerRegion
Definition: Game.cs:75
bool showAllFeat
Definition: Game.cs:57
bool snapFreePos
Definition: Game.cs:33
int gridIconSize
Definition: Game.cs:78
bool cheat
Definition: Game.cs:54
bool reverseSnow
Definition: Game.cs:48
bool tiltRegion
Definition: Game.cs:21
bool slope
Definition: Game.cs:24
bool FreePos
Definition: Game.cs:99
bool autoWall
Definition: Game.cs:42
ConfigTactics tactics
Definition: Game.cs:90
bool freePos
Definition: Game.cs:30
ConfigAutoCombat autoCombat
Definition: Game.cs:93
bool IsWelcomeMessageShown
Definition: Game.cs:119
BitArray32 b1
Definition: Game.cs:116
void OnSerializing(StreamingContext context)
Definition: Game.cs:131
void _OnDeserialized(StreamingContext context)
Definition: Game.cs:137
int _b1
Definition: Game.cs:114
Definition: Game.cs:8
void OnSerializing(StreamingContext context)
Definition: Game.cs:1139
void _Create()
Definition: Game.cs:764
bool altAbility
Definition: Game.cs:273
static bool isPaused
Definition: Game.cs:149
HashSet< Texture2D > loadedTextures
Definition: Game.cs:257
int sessionMin
Definition: Game.cs:233
List< Thing > lostThings
Definition: Game.cs:221
bool UseGrid
Definition: Game.cs:265
bool altUI
Definition: Game.cs:267
Dictionary< string, IGlobalValue > referenceMap
Definition: Game.cs:255
bool isLoading
Definition: Game.cs:241
static bool IsWaiting
Definition: Game.cs:261
GameBlueprint bp
Definition: Game.cs:247
static void OnBeforeInstantiate()
Definition: Game.cs:733
new Player player
Definition: Game.cs:179
SurvivalManager survival
Definition: Game.cs:227
PartyManager parties
Definition: Game.cs:173
ReligionManager religions
Definition: Game.cs:158
float welcomeTimer
Definition: Game.cs:259
int countLoadedMaps
Definition: Game.cs:235
static void Load(string id, bool cloud)
Definition: Game.cs:321
int saveCount
Definition: Game.cs:237
int lastGameSpeedIndex
Definition: Game.cs:231
MsgLog log
Definition: Game.cs:188
int gameSpeedIndex
Definition: Game.cs:229
GamePrincipal principal
Definition: Game.cs:224
static bool TryLoad(string id, bool cloud, Action onLoad)
Definition: Game.cs:310
void AddAdventurers()
Definition: Game.cs:951
DomainManager domains
Definition: Game.cs:164
static string id
Definition: Game.cs:147
void GotoTitle(bool showDialog=true)
Definition: Game.cs:999
bool Save(bool isAutoSave=false, bool silent=false)
Definition: Game.cs:1028
SpatialManager spatials
Definition: Game.cs:152
PCCUniformManager uniforms
Definition: Game.cs:194
TeleportManager teleports
Definition: Game.cs:197
static void Create(string _id=null, bool cloud=false)
Definition: Game.cs:722
static Game Instance
Definition: Game.cs:143
void Kill()
Definition: Game.cs:1098
void OnDeserializing(StreamingContext context)
Definition: Game.cs:1145
Prologue Prologue
Definition: Game.cs:263
CardManager cards
Definition: Game.cs:155
bool isCloud
Definition: Game.cs:245
Zone activeZone
Definition: Game.cs:251
bool IsSurvival
Definition: Game.cs:275
void OnBeforeSave()
Definition: Game.cs:1084
void Pause(Action onUnpause=null)
Definition: Game.cs:1120
GameUpdater updater
Definition: Game.cs:249
void OnUpdate()
Definition: Game.cs:297
static new void Wait(float a, Card c)
Definition: Game.cs:284
static float waitTimer
Definition: Game.cs:145
Flags flags
Definition: Game.cs:215
static new void Wait(float a, Point p)
Definition: Game.cs:279
bool altInv
Definition: Game.cs:269
Zone lastActiveZone
Definition: Game.cs:253
Version startVersion
Definition: Game.cs:170
void AddAdventurer(string id, Zone z=null)
Definition: Game.cs:978
void OnLoad()
Definition: Game.cs:359
new World world
Definition: Game.cs:176
RelationManager relations
Definition: Game.cs:185
int dateScratch
Definition: Game.cs:209
Config config
Definition: Game.cs:218
bool isKilling
Definition: Game.cs:243
QuestManager quests
Definition: Game.cs:182
double backupTime
Definition: Game.cs:212
void Quit()
Definition: Game.cs:1017
int idDifficulty
Definition: Game.cs:206
bool altCraft
Definition: Game.cs:271
float timeSinceStart
Definition: Game.cs:239
void OnGameInstantiated()
Definition: Game.cs:738
int seed
Definition: Game.cs:200
static void Wait(float a)
Definition: Game.cs:292
void StartNewGame()
Definition: Game.cs:796
FactionManager factions
Definition: Game.cs:161
Zone StartZone
Definition: Game.cs:277
Version version
Definition: Game.cs:167
int idPrologue
Definition: Game.cs:203
Definition: IO.cs:11
static void KillActor()
Definition: LayerTitle.cs:191
static EmbarkActor actor
Definition: LayerTitle.cs:25
Layer SetOnKill(Action action)
Definition: Layer.cs:579
Definition: MsgLog.cs:7
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
Party Create(Chara leader)
Definition: PartyManager.cs:9
List< int > uidMembers
Definition: Party.cs:12
List< Chara > members
Definition: Party.cs:19
bool layerAbility
Definition: Player.cs:35
bool layerInventory
Definition: Player.cs:33
double timeElapsed
Definition: Player.cs:66
Definition: Player.cs:11
void OnStartNewGame()
Definition: Player.cs:1381
RecipeManager recipes
Definition: Player.cs:1097
float angle
Definition: Player.cs:971
Pref pref
Definition: Player.cs:1013
Stats stats
Definition: Player.cs:1016
bool resetPrincipal
Definition: Player.cs:1177
void OnBeforeSave()
Definition: Player.cs:1456
int uidChara
Definition: Player.cs:869
void OnLoad()
Definition: Player.cs:1432
int bankMoney
Definition: Player.cs:914
void OnCreateGame()
Definition: Player.cs:1348
Definition: Point.cs:9
bool IsSync
Definition: Point.cs:332
Vector2Int posAsh
Definition: Prologue.cs:23
string idStartZone
Definition: Prologue.cs:9
Vector2Int posFiama
Definition: Prologue.cs:25
int hour
Definition: Prologue.cs:21
GameType type
Definition: Prologue.cs:7
int startX
Definition: Prologue.cs:11
HashSet< string > completedIDs
Definition: QuestManager.cs:17
List< Quest > list
Definition: QuestManager.cs:11
Quest Add(string id, string idGlobalChara=null)
Definition: QuestManager.cs:29
bool IsCompleted(string id)
Quest Start(string id, string idGlobalChara)
Definition: QuestManager.cs:41
List< Quest > globalList
Definition: QuestManager.cs:14
Quest Get(string id)
Quest GetGlobal(string id)
Definition: Quest.cs:7
virtual string idSource
Definition: Quest.cs:149
string id
Definition: Quest.cs:31
void ChangePhase(int a)
Definition: Quest.cs:577
Quest SetClient(Chara c, bool assignQuest=true)
Definition: Quest.cs:380
static Quest Create(string _id, string _idPerson=null, Chara c=null)
Definition: Quest.cs:241
static void BuildList()
static RecipeSource Get(string id)
Dictionary< string, int > knownRecipes
void Add(string id, bool showEffect=true)
void OnVersionUpdate()
Definition: Scene.cs:8
void OnKillGame()
Definition: Scene.cs:341
void Init(Mode newMode)
Definition: Scene.cs:178
Mode
Definition: Scene.cs:10
SourceQuest quests
static Spatial Create(string id, Spatial parent, bool register, int x=-99999, int y=-99999, int icon=0)
Definition: SpatialGen.cs:16
static Spatial CreateRecursive(string id, Spatial parent=null)
Definition: SpatialGen.cs:3
List< Zone > Zones
Zone Find(string id)
GlobalSpatialList map
List< Spatial > listDestryoed
void _OnLoad()
Definition: Spatial.cs:677
void OnBeforeSave()
Definition: Spatial.cs:668
SourceZone.Row source
Definition: Spatial.cs:453
bool destryoed
Definition: Spatial.cs:45
virtual void SetMainFaction(Faction f)
Definition: Spatial.cs:646
string id
Definition: Spatial.cs:13
int visitCount
Definition: Spatial.cs:154
Stats Set(int[] _raw, int _rawIndex, Chara _CC)
Definition: Stats.cs:109
virtual int max
Definition: Stats.cs:68
List< Thing > List(Func< Thing, bool > func, bool onlyAccessible=false)
void RefreshGridRecursive()
static Thing CreateParcel(string idLang=null, params Thing[] things)
Definition: ThingGen.cs:42
static Thing CreateCassette(int id)
Definition: ThingGen.cs:230
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
static TooltipManager Instance
void HideTooltips(bool immediate=false)
Definition: Wait.cs:2
static WidgetSideScreen Instance
override void OnChangeResolution()
Definition: Window.cs:13
static Dictionary< string, int > dictTab
Definition: Window.cs:596
Definition: World.cs:4
Region region
Definition: World.cs:23
GameDate date
Definition: World.cs:6
Definition: Zone.cs:12
override string ToString()
Definition: Zone.cs:549
void OnKillGame()
Definition: Zone.cs:1680
ElementContainerZone elements
Definition: Zone.cs:43
bool IsPCFaction
Definition: Zone.cs:470
Card AddCard(Card t, Point point)
Definition: Zone.cs:1959
uint Bits
Definition: BitArray32.cs:6
override bool Equals(object obj)
Definition: Version.cs:95
bool IsBelow(int _major, int _minor, int _batch)
Definition: Version.cs:31