Elin Decompiled Documentation EA 23.223 Nyaightly
Loading...
Searching...
No Matches
GameDate Class Reference
Inheritance diagram for GameDate:
Date EClass

Public Member Functions

void AdvanceSec (int a)
 
void AdvanceMin (int a)
 
void AdvanceHour ()
 
void AdvanceDay ()
 
void AdvanceMonth ()
 
void AdvanceYear ()
 
void ShipGoods ()
 
void ShipPackages ()
 
void ShipLetter ()
 
void ShipRandomPackages ()
 
- Public Member Functions inherited from Date
Date Copy ()
 
override string ToString ()
 
void AddHour (int a)
 
void AddDay (int a)
 
void AddMonth (int a)
 
string GetText (TextFormat format)
 
int GetRawReal (int offsetHours=0)
 
int GetRaw (int offsetHours=0)
 
int GetRawDay ()
 
bool IsExpired (int time)
 
int GetRemainingHours (int rawDeadLine)
 
int GetRemainingSecs (int rawDeadLine)
 
int GetElapsedMins (int rawDate)
 
int GetElapsedHour (int rawDate)
 

Public Attributes

bool shaken
 
- Public Attributes inherited from Date
int[] raw = new int[6]
 

Static Public Attributes

const int minPerRound = 5
 
- Static Public Attributes inherited from Date
const int ShippingHour = 5
 
const int HourToken = 60
 
const int DayToken = 1440
 
const int MonthToken = 43200
 
const int YearToken = 518400
 
const int HourTokenReal = 60
 
const int DayTokenReal = 1440
 
const int MonthTokenReal = 46080
 
const int YearTokenReal = 552960
 
- Static Public Attributes inherited from EClass
static Core core
 

Additional Inherited Members

- Public Types inherited from Date
enum  TextFormat {
  Default , Log , Widget , Schedule ,
  Travel , YearMonthDay , LogPlusYear
}
 
- Static Public Member Functions inherited from Date
static string GetText (int raw, TextFormat format)
 
static string GetText (int hour)
 
static string GetText2 (int hour)
 
static string SecToDate (int sec)
 
static string MinToDayAndHour (int min)
 
static int[] GetDateArray (int raw)
 
static Date ToDate (int raw)
 
- 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)
 
- Properties inherited from Date
int year [get, set]
 
int month [get, set]
 
int day [get, set]
 
int hour [get, set]
 
int min [get, set]
 
int sec [get, set]
 
bool IsDay [get]
 
bool IsNight [get]
 
PeriodOfDay periodOfDay [get]
 
string NameMonth [get]
 
string NameMonthShort [get]
 
string NameTime [get]
 
bool IsSpring [get]
 
bool IsSummer [get]
 
bool IsAutumn [get]
 
bool IsWinter [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]
 

Detailed Description

Definition at line 5 of file GameDate.cs.

Member Function Documentation

◆ AdvanceDay()

void GameDate.AdvanceDay ( )
inline

Definition at line 145 of file GameDate.cs.

