14 return EClass.game.quests.Get(this.uidQuest);
20 public virtual bool WarnBoss
30 public virtual bool CountEnemy
40 public virtual int TimeLimit
49 public void Spawn(
int num = 1)
51 for (
int i = 0; i < num; i++)
53 Point nearestPoint =
EClass._map.bounds.GetRandomEdge(3).GetNearestPoint(
false,
false,
true,
false);
55 chara.hostility = (chara.c_originalHostility = Hostility.Enemy);
58 this.enemies.Add(chara.uid);
64 public void SpawnBoss()
66 Point nearestPoint =
EClass._map.bounds.GetRandomEdge(3).GetNearestPoint(
false,
false,
true,
false);
68 chara.hostility = (chara.c_originalHostility = Hostility.Enemy);
71 this.enemies.Add(chara.uid);
75 Msg.Say(
"defense_boss", chara.Name,
null,
null,
null);
81 public void AggroEnemy(
int chance = 100)
85 if (!chara.IsPCFactionOrMinion && !chara.IsInCombat &&
EClass.rnd(100) <= chance)
87 chara.SetEnemy(
EClass.pc.party.members.RandomItem<
Chara>());
94 public sealed override void OnTickRound()
97 if (this.TimeLimit != -1 && this.minElapsed >= this.TimeLimit)
99 EClass._zone.instance.status = this.OnReachTimeLimit();
100 EClass.game.Pause(delegate
108 public virtual void _OnTickRound()
113 public virtual ZoneInstance.Status OnReachTimeLimit()
124 public List<int> enemies =
new List<int>();