diff options
-rw-r--r-- | npc/099-5/boss.txt | 61 |
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; } |