146 {
147 base.day++;
148 base.min = 0;
150 EClass.player.questRerollCost -= 3;
152 {
153 EClass.player.questRerollCost = 0;
154 }
155 if (EClass.player.stats.days >= 90)
156 {
157 Tutorial.Reserve("death_penalty");
158 }
159 if (base.day > 30)
160 {
161 base.day = 1;
162 AdvanceMonth();
163 }
165 EClass.Sound.Play("owl");
166 if (!EClass.player.prayed && EClass.pc.Evalue(1655) > 0)
167 {
168 ActPray.TryPray(EClass.pc, passive: true);
169 }
170 Msg.Say("endDay");
171 shaken = false;
175 foreach (Chara item in EClass.game.cards.listAdv)
176 {
177 if (!item.IsPCFaction && EClass.rnd(10) == 0 && (item.isDead || item.currentZone == null || item.currentZone.id == "somewhere"))
178 {
179 item.SetHomeZone(EClass.world.region.ListTowns().RandomItem());
180 item.Revive();
181 item.MoveZone(item.homeZone);
182 }
183 }
184 foreach (Chara value in EClass.game.cards.globalCharas.Values)
185 {
186 value.OnAdvanceDay();
187 }
189 {
191 }
192 if (EClass.player.stats.days >= 7 && EClass.game.cards.globalCharas.Find("fiama").currentZone == EClass.game.StartZone && EClass.game.quests.GetGlobal("fiama_starter_gift") == null && !EClass.game.quests.IsCompleted("fiama_starter_gift"))
193 {
194 EClass.game.quests.Add("fiama_starter_gift", "fiama");
195 }
196 if (EClass.game.quests.completedIDs.Contains("demitas_spellwriter") && !EClass.game.quests.IsAdded<QuestNegotiationDarkness>())
197 {
198 EClass.game.quests.Add("negotiation_darkness", "loytel");
199 }
200 if (EClass.game.quests.IsCompleted("exploration"))
201 {
204 {
205 EClass.player.flags.magicChestSent = true;
206 Thing thing = ThingGen.Create("parchment");
207 thing.SetStr(53, "letter_magic_chest");
208 Thing p = ThingGen.CreateParcel(null, ThingGen.Create("container_magic"), thing);
210 }
211 }
212 if (base.day == 25 && base.month == 12)
213 {
215 }
216 }
static bool TryPray(Chara c, bool passive=false)
Definition: ActPray.cs:12
void SetStr(int id, string value=null)
Definition: BaseCard.cs:63
Chara Find(string id)
Definition: CardManager.cs:20
List< Chara > listAdv
Definition: CardManager.cs:64
GlobalCharaList globalCharas
Definition: CardManager.cs:46
int Evalue(int ele)
Definition: Card.cs:2559
Definition: Chara.cs:10
Faction faction
Definition: Chara.cs:425
void OnAdvanceDay()
Definition: Chara.cs:9841
Zone currentZone
Definition: Chara.cs:253
Zone homeZone
Definition: Chara.cs:265
Definition: EClass.cs:5
static Game game
Definition: EClass.cs:8
static World world
Definition: EClass.cs:40
static int rnd(long a)
Definition: EClass.cs:58
static Player player
Definition: EClass.cs:12
static Chara pc
Definition: EClass.cs:14
static SoundManager Sound
Definition: EClass.cs:46
void OnAdvanceDay()
Definition: FACTION.cs:368
bool shaken
Definition: GameDate.cs:8
void AdvanceMonth()
Definition: GameDate.cs:218
CardManager cards
Definition: Game.cs:155
RelationManager relations
Definition: Game.cs:182
QuestManager quests
Definition: Game.cs:179
Zone StartZone
Definition: Game.cs:274
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
bool magicChestSent
Definition: Player.cs:512
int daysAfterQuestExploration
Definition: Player.cs:644
int days
Definition: Player.cs:75
Flags flags
Definition: Player.cs:1091
void OnAdvanceDay()
Definition: Player.cs:2369
Stats stats
Definition: Player.cs:1013
bool prayed
Definition: Player.cs:983
int questRerollCost
Definition: Player.cs:959
HashSet< string > completedIDs
Definition: QuestManager.cs:17
Quest Add(string id, string idGlobalChara=null)
Definition: QuestManager.cs:29
bool IsCompleted(string id)
Quest GetGlobal(string id)
List< Zone > ListTowns()
Definition: Region.cs:270
void UpdateRelations()
Faction mainFaction
Definition: Spatial.cs:442
static Thing CreateParcel(string idLang=null, params Thing[] things)
Definition: ThingGen.cs:42
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
static void Reserve(string idStep, Action onBeforePlay=null)
Definition: Tutorial.cs:55
static void Add(BaseSticky sticky, bool animate=true)
Definition: WidgetSticky.cs:52
void CreateDayData()
Definition: World.cs:43
Region region
Definition: World.cs:23
void SendPackage(Thing p)
Definition: World.cs:68

References WidgetSticky.Add(), QuestManager.Add(), AdvanceMonth(), Game.cards, QuestManager.completedIDs, ThingGen.Create(), World.CreateDayData(), ThingGen.CreateParcel(), Chara.currentZone, Player.Stats.days, Player.Flags.daysAfterQuestExploration, Card.Evalue(), Chara.faction, CardManager.GlobalCharaList.Find(), Player.flags, EClass.game, QuestManager.GetGlobal(), CardManager.globalCharas, Chara.homeZone, QuestManager.IsCompleted(), item, CardManager.listAdv, Region.ListTowns(), Player.Flags.magicChestSent, Spatial.mainFaction, Chara.OnAdvanceDay(), Faction.OnAdvanceDay(), Player.OnAdvanceDay(), EClass.pc, EClass.player, Player.prayed, Player.questRerollCost, Game.quests, World.region, Game.relations, Tutorial.Reserve(), EClass.rnd(), Msg.Say(), World.SendPackage(), BaseCard.SetStr(), shaken, EClass.Sound, Game.StartZone, Player.stats, ActPray.TryPray(), RelationManager.UpdateRelations(), and EClass.world.

Referenced by AdvanceHour().

◆ AdvanceHour()

void GameDate.AdvanceHour ( )
inline

Definition at line 71 of file GameDate.cs.

72 {
73 VirtualDate virtualDate = new VirtualDate();
74 virtualDate.IsRealTime = true;
75 virtualDate.SimulateHour();
76 base.hour++;
77 if (base.hour >= 24)
78 {
79 base.hour = 0;
80 AdvanceDay();
81 }
82 if (!shaken && EClass.rnd(24) == 0 && !EClass._zone.IsRegion)
83 {
84 Msg.Say("earthquake");
86 {
87 Shaker.ShakeCam("earthquake");
88 }
89 shaken = true;
90 }
97 {
99 }
100 foreach (Chara value in EClass.game.cards.globalCharas.Values)
101 {
102 if (!value.IsPCParty && value.currentZone != EClass.game.activeZone && value.trait.UseGlobalGoal)
103 {
104 if (value.global.goal == null && !value.IsPCFaction)
105 {
106 GlobalGoalAdv globalGoalAdv = new GlobalGoalAdv();
107 globalGoalAdv.SetOwner(value);
108 globalGoalAdv.Start();
109 }
110 if (value.global.goal != null)
111 {
112 value.global.goal.AdvanceHour();
113 }
114 }
115 }
117 if (base.hour == 5)
118 {
119 ShipGoods();
120 ShipPackages();
121 ShipLetter();
122 if (EClass.rnd(30) == 0 && EClass.game.cards.listPackage.Count <= 2)
123 {
125 }
126 if (base.month == 10)
127 {
128 Tutorial.Reserve("season");
129 }
130 if (base.month == 11)
131 {
132 Tutorial.Reserve("season2");
133 }
134 else
135 {
136 Tutorial.Remove("season2");
137 }
138 if (base.year >= 2500)
139 {
140 Tutorial.Reserve("worldend");
141 }
142 }
143 }
List< Thing > listPackage
Definition: CardManager.cs:61
void RecalculateFOV()
Definition: Card.cs:6221
new TraitChara trait
Definition: Chara.cs:501
override bool IsPCParty
Definition: Chara.cs:613
override bool IsPCFaction
Definition: Chara.cs:669
GlobalData global
Definition: Chara.cs:76
GraphicSetting graphic
Definition: CoreConfig.cs:603
CoreConfig config
Definition: Core.cs:70
static Scene scene
Definition: EClass.cs:30
static Core core
Definition: EClass.cs:6
static Zone _zone
Definition: EClass.cs:20
void ShipGoods()
Definition: GameDate.cs:252
void ShipPackages()
Definition: GameDate.cs:364
void AdvanceDay()
Definition: GameDate.cs:145
void ShipRandomPackages()
Definition: GameDate.cs:454
void ShipLetter()
Definition: GameDate.cs:409
Zone activeZone
Definition: Game.cs:248
GlobalGoal goal
Definition: GlobalData.cs:9
void Start()
Definition: GlobalGoal.cs:16
void SetOwner(Chara c)
Definition: GlobalGoal.cs:10
void AdvanceHour()
Definition: GlobalGoal.cs:25
void OnAdvanceHour()
Definition: Player.cs:2349
void OnAdvanceHour()
void CheckRandomSites()
Definition: Region.cs:75
void OnChangeHour()
Definition: Scene.cs:776
Definition: Shaker.cs:5
static void ShakeCam(string id="default", float magnitude=1f)
Definition: Shaker.cs:25
virtual bool IsRegion
Definition: Spatial.cs:515
virtual bool UseGlobalGoal
Definition: TraitChara.cs:93
static void Remove(string idStep)
Definition: Tutorial.cs:49
void SimulateHour()
Definition: VirtualDate.cs:66
void OnChangeHour()
Definition: Weather.cs:197
Weather weather
Definition: World.cs:12
virtual void OnAdvanceHour()
Definition: Zone.cs:1155
Region Region
Definition: Zone.cs:160

