Elin Modding Docs Doc
Loading...
Searching...
No Matches
ZoneEventDefenseGame.cs
1using System;
2using Newtonsoft.Json;
3using UnityEngine;
4
5// Token: 0x02000749 RID: 1865
7{
8 // Token: 0x170010A1 RID: 4257
9 // (get) Token: 0x0600361A RID: 13850 RVA: 0x00125B50 File Offset: 0x00123D50
10 public ZoneInstanceRandomQuest instance
11 {
12 get
13 {
14 return EClass._zone.instance as ZoneInstanceRandomQuest;
15 }
16 }
17
18 // Token: 0x170010A2 RID: 4258
19 // (get) Token: 0x0600361B RID: 13851 RVA: 0x00125B61 File Offset: 0x00123D61
20 public bool CanRetreat
21 {
22 get
23 {
24 return this.rounds >= 100 && this.hornTimer <= 0;
25 }
26 }
27
28 // Token: 0x170010A3 RID: 4259
29 // (get) Token: 0x0600361C RID: 13852 RVA: 0x00125B7B File Offset: 0x00123D7B
30 public bool CanCallAlly
31 {
32 get
33 {
34 return this.allyCall == 0 && this.rounds >= 50;
35 }
36 }
37
38 // Token: 0x170010A4 RID: 4260
39 // (get) Token: 0x0600361D RID: 13853 RVA: 0x00125B94 File Offset: 0x00123D94
40 public override string TextWidgetDate
41 {
42 get
43 {
44 return "defenseWave".lang(this.wave.ToString() ?? "", this.kills.ToString() ?? "", null, null, null) + ((this.instance != null && this.retreated) ? "defenseRetreating" : (this.CanRetreat ? "defenseRetreat" : "")).lang() + (this.CanCallAlly ? "defenseAlly" : "").lang();
45 }
46 }
47
48 // Token: 0x0600361E RID: 13854 RVA: 0x00125C24 File Offset: 0x00123E24
49 public virtual Chara CreateChara()
50 {
51 return CharaGen.CreateFromFilter("c_wilds", -1, -1);
52 }
53
54 // Token: 0x0600361F RID: 13855 RVA: 0x00125C34 File Offset: 0x00123E34
55 public override void OnVisit()
56 {
57 if (EClass.game.isLoading)
58 {
59 return;
60 }
61 EClass._zone._dangerLv = 5;
62 Point nearestPoint = EClass._map.GetCenterPos().GetNearestPoint(false, false, true, false);
63 EClass._zone.AddCard(ThingGen.Create("stone_defense", -1, -1), nearestPoint).Install().isNPCProperty = true;
64 EClass._zone.AddCard(ThingGen.Create("core_defense", -1, -1), nearestPoint).Install().isNPCProperty = false;
65 EClass._zone.SetBGM(107, true);
66 Msg.Say("defense_start");
67 this.NextWave();
68 }
69
70 // Token: 0x06003620 RID: 13856 RVA: 0x00125CD0 File Offset: 0x00123ED0
71 public void NextWave()
72 {
73 this.wave++;
74 this.turns = 0;
75 EClass._zone._dangerLv += ((this.wave >= 20) ? 10 : 5);
76 SE.Play("warhorn");
77 Msg.Say("defense_wave", this.wave.ToString() ?? "", EClass._zone.DangerLv.ToString() ?? "", null, null);
78 base.Spawn(2 + base.quest.difficulty);
79 base.AggroEnemy(100);
80 }
81
82 // Token: 0x06003621 RID: 13857 RVA: 0x00125D74 File Offset: 0x00123F74
83 public override void _OnTickRound()
84 {
85 QuestDefenseGame.lastWave = this.wave;
86 Debug.Log(string.Concat(new string[]
87 {
88 "wave:",
89 this.wave.ToString(),
90 " turns:",
91 this.turns.ToString(),
92 " rounds:",
93 this.rounds.ToString()
94 }));
95 this.turns++;
96 if (this.hornTimer > 0)
97 {
98 this.hornTimer--;
99 }
100 if (this.turns <= 3 + base.quest.difficulty)
101 {
102 base.Spawn(1);
103 }
104 if (this.turns == 10 && this.wave % 5 == 0)
105 {
106 base.SpawnBoss();
107 }
108 if (this.turns == 20)
109 {
110 this.NextWave();
111 }
112 base.AggroEnemy(100);
113 if (this.allyTimer > 0)
114 {
115 this.allyTimer--;
116 if (this.allyTimer == 0)
117 {
118 this.allyCall--;
119 }
120 }
121 }
122
123 // Token: 0x06003622 RID: 13858 RVA: 0x00125E7E File Offset: 0x0012407E
124 public void Horn_Next()
125 {
126 Msg.Say("defense_start");
127 this.NextWave();
128 this.hornTimer += 10;
129 }
130
131 // Token: 0x06003623 RID: 13859 RVA: 0x00125EA0 File Offset: 0x001240A0
132 public void Horn_Retreat()
133 {
134 SE.Play("warhorn");
135 Msg.Say("defense_retreat");
136 this.retreated = true;
137 this.instance.status = ZoneInstance.Status.Success;
138 ActEffect.Proc(EffectId.Evac, EClass.pc, null, 100, default(ActRef));
139 }
140
141 // Token: 0x06003624 RID: 13860 RVA: 0x00125EF0 File Offset: 0x001240F0
142 public void Horn_Ally()
143 {
144 SE.Play("warhorn");
145 ActEffect.ProcAt(EffectId.Summon, 100, BlessedState.Normal, EClass.pc, EClass.pc, EClass.pc.pos, false, new ActRef
146 {
147 n1 = "special_force"
148 });
149 this.allyCall++;
150 this.allyTimer += 100;
151 }
152
153 // Token: 0x06003625 RID: 13861 RVA: 0x00125F5B File Offset: 0x0012415B
154 public override void OnCharaDie(Chara c)
155 {
156 if (c.IsPCParty || c.IsPCPartyMinion)
157 {
158 return;
159 }
160 this.kills++;
161 }
162
163 // Token: 0x04001C9C RID: 7324
164 [JsonProperty]
165 public int wave;
166
167 // Token: 0x04001C9D RID: 7325
168 [JsonProperty]
169 public int turns;
170
171 // Token: 0x04001C9E RID: 7326
172 [JsonProperty]
173 public int hornTimer;
174
175 // Token: 0x04001C9F RID: 7327
176 [JsonProperty]
177 public int kills;
178
179 // Token: 0x04001CA0 RID: 7328
180 [JsonProperty]
181 public int allyCall;
182
183 // Token: 0x04001CA1 RID: 7329
184 [JsonProperty]
185 public int allyTimer;
186
187 // Token: 0x04001CA2 RID: 7330
188 [JsonProperty]
189 public bool retreated;
190}
Definition Chara.cs:12
Definition Msg.cs:7
Definition Point.cs:11