Elin Modding Docs Doc
Loading...
Searching...
No Matches
ZoneEventQuest.cs
1using System;
2using System.Collections.Generic;
3using Newtonsoft.Json;
4
5// Token: 0x02000748 RID: 1864
7{
8 // Token: 0x1700109D RID: 4253
9 // (get) Token: 0x0600360F RID: 13839 RVA: 0x00125915 File Offset: 0x00123B15
10 public Quest quest
11 {
12 get
13 {
14 return EClass.game.quests.Get(this.uidQuest);
15 }
16 }
17
18 // Token: 0x1700109E RID: 4254
19 // (get) Token: 0x06003610 RID: 13840 RVA: 0x0012592C File Offset: 0x00123B2C
20 public virtual bool WarnBoss
21 {
22 get
23 {
24 return true;
25 }
26 }
27
28 // Token: 0x1700109F RID: 4255
29 // (get) Token: 0x06003611 RID: 13841 RVA: 0x0012592F File Offset: 0x00123B2F
30 public virtual bool CountEnemy
31 {
32 get
33 {
34 return false;
35 }
36 }
37
38 // Token: 0x170010A0 RID: 4256
39 // (get) Token: 0x06003612 RID: 13842 RVA: 0x00125932 File Offset: 0x00123B32
40 public virtual int TimeLimit
41 {
42 get
43 {
44 return -1;
45 }
46 }
47
48 // Token: 0x06003613 RID: 13843 RVA: 0x00125938 File Offset: 0x00123B38
49 public void Spawn(int num = 1)
50 {
51 for (int i = 0; i < num; i++)
52 {
53 Point nearestPoint = EClass._map.bounds.GetRandomEdge(3).GetNearestPoint(false, false, true, false);
54 Chara chara = EClass._zone.SpawnMob(nearestPoint, SpawnSetting.DefenseEnemy(EClass._zone.DangerLv));
55 chara.hostility = (chara.c_originalHostility = Hostility.Enemy);
56 if (this.CountEnemy)
57 {
58 this.enemies.Add(chara.uid);
59 }
60 }
61 }
62
63 // Token: 0x06003614 RID: 13844 RVA: 0x001259B0 File Offset: 0x00123BB0
64 public void SpawnBoss()
65 {
66 Point nearestPoint = EClass._map.bounds.GetRandomEdge(3).GetNearestPoint(false, false, true, false);
67 Chara chara = EClass._zone.SpawnMob(nearestPoint, SpawnSetting.Boss(EClass._zone.DangerLv, -1));
68 chara.hostility = (chara.c_originalHostility = Hostility.Enemy);
69 if (this.CountEnemy)
70 {
71 this.enemies.Add(chara.uid);
72 }
73 if (this.WarnBoss)
74 {
75 Msg.Say("defense_boss", chara.Name, null, null, null);
76 EClass.game.Pause(null);
77 }
78 }
79
80 // Token: 0x06003615 RID: 13845 RVA: 0x00125A44 File Offset: 0x00123C44
81 public void AggroEnemy(int chance = 100)
82 {
83 foreach (Chara chara in EClass._map.charas)
84 {
85 if (!chara.IsPCFactionOrMinion && !chara.IsInCombat && EClass.rnd(100) <= chance)
86 {
87 chara.SetEnemy(EClass.pc.party.members.RandomItem<Chara>());
88 chara.SetAIAggro();
89 }
90 }
91 }
92
93 // Token: 0x06003616 RID: 13846 RVA: 0x00125AD0 File Offset: 0x00123CD0
94 public sealed override void OnTickRound()
95 {
96 this._OnTickRound();
97 if (this.TimeLimit != -1 && this.minElapsed >= this.TimeLimit)
98 {
99 EClass._zone.instance.status = this.OnReachTimeLimit();
100 EClass.game.Pause(delegate
101 {
102 EClass.pc.MoveZone(EClass._zone.parent as Zone, ZoneTransition.EnterState.Auto);
103 });
104 }
105 }
106
107 // Token: 0x06003617 RID: 13847 RVA: 0x00125B38 File Offset: 0x00123D38
108 public virtual void _OnTickRound()
109 {
110 }
111
112 // Token: 0x06003618 RID: 13848 RVA: 0x00125B3A File Offset: 0x00123D3A
113 public virtual ZoneInstance.Status OnReachTimeLimit()
114 {
115 return ZoneInstance.Status.Running;
116 }
117
118 // Token: 0x04001C9A RID: 7322
119 [JsonProperty]
120 public int uidQuest;
121
122 // Token: 0x04001C9B RID: 7323
123 [JsonProperty]
124 public List<int> enemies = new List<int>();
125}
Definition Chara.cs:12
Definition Msg.cs:7
Definition Point.cs:11
Definition Quest.cs:8
Definition Zone.cs:14