Elin Decompiled Documentation EA 23.102 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 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 141 of file GameDate.cs.

142 {
143 base.day++;
144 base.min = 0;
146 EClass.player.questRerollCost -= 3;
148 {
149 EClass.player.questRerollCost = 0;
150 }
151 if (EClass.player.stats.days >= 90)
152 {
153 Tutorial.Reserve("death_penalty");
154 }
155 if (base.day > 30)
156 {
157 base.day = 1;
158 AdvanceMonth();
159 }
161 EClass.Sound.Play("owl");
162 if (!EClass.player.prayed && EClass.pc.Evalue(1655) > 0)
163 {
164 ActPray.TryPray(EClass.pc, passive: true);
165 }
166 Msg.Say("endDay");
167 shaken = false;
171 foreach (Chara item in EClass.game.cards.listAdv)
172 {
173 if (!item.IsPCFaction && EClass.rnd(10) == 0 && (item.isDead || item.currentZone == null || item.currentZone.id == "somewhere"))
174 {
175 item.SetHomeZone(EClass.world.region.ListTowns().RandomItem());
176 item.Revive();
177 item.MoveZone(item.homeZone);
178 }
179 }
181 {
183 }
184 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"))
185 {
186 EClass.game.quests.Add("fiama_starter_gift", "fiama");
187 }
188 if (EClass.game.quests.IsCompleted("exploration"))
189 {
192 {
193 EClass.player.flags.magicChestSent = true;
194 Thing thing = ThingGen.Create("parchment");
195 thing.SetStr(53, "letter_magic_chest");
196 Thing p = ThingGen.CreateParcel(null, ThingGen.Create("container_magic"), thing);
198 }
199 }
200 if (base.day == 25 && base.month == 12)
201 {
203 }
204 }
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:2431
Definition: Chara.cs:10
Faction faction
Definition: Chara.cs:412
Zone currentZone
Definition: Chara.cs:240
Zone homeZone
Definition: Chara.cs:252
Definition: EClass.cs:5
static Game game
Definition: EClass.cs:8
static int rnd(int a)
Definition: EClass.cs:50
static World world
Definition: EClass.cs:40
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:362
bool shaken
Definition: GameDate.cs:8
void AdvanceMonth()
Definition: GameDate.cs:206
CardManager cards
Definition: Game.cs:155
RelationManager relations
Definition: Game.cs:182
QuestManager quests
Definition: Game.cs:179
Zone StartZone
Definition: Game.cs:269
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:402
int daysAfterQuestExploration
Definition: Player.cs:498
int days
Definition: Player.cs:68
Flags flags
Definition: Player.cs:895
void OnAdvanceDay()
Definition: Player.cs:2167
Stats stats
Definition: Player.cs:817
bool prayed
Definition: Player.cs:787
int questRerollCost
Definition: Player.cs:769
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:231
void UpdateRelations()
Faction mainFaction
Definition: Spatial.cs:430
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, 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, 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 }
139 }
List< Thing > listPackage
Definition: CardManager.cs:61
void RecalculateFOV()
Definition: Card.cs:5616
new TraitChara trait
Definition: Chara.cs:488
override bool IsPCParty
Definition: Chara.cs:600
override bool IsPCFaction
Definition: Chara.cs:656
GlobalData global
Definition: Chara.cs:73
GraphicSetting graphic
Definition: CoreConfig.cs:594
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:239
void ShipPackages()
Definition: GameDate.cs:351
void AdvanceDay()
Definition: GameDate.cs:141
void ShipRandomPackages()
Definition: GameDate.cs:441
void ShipLetter()
Definition: GameDate.cs:396
Zone activeZone
Definition: Game.cs:245
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:2147
void OnAdvanceHour()
void CheckRandomSites()
Definition: Region.cs:53
void OnChangeHour()
Definition: Scene.cs:764
Definition: Shaker.cs:5
static void ShakeCam(string id="default", float magnitude=1f)
Definition: Shaker.cs:25
virtual bool IsRegion
Definition: Spatial.cs:501
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:1124
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:1538
new GameConfig game
Definition: CoreConfig.cs:596
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:988
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 206 of file GameDate.cs.

207 {
208 base.month++;
209 if (base.month > 12)
210 {
211 base.month = 1;
212 AdvanceYear();
213 }
216 if (base.month % 2 == 0)
217 {
219 }
221 foreach (Thing thing in EClass._map.things)
222 {
223 if (thing.renderer.hasActor)
224 {
225 thing.renderer.RefreshSprite();
226 }
227 }
229 }
void RefreshSprite()
CardRenderer renderer
Definition: Card.cs:57
void OnAdvanceMonth()
Definition: FACTION.cs:370
void AdvanceYear()
Definition: GameDate.cs:231
List< Thing > things
Definition: Map.cs:49
void RefreshAllTiles()
Definition: Map.cs:2086
void OnAdvanceMonth()
int months
Definition: Player.cs:70
int holyWell
Definition: Player.cs:724
NumLogManager nums
Definition: Player.cs:820

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

