Elin Decompiled Documentation EA 23.267 Stable Patch 1
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 (long _a, int start, int step, int rate=75)
 
static int sqrt (int a)
 
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]
 
int HourMorning [get]
 
int HourNight [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 149 of file GameDate.cs.

150 {
151 base.day++;
153 EClass.player.questRerollCost -= 3;
155 {
156 EClass.player.questRerollCost = 0;
157 }
158 if (EClass.player.stats.days >= 90)
159 {
160 Tutorial.Reserve("death_penalty");
161 }
162 if (base.day > 30)
163 {
164 base.day = 1;
165 AdvanceMonth();
166 }
168 EClass.Sound.Play("owl");
169 if (!EClass.player.prayed && EClass.pc.Evalue(1655) > 0)
170 {
171 ActPray.TryPray(EClass.pc, passive: true);
172 }
173 Msg.Say("endDay");
174 shaken = false;
178 foreach (Chara item in EClass.game.cards.listAdv)
179 {
180 if (!item.IsPCFaction && EClass.rnd(10) == 0 && (item.isDead || item.currentZone == null || item.currentZone.id == "somewhere"))
181 {
182 item.SetHomeZone(EClass.world.region.ListTowns().RandomItem());
183 item.Revive();
184 item.MoveZone(item.homeZone);
185 }
186 }
187 foreach (Chara value in EClass.game.cards.globalCharas.Values)
188 {
189 value.OnAdvanceDay();
190 }
192 {
194 }
195 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"))
196 {
197 EClass.game.quests.Add("fiama_starter_gift", "fiama");
198 }
199 if (EClass.game.quests.completedIDs.Contains("demitas_spellwriter") && !EClass.game.quests.IsAdded<QuestNegotiationDarkness>())
200 {
201 EClass.game.quests.Add("negotiation_darkness", "loytel");
202 }
203 if (EClass.game.quests.IsCompleted("exploration"))
204 {
207 {
208 EClass.player.flags.magicChestSent = true;
209 Thing thing = ThingGen.Create("parchment");
210 thing.SetStr(53, "letter_magic_chest");
211 Thing p = ThingGen.CreateParcel(null, ThingGen.Create("container_magic"), thing);
213 }
214 }
215 if (base.day == 1 && base.month == 11 && (EClass.game.quests.IsStarted<QuestDebt>() || EClass.debug.enable))
216 {
217 Thing thing2 = ThingGen.Create("parchment");
218 thing2.SetStr(53, "letter_crimale");
219 Thing p2 = ThingGen.CreateParcel(null, ThingGen.Create("crimale2"), thing2);
221 }
222 if (base.day == 25 && base.month == 12)
223 {
225 }
226 }
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:2574
Definition: Chara.cs:10
Faction faction
Definition: Chara.cs:429
void OnAdvanceDay()
Definition: Chara.cs:10130
Zone currentZone
Definition: Chara.cs:257
Zone homeZone
Definition: Chara.cs:269
bool enable
Definition: CoreDebug.cs:286
Definition: EClass.cs:6
static Game game
Definition: EClass.cs:9
static World world
Definition: EClass.cs:41
static int rnd(long a)
Definition: EClass.cs:59
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
void OnAdvanceDay()
Definition: FACTION.cs:379
bool shaken
Definition: GameDate.cs:8
void AdvanceMonth()
Definition: GameDate.cs:228
CardManager cards
Definition: Game.cs:156
RelationManager relations
Definition: Game.cs:186
QuestManager quests
Definition: Game.cs:183
Zone StartZone
Definition: Game.cs:278
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:515
int daysAfterQuestExploration
Definition: Player.cs:647
int days
Definition: Player.cs:75
Flags flags
Definition: Player.cs:1094
void OnAdvanceDay()
Definition: Player.cs:2391
Stats stats
Definition: Player.cs:1016
bool prayed
Definition: Player.cs:986
int questRerollCost
Definition: Player.cs:962
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:271
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, EClass.debug, CoreDebug.enable, 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 }
101 {
103 }
104 foreach (Chara value in EClass.game.cards.globalCharas.Values)
105 {
106 if (!value.IsPCParty && value.currentZone != EClass.game.activeZone && value.trait.UseGlobalGoal)
107 {
108 if (value.global.goal == null && !value.IsPCFaction)
109 {
110 GlobalGoalAdv globalGoalAdv = new GlobalGoalAdv();
111 globalGoalAdv.SetOwner(value);
112 globalGoalAdv.Start();
113 }
114 if (value.global.goal != null)
115 {
116 value.global.goal.AdvanceHour();
117 }
118 }
119 }
121 if (base.hour == 5)
122 {
123 ShipGoods();
124 ShipPackages();
125 ShipLetter();
126 if (EClass.rnd(30) == 0 && EClass.game.cards.listPackage.Count <= 2)
127 {
129 }
130 if (base.month == 10)
131 {
132 Tutorial.Reserve("season");
133 }
134 if (base.month == 11)
135 {
136 Tutorial.Reserve("season2");
137 }
138 else
139 {
140 Tutorial.Remove("season2");
141 }
142 if (base.year >= 2500)
143 {
144 Tutorial.Reserve("worldend");
145 }
146 }
147 }
List< Thing > listPackage
Definition: CardManager.cs:61
void RecalculateFOV()
Definition: Card.cs:6530
new TraitChara trait
Definition: Chara.cs:505
override bool IsPCParty
Definition: Chara.cs:617
override bool IsPCFaction
Definition: Chara.cs:673
GlobalData global
Definition: Chara.cs:76
GraphicSetting graphic
Definition: CoreConfig.cs:607
CoreConfig config
Definition: Core.cs:70
static Scene scene
Definition: EClass.cs:31
static Core core
Definition: EClass.cs:7
static Zone _zone
Definition: EClass.cs:21
void ShipGoods()
Definition: GameDate.cs:262
void ShipPackages()
Definition: GameDate.cs:374
void AdvanceDay()
Definition: GameDate.cs:149
void ShipRandomPackages()
Definition: GameDate.cs:464
void ShipLetter()
Definition: GameDate.cs:419
SurvivalManager survival
Definition: Game.cs:228
Zone activeZone
Definition: Game.cs:252
bool IsSurvival
Definition: Game.cs:276
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:2371
void OnAdvanceHour()
void CheckRandomSites()
Definition: Region.cs:75
void OnChangeHour()
Definition: Scene.cs:780
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:1186
Region Region
Definition: Zone.cs:163

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, Game.IsSurvival, CardManager.listPackage, Player.OnAdvanceHour(), QuestManager.OnAdvanceHour(), SurvivalManager.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(), Game.survival, 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:609
static Map _map
Definition: EClass.cs:19
static BaseGameScreen screen
Definition: EClass.cs:33
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:1187
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 228 of file GameDate.cs.