References EClass._zone, Game.activeZone, AdvanceDay(), GlobalGoal.AdvanceHour(), Game.cards, Region.CheckRandomSites(), Core.config, EClass.core, Chara.currentZone, CoreConfig.GraphicSetting.disableShake, EClass.game, Chara.global, CardManager.globalCharas, GlobalData.goal, CoreConfig.graphic, Chara.IsPCFaction, Chara.IsPCParty, Spatial.IsRegion, CardManager.listPackage, Player.OnAdvanceHour(), QuestManager.OnAdvanceHour(), Zone.OnAdvanceHour(), Scene.OnChangeHour(), Weather.OnChangeHour(), EClass.pc, EClass.player, Game.quests, Card.RecalculateFOV(), Zone.Region, Tutorial.Remove(), Tutorial.Reserve(), EClass.rnd(), Msg.Say(), EClass.scene, GlobalGoal.SetOwner(), Shaker.ShakeCam(), shaken, ShipGoods(), ShipLetter(), ShipPackages(), ShipRandomPackages(), VirtualDate.SimulateHour(), GlobalGoal.Start(), Chara.trait, TraitChara.UseGlobalGoal, World.weather, and EClass.world.

Referenced by AdvanceMin(), WidgetArtTool.OnActivate(), and LayerTravel.Refresh().

◆ AdvanceMin()

void GameDate.AdvanceMin ( int  a)
inline

Definition at line 22 of file GameDate.cs.

23 {
24 EClass.game.sessionMin += a;
25 EClass.player.stats.mins += a;
26 base.min += a;
27 if (base.min >= 60)
28 {
29 while (base.min >= 60)
30 {
31 base.min -= 60;
33 }
35 }
36 else if (base.min % 3 == 2)
37 {
39 }
40 if (EClass._map.footmarks.Count > 0)
41 {
42 for (int num = EClass._map.footmarks.Count - 1; num >= 0; num--)
43 {
44 Footmark footmark = EClass._map.footmarks[num];
45 footmark.remaining--;
46 if (footmark.remaining <= 0)
47 {
48 CellDetail detail = footmark.pos.detail;
49 if (detail != null && detail.footmark == footmark)
50 {
51 detail.footmark = null;
52 footmark.pos.cell.TryDespawnDetail();
53 }
54 EClass._map.footmarks.RemoveAt(num);
55 }
56 }
57 }
60 {
61 Msg.NewLine();
62 EClass.player.countNewline = 0;
63 }
66 {
67 item.minElapsed += a;
68 }
69 }
Footmark footmark
Definition: CellDetail.cs:17
void TryDespawnDetail()
Definition: Cell.cs:1542
new GameConfig game
Definition: CoreConfig.cs:605
static Map _map
Definition: EClass.cs:18
static BaseGameScreen screen
Definition: EClass.cs:32
int remaining
Definition: Footmark.cs:5
Point pos
Definition: Footmark.cs:3
void AdvanceHour()
Definition: GameDate.cs:71
List< Footmark > footmarks
Definition: Map.cs:99
static void NewLine()
Definition: Msg.cs:318
void OnChangeMin()
Definition: PCOrbit.cs:19
int countNewline
Definition: Player.cs:1184
CellDetail detail
Definition: Point.cs:71
Cell cell
Definition: Point.cs:51
List< ZoneEvent > list
ZoneEventManager events
Definition: Zone.cs:40

References EClass._map, EClass._zone, AdvanceHour(), Point.cell, Core.config, EClass.core, Player.countNewline, Point.detail, Zone.events, CellDetail.footmark, Map.footmarks, CoreConfig.game, item, ZoneEventManager.list, Msg.NewLine(), CoreConfig.GameConfig.newlineCount, PCOrbit.OnChangeMin(), BaseGameScreen.pcOrbit, EClass.player, Footmark.pos, BaseGameScreen.RefreshGrading(), Footmark.remaining, EClass.screen, and Cell.TryDespawnDetail().

