Elin Decompiled Documentation EA 23.245 Nightly
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 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 145 of file GameDate.cs.

146 {
147 base.day++;
149 EClass.player.questRerollCost -= 3;
151 {
152 EClass.player.questRerollCost = 0;
153 }
154 if (EClass.player.stats.days >= 90)
155 {
156 Tutorial.Reserve("death_penalty");
157 }
158 if (base.day > 30)
159 {
160 base.day = 1;
161 AdvanceMonth();
162 }
164 EClass.Sound.Play("owl");
165 if (!EClass.player.prayed && EClass.pc.Evalue(1655) > 0)
166 {
167 ActPray.TryPray(EClass.pc, passive: true);
168 }
169 Msg.Say("endDay");
170 shaken = false;
174 foreach (Chara item in EClass.game.cards.listAdv)
175 {
176 if (!item.IsPCFaction && EClass.rnd(10) == 0 && (item.isDead || item.currentZone == null || item.currentZone.id == "somewhere"))
177 {
178 item.SetHomeZone(EClass.world.region.ListTowns().RandomItem());
179 item.Revive();
180 item.MoveZone(item.homeZone);
181 }
182 }
183 foreach (Chara value in EClass.game.cards.globalCharas.Values)
184 {
185 value.OnAdvanceDay();
186 }
188 {
190 }
191 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"))
192 {
193 EClass.game.quests.Add("fiama_starter_gift", "fiama");
194 }
195 if (EClass.game.quests.completedIDs.Contains("demitas_spellwriter") && !EClass.game.quests.IsAdded<QuestNegotiationDarkness>())
196 {
197 EClass.game.quests.Add("negotiation_darkness", "loytel");
198 }
199 if (EClass.game.quests.IsCompleted("exploration"))
200 {
203 {
204 EClass.player.flags.magicChestSent = true;
205 Thing thing = ThingGen.Create("parchment");
206 thing.SetStr(53, "letter_magic_chest");
207 Thing p = ThingGen.CreateParcel(null, ThingGen.Create("container_magic"), thing);
209 }
210 }
211 if (base.day == 1 && base.month == 11 && (EClass.game.quests.IsStarted<QuestDebt>() || EClass.debug.enable))
212 {
213 Thing thing2 = ThingGen.Create("parchment");
214 thing2.SetStr(53, "letter_crimale");
215 Thing p2 = ThingGen.CreateParcel(null, ThingGen.Create("crimale2"), thing2);
217 }
218 if (base.day == 25 && base.month == 12)
219 {
221 }
222 }
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:2571
Definition: Chara.cs:10
Faction faction
Definition: Chara.cs:427
void OnAdvanceDay()
Definition: Chara.cs:10067
Zone currentZone
Definition: Chara.cs:255
Zone homeZone
Definition: Chara.cs:267
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:224
CardManager cards
Definition: Game.cs:155
RelationManager relations
Definition: Game.cs:185
QuestManager quests
Definition: Game.cs:182
Zone StartZone
Definition: Game.cs:277
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:2389
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 }
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:6357
new TraitChara trait
Definition: Chara.cs:503
override bool IsPCParty
Definition: Chara.cs:615
override bool IsPCFaction
Definition: Chara.cs:671
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:258
void ShipPackages()
Definition: GameDate.cs:370
void AdvanceDay()
Definition: GameDate.cs:145
void ShipRandomPackages()
Definition: GameDate.cs:460
void ShipLetter()
Definition: GameDate.cs:415
Zone activeZone
Definition: Game.cs:251
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:2369
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:1164
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: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 224 of file GameDate.cs.

225 {
226 base.month++;
227 if (base.month > 12)
228 {
229 base.month = 1;
230 AdvanceYear();
231 }
234 if (base.month % 2 == 0)
235 {
237 }
239 foreach (Thing thing in EClass._map.things)
240 {
241 if (thing.renderer.hasActor)
242 {
243 thing.renderer.RefreshSprite();
244 }
245 }
247 }
void RefreshSprite()
CardRenderer renderer
Definition: Card.cs:61
void OnAdvanceMonth()
Definition: FACTION.cs:387
void AdvanceYear()
Definition: GameDate.cs:249
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 249 of file GameDate.cs.

250 {
251 base.year++;
252 EClass.player.flags.santa = 0;
253 EClass.player.wellWished = false;
255 EClass.world.SendPackage(ThingGen.Create("gift_newyear"));
256 }
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 258 of file GameDate.cs.

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

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

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

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