229 {
230 base.month++;
231 if (base.month > 12)
232 {
233 base.month = 1;
234 AdvanceYear();
235 }
238 if (base.month % 2 == 0)
239 {
241 }
243 foreach (Thing thing in EClass._map.things)
244 {
245 if (thing.renderer.hasActor)
246 {
247 thing.renderer.RefreshSprite();
248 }
249 }
251 }
void RefreshSprite()
CardRenderer renderer
Definition: Card.cs:62
void OnAdvanceMonth()
Definition: FACTION.cs:387
void AdvanceYear()
Definition: GameDate.cs:253
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:917
NumLogManager nums
Definition: Player.cs:1019

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 253 of file GameDate.cs.

254 {
255 base.year++;
256 EClass.player.flags.santa = 0;
257 EClass.player.wellWished = false;
259 EClass.world.SendPackage(ThingGen.Create("gift_newyear"));
260 }
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 262 of file GameDate.cs.

263 {
264 Thing container_shipping = EClass.game.cards.container_shipping;
265 if (container_shipping.things.Count == 0)
266 {
267 return;
268 }
269 int num = 0;
270 int num2 = 0;
271 int num3 = 0;
272 int num4 = 0;
273 List<Thing> list = new List<Thing>();
274 List<string> list2 = new List<string>();
276 if (zone == null || zone.branch == null)
277 {
278 zone = EClass.pc.homeZone;
279 }
280 ShippingResult shippingResult = new ShippingResult();
281 shippingResult.rawDate = EClass.world.date.GetRaw();
282 shippingResult.uidZone = zone.uid;
284 {
285 EClass.player.stats.shipMoney = 2147483647L;
286 }
287 shippingResult.total = EClass.player.stats.shipMoney;
288 shippingResult.hearthLv = zone.branch.lv;
289 shippingResult.hearthExp = zone.branch.exp;
290 shippingResult.debt = EClass.player.debt;
291 foreach (Thing thing3 in container_shipping.things)
292 {
293 if (thing3.trait.CanBeShipped)
294 {
295 int price = thing3.GetPrice(CurrencyType.Money, sell: true, PriceType.Shipping);
296 int num5 = price * thing3.Num;
297 num3 += num5;
298 num += thing3.Num;
299 num2 += EClass.rndHalf(thing3.Num * Mathf.Min(15 + price, 10000) / 100 + 1);
300 list.Add(thing3);
301 shippingResult.items.Add(new ShippingResult.Item
302 {
303 text = thing3.Name,
304 income = num5
305 });
306 }
307 }
308 if (list.Count == 0)
309 {
310 return;
311 }
312 num2 = num2 / 2 + 1;
313 if (zone.branch.policies.IsActive(2515))
314 {
315 num2 = 0;
316 }
317 shippingResult.hearthExpGained = num2;
318 EClass.pc.homeBranch.log.Add(Msg.Say("shipped_collect"));
319 foreach (string item in list2)
320 {
322 }
324 EClass.player.stats.shipNum += num;
325 EClass.player.stats.shipMoney += num3;
327 if (shippingBonus2 > shippingBonus)
328 {
329 num4 = shippingBonus2 - shippingBonus;
330 }
331 foreach (Thing item2 in list)
332 {
333 item2.Destroy();
334 }
335 Thing thing = null;
336 Thing thing2 = null;
337 string text = "";
338 if (num3 != 0)
339 {
340 thing = ThingGen.Create("money").SetNum(num3);
341 }
342 if (num4 != 0)
343 {
344 thing2 = ThingGen.Create("money2").SetNum(num4);
345 }
346 if (thing != null && thing2 != null)
347 {
348 text = "_and".lang(thing.Name, thing2.Name);
349 SE.Pay();
350 }
351 else if (thing != null || thing2 != null)
352 {
353 text = ((thing != null) ? thing : thing2).Name;
354 }
355 EClass.pc.homeBranch.log.Add(Msg.Say((text == "") ? "shipped_none" : "shipped", num.ToString() ?? "", text), FontColor.Good);
356 EClass.player.shippingResults.Add(shippingResult);
357 EClass.player.showShippingResult = EClass.core.config.game.showShippingResult;
358 for (int i = 0; i < EClass.player.shippingResults.Count - 10; i++)
359 {
360 EClass.player.shippingResults.RemoveAt(0);
361 }
362 zone.branch.statistics.ship += num3;
363 zone.branch.ModExp(num2);
364 if (thing != null)
365 {
366 EClass.pc.Pick(thing);
367 }
368 if (thing2 != null)
369 {
370 EClass.pc.Pick(thing2);
371 }
372 }
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:7443
string Name
Definition: Card.cs:2140
Thing SetNum(int a)
Definition: Card.cs:3520
Trait trait
Definition: Card.cs:54
void Destroy()
Definition: Card.cs:5103
ThingContainer things
Definition: Card.cs:39
int Num
Definition: Card.cs:159
FactionBranch homeBranch
Definition: Chara.cs:1068
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
Definition: Chara.cs:4312
int GetRaw(int offsetHours=0)
Definition: Date.cs:326
static int rndHalf(int a)
Definition: EClass.cs:97
void ModExp(int a)
PolicyManager policies
SpatialManager spatials
Definition: Game.cs:153
void Add(Data data)
Definition: MsgLog.cs:53
long shipMoney
Definition: Player.cs:129
int GetShippingBonus(long _a)
Definition: Player.cs:219
int debt
Definition: Player.cs:947
List< ShippingResult > shippingResults
Definition: Player.cs:1124
int uidLastShippedZone
Definition: Player.cs:902
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:330
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 419 of file GameDate.cs.

