Elin Decompiled Documentation EA 23.234 Nightly
Loading...
Searching...
No Matches
Game Class Reference
Inheritance diagram for Game:
EClass

Classes

class  Config
 
class  Flags
 

Public Member Functions

void OnUpdate ()
 
void OnLoad ()
 
void OnGameInstantiated ()
 
void _Create ()
 
void StartNewGame ()
 
void AddAdventurers ()
 
void AddAdventurer (string id, Zone z=null)
 
void GotoTitle (bool showDialog=true)
 
void Quit ()
 
bool Save (bool isAutoSave=false, bool silent=false)
 
void OnBeforeSave ()
 
void Kill ()
 
void Pause (Action onUnpause=null)
 

Static Public Member Functions

static new void Wait (float a, Point p)
 
static new void Wait (float a, Card c)
 
static void Wait (float a)
 
static bool TryLoad (string id, bool cloud, Action onLoad)
 
static void Load (string id, bool cloud)
 
static void Create (string _id=null, bool cloud=false)
 
static void OnBeforeInstantiate ()
 
- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
static int rnd (int a)
 
static int curve (int a, int start, int step, int rate=75)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 

Public Attributes

SpatialManager spatials = new SpatialManager()
 
CardManager cards = new CardManager()
 
ReligionManager religions = new ReligionManager()
 
FactionManager factions = new FactionManager()
 
DomainManager domains = new DomainManager()
 
Version version
 
Version startVersion
 
PartyManager parties = new PartyManager()
 
new World world
 
new Player player = new Player()
 
QuestManager quests = new QuestManager()
 
RelationManager relations = new RelationManager()
 
MsgLog log
 
PCCUniformManager uniforms = new PCCUniformManager()
 
TeleportManager teleports = new TeleportManager()
 
int seed
 
int idPrologue
 
int idDifficulty
 
int dateScratch
 
double backupTime
 
Flags flags = new Flags()
 
Config config = new Config()
 
List< ThinglostThings = new List<Thing>()
 
GamePrincipal principal = new GamePrincipal()
 
SurvivalManager survival
 
int gameSpeedIndex = 1
 
int lastGameSpeedIndex = 1
 
int sessionMin
 
int countLoadedMaps
 
int saveCount
 
float timeSinceStart
 
bool isLoading
 
bool isKilling
 
bool isCloud
 
GameBlueprint bp
 
GameUpdater updater = new GameUpdater()
 
Zone activeZone
 
Zone lastActiveZone
 
Dictionary< string, IGlobalValuereferenceMap = new Dictionary<string, IGlobalValue>()
 
HashSet< Texture2D > loadedTextures = new HashSet<Texture2D>()
 

Static Public Attributes

static Game Instance
 
static float waitTimer
 
static string id
 
static bool isPaused
 
- Static Public Attributes inherited from EClass
static Core core
 

Properties

static bool IsWaiting [get]
 
Prologue Prologue [get]
 
bool UseGrid [get]
 
bool altUI [get]
 
bool altInv [get]
 
bool altCraft [get]
 
bool altAbility [get]
 
bool IsSurvival [get]
 
Zone StartZone [get]
 
- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Private Member Functions

void OnSerializing (StreamingContext context)
 
void OnDeserializing (StreamingContext context)
 

Private Attributes

float welcomeTimer
 

Detailed Description

Definition at line 7 of file Game.cs.

Member Function Documentation

◆ _Create()

void Game._Create ( )
inline

Definition at line 764 of file Game.cs.

765 {
766 principal = IO.DeepCopy(EClass.setting.start.principals[0]);
767 idDifficulty = 1;
768 config.snapFreePos = (config.slope = (config.autoWall = true));
769 config.autoCombat.abortOnAllyDead = true;
770 config.autoCombat.abortOnHalfHP = true;
771 config.autoCombat.bUseHotBar = true;
772 config.autoCombat.bUseInventory = true;
773 config.autoCombat.bDontChangeTarget = true;
774 config.autoCombat.abortOnKill = true;
775 config.autoCombat.abortOnItemLoss = true;
776 seed = EClass.rnd(10000);
777 Debug.Log("creating game: " + id + " seed:" + seed);
779 uniforms.Import();
784 foreach (Spatial value in spatials.map.Values)
785 {
786 value.SetMainFaction(factions.Find(value.source.faction.IsEmpty("wilds")));
787 }
789 cards.container_shipping = ThingGen.Create("container_shipping");
790 cards.container_deliver = ThingGen.Create("container_delivery");
791 cards.container_deposit = ThingGen.Create("container_deposit");
792 bp = new GameBlueprint();
793 bp.Create();
794 }
Version version
Definition: BaseCore.cs:17
void OnCreateGame()
Definition: DomainManager.cs:7
Definition: EClass.cs:5
static Core core
Definition: EClass.cs:6
static int rnd(long a)
Definition: EClass.cs:58
static GameSetting setting
Definition: EClass.cs:34
Faction Find(string id)
List< GamePrincipal > principals
Definition: GameSetting.cs:244
StartSetting start
Definition: GameSetting.cs:305
GameBlueprint bp
Definition: Game.cs:247
new Player player
Definition: Game.cs:179
ReligionManager religions
Definition: Game.cs:158
GamePrincipal principal
Definition: Game.cs:224
DomainManager domains
Definition: Game.cs:164
SpatialManager spatials
Definition: Game.cs:152
PCCUniformManager uniforms
Definition: Game.cs:194
Version startVersion
Definition: Game.cs:170
new World world
Definition: Game.cs:176
int idDifficulty
Definition: Game.cs:206
int seed
Definition: Game.cs:200
FactionManager factions
Definition: Game.cs:161
Definition: IO.cs:11
void OnCreateGame()
Definition: Player.cs:1348
static Spatial CreateRecursive(string id, Spatial parent=null)
Definition: SpatialGen.cs:3
GlobalSpatialList map
SourceZone.Row source
Definition: Spatial.cs:453
virtual void SetMainFaction(Faction f)
Definition: Spatial.cs:646
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: World.cs:4

References EClass.core, ZoneBlueprint.Create(), ThingGen.Create(), SpatialGen.CreateRecursive(), Debug, FactionManager.Find(), SpatialManager.map, DomainManager.OnCreateGame(), FactionManager.OnCreateGame(), Player.OnCreateGame(), ReligionManager.OnCreateGame(), GameSetting.StartSetting.principals, EClass.rnd(), seed, Spatial.SetMainFaction(), EClass.setting, Spatial.source, GameSetting.start, BaseCore.version, and world.

Referenced by Create().

◆ AddAdventurer()

void Game.AddAdventurer ( string  id,
Zone  z = null 
)
inline

Definition at line 978 of file Game.cs.

979 {
980 if (z == null)
981 {
982 List<Zone> source = world.region.ListTowns();
983 do
984 {
985 z = source.RandomItem();
986 }
987 while ((z is Zone_SubTown && EClass.rnd(5) != 0) || z == EClass.pc.currentZone);
988 }
989 Chara chara = CharaGen.Create(id);
990 chara.SetHomeZone(z);
991 chara.global.transition = new ZoneTransition
992 {
993 state = ZoneTransition.EnterState.RandomVisit
994 };
995 z.AddCard(chara);
996 cards.listAdv.Add(chara);
997 }
List< Chara > listAdv
Definition: CardManager.cs:64
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
Definition: Chara.cs:10
Chara SetHomeZone(Zone zone)
Definition: Chara.cs:1427
Zone currentZone
Definition: Chara.cs:255
static Chara pc
Definition: EClass.cs:14
CardManager cards
Definition: Game.cs:155
List< Zone > ListTowns()
Definition: Region.cs:270
Region region
Definition: World.cs:23
Card AddCard(Card t, Point point)
Definition: Zone.cs:1959

