summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-05-13 01:05:53 -0300
committerJesusaves <cpntb1@ymail.com>2020-05-13 01:05:53 -0300
commite16ec68c6b8ee77a53fe24ce74cd3dee281b0cca (patch)
treebd82d56c6f792cbf961fbc370efb27362fd178a6 /npc
parenteca038e00b9937d6c177bd8cddc8b5b1a2e9c5a9 (diff)
downloadserverdata-e16ec68c6b8ee77a53fe24ce74cd3dee281b0cca.tar.gz
serverdata-e16ec68c6b8ee77a53fe24ce74cd3dee281b0cca.tar.bz2
serverdata-e16ec68c6b8ee77a53fe24ce74cd3dee281b0cca.tar.xz
serverdata-e16ec68c6b8ee77a53fe24ce74cd3dee281b0cca.zip
Rewrite how death will be handled on Hardcore.
Instead, it'll set a variable called grace, and this variable will exempt you.
Diffstat (limited to 'npc')
-rw-r--r--npc/functions/hub.txt13
-rw-r--r--npc/functions/main.txt8
2 files changed, 14 insertions, 7 deletions
diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt
index 8328b8b77..cd2e40656 100644
--- a/npc/functions/hub.txt
+++ b/npc/functions/hub.txt
@@ -32,10 +32,15 @@ function script HUB_Logout {
// Hardcore Server
if ($HARDCORE && .@dead) {
- // TODO: Misc penalties (drop all items, etc)
- atcommand("@dropall");
- // TODO: It could be @jail, but it is buggy
- atcommand("@jailfor 1d "+strcharinfo(0));
+ if (@grace) {
+ @grace=false;
+ // pass
+ } else {
+ // TODO: Misc penalties (drop all items, etc)
+ atcommand("@dropall");
+ // TODO: It could be @jail, but it is buggy
+ atcommand("@jailfor 1d "+strcharinfo(0));
+ }
// Vanished on Cindy Cave
} else if (.@mapa$ == "021-4" && strcharinfo(0) == $@CINDY_HERO$) {
donpcevent("Cindy#Outside::OnReckless");
diff --git a/npc/functions/main.txt b/npc/functions/main.txt
index 9bb9caa44..282da5cde 100644
--- a/npc/functions/main.txt
+++ b/npc/functions/main.txt
@@ -296,9 +296,11 @@ function script any_of {
function script die {
if ($HARDCORE) {
- setparam(Hp, 1);
- warp "000-1", 22, 22;
- end; // MUST be end; to mimic official behavior
+ @grace=true;
+ percentheal -100, -100;
+ //setparam(Hp, 1);
+ //warp "000-1", 22, 22;
+ //end; // MUST be end; to mimic official behavior
} else {
percentheal -100, -100;
}