420 {
421 int num = -1;
422 int lutz = EClass.player.flags.lutz;
423 if (EClass.player.stats.days >= 2 && lutz <= 0)
424 {
425 num = 1;
426 }
427 else if (EClass.player.stats.days >= 5 && lutz <= 1)
428 {
429 num = 2;
430 }
431 else if (EClass.player.stats.days >= 8 && lutz <= 2)
432 {
433 num = 3;
434 }
435 else if (EClass.player.stats.days >= 11 && lutz <= 3)
436 {
437 num = 4;
438 }
439 else if (EClass.player.stats.days >= 15 && lutz <= 4)
440 {
441 num = 5;
442 }
443 else if (EClass.player.stats.days >= 17 && lutz <= 5)
444 {
445 num = 6;
446 }
447 else if (EClass.player.stats.days >= 30 && lutz <= 6)
448 {
449 num = 7;
450 }
451 else if (EClass.player.stats.days >= 50 && lutz <= 7)
452 {
453 num = 8;
454 }
455 if (num != -1)
456 {
457 EClass.player.flags.lutz = num;
458 Thing thing = ThingGen.Create("letter");
459 thing.SetStr(53, "lutz_" + num);
460 EClass.world.SendPackage(thing);
461 }
462 }
int lutz
Definition: Player.cs:635

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 374 of file GameDate.cs.