References CharaGen.Create(), Chara.currentZone, CardManager.listAdv, EClass.pc, EClass.rnd(), Chara.SetHomeZone(), and world.

◆ AddAdventurers()

void Game.AddAdventurers ( )
inline

Definition at line 951 of file Game.cs.

952 {
953 List<Zone> source = world.region.ListTowns();
954 string[] array = new string[7] { "adv_kiria", "adv_gaki", "adv_wini", "adv_verna", "adv_ivory", "adv_mesherada", "adv_yukiimo" };
955 for (int i = 0; i < EClass.setting.balance.numAdv; i++)
956 {
957 Zone zone = source.RandomItem();
958 if (zone is Zone_SubTown && EClass.rnd(5) != 0)
959 {
960 i--;
961 continue;
962 }
963 if (i >= array.Length && i < array.Length + 2)
964 {
966 }
967 Chara chara = CharaGen.Create((i < array.Length) ? array[i] : ((EClass.rnd(10) == 0) ? "adv_fairy" : "adv"));
968 chara.SetHomeZone(zone);
969 chara.global.transition = new ZoneTransition
970 {
971 state = ZoneTransition.EnterState.RandomVisit
972 };
973 zone.AddCard(chara);
974 cards.listAdv.Add(chara);
975 }
976 }
static void Set(CardBlueprint _bp=null)
static CardBlueprint Chara(int lv, Rarity rarity=Rarity.Normal)
BalanceSetting balance
Definition: GameSetting.cs:309
Definition: Zone.cs:12

References Zone.AddCard(), GameSetting.balance, CardBlueprint.Chara(), CharaGen.Create(), CardManager.listAdv, GameSetting.BalanceSetting.numAdv, EClass.rnd(), CardBlueprint.Set(), Chara.SetHomeZone(), EClass.setting, and world.

Referenced by OnLoad().

◆ Create()

static void Game.Create ( string  _id = null,
bool  cloud = false 
)
inlinestatic

Definition at line 722 of file Game.cs.

723 {
724 id = _id ?? GameIO.GetNewId(cloud ? CorePath.RootSaveCloud : CorePath.RootSave, "world_");
726 EClass.core.game = (Instance = new Game());
727 EClass.core.game.isCloud = cloud;
731 }
static string RootSave
Definition: CorePath.cs:206
static string RootSaveCloud
Definition: CorePath.cs:208
Game game
Definition: Core.cs:72
Definition: GameIO.cs:10
static string GetNewId(string path, string prefix="", int start=1)
Definition: GameIO.cs:342
static void ResetTemp()
Definition: GameIO.cs:41
Definition: Game.cs:8
void _Create()
Definition: Game.cs:764
static void OnBeforeInstantiate()
Definition: Game.cs:733
static Game Instance
Definition: Game.cs:143
void OnGameInstantiated()
Definition: Game.cs:738

References _Create(), EClass.core, Core.game, GameIO.GetNewId(), OnGameInstantiated(), GameIO.ResetTemp(), CorePath.RootSave, and CorePath.RootSaveCloud.

Referenced by LayerEditBio.OnAfterAddLayer(), LayerEmbark.OnAfterAddLayer(), and CoreDebug.QuickStart().

◆ GotoTitle()

void Game.GotoTitle ( bool  showDialog = true)
inline

Definition at line 999 of file Game.cs.

1000 {
1001 if (showDialog)
1002 {
1003 Dialog.YesNo("dialog_gotoTitle", delegate
1004 {
1005 if (EClass.game.Save(isAutoSave: true))
1006 {
1007 EClass.scene.Init(Scene.Mode.Title);
1008 }
1009 });
1010 }
1011 else
1012 {
1013 EClass.scene.Init(Scene.Mode.Title);
1014 }
1015 }
Definition: Dialog.cs:7
static Dialog YesNo(string langDetail, Action actionYes, Action actionNo=null, string langYes="yes", string langNo="no")
Definition: Dialog.cs:244
static Game game
Definition: EClass.cs:8
static Scene scene
Definition: EClass.cs:30
bool Save(bool isAutoSave=false, bool silent=false)
Definition: Game.cs:1028
Definition: Scene.cs:8
void Init(Mode newMode)
Definition: Scene.cs:178
Mode
Definition: Scene.cs:10

References EClass.game, Scene.Init(), Save(), EClass.scene, and Dialog.YesNo().

Referenced by LayerPauseMenu.OnClickTitle(), and HotItemContext.Show().

◆ Kill()

void Game.Kill ( )
inline

Definition at line 1098 of file Game.cs.

1099 {
1100 isKilling = true;
1101 Debug.Log("Killing Game: IsStarted? " + EClass.core.IsGameStarted);
1103 {
1104 EClass.ui.OnKillGame();
1107 }
1108 EClass.core.game = (Instance = null);
1109 EClass.Sound.currentPlaylist = null;
1110 Window.dictTab.Clear();
1111 foreach (Texture2D loadedTexture in loadedTextures)
1112 {
1113 if (loadedTexture != null)
1114 {
1115 UnityEngine.Object.Destroy(loadedTexture);
1116 }
1117 }
1118 }
bool IsGameStarted
Definition: Core.cs:84
static UI ui
Definition: EClass.cs:16
HashSet< Texture2D > loadedTextures
Definition: Game.cs:257
Zone activeZone
Definition: Game.cs:251
bool isKilling
Definition: Game.cs:243
void OnKillGame()
Definition: Scene.cs:341
Definition: Window.cs:13
static Dictionary< string, int > dictTab
Definition: Window.cs:596
void OnKillGame()
Definition: Zone.cs:1680

References EClass.core, Debug, Window.dictTab, Core.IsGameStarted, Scene.OnKillGame(), Zone.OnKillGame(), EClass.scene, and EClass.ui.

Referenced by Scene.Init(), Load(), and Core.SetLang().

◆ Load()

static void Game.Load ( string  id,
bool  cloud 
)
inlinestatic

Definition at line 321 of file Game.cs.

322 {
323 string text = (cloud ? CorePath.RootSaveCloud : CorePath.RootSave) + id;
324 Debug.Log("Loading: " + id + ": " + text);
325 if (EClass.game != null)
326 {
327 EClass.game.Kill();
328 }
330 EClass.core.game = GameIO.LoadGame(id, text, cloud);
331 EClass.game.isCloud = cloud;
332 EClass.game.isLoading = true;
336 EClass.scene.Init(Scene.Mode.StartGame);
337 if (EClass.game.altInv)
338 {
339 SoundManager.ignoreSounds = true;
341 {
342 EClass.ui.OpenFloatInv();
343 }
344 SoundManager.ignoreSounds = true;
346 {
347 EClass.ui.ToggleAbility();
348 }
349 SoundManager.ignoreSounds = false;
350 TooltipManager.Instance.HideTooltips(immediate: true);
351 }
352 if ((bool)WidgetSideScreen.Instance)
353 {
355 }
356 EClass.game.isLoading = false;
357 }
static void ClearTemp()
Definition: GameIO.cs:51
static Game LoadGame(string id, string root, bool cloud)
Definition: GameIO.cs:140
void Kill()
Definition: Game.cs:1098
bool altInv
Definition: Game.cs:269
void OnLoad()
Definition: Game.cs:359
bool layerAbility
Definition: Player.cs:35
bool layerInventory
Definition: Player.cs:33
Pref pref
Definition: Player.cs:1013
static TooltipManager Instance
void HideTooltips(bool immediate=false)
static WidgetSideScreen Instance
override void OnChangeResolution()

References altInv, GameIO.ClearTemp(), Debug, EClass.game, TooltipManager.HideTooltips(), Scene.Init(), TooltipManager.Instance, WidgetSideScreen.Instance, Kill(), Player.Pref.layerAbility, Player.Pref.layerInventory, GameIO.LoadGame(), OnBeforeInstantiate(), WidgetSideScreen.OnChangeResolution(), OnGameInstantiated(), OnLoad(), player, Player.pref, CorePath.RootSave, EClass.scene, and EClass.ui.

