From 50a657a11664992503b71eea5b8d127245e645d2 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 2 May 2020 09:33:18 -0300 Subject: Bugfixes --- npc/042-10/ctrl.txt | 3 +-- npc/042-11/boss.txt | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 8 deletions(-) (limited to 'npc') diff --git a/npc/042-10/ctrl.txt b/npc/042-10/ctrl.txt index 51ca64aa5..3482b6f0f 100644 --- a/npc/042-10/ctrl.txt +++ b/npc/042-10/ctrl.txt @@ -30,8 +30,7 @@ OnTouch: if (.@g < 1) percentheal -100, -100; if (!($KAMELOT_QUEST[.@g] & 8) || !($KAMELOT_QUEST[.@g] & 16) || !($KAMELOT_QUEST[.@g] & 32)) goto L_NoAccess; warp "042-11@"+.@g, 41, 56; - addtimer 5000, "#KamelotBoss::OnDialog"; - addtimer 20000, "#KamelotBoss::OnBegin"; // FIXME? + addtimer 3000, "#KamelotBoss::OnDialog"; end; L_NoAccess: 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 -- cgit v1.2.3-60-g2f50