Elin Decompiled Documentation EA 23.227 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]
173 public new World world;
174
175 [JsonProperty]
176 public new Player player = new Player();
177
178 [JsonProperty]
180
181 [JsonProperty]
183
184 [JsonProperty]
185 public MsgLog log = new MsgLog
186 {
187 id = "log"
188 };
189
190 [JsonProperty]
191 public PCCUniformManager uniforms = new PCCUniformManager();
192
193 [JsonProperty]
195
196 [JsonProperty]
197 public int seed;
198
199 [JsonProperty]
200 public int idPrologue;
201
202 [JsonProperty]
203 public int idDifficulty;
204
205 [JsonProperty]
206 public int dateScratch;
207
208 [JsonProperty]
209 public double backupTime;
210
211 [JsonProperty]
212 public Flags flags = new Flags();
213
214 [JsonProperty]
215 public Config config = new Config();
216
217 [JsonProperty]
218 public List<Thing> lostThings = new List<Thing>();
219
220 [JsonProperty]
222
223 [JsonProperty]
225
226 public int gameSpeedIndex = 1;
227
228 public int lastGameSpeedIndex = 1;
229
230 public int sessionMin;
231
232 public int countLoadedMaps;
233
234 public int saveCount;
235
236 public float timeSinceStart;
237
238 public bool isLoading;
239
240 public bool isKilling;
241
242 public bool isCloud;
243
245
247
249
251
252 public Dictionary<string, IGlobalValue> referenceMap = new Dictionary<string, IGlobalValue>();
253
254 public HashSet<Texture2D> loadedTextures = new HashSet<Texture2D>();
255
256 private float welcomeTimer;
257
258 public static bool IsWaiting => waitTimer > 0f;
259
261
263
265
267
269
271
272 public bool IsSurvival => Prologue.type == GameType.Survival;
273
275
276 public new static void Wait(float a, Point p)
277 {
278 _ = p?.IsSync;
279 }
280
281 public new static void Wait(float a, Card c)
282 {
283 if (c != null && c.isSynced && !c.IsPC)
284 {
285 Wait(a);
286 }
287 }
288
289 public static void Wait(float a)
290 {
291 waitTimer = a * (float)(EClass.core.config.game.waiter * 25) / 100f;
292 }
293
294 public void OnUpdate()
295 {
296 backupTime += Time.deltaTime;
297 waitTimer -= Time.deltaTime;
298 timeSinceStart += Time.deltaTime;
299 player.stats.timeElapsed += Time.deltaTime;
301 {
302 flags.IsWelcomeMessageShown = true;
303 }
305 }
306
307 public static bool TryLoad(string id, bool cloud, Action onLoad)
308 {
310 {
311 onLoad();
312 return true;
313 }
314 EClass.ui.Say("incompatible");
315 return false;
316 }
317
318 public static void Load(string id, bool cloud)
319 {
320 string text = (cloud ? CorePath.RootSaveCloud : CorePath.RootSave) + id;
321 Debug.Log("Loading: " + id + ": " + text);
322 if (EClass.game != null)
323 {
324 EClass.game.Kill();
325 }
327 EClass.core.game = GameIO.LoadGame(id, text, cloud);
328 EClass.game.isCloud = cloud;
329 EClass.game.isLoading = true;
333 EClass.scene.Init(Scene.Mode.StartGame);
334 if (EClass.game.altInv)
335 {
336 SoundManager.ignoreSounds = true;
338 {
339 EClass.ui.OpenFloatInv();
340 }
341 SoundManager.ignoreSounds = true;
343 {
344 EClass.ui.ToggleAbility();
345 }
346 SoundManager.ignoreSounds = false;
347 TooltipManager.Instance.HideTooltips(immediate: true);
348 }
349 if ((bool)WidgetSideScreen.Instance)
350 {
352 }
353 EClass.game.isLoading = false;
354 }
355
356 public void OnLoad()
357 {
358 domains.OnLoad();
361 world._OnLoad();
362 player.OnLoad();
364 {
365 EClass.pc.party.members.ForEach(delegate(Chara c)
366 {
367 c.currentZone = EClass.pc.homeZone;
368 c.global.transition = new ZoneTransition
369 {
370 state = ZoneTransition.EnterState.Return
371 };
372 });
373 }
374 player.zone = EClass.pc.currentZone;
375 EClass.pc.currentZone.lastActive = world.date.GetRaw();
376 if (spatials.Find("somewhere") == null)
377 {
378 SpatialGen.Create("somewhere", world.region, register: true);
379 }
380 EClass.pc.homeZone.isKnown = true;
383 foreach (Thing item in EClass.pc.things.List((Thing t) => t.Num <= 0 || t.isDestroyed))
384 {
385 item.parent.RemoveCard(item);
386 }
387 foreach (Thing item2 in EClass.pc.things.List((Thing t) => t.trait is TraitChestMerchant))
388 {
389 item2.Destroy();
390 }
391 foreach (Thing item3 in EClass.pc.things.List((Thing t) => t.invY == 1 && t.invX == -1))
392 {
393 item3.invY = 0;
394 }
395 foreach (Chara value in EClass.game.cards.globalCharas.Values)
396 {
397 if (value.id == "demitas" && value.faction.id == "wilds")
398 {
400 }
401 if (value.memberType == FactionMemberType.Livestock && !value.IsPCFaction)
402 {
403 value.memberType = FactionMemberType.Default;
404 }
405 if (!value.isDyed && value.HasTag(CTAG.random_color))
406 {
407 value.DyeRandom();
408 }
409 }
410 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
411 {
412 foreach (Chara member in child.members)
413 {
414 if (!member.isDead && (member.currentZone == null || member.currentZone.id == "somewhere"))
415 {
416 Debug.Log("exception: Moving invalid chara: " + member.Name + "/" + member.currentZone?.ToString() + "/" + member.homeBranch?.ToString() + "/" + member.faction);
417 member.MoveZone(child.owner, ZoneTransition.EnterState.RandomVisit);
418 }
419 member.RefreshWorkElements(child.owner.elements);
420 member.Refresh();
421 }
422 }
423 EClass.pc.angle = player.angle;
425 if (cards.listAdv.Count == 0)
426 {
428 }
429 quests.list.ForeachReverse(delegate(Quest q)
430 {
431 if (!(q is QuestRandom))
432 {
433 foreach (Quest item4 in quests.list)
434 {
435 if (q != item4 && item4.id == q.id)
436 {
437 quests.list.Remove(item4);
438 break;
439 }
440 }
441 }
442 });
443 quests.globalList.ForeachReverse(delegate(Quest q)
444 {
445 if (!(q is QuestRandom))
446 {
447 foreach (Quest global in quests.globalList)
448 {
449 if (q != global && global.id == q.id)
450 {
451 quests.globalList.Remove(global);
452 break;
453 }
454 }
455 }
456 });
457 TryAddQuest("into_darkness", "exile_kettle");
458 if (version.IsBelow(0, 23, 221) && EClass.game.quests.IsCompleted("curry"))
459 {
460 world.SendPackage(ThingGen.CreateParcel(null, ThingGen.CreateCassette(110)));
461 }
462 if (version.IsBelow(0, 23, 185))
463 {
464 player.resetPrincipal = true;
465 }
466 if (version.IsBelow(0, 23, 182))
467 {
468 foreach (Chara value2 in cards.globalCharas.Values)
469 {
470 if (!value2.IsUnique && value2.c_lockedAge != 0)
471 {
472 value2.elements.SetBase(1243, 1);
473 }
474 }
475 }
476 if (version.IsBelow(0, 23, 155))
477 {
478 AddAdventurer("adv_yukiimo");
479 }
480 if (version.IsBelow(0, 23, 100))
481 {
482 int num = player.recipes.knownRecipes.TryGetValue("trainingDummy_heavy", 0);
483 if (num != 0)
484 {
485 player.recipes.knownRecipes["trainingDummy_heavy1"] = num;
486 }
487 }
488 if (version.IsBelow(0, 23, 96))
489 {
490 EClass.game.principal = IO.DeepCopy(EClass.setting.start.principals[0]);
491 }
492 if (player.resetPrincipal)
493 {
494 GameDifficultySetting gameDifficultySetting = EClass.setting.start.difficulties[idDifficulty];
495 EClass.game.principal.id = -1;
496 EClass.game.principal.permadeath = gameDifficultySetting.deleteGameOnDeath;
497 EClass.game.principal.disableManualSave = !gameDifficultySetting.allowManualSave;
498 EClass.core.actionsNextFrame.Add(delegate
499 {
500 EClass.ui.AddLayer<LayerWorldSetting>();
501 });
502 }
503 if (version.IsBelow(0, 23, 93))
504 {
506 Debug.Log("â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– feafefaeffaeaffeaaeaefseasfaefaef");
507 while (TryAddRecipe())
508 {
509 }
510 }
511 if (version.IsBelow(0, 23, 72))
512 {
513 foreach (Chara value3 in EClass.game.cards.globalCharas.Values)
514 {
515 if (!value3.isDead)
516 {
517 value3.c_wasInPcParty = false;
518 }
519 }
520 }
521 if (version.IsBelow(0, 23, 59))
522 {
523 while (TryDestroy())
524 {
525 }
526 }
527 if (version.IsBelow(0, 23, 199) && EClass.game.quests.GetPhase<QuestNegotiationDarkness>() >= 3)
528 {
529 world.SendPackage(ThingGen.CreateParcel(null, ThingGen.Create("bone_duponne")));
530 }
531 if (version.IsBelow(0, 23, 195))
532 {
533 Zone zone = spatials.Find("startVillage2");
534 if (zone != null && zone.visitCount > 0)
535 {
537 }
538 }
539 if (version.IsBelow(0, 23, 52))
540 {
541 player.flags.toggleHotbarHighlightActivated = true;
542 }
543 if (version.IsBelow(0, 23, 51))
544 {
545 foreach (Chara value4 in EClass.game.cards.globalCharas.Values)
546 {
547 if (!(value4.id != "adv") && value4.IsPCFaction)
548 {
549 value4.idSkin = value4.uid % (value4.source._tiles.Length - 4) / 2 * 2 + ((!value4.IsMale) ? 1 : 0);
550 }
551 }
552 }
553 if (version.IsBelow(0, 22, 91))
554 {
555 TryAddQuestIfActive("demitas_spellwriter", "into_darkness");
556 }
557 if (version.IsBelow(0, 22, 86))
558 {
559 Chara chara = cards.globalCharas.Find("demitas");
560 if (chara != null && chara._works != null && chara._works.Count > 0)
561 {
562 chara._works[0] = 51;
563 }
564 }
565 if (version.IsBelow(0, 22, 86))
566 {
567 TryAddQuest("farris_tulip", "greatDebt");
568 }
569 if (version.IsBelow(0, 22, 86))
570 {
571 TryAddQuest("exile_whisper", "exile_kettle");
572 }
573 if (version.IsBelow(0, 22, 85))
574 {
575 TryAddQuest("exile_meet", "pre_debt");
576 }
577 if (version.IsBelow(0, 22, 60) && EClass.game.quests.Get<QuestDebt>() != null)
578 {
579 Chara chara2 = cards.globalCharas.Find("loytel");
580 Debug.Log("Loytelfix: " + chara2.homeZone);
581 if (chara2.homeZone == null || !chara2.homeZone.IsPCFaction)
582 {
584 chara2.homeZone = EClass.pc.homeBranch.owner;
585 chara2.RemoveEditorTag(EditorTag.Invulnerable);
586 }
587 }
588 if (version.IsBelow(0, 22, 52) && quests.completedIDs.Contains("vernis_gold"))
589 {
590 quests.Add("pre_debt", "farris");
591 }
592 if (quests.completedIDs.Contains("farris_tulip"))
593 {
594 quests.globalList.ForeachReverse(delegate(Quest q)
595 {
596 if (q.id == "farris_tulip")
597 {
598 quests.globalList.Remove(q);
599 }
600 });
601 }
602 quests.list.ForeachReverse(delegate(Quest q)
603 {
604 if (q is QuestDialog && quests.completedIDs.Contains(q.id))
605 {
606 quests.list.Remove(q);
607 }
608 });
609 if (version.IsBelow(0, 22, 20))
610 {
611 foreach (Chara value5 in cards.globalCharas.Values)
612 {
613 value5.SetBool(18, enable: false);
614 }
615 }
616 if (version.IsBelow(0, 22, 22))
617 {
618 if (EClass.pc.faithElements != null)
619 {
621 }
622 foreach (Element item5 in EClass.pc.elements.ListElements((Element e) => e.source.categorySub == "god"))
623 {
624 EClass.pc.SetFeat(item5.id, 0);
625 }
627 }
628 if (version.IsBelow(0, 22, 45))
629 {
630 player.debt = 20000000;
631 }
632 if (!version.Equals(EClass.core.version))
633 {
634 player.recipes.OnVersionUpdate();
635 }
636 if (cards.container_deposit == null)
637 {
638 cards.container_deposit = ThingGen.Create("container_deposit");
639 if (player.bankMoney > 0)
640 {
641 cards.container_deposit.Add("money", player.bankMoney);
642 }
643 }
644 foreach (Quest item6 in quests.list)
645 {
646 if (item6 is QuestSequence && !EClass.sources.quests.map.ContainsKey(item6.idSource))
647 {
648 item6.phase = 0;
649 }
650 }
651 foreach (Quest global2 in quests.globalList)
652 {
653 if (global2 is QuestSequence && !EClass.sources.quests.map.ContainsKey(global2.idSource))
654 {
655 global2.phase = 0;
656 }
657 }
658 void TryAddQuest(string idQuest, string idReqQuest)
659 {
660 if (quests.completedIDs.Contains(idReqQuest) && !quests.completedIDs.Contains(idQuest) && quests.GetGlobal(idQuest) == null && quests.Get(idQuest) == null)
661 {
662 quests.Add(idQuest);
663 }
664 }
665 void TryAddQuestIfActive(string idQuest, string idReqQuest)
666 {
667 if (quests.Get(idReqQuest) != null && !quests.completedIDs.Contains(idQuest) && quests.GetGlobal(idQuest) == null && quests.Get(idQuest) == null)
668 {
669 quests.Add(idQuest);
670 }
671 }
672 bool TryAddRecipe()
673 {
674 foreach (string key in player.recipes.knownRecipes.Keys)
675 {
676 if (key.Length > 1 && key[0] == 'b')
677 {
678 RecipeSource recipeSource = RecipeManager.Get(key + "-p");
679 if (recipeSource != null && !player.recipes.knownRecipes.ContainsKey(recipeSource.id))
680 {
681 Debug.Log(recipeSource.id);
682 player.recipes.Add(recipeSource.id, showEffect: false);
683 return true;
684 }
685 recipeSource = RecipeManager.Get(key.Replace("-p", ""));
686 if (recipeSource != null && !player.recipes.knownRecipes.ContainsKey(recipeSource.id))
687 {
688 Debug.Log(recipeSource.id);
689 player.recipes.Add(recipeSource.id, showEffect: false);
690 return true;
691 }
692 }
693 }
694 return false;
695 }
696 static bool TryDestroy()
697 {
698 for (int i = 0; i < EClass.pc.party.members.Count; i++)
699 {
700 Chara chara3 = EClass.pc.party.members[i];
701 Debug.Log(chara3.id + "/" + chara3.uid + "/" + chara3._cints[1]);
702 for (int j = 0; j < EClass.pc.party.members.Count; j++)
703 {
704 Chara chara4 = EClass.pc.party.members[j];
705 if (i != j && chara3.uid == chara4.uid)
706 {
707 EClass.pc.party.uidMembers.RemoveAt(j);
708 EClass.pc.party.members.RemoveAt(j);
709 chara4.Destroy();
710 Debug.Log("Destroyed");
711 return true;
712 }
713 }
714 }
715 return false;
716 }
717 }
718
719 public static void Create(string _id = null, bool cloud = false)
720 {
721 id = _id ?? GameIO.GetNewId(cloud ? CorePath.RootSaveCloud : CorePath.RootSave, "world_");
722 OnBeforeInstantiate();
723 EClass.core.game = (Instance = new Game());
724 EClass.core.game.isCloud = cloud;
728 }
729
730 public static void OnBeforeInstantiate()
731 {
732 Player.seedHallucination = 0;
733 }
734
735 public void OnGameInstantiated()
736 {
737 HotItemHeld.taskBuild = null;
738 InvOwner.Trader = (InvOwner.Main = null);
739 LayerDrama.currentQuest = null;
740 BookList.Init();
741 ContentGallery.lastPage = 0;
742 ContentGallery.listMode = false;
743 if (!Application.isEditor || !EClass.debug.enable)
744 {
746 }
747 foreach (Chara value in cards.globalCharas.Values)
748 {
749 if (value.uid == player.uidChara)
750 {
751 player.chara = value;
752 break;
753 }
754 }
756 EClass.ui.widgets.OnGameInstantiated();
757 EClass.Sound.ResetPlaylist();
758 EClass.core.config.ApplyFPS(force: true);
759 }
760
761 public void _Create()
762 {
763 principal = IO.DeepCopy(EClass.setting.start.principals[0]);
764 idDifficulty = 1;
765 config.snapFreePos = (config.slope = (config.autoWall = true));
766 config.autoCombat.abortOnAllyDead = true;
767 config.autoCombat.abortOnHalfHP = true;
768 config.autoCombat.bUseHotBar = true;
769 config.autoCombat.bUseInventory = true;
770 config.autoCombat.bDontChangeTarget = true;
771 config.autoCombat.abortOnKill = true;
772 config.autoCombat.abortOnItemLoss = true;
773 seed = EClass.rnd(10000);
774 Debug.Log("creating game: " + id + " seed:" + seed);
775 uniforms.Import();
776 religions.OnCreateGame();
777 factions.OnCreateGame();
779 domains.OnCreateGame();
780 foreach (Spatial value in spatials.map.Values)
781 {
782 value.SetMainFaction(factions.Find(value.source.faction.IsEmpty("wilds")));
783 }
784 player.OnCreateGame();
785 cards.container_shipping = ThingGen.Create("container_shipping");
786 cards.container_deliver = ThingGen.Create("container_delivery");
787 cards.container_deposit = ThingGen.Create("container_deposit");
788 bp = new GameBlueprint();
789 bp.Create();
790 }
791
792 public void StartNewGame()
793 {
794 EClass.pc.homeZone = StartZone;
796 parties.Create(EClass.pc);
797 Prologue prologue = EClass.game.Prologue;
798 if (prologue.type == GameType.Survival)
799 {
800 survival = new SurvivalManager();
801 }
802 else
803 {
804 CharaGen.Create("fiama").SetGlobal(EClass.game.StartZone, prologue.posFiama.x, prologue.posFiama.y);
805 CharaGen.Create("ashland").SetGlobal(EClass.game.StartZone, prologue.posAsh.x, prologue.posAsh.y);
806 }
807 if ((bool)LayerTitle.actor)
808 {
809 world.date.hour = EClass.game.Prologue.hour;
811 Player obj = player;
812 Chara chara = EClass.pc;
813 Zone zone2 = (EClass.pc.homeZone = EClass.game.spatials.Find(EClass.game.Prologue.idStartZone));
814 Zone zone4 = (chara.currentZone = zone2);
815 obj.zone = zone4;
816 EClass.pc.global.transition = new ZoneTransition
817 {
818 state = ZoneTransition.EnterState.Exact,
820 z = EClass.game.Prologue.startZ
821 };
822 EClass.pc.hp = EClass.pc.MaxHP;
825 EClass.pc.AddCondition<ConFaint>(200, force: true);
826 }
827 else
828 {
829 EClass.pc.homeZone = EClass.game.spatials.Find(EClass.game.Prologue.idStartZone);
830 Zone zone5 = null;
831 ZoneTransition transition = new ZoneTransition
832 {
833 state = ZoneTransition.EnterState.Auto
834 };
835 Chara c = EClass.game.cards.globalCharas.Find("ashland");
836 switch (EClass.debug.startScene)
837 {
838 case CoreDebug.StartScene.Zone:
840 transition = new ZoneTransition
841 {
842 state = ZoneTransition.EnterState.Exact,
844 z = EClass.game.Prologue.startZ
845 };
846 break;
847 case CoreDebug.StartScene.Home:
848 case CoreDebug.StartScene.Story_Test:
850 transition = new ZoneTransition
851 {
852 state = ZoneTransition.EnterState.Exact,
854 z = EClass.game.Prologue.startZ
855 };
856 break;
857 case CoreDebug.StartScene.Survival:
858 EClass.game.idPrologue = 3;
860 transition = new ZoneTransition
861 {
862 state = ZoneTransition.EnterState.Exact,
864 z = EClass.game.Prologue.startZ
865 };
866 break;
867 case CoreDebug.StartScene.Home_Cave:
868 EClass.game.idPrologue = 2;
870 transition = new ZoneTransition
871 {
872 state = ZoneTransition.EnterState.Exact,
874 z = EClass.game.Prologue.startZ
875 };
876 break;
877 case CoreDebug.StartScene.MeetFarris:
878 {
879 Zone parent4 = EClass.game.spatials.Find("nymelle");
880 zone5 = SpatialGen.Create("nymelle", parent4, register: true) as Zone;
881 zone5.lv = -2;
882 EClass.game.quests.Start("exploration", c, assignQuest: false);
883 break;
884 }
885 case CoreDebug.StartScene.NymelleBoss:
886 {
887 Zone parent3 = EClass.game.spatials.Find("nymelle");
888 zone5 = SpatialGen.Create("nymelle_boss", parent3, register: true) as Zone;
889 zone5.lv = -5;
890 EClass.game.quests.Start("exploration", c, assignQuest: false).ChangePhase(2);
891 break;
892 }
893 case CoreDebug.StartScene.AfterNymelle:
895 transition = new ZoneTransition
896 {
897 state = ZoneTransition.EnterState.Exact,
899 z = EClass.game.Prologue.startZ
900 };
901 EClass.game.quests.Start("exploration", c, assignQuest: false).ChangePhase(5);
902 EClass.game.quests.globalList.Add(Quest.Create("sharedContainer").SetClient(c, assignQuest: false));
903 EClass.game.quests.globalList.Add(Quest.Create("crafter").SetClient(c, assignQuest: false));
904 EClass.game.quests.globalList.Add(Quest.Create("defense").SetClient(c, assignQuest: false));
905 break;
906 case CoreDebug.StartScene.Melilith:
907 {
908 Zone parent2 = EClass.game.spatials.Find("cursed_manor");
909 zone5 = SpatialGen.Create("cursed_manor_dungeon", parent2, register: true) as Zone;
910 zone5.lv = -5;
911 break;
912 }
913 case CoreDebug.StartScene.Tefra:
914 {
915 Zone parent = EClass.game.spatials.Find("vernis");
916 zone5 = SpatialGen.Create("vernis_mine", parent, register: true) as Zone;
917 zone5.lv = -7;
918 break;
919 }
920 }
921 if (zone5 != null)
922 {
923 Player obj2 = player;
924 Chara chara2 = EClass.pc;
925 Zone zone2 = (EClass.pc.homeZone = zone5);
926 Zone zone4 = (chara2.currentZone = zone2);
927 obj2.zone = zone4;
928 EClass.pc.global.transition = transition;
929 }
930 else
931 {
932 Player obj3 = player;
933 Zone zone4 = (EClass.pc.currentZone = EClass.game.spatials.Find(EClass.debug.startZone));
934 obj3.zone = zone4;
935 EClass.pc.global.transition = new ZoneTransition
936 {
937 state = ZoneTransition.EnterState.Return
938 };
939 }
940 }
941 EClass.pc.homeZone.isKnown = true;
942 AddAdventurers();
943 player.OnStartNewGame();
944 EClass.scene.Init(Scene.Mode.StartGame);
945 }
946
947 public void AddAdventurers()
948 {
949 List<Zone> source = world.region.ListTowns();
950 string[] array = new string[7] { "adv_kiria", "adv_gaki", "adv_wini", "adv_verna", "adv_ivory", "adv_mesherada", "adv_yukiimo" };
951 for (int i = 0; i < EClass.setting.balance.numAdv; i++)
952 {
953 Zone zone = source.RandomItem();
954 if (zone is Zone_SubTown && EClass.rnd(5) != 0)
955 {
956 i--;
957 continue;
958 }
959 if (i >= array.Length && i < array.Length + 2)
960 {
962 }
963 Chara chara = CharaGen.Create((i < array.Length) ? array[i] : ((EClass.rnd(10) == 0) ? "adv_fairy" : "adv"));
964 chara.SetHomeZone(zone);
965 chara.global.transition = new ZoneTransition
966 {
967 state = ZoneTransition.EnterState.RandomVisit
968 };
969 zone.AddCard(chara);
970 cards.listAdv.Add(chara);
971 }
972 }
973
974 public void AddAdventurer(string id, Zone z = null)
975 {
976 if (z == null)
977 {
978 List<Zone> source = world.region.ListTowns();
979 do
980 {
981 z = source.RandomItem();
982 }
983 while ((z is Zone_SubTown && EClass.rnd(5) != 0) || z == EClass.pc.currentZone);
984 }
985 Chara chara = CharaGen.Create(id);
986 chara.SetHomeZone(z);
987 chara.global.transition = new ZoneTransition
988 {
989 state = ZoneTransition.EnterState.RandomVisit
990 };
991 z.AddCard(chara);
992 cards.listAdv.Add(chara);
993 }
994
995 public void GotoTitle(bool showDialog = true)
996 {
997 if (showDialog)
998 {
999 Dialog.YesNo("dialog_gotoTitle", delegate
1000 {
1001 if (EClass.game.Save(isAutoSave: true))
1002 {
1003 EClass.scene.Init(Scene.Mode.Title);
1004 }
1005 });
1006 }
1007 else
1008 {
1009 EClass.scene.Init(Scene.Mode.Title);
1010 }
1011 }
1012
1013 public void Quit()
1014 {
1015 Dialog.YesNo("dialog_quit", delegate
1016 {
1017 if (EClass.game.Save())
1018 {
1019 EClass.core.Quit();
1020 }
1021 });
1022 }
1023
1024 public bool Save(bool isAutoSave = false, bool silent = false)
1025 {
1026 if (EClass.ui.IsDragging)
1027 {
1028 EClass.ui.EndDrag(canceled: true);
1029 }
1030 if (isAutoSave && EClass.debug.ignoreAutoSave)
1031 {
1032 return true;
1033 }
1034 bool flag = EClass.core.config.game.autoBackup && backupTime >= (double)(EClass.core.config.game.backupInterval * 60 * 30);
1035 if (flag)
1036 {
1037 backupTime = 0.0;
1038 }
1040 countLoadedMaps = 0;
1041 player.pref.layerInventory = EClass.ui.layerFloat.GetLayer<LayerInventory>();
1042 if (player.pref.layerInventory)
1043 {
1044 player.pref.layerAbility = EClass.ui.layerFloat.GetLayer<LayerAbility>();
1045 }
1046 player.pref.layerCraft = EClass.ui.layerFloat.GetLayer<LayerCraftFloat>();
1047 player.angle = EClass.pc.angle;
1048 version = EClass.core.version;
1049 EClass.ui.widgets.UpdateConfigs();
1050 GameIndex gameIndex = null;
1051 try
1052 {
1053 OnBeforeSave();
1054 gameIndex = GameIO.SaveGame();
1055 }
1056 catch (Exception ex)
1057 {
1058 EClass.ui.Say(ex.Message);
1059 SE.Beep();
1060 Msg.Say("error_save");
1061 return false;
1062 }
1063 if (flag)
1064 {
1065 GameIO.MakeBackup(gameIndex);
1066 EClass.ui.Say("backupDone");
1067 }
1068 if (!silent)
1069 {
1070 if (!isAutoSave)
1071 {
1072 SE.WriteJournal();
1073 }
1074 Msg.Say("saved");
1075 }
1076 saveCount++;
1077 return true;
1078 }
1079
1080 public void OnBeforeSave()
1081 {
1082 foreach (Zone zone in spatials.Zones)
1083 {
1084 zone.OnBeforeSave();
1085 }
1086 player.OnBeforeSave();
1087 foreach (Spatial item in spatials.listDestryoed)
1088 {
1089 item.DeleteMapRecursive();
1090 }
1091 spatials.listDestryoed.Clear();
1092 }
1093
1094 public void Kill()
1095 {
1096 isKilling = true;
1097 Debug.Log("Killing Game: IsStarted? " + EClass.core.IsGameStarted);
1099 {
1100 EClass.ui.OnKillGame();
1102 activeZone.OnKillGame();
1103 }
1104 EClass.core.game = (Instance = null);
1105 EClass.Sound.currentPlaylist = null;
1106 Window.dictTab.Clear();
1107 foreach (Texture2D loadedTexture in loadedTextures)
1108 {
1109 if (loadedTexture != null)
1110 {
1111 UnityEngine.Object.Destroy(loadedTexture);
1112 }
1113 }
1114 }
1115
1116 public void Pause(Action onUnpause = null)
1117 {
1118 isPaused = true;
1119 LayerPause layerPause = EClass.ui.AddLayer<LayerPause>();
1120 Game lastGame = EClass.game;
1121 if (onUnpause == null)
1122 {
1123 return;
1124 }
1125 layerPause.SetOnKill(delegate
1126 {
1127 if (EClass.core.IsGameStarted && lastGame == EClass.game)
1128 {
1129 onUnpause();
1130 }
1131 });
1132 }
1133
1134 [OnSerializing]
1135 private void OnSerializing(StreamingContext context)
1136 {
1137 Debug.Log("#io game OnSerializing");
1138 }
1139
1140 [OnDeserializing]
1141 private void OnDeserializing(StreamingContext context)
1142 {
1143 Debug.Log("#io game OnDeserializing");
1144 Instance = this;
1145 }
1146}
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:5889
int uid
Definition: Card.cs:122
Trait trait
Definition: Card.cs:53
bool isDyed
Definition: Card.cs:458
void Destroy()
Definition: Card.cs:4996
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:1721
int[] _cints
Definition: Chara.cs:82
void RefreshWorkElements(ElementContainer parent=null)
Definition: Chara.cs:8788
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:9028
Faction faction
Definition: Chara.cs:425
void SetFeat(int id, int value=1, bool msg=false)
Definition: Chara.cs:9628
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:9943
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:3296
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:1135
void _Create()
Definition: Game.cs:761
bool altAbility
Definition: Game.cs:270
static bool isPaused
Definition: Game.cs:149
HashSet< Texture2D > loadedTextures
Definition: Game.cs:254
int sessionMin
Definition: Game.cs:230
List< Thing > lostThings
Definition: Game.cs:218
bool UseGrid
Definition: Game.cs:262
bool altUI
Definition: Game.cs:264
Dictionary< string, IGlobalValue > referenceMap
Definition: Game.cs:252
bool isLoading
Definition: Game.cs:238
static bool IsWaiting
Definition: Game.cs:258
GameBlueprint bp
Definition: Game.cs:244
static void OnBeforeInstantiate()
Definition: Game.cs:730
new Player player
Definition: Game.cs:176
SurvivalManager survival
Definition: Game.cs:224
PartyManager parties
Definition: Game.cs:170
ReligionManager religions
Definition: Game.cs:158
float welcomeTimer
Definition: Game.cs:256
int countLoadedMaps
Definition: Game.cs:232
static void Load(string id, bool cloud)
Definition: Game.cs:318
int saveCount
Definition: Game.cs:234
int lastGameSpeedIndex
Definition: Game.cs:228
MsgLog log
Definition: Game.cs:185
int gameSpeedIndex
Definition: Game.cs:226
GamePrincipal principal
Definition: Game.cs:221
static bool TryLoad(string id, bool cloud, Action onLoad)
Definition: Game.cs:307
void AddAdventurers()
Definition: Game.cs:947
DomainManager domains
Definition: Game.cs:164
static string id
Definition: Game.cs:147
void GotoTitle(bool showDialog=true)
Definition: Game.cs:995
bool Save(bool isAutoSave=false, bool silent=false)
Definition: Game.cs:1024
SpatialManager spatials
Definition: Game.cs:152
PCCUniformManager uniforms
Definition: Game.cs:191
TeleportManager teleports
Definition: Game.cs:194
static void Create(string _id=null, bool cloud=false)
Definition: Game.cs:719
static Game Instance
Definition: Game.cs:143
void Kill()
Definition: Game.cs:1094
void OnDeserializing(StreamingContext context)
Definition: Game.cs:1141
Prologue Prologue
Definition: Game.cs:260
CardManager cards
Definition: Game.cs:155
bool isCloud
Definition: Game.cs:242
Zone activeZone
Definition: Game.cs:248
bool IsSurvival
Definition: Game.cs:272
void OnBeforeSave()
Definition: Game.cs:1080
void Pause(Action onUnpause=null)
Definition: Game.cs:1116
GameUpdater updater
Definition: Game.cs:246
void OnUpdate()
Definition: Game.cs:294
static new void Wait(float a, Card c)
Definition: Game.cs:281
static float waitTimer
Definition: Game.cs:145
Flags flags
Definition: Game.cs:212
static new void Wait(float a, Point p)
Definition: Game.cs:276
bool altInv
Definition: Game.cs:266
Zone lastActiveZone
Definition: Game.cs:250
void AddAdventurer(string id, Zone z=null)
Definition: Game.cs:974
void OnLoad()
Definition: Game.cs:356
new World world
Definition: Game.cs:173
RelationManager relations
Definition: Game.cs:182
int dateScratch
Definition: Game.cs:206
Config config
Definition: Game.cs:215
bool isKilling
Definition: Game.cs:240
QuestManager quests
Definition: Game.cs:179
double backupTime
Definition: Game.cs:209
void Quit()
Definition: Game.cs:1013
int idDifficulty
Definition: Game.cs:203
bool altCraft
Definition: Game.cs:268
float timeSinceStart
Definition: Game.cs:236
void OnGameInstantiated()
Definition: Game.cs:735
int seed
Definition: Game.cs:197
static void Wait(float a)
Definition: Game.cs:289
void StartNewGame()
Definition: Game.cs:792
FactionManager factions
Definition: Game.cs:161
Zone StartZone
Definition: Game.cs:274
Version version
Definition: Game.cs:167
int idPrologue
Definition: Game.cs:200
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:11
List< Chara > members
Definition: Party.cs:18
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:1378
RecipeManager recipes
Definition: Player.cs:1094
float angle
Definition: Player.cs:968
Pref pref
Definition: Player.cs:1010
Stats stats
Definition: Player.cs:1013
bool resetPrincipal
Definition: Player.cs:1174
void OnBeforeSave()
Definition: Player.cs:1453
int uidChara
Definition: Player.cs:866
void OnLoad()
Definition: Player.cs:1429
int bankMoney
Definition: Player.cs:911
void OnCreateGame()
Definition: Player.cs:1345
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