375 {
376 Thing container_deliver = EClass.game.cards.container_deliver;
377 if (container_deliver.things.Count == 0)
378 {
379 return;
380 }
381 int num = 0;
382 while (container_deliver.things.Count > 0)
383 {
384 num++;
385 if (num > 100)
386 {
387 Debug.Log("too many tries");
388 break;
389 }
390 int uidZone = 0;
391 foreach (Thing thing2 in container_deliver.things)
392 {
393 int @int = thing2.GetInt(102);
394 if (@int != 0)
395 {
396 uidZone = @int;
397 thing2.SetInt(102);
398 break;
399 }
400 }
401 int num2 = 20;
402 Thing thing = ThingGen.CreateCardboardBox(uidZone);
403 for (int num3 = container_deliver.things.Count - 1; num3 >= 0; num3--)
404 {
405 Thing c = container_deliver.things[num3];
406 thing.AddCard(c);
407 num2 += 5;
408 if (thing.things.IsFull())
409 {
410 break;
411 }
412 }
413 EClass.world.SendPackage(thing);
414 Thing bill = ThingGen.CreateBill(num2, tax: false);
416 }
417 }
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:3109
void TryPayBill(Thing bill)
Definition: FACTION.cs:424
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 464 of file GameDate.cs.

465 {
467 TraitContainer traitContainer = box.trait as TraitContainer;
468 bool flag = EClass.pc.homeBranch.policies.IsActive(2708);
469 if (EClass.rnd(EClass.debug.enable ? 1 : 100) == 0 && !EClass.player.flags.statueShipped)
470 {
471 EClass.player.flags.statueShipped = true;
472 Add("statue_weird", 1);
473 flag = false;
474 }
475 else if (EClass.rnd(10) == 0)
476 {
477 Add("234", 1);
478 }
479 else if (EClass.rnd(5) == 0)
480 {
481 AddThing(ThingGen.CreateFromCategory("junk"), 1);
482 }
483 else if (EClass.rnd(10) == 0)
484 {
485 AddThing(ThingGen.CreateFromTag("garbage"), 1);
486 }
487 else if (EClass.rnd(8) == 0)
488 {
489 CardRow cardRow = SpawnList.Get("chara").Select(EClass.pc.LV + 10);
490 traitContainer.PutChara(cardRow.id);
491 flag = false;
492 }
493 else if (EClass.rnd(8) == 0)
494 {
495 Add("plat", 1 + EClass.rnd(4));
496 flag = false;
497 }
498 else if (EClass.rnd(8) == 0)
499 {
500 Add("money2", 1 + EClass.rnd(4));
501 flag = false;
502 }
503 else
504 {
505 string id2 = "trash2";
506 if (EClass.rnd(3) == 0)
507 {
508 id2 = "trash1";
509 }
510 if (EClass.rnd(3) == 0)
511 {
512 id2 = ((EClass.rnd(3) == 0) ? "529" : "1170");
513 }
514 if (EClass.rnd(5) == 0)
515 {
516 id2 = "_poop";
517 }
518 if (EClass.rnd(100) == 0)
519 {
520 id2 = "goodness";
521 flag = false;
522 }
523 Add(id2, 1);
524 }
525 if (!flag)
526 {
528 }
529 void Add(string id, int num)
530 {
531 AddThing(ThingGen.Create(id), num);
532 }
533 void AddThing(Thing t, int num)
534 {
535 t.SetNum(num);
536 box.AddCard(t);
537 }
538 }
list. Add(item3)
string id
Definition: CardRow.cs:7
int LV
Definition: Card.cs:387
bool statueShipped
Definition: Player.cs:431
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: