summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-05-13 00:57:23 -0300
committerJesusaves <cpntb1@ymail.com>2020-05-13 00:57:23 -0300
commiteca038e00b9937d6c177bd8cddc8b5b1a2e9c5a9 (patch)
treebd7cc4caca79d1663f3c4f1088e203bb87706a53 /npc
parent2c73977e32827d85b99a62fcf2d4663278da74a1 (diff)
downloadserverdata-eca038e00b9937d6c177bd8cddc8b5b1a2e9c5a9.tar.gz
serverdata-eca038e00b9937d6c177bd8cddc8b5b1a2e9c5a9.tar.bz2
serverdata-eca038e00b9937d6c177bd8cddc8b5b1a2e9c5a9.tar.xz
serverdata-eca038e00b9937d6c177bd8cddc8b5b1a2e9c5a9.zip
Replace our script-induced deaths with new, custom, die() command
This will fix one of the HardCore Server bugs.
Diffstat (limited to 'npc')
-rw-r--r--npc/001-7/homunculus.txt4
-rw-r--r--npc/003-0-2/manastone.txt2
-rw-r--r--npc/009-1/charles.txt2
-rw-r--r--npc/011-1/manastone.txt2
-rw-r--r--npc/012-7/celestia.txt2
-rw-r--r--npc/015-8-1/campaign.txt2
-rw-r--r--npc/015-8/puzzle.txt4
-rw-r--r--npc/015-8/sealedshrine.txt10
-rw-r--r--npc/017-1/drowned_man.txt2
-rw-r--r--npc/017-1/paxel.txt4
-rw-r--r--npc/017-1/pet_detective.txt2
-rw-r--r--npc/020-7-1/oskari.txt2
-rw-r--r--npc/020-7-1/peetu.txt2
-rw-r--r--npc/021-4/main.txt2
-rw-r--r--npc/023-2/mk.txt2
-rw-r--r--npc/023-3-1/logic.txt8
-rw-r--r--npc/023-3-2/logic.txt2
-rw-r--r--npc/023-3/logic.txt6
-rw-r--r--npc/024-7/afking.txt2
-rw-r--r--npc/042-0/arthur.txt10
-rw-r--r--npc/042-1/door.txt4
-rw-r--r--npc/042-10/ctrl.txt8
-rw-r--r--npc/042-11/boss.txt6
-rw-r--r--npc/042-2/boss.txt10
-rw-r--r--npc/042-4/ctrl.txt2
-rw-r--r--npc/042-5/ctrl.txt4
-rw-r--r--npc/042-6/ctrl.txt6
-rw-r--r--npc/042-7/ctrl.txt6
-rw-r--r--npc/042-8/ctrl.txt6
-rw-r--r--npc/042-9/ctrl.txt6
-rw-r--r--npc/commands/wgm.txt4
-rw-r--r--npc/functions/hub.txt4
-rw-r--r--npc/functions/main.txt11
-rw-r--r--npc/functions/refine.txt4
34 files changed, 82 insertions, 71 deletions
diff --git a/npc/001-7/homunculus.txt b/npc/001-7/homunculus.txt
index 0aac7d961..45f6d01b9 100644
--- a/npc/001-7/homunculus.txt
+++ b/npc/001-7/homunculus.txt
@@ -15,7 +15,7 @@ OnTouch:
// Cheater Detected
if (.@q < 15) {
warp "Save", 0, 0;
- percentheal -100, -100;
+ die();
end;
}
if (.@q == 15) {
@@ -36,7 +36,7 @@ OnTouch:
// Cheater Detected
if (.@n < 15) {
warp "Save", 0, 0;
- percentheal -100, -100;
+ die();
end;
}
mesn l("Magically Sealed Gate");
diff --git a/npc/003-0-2/manastone.txt b/npc/003-0-2/manastone.txt
index 3339e29b3..6ab980ccb 100644
--- a/npc/003-0-2/manastone.txt
+++ b/npc/003-0-2/manastone.txt
@@ -66,7 +66,7 @@ L_LevelUp:
if (MAGIC_LVL) mes l("More Magic Power is granted to you, but you die from it.");
MAGIC_LVL = MAGIC_LVL+1;
sk_lvup(AL_DP);
- percentheal -100, -100;
+ die();
close;
OnInit:
diff --git a/npc/009-1/charles.txt b/npc/009-1/charles.txt
index c9e67a0c0..d3cdf3e21 100644
--- a/npc/009-1/charles.txt
+++ b/npc/009-1/charles.txt
@@ -176,7 +176,7 @@ L_Review:
L_Die:
mesn;
mesq l("Then I'll be sure you can't talk again.");
- percentheal -100, 0;
+ die();
close;
L_Close:
diff --git a/npc/011-1/manastone.txt b/npc/011-1/manastone.txt
index 53be3b59f..f413acf38 100644
--- a/npc/011-1/manastone.txt
+++ b/npc/011-1/manastone.txt
@@ -78,7 +78,7 @@ L_LevelUp:
@deathpenalty_realvalue=readparam(BaseExp);
@deathpenalty_realvaljob=readparam(JobExp);
@deathpenalty_override=1;
- percentheal -100, -100;
+ die();
close;
OnInit:
diff --git a/npc/012-7/celestia.txt b/npc/012-7/celestia.txt
index 8b8dc4faf..2e2190026 100644
--- a/npc/012-7/celestia.txt
+++ b/npc/012-7/celestia.txt
@@ -186,7 +186,7 @@ L_Lying:
if (Sp == MaxSp)
percentheal 0, -100;
else
- percentheal -100, 0;
+ die();
close;
// begin: Gumi Script
diff --git a/npc/015-8-1/campaign.txt b/npc/015-8-1/campaign.txt
index ce1884d78..f2dd07478 100644
--- a/npc/015-8-1/campaign.txt
+++ b/npc/015-8-1/campaign.txt
@@ -170,7 +170,7 @@ OnSagrathaReallyDie:
dispbottom l("You failed to protect Sagratha..."); // and will need to start the quest again...");
setq1 HurnscaldQuest_Sagratha, 3;
setq3 HurnscaldQuest_Sagratha, 0;
- percentheal -100, -100;
+ die();
end;
OnSagrathaWin:
diff --git a/npc/015-8/puzzle.txt b/npc/015-8/puzzle.txt
index 7417fbe16..a62a56ac5 100644
--- a/npc/015-8/puzzle.txt
+++ b/npc/015-8/puzzle.txt
@@ -59,7 +59,7 @@ OnTouch:
.@ponderate=(readparam2(bStr)+readparam2(bVit))/100*60;
if (rand(0,1000) < 640-(.@ponderate*6)) {
mesc l("But unfortunately, a loose stone lodges and you fall to your death."), 1;
- percentheal -100, -100;
+ die();
close;
}
mesc l("You succeed in crossing the chasm!");
@@ -79,7 +79,7 @@ OnTouch:
// (You can always fall as top is 600 of 640)
if (rand(0,1000) < 640-(readparam2(bAgi)*6)) {
mesc l("But unfortunately, it was harder than you thought. You are dead."), 1;
- percentheal -100, -100;
+ die();
close;
}
mesc l("You succeed in crossing the chasm!");
diff --git a/npc/015-8/sealedshrine.txt b/npc/015-8/sealedshrine.txt
index 8be41f9e3..d4e41700d 100644
--- a/npc/015-8/sealedshrine.txt
+++ b/npc/015-8/sealedshrine.txt
@@ -424,7 +424,7 @@ OnTouch:
if (@SaggySeal$ != "") {
npctalk3 l("The seal retaliates! It was super effective. You are dead!");
@SaggySeal$="";
- percentheal -100, -100;
+ die();
end;
}
end;
@@ -435,7 +435,7 @@ OnTouch:
if (@SaggySeal$ != "") {
npctalk3 l("The seal retaliates! It was super effective. You are dead!");
@SaggySeal$="";
- percentheal -100, -100;
+ die();
end;
}
end;
@@ -446,7 +446,7 @@ OnTouch:
if (@SaggySeal$ != "") {
npctalk3 l("The seal retaliates! It was super effective. You are dead!");
@SaggySeal$="";
- percentheal -100, -100;
+ die();
end;
}
end;
@@ -586,7 +586,7 @@ function script SaggyShrineStatue {
OnScheduledDeath:
npctalk3 l("Be devoured!");
- percentheal -100, -100;
+ die();
end;
OnInit:
@@ -600,7 +600,7 @@ OnInit:
OnScheduledDeath:
npctalk3 l("Be devoured!");
- percentheal -100, -100;
+ die();
end;
OnInit:
diff --git a/npc/017-1/drowned_man.txt b/npc/017-1/drowned_man.txt
index 326b3dd69..bd3c693a2 100644
--- a/npc/017-1/drowned_man.txt
+++ b/npc/017-1/drowned_man.txt
@@ -135,7 +135,7 @@ OnInit:
if (is_between(5220, 5270, .x*32) && is_between(7330, 7390, .y*32))
goto L_GoodJump;
dispbottom l("The water was too shallow...");
- percentheal -100, -100;
+ die();
end;
}
closeclientdialog;
diff --git a/npc/017-1/paxel.txt b/npc/017-1/paxel.txt
index 40c2f603d..0d1df6687 100644
--- a/npc/017-1/paxel.txt
+++ b/npc/017-1/paxel.txt
@@ -182,7 +182,7 @@ L_Spring:
OnTouch:
if (BaseLevel < 20)
{
- percentheal -100, -100; // Shouldn't be here
+ die(); // Shouldn't be here
end;
}
addtimer(100, "Paxel::OnOmattizator");
@@ -246,7 +246,7 @@ OnOmattizator4:
slide 130, 23;
emotion E_FURIOUS;
- percentheal -100, -100;
+ die();
end;
function maybeTowel {
diff --git a/npc/017-1/pet_detective.txt b/npc/017-1/pet_detective.txt
index e98b0e6e6..293500df7 100644
--- a/npc/017-1/pet_detective.txt
+++ b/npc/017-1/pet_detective.txt
@@ -37,7 +37,7 @@ L_Register:
if (Zeny < 5000) {
mesn l("Ace Ventura");
mesq l("Oh, but we are affiliated with Jesusalva, whom hates cheaters. So, meet your dismissal!");
- percentheal -100, 0;
+ die();
/*
.@val=(Zeny/10)*2;
Zeny=(Zeny/10)*8; // You pay 20% of your GP as tax-money. Hasan gladly takes the money. Jesusalva's happy.
diff --git a/npc/020-7-1/oskari.txt b/npc/020-7-1/oskari.txt
index a6db90584..1d17fd2db 100644
--- a/npc/020-7-1/oskari.txt
+++ b/npc/020-7-1/oskari.txt
@@ -68,7 +68,7 @@
break;
default:
warp "Save", 0, 0;
- percentheal -100, -100;
+ die();
end;
break;
}
diff --git a/npc/020-7-1/peetu.txt b/npc/020-7-1/peetu.txt
index 4f6187942..5e20d7e47 100644
--- a/npc/020-7-1/peetu.txt
+++ b/npc/020-7-1/peetu.txt
@@ -77,7 +77,7 @@
break;
default:
warp "Save", 0, 0;
- percentheal -100, -100;
+ die();
end;
break;
}
diff --git a/npc/021-4/main.txt b/npc/021-4/main.txt
index 5c15a1bb8..679429d70 100644
--- a/npc/021-4/main.txt
+++ b/npc/021-4/main.txt
@@ -242,7 +242,7 @@ OnPetDeath:
// Cast against all players on defeat
OnFail:
- percentheal -100, -100;
+ die();
heal -1, -1;
end;
diff --git a/npc/023-2/mk.txt b/npc/023-2/mk.txt
index 60fa62361..e6408f52f 100644
--- a/npc/023-2/mk.txt
+++ b/npc/023-2/mk.txt
@@ -10,7 +10,7 @@
OnTouch:
npctalk3 get_race() + "!";
- percentheal -100, -100;
+ die();
end;
OnInit:
diff --git a/npc/023-3-1/logic.txt b/npc/023-3-1/logic.txt
index 15f1e80de..a4bba6acc 100644
--- a/npc/023-3-1/logic.txt
+++ b/npc/023-3-1/logic.txt
@@ -16,7 +16,7 @@ OnTouch:
// Cheater Detected
if (.@n < 15) {
warp "Save", 0, 0;
- percentheal -100, -100;
+ die();
end;
}
if (.@q < 3) {
@@ -41,7 +41,7 @@ OnTouch:
// Cheater Detected
if (.@n < 15) {
warp "Save", 0, 0;
- percentheal -100, -100;
+ die();
end;
}
if (.@n == 15) {
@@ -59,7 +59,7 @@ OnTouch:
.@q=getq(FrostiaQuest_Homunculus);
if (.@q < 2) {
dispbottom l("Error, cheater detected");
- percentheal -100, -100;
+ die();
end;
}
.@q=getq3(FrostiaQuest_Homunculus);
@@ -90,7 +90,7 @@ OnTouch:
.@q=getq(FrostiaQuest_Homunculus);
if (.@q < 2) {
dispbottom l("Error, cheater detected");
- percentheal -100, -100;
+ die();
end;
}
.@n$=instance_npcname(.name$);
diff --git a/npc/023-3-2/logic.txt b/npc/023-3-2/logic.txt
index 1b8ff580b..773abcbe2 100644
--- a/npc/023-3-2/logic.txt
+++ b/npc/023-3-2/logic.txt
@@ -14,7 +14,7 @@ OnTouch:
// Cheater Detected
if (.@q < 15) {
warp "Save", 0, 0;
- percentheal -100, -100;
+ die();
end;
}
if (.@q == 15) {
diff --git a/npc/023-3/logic.txt b/npc/023-3/logic.txt
index 3da5fedb7..0f0090e11 100644
--- a/npc/023-3/logic.txt
+++ b/npc/023-3/logic.txt
@@ -15,7 +15,7 @@ OnTouch:
// Cheater Detected
if (.@q < 15) {
warp "Save", 0, 0;
- percentheal -100, -100;
+ die();
end;
}
@@ -37,7 +37,7 @@ OnTouch:
// Cheater Detected
if (.@q < 15) {
warp "Save", 0, 0;
- percentheal -100, -100;
+ die();
end;
}
// Not allowed to proceed
@@ -217,7 +217,7 @@ OnTouch:
end;
OnTouchNPC:
- //percentheal -100, -100;
+ //die();
//unitkill(0);
unitwarp(0, "023-3", 42, 26);
end;
diff --git a/npc/024-7/afking.txt b/npc/024-7/afking.txt
index 68c3008b1..b6dc63d14 100644
--- a/npc/024-7/afking.txt
+++ b/npc/024-7/afking.txt
@@ -141,7 +141,7 @@ function AFDeliver {
mesn;
mesq l("I'll feed you to the Moubootaur %%e");
setparam(MaxHp, readparam(MaxHp)-100);
- percentheal -100, -100;
+ die();
close;
}
Zeny-=5000;
diff --git a/npc/042-0/arthur.txt b/npc/042-0/arthur.txt
index 136be86b8..e0576053f 100644
--- a/npc/042-0/arthur.txt
+++ b/npc/042-0/arthur.txt
@@ -111,7 +111,7 @@ OnPreSmash:
end;
OnSmash:
- percentheal -100, -100;
+ die();
end;
//////////////////////////////////////////////////////////////////////////
@@ -215,7 +215,7 @@ L_DoReward2:
OnKillMob:
if (!playerattached()) end;
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getexp $KAMELOT_MX[.@g], $KAMELOT_MX[.@g]/2+1;
end;
@@ -227,7 +227,7 @@ function arthurSpawn {
.@y1=getarg(2);
.@y2=getarg(4);
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
.@avg=$KAMELOT_MX[.@g];
.@m$=getmap();
for (.@i=0; .@i < .@gcount; .@i++) {
@@ -437,7 +437,7 @@ L_Hint:
OnKillMob:
if (!playerattached()) end;
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getexp $KAMELOT_MX[.@g]*2, $KAMELOT_MX[.@g];
end;
@@ -445,7 +445,7 @@ function guinevereSpawn {
.@label$=instance_npcname(.name$)+"::OnKillMob";
.@gcount=getarg(0);
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
.@avg=$KAMELOT_MX[.@g];
.@m$=getmap();
for (.@i=0; .@i < .@gcount; .@i++) {
diff --git a/npc/042-1/door.txt b/npc/042-1/door.txt
index 8177d9015..cc3d13fd6 100644
--- a/npc/042-1/door.txt
+++ b/npc/042-1/door.txt
@@ -65,7 +65,7 @@ OnKillMob:
// For example, if you're lame cheater
.@g=getcharid(2);
if (.@g < 1)
- percentheal -100, -100;
+ die();
// I also want to give you exp
getexp $KAMELOT_MX[.@g]*3, $KAMELOT_MX[.@g];
@@ -178,7 +178,7 @@ OnTimer10000:
OnArrival:
.@g=getcharid(2);
if (.@g < 1)
- percentheal -100, -100;
+ die();
if (getmap() != "042-1@"+.@g)
end;
if ($@KAMELOT_WAVE[.@g] == 0)
diff --git a/npc/042-10/ctrl.txt b/npc/042-10/ctrl.txt
index 64fc1195c..bb13e8d5c 100644
--- a/npc/042-10/ctrl.txt
+++ b/npc/042-10/ctrl.txt
@@ -11,7 +11,7 @@
OnTouch:
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
dispbottom l("OH NOES! The ceiling seems to have collapsed. I hope we got the key, or the quest is over for us!");
end;
}
@@ -27,7 +27,7 @@ OnTouch:
OnTouch:
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
if (!($KAMELOT_QUEST[.@g] & 8) || !($KAMELOT_QUEST[.@g] & 16) || !($KAMELOT_QUEST[.@g] & 32)) goto L_NoAccess;
warp "042-11@"+.@g, 41, 56;
addtimer 3000, "#KamelotBoss::OnDialog";
@@ -59,7 +59,7 @@ OnInit:
OnTouch:
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
if (!($KAMELOT_QUEST[.@g] & 16) && !($KAMELOT_QUEST[.@g] & 8)) goto L_NoAccessBlock;
if (!($KAMELOT_QUEST[.@g] & 16) || !($KAMELOT_QUEST[.@g] & 8)) goto L_NoAccess;
// You can pass freely, so we do nothing
@@ -552,7 +552,7 @@ OnKillMob:
// Maybe a reward is due
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getexp $KAMELOT_MX[.@g]*10, $KAMELOT_MX[.@g]*5;
.@delay=max(5000, 30000-$KAMELOT_PC[.@g]*1250);
// FALLTHROUGH
diff --git a/npc/042-11/boss.txt b/npc/042-11/boss.txt
index e5afa07d8..6346693f8 100644
--- a/npc/042-11/boss.txt
+++ b/npc/042-11/boss.txt
@@ -9,7 +9,7 @@
OnTouch:
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
if (!($KAMELOT_QUEST[.@g] & 64)) goto L_NoAccess;
warp "042-10@"+.@g, 143, 21;
end;
@@ -24,7 +24,7 @@ L_NoAccess:
OnTouch:
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
if (!($KAMELOT_QUEST[.@g] & 64)) goto L_NoAccess;
mes l("Are you sure you want leave?");
mesc l("You wont be able to go back!");
@@ -146,7 +146,7 @@ OnTimer5000:
OnKillMob:
// Maybe a reward is due
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getexp $KAMELOT_MX[.@g]*8, $KAMELOT_MX[.@g]*4; // Lower than previously
end;
diff --git a/npc/042-2/boss.txt b/npc/042-2/boss.txt
index 238c5d95b..914290e59 100644
--- a/npc/042-2/boss.txt
+++ b/npc/042-2/boss.txt
@@ -13,7 +13,7 @@
OnTouch:
.@label$=instance_npcname(.name$)+"::OnKillBoss";
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
if (($KAMELOT_QUEST[.@g] & 4) && !mobcount(getmap(), .@label$)) {
warp "042-3@"+.@g, 58, 139;
} else {
@@ -28,7 +28,7 @@ OnArrival:
.@m$=instance_mapname("042-2");
.@g=getcharid(2);
if (.@g < 1)
- percentheal -100, -100;
+ die();
//debugmes getmap();
if (getmap() != "042-2@"+.@g)
end;
@@ -153,7 +153,7 @@ OnTimer185000:
OnVerifyIntent:
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
mesq l("Who are you, and how did you manage to come down here? The sheer power of our Lord prevents anyone not under his control to go here.");
select
l("We are strong fighters, and we want to free the King from his obsession."),
@@ -183,7 +183,7 @@ OnVerifyIntent:
OnKillMob:
if (!playerattached()) end;
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getexp $KAMELOT_MX[.@g]*5, $KAMELOT_MX[.@g]*2;
end;
@@ -308,7 +308,7 @@ OnTimer1015000:
OnReward:
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
setpcblock(255, true);
getitem GuildCoin, min(1, $KAMELOT_MX[.@g]/25);
getexp $KAMELOT_MX[.@g]*50, $KAMELOT_MX[.@g]*10;
diff --git a/npc/042-4/ctrl.txt b/npc/042-4/ctrl.txt
index 65a2a8705..d6fdb9a80 100644
--- a/npc/042-4/ctrl.txt
+++ b/npc/042-4/ctrl.txt
@@ -51,7 +51,7 @@ OnKillMob:
goto OnRespawn;
// Maybe a reward is due
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getexp $KAMELOT_MX[.@g]*7, $KAMELOT_MX[.@g]*3;
.@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
// FALLTHROUGH
diff --git a/npc/042-5/ctrl.txt b/npc/042-5/ctrl.txt
index e36eeb5ce..074df1a82 100644
--- a/npc/042-5/ctrl.txt
+++ b/npc/042-5/ctrl.txt
@@ -45,7 +45,7 @@ OnKillMob:
goto OnRespawn;
// Maybe a reward is due
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getexp $KAMELOT_MX[.@g]*7, $KAMELOT_MX[.@g]*3;
.@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
// FALLTHROUGH
@@ -115,7 +115,7 @@ function monster0425 {
function script KamelotTreasure {
.@id=getarg(0);
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
if ($KAMELOT_KEYMASK[.@g] & .@id) {
mesc l("The chest is unlocked and empty.");
close;
diff --git a/npc/042-6/ctrl.txt b/npc/042-6/ctrl.txt
index 694ea77b3..5ae91ade2 100644
--- a/npc/042-6/ctrl.txt
+++ b/npc/042-6/ctrl.txt
@@ -64,7 +64,7 @@ OnKillBoss:
goto OnRespawn;
// Maybe a reward is due
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getitem GuildCoin, 2+min(13, $KAMELOT_MX[.@g]/10);
getexp $KAMELOT_MX[.@g]*14, $KAMELOT_MX[.@g]*8;
mapannounce getmap(), strcharinfo(0)+" has defeated the boss!", 0;
@@ -76,7 +76,7 @@ OnKillMob:
goto OnRespawn;
// Maybe a reward is due
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getexp $KAMELOT_MX[.@g]*7, $KAMELOT_MX[.@g]*4;
.@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
// FALLTHROUGH
@@ -103,7 +103,7 @@ OnRespawn:
OnTouch:
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
if ($KAMELOT_KEYMASK[.@g] & 8) goto L_NoAccess;
warp "042-5@"+.@g, 58, 53;
end;
diff --git a/npc/042-7/ctrl.txt b/npc/042-7/ctrl.txt
index 5c26584c5..d9df13dac 100644
--- a/npc/042-7/ctrl.txt
+++ b/npc/042-7/ctrl.txt
@@ -64,7 +64,7 @@ OnKillBoss:
goto OnRespawn;
// Maybe a reward is due
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getitem GuildCoin, 2+min(13, $KAMELOT_MX[.@g]/10);
getexp $KAMELOT_MX[.@g]*14, $KAMELOT_MX[.@g]*8;
mapannounce getmap(), strcharinfo(0)+" has defeated the boss!", 0;
@@ -76,7 +76,7 @@ OnKillMob:
goto OnRespawn;
// Maybe a reward is due
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getexp $KAMELOT_MX[.@g]*7, $KAMELOT_MX[.@g]*4;
.@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
// FALLTHROUGH
@@ -103,7 +103,7 @@ OnRespawn:
OnTouch:
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
if ($KAMELOT_KEYMASK[.@g] & 4) goto L_NoAccess;
warp "042-5@"+.@g, 56, 21;
end;
diff --git a/npc/042-8/ctrl.txt b/npc/042-8/ctrl.txt
index e85ade249..fd46570ea 100644
--- a/npc/042-8/ctrl.txt
+++ b/npc/042-8/ctrl.txt
@@ -64,7 +64,7 @@ OnKillBoss:
goto OnRespawn;
// Maybe a reward is due
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getitem GuildCoin, 2+min(13, $KAMELOT_MX[.@g]/10);
getexp $KAMELOT_MX[.@g]*14, $KAMELOT_MX[.@g]*8;
mapannounce getmap(), strcharinfo(0)+" has defeated the boss!", 0;
@@ -76,7 +76,7 @@ OnKillMob:
goto OnRespawn;
// Maybe a reward is due
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getexp $KAMELOT_MX[.@g]*7, $KAMELOT_MX[.@g]*4;
.@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
// FALLTHROUGH
@@ -103,7 +103,7 @@ OnRespawn:
OnTouch:
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
if ($KAMELOT_KEYMASK[.@g] & 2) goto L_NoAccess;
warp "042-5@"+.@g, 44, 21;
end;
diff --git a/npc/042-9/ctrl.txt b/npc/042-9/ctrl.txt
index 8f8d3876d..0cb83c9cc 100644
--- a/npc/042-9/ctrl.txt
+++ b/npc/042-9/ctrl.txt
@@ -63,7 +63,7 @@ OnKillBoss:
goto OnRespawn;
// Maybe a reward is due
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getitem GuildCoin, 2+min(13, $KAMELOT_MX[.@g]/10);
getexp $KAMELOT_MX[.@g]*14, $KAMELOT_MX[.@g]*8;
mapannounce getmap(), strcharinfo(0)+" has defeated the boss!", 0;
@@ -75,7 +75,7 @@ OnKillMob:
goto OnRespawn;
// Maybe a reward is due
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
getexp $KAMELOT_MX[.@g]*7, $KAMELOT_MX[.@g]*4;
.@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
// FALLTHROUGH
@@ -102,7 +102,7 @@ OnRespawn:
OnTouch:
.@g=getcharid(2);
- if (.@g < 1) percentheal -100, -100;
+ if (.@g < 1) die();
if ($KAMELOT_KEYMASK[.@g] & 1) goto L_NoAccess;
warp "042-5@"+.@g, 21, 43;
end;
diff --git a/npc/commands/wgm.txt b/npc/commands/wgm.txt
index 3c3c5376c..36a9fddc1 100644
--- a/npc/commands/wgm.txt
+++ b/npc/commands/wgm.txt
@@ -25,7 +25,7 @@ OnCall:
OnCallFunc:
if (!$@GM_OVERRIDE) {
dispbottom col("SEVERE ERROR: COMMAND NOT FOUND. EXECUTING SIMILAR COMMAND...", 1);
- percentheal -100, -100;
+ die();
end;
}
.@request$ = "";
@@ -36,7 +36,7 @@ OnCallFunc:
OnDoEvent:
if (!$@GM_OVERRIDE) {
dispbottom col("SEVERE ERROR: COMMAND NOT FOUND. EXECUTING SIMILAR COMMAND...", 1);
- percentheal -100, -100;
+ die();
end;
}
.@request$ = "";
diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt
index cdaf28ab8..8328b8b77 100644
--- a/npc/functions/hub.txt
+++ b/npc/functions/hub.txt
@@ -41,9 +41,9 @@ function script HUB_Logout {
donpcevent("Cindy#Outside::OnReckless");
recovery(getcharid(3));
warp any("010-1", "010-2"), 0, 0;
- percentheal -100, -100;
sc_start2 SC_POISON, 1, 90, 10000;
- heal -1, -1;
+ die();
+ if (!$HARDCORE) heal -1, -1;
} else if (.@mapa$ == "021-4") {
.@pl = getmapusers("021-4")-1;
if (.@pl < 1)
diff --git a/npc/functions/main.txt b/npc/functions/main.txt
index 808820aef..9bb9caa44 100644
--- a/npc/functions/main.txt
+++ b/npc/functions/main.txt
@@ -294,6 +294,17 @@ function script any_of {
return getelementofarray(getarg(0), getarrayindex(getarg(0)) + rand2(getarraysize(getarg(0)) - getarrayindex(getarg(0))));
}
+function script die {
+ if ($HARDCORE) {
+ setparam(Hp, 1);
+ warp "000-1", 22, 22;
+ end; // MUST be end; to mimic official behavior
+ } else {
+ percentheal -100, -100;
+ }
+ return;
+}
+
// TMW2 Custom Functions
/////////////////////////////////////////////
diff --git a/npc/functions/refine.txt b/npc/functions/refine.txt
index fb1cfb57e..e5c835070 100644
--- a/npc/functions/refine.txt
+++ b/npc/functions/refine.txt
@@ -115,14 +115,14 @@ function script refineMaster {
if (getequipisequiped(.@it) == 0) {
mesn;
mesc l("All cheaters must die."), 1;
- percentheal -100, -100;
+ die();
close;
}
// Item changed
if (getequiprefinerycnt(.@it) != .@rlv || getequipid(.@it) != .@item) {
mesn;
mesc l("All cheaters must die."), 1;
- percentheal -100, -100;
+ die();
close;
}
///// This should cover most of Crazyfefe tricks ¬.¬ I hope ¬.¬