Elin Decompiled Documentation EA 23.356.1 Nightly
Loading...
Searching...
No Matches
CoreDebug.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using ReflexCLI.Attributes;
5using Steamworks;
6using UnityEngine;
7
8[ConsoleCommandClassCustomizer("")]
9public class CoreDebug : EScriptable
10{
11 [Serializable]
12 public class StartSetting
13 {
14 public string race;
15
16 public string job;
17
18 public int lv;
19 }
20
21 public enum DebugHotkey
22 {
23 None,
24 Block,
25 Item,
26 Decal,
27 Act,
28 Test,
29 Anime
30 }
31
32 public enum StartLoadout
33 {
34 New,
35 AllItem,
37 }
38
39 public enum StartParty
40 {
41 None,
42 Farris,
43 Full
44 }
45
46 public enum StartScene
47 {
48 Title,
50 Zone,
51 Home,
58 Tefra
59 }
60
61 public enum BodyCode
62 {
63 head = 30,
64 neck = 31,
65 torso = 32,
66 back = 33,
67 waist = 37,
68 arm = 34,
69 hand = 35,
70 finger = 36,
71 leg = 38,
72 foot = 39,
73 lightsource = 45,
74 relic = 46
75 }
76
77 [Serializable]
78 public class MatColorTest
79 {
80 public bool enable;
81
82 public Color color;
83
84 public int matColor;
85
87
88 public void Update()
89 {
90 foreach (SourceMaterial.Row row in EClass.sources.materials.rows)
91 {
92 if (row != MATERIAL.sourceWaterSea)
93 {
94 MatColors matColors = profile.matColors.TryGetValue(row.alias);
95 row.matColor = matColors.main;
96 row.altColor = matColors.alt;
97 }
98 }
99 }
100 }
101
102 public class DebugCommand
103 {
104 public Action action;
105
106 public int cat;
107
108 public string name;
109 }
110
111 [Header("Quick Start Setup")]
113
115
117
118 public int startHour;
119
121
122 public string startZone;
123
124 [Header("System(Release)")]
125 public bool showSceneSelector;
126
127 [Header("System(Release)")]
128 public bool skipModSync;
129
131
132 [Header("System")]
133 public bool ignorePool;
134
135 [Header("System")]
136 public bool resetPlayerConfig;
137
138 public bool dontUseThread;
139
140 public bool useNewConfig;
141
142 public bool ignoreAutoSave;
143
144 public bool alwaysResetWindow;
145
146 public bool validateData;
147
148 public bool dontCompressSave;
149
150 public bool skipMod;
151
152 public string command;
153
154 [Header("Input")]
155 public bool debugInput;
156
157 public bool keypadDebug;
158
160
161 [Header("Util")]
162 public int advanceMin;
163
164 public bool testLOS;
165
166 public bool testLOS2;
167
168 public bool debugProps;
169
170 public bool revealMap;
171
172 public bool debugHoard;
173
174 public bool revealInner;
175
176 public bool ignorePopup;
177
178 public bool skipEvent;
179
180 public bool skipNerun;
181
182 public bool showTone;
183
184 public bool showExtra;
185
186 public bool test;
187
188 [Header("Game")]
189 public bool godMode;
190
191 public bool randomResource;
192
193 public bool debugScatter;
194
195 public bool _godBuild;
196
197 public bool godCraft;
198
199 public bool godFood;
200
201 public bool ignoreBuildRule;
202
203 public bool ignoreWeight;
204
205 public bool autoIdentify;
206
207 public bool allAbility;
208
209 public bool allSkill;
210
211 public bool allHomeSkill;
212
213 public bool allArt;
214
215 public bool allBGM;
216
217 public bool ignoreEncounter;
218
219 public bool returnAnywhere;
220
221 public bool instaReturn;
222
223 public bool travelAnywhere;
224
226
227 public bool autoAdvanceQuest;
228
230
231 public bool testThingQuality;
232
233 public int numResource;
234
235 [Header("Game(Specific)")]
236 public bool unlimitedInterest;
237
238 public bool inviteAnytime;
239
240 public bool marryAnytime;
241
242 public bool showFav;
243
244 public bool alwaysFavFood;
245
246 public bool maxQuests;
247
248 [Header("Progress")]
249 public bool allRecipe;
250
251 public bool allMenu;
252
253 public bool allPolicy;
254
255 public bool allStory;
256
257 [Header("Log")]
258 public bool logAdv;
259
260 [Header("Log")]
261 public bool logCombat;
262
263 public bool logDice;
264
265 [Header("Once")]
266 public bool validatePref;
267
268 [Header("Test")]
269 public int param1;
270
271 [Header("Test")]
272 public int param2;
273
275
276 public bool boradcast;
277
278 public bool testFixedColor;
279
280 public Color32 fixedColor;
281
282 private readonly List<int[]> resolutions = new List<int[]>
283 {
284 new int[2] { 1920, 1080 },
285 new int[2] { 1366, 768 },
286 new int[2] { 1280, 720 }
287 };
288
290
291 [NonSerialized]
292 private int bidx;
293
294 private bool bilinear;
295
296 [NonSerialized]
297 private string[] blines;
298
299 public List<DebugCommand> commands = new List<DebugCommand>();
300
301 [NonSerialized]
302 public bool enable;
303
304 public Fov fov = new Fov();
305
306 private int indexResolution;
307
309
310 private Emo lastEmo;
311
312 private bool naked;
313
314 [NonSerialized]
315 private bool runtimeGodBuild;
316
317 private int ttt;
318
319 public bool godBuild
320 {
321 get
322 {
323 if (!_godBuild)
324 {
325 return runtimeGodBuild;
326 }
327 return true;
328 }
329 }
330
331 public static string EnableCheat => "Enable cheat by typing 'Cheat'";
332
333 private IEnumerable<string> ZoneIDs()
334 {
335 List<SourceZone.Row> rows = EClass.sources.zones.rows;
336 List<string> list = new List<string>();
337 foreach (SourceZone.Row item in rows)
338 {
339 list.Add(item.id);
340 }
341 return list;
342 }
343
344 public void Init()
345 {
347 EInput.disableKeyAxis = Application.isEditor;
348 }
349
350 public void QuickStart()
351 {
352 Game.Create("quick");
353 Tutorial.debugSkip = EClass.debug.skipNerun;
354 if (!startSetting.race.IsEmpty())
355 {
357 }
358 if (!startSetting.job.IsEmpty())
359 {
362 }
363 switch (startScene)
364 {
365 case StartScene.Zone:
366 case StartScene.Home:
367 EClass.game.world.date.hour = EClass.debug.startHour;
368 break;
369 case StartScene.Survival:
370 EClass.game.idPrologue = 3;
371 break;
372 case StartScene.Home_Cave:
373 EClass.game.idPrologue = 2;
374 break;
375 }
378 EClass.player.pref.lastIdTabAbility = 3;
380 switch (startParty)
381 {
382 case StartParty.Farris:
383 AddParty("farris");
384 break;
385 case StartParty.Full:
386 AddParty("farris");
387 AddParty("wescott");
388 break;
389 }
390 int lv = startSetting.lv;
391 if (allAbility)
392 {
393 foreach (SourceElement.Row row in EClass.sources.elements.rows)
394 {
395 if (row.category == "ability" && row.aliasRef != "mold" && !EClass.pc.HasElement(row.id))
396 {
397 if (!row.aliasRef.IsEmpty() && row.id > 10000)
398 {
399 _ = EClass.sources.elements.alias[row.aliasRef];
400 }
401 EClass.pc.elements.ModBase(row.id, lv).vPotential = 30;
402 }
403 }
404 }
405 if (allSkill)
406 {
407 foreach (SourceElement.Row row2 in EClass.sources.elements.rows)
408 {
409 if (row2.isSkill && !row2.tag.Contains("unused"))
410 {
411 EClass.pc.elements.ModBase(row2.id, 1);
412 }
413 }
414 }
415 EClass.pc.elements.ModBase(60, lv / 2);
416 EClass.pc.elements.ModBase(61, lv / 2);
417 EClass.pc.elements.ModBase(79, lv / 5);
418 EClass.player.totalFeat = lv;
419 EClass.pc.feat = 50;
420 EClass.pc.SetLv(lv - 1);
421 EClass.player.fame = EClass.pc.LV * 100;
422 int idx = 0;
423 switch (startLoadout)
424 {
425 case StartLoadout.AllItem:
426 EClass.pc.ModCurrency(50, "plat");
427 EClass.pc.ModCurrency(50, "money2");
428 EClass.pc.EQ_CAT("weapon");
429 EClass.pc.EQ_CAT((EScriptable.rnd(2) == 0) ? "weapon" : "shield");
430 EClass.pc.EQ_CAT("torso");
431 EClass.pc.EQ_CAT("arm");
432 EClass.pc.EQ_CAT("ring");
433 EClass.pc.AddCard(ThingGen.Create("chest2"));
434 EClass.pc.AddCard(ThingGen.Create("torch_held"));
435 AddHotbar("axe");
436 AddHotbar("pickaxe");
437 AddHotbar("wateringCan");
438 AddHotbar("bow");
439 AddHotbar("deed");
440 AddAbility("SpellTeleport");
441 AddAbility("SpellCatsEye");
442 AddHotbar("map_big");
443 break;
444 case StartLoadout.FewItem:
445 {
446 if (startScene == StartScene.Survival)
447 {
448 AddHotbar("pickaxe").ChangeMaterial(0);
449 break;
450 }
454 EClass.player.ModKeyItem("license_adv");
455 Thing thing = ThingGen.Create("backpack");
456 thing.AddCard(ThingGen.Create("rp_food", -1, 10).SetNum(30));
457 thing.AddCard(ThingGen.Create("rp_block", -1, 10).SetNum(30));
458 for (int i = 0; i < 30; i++)
459 {
460 thing.AddCard(ThingGen.Create("rp_block", -1, 50));
461 }
462 EClass.pc.AddCard(thing);
463 thing = ThingGen.Create("pouch");
464 for (int j = 0; j < 30; j++)
465 {
467 Thing thing2 = ThingGen.CreateFromCategory("weapon", 214748364);
468 thing2.elements.SetBase(653, 1);
469 if (!(thing2.trait is TraitAmmo))
470 {
471 thing.AddCard(thing2);
472 }
474 thing2 = ThingGen.CreateFromCategory("armor", 214748364);
475 thing2.elements.SetBase(653, 1);
476 thing.AddCard(thing2);
477 }
478 EClass.pc.AddCard(thing);
479 thing = ThingGen.Create("pouch");
480 for (int k = 0; k < 5; k++)
481 {
482 Thing thing3 = ThingGen.Create("scrubber");
483 thing3.elements.SetBase(770, k * 10 + 1);
484 thing.AddCard(thing3);
485 }
486 for (int l = 0; l < 30; l++)
487 {
488 thing.AddCard(ThingGen.Create("mathammer", MATERIAL.GetRandomMaterial(100).alias)).SetNum(10);
489 }
490 thing.AddCard(ThingGen.Create("mathammer", 103)).SetNum(10);
491 thing.AddCard(ThingGen.Create("mathammer", 102)).SetNum(10);
492 thing.AddCard(ThingGen.Create("mathammer", 33)).SetNum(10);
493 thing.AddCard(ThingGen.Create("mathammer", 18)).SetNum(10);
494 thing.AddCard(ThingGen.Create("mathammer", 10)).SetNum(99);
495 thing.AddCard(ThingGen.Create("mathammer", 31)).SetNum(10);
496 thing.AddCard(ThingGen.Create("mathammer", 28)).SetNum(99);
497 EClass.pc.AddCard(thing);
498 thing = ThingGen.Create("pouch");
499 for (int m = 0; m < 30; m++)
500 {
502 }
503 EClass.pc.AddCard(thing);
504 thing = ThingGen.Create("coolerbox");
505 for (int n = 0; n < 20; n++)
506 {
507 thing.AddCard(ThingGen.CreateFromCategory("foodstuff").SetNum(EScriptable.rnd(10) + 1));
508 }
509 EClass.pc.AddCard(thing);
510 List<SourceChara.Row> list = EClass.sources.charas.map.Values.Where((SourceChara.Row a) => a._idRenderData == "chara").ToList();
511 thing = ThingGen.Create("pouch");
512 list = EClass.sources.charas.map.Values.Where((SourceChara.Row a) => a._idRenderData == "chara_L").ToList();
513 for (int num = 0; num < 20; num++)
514 {
515 string id = list.RandomItem().id;
516 Thing thing4 = ThingGen.Create("figure");
517 thing4.MakeFigureFrom(id);
518 thing.AddCard(thing4);
519 }
520 EClass.pc.AddCard(thing);
521 thing = ThingGen.Create("pouch");
522 list = EClass.sources.charas.map.Values.Where((SourceChara.Row a) => a._idRenderData == "chara").ToList();
523 for (int num2 = 0; num2 < 20; num2++)
524 {
525 string id2 = list.RandomItem().id;
526 Thing thing5 = ThingGen.Create("figure3");
527 thing5.MakeFigureFrom(id2);
528 thing.AddCard(thing5);
529 }
530 EClass.pc.AddCard(thing);
531 thing.Dye("oak");
532 thing = ThingGen.Create("pouch");
533 list = EClass.sources.charas.map.Values.Where((SourceChara.Row a) => a._idRenderData == "chara_L").ToList();
534 for (int num3 = 0; num3 < 20; num3++)
535 {
536 string id3 = list.RandomItem().id;
537 Thing thing6 = ThingGen.Create("figure3");
538 thing6.MakeFigureFrom(id3);
539 thing.AddCard(thing6);
540 }
541 EClass.pc.AddCard(thing);
542 thing.Dye("pine");
543 thing = ThingGen.Create("pouch");
544 thing.AddCard(ThingGen.Create("flour").SetNum(10));
545 thing.AddCard(ThingGen.Create("wheat").SetNum(200));
546 thing.AddCard(ThingGen.Create("rice_plant").SetNum(200));
547 thing.AddCard(ThingGen.Create("noodle").SetNum(10));
548 thing.AddCard(ThingGen.Create("rice").SetNum(10));
549 thing.AddCard(ThingGen.Create("dough_cake").SetNum(10));
550 thing.AddCard(ThingGen.Create("dough_bread").SetNum(10));
551 thing.AddCard(ThingGen.Create("salt").SetNum(10));
552 thing.AddCard(ThingGen.Create("sugar").SetNum(10));
553 thing.AddCard(ThingGen.Create("honey").SetNum(10));
554 thing.AddCard(ThingGen.Create("yeast").SetNum(10));
555 thing.AddCard(ThingGen.Create("ketchup").SetNum(10));
556 thing.AddCard(ThingGen.Create("butter").SetNum(10));
557 thing.AddCard(ThingGen.Create("potion_empty").SetNum(10));
558 thing.AddCard(ThingGen.Create("bucket_empty").SetNum(10));
559 thing.AddCard(ThingGen.Create("battery"));
560 EClass.pc.AddCard(thing);
561 thing.Dye("saphire");
562 thing = ThingGen.Create("pouch");
563 thing.AddCard(ThingGen.Create("log").SetNum(99));
564 thing.AddCard(ThingGen.Create("log").SetNum(99).ChangeMaterial("pine"));
565 thing.AddCard(ThingGen.Create("ore").SetNum(99).ChangeMaterial("steel"));
566 thing.AddCard(ThingGen.Create("ore").SetNum(99).ChangeMaterial("copper"));
567 thing.AddCard(ThingGen.Create("ore_gem").SetNum(99).ChangeMaterial("gold"));
568 thing.AddCard(ThingGen.Create("gem").SetNum(99).ChangeMaterial("rubinus"));
569 thing.AddCard(ThingGen.Create("flower_white").SetNum(99));
570 thing.AddCard(ThingGen.Create("bait").SetNum(10));
571 EClass.pc.AddCard(thing);
572 thing.Dye("rubinus");
573 Thing thing7 = ThingGen.Create("quiver");
574 thing7.AddCard(ThingGen.Create("bullet").SetNum(250));
575 thing7.AddCard(ThingGen.Create("arrow").SetNum(250));
576 thing7.AddCard(ThingGen.Create("bolt").SetNum(250));
577 thing7.AddCard(ThingGen.Create("bullet_energy").SetNum(250));
579 thing = ThingGen.Create("backpack");
580 for (int num4 = 0; num4 < 10; num4++)
581 {
582 thing.AddThing("book", lv);
583 thing.AddThing("parchment");
584 thing.AddThing("book_ancient");
585 thing.AddCard(ThingGen.CreateRedBook("fox_dawn"));
586 thing.AddCard(ThingGen.CreateRedBook("forgotten_gods_1"));
587 }
588 EClass.pc.AddCard(thing);
589 thing.Dye("rubinus");
590 thing = ThingGen.Create("backpack");
591 foreach (SourceObj.Row row3 in EClass.sources.objs.rows)
592 {
593 if (row3.tag.Contains("seed"))
594 {
595 Thing c = TraitSeed.MakeSeed(row3).SetNum(10);
596 thing.AddCard(c);
597 }
598 }
599 EClass.pc.AddCard(thing);
600 thing.Dye("silver");
601 thing = ThingGen.Create("pouch");
602 for (int num5 = 0; num5 < 30; num5++)
603 {
604 thing.AddThing((EScriptable.rnd(10) != 0) ? "potion" : "drink", lv).SetNum(99);
605 }
606 EClass.pc.AddCard(thing);
607 thing.Dye("steel");
608 thing = ThingGen.Create("pouch");
609 for (int num6 = 0; num6 < 30; num6++)
610 {
611 thing.AddThing(ThingGen.CreateFromCategory("rod", lv));
612 }
613 EClass.pc.AddCard(thing);
614 thing.Dye("steel");
615 thing = ThingGen.Create("pouch");
616 for (int num7 = 0; num7 < 30; num7++)
617 {
618 thing.AddThing("scroll", lv).SetNum(99);
619 }
620 EClass.pc.AddCard(thing);
621 thing.Dye("steel");
622 thing = ThingGen.Create("pouch");
623 for (int num8 = 0; num8 < 40; num8++)
624 {
625 thing.AddThing("372", 100);
626 }
627 EClass.pc.AddCard(thing);
628 thing.Dye("steel");
629 Thing thing8 = EClass.pc.things.Find("purse");
630 thing8.AddThing("casino_coin").SetNum(30000000);
631 thing8.AddThing("medal").SetNum(1000);
632 thing8.ModCurrency(500, "plat");
633 thing8.ModCurrency(5000, "money3");
634 EClass.pc.AddThing("record");
635 EClass.pc.AddThing("deed").SetNum(5);
636 EClass.pc.AddThing("book_story");
637 EClass.pc.AddThing("book_story_home");
638 EClass.pc.AddThing("book_tutorial");
639 EClass.pc.AddThing("water").SetNum(20).SetBlessedState(BlessedState.Blessed);
641 EClass.pc.AddThing("potion_empty").SetNum(20);
646 EClass.pc.ModCurrency(10000000);
649 Thing thing9 = ThingGen.Create("scroll_random").SetNum(10);
650 thing9.refVal = 8220;
651 EClass.pc.AddCard(thing9);
652 EClass.pc.ModCurrency(50, "money2");
653 AddHotbar("hoe");
654 AddHotbar("shovel");
655 AddHotbar("axe");
656 AddHotbar("pickaxe");
657 AddHotbar("wateringCan");
658 AddHotbar("gun_assault");
659 AddHotbar("hammer");
660 AddHotbar("bow");
661 break;
662 }
663 }
664 EClass.pc.RestockEquip(onCreate: true);
665 EClass.pc.stamina.value = EClass.pc.stamina.max;
666 EClass.pc.mana.value = EClass.pc.mana.max;
667 EClass.pc.hp = EClass.pc.MaxHP;
668 if (EClass.debug.startScene == StartScene.Zone)
669 {
670 EClass._zone.ClaimZone(debug: true);
671 }
672 SoundManager.ignoreSounds = true;
673 EClass.ui.ToggleInventory();
674 SoundManager.ignoreSounds = true;
675 EClass.ui.ToggleAbility();
676 SoundManager.ignoreSounds = false;
677 EClass.ui.layerFloat.GetLayer<LayerAbility>().windows[0].SetRect(EClass.core.refs.rects.abilityDebug);
678 if (allRecipe)
679 {
681 }
682 foreach (Thing thing11 in EClass.pc.things)
683 {
684 thing11.isNew = false;
685 }
688 if (startScene == StartScene.Story_Test)
689 {
690 EClass._zone.ClaimZone(debug: true);
691 EClass.Branch.AddMemeber(EClass._zone.AddCard(CharaGen.Create("loytel"), EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false)) as Chara);
692 EClass.Branch.AddMemeber(EClass._zone.AddCard(CharaGen.Create("farris"), EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false)) as Chara);
693 EClass.Branch.AddMemeber(EClass._zone.AddCard(CharaGen.Create("kettle"), EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false)) as Chara);
694 EClass.Branch.AddMemeber(EClass._zone.AddCard(CharaGen.Create("quru"), EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false)) as Chara);
695 EClass.Branch.AddMemeber(EClass._zone.AddCard(CharaGen.Create("corgon"), EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false)) as Chara);
696 EClass.Branch.AddMemeber(EClass._zone.AddCard(CharaGen.Create("demitas"), EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false)) as Chara);
697 EClass.game.quests.Add("greatDebt");
698 EClass.game.quests.Add("farris_tulip");
699 EClass.game.quests.Add("kettle_join");
700 EClass.game.quests.Add("quru_morning");
701 EClass.game.quests.Add("vernis_gold");
702 EClass.game.quests.Add("quru_sing");
703 EClass.game.quests.Add("quru_past1");
704 EClass.game.quests.Add("quru_past2");
705 EClass.game.quests.Add("pre_debt");
706 EClass.game.quests.Add("exile_meet");
707 EClass.game.quests.Add("exile_quru");
708 EClass.game.quests.Add("exile_kettle");
709 EClass.game.quests.Add("exile_whisper");
710 EClass.game.quests.Add("exile_voice");
711 EClass.game.quests.Add("into_darkness");
712 EClass.game.quests.Add("demitas_spellwriter");
713 EClass.game.quests.Add("negotiation_darkness");
714 EClass.game.quests.Start("into_darkness", EClass.game.cards.globalCharas.Find("kettle"));
716 EClass.player.ModKeyItem("potion_sorin", 1, msg: false);
717 EClass.player.ModKeyItem("potion_farris", 1, msg: false);
718 }
719 static Thing AddAbility(string c_idAbility)
720 {
721 Thing thing10 = EClass.pc.AddThing(ThingGen.Create("catalyst"));
722 thing10.c_idAbility = c_idAbility;
723 return thing10;
724 }
725 Thing AddHotbar(string id4)
726 {
727 Thing thing10 = EClass.pc.AddThing(ThingGen.Create(id4));
728 thing10.invX = idx;
729 thing10.invY = 1;
730 idx++;
731 return thing10;
732 }
733 void AddParty(string id4)
734 {
735 Chara chara = CharaGen.Create(id4);
736 chara.SetFaction(EClass.Home);
737 chara.SetHomeZone(homeZone);
738 if (chara.currentZone != EClass._zone)
739 {
740 EClass._zone.AddCard(chara, EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false));
741 }
742 EClass.pc.party.AddMemeber(chara);
743 }
744 }
745
746 public void OnLoad()
747 {
748 if (allRecipe)
749 {
751 }
752 }
753
754 public void AddAllRecipes()
755 {
757 {
758 if (!EClass.player.recipes.knownRecipes.ContainsKey(item.id))
759 {
761 }
762 }
763 }
764
765 public void SetStartStockpile(Thing container, int num = 100)
766 {
767 LittlePopper.skipPop = true;
768 foreach (SourceMaterial.Row row in EClass.sources.materials.rows)
769 {
770 if (!(row.alias == "void") && (!randomResource || EScriptable.rnd(4) == 0))
771 {
772 row.CreateByProduct(container, num);
773 }
774 }
775 foreach (SourceThing.Row row2 in EClass.sources.things.rows)
776 {
777 if ((row2.factory.IsEmpty() || !(row2.factory[0] == "x")) && !row2.isOrigin && row2.Category.tag.Contains("debug"))
778 {
779 Thing thing = ThingGen.Create(row2.id);
780 if (thing.trait.CanStack)
781 {
782 thing.ModNum(num);
783 }
784 container.AddThing(thing);
785 }
786 }
787 for (int i = 0; i < 10; i++)
788 {
789 container.AddThing(TraitSeed.MakeRandomSeed());
790 }
791 LittlePopper.skipPop = false;
792 }
793
795 {
796 foreach (Thing thing2 in EClass._map.things)
797 {
798 if (thing2.c_altName == "DebugContainer")
799 {
800 return thing2;
801 }
802 }
803 Thing thing = EClass._zone.AddThing("barrel", EClass.pc.pos).Thing;
804 thing.ChangeMaterial("obsidian");
805 thing.c_altName = "DebugContainer";
806 thing.isNPCProperty = false;
807 thing.SetPlaceState(PlaceState.installed);
808 return thing;
809 }
810
812 {
813 foreach (Thing thing in EClass._map.things)
814 {
815 if (thing.c_altName == "DebugContainer")
816 {
817 return thing;
818 }
819 }
820 return null;
821 }
822
824 {
827 enable = true;
828 if ((bool)WidgetHotbar.HotbarBuild)
829 {
831 }
833 Thing orCreateDebugContainer = GetOrCreateDebugContainer();
834 SetStartStockpile(orCreateDebugContainer, numResource);
835 }
836
838 {
839 }
840
841 public void UpdateAlways()
842 {
843 if (!EClass.debug.enable || (bool)EClass.ui.GetLayer<LayerConsole>())
844 {
845 return;
846 }
847 if (Input.GetKeyDown(KeyCode.B))
848 {
850 }
851 if (Input.GetKeyDown(KeyCode.P))
852 {
854 }
855 if (Input.GetKeyDown(KeyCode.F11))
856 {
857 if (Application.isEditor)
858 {
859 EClass.core.SetLang((Lang.langCode == "EN") ? "JP" : "EN");
860 }
861 else
862 {
864 }
865 NewsList.dict = null;
866 BookList.dict = null;
867 BottleMessageList.list = null;
868 }
870 {
871 if (Input.GetKeyDown(KeyCode.U))
872 {
874 Msg.SayRaw(offset.ToString() ?? "");
875 EClass.screen.tileMap.rendererInnerBlock.offset = Vector3.zero;
876 }
877 if (Input.GetKeyDown(KeyCode.I))
878 {
880 Msg.SayRaw(offset.ToString() ?? "");
881 EClass.screen.tileMap.rendererInnerBlock.offset = new Vector3(0f, 0.54f, -0.5f);
882 }
883 }
884 }
885
886 public void ValidateData()
887 {
889 {
893 }
894 }
895
896 public void UpdateInput()
897 {
898 if (!debugInput || EInput.isInputFieldActive || (bool)EClass.ui.GetLayer<LayerConsole>())
899 {
900 return;
901 }
902 bool key = Input.GetKey(KeyCode.LeftShift);
903 bool key2 = Input.GetKey(KeyCode.LeftAlt);
904 bool key3 = Input.GetKey(KeyCode.LeftControl);
905 TraitStairs traitStairs = null;
906 if (Input.GetKeyDown(KeyCode.KeypadPlus) || (EInput.isShiftDown && Input.GetKeyDown(KeyCode.Period)))
907 {
909 if (traitStairsLocked != null && EClass._zone.CanUnlockExit)
910 {
911 traitStairsLocked.OnUse(EClass.pc);
912 }
913 }
914 if (Input.GetKeyDown(KeyCode.KeypadPlus) || (EInput.isShiftDown && Input.GetKeyDown(KeyCode.Period)))
915 {
916 traitStairs = EClass._map.FindThing<TraitStairsDown>();
917 }
918 if (Input.GetKeyDown(KeyCode.KeypadMinus) || (EInput.isShiftDown && Input.GetKeyDown(KeyCode.Comma)))
919 {
920 traitStairs = EClass._map.FindThing<TraitStairsUp>();
921 }
922 traitStairs?.MoveZone();
923 if (EInput.action == EAction.ShowGrid)
924 {
925 EClass.ui.Find("_Guide").ToggleActive();
926 }
927 if (Input.GetKey(KeyCode.N))
928 {
929 if (key)
930 {
931 SoundManager.current.sourceBGM.pitch = 10f;
932 }
933 if (key3)
934 {
935 SoundManager.current.sourceBGM.time = SoundManager.current.currentBGM.length - 10f;
936 }
937 }
938 else if (Input.GetKeyUp(KeyCode.N))
939 {
940 SoundManager.current.sourceBGM.pitch = 1f;
941 }
943 {
944 string text = "festival";
945 if (Input.GetKeyDown(KeyCode.F1))
946 {
947 EClass.ui.AddLayer<LayerDebug>();
948 }
949 if (Input.GetKeyDown(KeyCode.F2))
950 {
951 Zone.forceRegenerate = true;
953 EClass.scene.Init(Scene.Mode.Zone);
955 SE.MoveZone();
956 }
957 if (Input.GetKeyDown(KeyCode.F4))
958 {
959 if (!MapSubset.Exist(text))
960 {
961 SE.Beep();
962 return;
963 }
964 Zone.forceRegenerate = true;
965 Zone.forceSubset = text;
967 EClass.scene.Init(Scene.Mode.Zone);
969 SE.MoveZone();
970 EClass.ui.Say("Loaded Subset");
971 }
972 if (Input.GetKeyDown(KeyCode.F5))
973 {
974 MapSubset.Save(text);
975 SE.WriteJournal();
976 EClass.ui.Say("Exported Subset");
977 }
978 return;
979 }
980 if (Input.GetKeyDown(KeyCode.F1))
981 {
982 EClass.ui.AddLayer<LayerDebug>();
983 Debug.Log(EClass._zone);
984 Debug.Log(EClass._zone.id + "/" + EClass._zone.parent);
986 }
987 if (Input.GetKeyDown(KeyCode.F2))
988 {
989 EClass._zone.development += 10;
990 EClass._zone.development *= EClass._zone.development;
992 if (targetChara != null)
993 {
994 EClass.pc.Pick(targetChara.MakeGene(DNA.Type.Superior));
995 }
996 if (EClass.game.quests.Get<QuestDebt>() == null)
997 {
998 Chara chara = CharaGen.Create("loytel");
1000 chara.SetGlobal();
1001 Quest q = EClass.game.quests.Add("debt", "loytel");
1003 EClass.pc.party.RemoveMember(chara);
1004 Hostility hostility = (chara.c_originalHostility = Hostility.Ally);
1005 chara.hostility = hostility;
1006 }
1007 return;
1008 }
1009 if (Input.GetKeyDown(KeyCode.F3))
1010 {
1011 for (int i = 0; i < 10; i++)
1012 {
1013 Thing thing = ThingGen.Create("egg_fertilized");
1014 thing.TryMakeRandomItem(40);
1015 thing.SetEncLv(200);
1016 EClass.pc.Pick(thing);
1017 }
1018 foreach (Chara deadChara in EClass._map.deadCharas)
1019 {
1020 Debug.Log(deadChara);
1021 }
1024 Msg.Say("loytelmart:" + EClass.player.flags.loytelMartLv);
1025 Guild.Fighter.relation.rank = 20;
1026 Guild.Mage.relation.rank = 20;
1027 Guild.Thief.relation.rank = 20;
1028 Guild.Merchant.relation.rank = 20;
1029 if (EClass.Branch != null)
1030 {
1032 }
1033 foreach (Chara item in EClass._map.charas.ToList())
1034 {
1035 item.AddExp(item.ExpToNext);
1036 item.Vomit();
1037 }
1038 EClass.pc.PlayEffect("boost");
1039 EClass.pc.PlaySound("boost");
1040 EClass.pc.elements.SetBase(306, 100);
1041 EClass.pc.elements.SetBase(85, 100);
1042 EClass.pc.feat += 10;
1043 EClass.player.totalFeat += 10;
1044 return;
1045 }
1046 if (Input.GetKeyDown(KeyCode.F4))
1047 {
1048 for (int j = 0; j < 1000; j++)
1049 {
1050 EClass.pc.ModExp(241, 1000);
1051 }
1052 string text2 = new string[4] { "エターナルフォースブリザード", "Eternal Force Blizzard", "ぬるぽ", "Null Pointer" }.RandomItem();
1053 EClass.pc.renderer.Say("| " + text2 + " ");
1054 return;
1055 }
1056 if (Input.GetKeyDown(KeyCode.F5))
1057 {
1058 string text3 = (Input.GetKey(KeyCode.LeftControl) ? "quick3" : (Input.GetKey(KeyCode.LeftShift) ? "quick2" : "quick"));
1059 if (text3 != Game.id)
1060 {
1061 IO.DeleteDirectory(CorePath.RootSave + text3);
1062 IO.CopyAll(CorePath.RootSave + Game.id, CorePath.RootSave + text3);
1063 Game.id = text3;
1064 }
1065 EClass.game.isCloud = false;
1066 EClass.game.Save();
1067 }
1068 if (Input.GetKeyDown(KeyCode.F6))
1069 {
1071 {
1072 string id = (Input.GetKey(KeyCode.LeftControl) ? "quick3" : (Input.GetKey(KeyCode.LeftShift) ? "quick2" : "quick"));
1073 EClass.scene.Init(Scene.Mode.None);
1074 Game.Load(id, cloud: false);
1075 });
1076 }
1077 if (Input.GetKeyDown(KeyCode.F7))
1078 {
1079 EClass.pc.PlayEffect("punishment");
1080 EClass.pc.elements.ModBase(79, key ? (-10) : 10);
1081 }
1082 if (Input.GetKeyDown(KeyCode.F8))
1083 {
1084 SE.Click();
1086 runtimeGodBuild = true;
1089 }
1090 if (key3)
1091 {
1092 if (Input.GetKeyDown(KeyCode.F9))
1093 {
1095 if (indexResolution >= resolutions.Count)
1096 {
1097 indexResolution = 0;
1098 }
1099 int[] array = resolutions[indexResolution];
1100 int width = array[0];
1101 int height = array[1];
1102 Screen.SetResolution(width, height, key);
1103 WidgetFeed.Instance?.Nerun(width + "/" + height);
1104 }
1105 if (Input.GetKeyDown(KeyCode.F10))
1106 {
1107 int width2 = Screen.width;
1108 int height2 = width2 / 16 * 9;
1109 Screen.SetResolution(width2, height2, key);
1110 WidgetFeed.Instance?.Nerun(width2 + "/" + height2);
1111 }
1112 }
1113 else
1114 {
1115 if (Input.GetKeyDown(KeyCode.F9))
1116 {
1117 for (int num = 0; num < 8; num++)
1118 {
1120 }
1121 }
1122 if (Input.GetKey(KeyCode.F9))
1123 {
1124 EClass.scene.paused = false;
1125 for (int num2 = 0; num2 < advanceMin; num2++)
1126 {
1128 }
1130 }
1131 if (Input.GetKeyDown(KeyCode.F10))
1132 {
1133 switch (EScriptable.rnd(5))
1134 {
1135 case 0:
1137 break;
1138 case 1:
1140 break;
1141 case 2:
1143 break;
1144 default:
1146 break;
1147 }
1148 }
1149 }
1150 if (Input.GetKeyDown(KeyCode.N) && !EInput.isShiftDown && !EInput.isCtrlDown)
1151 {
1152 EClass.Sound.NextBGM();
1153 }
1154 if (Input.GetKeyDown(KeyCode.Tab))
1155 {
1156 if (key)
1157 {
1158 EClass.ui.AddLayer<LayerConsole>();
1159 }
1160 else
1161 {
1162 EClass.ui.widgets.Toggle("Debug");
1163 }
1164 }
1165 Point hitPoint = Scene.HitPoint;
1166 if (!hitPoint.IsValid || EClass.ui.IsActive)
1167 {
1168 return;
1169 }
1170 if (hitPoint.detail != null)
1171 {
1172 _ = hitPoint.area;
1173 }
1174 if (hitPoint.detail?.things == null)
1175 {
1176 new List<Thing>();
1177 }
1178 if (hitPoint.detail?.charas == null)
1179 {
1180 new List<Chara>();
1181 }
1182 List<Card> list = hitPoint.ListCards();
1183 if (Input.GetMouseButtonDown(2))
1184 {
1185 if (EClass.core.releaseMode != ReleaseMode.Public)
1186 {
1187 if (key)
1188 {
1189 EClass._zone.SpawnMob(hitPoint);
1190 }
1191 else if (key3)
1192 {
1193 EClass._zone.SpawnMob(hitPoint);
1194 }
1195 else if (key2)
1196 {
1197 EClass._zone.SpawnMob(hitPoint);
1198 }
1199 }
1200 return;
1201 }
1202 if (key2)
1203 {
1204 if (Input.GetMouseButtonDown(0))
1205 {
1206 foreach (Card item2 in list)
1207 {
1208 Debug.Log(item2.Name + "/" + item2.dir + "/" + item2.flipX + "/" + item2.angle);
1209 }
1210 }
1211 if (Input.GetMouseButtonDown(1))
1212 {
1213 if (key)
1214 {
1215 EClass._map.charas.ForeachReverse(delegate(Chara c)
1216 {
1217 if (c.IsHostile(EClass.pc))
1218 {
1219 c.DamageHP(999999999L, AttackSource.Finish, EClass.pc);
1220 }
1221 });
1222 }
1223 else if (hitPoint.detail != null)
1224 {
1225 for (int num3 = hitPoint.detail.charas.Count - 1; num3 >= 0; num3--)
1226 {
1227 hitPoint.detail.charas[num3].DamageHP(999999999L, AttackSource.Finish, EClass.pc);
1228 }
1229 }
1230 EInput.Consume();
1231 }
1232 }
1233 if (Input.GetKeyDown(KeyCode.Delete))
1234 {
1235 if (Input.GetKey(KeyCode.RightControl))
1236 {
1237 return;
1238 }
1239 if (key)
1240 {
1241 foreach (Card item3 in EClass._map.Roaming.all)
1242 {
1243 EClass._zone.RemoveCard(item3);
1244 }
1245 }
1246 else if (hitPoint.detail != null)
1247 {
1248 for (int num4 = hitPoint.detail.things.Count - 1; num4 >= 0; num4--)
1249 {
1250 hitPoint.detail.things[num4].Destroy();
1251 }
1252 if (hitPoint.detail != null)
1253 {
1254 for (int num5 = hitPoint.detail.charas.Count - 1; num5 >= 0; num5--)
1255 {
1256 hitPoint.detail.charas[num5].Destroy();
1257 }
1258 }
1259 }
1260 }
1261 if (Input.GetKeyDown(KeyCode.End) && hitPoint.detail != null)
1262 {
1263 for (int num6 = hitPoint.detail.things.Count - 1; num6 >= 0; num6--)
1264 {
1265 Thing thing2 = hitPoint.detail.things[num6];
1266 Debug.Log(thing2.id + "/" + thing2.Pref.height + "/" + thing2.trait?.ToString() + "/" + thing2.source.tileType.CanStack + "/" + thing2.source.tileType?.ToString() + "/" + thing2.isSynced + "/" + RenderObject.syncList.Contains(thing2.renderer));
1267 }
1268 }
1269 if (!Application.isEditor)
1270 {
1271 return;
1272 }
1273 switch (debugHotkeys)
1274 {
1275 case DebugHotkey.Anime:
1276 {
1277 int num7 = -1;
1278 if (Input.GetKeyDown(KeyCode.Alpha0))
1279 {
1280 num7 = 0;
1281 }
1282 if (Input.GetKeyDown(KeyCode.Alpha1))
1283 {
1284 num7 = 1;
1285 }
1286 if (Input.GetKeyDown(KeyCode.Alpha2))
1287 {
1288 num7 = 2;
1289 }
1290 if (Input.GetKeyDown(KeyCode.Alpha3))
1291 {
1292 num7 = 3;
1293 }
1294 if (Input.GetKeyDown(KeyCode.Alpha4))
1295 {
1296 num7 = 4;
1297 }
1298 if (Input.GetKeyDown(KeyCode.Alpha5))
1299 {
1300 num7 = 5;
1301 }
1302 if (Input.GetKeyDown(KeyCode.Alpha6))
1303 {
1304 num7 = 6;
1305 }
1306 if (Input.GetKeyDown(KeyCode.Alpha7))
1307 {
1308 num7 = 7;
1309 }
1310 if (Input.GetKeyDown(KeyCode.Alpha8))
1311 {
1312 num7 = 8;
1313 }
1314 if (Input.GetKeyDown(KeyCode.Alpha9))
1315 {
1316 num7 = 9;
1317 }
1318 if (num7 == -1)
1319 {
1320 break;
1321 }
1322 foreach (Card item4 in hitPoint.ListCards())
1323 {
1324 item4.renderer.PlayAnime(num7.ToEnum<AnimeID>());
1325 }
1326 Debug.Log(num7.ToEnum<AnimeID>());
1327 break;
1328 }
1329 case DebugHotkey.Block:
1330 if (Input.GetKeyDown(KeyCode.Alpha1))
1331 {
1332 EClass._map.SetLiquid(hitPoint.x, hitPoint.z, 1, 9);
1333 }
1334 if (Input.GetKeyDown(KeyCode.Alpha2))
1335 {
1336 EClass._map.SetLiquid(hitPoint.x, hitPoint.z, 2, 9);
1337 }
1338 break;
1339 case DebugHotkey.Item:
1340 if (Input.GetKeyDown(KeyCode.Alpha1))
1341 {
1342 Thing thing3 = ThingGen.Create("stairsDown_cave");
1343 EClass._zone.AddCard(thing3, EClass.pc.pos);
1344 thing3.SetPlaceState(PlaceState.installed);
1345 }
1346 if (Input.GetKeyDown(KeyCode.Alpha2))
1347 {
1348 Thing thing4 = ThingGen.Create("stairs");
1349 EClass._zone.AddCard(thing4, EClass.pc.pos);
1350 thing4.SetPlaceState(PlaceState.installed);
1351 }
1352 if (Input.GetKeyDown(KeyCode.Alpha3))
1353 {
1354 Thing thing5 = ThingGen.Create("sign");
1355 EClass._zone.AddCard(thing5, hitPoint);
1356 thing5.SetPlaceState(PlaceState.installed);
1357 }
1358 if (Input.GetKeyDown(KeyCode.Alpha4))
1359 {
1360 Thing thing6 = ThingGen.Create("sign2");
1361 EClass._zone.AddCard(thing6, hitPoint);
1362 thing6.SetPlaceState(PlaceState.installed);
1363 }
1364 if (Input.GetKeyDown(KeyCode.Alpha5))
1365 {
1366 Thing thing7 = ThingGen.Create("well");
1367 EClass._zone.AddCard(thing7, hitPoint);
1368 thing7.SetPlaceState(PlaceState.installed);
1369 }
1370 if (Input.GetKeyDown(KeyCode.Alpha6))
1371 {
1372 Thing thing8 = ThingGen.Create("altar");
1373 EClass._zone.AddCard(thing8, hitPoint);
1374 thing8.SetPlaceState(PlaceState.installed);
1375 }
1376 if (Input.GetKeyDown(KeyCode.Alpha7))
1377 {
1378 Thing t = ThingGen.Create("torch");
1379 EClass._zone.AddCard(t, hitPoint);
1380 }
1381 if (Input.GetKeyDown(KeyCode.Alpha8))
1382 {
1383 Thing t2 = ThingGen.Create("street_lamp");
1384 EClass._zone.AddCard(t2, hitPoint);
1385 }
1386 if (Input.GetKeyDown(KeyCode.Alpha9))
1387 {
1388 Thing t3 = ThingGen.Create("statue_elin");
1389 EClass._zone.AddCard(t3, hitPoint);
1390 }
1391 if (Input.GetKeyDown(KeyCode.Alpha0))
1392 {
1393 Thing t4 = ThingGen.TestCreate();
1394 EClass._zone.AddCard(t4, hitPoint);
1395 }
1396 if (key && Input.GetKeyDown(KeyCode.Alpha1))
1397 {
1398 Chara t5 = CharaGen.Create("korgon");
1399 EClass._zone.AddCard(t5, hitPoint);
1400 }
1401 break;
1402 case DebugHotkey.Decal:
1403 if (Input.GetKeyDown(KeyCode.Alpha1))
1404 {
1405 EClass._map.AddDecal(hitPoint.x, hitPoint.z, EClass.pc.material.decal);
1406 }
1407 if (!Input.GetKeyDown(KeyCode.Alpha2))
1408 {
1409 }
1410 break;
1411 case DebugHotkey.Test:
1412 if (Input.GetKeyDown(KeyCode.Alpha1))
1413 {
1414 QualitySettings.vSyncCount = 0;
1415 Application.targetFrameRate = 60;
1416 }
1417 if (Input.GetKeyDown(KeyCode.Alpha2))
1418 {
1419 QualitySettings.vSyncCount = 0;
1420 Application.targetFrameRate = 20;
1421 }
1422 if (Input.GetKeyDown(KeyCode.Alpha3))
1423 {
1424 QualitySettings.vSyncCount = 0;
1425 Application.targetFrameRate = 30;
1426 }
1427 if (Input.GetKeyDown(KeyCode.Alpha4))
1428 {
1429 QualitySettings.vSyncCount = 0;
1430 Application.targetFrameRate = 40;
1431 }
1432 break;
1433 }
1434 Card card = (Card)(((object)hitPoint.FirstChara) ?? ((object)hitPoint.FirstThing));
1435 if (card == null)
1436 {
1437 return;
1438 }
1439 CharaActorPCC charaActorPCC = (card.renderer.actor as CharaActor) as CharaActorPCC;
1440 if ((bool)charaActorPCC)
1441 {
1442 if (Input.GetKeyDown(KeyCode.Keypad0))
1443 {
1444 charaActorPCC.NextFrame();
1445 charaActorPCC.RefreshSprite();
1446 }
1447 if (Input.GetKeyDown(KeyCode.Keypad1))
1448 {
1449 charaActorPCC.NextDir();
1450 card.angle = charaActorPCC.provider.angle;
1451 charaActorPCC.RefreshSprite();
1452 }
1453 if (Input.GetKeyDown(KeyCode.Keypad2))
1454 {
1455 charaActorPCC.pcc.data.Randomize();
1456 charaActorPCC.provider.Rebuild();
1457 }
1458 }
1459 if (Input.GetKeyDown(KeyCode.Keypad4))
1460 {
1461 lastEmo = lastEmo.NextEnum();
1462 card.ShowEmo();
1463 card.ShowEmo(lastEmo);
1464 }
1465 if (Input.GetKeyDown(KeyCode.Keypad5))
1466 {
1467 card.ShowEmo();
1468 card.ShowEmo(lastEmo);
1469 }
1470 if (Input.GetKeyDown(KeyCode.Keypad7))
1471 {
1472 lastAnime = lastAnime.NextEnum();
1473 card.renderer.PlayAnime(lastAnime);
1474 }
1475 if (Input.GetKeyDown(KeyCode.Keypad8))
1476 {
1477 card.renderer.PlayAnime(lastAnime);
1478 animeDest = card;
1479 }
1480 if (Input.GetKeyDown(KeyCode.Keypad9))
1481 {
1482 card.renderer.PlayAnime(AnimeID.Attack, animeDest);
1483 }
1484 }
1485
1486 public void InitDebugCommands()
1487 {
1488 commands.Clear();
1489 int cat = 0;
1490 Add(cat, "Save Widgets", delegate
1491 {
1492 EClass.ui.widgets.Save();
1493 });
1494 Add(cat, "Save Widgets(Dialog)", delegate
1495 {
1496 EClass.ui.widgets.DialogSave();
1497 });
1498 Add(cat, "Export Zone", delegate
1499 {
1501 });
1502 Add(cat, "Export Zone(Dialog)", delegate
1503 {
1505 });
1506 Add(0, "Import Zone(Dialog)", delegate
1507 {
1509 });
1510 Add(cat, "Validate Backer Contents", delegate
1511 {
1512 foreach (SourceBacker.Row row2 in EClass.sources.backers.rows)
1513 {
1514 if (row2.valid)
1515 {
1516 switch (row2.type)
1517 {
1518 case 1:
1519 if (!EClass.sources.things.map.ContainsKey(row2.loot))
1520 {
1521 Debug.Log(row2.id + "/remain/" + row2.Name + "/" + row2.loot);
1522 }
1523 break;
1524 case 4:
1525 if (!EClass.sources.charas.map.ContainsKey(row2.chara))
1526 {
1527 Debug.Log(row2.id + "/pet/" + row2.Name + "/" + row2.chara);
1528 }
1529 break;
1530 case 6:
1531 if (!EClass.sources.religions.map.ContainsKey(row2.deity.ToLowerInvariant()))
1532 {
1533 Debug.Log(row2.id + "/" + row2.Name + "/follower/" + row2.deity);
1534 }
1535 break;
1536 }
1537 }
1538 }
1539 });
1540 Add(cat, "Edit PCC", delegate
1541 {
1542 EClass.ui.AddLayer<LayerEditPCC>("LayerPCC/LayerEditPCC").Activate(EClass.pc, UIPCC.Mode.Full);
1543 });
1544 Add(cat, "COM_Teleport", COM_Teleport);
1545 Add(cat, "LOG_Spatials", LOG_Spatials);
1546 Add(cat, "Play Start Drama", COM_PlayStartDrama);
1547 Add(cat, "Fix Floating Items", delegate
1548 {
1549 foreach (Thing thing in EClass._map.things)
1550 {
1551 if (thing.Pref.Float)
1552 {
1553 thing.isFloating = true;
1554 }
1555 }
1556 });
1557 cat = 1;
1558 Add(cat, "Add Conditions", delegate
1559 {
1560 if (EScriptable.rnd(2) == 0)
1561 {
1562 EClass.pc.AddCondition<ConWet>();
1563 }
1564 else
1565 {
1566 EClass.pc.AddCondition<ConSuffocation>();
1567 }
1568 if (EScriptable.rnd(2) == 0)
1569 {
1570 EClass.pc.AddCondition<ConPoison>();
1571 }
1572 else
1573 {
1574 EClass.pc.AddCondition<ConDisease>();
1575 }
1576 });
1577 cat = 2;
1578 Add(cat, "Max Construction", COM_MaxConstruction);
1579 Add(cat, "Add Reserves", delegate
1580 {
1581 EClass.Home.AddReserve(CharaGen.Create("merc_archer"));
1583 EClass.Home.AddReserve(CharaGen.Create("bartender"));
1584 EClass.Home.AddReserve(CharaGen.Create("merchant"));
1588 });
1589 Add(cat, "Add Recruits", delegate
1590 {
1591 if (EClass.Branch != null)
1592 {
1593 EClass.Branch.AddRecruit(CharaGen.Create("merc_archer"));
1594 EClass.Branch.AddRecruit(CharaGen.Create("healer"));
1595 EClass.Branch.AddRecruit(CharaGen.Create("bartender"));
1596 EClass.Branch.AddRecruit(CharaGen.Create("merchant"));
1597 EClass.Branch.AddRecruit(CharaGen.CreateFromFilter("c_wilds"));
1598 EClass.Branch.AddRecruit(CharaGen.CreateFromFilter("c_wilds"));
1599 EClass.Branch.AddRecruit(CharaGen.CreateFromFilter("c_wilds"));
1600 }
1601 });
1602 Add(cat, "Add Resources", delegate
1603 {
1604 if (EClass.Branch != null)
1605 {
1606 EClass.Branch.resources.food.Mod(100);
1607 EClass.Branch.resources.knowledge.Mod(100);
1608 }
1609 });
1610 Add(cat, "Remove Influence", delegate
1611 {
1612 EClass._zone.influence = 0;
1613 });
1614 Add(cat, "Reroll Hobbies", delegate
1615 {
1616 foreach (Chara chara in EClass._map.charas)
1617 {
1618 chara.RerollHobby();
1619 }
1620 });
1621 Add(cat, "Test_Siege", Test_Siege);
1622 Add(cat, "Test_SiegeGuard", Test_SiegeGuard);
1623 Add(cat, "Log_BranchMembers", delegate
1624 {
1626 {
1627 Debug.Log(EClass.Branch.members.Count);
1628 foreach (Chara member in EClass.Branch.members)
1629 {
1630 EClass.debug.Log(member);
1631 }
1632 }
1633 });
1634 cat = 3;
1635 Add(cat, "Weather.Fine", delegate
1636 {
1638 });
1639 Add(cat, "Weather.Blossom", delegate
1640 {
1642 });
1643 Add(cat, "Weather.Random", delegate
1644 {
1646 });
1647 Add(cat, "Weather.Ether+50", delegate
1648 {
1649 EClass.world.ModEther(50);
1651 });
1652 Add(cat, "Season.Next", delegate
1653 {
1655 });
1656 Add(cat, "Unreveal Map", delegate
1657 {
1658 EClass._map.ForeachCell(delegate(Cell c)
1659 {
1660 c.isSeen = false;
1661 });
1663 });
1664 Add(cat, "Test_GodTalk", Test_GodTalk);
1665 Add(cat, "Test_Filter", Test_Filter);
1666 Add(cat, "Test_Grow", Test_Grow);
1667 Add(cat, "Turn On All Lights", delegate
1668 {
1669 foreach (Thing thing2 in EClass._map.things)
1670 {
1671 if (thing2.trait.IsLighting)
1672 {
1673 thing2.trait.Toggle(on: true);
1674 }
1675 }
1676 });
1677 Add(cat, "Reset All Custom Lights", delegate
1678 {
1679 foreach (Thing thing3 in EClass._map.things)
1680 {
1681 thing3.c_lightColor = 0;
1682 thing3.RecalculateFOV();
1683 }
1684 });
1685 Add(cat, "Reset All obj materials", delegate
1686 {
1687 EClass._map.ForeachCell(delegate(Cell c)
1688 {
1689 if (c.HasObj)
1690 {
1691 c.objMat = c.sourceObj.DefaultMaterial.id;
1692 }
1693 });
1694 });
1695 Add(cat, "Reset Certain obj materials", delegate
1696 {
1697 EClass._map.ForeachCell(delegate(Cell c)
1698 {
1699 if (c.HasObj && c.obj == 79)
1700 {
1701 c.objMat = c.sourceObj.DefaultMaterial.id;
1702 }
1703 });
1704 });
1705 Add(cat, "Fix Floors under Blocks", delegate
1706 {
1707 EClass._map.ForeachCell(delegate(Cell c)
1708 {
1709 if (c.HasFullBlock)
1710 {
1711 SourceBlock.Row sourceBlock = c.sourceBlock;
1712 SourceFloor.Row row = EClass.sources.floors.alias[sourceBlock.autoFloor];
1713 EClass._map.SetFloor(c.x, c.z, row.DefaultMaterial.id, row.id);
1714 }
1715 });
1716 });
1717 Add(cat, "Bless Inventory", delegate
1718 {
1719 EClass.pc.things.Foreach(delegate(Thing t)
1720 {
1721 t.SetBlessedState(BlessedState.Blessed);
1722 });
1723 });
1724 Add(cat, "Curse Inventory", delegate
1725 {
1726 EClass.pc.things.Foreach(delegate(Thing t)
1727 {
1728 t.SetBlessedState(BlessedState.Cursed);
1729 });
1730 });
1731 Add(cat, "List Global Charas", delegate
1732 {
1733 foreach (KeyValuePair<int, Chara> globalChara in EClass.game.cards.globalCharas)
1734 {
1735 Debug.Log(globalChara.Key + "/" + globalChara.Value.Name + "/" + ((globalChara.Value.currentZone == null) ? "NULL" : globalChara.Value.currentZone.Name) + "/" + globalChara.Value.faction?.ToString() + "/" + globalChara.Value.homeBranch);
1736 }
1737 });
1738 Add(cat, "List Global Charas In Zone", delegate
1739 {
1740 foreach (KeyValuePair<int, Chara> globalChara2 in EClass.game.cards.globalCharas)
1741 {
1742 if (globalChara2.Value.currentZone == EClass._zone)
1743 {
1744 Debug.Log(globalChara2.Key + "/" + globalChara2.Value);
1745 }
1746 }
1747 });
1748 Add(cat, "List Citizen", delegate
1749 {
1750 foreach (KeyValuePair<int, string> p in EClass._zone.dictCitizen)
1751 {
1752 Debug.Log(p.Value);
1753 Debug.Log(EClass._map.charas.Find((Chara c) => c.uid == p.Key));
1754 Debug.Log(EClass._map.deadCharas.Find((Chara c) => c.uid == p.Key));
1755 }
1756 });
1757 void Add(int cat2, string id, Action action)
1758 {
1759 DebugCommand item = new DebugCommand
1760 {
1761 name = id,
1762 action = action,
1763 cat = cat2
1764 };
1765 commands.Add(item);
1766 }
1767 }
1768
1769 public void Test_Grow()
1770 {
1771 EClass._map.ForeachCell(delegate(Cell c)
1772 {
1773 if (c.sourceObj.HasGrowth)
1774 {
1775 c.TryGrow();
1776 }
1777 });
1778 foreach (Thing item in EClass._map.things.Copy())
1779 {
1780 if (item.trait is TraitSeed traitSeed)
1781 {
1782 traitSeed.TrySprout(force: true);
1783 }
1784 }
1785 }
1786
1787 public void Test_GodTalk()
1788 {
1789 foreach (Religion value in EClass.game.religions.dictAll.Values)
1790 {
1791 value.Talk("test");
1792 }
1793 }
1794
1795 public void COM_Teleport()
1796 {
1797 for (int i = 0; i < 10000; i++)
1798 {
1799 Point point = EClass.pc.pos.Copy();
1800 point.x += EScriptable.rnd(60) - EScriptable.rnd(60);
1801 point.z += EScriptable.rnd(60) - EScriptable.rnd(60);
1802 if (point.IsValid && !point.cell.blocked && point.HasFloor)
1803 {
1804 EClass.pc.Teleport(point);
1805 break;
1806 }
1807 }
1808 }
1809
1811 {
1812 EClass.ui.CloseLayers();
1813 EClass.game.world.date.hour = 2;
1815 LayerDrama.ActivateMain("mono", "1-2");
1816 }
1817
1818 public void Test_Filter()
1819 {
1820 bilinear = !bilinear;
1821 MeshPass[] passes = EClass.scene.passes;
1822 for (int i = 0; i < passes.Length; i++)
1823 {
1824 passes[i].mat.GetTexture("_MainTex").filterMode = (bilinear ? FilterMode.Bilinear : FilterMode.Point);
1825 }
1826 }
1827
1828 public void LOG_Spatials()
1829 {
1830 foreach (Spatial child in EClass.world.region.children)
1831 {
1832 Debug.Log(child.uid + "/" + child.Name + "/" + child.mainFaction.name + "/" + (child == EClass.player.zone));
1833 }
1834 }
1835
1836 public void Test_SiegeGuard()
1837 {
1838 if (EClass._zone.events.GetEvent<ZoneEventSiegeGuard>() == null)
1839 {
1841 }
1842 else
1843 {
1845 }
1846 }
1847
1848 public void Test_Siege()
1849 {
1850 if (EClass._zone.events.GetEvent<ZoneEventSiege>() == null)
1851 {
1853 }
1854 else
1855 {
1857 }
1858 }
1859
1861 {
1862 if (EClass.pc.homeBranch != null)
1863 {
1865 }
1866 }
1867
1868 public static bool CheatEnabled()
1869 {
1870 if (!EClass.debug.enable)
1871 {
1872 return EClass.game.config.cheat;
1873 }
1874 return true;
1875 }
1876
1877 [ConsoleCommand("")]
1878 public static string Cheat()
1879 {
1880 EClass.game.config.cheat = true;
1881 return "Cheat Enabled";
1882 }
1883
1884 [ConsoleCommand("")]
1885 public static string Reset_LoytelDebt()
1886 {
1887 QuestDebt questDebt = EClass.game.quests.Get<QuestDebt>();
1888 if (questDebt == null)
1889 {
1890 return "Quest Status Not Valid.";
1891 }
1892 questDebt.stage = 0;
1893 questDebt.paid = false;
1894 questDebt.gaveBill = false;
1895 EClass.player.debt = 20000000;
1896 Thing thing = ThingGen.Create("856");
1897 thing.refVal = 109;
1898 EClass.pc.Pick(thing);
1899 return "Quest Reset!";
1900 }
1901
1902 [ConsoleCommand("")]
1903 public static string Fix_Awning()
1904 {
1905 foreach (Thing thing in EClass._map.things)
1906 {
1907 if (thing.id == "ash3")
1908 {
1909 thing.id = "awning ";
1910 thing.source = EClass.sources.things.map[thing.id];
1911 thing._CreateRenderer();
1912 }
1913 }
1914 return "Fixed!";
1915 }
1916
1917 [ConsoleCommand("")]
1918 public static string Fix_RemoveDuplicateUnique()
1919 {
1920 if (EClass.Branch == null)
1921 {
1922 return "No Branch";
1923 }
1924 EClass.Branch.members.ForeachReverse(delegate(Chara c)
1925 {
1926 if ((c.id == "kettle" || c.id == "quru") && EClass.Branch.members.Where((Chara chara) => chara.id == c.id).Count() >= 2)
1927 {
1928 EClass.Branch.RemoveMemeber(c);
1929 c.Destroy();
1930 }
1931 });
1932 return "Fixed!";
1933 }
1934
1935 [ConsoleCommand("")]
1936 public static string Fix_EtherDisease()
1937 {
1938 EClass.pc.ModCorruption(-100000);
1939 Chara chara = CharaGen.Create("chara");
1940 chara.ChangeRace(EClass.pc.race.id);
1941 chara.ChangeJob(EClass.pc.job.id);
1942 string text = "";
1943 foreach (Element value in chara.elements.dict.Values)
1944 {
1945 if (!(value.source.category != "attribute"))
1946 {
1947 Element orCreateElement = EClass.pc.elements.GetOrCreateElement(value.id);
1948 if (value.vBase > orCreateElement.vBase)
1949 {
1950 text = text + "Fixing Base Value:" + orCreateElement.Name + " Before:" + orCreateElement.vBase + " Now:" + (value.vBase + 1) + Environment.NewLine;
1951 EClass.pc.elements.ModBase(orCreateElement.id, value.vBase - orCreateElement.vBase + 1);
1952 }
1953 }
1954 }
1955 return text + "Fixed!";
1956 }
1957
1958 [ConsoleCommand("")]
1959 public static string Fix_LostCore()
1960 {
1962 {
1963 return "Not in base.";
1964 }
1965 foreach (Thing thing in EClass._map.things)
1966 {
1967 if (thing.trait is TraitCoreZone)
1968 {
1969 return "Base already has core.";
1970 }
1971 }
1972 if (EClass.pc.things.Find((Thing t) => t.trait is TraitCoreZone) != null)
1973 {
1974 return "Player has core.";
1975 }
1977 return "Done.";
1978 }
1979
1980 [ConsoleCommand("")]
1981 public static string Fix_RemoveDemitas()
1982 {
1983 List<Chara> list = new List<Chara>();
1984 foreach (Chara value in EClass.game.cards.globalCharas.Values)
1985 {
1986 if (value.id == "demitas" && value.currentZone == EClass._zone)
1987 {
1988 list.Add(value);
1989 }
1990 }
1991 if (list.Count > 1)
1992 {
1993 Chara chara = list[1];
1994 chara.RemoveGlobal();
1995 chara.homeBranch.BanishMember(chara);
1996 chara.Destroy();
1997 return "Demitas Removed!";
1998 }
1999 return "Not enough Demitas!";
2000 }
2001
2002 [ConsoleCommand("")]
2003 public static string Fix_RemoveAshland()
2004 {
2005 List<Chara> list = new List<Chara>();
2006 foreach (Chara value in EClass.game.cards.globalCharas.Values)
2007 {
2008 if (value.id == "ashland")
2009 {
2010 list.Add(value);
2011 }
2012 }
2013 if (list.Count > 1)
2014 {
2015 Chara chara = list[1];
2016 chara.RemoveGlobal();
2017 chara.homeBranch.BanishMember(chara);
2018 chara.Destroy();
2019 return "Ashland Removed!";
2020 }
2021 return "Not enough Ashland!";
2022 }
2023
2024 [ConsoleCommand("")]
2025 public static string Fix_RemoveDesignations()
2026 {
2027 EClass._map.ForeachCell(delegate(Cell c)
2028 {
2029 if (c.detail != null && c.detail.designation != null)
2030 {
2031 c.detail.designation.taskList.Remove(c.detail.designation);
2032 }
2033 });
2034 return "Done.";
2035 }
2036
2037 [ConsoleCommand("")]
2038 public static string ListChara()
2039 {
2040 string text = "";
2041 foreach (SourceChara.Row row in EClass.sources.charas.rows)
2042 {
2043 text = text + row.id + "\n";
2044 }
2045 return text;
2046 }
2047
2048 [ConsoleCommand("")]
2049 public static string ListThing()
2050 {
2051 string text = "";
2052 foreach (SourceThing.Row row in EClass.sources.things.rows)
2053 {
2054 text = text + row.id + "\n";
2055 }
2056 return text;
2057 }
2058
2059 [ConsoleCommand("")]
2060 public static string SetElement(string alias, int value, int potential = 100)
2061 {
2062 if (!CheatEnabled())
2063 {
2064 return EnableCheat;
2065 }
2066 SourceElement.Row row = EClass.sources.elements.alias.TryGetValue(alias);
2067 if (row == null)
2068 {
2069 return "Element not found.";
2070 }
2071 if (row.type == "Feat")
2072 {
2073 EClass.pc.SetFeat(row.id, value, msg: true);
2074 }
2075 else
2076 {
2077 EClass.pc.elements.SetBase(row.id, value, potential);
2078 }
2079 return "Done.";
2080 }
2081
2082 [ConsoleCommand("")]
2083 public static string SpawnBoss(string id)
2084 {
2085 if (!CheatEnabled())
2086 {
2087 return EnableCheat;
2088 }
2089 if (EClass.sources.charas.map.ContainsKey(id))
2090 {
2092 return "Spawned " + chara.Name;
2093 }
2094 return "'" + id + "' does not exist in the database.";
2095 }
2096
2097 [ConsoleCommand("")]
2098 public static string Spawn(string id, int num = 1, string aliasMat = "", int objLv = -1)
2099 {
2100 if (!CheatEnabled())
2101 {
2102 return EnableCheat;
2103 }
2104 if (EClass.sources.things.map.ContainsKey(id))
2105 {
2106 Thing thing = ThingGen.Create(id, -1, objLv).SetNum(num);
2107 if (!aliasMat.IsEmpty())
2108 {
2109 thing.ChangeMaterial(aliasMat);
2110 }
2111 EClass._zone.AddCard(thing, EClass.pc.pos);
2112 return "Spawned " + thing.Name;
2113 }
2114 _ = EClass.sources.charas.map;
2115 if (EClass.sources.charas.map.ContainsKey(id))
2116 {
2117 Chara chara = CharaGen.Create(id);
2118 if (objLv != -1)
2119 {
2120 chara.SetLv(objLv);
2121 }
2122 EClass._zone.AddCard(chara, EClass.pc.pos);
2123 return "Spawned " + chara.Name;
2124 }
2125 return "'" + id + "' does not exist in the database.";
2126 }
2127
2128 [ConsoleCommand("")]
2129 public static string SpawnFigure(string id)
2130 {
2131 if (!CheatEnabled())
2132 {
2133 return EnableCheat;
2134 }
2135 if (!EClass.sources.charas.map.ContainsKey(id))
2136 {
2137 return "'" + id + "' does not exist in the database.";
2138 }
2139 Thing thing = ThingGen.Create("figure");
2140 Thing thing2 = ThingGen.Create("figure3");
2141 string c_idRefCard = (thing2.c_idRefCard = id);
2142 thing.c_idRefCard = c_idRefCard;
2143 EClass.pc.DropThing(thing);
2144 EClass.pc.DropThing(thing2);
2145 return "Spawned figures for '" + id + "'";
2146 }
2147
2148 [ConsoleCommand("")]
2149 public static string TestSpawn(int lv, int num, int lvRange = -1)
2150 {
2151 if (!CheatEnabled())
2152 {
2153 return EnableCheat;
2154 }
2155 if (EClass._zone is Zone_Arena)
2156 {
2157 EClass._zone._dangerLv = lv;
2158 }
2159 foreach (Chara item in EClass._map.charas.Where((Chara c) => c.HasEditorTag(EditorTag.SpawnTest)).ToList())
2160 {
2161 item.Destroy();
2162 }
2163 for (int num2 = 0; num2 < num; num2++)
2164 {
2165 EClass._zone.SpawnMob(EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: false, ignoreCenter: true), new SpawnSetting
2166 {
2167 filterLv = lv,
2168 levelRange = lvRange
2169 }).AddEditorTag(EditorTag.SpawnTest);
2170 }
2171 return "Spawned.";
2172 }
2173
2174 [ConsoleCommand("")]
2175 public static string ResetPetUpgrades()
2176 {
2177 foreach (Chara value in EClass.game.cards.globalCharas.Values)
2178 {
2179 if (value.IsPCFaction)
2180 {
2181 value.ResetUpgrade();
2182 }
2183 }
2184 return "Not Implemented.";
2185 }
2186
2187 [ConsoleCommand("")]
2188 public static string ResetPrincipalSeals()
2189 {
2190 if (!CheatEnabled())
2191 {
2192 return EnableCheat;
2193 }
2194 EClass.game.principal.modified.Clear();
2195 return "Done.";
2196 }
2197
2198 [ConsoleCommand("")]
2199 public static string GodMode()
2200 {
2201 if (!CheatEnabled())
2202 {
2203 return EnableCheat;
2204 }
2205 EClass.pc.Revive();
2206 EClass.pc.hp = EClass.pc.MaxHP;
2207 return "I'm God!";
2208 }
2209
2210 [ConsoleCommand("")]
2211 public static string ModFame(int amount)
2212 {
2213 if (!CheatEnabled())
2214 {
2215 return EnableCheat;
2216 }
2217 EClass.player.ModFame(amount);
2218 return "Done.";
2219 }
2220
2221 [ConsoleCommand("")]
2222 public static string MaxFame()
2223 {
2224 if (!CheatEnabled())
2225 {
2226 return EnableCheat;
2227 }
2228 if (EClass.player.CountKeyItem("license_adv") == 0)
2229 {
2230 EClass.player.ModKeyItem("license_adv");
2231 }
2232 EClass.player.ModFame(int.MaxValue);
2233 return "Done.";
2234 }
2235
2236 [ConsoleCommand("")]
2237 public static string ModKarma(int amount)
2238 {
2239 if (!CheatEnabled())
2240 {
2241 return EnableCheat;
2242 }
2243 EClass.player.ModKarma(amount);
2244 return "Done.";
2245 }
2246
2247 [ConsoleCommand("")]
2248 public static string ModContribution(int amount)
2249 {
2250 if (!CheatEnabled())
2251 {
2252 return EnableCheat;
2253 }
2255 return "Done.";
2256 }
2257
2258 [ConsoleCommand("")]
2259 public static string Rust()
2260 {
2261 if (!CheatEnabled())
2262 {
2263 return EnableCheat;
2264 }
2265 EClass.pc.things.Foreach(delegate(Thing t)
2266 {
2267 t.ModEncLv(-100);
2268 });
2269 return "Done.";
2270 }
2271
2272 [ConsoleCommand("")]
2273 public static string FlyMode()
2274 {
2275 if (!CheatEnabled())
2276 {
2277 return EnableCheat;
2278 }
2280 return "I can fly!";
2281 }
2282
2283 [ConsoleCommand("")]
2284 public static string AddBodyPart(BodyCode bodyCode)
2285 {
2286 if (!CheatEnabled())
2287 {
2288 return EnableCheat;
2289 }
2290 _AddBodyPart(bodyCode);
2291 return "Done.";
2292 }
2293
2294 [ConsoleCommand("")]
2295 public static string RemoveBodyPart(BodyCode bodyCode)
2296 {
2297 if (!CheatEnabled())
2298 {
2299 return EnableCheat;
2300 }
2301 _RemoveBodyPart(bodyCode);
2302 return "Done.";
2303 }
2304
2305 public static void _AddBodyPart(BodyCode bodyCode)
2306 {
2307 EClass.pc.body.AddBodyPart((int)bodyCode);
2310 }
2311
2312 public static void _RemoveBodyPart(BodyCode bodyCode)
2313 {
2314 EClass.pc.body.RemoveBodyPart((int)bodyCode);
2317 }
2318
2319 [ConsoleCommand("")]
2320 public static string ChangeRace(string id = "?")
2321 {
2322 if (!CheatEnabled())
2323 {
2324 return EnableCheat;
2325 }
2326 if (EClass.sources.races.map.ContainsKey(id))
2327 {
2328 Thing thing = null;
2329 foreach (BodySlot slot in EClass.pc.body.slots)
2330 {
2331 if (slot.thing != null)
2332 {
2333 if (slot.thing.blessedState <= BlessedState.Cursed)
2334 {
2335 slot.thing.blessedState = BlessedState.Normal;
2336 }
2337 if (slot.thing.trait is TraitToolBelt)
2338 {
2339 thing = slot.thing;
2340 }
2341 EClass.pc.body.Unequip(slot);
2342 }
2343 }
2346 EClass.pc.ChangeRace(id);
2347 if (EClass.ui.IsInventoryOpen)
2348 {
2349 EClass.ui.ToggleInventory();
2350 }
2353 EClass.pc.body.Equip(thing);
2356 return "Done.";
2357 }
2358 string text = "";
2359 foreach (SourceRace.Row row in EClass.sources.races.rows)
2360 {
2361 text = text + row.id + " " + row.GetName() + Environment.NewLine;
2362 }
2363 return text;
2364 }
2365
2366 [ConsoleCommand("")]
2367 public static string ResetAllAchievement()
2368 {
2370 return "Done.";
2371 }
2372
2373 [ConsoleCommand("")]
2374 public static string ResetAchievement(ID_Achievement id)
2375 {
2377 return "Done.";
2378 }
2379
2380 [ConsoleCommand("")]
2381 public static string ChangeJob(string id = "?")
2382 {
2383 if (!CheatEnabled())
2384 {
2385 return EnableCheat;
2386 }
2387 if (EClass.sources.jobs.map.ContainsKey(id))
2388 {
2389 EClass.pc.ChangeJob(id);
2391 return "Done.";
2392 }
2393 string text = "";
2394 foreach (SourceJob.Row row in EClass.sources.jobs.rows)
2395 {
2396 text = text + row.id + " " + row.GetName() + Environment.NewLine;
2397 }
2398 return text;
2399 }
2400
2401 [ConsoleCommand("")]
2402 public static string FirstAdventurer()
2403 {
2404 string text = "Steam is not running.";
2405 DateTime dateTime = new DateTime(2024, 11, 3, 6, 0, 0);
2406 DateTimeOffset dateTimeOffset = (Application.isEditor ? new DateTimeOffset(2024, 11, 6, 1, 9, 0, default(TimeSpan)) : ((!SteamAPI.IsSteamRunning()) ? new DateTimeOffset(9999, 1, 1, 1, 9, 0, default(TimeSpan)) : DateTimeOffset.FromUnixTimeSeconds(SteamApps.GetEarliestPurchaseUnixTime(EClass.core.steam.steamworks.settings.applicationId))));
2407 dateTimeOffset = dateTimeOffset.ToOffset(new TimeSpan(9, 0, 0));
2408 text = ((dateTimeOffset < dateTime) ? "Valid: " : "Invalid: ");
2409 text = text + "Arrived North Tyris on " + dateTimeOffset.Year + " " + dateTimeOffset.Month + "/" + dateTimeOffset.Day + " " + dateTimeOffset.Hour + ":" + dateTimeOffset.Minute;
2410 return text + " Eligible by " + dateTime.Year + " " + dateTime.Month + "/" + dateTime.Day + " " + dateTime.Hour + ":" + dateTime.Minute;
2411 }
2412
2413 [ConsoleCommand("")]
2414 public static string RegenerateNames()
2415 {
2416 EClass.core.mods.InitLang();
2417 NameGen.list = null;
2418 AliasGen.list = null;
2419 AliasGen.listMix.Clear();
2420 AliasGen.listBuiltin.Clear();
2421 WordGen.listMix.Clear();
2422 WordGen.listBuiltin.Clear();
2423 NameGen.Init();
2424 AliasGen.Init();
2425 foreach (Chara chara in EClass._map.charas)
2426 {
2427 if (!chara.IsPC)
2428 {
2429 if (chara.source.name == "*r")
2430 {
2431 chara.c_altName = NameGen.getRandomName();
2432 }
2433 if (!chara._alias.IsEmpty())
2434 {
2435 chara._alias = AliasGen.GetRandomAlias();
2436 }
2437 }
2438 }
2439 return "Done!";
2440 }
2441
2442 [ConsoleCommand("")]
2443 public static string Stats()
2444 {
2445 return string.Concat(string.Concat(string.Concat(string.Concat(string.Concat(string.Concat(string.Concat(string.Concat(string.Concat(string.Concat(string.Concat(string.Concat(string.Concat(string.Concat("" + "Fish Stolen: " + EClass.player.flags.fishStolen + Environment.NewLine, "Little Saved: ", EClass.player.little_saved.ToString(), Environment.NewLine), "Little Lost: ", EClass.player.little_dead.ToString(), Environment.NewLine), "Little Depart: ", EClass.player.stats.sistersDepart.ToString(), Environment.NewLine), "Cat Depart: ", EClass.player.stats.catDepart.ToString(), Environment.NewLine), "Angry Cats: ", EClass.player.stats.angryCats.ToString(), Environment.NewLine), "Love Made: ", EClass.player.stats.kimo.ToString(), Environment.NewLine), "Nefia Beaten: ", EClass.player.stats.nefiaBeaten.ToString(), Environment.NewLine), "Sheared: ", EClass.player.stats.shear.ToString(), Environment.NewLine), "Brushed: ", EClass.player.stats.brush.ToString(), Environment.NewLine), "Egg Hatched: ", EClass.player.stats.eggHatched.ToString(), Environment.NewLine), "Plowed: ", EClass.player.stats.plow.ToString(), Environment.NewLine), "Cleaned: ", EClass.player.stats.clean.ToString(), Environment.NewLine), "Unpaid Bill: ", EClass.player.unpaidBill.ToString(), Environment.NewLine), "Statue Shipped: ", EClass.player.flags.statueShipped.ToString(), Environment.NewLine);
2446 }
2447
2448 [ConsoleCommand("")]
2449 public static string AllRecipe(bool forget = false)
2450 {
2451 if (!CheatEnabled())
2452 {
2453 return EnableCheat;
2454 }
2455 if (forget)
2456 {
2458 }
2459 else
2460 {
2462 }
2463 return "Done!";
2464 }
2465
2466 [ConsoleCommand("")]
2467 public static string LastWish(string name)
2468 {
2469 string text = "";
2470 foreach (SourceBacker.Row row in EClass.sources.backers.rows)
2471 {
2472 if (row.name.Contains(name) || row.id.ToString() == name)
2473 {
2474 text = text + row.id + " valid?:" + row.valid + " lang:" + row.lang + " type:" + row.type + " destroyed:" + EClass.player.doneBackers.Contains(row.id) + " loc:" + (row.loc.IsEmpty() ? "random" : row.loc) + Environment.NewLine;
2475 }
2476 }
2477 if (text == "")
2478 {
2479 return "Not Found";
2480 }
2481 return text + Resources.Load<TextAsset>("logo2").text;
2482 }
2483
2484 [ConsoleCommand("")]
2485 public static string ClearLastWishFlag()
2486 {
2487 if (!CheatEnabled())
2488 {
2489 return EnableCheat;
2490 }
2491 EClass.player.doneBackers.Clear();
2492 return Resources.Load<TextAsset>("logo2").text + Environment.NewLine + "Done!";
2493 }
2494
2495 [ConsoleCommand("")]
2496 public static string Resource()
2497 {
2498 if (!CheatEnabled())
2499 {
2500 return EnableCheat;
2501 }
2503 return "Resources spawned.";
2504 }
2505
2506 public void Log(object o)
2507 {
2508 Debug.Log(o);
2509 }
2510
2511 public void NextBGM()
2512 {
2513 if ((bool)SoundManager.current)
2514 {
2515 SoundManager.current.NextBGM();
2516 }
2517 }
2518
2519 public void ToggleRevealMap()
2520 {
2521 revealMap = !revealMap;
2522 if (revealMap)
2523 {
2525 }
2526 SE.ClickGeneral();
2527 }
2528
2529 public void LoadBroadcast()
2530 {
2531 TextAsset textAsset = Resources.Load<TextAsset>("Data/Text/broadcast");
2532 blines = textAsset.text.Split('-');
2533 }
2534
2535 public void BroadcastNext()
2536 {
2537 LoadBroadcast();
2538 if (Input.GetKey(KeyCode.LeftControl))
2539 {
2540 bidx--;
2541 }
2542 bidx = Mathf.Clamp(bidx, 0, blines.Length - 1);
2543 string text = blines[bidx];
2544 bidx += ((!Input.GetKey(KeyCode.LeftShift)) ? 1 : (-1));
2545 EClass.pc.SayRaw(text.TrimNewLines());
2546 }
2547}
AnimeID
Definition: AnimeID.cs:2
AttackSource
Definition: AttackSource.cs:2
BlessedState
Definition: BlessedState.cs:2
if(!match.Success)
EAction
Definition: EAction.cs:2
EditorTag
Definition: EditorTag.cs:2
Emo
Definition: Emo.cs:2
Hostility
Definition: Hostility.cs:2
ID_Achievement
PlaceState
Definition: PlaceState.cs:2
ReleaseMode
Definition: ReleaseMode.cs:2
void Activate(Thing t)
static AM_Inspect Inspect
Definition: ActionMode.cs:23
void Deactivate()
Definition: ActionMode.cs:529
virtual bool IsBuildMode
Definition: ActionMode.cs:181
Definition: Anime.cs:6
void WaitForEndOfFrame(Action action)
Definition: BaseCore.cs:61
List< Action > actionsNextFrame
Definition: BaseCore.cs:31
ReleaseMode releaseMode
Definition: BaseCore.cs:23
BaseTileMap tileMap
RenderData rendererInnerBlock
Definition: BaseTileMap.cs:203
Thing thing
Definition: BodySlot.cs:8
static void Set(CardBlueprint _bp=null)
static CardBlueprint DebugEQ
Chara Find(string id)
Definition: CardManager.cs:20
GlobalCharaList globalCharas
Definition: CardManager.cs:46
void PlayAnime(AnimeID id, bool force)
void Say(string text, Color c=default(Color), float duration=0f)
Definition: Card.cs:11
float angle
Definition: Card.cs:74
Thing TryMakeRandomItem(int lv=-1, TryMakeRandomItemSource itemSource=TryMakeRandomItemSource.Default, Chara crafter=null)
Definition: Card.cs:5758
void Teleport(Point point, bool silent=false, bool force=false)
Definition: Card.cs:6194
void MakeFigureFrom(string id)
Definition: Card.cs:6022
void SetPlaceState(PlaceState newState, bool byPlayer=false)
Definition: Card.cs:3928
ElementContainerCard elements
Definition: Card.cs:42
string id
Definition: Card.cs:36
SourceMaterial.Row material
Definition: Card.cs:2103
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6645
Card ChangeMaterial(int idNew, bool ignoreFixedMaterial=false)
Definition: Card.cs:3217
string c_altName
Definition: Card.cs:1633
Card AddCard(Card c)
Definition: Card.cs:3266
virtual CardRenderer _CreateRenderer()
Definition: Card.cs:6440
Thing AddThing(string id, int lv=-1)
Definition: Card.cs:3280
Card SetLv(int a)
Definition: Card.cs:3070
string Name
Definition: Card.cs:2191
void AddEditorTag(EditorTag tag)
Definition: Card.cs:2738
Thing SetNum(int a)
Definition: Card.cs:3676
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:4076
void RecalculateFOV()
Definition: Card.cs:6862
Point pos
Definition: Card.cs:60
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6679
void Dye(string idMat)
Definition: Card.cs:6478
Trait trait
Definition: Card.cs:54
void ModCurrency(int a, string id="money")
Definition: Card.cs:4142
void ModEncLv(int a)
Definition: Card.cs:4027
void SetEncLv(int a)
Definition: Card.cs:4045
void Destroy()
Definition: Card.cs:5314
bool HasEditorTag(EditorTag tag)
Definition: Card.cs:2733
ThingContainer things
Definition: Card.cs:39
virtual Thing Thing
Definition: Card.cs:2110
BlessedState blessedState
Definition: Card.cs:281
int dir
Definition: Card.cs:149
void ModExp(string alias, int a)
Definition: Card.cs:2781
void ModNum(int a, bool notify=true)
Definition: Card.cs:3696
void SayRaw(string text, string ref1=null, string ref2=null)
Definition: Card.cs:7303
CardRenderer renderer
Definition: Card.cs:64
virtual bool flipX
Definition: Card.cs:2168
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6383
int LV
Definition: Card.cs:389
virtual bool isSynced
Definition: Card.cs:2139
TaskDesignation designation
Definition: CellDetail.cs:19
List< Thing > things
Definition: CellDetail.cs:11
List< Chara > charas
Definition: CellDetail.cs:13
Definition: Cell.cs:7
int obj
Definition: Cell.cs:50
CellDetail detail
Definition: Cell.cs:112
SourceObj.Row sourceObj
Definition: Cell.cs:1112
bool HasObj
Definition: Cell.cs:677
bool HasFullBlock
Definition: Cell.cs:853
override void RefreshSprite()
override void NextDir()
override void NextFrame()
SpriteProvider provider
Definition: CharaActorPCC.cs:9
void AddBodyPart(int ele, Thing thing=null)
Definition: CharaBody.cs:312
void Unequip(Thing thing, bool refresh=true)
Definition: CharaBody.cs:49
List< BodySlot > slots
Definition: CharaBody.cs:8
Thing GetEquippedThing(int elementId)
Definition: CharaBody.cs:453
bool Equip(Thing thing, BodySlot slot=null, bool msg=true)
Definition: CharaBody.cs:213
void RefreshBodyParts()
Definition: CharaBody.cs:338
void RemoveBodyPart(int ele)
Definition: CharaBody.cs:367
static Chara CreateFromFilter(string id, int lv=-1, int levelRange=-1)
Definition: CharaGen.cs:22
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
Definition: Chara.cs:10
void ChangeRace(string idNew)
Definition: Chara.cs:2509
CharaBody body
Definition: Chara.cs:96
void RemoveGlobal()
Definition: Chara.cs:1574
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:9881
override bool IsPC
Definition: Chara.cs:632
SourceJob.Row job
Definition: Chara.cs:472
void SetFeat(int id, int value=1, bool msg=false)
Definition: Chara.cs:10560
void ResetUpgrade()
Definition: Chara.cs:9162
Party party
Definition: Chara.cs:45
Chara SetHomeZone(Zone zone)
Definition: Chara.cs:1500
Chara SetFaction(Faction f)
Definition: Chara.cs:1492
Chara SetGlobal(Zone _home, int x, int z)
Definition: Chara.cs:1546
override bool IsPCFaction
Definition: Chara.cs:691
override int MaxHP
Definition: Chara.cs:728
Zone currentZone
Definition: Chara.cs:261
SourceChara.Row source
Definition: Chara.cs:164
Stats mana
Definition: Chara.cs:1215
Stats stamina
Definition: Chara.cs:1207
void ChangeJob(string idNew)
Definition: Chara.cs:2389
void Revive(Point p=null, bool msg=false)
Definition: Chara.cs:5503
Thing MakeGene(DNA.Type? type=null)
Definition: Chara.cs:8724
void ModCorruption(int a)
Definition: Chara.cs:10498
void RestockEquip(bool onCreate)
Definition: Chara.cs:5001
void DropThing(Thing t, int num=-1)
Definition: Chara.cs:4929
string _alias
Definition: Chara.cs:225
FactionBranch homeBranch
Definition: Chara.cs:1115
bool IsHostile()
Definition: Chara.cs:6952
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
Definition: Chara.cs:4612
void EQ_CAT(string s)
Definition: Chara.cs:5444
SourceRace.Row race
Definition: Chara.cs:470
UD_String_MatData matColors
ColorProfile profile
Definition: CoreDebug.cs:86
static string ResetAchievement(ID_Achievement id)
Definition: CoreDebug.cs:2374
bool ignoreWeight
Definition: CoreDebug.cs:203
bool marryAnytime
Definition: CoreDebug.cs:240
bool godMode
Definition: CoreDebug.cs:189
bool godFood
Definition: CoreDebug.cs:199
bool allStory
Definition: CoreDebug.cs:255
static string Resource()
Definition: CoreDebug.cs:2496
static string ModKarma(int amount)
Definition: CoreDebug.cs:2237
void Init()
Definition: CoreDebug.cs:344
bool godCraft
Definition: CoreDebug.cs:197
bool debugScatter
Definition: CoreDebug.cs:193
bool skipMod
Definition: CoreDebug.cs:150
bool allBGM
Definition: CoreDebug.cs:215
static string ResetAllAchievement()
Definition: CoreDebug.cs:2367
bool dontCompressSave
Definition: CoreDebug.cs:148
static bool CheatEnabled()
Definition: CoreDebug.cs:1868
StartParty startParty
Definition: CoreDebug.cs:116
bool showSceneSelector
Definition: CoreDebug.cs:125
bool allSkill
Definition: CoreDebug.cs:209
string[] blines
Definition: CoreDebug.cs:297
void Test_Siege()
Definition: CoreDebug.cs:1848
static string Fix_EtherDisease()
Definition: CoreDebug.cs:1936
bool showTone
Definition: CoreDebug.cs:182
bool allPolicy
Definition: CoreDebug.cs:253
bool testFixedColor
Definition: CoreDebug.cs:278
bool naked
Definition: CoreDebug.cs:312
static string RemoveBodyPart(BodyCode bodyCode)
Definition: CoreDebug.cs:2295
Thing GetDebugContainer()
Definition: CoreDebug.cs:811
IEnumerable< string > ZoneIDs()
Definition: CoreDebug.cs:333
bool allMenu
Definition: CoreDebug.cs:251
void ToggleRevealMap()
Definition: CoreDebug.cs:2519
bool alwaysResetWindow
Definition: CoreDebug.cs:144
bool test
Definition: CoreDebug.cs:186
int indexResolution
Definition: CoreDebug.cs:306
int bidx
Definition: CoreDebug.cs:292
string startZone
Definition: CoreDebug.cs:122
bool logCombat
Definition: CoreDebug.cs:261
DebugHotkey debugHotkeys
Definition: CoreDebug.cs:159
bool inviteAnytime
Definition: CoreDebug.cs:238
static string Fix_RemoveDesignations()
Definition: CoreDebug.cs:2025
bool _godBuild
Definition: CoreDebug.cs:195
void Test_Filter()
Definition: CoreDebug.cs:1818
int numResource
Definition: CoreDebug.cs:233
MatColorTest matColorTest
Definition: CoreDebug.cs:274
Card animeDest
Definition: CoreDebug.cs:289
bool debugInput
Definition: CoreDebug.cs:155
List< DebugCommand > commands
Definition: CoreDebug.cs:299
bool logDice
Definition: CoreDebug.cs:263
bool revealMap
Definition: CoreDebug.cs:170
static string FirstAdventurer()
Definition: CoreDebug.cs:2402
static string ClearLastWishFlag()
Definition: CoreDebug.cs:2485
void Test_Grow()
Definition: CoreDebug.cs:1769
static string Reset_LoytelDebt()
Definition: CoreDebug.cs:1885
bool showFav
Definition: CoreDebug.cs:242
void LoadBroadcast()
Definition: CoreDebug.cs:2529
bool keypadDebug
Definition: CoreDebug.cs:157
bool unlimitedInterest
Definition: CoreDebug.cs:236
static string EnableCheat
Definition: CoreDebug.cs:331
bool travelAnywhere
Definition: CoreDebug.cs:223
static string FlyMode()
Definition: CoreDebug.cs:2273
bool allAbility
Definition: CoreDebug.cs:207
bool instaReturn
Definition: CoreDebug.cs:221
bool ignorePool
Definition: CoreDebug.cs:133
bool alwaysFavFood
Definition: CoreDebug.cs:244
bool useNewConfig
Definition: CoreDebug.cs:140
string command
Definition: CoreDebug.cs:152
void Log(object o)
Definition: CoreDebug.cs:2506
bool showExtra
Definition: CoreDebug.cs:184
bool returnAnywhere
Definition: CoreDebug.cs:219
void SetStartStockpile(Thing container, int num=100)
Definition: CoreDebug.cs:765
static string SetElement(string alias, int value, int potential=100)
Definition: CoreDebug.cs:2060
void ValidateData()
Definition: CoreDebug.cs:886
bool ignoreEncounter
Definition: CoreDebug.cs:217
bool validateData
Definition: CoreDebug.cs:146
static string Rust()
Definition: CoreDebug.cs:2259
static string Spawn(string id, int num=1, string aliasMat="", int objLv=-1)
Definition: CoreDebug.cs:2098
bool runtimeGodBuild
Definition: CoreDebug.cs:315
Emo lastEmo
Definition: CoreDebug.cs:310
void InitDebugCommands()
Definition: CoreDebug.cs:1486
static string GodMode()
Definition: CoreDebug.cs:2199
void COM_MaxConstruction()
Definition: CoreDebug.cs:1860
static string ModFame(int amount)
Definition: CoreDebug.cs:2211
static string Fix_RemoveDemitas()
Definition: CoreDebug.cs:1981
bool validatePref
Definition: CoreDebug.cs:266
bool allHomeSkill
Definition: CoreDebug.cs:211
readonly List< int[]> resolutions
Definition: CoreDebug.cs:282
void COM_Teleport()
Definition: CoreDebug.cs:1795
void COM_PlayStartDrama()
Definition: CoreDebug.cs:1810
static string RegenerateNames()
Definition: CoreDebug.cs:2414
int param1
Definition: CoreDebug.cs:269
void QuickStart()
Definition: CoreDebug.cs:350
void Test_SiegeGuard()
Definition: CoreDebug.cs:1836
void UpdateInput()
Definition: CoreDebug.cs:896
bool enable
Definition: CoreDebug.cs:302
bool ignorePopup
Definition: CoreDebug.cs:176
void LOG_Spatials()
Definition: CoreDebug.cs:1828
bool skipModSync
Definition: CoreDebug.cs:128
int param2
Definition: CoreDebug.cs:272
Color32 fixedColor
Definition: CoreDebug.cs:280
static string Cheat()
Definition: CoreDebug.cs:1878
bool skipEvent
Definition: CoreDebug.cs:178
bool testLOS2
Definition: CoreDebug.cs:166
static string Stats()
Definition: CoreDebug.cs:2443
bool logAdv
Definition: CoreDebug.cs:258
bool autoIdentify
Definition: CoreDebug.cs:205
AnimeID lastAnime
Definition: CoreDebug.cs:308
static string ListThing()
Definition: CoreDebug.cs:2049
bool resetPlayerConfig
Definition: CoreDebug.cs:136
static void _AddBodyPart(BodyCode bodyCode)
Definition: CoreDebug.cs:2305
void AddAllRecipes()
Definition: CoreDebug.cs:754
void UpdateAlways()
Definition: CoreDebug.cs:841
bool godBuild
Definition: CoreDebug.cs:320
bool autoAdvanceQuest
Definition: CoreDebug.cs:227
static string AllRecipe(bool forget=false)
Definition: CoreDebug.cs:2449
static string ListChara()
Definition: CoreDebug.cs:2038
int startHour
Definition: CoreDebug.cs:118
static string ChangeJob(string id="?")
Definition: CoreDebug.cs:2381
bool testThingQuality
Definition: CoreDebug.cs:231
void Test_GodTalk()
Definition: CoreDebug.cs:1787
bool allRecipe
Definition: CoreDebug.cs:249
static string MaxFame()
Definition: CoreDebug.cs:2222
bool bilinear
Definition: CoreDebug.cs:294
StartLoadout startLoadout
Definition: CoreDebug.cs:114
bool skipNerun
Definition: CoreDebug.cs:180
static string ResetPetUpgrades()
Definition: CoreDebug.cs:2175
void EnableDebugResource()
Definition: CoreDebug.cs:823
bool debugHoard
Definition: CoreDebug.cs:172
Thing GetOrCreateDebugContainer()
Definition: CoreDebug.cs:794
bool debugProps
Definition: CoreDebug.cs:168
static string ModContribution(int amount)
Definition: CoreDebug.cs:2248
static string ResetPrincipalSeals()
Definition: CoreDebug.cs:2188
static void _RemoveBodyPart(BodyCode bodyCode)
Definition: CoreDebug.cs:2312
void OnLoad()
Definition: CoreDebug.cs:746
void NextBGM()
Definition: CoreDebug.cs:2511
bool maxQuests
Definition: CoreDebug.cs:246
static string AddBodyPart(BodyCode bodyCode)
Definition: CoreDebug.cs:2284
static string SpawnFigure(string id)
Definition: CoreDebug.cs:2129
static string LastWish(string name)
Definition: CoreDebug.cs:2467
static string Fix_LostCore()
Definition: CoreDebug.cs:1959
bool enableMapPieceEditor
Definition: CoreDebug.cs:229
bool revealInner
Definition: CoreDebug.cs:174
bool allArt
Definition: CoreDebug.cs:213
bool testLOS
Definition: CoreDebug.cs:164
static string SpawnBoss(string id)
Definition: CoreDebug.cs:2083
StartSetting startSetting
Definition: CoreDebug.cs:120
static string Fix_RemoveAshland()
Definition: CoreDebug.cs:2003
bool ignoreAutoSave
Definition: CoreDebug.cs:142
bool boradcast
Definition: CoreDebug.cs:276
static string TestSpawn(int lv, int num, int lvRange=-1)
Definition: CoreDebug.cs:2149
int advanceMin
Definition: CoreDebug.cs:162
void SpawnCheatContainer()
Definition: CoreDebug.cs:837
static string Fix_RemoveDuplicateUnique()
Definition: CoreDebug.cs:1918
static string Fix_Awning()
Definition: CoreDebug.cs:1903
bool ignoreBuildRule
Definition: CoreDebug.cs:201
static string ChangeRace(string id="?")
Definition: CoreDebug.cs:2320
void BroadcastNext()
Definition: CoreDebug.cs:2535
bool hidePCItemsInBuild
Definition: CoreDebug.cs:225
Lang.LangCode langCode
Definition: CoreDebug.cs:130
bool randomResource
Definition: CoreDebug.cs:191
bool dontUseThread
Definition: CoreDebug.cs:138
StartScene startScene
Definition: CoreDebug.cs:112
static string RootSave
Definition: CorePath.cs:202
RectData abilityDebug
Definition: CoreRef.cs:173
Rects rects
Definition: CoreRef.cs:364
CoreRef refs
Definition: Core.cs:51
ModManager mods
Definition: Core.cs:39
Steam steam
Definition: Core.cs:57
bool IsGameStarted
Definition: Core.cs:87
void SetLang(string langCode, bool force=false)
Definition: Core.cs:714
Definition: DNA.cs:9
Type
Definition: DNA.cs:11
Definition: EClass.cs:6
static Game game
Definition: EClass.cs:9
static Scene scene
Definition: EClass.cs:31
static Faction Home
Definition: EClass.cs:27
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 SourceManager sources
Definition: EClass.cs:43
static FactionBranch Branch
Definition: EClass.cs:23
static BaseGameScreen screen
Definition: EClass.cs:33
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
static UI ui
Definition: EClass.cs:17
Definition: EInput.cs:8
static bool isCtrlDown
Definition: EInput.cs:274
static void Consume(int _skipFrame)
Definition: EInput.cs:667
static bool isInputFieldActive
Definition: EInput.cs:288
static bool isShiftDown
Definition: EInput.cs:272
static EAction action
Definition: EInput.cs:270
static int rnd(int a)
Definition: EScriptable.cs:5
Dictionary< int, Element > dict
Element ModBase(int ele, int v)
Element SetBase(string alias, int v, int potential=0)
Element GetOrCreateElement(Element ele)
int id
Definition: ELEMENT.cs:259
int vBase
Definition: ELEMENT.cs:261
SourceElement.Row source
Definition: ELEMENT.cs:282
int vPotential
Definition: ELEMENT.cs:265
void ModExp(int a)
int GetNextExp(int _lv=-1)
List< Chara > members
void BanishMember(Chara c, bool skipMsg=false)
void AddMemeber(Chara c)
string name
Definition: FACTION.cs:135
void AddReserve(Chara c)
Definition: FACTION.cs:338
void AddContribution(int a)
Definition: FACTION.cs:318
Definition: Fov.cs:6
void AdvanceMin(int a)
Definition: GameDate.cs:24
void AdvanceHour()
Definition: GameDate.cs:92
HashSet< string > modified
void FixedUpdate()
Definition: GameUpdater.cs:444
bool cheat
Definition: Game.cs:55
Definition: Game.cs:9
ReligionManager religions
Definition: Game.cs:159
static void Load(string id, bool cloud)
Definition: Game.cs:322
GamePrincipal principal
Definition: Game.cs:225
static string id
Definition: Game.cs:148
bool Save(bool isAutoSave=false, bool silent=false)
Definition: Game.cs:1090
SpatialManager spatials
Definition: Game.cs:153
static void Create(string _id=null, bool cloud=false)
Definition: Game.cs:783
Prologue Prologue
Definition: Game.cs:264
CardManager cards
Definition: Game.cs:156
GameUpdater updater
Definition: Game.cs:250
new World world
Definition: Game.cs:177
Config config
Definition: Game.cs:219
QuestManager quests
Definition: Game.cs:183
void StartNewGame()
Definition: Game.cs:856
Definition: Guild.cs:2
static Guild GetCurrentGuild()
Definition: Guild.cs:74
void ResetHotbar(int id)
Definition: HotbarManager.cs:8
Definition: Lang.cs:7
static string langCode
Definition: Lang.cs:29
LangCode
Definition: Lang.cs:9
static LayerDrama ActivateMain(string idSheet, string idStep=null, Chara target=null, Card ref1=null, string tag="")
Definition: LayerDrama.cs:61
static void SetDirtyAll(bool immediate=false)
static SourceMaterial.Row GetRandomMaterial(int lv, string group=null, bool tryLevelMatTier=false)
Definition: MATERIAL.cs:56
static SourceMaterial.Row sourceWaterSea
Definition: MATERIAL.cs:49
Point GetCenterPos()
Definition: MapBounds.cs:52
static bool Exist(string id)
Definition: MapSubset.cs:17
static void Save(string id)
Definition: MapSubset.cs:22
new void ForeachCell(Action< Cell > action)
Definition: Map.cs:2526
Thing FindThing(Func< Thing, bool > func)
Definition: Map.cs:2792
PropsInstalled Installed
Definition: Map.cs:128
void SetLiquid(int x, int z, CellEffect effect=null)
Definition: Map.cs:1631
PropsRoaming Roaming
Definition: Map.cs:130
List< Thing > things
Definition: Map.cs:52
List< Chara > deadCharas
Definition: Map.cs:49
PropsStocked Stocked
Definition: Map.cs:126
List< Chara > charas
Definition: Map.cs:84
void AddDecal(int x, int z, int id, int amount=1, bool refresh=true)
Definition: Map.cs:2183
void RevealAll(bool reveal=true)
Definition: Map.cs:1011
Color main
Definition: MatColors.cs:7
Color alt
Definition: MatColors.cs:9
Material mat
Definition: MeshPass.cs:21
override void Init(string path, string defaultPackage="_Elona")
Definition: ModManager.cs:63
Definition: Msg.cs:5
static string SayRaw(string text)
Definition: Msg.cs:118
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
void RemoveMember(Chara c)
Definition: Party.cs:116
void AddMemeber(Chara c, bool showMsg=false)
Definition: Party.cs:71
int fishStolen
Definition: Player.cs:736
void OnEnableDebug()
Definition: Player.cs:775
bool statueShipped
Definition: Player.cs:460
int loytelMartLv
Definition: Player.cs:700
long eggHatched
Definition: Player.cs:201
int sistersDepart
Definition: Player.cs:123
long nefiaBeaten
Definition: Player.cs:153
int catDepart
Definition: Player.cs:126
long plow
Definition: Player.cs:213
long brush
Definition: Player.cs:189
long kimo
Definition: Player.cs:165
long clean
Definition: Player.cs:225
int angryCats
Definition: Player.cs:135
long shear
Definition: Player.cs:177
Flags flags
Definition: Player.cs:1164
RecipeManager recipes
Definition: Player.cs:1167
void ModFame(int a)
Definition: Player.cs:2192
void ModKarma(int a)
Definition: Player.cs:2636
void RefreshDomain()
Definition: Player.cs:1610
Stats stats
Definition: Player.cs:1086
Zone zone
Definition: Player.cs:1152
int little_dead
Definition: Player.cs:993
HashSet< int > doneBackers
Definition: Player.cs:1143
int CountKeyItem(string alias)
Definition: Player.cs:2266
void ModKeyItem(string alias, int num=1, bool msg=true)
Definition: Player.cs:2234
int unpaidBill
Definition: Player.cs:978
int little_saved
Definition: Player.cs:996
HotbarManager hotbars
Definition: Player.cs:1155
Chara TargetChara
Definition: PointTarget.cs:41
Definition: Point.cs:9
List< Card > ListCards(bool includeMasked=false)
Definition: Point.cs:1053
Point Copy()
Definition: Point.cs:487
CellDetail detail
Definition: Point.cs:67
int x
Definition: Point.cs:36
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false, int minRadius=0)
Definition: Point.cs:620
int z
Definition: Point.cs:39
bool IsValid
Definition: Point.cs:84
Area area
Definition: Point.cs:69
bool HasFloor
Definition: Point.cs:215
Chara FirstChara
Definition: Point.cs:284
Thing FirstThing
Definition: Point.cs:297
Cell cell
Definition: Point.cs:47
string idStartZone
Definition: Prologue.cs:9
void Validate()
Definition: Props.cs:451
PropSet all
Definition: Props.cs:8
Quest Add(string id, string idGlobalChara=null)
Definition: QuestManager.cs:29
Quest Start(string id, string idGlobalChara)
Definition: QuestManager.cs:41
Quest Get(string id)
Definition: Quest.cs:7
static List< RecipeSource > list
Dictionary< string, int > knownRecipes
Dictionary< string, Religion > dictAll
virtual void Talk(string idTalk, Card c=null, Card agent=null)
Definition: Religion.cs:175
Vector3 offset
Definition: RenderData.cs:19
static List< ISyncScreen > syncList
Definition: RenderObject.cs:24
Definition: Scene.cs:8
static Point HitPoint
Definition: Scene.cs:21
GameScreen screenElin
Definition: Scene.cs:93
ActionMode actionMode
Definition: Scene.cs:79
MeshPass[] passes
Definition: Scene.cs:121
PointTarget mouseTarget
Definition: Scene.cs:135
void Init(Mode newMode)
Definition: Scene.cs:178
Mode
Definition: Scene.cs:10
void Next()
Definition: Season.cs:106
SourceMaterial materials
SourceRace races
SourceObj objs
SourceThing things
SourceZone zones
void ImportSourceTexts()
SourceBacker backers
SourceElement elements
SourceChara charas
SourceJob jobs
float height
Definition: SourcePref.cs:53
Zone Find(string id)
int uid
Definition: Spatial.cs:70
Spatial parent
Definition: Spatial.cs:10
virtual string Name
Definition: Spatial.cs:509
Faction mainFaction
Definition: Spatial.cs:442
string id
Definition: Spatial.cs:13
int development
Definition: Spatial.cs:238
virtual Point RegionPos
Definition: Spatial.cs:560
List< Spatial > children
Definition: Spatial.cs:37
static SpawnSetting Boss(int filterLv, int fixedLv=-1)
Definition: SpawnSetting.cs:49
virtual int max
Definition: Stats.cs:68
Definition: Steam.cs:12
SteamworksBehaviour steamworks
Definition: Steam.cs:15
static void GetAchievement(ID_Achievement id)
Definition: Steam.cs:53
static void ResetAchievement(ID_Achievement id)
Definition: Steam.cs:101
static void ResetAllAchievement()
Definition: Steam.cs:92
void CheckUpdate()
Definition: Steam.cs:34
Thing Find(int uid)
void Foreach(Action< Thing > action, bool onlyAccessible=true)
static Thing CreateBlock(int id, int idMat)
Definition: ThingGen.cs:101
static Thing CreateRedBook(string id, int num=1)
Definition: ThingGen.cs:175
static Thing TestCreate()
Definition: ThingGen.cs:32
static Thing CreateFloor(int id, int idMat, bool platform=false)
Definition: ThingGen.cs:108
static Thing CreateFromCategory(string idCat, int lv=-1)
Definition: ThingGen.cs:75
static Thing CreateScroll(int ele, int num=1)
Definition: ThingGen.cs:190
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
SourceThing.Row source
Definition: Thing.cs:11
override SourcePref Pref
Definition: Thing.cs:50
bool MoveZone(bool confirmed=false)
static Thing MakeSeed(string idSource)
Definition: TraitSeed.cs:105
static Thing MakeRandomSeed(bool enc=false)
Definition: TraitSeed.cs:97
override bool OnUse(Chara c)
virtual bool CanStack
Definition: Trait.cs:163
bool TryGetValue(TKey key, out TValue value)
Definition: UDictionary.cs:178
static void TryShowTip(Transform root=null, bool highlight=true, bool ignoreWhenRightClick=true)
Definition: UIButton.cs:778
void SetCondition(Condition condition, int _duration=20, bool silent=false)
Definition: Weather.cs:308
Condition
Definition: Weather.cs:16
Condition CurrentCondition
Definition: Weather.cs:79
void SetRandomCondition()
Definition: Weather.cs:295
static void OnChangeBodyPart()
Definition: WidgetEquip.cs:53
void Nerun(string text, string idPortrait="UN_nerun")
Definition: WidgetFeed.cs:93
static WidgetFeed Instance
Definition: WidgetFeed.cs:14
void RebuildPage(int page=-1)
static WidgetHotbar HotbarBuild
Definition: WidgetHotbar.cs:36
static void OnChangeMode()
static WidgetMinimap Instance
Region region
Definition: World.cs:23
GameDate date
Definition: World.cs:6
void ModEther(int a=3)
Definition: World.cs:58
Weather weather
Definition: World.cs:12
int ether
Definition: World.cs:21
Season season
Definition: World.cs:9
void Add(ZoneEvent e, bool allowDuplicate=false)
void Remove(ZoneEvent e)
Definition: Zone.cs:12
Dictionary< int, string > dictCitizen
Definition: Zone.cs:55
ZoneEventManager events
Definition: Zone.cs:43
void ImportDialog(string dir=null)
Definition: Zone.cs:3531
void ClaimZone(bool debug=false, Point pos=null)
Definition: Zone.cs:1888
Card AddThing(string id, int x, int z)
Definition: Zone.cs:2149
ElementContainerZone elements
Definition: Zone.cs:46
void ExportDialog(string dir=null)
Definition: Zone.cs:3518
virtual bool CanUnlockExit
Definition: Zone.cs:284
MapBounds bounds
Definition: Zone.cs:52
Chara SpawnMob(string id, Point pos=null)
Definition: Zone.cs:2988
void RemoveCard(Card t)
Definition: Zone.cs:2199
bool IsPCFaction
Definition: Zone.cs:480
void Export(string path, PartialMap partial=null, bool usermap=false)
Definition: Zone.cs:3477
Card AddCard(Card t, Point point)
Definition: Zone.cs:2159