Referenced by AM_Adv._OnUpdateInput(), Map.Reload(), and CoreDebug.UpdateInput().

◆ OnBeforeInstantiate()

static void Game.OnBeforeInstantiate ( )
inlinestatic

Definition at line 733 of file Game.cs.

734 {
735 Player.seedHallucination = 0;
736 }

Referenced by Load().

◆ OnBeforeSave()

void Game.OnBeforeSave ( )
inline

Definition at line 1084 of file Game.cs.

1085 {
1086 foreach (Zone zone in spatials.Zones)
1087 {
1088 zone.OnBeforeSave();
1089 }
1091 foreach (Spatial item in spatials.listDestryoed)
1092 {
1093 item.DeleteMapRecursive();
1094 }
1095 spatials.listDestryoed.Clear();
1096 }
void OnBeforeSave()
Definition: Player.cs:1456
List< Zone > Zones
List< Spatial > listDestryoed
void OnBeforeSave()
Definition: Spatial.cs:668

References item, SpatialManager.listDestryoed, Player.OnBeforeSave(), Spatial.OnBeforeSave(), and SpatialManager.Zones.

◆ OnDeserializing()

void Game.OnDeserializing ( StreamingContext  context)
inlineprivate

Definition at line 1145 of file Game.cs.

1146 {
1147 Debug.Log("#io game OnDeserializing");
1148 Instance = this;
1149 }

References Debug.

◆ OnGameInstantiated()

void Game.OnGameInstantiated ( )
inline

Definition at line 738 of file Game.cs.

739 {
740 HotItemHeld.taskBuild = null;
741 InvOwner.Trader = (InvOwner.Main = null);
742 LayerDrama.currentQuest = null;
743 BookList.Init();
744 ContentGallery.lastPage = 0;
745 ContentGallery.listMode = false;
746 if (!Application.isEditor || !EClass.debug.enable)
747 {
749 }
750 foreach (Chara value in cards.globalCharas.Values)
751 {
752 if (value.uid == player.uidChara)
753 {
754 player.chara = value;
755 break;
756 }
757 }
759 EClass.ui.widgets.OnGameInstantiated();
760 EClass.Sound.ResetPlaylist();
761 EClass.core.config.ApplyFPS(force: true);
762 }
static void OnGameInstantiated()
Definition: ActionMode.cs:247
static void Init()
Definition: BookList.cs:22
GlobalCharaList globalCharas
Definition: CardManager.cs:46
int uid
Definition: Card.cs:122
void ApplyFPS(bool force=false)
Definition: CoreConfig.cs:841
bool enable
Definition: CoreDebug.cs:286
CoreConfig config
Definition: Core.cs:70
static CoreDebug debug
Definition: EClass.cs:48
static SoundManager Sound
Definition: EClass.cs:46
int uidChara
Definition: Player.cs:869
static void BuildList()

References CoreConfig.ApplyFPS(), RecipeManager.BuildList(), Core.config, EClass.core, EClass.debug, CoreDebug.enable, CardManager.globalCharas, BookList.Init(), ActionMode.OnGameInstantiated(), EClass.Sound, EClass.ui, Card.uid, and Player.uidChara.

Referenced by Create(), and Load().

◆ OnLoad()

void Game.OnLoad ( )
inline

Definition at line 359 of file Game.cs.