232 {
233 base.year++;
234 EClass.player.wellWished = false;
236 EClass.world.SendPackage(ThingGen.Create("gift_newyear"));
237 }
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 239 of file GameDate.cs.

240 {
241 Thing container_shipping = EClass.game.cards.container_shipping;
242 if (container_shipping.things.Count == 0)
243 {
244 return;
245 }
246 int num = 0;
247 int num2 = 0;
248 int num3 = 0;
249 int num4 = 0;
250 List<Thing> list = new List<Thing>();
251 List<string> list2 = new List<string>();
253 if (zone == null || zone.branch == null)
254 {
255 zone = EClass.pc.homeZone;
256 }
257 ShippingResult shippingResult = new ShippingResult();
258 shippingResult.rawDate = EClass.world.date.GetRaw();
259 shippingResult.uidZone = zone.uid;
261 {
262 EClass.player.stats.shipMoney = 2147483647L;
263 }
264 shippingResult.total = EClass.player.stats.shipMoney;
265 shippingResult.hearthLv = zone.branch.lv;
266 shippingResult.hearthExp = zone.branch.exp;
267 shippingResult.debt = EClass.player.debt;
268 foreach (Thing thing3 in container_shipping.things)
269 {
270 if (thing3.trait.CanBeShipped)
271 {
272 int price = thing3.GetPrice(CurrencyType.Money, sell: true, PriceType.Shipping);
273 int num5 = price * thing3.Num;
274 num3 += num5;
275 num += thing3.Num;
276 num2 += EClass.rndHalf(thing3.Num * Mathf.Min(15 + price, 10000) / 100 + 1);
277 list.Add(thing3);
278 shippingResult.items.Add(new ShippingResult.Item
279 {
280 text = thing3.Name,
281 income = num5
282 });
283 }
284 }
285 if (list.Count == 0)
286 {
287 return;
288 }
289 num2 = num2 / 2 + 1;
290 if (zone.branch.policies.IsActive(2515))
291 {
292 num2 = 0;
293 }
294 shippingResult.hearthExpGained = num2;
295 EClass.pc.homeBranch.log.Add(Msg.Say("shipped_collect"));
296 foreach (string item in list2)
297 {
299 }
301 EClass.player.stats.shipNum += num;
302 EClass.player.stats.shipMoney += num3;
304 if (shippingBonus2 > shippingBonus)
305 {
306 num4 = shippingBonus2 - shippingBonus;
307 }
308 foreach (Thing item2 in list)
309 {
310 item2.Destroy();
311 }
312 Thing thing = null;
313 Thing thing2 = null;
314 string text = "";
315 if (num3 != 0)
316 {
317 thing = ThingGen.Create("money").SetNum(num3);
318 }
319 if (num4 != 0)
320 {
321 thing2 = ThingGen.Create("money2").SetNum(num4);
322 }
323 if (thing != null && thing2 != null)
324 {
325 text = "_and".lang(thing.Name, thing2.Name);
326 SE.Pay();
327 }
328 else if (thing != null || thing2 != null)
329 {
330 text = ((thing != null) ? thing : thing2).Name;
331 }
332 EClass.pc.homeBranch.log.Add(Msg.Say((text == "") ? "shipped_none" : "shipped", num.ToString() ?? "", text), FontColor.Good);
333 EClass.player.shippingResults.Add(shippingResult);
334 EClass.player.showShippingResult = EClass.core.config.game.showShippingResult;
335 for (int i = 0; i < EClass.player.shippingResults.Count - 10; i++)
336 {
337 EClass.player.shippingResults.RemoveAt(0);
338 }
339 zone.branch.statistics.ship += num3;
340 zone.branch.ModExp(num2);
341 if (thing != null)
342 {
343 EClass.pc.Pick(thing);
344 }
345 if (thing2 != null)
346 {
347 EClass.pc.Pick(thing2);
348 }
349 }
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:6449
string Name
Definition: Card.cs:2013
Thing SetNum(int a)
Definition: Card.cs:3242
Trait trait
Definition: Card.cs:49
void Destroy()
Definition: Card.cs:4538
ThingContainer things
Definition: Card.cs:34
int Num
Definition: Card.cs:154
FactionBranch homeBranch
Definition: Chara.cs:889
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
Definition: Chara.cs:3920
int GetRaw(int offsetHours=0)
Definition: Date.cs:322
static int rndHalf(int a)
Definition: EClass.cs:74
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:98
int GetShippingBonus(long _a)
Definition: Player.cs:106
int debt
Definition: Player.cs:754
List< ShippingResult > shippingResults
Definition: Player.cs:925
int uidLastShippedZone
Definition: Player.cs:709
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:306
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 396 of file GameDate.cs.

397 {
398 int num = -1;
399 int lutz = EClass.player.flags.lutz;
400 if (EClass.player.stats.days >= 2 && lutz <= 0)
401 {
402 num = 1;
403 }
404 else if (EClass.player.stats.days >= 5 && lutz <= 1)
405 {
406 num = 2;
407 }
408 else if (EClass.player.stats.days >= 8 && lutz <= 2)
409 {
410 num = 3;
411 }
412 else if (EClass.player.stats.days >= 11 && lutz <= 3)
413 {
414 num = 4;
415 }
416 else if (EClass.player.stats.days >= 15 && lutz <= 4)
417 {
418 num = 5;
419 }
420 else if (EClass.player.stats.days >= 17 && lutz <= 5)
421 {
422 num = 6;
423 }
424 else if (EClass.player.stats.days >= 30 && lutz <= 6)
425 {
426 num = 7;
427 }
428 else if (EClass.player.stats.days >= 50 && lutz <= 7)
429 {
430 num = 8;
431 }
432 if (num != -1)
433 {
434 EClass.player.flags.lutz = num;
435 Thing thing = ThingGen.Create("letter");
436 thing.SetStr(53, "lutz_" + num);
437 EClass.world.SendPackage(thing);
438 }
439 }
int lutz
Definition: Player.cs:486

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

352 {
353 Thing container_deliver = EClass.game.cards.container_deliver;
354 if (container_deliver.things.Count == 0)
355 {
356 return;
357 }
358 int num = 0;
359 while (container_deliver.things.Count > 0)
360 {
361 num++;
362 if (num > 100)
363 {
364 Debug.Log("too many tries");
365 break;
366 }
367 int uidZone = 0;
368 foreach (Thing thing2 in container_deliver.things)
369 {
370 int @int = thing2.GetInt(102);
371 if (@int != 0)
372 {
373 uidZone = @int;
374 thing2.SetInt(102);
375 break;
376 }
377 }
378 int num2 = 20;
379 Thing thing = ThingGen.CreateCardboardBox(uidZone);
380 for (int num3 = container_deliver.things.Count - 1; num3 >= 0; num3--)
381 {
382 Thing c = container_deliver.things[num3];
383 thing.AddCard(c);
384 num2 += 5;
385 if (thing.things.IsFull())
386 {
387 break;
388 }
389 }
390 EClass.world.SendPackage(thing);
391 Thing bill = ThingGen.CreateBill(num2, tax: false);
393 }
394 }
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:2887
void TryPayBill(Thing bill)
Definition: FACTION.cs:407
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:191

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

442 {
444 TraitContainer traitContainer = box.trait as TraitContainer;
445 bool flag = EClass.pc.homeBranch.policies.IsActive(2708);
446 if (EClass.rnd(EClass.debug.enable ? 1 : 100) == 0 && !EClass.player.flags.statueShipped)
447 {
448 EClass.player.flags.statueShipped = true;
449 Add("statue_weird", 1);
450 flag = false;
451 }
452 else if (EClass.rnd(10) == 0)
453 {
454 Add("234", 1);
455 }
456 else if (EClass.rnd(5) == 0)
457 {
458 AddThing(ThingGen.CreateFromCategory("junk"), 1);
459 }
460 else if (EClass.rnd(10) == 0)
461 {
462 AddThing(ThingGen.CreateFromTag("garbage"), 1);
463 }
464 else if (EClass.rnd(8) == 0)
465 {
466 CardRow cardRow = SpawnList.Get("chara").Select(EClass.pc.LV + 10);
467 traitContainer.PutChara(cardRow.id);
468 flag = false;
469 }
470 else if (EClass.rnd(8) == 0)
471 {
472 Add("plat", 1 + EClass.rnd(4));
473 flag = false;
474 }
475 else if (EClass.rnd(8) == 0)
476 {
477 Add("money2", 1 + EClass.rnd(4));
478 flag = false;
479 }
480 else
481 {
482 string id2 = "trash2";
483 if (EClass.rnd(3) == 0)
484 {
485 id2 = "trash1";
486 }
487 if (EClass.rnd(3) == 0)
488 {
489 id2 = ((EClass.rnd(3) == 0) ? "529" : "1170");
490 }
491 if (EClass.rnd(5) == 0)
492 {
493 id2 = "_poop";
494 }
495 if (EClass.rnd(100) == 0)
496 {
497 id2 = "goodness";
498 flag = false;
499 }
500 Add(id2, 1);
501 }
502 if (!flag)
503 {
505 }
506 void Add(string id, int num)
507 {
508 AddThing(ThingGen.Create(id), num);
509 }
510 void AddThing(Thing t, int num)
511 {
512 t.SetNum(num);
513 box.AddCard(t);
514 }
515 }
list. Add(item3)
string id
Definition: CardRow.cs:7
int LV
Definition: Card.cs:370
bool enable
Definition: CoreDebug.cs:285
static CoreDebug debug
Definition: EClass.cs:48
bool statueShipped
Definition: Player.cs:318
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: