summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/099-5/boss.txt61
1 files changed, 28 insertions, 33 deletions
diff --git a/npc/099-5/boss.txt b/npc/099-5/boss.txt
index cb9f32d5..4442f943 100644
--- a/npc/099-5/boss.txt
+++ b/npc/099-5/boss.txt
@@ -28,11 +28,6 @@
// $@DD5MB_WEAK, $@DD5MB_AVERAGE, $@DD5MB_STRONG, $@DD5MB_BOSSLV
// int array - Contains lists of monsters to be used
///////////////////////////////////////////////////////////////////
-// 1151
-// const int - ID of the Void Flower (s1 only)
-// 1155
-// const int - ID of the Void Bat
-///////////////////////////////////////////////////////////////////
// $@DD5_PRIMARY
// int - 3x the challengers in boss room
// $@DD5_SUPPORT
@@ -58,7 +53,7 @@
// @dd5_dmg
// int - Calculated damage
// @dd5_shear
-// bool - Damage is from shearing skill
+// bool - Damage is from shearing skill (FIXME)
///////////////////////////////////////////////////////////////////
// $@DD5_TALLY_ - Max Individual Score at tally time
// $@DD5_TALLY$ - Player with highest tally
@@ -421,10 +416,10 @@ OnPrologue4:
$@DD5_SUPPORT = 3+getmapusers("099-4");
$@DD5_TOTALPC = $@DD5_PRIMARY+$@DD5_SUPPORT;
// Spawn first assault
- areamonster "099-5", 43, 44, 56, 55, "", any($@DD5MB_AVERAGE), $@DD5_TOTALPC, "#TMWFinalExam::OnKillAverage";
- areamonster "099-5", 20, 20, 75, 75, "", any($@DD5MB_AVERAGE), $@DD5_PRIMARY, "#TMWFinalExam::OnKillAverage";
- areamonster "099-4", 20, 20, 75, 75, "", any($@DD5MB_AVERAGE), $@DD5_SUPPORT, "#TMWFinalExam::OnKillAverage";
- areamonster "099-5", 20, 20, 75, 75, "", 1151, $@DD5_TOTALPC, "#TMWFinalExam::OnKillAverage";
+ areamonster "099-5", 43, 44, 56, 55, "", any_of($@DD5MB_AVERAGE), $@DD5_TOTALPC, "#TMWFinalExam::OnKillAverage";
+ areamonster "099-5", 20, 20, 75, 75, "", any_of($@DD5MB_AVERAGE), $@DD5_PRIMARY, "#TMWFinalExam::OnKillAverage";
+ areamonster "099-4", 20, 20, 75, 75, "", any_of($@DD5MB_AVERAGE), $@DD5_SUPPORT, "#TMWFinalExam::OnKillAverage";
+ areamonster "099-5", 20, 20, 75, 75, "", VoidFlower, $@DD5_TOTALPC, "#TMWFinalExam::OnKillAverage";
// Begin timers!
initnpctimer;
donpcevent "Zax De'Kagen#0::OnEnable";
@@ -435,7 +430,7 @@ OnPrologue4:
OnRubberBat:
if ($@DD5_STATUS != 3)
end;
- areamonster getmapname(), getx()-5, gety()-5, getx()+5, gety()+5, "", 1155, rand(1,2), "#TMWFinalExam::OnKillWeak";
+ areamonster getmapname(), getx()-5, gety()-5, getx()+5, gety()+5, "", VoidBat, rand(1,2), "#TMWFinalExam::OnKillWeak";
addtimer 10, "Zax De'Kagen#0::OnAdjustBat";
end;
@@ -516,8 +511,8 @@ OnWarmedUp6:
disablenpc "Xakelbael the Dark#0";
$@DD5_ATK=true;
// Spawn second wave
- areamonster "099-5", 20, 20, 75, 75, "", any($@DD5MB_AVERAGE), $@DD5_PRIMARY, "#TMWFinalExam::OnKillAverage";
- areamonster "099-4", 20, 20, 75, 75, "", any($@DD5MB_AVERAGE), $@DD5_SUPPORT, "#TMWFinalExam::OnKillAverage";
+ areamonster "099-5", 20, 20, 75, 75, "", any_of($@DD5MB_AVERAGE), $@DD5_PRIMARY, "#TMWFinalExam::OnKillAverage";
+ areamonster "099-4", 20, 20, 75, 75, "", any_of($@DD5MB_AVERAGE), $@DD5_SUPPORT, "#TMWFinalExam::OnKillAverage";
// Begin timers
initnpctimer;
donpcevent "Xakelbael the Dark#0::OnEnable";
@@ -597,7 +592,7 @@ OnShowdown6:
$@DD5_TOTALPC = $@DD5_PRIMARY+$@DD5_SUPPORT-2;
$@DD5_ATK=true;
spawndummy("099-5", 50, 49, Kage, "Zax De'Kagen", "#TMWFinalExam::OnZax");
- areamonster "099-5", 20, 20, 75, 75, "", any($@DD5MB_WEAK), $@DD5_PRIMARY, "#TMWFinalExam::OnKillWeak";
+ areamonster "099-5", 20, 20, 75, 75, "", any_of($@DD5MB_WEAK), $@DD5_PRIMARY, "#TMWFinalExam::OnKillWeak";
initnpctimer;
$@DD5_DEFCON = rand(4, 8);
areatimer 0, "099-5", 20, 20, 75, 75, 10, "#TMWFinalExam::OnMTBlissOblivion";
@@ -916,24 +911,24 @@ L_DD5PSResume:
OnTimer40000:
// Imperial Chamber
- areamonster "099-5", 43, 44, 56, 55, "", any($@DD5MB_WEAK), $@DD5_PRIMARY, "#TMWFinalExam::OnKillWeak";
+ areamonster "099-5", 43, 44, 56, 55, "", any_of($@DD5MB_WEAK), $@DD5_PRIMARY/2, "#TMWFinalExam::OnKillWeak";
// Map
$@DD5_MOBC = $@DD5_TOTALPC/2+1;
callsub S_DD5PrimarySpawn;
// Prologue mobs
if ($@DD5_STATUS == 3)
- areamonster "099-5", 20, 20, 75, 75, "", 1151, $@DD5_TOTALPC, "#TMWFinalExam::OnKillAverage";
+ areamonster "099-5", 20, 20, 75, 75, "", VoidFlower, $@DD5_TOTALPC, "#TMWFinalExam::OnKillAverage";
end;
OnTimer75000:
// Imperial Chamber
- areamonster "099-5", 43, 44, 56, 55, "", any($@DD5MB_AVERAGE), $@DD5_PRIMARY/3+1, "#TMWFinalExam::OnKillAverage";
+ areamonster "099-5", 43, 44, 56, 55, "", any_of($@DD5MB_AVERAGE), $@DD5_PRIMARY/6+1, "#TMWFinalExam::OnKillAverage";
// Map
- $@DD5_MOBC = $@DD5_TOTALPC/2;
+ $@DD5_MOBC = $@DD5_TOTALPC/3+1;
callsub S_DD5PrimarySpawn;
// Prologue mobs
if ($@DD5_STATUS == 3)
- areamonster "099-5", 20, 20, 75, 75, "", 1151, $@DD5_TOTALPC, "#TMWFinalExam::OnKillAverage";
+ areamonster "099-5", 20, 20, 75, 75, "", VoidFlower, $@DD5_TOTALPC, "#TMWFinalExam::OnKillAverage";
end;
OnTimer104000:
@@ -942,14 +937,14 @@ OnTimer104000:
OnTimer120000:
// Imperial Chamber
- areamonster "099-5", 43, 44, 56, 55, "", any($@DD5MB_STRONG), max(3, 1+$@DD5_PRIMARY/3), "#TMWFinalExam::OnKillStrong";
- areamonster "099-5", 43, 44, 56, 55, "", any($@DD5MB_BOSSLV), $@DD5_STATUS/2, "#TMWFinalExam::OnKillStrong";
+ areamonster "099-5", 43, 44, 56, 55, "", any_of($@DD5MB_STRONG), max(3, 1+$@DD5_PRIMARY/5), "#TMWFinalExam::OnKillStrong";
+ areamonster "099-5", 43, 44, 56, 55, "", any_of($@DD5MB_BOSSLV), $@DD5_STATUS/2, "#TMWFinalExam::OnKillStrong";
// Map
$@DD5_MOBC = $@DD5_TOTALPC/3+1;
callsub S_DD5PrimarySpawn;
// Prologue mobs
if ($@DD5_STATUS == 3)
- areamonster "099-5", 20, 20, 75, 75, "", 1151, $@DD5_TOTALPC, "#TMWFinalExam::OnKillAverage";
+ areamonster "099-5", 20, 20, 75, 75, "", VoidFlower, $@DD5_TOTALPC, "#TMWFinalExam::OnKillAverage";
// Boss regeneration, which may overflow into infinity.
// A regular tick takes 7s - so ~13 cycles of regen
// It'll regen STATUS Hp per tick, so: 39, 65 and 91 HP every 90s
@@ -978,11 +973,11 @@ OnKillStrong:
end;
OnInit:
- setarray $@DD5MB_WEAK, 1155, 1156, 1155, 1156, 1155, 1156, 1158;
- setarray $@DD5MB_AVERAGE, 1159, 1160, 1159, 1160, 1159, 1160, 1157, 1158;
- setarray $@DD5MB_STRONG, 1152, 1153, 1154, 1152, 1153, 1154, 1152, 1153, 1154;
- setarray $@DD5MB_BOSSLV, 1146, 1147, 1140, 1141, 1143, 1149, 1148, 1140;
- // Flower 1151, Mouboo 1158
+ setarray $@DD5MB_WEAK, VoidBat, VoidMaggot, VoidBat, VoidMaggot, VoidBat, VoidMaggot, VoidMouboo;
+ setarray $@DD5MB_AVERAGE, VoidScorpion, VoidShroom, VoidScorpion, VoidShroom, VoidScorpion, VoidShroom, VoidSoldier, VoidMouboo;
+ setarray $@DD5MB_STRONG, VoidArchant, VoidSlime, VoidSnake, VoidArchant, VoidSlime, VoidSnake, VoidArchant, VoidSlime, VoidSnake;
+ setarray $@DD5MB_BOSSLV, Flashmob, Koyntety, Tengu, Sasquatch, ManaSlayer, Enchanter, DoomGolem, Tengu;
+ // Flower VoidFlower, Mouboo VoidMouboo
end;
OnMiteyo:
@@ -995,22 +990,22 @@ OnMiteyo:
}
function script DD5SpawnNoob {
- areamonster "099-4", 20, 20, 75, 75, "", any($@DD5MB_WEAK), 2, "#TMWFinalExam::OnKillWeak";
- areamonster "099-5", 20, 20, 75, 75, "", any($@DD5MB_WEAK), 3, "#TMWFinalExam::OnKillWeak";
+ areamonster "099-4", 20, 20, 75, 75, "", any_of($@DD5MB_WEAK), any(1,2), "#TMWFinalExam::OnKillWeak";
+ areamonster "099-5", 20, 20, 75, 75, "", any_of($@DD5MB_WEAK), any(2,3), "#TMWFinalExam::OnKillWeak";
$@DD5_MOBC = $@DD5_MOBC-1;
return;
}
function script DD5SpawnRegular {
if (rand(6) % 2 == 0)
- areamonster "099-4", 20, 20, 75, 75, "", any($@DD5MB_AVERAGE), 1, "#TMWFinalExam::OnKillAverage";
- areamonster "099-5", 20, 20, 75, 75, "", any($@DD5MB_AVERAGE), 2, "#TMWFinalExam::OnKillAverage";
+ areamonster "099-4", 20, 20, 75, 75, "", any_of($@DD5MB_AVERAGE), 1, "#TMWFinalExam::OnKillAverage";
+ areamonster "099-5", 20, 20, 75, 75, "", any_of($@DD5MB_AVERAGE), any(1, 2), "#TMWFinalExam::OnKillAverage";
$@DD5_MOBC = $@DD5_MOBC-1;
return;
}
function script DD5SpawnPro {
if (rand(6) % 2 == 0)
- areamonster "099-4", 20, 20, 75, 75, "", any($@DD5MB_STRONG), 1, "#TMWFinalExam::OnKillStrong";
- areamonster "099-5", 20, 20, 75, 75, "", any($@DD5MB_STRONG), 1, "#TMWFinalExam::OnKillStrong";
+ areamonster "099-4", 20, 20, 75, 75, "", any_of($@DD5MB_STRONG), 1, "#TMWFinalExam::OnKillStrong";
+ areamonster "099-5", 20, 20, 75, 75, "", any_of($@DD5MB_STRONG), 1, "#TMWFinalExam::OnKillStrong";
$@DD5_MOBC = $@DD5_MOBC-1;
return;
}