360 {
361 domains.OnLoad();
364 world._OnLoad();
365 player.OnLoad();
367 {
368 EClass.pc.party.members.ForEach(delegate(Chara c)
369 {
370 c.currentZone = EClass.pc.homeZone;
371 c.global.transition = new ZoneTransition
372 {
373 state = ZoneTransition.EnterState.Return
374 };
375 });
376 }
377 player.zone = EClass.pc.currentZone;
378 EClass.pc.currentZone.lastActive = world.date.GetRaw();
379 if (spatials.Find("somewhere") == null)
380 {
381 SpatialGen.Create("somewhere", world.region, register: true);
382 }
383 EClass.pc.homeZone.isKnown = true;
386 foreach (Thing item in EClass.pc.things.List((Thing t) => t.Num <= 0 || t.isDestroyed))
387 {
388 item.parent.RemoveCard(item);
389 }
390 foreach (Thing item2 in EClass.pc.things.List((Thing t) => t.trait is TraitChestMerchant))
391 {
392 item2.Destroy();
393 }
394 foreach (Thing item3 in EClass.pc.things.List((Thing t) => t.invY == 1 && t.invX == -1))
395 {
396 item3.invY = 0;
397 }
398 foreach (Chara value in EClass.game.cards.globalCharas.Values)
399 {
400 if (value.id == "demitas" && value.faction.id == "wilds")
401 {
403 }
404 if (value.memberType == FactionMemberType.Livestock && !value.IsPCFaction)
405 {
406 value.memberType = FactionMemberType.Default;
407 }
408 if (!value.isDyed && value.HasTag(CTAG.random_color))
409 {
410 value.DyeRandom();
411 }
412 }
413 foreach (FactionBranch child in EClass.pc.faction.GetChildren())
414 {
415 foreach (Chara member in child.members)
416 {
417 if (!member.isDead && (member.currentZone == null || member.currentZone.id == "somewhere"))
418 {
419 Debug.Log("exception: Moving invalid chara: " + member.Name + "/" + member.currentZone?.ToString() + "/" + member.homeBranch?.ToString() + "/" + member.faction);
420 member.MoveZone(child.owner, ZoneTransition.EnterState.RandomVisit);
421 }
422 member.RefreshWorkElements(child.owner.elements);
423 member.Refresh();
424 }
425 }
426 EClass.pc.angle = player.angle;
428 if (cards.listAdv.Count == 0)
429 {
431 }
432 quests.list.ForeachReverse(delegate(Quest q)
433 {
434 if (!(q is QuestRandom))
435 {
436 foreach (Quest item4 in quests.list)
437 {
438 if (q != item4 && item4.id == q.id)
439 {
440 quests.list.Remove(item4);
441 break;
442 }
443 }
444 }
445 });
446 quests.globalList.ForeachReverse(delegate(Quest q)
447 {
448 if (!(q is QuestRandom))
449 {
450 foreach (Quest global in quests.globalList)
451 {
452 if (q != global && global.id == q.id)
453 {
454 quests.globalList.Remove(global);
455 break;
456 }
457 }
458 }
459 });
460 TryAddQuest("into_darkness", "exile_kettle");
461 if (version.IsBelow(0, 23, 221) && EClass.game.quests.IsCompleted("curry"))
462 {
464 }
465 if (version.IsBelow(0, 23, 185))
466 {
467 player.resetPrincipal = true;
468 }
469 if (version.IsBelow(0, 23, 182))
470 {
471 foreach (Chara value2 in cards.globalCharas.Values)
472 {
473 if (!value2.IsUnique && value2.c_lockedAge != 0)
474 {
475 value2.elements.SetBase(1243, 1);
476 }
477 }
478 }
479 if (version.IsBelow(0, 23, 155))
480 {
481 AddAdventurer("adv_yukiimo");
482 }
483 if (version.IsBelow(0, 23, 100))
484 {
485 int num = player.recipes.knownRecipes.TryGetValue("trainingDummy_heavy", 0);
486 if (num != 0)
487 {
488 player.recipes.knownRecipes["trainingDummy_heavy1"] = num;
489 }
490 }
491 if (version.IsBelow(0, 23, 96))
492 {
493 EClass.game.principal = IO.DeepCopy(EClass.setting.start.principals[0]);
494 }
496 {
498 EClass.game.principal.id = -1;
499 EClass.game.principal.permadeath = gameDifficultySetting.deleteGameOnDeath;
500 EClass.game.principal.disableManualSave = !gameDifficultySetting.allowManualSave;
501 EClass.core.actionsNextFrame.Add(delegate
502 {
503 EClass.ui.AddLayer<LayerWorldSetting>();
504 });
505 }
506 if (version.IsBelow(0, 23, 93))
507 {
509 Debug.Log("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■feafefaeffaeaffeaaeaefseasfaefaef");
510 while (TryAddRecipe())
511 {
512 }
513 }
514 if (version.IsBelow(0, 23, 72))
515 {
516 foreach (Chara value3 in EClass.game.cards.globalCharas.Values)
517 {
518 if (!value3.isDead)
519 {
520 value3.c_wasInPcParty = false;
521 }
522 }
523 }
524 if (version.IsBelow(0, 23, 59))
525 {
526 while (TryDestroy())
527 {
528 }
529 }
530 if (version.IsBelow(0, 23, 199) && EClass.game.quests.GetPhase<QuestNegotiationDarkness>() >= 3)
531 {
532 world.SendPackage(ThingGen.CreateParcel(null, ThingGen.Create("bone_duponne")));
533 }
534 if (version.IsBelow(0, 23, 195))
535 {
536 Zone zone = spatials.Find("startVillage2");
537 if (zone != null && zone.visitCount > 0)
538 {
540 }
541 }
542 if (version.IsBelow(0, 23, 52))
543 {
544 player.flags.toggleHotbarHighlightActivated = true;
545 }
546 if (version.IsBelow(0, 23, 51))
547 {
548 foreach (Chara value4 in EClass.game.cards.globalCharas.Values)
549 {
550 if (!(value4.id != "adv") && value4.IsPCFaction)
551 {
552 value4.idSkin = value4.uid % (value4.source._tiles.Length - 4) / 2 * 2 + ((!value4.IsMale) ? 1 : 0);
553 }
554 }
555 }
556 if (version.IsBelow(0, 22, 91))
557 {
558 TryAddQuestIfActive("demitas_spellwriter", "into_darkness");
559 }
560 if (version.IsBelow(0, 22, 86))
561 {
562 Chara chara = cards.globalCharas.Find("demitas");
563 if (chara != null && chara._works != null && chara._works.Count > 0)
564 {
565 chara._works[0] = 51;
566 }
567 }
568 if (version.IsBelow(0, 22, 86))
569 {
570 TryAddQuest("farris_tulip", "greatDebt");
571 }
572 if (version.IsBelow(0, 22, 86))
573 {
574 TryAddQuest("exile_whisper", "exile_kettle");
575 }
576 if (version.IsBelow(0, 22, 85))
577 {
578 TryAddQuest("exile_meet", "pre_debt");
579 }
580 if (version.IsBelow(0, 22, 60) && EClass.game.quests.Get<QuestDebt>() != null)
581 {
582 Chara chara2 = cards.globalCharas.Find("loytel");
583 Debug.Log("Loytelfix: " + chara2.homeZone);
584 if (chara2.homeZone == null || !chara2.homeZone.IsPCFaction)
585 {
587 chara2.homeZone = EClass.pc.homeBranch.owner;
588 chara2.RemoveEditorTag(EditorTag.Invulnerable);
589 }
590 }
591 if (version.IsBelow(0, 22, 52) && quests.completedIDs.Contains("vernis_gold"))
592 {
593 quests.Add("pre_debt", "farris");
594 }
595 if (quests.completedIDs.Contains("farris_tulip"))
596 {
597 quests.globalList.ForeachReverse(delegate(Quest q)
598 {
599 if (q.id == "farris_tulip")
600 {
601 quests.globalList.Remove(q);
602 }
603 });
604 }
605 quests.list.ForeachReverse(delegate(Quest q)
606 {
607 if (q is QuestDialog && quests.completedIDs.Contains(q.id))
608 {
609 quests.list.Remove(q);
610 }
611 });
612 if (version.IsBelow(0, 22, 20))
613 {
614 foreach (Chara value5 in cards.globalCharas.Values)
615 {
616 value5.SetBool(18, enable: false);
617 }
618 }
619 if (version.IsBelow(0, 22, 22))
620 {
621 if (EClass.pc.faithElements != null)
622 {
624 }
625 foreach (Element item5 in EClass.pc.elements.ListElements((Element e) => e.source.categorySub == "god"))
626 {
627 EClass.pc.SetFeat(item5.id, 0);
628 }
630 }
631 if (version.IsBelow(0, 22, 45))
632 {
633 player.debt = 20000000;
634 }
636 {
638 }
639 if (cards.container_deposit == null)
640 {
641 cards.container_deposit = ThingGen.Create("container_deposit");
642 if (player.bankMoney > 0)
643 {
645 }
646 }
647 foreach (Quest item6 in quests.list)
648 {
649 if (item6 is QuestSequence && !EClass.sources.quests.map.ContainsKey(item6.idSource))
650 {
651 item6.phase = 0;
652 }
653 }
654 foreach (Quest global2 in quests.globalList)
655 {
656 if (global2 is QuestSequence && !EClass.sources.quests.map.ContainsKey(global2.idSource))
657 {
658 global2.phase = 0;
659 }
660 }
661 void TryAddQuest(string idQuest, string idReqQuest)
662 {
663 if (quests.completedIDs.Contains(idReqQuest) && !quests.completedIDs.Contains(idQuest) && quests.GetGlobal(idQuest) == null && quests.Get(idQuest) == null)
664 {
665 quests.Add(idQuest);
666 }
667 }
668 void TryAddQuestIfActive(string idQuest, string idReqQuest)
669 {
670 if (quests.Get(idReqQuest) != null && !quests.completedIDs.Contains(idQuest) && quests.GetGlobal(idQuest) == null && quests.Get(idQuest) == null)
671 {
672 quests.Add(idQuest);
673 }
674 }
675 bool TryAddRecipe()
676 {
677 foreach (string key in player.recipes.knownRecipes.Keys)
678 {
679 if (key.Length > 1 && key[0] == 'b')
680 {
681 RecipeSource recipeSource = RecipeManager.Get(key + "-p");
682 if (recipeSource != null && !player.recipes.knownRecipes.ContainsKey(recipeSource.id))
683 {
684 Debug.Log(recipeSource.id);
685 player.recipes.Add(recipeSource.id, showEffect: false);
686 return true;
687 }
688 recipeSource = RecipeManager.Get(key.Replace("-p", ""));
689 if (recipeSource != null && !player.recipes.knownRecipes.ContainsKey(recipeSource.id))
690 {
691 Debug.Log(recipeSource.id);
692 player.recipes.Add(recipeSource.id, showEffect: false);
693 return true;
694 }
695 }
696 }
697 return false;
698 }
699 static bool TryDestroy()
700 {
701 for (int i = 0; i < EClass.pc.party.members.Count; i++)
702 {
703 Chara chara3 = EClass.pc.party.members[i];
704 Debug.Log(chara3.id + "/" + chara3.uid + "/" + chara3._cints[1]);
705 for (int j = 0; j < EClass.pc.party.members.Count; j++)
706 {
707 Chara chara4 = EClass.pc.party.members[j];
708 if (i != j && chara3.uid == chara4.uid)
709 {
710 EClass.pc.party.uidMembers.RemoveAt(j);
711 EClass.pc.party.members.RemoveAt(j);
712 chara4.Destroy();
713 Debug.Log("Destroyed");
714 return true;
715 }
716 }
717 }
718 return false;
719 }
720 }
CTAG
Definition: CTAG.cs:2
EditorTag
Definition: EditorTag.cs:2
FactionMemberType
void SetBool(int id, bool enable)
Definition: BaseCard.cs:20
List< Action > actionsNextFrame
Definition: BaseCore.cs:31
Chara Find(string id)
Definition: CardManager.cs:20
Thing container_deposit
Definition: CardManager.cs:58
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:5954
Trait trait
Definition: Card.cs:53
bool isDyed
Definition: Card.cs:458
void Destroy()
Definition: Card.cs:5051
ThingContainer things
Definition: Card.cs:38
int invX
Definition: Card.cs:1931
Thing Add(string id, int num=1, int lv=1)
Definition: Card.cs:3066
int Num
Definition: Card.cs:158
void Refresh(bool calledRecursive=false)
Definition: Chara.cs:1722
int[] _cints
Definition: Chara.cs:82
void RefreshWorkElements(ElementContainer parent=null)
Definition: Chara.cs:8859
Faction faction
Definition: Chara.cs:427
void SetFeat(int id, int value=1, bool msg=false)
Definition: Chara.cs:9724
Party party
Definition: Chara.cs:43
override bool IsPCFaction
Definition: Chara.cs:671
FactionMemberType memberType
Definition: Chara.cs:46
Zone homeZone
Definition: Chara.cs:267
void RefreshFaithElement()
Definition: Chara.cs:10039
ElementContainer faithElements
Definition: Chara.cs:38
FactionBranch homeBranch
Definition: Chara.cs:1066
bool isDead
Definition: Chara.cs:389
List< int > _works
Definition: Chara.cs:52
void MoveZone(string alias)
Definition: Chara.cs:3307
void OnLoad()
Definition: CoreDebug.cs:706
int GetRaw(int offsetHours=0)
Definition: Date.cs:322
static SourceManager sources
Definition: EClass.cs:42
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)
List< FactionBranch > GetChildren()
Definition: FACTION.cs:202
string id
Definition: FACTION.cs:129
List< GameDifficultySetting > difficulties
Definition: GameSetting.cs:242
void AddAdventurers()
Definition: Game.cs:951
void AddAdventurer(string id, Zone z=null)
Definition: Game.cs:978
QuestManager quests
Definition: Game.cs:182
Version version
Definition: Game.cs:167
List< int > uidMembers
Definition: Party.cs:12
List< Chara > members
Definition: Party.cs:19
RecipeManager recipes
Definition: Player.cs:1097
float angle
Definition: Player.cs:971
bool resetPrincipal
Definition: Player.cs:1177
void OnLoad()
Definition: Player.cs:1432
int bankMoney
Definition: Player.cs:914
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)
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
static RecipeSource Get(string id)
Dictionary< string, int > knownRecipes
void Add(string id, bool showEffect=true)
void OnVersionUpdate()
SourceQuest quests
static Spatial Create(string id, Spatial parent, bool register, int x=-99999, int y=-99999, int icon=0)
Definition: SpatialGen.cs:16
Zone Find(string id)
void _OnLoad()
Definition: Spatial.cs:677
bool destryoed
Definition: Spatial.cs:45
string id
Definition: Spatial.cs:13
int visitCount
Definition: Spatial.cs:154
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
Definition: Thing.cs:8
GameDate date
Definition: World.cs:6
void SendPackage(Thing p)
Definition: World.cs:68
override string ToString()
Definition: Zone.cs:549
ElementContainerZone elements
Definition: Zone.cs:43
bool IsPCFaction
Definition: Zone.cs:470
override bool Equals(object obj)
Definition: Version.cs:95
bool IsBelow(int _major, int _minor, int _batch)
Definition: Version.cs:31

References Spatial._OnLoad(), AddAdventurers(), FactionBranch.AddMemeber(), Player.angle, cards, ElementContainerCard.CheckSkillActions(), SpatialGen.Create(), Chara.currentZone, World.date, EClass.debug, Debug, Card.Destroy(), Spatial.destryoed, domains, Card.DyeRandom(), Card.elements, Zone.elements, Chara.faction, factions, SpatialManager.Find(), EClass.game, Faction.GetChildren(), Date.GetRaw(), CardManager.globalCharas, Card.HasTag(), Chara.homeBranch, Chara.homeZone, Card.id, Faction.id, Spatial.id, Card.invX, Card.invY, Chara.isDead, Card.isDestroyed, Card.isDyed, Chara.IsPCFaction, item, QuestManager.list, ThingContainer.List(), CardManager.listAdv, FactionBranch.members, Party.members, Chara.memberType, Chara.MoveZone(), Card.Name, Card.Num, CoreDebug.OnLoad(), DomainManager.OnLoad(), FactionManager.OnLoad(), Player.OnLoad(), ReligionManager.OnLoad(), FactionBranch.owner, Chara.party, EClass.pc, player, quests, Chara.Refresh(), ThingContainer.RefreshGridRecursive(), Chara.RefreshWorkElements(), World.region, religions, spatials, Card.things, Zone.ToString(), Card.trait, and world.

Referenced by Load().

◆ OnSerializing()

void Game.OnSerializing ( StreamingContext  context)
inlineprivate

Definition at line 1139 of file Game.cs.

1140 {
1141 Debug.Log("#io game OnSerializing");
1142 }

References Debug.

◆ OnUpdate()

void Game.OnUpdate ( )
inline

Definition at line 297 of file Game.cs.

298 {
299 backupTime += Time.deltaTime;
300 waitTimer -= Time.deltaTime;
301 timeSinceStart += Time.deltaTime;
302 player.stats.timeElapsed += Time.deltaTime;
304 {
305 flags.IsWelcomeMessageShown = true;
306 }
308 }
void FixedUpdate()
Definition: GameUpdater.cs:436
bool IsWelcomeMessageShown
Definition: Game.cs:119
GameUpdater updater
Definition: Game.cs:249
static float waitTimer
Definition: Game.cs:145
Flags flags
Definition: Game.cs:215
double backupTime
Definition: Game.cs:212
float timeSinceStart
Definition: Game.cs:239
double timeElapsed
Definition: Player.cs:66
Stats stats
Definition: Player.cs:1016

References backupTime, GameUpdater.FixedUpdate(), flags, Game.Flags.IsWelcomeMessageShown, player, Player.stats, Player.Stats.timeElapsed, timeSinceStart, updater, and waitTimer.

Referenced by Core.Update().

◆ Pause()

void Game.Pause ( Action  onUnpause = null)
inline

Definition at line 1120 of file Game.cs.

1121 {
1122 isPaused = true;
1123 LayerPause layerPause = EClass.ui.AddLayer<LayerPause>();
1124 Game lastGame = EClass.game;
1125 if (onUnpause == null)
1126 {
1127 return;
1128 }
1129 layerPause.SetOnKill(delegate
1130 {
1131 if (EClass.core.IsGameStarted && lastGame == EClass.game)
1132 {
1133 onUnpause();
1134 }
1135 });
1136 }
static bool isPaused
Definition: Game.cs:149
Layer SetOnKill(Action action)
Definition: Layer.cs:579

References EClass.core, EClass.game, Core.IsGameStarted, Layer.SetOnKill(), and EClass.ui.

Referenced by ZoneEventQuest.OnTickRound(), and ZoneEventQuest.SpawnBoss().

◆ Quit()

void Game.Quit ( )
inline

Definition at line 1017 of file Game.cs.

1018 {
1019 Dialog.YesNo("dialog_quit", delegate
1020 {
1021 if (EClass.game.Save())
1022 {
1023 EClass.core.Quit();
1024 }
1025 });
1026 }

References EClass.game, Save(), and Dialog.YesNo().

Referenced by EUtil.ExitGame(), LayerPauseMenu.OnClickExit(), and HotItemContext.Show().

◆ Save()

bool Game.Save ( bool  isAutoSave = false,
bool  silent = false 
)
inline

Definition at line 1028 of file Game.cs.

