Elin Decompiled Documentation EA 23.234 Nightly
Loading...
Searching...
No Matches
ZoneEventDefenseGame Class Reference
Inheritance diagram for ZoneEventDefenseGame:
ZoneEventQuest ZoneEvent EClass

Public Member Functions

virtual Chara CreateChara ()
 
override void OnVisit ()
 
void NextWave (int add=0)
 
override void _OnTickRound ()
 
void Horn_Next ()
 
void Horn_Retreat ()
 
void Horn_Ally ()
 
override void OnCharaDie (Chara c)
 
- Public Member Functions inherited from ZoneEventQuest
void Spawn (int num=1)
 
void SpawnBoss (bool evolve=false)
 
void AggroEnemy (int chance=100)
 
sealed override void OnTickRound ()
 
virtual void _OnTickRound ()
 
virtual ZoneInstance.Status OnReachTimeLimit ()
 
- Public Member Functions inherited from ZoneEvent
virtual string GetText ()
 
void Tick (float delta)
 
void Init ()
 
void OnSimulateHour ()
 
virtual void OnVisit ()
 
virtual void OnInit ()
 
virtual void OnFirstTick ()
 
virtual void OnTick ()
 
virtual void OnTickRound ()
 
virtual void OnKill ()
 
virtual void OnCharaDie (Chara c)
 
virtual void OnLeaveZone ()
 
virtual void OnLoad ()
 
void Kill ()
 

Public Attributes

int wave
 
int turns
 
int hornTimer
 
int kills
 
int allyCall
 
int allyTimer
 
int bonus
 
bool retreated
 
- Public Attributes inherited from ZoneEventQuest
int uidQuest
 
List< int > enemies = new List<int>()
 
- Public Attributes inherited from ZoneEvent
float time
 
int rounds
 
int hoursElapsed
 
int minElapsed
 
Zone zone
 
bool firstTick = true
 

Properties

ZoneInstanceRandomQuest instance [get]
 
bool CanRetreat [get]
 
bool CanCallAlly [get]
 
override string TextWidgetDate [get]
 
- Properties inherited from ZoneEventQuest
Quest quest [get]
 
virtual bool WarnBoss [get]
 
virtual bool CountEnemy [get]
 
virtual int TimeLimit [get]
 
- Properties inherited from ZoneEvent
SourceQuest.Row source [get]
 
virtual string id [get]
 
virtual string TextWidgetDate [get]
 
virtual float roundInterval [get]
 
virtual Playlist playlist [get]
 
virtual bool debugSkip [get]
 
virtual string RefStr2 [get]
 
virtual string RefStr3 [get]
 
virtual int hoursToKill [get]
 
virtual bool HasReport [get]
 
string Name [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]
 

Additional Inherited Members

- 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)
 
- Static Public Attributes inherited from EClass
static Core core
 

Detailed Description

Definition at line 4 of file ZoneEventDefenseGame.cs.

Member Function Documentation

◆ _OnTickRound()

override void ZoneEventDefenseGame._OnTickRound ( )
inlinevirtual

Reimplemented from ZoneEventQuest.

Definition at line 99 of file ZoneEventDefenseGame.cs.

100 {
101 QuestDefenseGame.lastWave = wave;
102 QuestDefenseGame.bonus = bonus;
103 Debug.Log("wave:" + wave + " turns:" + turns + " rounds:" + rounds);
104 turns++;
105 if (hornTimer > 0)
106 {
107 hornTimer--;
108 }
109 if (turns <= 3 + base.quest.difficulty)
110 {
111 Spawn();
112 }
113 if (turns == 10 && wave % 5 == 0)
114 {
115 Rand.SetSeed(wave + base.quest.uid);
116 SpawnBoss(((wave >= 10) ? (wave * 2) : 0) > EClass.rnd(100));
117 Rand.SetSeed();
118 }
119 if (turns == 20)
120 {
121 NextWave();
122 }
123 AggroEnemy();
124 if (allyTimer > 0)
125 {
126 allyTimer--;
127 if (allyTimer == 0)
128 {
129 allyCall--;
130 }
131 }
132 }
Definition: EClass.cs:5
static int rnd(long a)
Definition: EClass.cs:58
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:37
void AggroEnemy(int chance=100)
void SpawnBoss(bool evolve=false)
void Spawn(int num=1)
int rounds
Definition: ZoneEvent.cs:9

References ZoneEventQuest.AggroEnemy(), allyCall, allyTimer, bonus, Debug, hornTimer, NextWave(), EClass.rnd(), ZoneEvent.rounds, Rand.SetSeed(), ZoneEventQuest.Spawn(), ZoneEventQuest.SpawnBoss(), turns, and wave.

◆ CreateChara()

virtual Chara ZoneEventDefenseGame.CreateChara ( )
inlinevirtual

Definition at line 58 of file ZoneEventDefenseGame.cs.

59 {
60 return CharaGen.CreateFromFilter("c_wilds");
61 }
static Chara CreateFromFilter(string id, int lv=-1, int levelRange=-1)
Definition: CharaGen.cs:22

References CharaGen.CreateFromFilter().

◆ Horn_Ally()

void ZoneEventDefenseGame.Horn_Ally ( )
inline

Definition at line 162 of file ZoneEventDefenseGame.cs.

163 {
164 SE.Play("warhorn");
165 Msg.Say("warhorn");
166 ActEffect.ProcAt(EffectId.Summon, 100, BlessedState.Normal, EClass.pc, EClass.pc, EClass.pc.pos, isNeg: false, new ActRef
167 {
168 n1 = "special_force"
169 });
170 allyCall++;
171 allyTimer += 100;
172 }
BlessedState
Definition: BlessedState.cs:2
EffectId
Definition: EffectId.cs:2
static void ProcAt(EffectId id, int power, BlessedState state, Card cc, Card tc, Point tp, bool isNeg, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:485
Point pos
Definition: Card.cs:59
static Chara pc
Definition: EClass.cs:14
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
Definition: ActRef.cs:2

References allyCall, allyTimer, EClass.pc, Card.pos, ActEffect.ProcAt(), and Msg.Say().

Referenced by TraitCoreDefense.TrySetAct().

◆ Horn_Next()

void ZoneEventDefenseGame.Horn_Next ( )
inline

Definition at line 134 of file ZoneEventDefenseGame.cs.

135 {
136 Msg.Say("defense_start");
137 int add = 0;
138 if (turns <= 3)
139 {
140 Msg.Say("defense_bonus", bonus.ToString() ?? "");
141 bonus++;
142 add = 1 + base.quest.difficulty;
143 }
144 NextWave(add);
145 hornTimer += 10;
146 if (hornTimer > 100)
147 {
148 hornTimer = 100;
149 }
150 }

References bonus, hornTimer, NextWave(), Msg.Say(), and turns.

Referenced by TraitCoreDefense.TrySetAct().

◆ Horn_Retreat()

void ZoneEventDefenseGame.Horn_Retreat ( )
inline

Definition at line 152 of file ZoneEventDefenseGame.cs.

153 {
154 SE.Play("warhorn");
155 Msg.Say("warhorn");
156 Msg.Say("defense_retreat");
157 retreated = true;
158 instance.status = ZoneInstance.Status.Success;
160 }
static void Proc(EffectId id, Card cc, Card tc=null, int power=100, ActRef actRef=default(ActRef))
Definition: ActEffect.cs:984

References EClass.pc, ActEffect.Proc(), retreated, and Msg.Say().

Referenced by TraitCoreDefense.TrySetAct().

◆ NextWave()

void ZoneEventDefenseGame.NextWave ( int  add = 0)
inline

Definition at line 82 of file ZoneEventDefenseGame.cs.

83 {
84 wave++;
85 turns = 0;
86 long num = EClass._zone._dangerLv + ((EClass._zone.DangerLv >= 100) ? (EClass._zone.DangerLv / 100 * 5 + 5) : 5);
87 if (num >= 2000000000)
88 {
89 num = 2000000000L;
90 }
91 EClass._zone._dangerLv = (int)num;
92 SE.Play("warhorn");
93 Msg.Say("warhorn");
94 Msg.Say("defense_wave", wave.ToString() ?? "", EClass._zone.DangerLv.ToString() ?? "");
95 Spawn(2 + base.quest.difficulty + add);
96 AggroEnemy();
97 }
static Zone _zone
Definition: EClass.cs:20
override int DangerLv
Definition: Zone.cs:107

References EClass._zone, ZoneEventQuest.AggroEnemy(), Zone.DangerLv, Msg.Say(), ZoneEventQuest.Spawn(), turns, and wave.

Referenced by _OnTickRound(), Horn_Next(), and OnVisit().

◆ OnCharaDie()

override void ZoneEventDefenseGame.OnCharaDie ( Chara  c)
inlinevirtual

Reimplemented from ZoneEvent.

Definition at line 174 of file ZoneEventDefenseGame.cs.

175 {
176 if (!c.IsPCParty && !c.IsPCPartyMinion)
177 {
178 kills++;
179 }
180 }
override bool IsPCParty
Definition: Chara.cs:615
override bool IsPCPartyMinion
Definition: Chara.cs:639

References Chara.IsPCParty, Chara.IsPCPartyMinion, and kills.

◆ OnVisit()

override void ZoneEventDefenseGame.OnVisit ( )
inlinevirtual

Reimplemented from ZoneEvent.

Definition at line 63 of file ZoneEventDefenseGame.cs.

64 {
66 {
67 QuestDefenseGame.lastWave = wave;
68 QuestDefenseGame.bonus = bonus;
69 return;
70 }
71 int num = (base.quest.FameContent ? (EClass.pc.FameLv / 100 * 50) : 0);
72 EClass._zone._dangerLv = 5 + num;
73 bonus += num / 10;
74 Point nearestPoint = EClass._map.GetCenterPos().GetNearestPoint(allowBlock: false, allowChara: false);
75 EClass._zone.AddCard(ThingGen.Create("stone_defense"), nearestPoint).Install().isNPCProperty = true;
76 EClass._zone.AddCard(ThingGen.Create("core_defense"), nearestPoint).Install().isNPCProperty = false;
77 EClass._zone.SetBGM(107);
78 Msg.Say("defense_start");
79 NextWave();
80 }
bool isNPCProperty
Definition: Card.cs:554
static Game game
Definition: EClass.cs:8
static Map _map
Definition: EClass.cs:18
bool isLoading
Definition: Game.cs:241
Point GetCenterPos()
Definition: MapBounds.cs:52
Definition: Point.cs:9
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false, int minRadius=0)
Definition: Point.cs:619
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
void SetBGM(List< int > ids, bool refresh=true, float fadeDuration=0f)
Definition: Zone.cs:2923
Card AddCard(Card t, Point point)
Definition: Zone.cs:1959

References EClass._map, EClass._zone, Zone.AddCard(), bonus, ThingGen.Create(), EClass.game, MapBounds.GetCenterPos(), Point.GetNearestPoint(), Game.isLoading, Card.isNPCProperty, NextWave(), Msg.Say(), Zone.SetBGM(), and wave.

Member Data Documentation

◆ allyCall

int ZoneEventDefenseGame.allyCall

Definition at line 19 of file ZoneEventDefenseGame.cs.

Referenced by _OnTickRound(), and Horn_Ally().

◆ allyTimer

int ZoneEventDefenseGame.allyTimer

Definition at line 22 of file ZoneEventDefenseGame.cs.

Referenced by _OnTickRound(), and Horn_Ally().

◆ bonus

int ZoneEventDefenseGame.bonus

Definition at line 25 of file ZoneEventDefenseGame.cs.

Referenced by _OnTickRound(), Horn_Next(), and OnVisit().

◆ hornTimer

int ZoneEventDefenseGame.hornTimer

Definition at line 13 of file ZoneEventDefenseGame.cs.

Referenced by _OnTickRound(), and Horn_Next().

◆ kills

int ZoneEventDefenseGame.kills

Definition at line 16 of file ZoneEventDefenseGame.cs.

Referenced by OnCharaDie().

◆ retreated

bool ZoneEventDefenseGame.retreated

Definition at line 28 of file ZoneEventDefenseGame.cs.

Referenced by Horn_Retreat(), and TraitCoreDefense.TrySetAct().

◆ turns

int ZoneEventDefenseGame.turns

Definition at line 10 of file ZoneEventDefenseGame.cs.

Referenced by _OnTickRound(), Horn_Next(), and NextWave().

◆ wave

int ZoneEventDefenseGame.wave

Definition at line 7 of file ZoneEventDefenseGame.cs.

Referenced by _OnTickRound(), NextWave(), OnVisit(), and TraitCoreDefense.TrySetAct().

Property Documentation

◆ CanCallAlly

bool ZoneEventDefenseGame.CanCallAlly
get

Definition at line 44 of file ZoneEventDefenseGame.cs.

45 {
46 get
47 {
48 if (allyCall == 0)
49 {
50 return rounds >= 50;
51 }
52 return false;
53 }
54 }

Referenced by TraitCoreDefense.TrySetAct().

◆ CanRetreat

bool ZoneEventDefenseGame.CanRetreat
get

Definition at line 32 of file ZoneEventDefenseGame.cs.

33 {
34 get
35 {
36 if (rounds >= 100)
37 {
38 return hornTimer <= 0;
39 }
40 return false;
41 }
42 }

Referenced by TraitCoreDefense.TrySetAct().

◆ instance

ZoneInstanceRandomQuest ZoneEventDefenseGame.instance
get

Definition at line 30 of file ZoneEventDefenseGame.cs.

◆ TextWidgetDate

override string ZoneEventDefenseGame.TextWidgetDate
get

Definition at line 56 of file ZoneEventDefenseGame.cs.


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