Referenced by Chara._Move(), LayerSleep.Advance(), AdvanceSec(), GameUpdater.Update(), and CoreDebug.UpdateInput().

◆ AdvanceMonth()

void GameDate.AdvanceMonth ( )
inline

Definition at line 218 of file GameDate.cs.

219 {
220 base.month++;
221 if (base.month > 12)
222 {
223 base.month = 1;
224 AdvanceYear();
225 }
228 if (base.month % 2 == 0)
229 {
231 }
233 foreach (Thing thing in EClass._map.things)
234 {
235 if (thing.renderer.hasActor)
236 {
237 thing.renderer.RefreshSprite();
238 }
239 }
241 }
void RefreshSprite()
CardRenderer renderer
Definition: Card.cs:61
void OnAdvanceMonth()
Definition: FACTION.cs:376
void AdvanceYear()
Definition: GameDate.cs:243
List< Thing > things
Definition: Map.cs:49
void RefreshAllTiles()
Definition: Map.cs:2108
void OnAdvanceMonth()
int months
Definition: Player.cs:78
int holyWell
Definition: Player.cs:914
NumLogManager nums
Definition: Player.cs:1016

References EClass._map, AdvanceYear(), Chara.faction, CardRenderer.hasActor, Player.holyWell, Player.Stats.months, Player.nums, Faction.OnAdvanceMonth(), NumLogManager.OnAdvanceMonth(), EClass.pc, EClass.player, Map.RefreshAllTiles(), CardRenderer.RefreshSprite(), Card.renderer, Player.stats, and Map.things.

Referenced by AdvanceDay().

◆ AdvanceSec()

void GameDate.AdvanceSec ( int  a)
inline

Definition at line 12 of file GameDate.cs.

13 {
14 base.sec += a;
15 if (base.sec >= 60)
16 {
17 AdvanceMin(base.sec / 60);
18 base.sec %= 60;
19 }
20 }
void AdvanceMin(int a)
Definition: GameDate.cs:22

References AdvanceMin().

◆ AdvanceYear()

void GameDate.AdvanceYear ( )
inline

Definition at line 243 of file GameDate.cs.

244 {
245 base.year++;
246 EClass.player.flags.santa = 0;
247 EClass.player.wellWished = false;
249 EClass.world.SendPackage(ThingGen.Create("gift_newyear"));
250 }
void OnAdvanceYear()

References ThingGen.Create(), Player.nums, NumLogManager.OnAdvanceYear(), EClass.player, World.SendPackage(), and EClass.world.

Referenced by AdvanceMonth().

◆ ShipGoods()

void GameDate.ShipGoods ( )
inline

Definition at line 252 of file GameDate.cs.

253 {
254 Thing container_shipping = EClass.game.cards.container_shipping;
255 if (container_shipping.things.Count == 0)
256 {
257 return;
258 }
259 int num = 0;
260 int num2 = 0;
261 int num3 = 0;
262 int num4 = 0;
263 List<Thing> list = new List<Thing>();
264 List<string> list2 = new List<string>();
266 if (zone == null || zone.branch == null)
267 {
268 zone = EClass.pc.homeZone;
269 }
270 ShippingResult shippingResult = new ShippingResult();
271 shippingResult.rawDate = EClass.world.date.GetRaw();
272 shippingResult.uidZone = zone.uid;
274 {
275 EClass.player.stats.shipMoney = 2147483647L;
276 }
277 shippingResult.total = EClass.player.stats.shipMoney;
278 shippingResult.hearthLv = zone.branch.lv;
279 shippingResult.hearthExp = zone.branch.exp;
280 shippingResult.debt = EClass.player.debt;
281 foreach (Thing thing3 in container_shipping.things)
282 {
283 if (thing3.trait.CanBeShipped)
284 {
285 int price = thing3.GetPrice(CurrencyType.Money, sell: true, PriceType.Shipping);
286 int num5 = price * thing3.Num;
287 num3 += num5;
288 num += thing3.Num;
289 num2 += EClass.rndHalf(thing3.Num * Mathf.Min(15 + price, 10000) / 100 + 1);
290 list.Add(thing3);
291 shippingResult.items.Add(new ShippingResult.Item
292 {
293 text = thing3.Name,
294 income = num5
295 });
296 }
297 }
298 if (list.Count == 0)
299 {
300 return;
301 }
302 num2 = num2 / 2 + 1;
303 if (zone.branch.policies.IsActive(2515))
304 {
305 num2 = 0;
306 }
307 shippingResult.hearthExpGained = num2;
308 EClass.pc.homeBranch.log.Add(Msg.Say("shipped_collect"));
309 foreach (string item in list2)
310 {
312 }
314 EClass.player.stats.shipNum += num;
315 EClass.player.stats.shipMoney += num3;
317 if (shippingBonus2 > shippingBonus)
318 {
319 num4 = shippingBonus2 - shippingBonus;
320 }
321 foreach (Thing item2 in list)
322 {
323 item2.Destroy();
324 }
325 Thing thing = null;
326 Thing thing2 = null;
327 string text = "";
328 if (num3 != 0)
329 {
330 thing = ThingGen.Create("money").SetNum(num3);
331 }
332 if (num4 != 0)
333 {
334 thing2 = ThingGen.Create("money2").SetNum(num4);
335 }
336 if (thing != null && thing2 != null)
337 {
338 text = "_and".lang(thing.Name, thing2.Name);
339 SE.Pay();
340 }
341 else if (thing != null || thing2 != null)
342 {
343 text = ((thing != null) ? thing : thing2).Name;
344 }
345 EClass.pc.homeBranch.log.Add(Msg.Say((text == "") ? "shipped_none" : "shipped", num.ToString() ?? "", text), FontColor.Good);
346 EClass.player.shippingResults.Add(shippingResult);
347 EClass.player.showShippingResult = EClass.core.config.game.showShippingResult;
348 for (int i = 0; i < EClass.player.shippingResults.Count - 10; i++)
349 {
350 EClass.player.shippingResults.RemoveAt(0);
351 }
352 zone.branch.statistics.ship += num3;
353 zone.branch.ModExp(num2);
354 if (thing != null)
355 {
356 EClass.pc.Pick(thing);
357 }
358 if (thing2 != null)
359 {
360 EClass.pc.Pick(thing2);
361 }
362 }
CurrencyType
Definition: CurrencyType.cs:2
FontColor
Definition: FontColor.cs:2
PriceType
Definition: PriceType.cs:2
Thing container_shipping
Definition: CardManager.cs:52
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:7113
string Name
Definition: Card.cs:2125
Thing SetNum(int a)
Definition: Card.cs:3425
Trait trait
Definition: Card.cs:53
void Destroy()
Definition: Card.cs:4981
ThingContainer things
Definition: Card.cs:38
int Num
Definition: Card.cs:158
FactionBranch homeBranch
Definition: Chara.cs:1064
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
Definition: Chara.cs:4231
int GetRaw(int offsetHours=0)
Definition: Date.cs:322
static int rndHalf(int a)
Definition: EClass.cs:87
void ModExp(int a)
PolicyManager policies
SpatialManager spatials
Definition: Game.cs:152
void Add(Data data)
Definition: MsgLog.cs:53
long shipMoney
Definition: Player.cs:126
int GetShippingBonus(long _a)
Definition: Player.cs:216
int debt
Definition: Player.cs:944
List< ShippingResult > shippingResults
Definition: Player.cs:1121
int uidLastShippedZone
Definition: Player.cs:899
bool IsActive(int id, int days=-1)
List< Item > items
Zone Find(string id)
int uid
Definition: Spatial.cs:70
virtual bool CanBeShipped
Definition: Trait.cs:317
GameDate date
Definition: World.cs:6
Definition: Zone.cs:12
FactionBranch branch
Definition: Zone.cs:34

References MsgLog.Add(), Zone.branch, Trait.CanBeShipped, Game.cards, Core.config, CardManager.container_shipping, EClass.core, ThingGen.Create(), World.date, Player.debt, Card.Destroy(), FactionBranch.exp, SpatialManager.Find(), CoreConfig.game, EClass.game, Card.GetPrice(), Date.GetRaw(), Player.Stats.GetShippingBonus(), Chara.homeBranch, Chara.homeZone, item, FactionBranch.log, FactionBranch.lv, Card.Name, Card.Num, EClass.pc, Chara.Pick(), EClass.player, EClass.rndHalf(), Msg.Say(), Card.SetNum(), Player.Stats.shipMoney, Player.shippingResults, CoreConfig.GameConfig.showShippingResult, Game.spatials, Player.stats, Card.things, Card.trait, Spatial.uid, Player.uidLastShippedZone, and EClass.world.

Referenced by AdvanceHour().

◆ ShipLetter()

void GameDate.ShipLetter ( )
inline

Definition at line 409 of file GameDate.cs.

410 {
411 int num = -1;
412 int lutz = EClass.player.flags.lutz;
413 if (EClass.player.stats.days >= 2 && lutz <= 0)
414 {
415 num = 1;
416 }
417 else if (EClass.player.stats.days >= 5 && lutz <= 1)
418 {
419 num = 2;
420 }
421 else if (EClass.player.stats.days >= 8 && lutz <= 2)
422 {
423 num = 3;
424 }
425 else if (EClass.player.stats.days >= 11 && lutz <= 3)
426 {
427 num = 4;
428 }
429 else if (EClass.player.stats.days >= 15 && lutz <= 4)
430 {
431 num = 5;
432 }
433 else if (EClass.player.stats.days >= 17 && lutz <= 5)
434 {
435 num = 6;
436 }
437 else if (EClass.player.stats.days >= 30 && lutz <= 6)
438 {
439 num = 7;
440 }
441 else if (EClass.player.stats.days >= 50 && lutz <= 7)
442 {
443 num = 8;
444 }
445 if (num != -1)
446 {
447 EClass.player.flags.lutz = num;
448 Thing thing = ThingGen.Create("letter");
449 thing.SetStr(53, "lutz_" + num);
450 EClass.world.SendPackage(thing);
451 }
452 }
int lutz
Definition: Player.cs:632

References ThingGen.Create(), Player.Stats.days, Player.flags, Player.Flags.lutz, EClass.player, World.SendPackage(), BaseCard.SetStr(), Player.stats, and EClass.world.

Referenced by AdvanceHour().

◆ ShipPackages()

void GameDate.ShipPackages ( )
inline

Definition at line 364 of file GameDate.cs.

365 {
366 Thing container_deliver = EClass.game.cards.container_deliver;
367 if (container_deliver.things.Count == 0)
368 {
369 return;
370 }
371 int num = 0;
372 while (container_deliver.things.Count > 0)
373 {
374 num++;
375 if (num > 100)
376 {
377 Debug.Log("too many tries");
378 break;
379 }
380 int uidZone = 0;
381 foreach (Thing thing2 in container_deliver.things)
382 {
383 int @int = thing2.GetInt(102);
384 if (@int != 0)
385 {
386 uidZone = @int;
387 thing2.SetInt(102);
388 break;
389 }
390 }
391 int num2 = 20;
392 Thing thing = ThingGen.CreateCardboardBox(uidZone);
393 for (int num3 = container_deliver.things.Count - 1; num3 >= 0; num3--)
394 {
395 Thing c = container_deliver.things[num3];
396 thing.AddCard(c);
397 num2 += 5;
398 if (thing.things.IsFull())
399 {
400 break;
401 }
402 }
403 EClass.world.SendPackage(thing);
404 Thing bill = ThingGen.CreateBill(num2, tax: false);
406 }
407 }
int GetInt(int id, int? defaultInt=null)
Definition: BaseCard.cs:25
void SetInt(int id, int value=0)
Definition: BaseCard.cs:39
Thing container_deliver
Definition: CardManager.cs:55
Card AddCard(Card c)
Definition: Card.cs:3071
void TryPayBill(Thing bill)
Definition: FACTION.cs:413
bool IsFull(int y=0)
static Thing CreateBill(int pay, bool tax)
Definition: ThingGen.cs:85
static Thing CreateCardboardBox(int uidZone=-1)
Definition: ThingGen.cs:244

References Card.AddCard(), bill, Game.cards, CardManager.container_deliver, ThingGen.CreateBill(), ThingGen.CreateCardboardBox(), Debug, Chara.faction, EClass.game, BaseCard.GetInt(), ThingContainer.IsFull(), EClass.pc, World.SendPackage(), BaseCard.SetInt(), Card.things, Faction.TryPayBill(), and EClass.world.

Referenced by AdvanceHour().

◆ ShipRandomPackages()

void GameDate.ShipRandomPackages ( )
inline

Definition at line 454 of file GameDate.cs.

455 {
457 TraitContainer traitContainer = box.trait as TraitContainer;
458 bool flag = EClass.pc.homeBranch.policies.IsActive(2708);
459 if (EClass.rnd(EClass.debug.enable ? 1 : 100) == 0 && !EClass.player.flags.statueShipped)
460 {
461 EClass.player.flags.statueShipped = true;
462 Add("statue_weird", 1);
463 flag = false;
464 }
465 else if (EClass.rnd(10) == 0)
466 {
467 Add("234", 1);
468 }
469 else if (EClass.rnd(5) == 0)
470 {
471 AddThing(ThingGen.CreateFromCategory("junk"), 1);
472 }
473 else if (EClass.rnd(10) == 0)
474 {
475 AddThing(ThingGen.CreateFromTag("garbage"), 1);
476 }
477 else if (EClass.rnd(8) == 0)
478 {
479 CardRow cardRow = SpawnList.Get("chara").Select(EClass.pc.LV + 10);
480 traitContainer.PutChara(cardRow.id);
481 flag = false;
482 }
483 else if (EClass.rnd(8) == 0)
484 {
485 Add("plat", 1 + EClass.rnd(4));
486 flag = false;
487 }
488 else if (EClass.rnd(8) == 0)
489 {
490 Add("money2", 1 + EClass.rnd(4));
491 flag = false;
492 }
493 else
494 {
495 string id2 = "trash2";
496 if (EClass.rnd(3) == 0)
497 {
498 id2 = "trash1";
499 }
500 if (EClass.rnd(3) == 0)
501 {
502 id2 = ((EClass.rnd(3) == 0) ? "529" : "1170");
503 }
504 if (EClass.rnd(5) == 0)
505 {
506 id2 = "_poop";
507 }
508 if (EClass.rnd(100) == 0)
509 {
510 id2 = "goodness";
511 flag = false;
512 }
513 Add(id2, 1);
514 }
515 if (!flag)
516 {
518 }
519 void Add(string id, int num)
520 {
521 AddThing(ThingGen.Create(id), num);
522 }
523 void AddThing(Thing t, int num)
524 {
525 t.SetNum(num);
526 box.AddCard(t);
527 }
528 }
list. Add(item3)
string id
Definition: CardRow.cs:7
int LV
Definition: Card.cs:386
bool enable
Definition: CoreDebug.cs:286
static CoreDebug debug
Definition: EClass.cs:48
bool statueShipped
Definition: Player.cs:428
static SpawnList Get(string id, string parent=null, CardFilter filter=null)
Definition: SpawnList.cs:18
CardRow Select(int lv=-1, int levelRange=-1)
Definition: SpawnList.cs:139
static Thing CreateFromTag(string idTag, int lv=-1)
Definition: ThingGen.cs:80
static Thing CreateFromCategory(string idCat, int lv=-1)
Definition: ThingGen.cs:75
void PutChara(string id)

References Add(), Card.AddCard(), ThingGen.Create(), ThingGen.CreateCardboardBox(), ThingGen.CreateFromCategory(), ThingGen.CreateFromTag(), EClass.debug, CoreDebug.enable, Player.flags, SpawnList.Get(), Chara.homeBranch, CardRow.id, PolicyManager.IsActive(), Card.LV, EClass.pc, EClass.player, FactionBranch.policies, TraitBaseContainer.PutChara(), EClass.rnd(), SpawnList.Select(), World.SendPackage(), Card.SetNum(), Player.Flags.statueShipped, and EClass.world.

Referenced by AdvanceHour().

Member Data Documentation

◆ minPerRound

const int GameDate.minPerRound = 5
static

Definition at line 10 of file GameDate.cs.

◆ shaken

bool GameDate.shaken

Definition at line 8 of file GameDate.cs.

Referenced by AdvanceDay(), and AdvanceHour().


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