diff options
Diffstat (limited to 'npc/042-11')
-rw-r--r-- | npc/042-11/boss.txt | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/npc/042-11/boss.txt b/npc/042-11/boss.txt index 42d5bbd3c..a9938b8ba 100644 --- a/npc/042-11/boss.txt +++ b/npc/042-11/boss.txt @@ -46,19 +46,22 @@ L_NoAccess: OnDialog: announce "??? : "+l("Who sent you here? Merlin?"), bc_self|bc_pc; - addtimer 5000, "#KamelotBoss::OnDialog2"; + addtimer 8000, "#KamelotBoss::OnDialog2"; end; OnDialog2: + .@g=getcharid(2); announce "??? : "+l("It matters not, because soon, all of you will be..."), bc_self|bc_pc; - addtimer 5000, "#KamelotBoss::OnBegin"; // FIXME? + addtimer 7000, instance_npcname("#KamelotBoss", $@KAMELOT_ID[.@g])+"::OnBegin"; end; // Spawns Terogan OnBegin: .@g=getcharid(2); - .@m$=getmap(); + .@m$=instance_mapname("042-11"); .@avg=$KAMELOT_MX[.@g]+10; + .@n$=instance_npcname("#KamelotBoss", $@KAMELOT_ID[.@g]); + debugmes "GID: %d Map: %s Power: %d Label: %s", .@g, .@m$, .@avg, .@n$; // Dialog announce l("General Terogan : DEAD! Muahahahaha!"), bc_self|bc_pc; @@ -75,6 +78,7 @@ OnBegin: // Bring Terogan into existence .@mob=monster(.@m$, 40, 30, strmobinfo(1, GeneralTerogan), GeneralTerogan, 1, .@n$+"::OnKillBoss"); setd("$@GTEMP_"+.@m$, .@mob); + setd("$@GTEMP_HP_"+.@m$, 20); // Reconfigure the monster setunitdata(.@mob, UDT_LEVEL, .@avg); @@ -97,7 +101,7 @@ OnBegin: setunitdata(.@mob, UDT_FLEE, .@avg*5); // Advised: x4 setunitdata(.@mob, UDT_CRIT, 120); // Initial batch of reinforcements - KamelotCaveSpawn(6, 30, 20, 50, 40, .@avg, .@m$); + KamelotCaveSpawn(6, 30, 20, 50, 40, .@avg, "042-11"); // Save info again setd("$@GTEMP_"+.@m$, .@mob); @@ -131,7 +135,7 @@ OnTimer5000: mapannounce .@m$, "General Terogan : "+any("Charge!", "To the Abyss with you already!", "Kill them already!", "More of them might be coming!", "Minions, ATTACK!", "Muahahaha, Pathetic!"), 0; // Unlike Krukan, spawn according to HP loss (no use fast killing) - KamelotCaveSpawn(.@gcount*max(1, .@hplos), 20, 20, 57, 40, .@avg, .@m$); + KamelotCaveSpawn(.@gcount*max(1, .@hplos), 20, 20, 57, 40, .@avg, "042-11"); } // TODO: Special skills @@ -151,6 +155,7 @@ OnKillMob: // Boss rewards OnKillBoss: + stopnpctimer; if (playerattached()) { // Setup .@g=getcharid(2); @@ -176,6 +181,7 @@ OnKillBoss: // Get rid of temporary variables setd("$@GTEMP_"+.@m$, 0); setd("$@GTEMP_HP_"+.@m$, 0); + killmonsterall(.@m$); // Guild Reward for completing this stage .@ggp=2000+$KAMELOT_MX[.@g]*100; @@ -187,7 +193,7 @@ OnKillBoss: mapannounce .@m$, .@hero$+" has defeated the evil in Kamelot!", 0; // Spawn GMGiftBox upon end - .@gf=max(30, $KAMELOT_MX[.@g]/5); + .@gf=min(30, $KAMELOT_MX[.@g]/5); areamonster(.@m$, 20, 20, 57, 40, strmobinfo(1, GMGiftBox), GMGiftBox, .@gf); // Spawn Treasure Chests upon end |