1029 {
1030 if (EClass.ui.IsDragging)
1031 {
1032 EClass.ui.EndDrag(canceled: true);
1033 }
1034 if (isAutoSave && EClass.debug.ignoreAutoSave)
1035 {
1036 return true;
1037 }
1038 bool flag = EClass.core.config.game.autoBackup && backupTime >= (double)(EClass.core.config.game.backupInterval * 60 * 30);
1039 if (flag)
1040 {
1041 backupTime = 0.0;
1042 }
1044 countLoadedMaps = 0;
1045 player.pref.layerInventory = EClass.ui.layerFloat.GetLayer<LayerInventory>();
1047 {
1048 player.pref.layerAbility = EClass.ui.layerFloat.GetLayer<LayerAbility>();
1049 }
1050 player.pref.layerCraft = EClass.ui.layerFloat.GetLayer<LayerCraftFloat>();
1051 player.angle = EClass.pc.angle;
1053 EClass.ui.widgets.UpdateConfigs();
1054 GameIndex gameIndex = null;
1055 try
1056 {
1057 OnBeforeSave();
1058 gameIndex = GameIO.SaveGame();
1059 }
1060 catch (Exception ex)
1061 {
1062 EClass.ui.Say(ex.Message);
1063 SE.Beep();
1064 Msg.Say("error_save");
1065 return false;
1066 }
1067 if (flag)
1068 {
1069 GameIO.MakeBackup(gameIndex);
1070 EClass.ui.Say("backupDone");
1071 }
1072 if (!silent)
1073 {
1074 if (!isAutoSave)
1075 {
1076 SE.WriteJournal();
1077 }
1078 Msg.Say("saved");
1079 }
1080 saveCount++;
1081 return true;
1082 }
float angle
Definition: Card.cs:71
new GameConfig game
Definition: CoreConfig.cs:609
void TryUpdatePlayedHour()
Definition: CoreConfig.cs:815
bool ignoreAutoSave
Definition: CoreDebug.cs:126
static GameIndex SaveGame()
Definition: GameIO.cs:69
static void MakeBackup(GameIndex index, string suffix="")
Definition: GameIO.cs:102
int countLoadedMaps
Definition: Game.cs:235
int saveCount
Definition: Game.cs:237
void OnBeforeSave()
Definition: Game.cs:1084
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58

References Card.angle, CoreConfig.GameConfig.backupInterval, Core.config, EClass.core, EClass.debug, CoreConfig.game, CoreDebug.ignoreAutoSave, Player.Pref.layerInventory, GameIO.MakeBackup(), EClass.pc, Player.pref, GameIO.SaveGame(), Msg.Say(), CoreConfig.TryUpdatePlayedHour(), EClass.ui, and BaseCore.version.

Referenced by AM_Adv._OnUpdateInput(), LayerSleep.Advance(), LayerNewZone.Embark(), GotoTitle(), Scene.Init(), Chara.MoveZone(), LayerPauseMenu.OnClickSave(), TraitDeedRelocate.OnRead(), DramaManager.ParseLine(), Quit(), Map.Reload(), HotItemContext.Show(), and CoreDebug.UpdateInput().

◆ StartNewGame()

void Game.StartNewGame ( )
inline

Definition at line 796 of file Game.cs.

797 {
798 EClass.pc.homeZone = StartZone;
801 Prologue prologue = EClass.game.Prologue;
802 if (prologue.type == GameType.Survival)
803 {
805 }
806 else
807 {
808 CharaGen.Create("fiama").SetGlobal(EClass.game.StartZone, prologue.posFiama.x, prologue.posFiama.y);
809 CharaGen.Create("ashland").SetGlobal(EClass.game.StartZone, prologue.posAsh.x, prologue.posAsh.y);
810 }
811 if ((bool)LayerTitle.actor)
812 {
813 world.date.hour = EClass.game.Prologue.hour;
815 Player obj = player;
816 Chara chara = EClass.pc;
817 Zone zone2 = (EClass.pc.homeZone = EClass.game.spatials.Find(EClass.game.Prologue.idStartZone));
818 Zone zone4 = (chara.currentZone = zone2);
819 obj.zone = zone4;
820 EClass.pc.global.transition = new ZoneTransition
821 {
822 state = ZoneTransition.EnterState.Exact,
824 z = EClass.game.Prologue.startZ
825 };
826 EClass.pc.hp = EClass.pc.MaxHP;
829 EClass.pc.AddCondition<ConFaint>(200, force: true);
830 }
831 else
832 {
833 EClass.pc.homeZone = EClass.game.spatials.Find(EClass.game.Prologue.idStartZone);
834 Zone zone5 = null;
835 ZoneTransition transition = new ZoneTransition
836 {
837 state = ZoneTransition.EnterState.Auto
838 };
839 Chara c = EClass.game.cards.globalCharas.Find("ashland");
840 switch (EClass.debug.startScene)
841 {
842 case CoreDebug.StartScene.Zone:
844 transition = new ZoneTransition
845 {
846 state = ZoneTransition.EnterState.Exact,
848 z = EClass.game.Prologue.startZ
849 };
850 break;
851 case CoreDebug.StartScene.Home:
852 case CoreDebug.StartScene.Story_Test:
854 transition = new ZoneTransition
855 {
856 state = ZoneTransition.EnterState.Exact,
858 z = EClass.game.Prologue.startZ
859 };
860 break;
861 case CoreDebug.StartScene.Survival:
862 EClass.game.idPrologue = 3;
864 transition = new ZoneTransition
865 {
866 state = ZoneTransition.EnterState.Exact,
868 z = EClass.game.Prologue.startZ
869 };
870 break;
871 case CoreDebug.StartScene.Home_Cave:
872 EClass.game.idPrologue = 2;
874 transition = new ZoneTransition
875 {
876 state = ZoneTransition.EnterState.Exact,
878 z = EClass.game.Prologue.startZ
879 };
880 break;
881 case CoreDebug.StartScene.MeetFarris:
882 {
883 Zone parent4 = EClass.game.spatials.Find("nymelle");
884 zone5 = SpatialGen.Create("nymelle", parent4, register: true) as Zone;
885 zone5.lv = -2;
886 EClass.game.quests.Start("exploration", c, assignQuest: false);
887 break;
888 }
889 case CoreDebug.StartScene.NymelleBoss:
890 {
891 Zone parent3 = EClass.game.spatials.Find("nymelle");
892 zone5 = SpatialGen.Create("nymelle_boss", parent3, register: true) as Zone;
893 zone5.lv = -5;
894 EClass.game.quests.Start("exploration", c, assignQuest: false).ChangePhase(2);
895 break;
896 }
897 case CoreDebug.StartScene.AfterNymelle:
899 transition = new ZoneTransition
900 {
901 state = ZoneTransition.EnterState.Exact,
903 z = EClass.game.Prologue.startZ
904 };
905 EClass.game.quests.Start("exploration", c, assignQuest: false).ChangePhase(5);
906 EClass.game.quests.globalList.Add(Quest.Create("sharedContainer").SetClient(c, assignQuest: false));
907 EClass.game.quests.globalList.Add(Quest.Create("crafter").SetClient(c, assignQuest: false));
908 EClass.game.quests.globalList.Add(Quest.Create("defense").SetClient(c, assignQuest: false));
909 break;
910 case CoreDebug.StartScene.Melilith:
911 {
912 Zone parent2 = EClass.game.spatials.Find("cursed_manor");
913 zone5 = SpatialGen.Create("cursed_manor_dungeon", parent2, register: true) as Zone;
914 zone5.lv = -5;
915 break;
916 }
917 case CoreDebug.StartScene.Tefra:
918 {
919 Zone parent = EClass.game.spatials.Find("vernis");
920 zone5 = SpatialGen.Create("vernis_mine", parent, register: true) as Zone;
921 zone5.lv = -7;
922 break;
923 }
924 }
925 if (zone5 != null)
926 {
927 Player obj2 = player;
928 Chara chara2 = EClass.pc;
929 Zone zone2 = (EClass.pc.homeZone = zone5);
930 Zone zone4 = (chara2.currentZone = zone2);
931 obj2.zone = zone4;
932 EClass.pc.global.transition = transition;
933 }
934 else
935 {
936 Player obj3 = player;
937 Zone zone4 = (EClass.pc.currentZone = EClass.game.spatials.Find(EClass.debug.startZone));
938 obj3.zone = zone4;
939 EClass.pc.global.transition = new ZoneTransition
940 {
941 state = ZoneTransition.EnterState.Return
942 };
943 }
944 }
945 EClass.pc.homeZone.isKnown = true;
948 EClass.scene.Init(Scene.Mode.StartGame);
949 }
GameType
Definition: GameType.cs:2
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:9099
Chara SetGlobal(Zone _home, int x, int z)
Definition: Chara.cs:1471
override int MaxHP
Definition: Chara.cs:708
Stats mana
Definition: Chara.cs:1154
Stats stamina
Definition: Chara.cs:1146
string startZone
Definition: CoreDebug.cs:106
StartScene startScene
Definition: CoreDebug.cs:96
SurvivalManager survival
Definition: Game.cs:227
PartyManager parties
Definition: Game.cs:173
Prologue Prologue
Definition: Game.cs:263
Zone StartZone
Definition: Game.cs:277
static void KillActor()
Definition: LayerTitle.cs:191
static EmbarkActor actor
Definition: LayerTitle.cs:25
Party Create(Chara leader)
Definition: PartyManager.cs:9
Definition: Player.cs:11
void OnStartNewGame()
Definition: Player.cs:1381
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
Quest Start(string id, string idGlobalChara)
Definition: QuestManager.cs:41
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
Stats Set(int[] _raw, int _rawIndex, Chara _CC)
Definition: Stats.cs:109
virtual int max
Definition: Stats.cs:68

References BaseCore.actionsNextFrame, LayerTitle.actor, Chara.AddCondition(), cards, Quest.ChangePhase(), EClass.core, PartyManager.Create(), Quest.Create(), CharaGen.Create(), SpatialGen.Create(), EClass.debug, CardManager.GlobalCharaList.Find(), SpatialManager.Find(), EClass.game, CardManager.globalCharas, QuestManager.globalList, Prologue.hour, Prologue.idStartZone, Scene.Init(), LayerTitle.KillActor(), Chara.mana, Stats.max, Chara.MaxHP, Player.OnStartNewGame(), EClass.pc, Prologue.posAsh, Prologue.posFiama, Prologue, quests, EClass.scene, Stats.Set(), Quest.SetClient(), Chara.SetGlobal(), spatials, Chara.stamina, QuestManager.Start(), CoreDebug.startScene, Prologue.startX, CoreDebug.startZone, StartZone, and Prologue.type.

Referenced by CoreDebug.QuickStart(), and DramaOutcome.StartNewGame().

◆ TryLoad()

static bool Game.TryLoad ( string  id,
bool  cloud,
Action  onLoad 
)
inlinestatic

Definition at line 310 of file Game.cs.

311 {
313 {
314 onLoad();
315 return true;
316 }
317 EClass.ui.Say("incompatible");
318 return false;
319 }
static bool CanLoad(string root)
Definition: GameIO.cs:134

References GameIO.CanLoad(), CorePath.RootSave, CorePath.RootSaveCloud, and EClass.ui.

Referenced by AM_Adv._OnUpdateInput().

◆ Wait() [1/3]

static void Game.Wait ( float  a)
inlinestatic

Definition at line 292 of file Game.cs.

293 {
294 waitTimer = a * (float)(EClass.core.config.game.waiter * 25) / 100f;
295 }

References Core.config, EClass.core, CoreConfig.game, CoreConfig.GameConfig.waiter, and waitTimer.

◆ Wait() [2/3]

static new void Game.Wait ( float  a,
Card  c 
)
inlinestatic

Definition at line 284 of file Game.cs.

285 {
286 if (c != null && c.isSynced && !c.IsPC)
287 {
288 Wait(a);
289 }
290 }
virtual bool IsPC
Definition: Card.cs:2131
virtual bool isSynced
Definition: Card.cs:2075
Definition: Wait.cs:2

References Card.IsPC, and Card.isSynced.

◆ Wait() [3/3]

static new void Game.Wait ( float  a,
Point  p 
)
inlinestatic

Definition at line 279 of file Game.cs.

280 {
281 _ = p?.IsSync;
282 }
bool IsSync
Definition: Point.cs:344

References Point.IsSync.

Referenced by EClass.Wait().

Member Data Documentation

◆ activeZone

◆ backupTime

double Game.backupTime

Definition at line 212 of file Game.cs.

Referenced by OnUpdate().

◆ bp

GameBlueprint Game.bp

Definition at line 247 of file Game.cs.

◆ cards

CardManager Game.cards = new CardManager()

Definition at line 155 of file Game.cs.

Referenced by ReligionManager.ジュアさまの薄い本をください(), QuestManager.Add(), Zone.AddGlobalCharasOnActivate(), QuestManager.AddQuestAsh(), QuestManager.AddQuestFiama(), Zone.AddRandomVisitor(), GameDate.AdvanceDay(), GameDate.AdvanceHour(), LayerShippingResult.Awake(), TraitSalesTag.CanTagSale(), ElementContainerFaction.CheckDirty(), SurvivalManager.CheckLoytelDebt(), Faction.CountMembers(), Card.Create(), LayerInventory.CreateContainer(), Card.Destroy(), Chara.Die(), CoreDebug.Fix_RemoveDemitas(), RefChara.Get(), DramaSequence.GetActor(), RefChara.GetAndCache(), Faction.HasMember(), TaskDump.IsValidContainer(), Faction.IsWearingPanty(), TaskDump.ListThingsToPut(), Zone_Specwing.OnActivate(), Faction.OnAdvanceMonth(), Zone_WindRest.OnAfterSimulate(), Zone_Nymelle.OnBeforeSimulate(), QuestDefense.OnChangePhase(), QuestVernis.OnChangePhase(), DramaOutcome.OnClaimLand(), Quest.OnClickQuest(), QuestIntroInspector.OnComplete(), QuestSharedContainer.OnComplete(), TraitDrinkMilkMother.OnDrink(), QuestDialog.OnDropReward(), SurvivalManager.OnExpandFloor(), Zone_DungeonPuppy.OnGenerateMap(), ElementContainerFaction.OnJoinFaith(), ElementContainerFaction.OnLeaveFaith(), ZoneInstanceBout.OnLeaveZone(), ListPeopleRevive.OnList(), OnLoad(), TraitStoryBookHome.OnRead(), QuestDebt.OnStart(), QuestExploration.OnStart(), DramaManager.ParseLine(), InvOwnerDeliver.PayBill(), ActEffect.Proc(), DramaOutcome.QuestExploration_AfterComplete(), DramaOutcome.QuestExploration_AfterCrystal(), FactionBranch.ReceivePackages(), WindowChara.RefreshProfile(), LayerQuestBoard.RefreshRanking(), Chara.RemoveGlobal(), FactionBranch.RemoveMemeber(), CoreDebug.ResetPetUpgrades(), SerializedCards.Restore(), Zone.Revive(), AI_Idle.Run(), TaskDump.Run(), World.SendPackage(), Meeting.SetChara(), Chara.SetGlobal(), FactionBranch.SetOwner(), UIFactionInfo.SetZone(), UIZoneInfo.SetZone(), GameDate.ShipGoods(), GameDate.ShipPackages(), QuestManager.Start(), StartNewGame(), Zone.TryAddThingInSharedContainer(), Faction.TryPayBill(), GrowSystem.TryPick(), TraitBed.ValidateOwners(), and EloPos.WriteNote().

◆ config

◆ countLoadedMaps

int Game.countLoadedMaps

Definition at line 235 of file Game.cs.

Referenced by Zone.Activate(), and Scene.Init().

◆ dateScratch

int Game.dateScratch

Definition at line 209 of file Game.cs.

◆ domains

DomainManager Game.domains = new DomainManager()

Definition at line 164 of file Game.cs.

Referenced by OnLoad().

◆ factions

◆ flags

Flags Game.flags = new Flags()

Definition at line 215 of file Game.cs.

Referenced by OnUpdate().

◆ gameSpeedIndex

int Game.gameSpeedIndex = 1

◆ id

◆ idDifficulty

int Game.idDifficulty

Definition at line 206 of file Game.cs.

◆ idPrologue

int Game.idPrologue

Definition at line 203 of file Game.cs.

Referenced by DramaOutcome.fiama_gold(), UICharaMaker.ListModes(), and UICharaMaker.SetChara().

◆ Instance

Game Game.Instance
static

Definition at line 143 of file Game.cs.

◆ isCloud

◆ isKilling

bool Game.isKilling

Definition at line 243 of file Game.cs.

Referenced by LayerInventory.OnKill().

◆ isLoading

◆ isPaused

bool Game.isPaused
static

Definition at line 149 of file Game.cs.

Referenced by GameUpdater.CharaUpdater.FixedUpdate().

◆ lastActiveZone

Zone Game.lastActiveZone

Definition at line 253 of file Game.cs.

Referenced by LayerPeople.CreateSelectEmbarkMembers().

◆ lastGameSpeedIndex

int Game.lastGameSpeedIndex = 1

Definition at line 231 of file Game.cs.

Referenced by ActionMode.UnPause().

◆ loadedTextures

HashSet<Texture2D> Game.loadedTextures = new HashSet<Texture2D>()

Definition at line 257 of file Game.cs.

Referenced by Card.GetPaintSprite().

◆ log

MsgLog Game.log
Initial value:
= new MsgLog
{
id = "log"
}
Definition: MsgLog.cs:7

Definition at line 188 of file Game.cs.

Referenced by ContentChronicle.OnSwitchContent(), and Msg.SayRaw().

◆ lostThings

List<Thing> Game.lostThings = new List<Thing>()

Definition at line 221 of file Game.cs.

◆ parties

PartyManager Game.parties = new PartyManager()

Definition at line 173 of file Game.cs.

◆ player

new Player Game.player = new Player()

Definition at line 179 of file Game.cs.

Referenced by Core.Awake(), GameIndex.Create(), Load(), OnLoad(), OnUpdate(), and ItemCulture.Refresh().

◆ principal

◆ quests

QuestManager Game.quests = new QuestManager()

Definition at line 182 of file Game.cs.

Referenced by InvOwnerDeliver._OnProcess(), ActPlan._Update(), QuestManager.Add(), GameDate.AdvanceDay(), GameDate.AdvanceHour(), DramaCustomSequence.Build(), QuestVernis.CanUpdateOnTalk(), SurvivalManager.CheckLoytelDebt(), Quest.Complete(), QuestCraft.Deliver(), QuestDeliver.Deliver(), CardRenderer.Draw(), AI_PlayMusic.Evaluate(), ZonePreEnterOnCompleteQuestInstance.Execute(), Player.ExitBorder(), Quest.Fail(), Recipe.GetQuestTrack(), Chara.GiveGift(), TraitDoorman_Fighter.GiveTrial(), TraitDoorman_Mage.GiveTrial(), TraitDoorman_Thief.GiveTrial(), DramaOutcome.guild_trial(), Quest.Init(), Scene.Init(), Chara.IsEscorted(), RecipeManager.ListSources(), DramaOutcome.melilith_friend(), Player.ModKarma(), Zone_Exile.OnActivate(), Zone_Specwing.OnActivate(), Trait.OnBarter(), QuestDefense.OnChangePhase(), DramaOutcome.OnClaimLand(), ItemQuestTracker.OnClickClose(), QuestIntroInspector.OnComplete(), QuestLoytelFarm.OnComplete(), QuestSharedContainer.OnComplete(), QuestShippingChest.OnComplete(), QuestVernis.OnComplete(), Quest.OnCompleteTask(), TCExtra.OnDraw(), QuestDialog.OnDropReward(), Player.Flags.OnEnterZone(), Zone_DungeonPuppy.OnGenerateMap(), OnLoad(), TraitStoryBookHome.OnRead(), QuestExploration.OnStart(), QuestIntoDarkness.OnStart(), Player.OnStartNewGame(), ContentQuest.OnSwitchContent(), DramaManager.ParseLine(), InvOwnerDeliver.PayBill(), DramaOutcome.poppy_found(), DramaOutcome.QuestDebt_reward(), DramaOutcome.QuestExploration_AfterComplete(), DramaOutcome.QuestExploration_AfterCrystal(), DramaOutcome.QuestExploration_MeetFarris(), DramaOutcome.QuestExploration_MeetFarris2(), CoreDebug.QuickStart(), ItemQuestTracker.Refresh(), LayerShippingResult.Refresh(), WidgetQuestTracker.Refresh(), TCOrbitChara.RefreshAll(), LayerQuestBoard.RefreshQuest(), CoreDebug.Reset_LoytelDebt(), RecipeUpdater.RunRecipe(), ItemQuest.SetQuest(), Chara.ShowDialog(), StartNewGame(), ActThrow.Throw(), Chara.Tick(), Recipe.ToggleTrack(), Chara.TryDropBossLoot(), WidgetQuestTracker.TryShow(), TraitTeleporter.TryTeleport(), CoreDebug.UpdateInput(), and Zone.UpdateQuests().

◆ referenceMap

Dictionary<string, IGlobalValue> Game.referenceMap = new Dictionary<string, IGlobalValue>()

Definition at line 255 of file Game.cs.

◆ relations

RelationManager Game.relations = new RelationManager()

Definition at line 185 of file Game.cs.

Referenced by GameDate.AdvanceDay().

◆ religions

◆ saveCount

int Game.saveCount

Definition at line 237 of file Game.cs.

◆ seed

◆ sessionMin

int Game.sessionMin

Definition at line 233 of file Game.cs.

Referenced by QueueList< T >.GetTask(), and TaskList< T >.GetTask().

◆ spatials

◆ startVersion

Version Game.startVersion

Definition at line 170 of file Game.cs.

◆ survival

◆ teleports

◆ timeSinceStart

float Game.timeSinceStart

Definition at line 239 of file Game.cs.

Referenced by OnUpdate().

◆ uniforms

PCCUniformManager Game.uniforms = new PCCUniformManager()

Definition at line 194 of file Game.cs.

Referenced by LayerEditPCC.Activate(), LayerEditPCC.Apply(), and Chara.ApplyJob().

◆ updater

◆ version

Version Game.version

Definition at line 167 of file Game.cs.

◆ waitTimer

float Game.waitTimer
static

Definition at line 145 of file Game.cs.

Referenced by OnUpdate(), and Wait().

◆ welcomeTimer

float Game.welcomeTimer
private

Definition at line 259 of file Game.cs.

◆ world

Property Documentation

◆ altAbility

bool Game.altAbility
get

Definition at line 273 of file Game.cs.

Referenced by LayerAbility.OnInit(), ButtonAbility.SetAct(), and UI.ToggleAbility().

◆ altCraft

bool Game.altCraft
get

Definition at line 271 of file Game.cs.

Referenced by Scene.Init().

◆ altInv

bool Game.altInv
get

◆ altUI

bool Game.altUI
get

Definition at line 267 of file Game.cs.

Referenced by ActionMode.Activate(), BuildMenu.Deactivate(), and BuildMenu.Init().

◆ IsSurvival

◆ IsWaiting

bool Game.IsWaiting
staticget

Definition at line 261 of file Game.cs.

Referenced by Scene.OnUpdate().

◆ Prologue

◆ StartZone

◆ UseGrid

bool Game.UseGrid
get

Definition at line 265 of file Game.cs.

Referenced by InvOwner.OnDrag(), and InvOwner.Transaction.Process().


The documentation for this class was generated from the following file: