diff options
Diffstat (limited to 'npc/001-8/hub.txt')
-rw-r--r-- | npc/001-8/hub.txt | 89 |
1 files changed, 1 insertions, 88 deletions
diff --git a/npc/001-8/hub.txt b/npc/001-8/hub.txt index c48e50204..d3d3044a5 100644 --- a/npc/001-8/hub.txt +++ b/npc/001-8/hub.txt @@ -379,94 +379,7 @@ OnPCLogoutEvent: } // TODO: Checks which doesn't belong here shouldn't be here! - // Vanished on Cindy Cave - if (.@mapa$ == "021-4" && strcharinfo(0) == $@CINDY_HERO$) { - recovery(getcharid(3)); - warp any("010-1", "010-2"), 0, 0; - percentheal -100, -100; - sc_start2 SC_POISON, 1, 90, 10000; - } else if (.@mapa$ == "021-4") { - .@pl = getmapusers("021-4")-1; - if (.@pl < 1) - donpcevent("Cindy#Outside::OnCleanUp"); - recovery(getcharid(3)); - warp "Save", 0, 0; - } - // Logout while donating blood - if (getq(HurnscaldQuest_BloodDonor) == 2) { - slide 35, 28; - setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_ITEM|PCBLOCK_MOVE, false); - setq HurnscaldQuest_BloodDonor, 0, gettimetick(2)+3600; // one hour penalty - } - // Logout/Death on Nard's ship hold - if (.@mapa$ ~= "002-2" || .@mapa$ ~= "nard*") { - setq2 ShipQuests_Peter, 0; - setq3 ShipQuests_Peter, -1; - } - // Logout on botcheck area - if (.@mapa$ ~= "botcheck" && !@qhub_died) { - if (!is_staff()) - atcommand "@jail "+strcharinfo(0); - } - // Died on Terranite Cave where exp penalty is lower - if (.@mapa$ == "015-6" && @qhub_died) { - @deathpenalty_override=2; - @deathpenalty_realvalue=readparam(BaseExp); - @deathpenalty_realvaljob=readparam(JobExp); - } - // First death produces a warning message - if (PC_DIE_COUNTER <= 1 && @qhub_died) { - dispbottom l("Dying outside a town square will cause EXP loss."); - } - // If you were travelling and died/logged out, cleaning is needed - if (@timer_navio_running) { - @timer_navio_running=0; - // Logged out? Correct your position to inside the ship - // Of course, this is messy... But still better than Save Point - if (!@qhub_died) { - if (.@mapa$ ~= "016-*") - warp "016-1", 28, 27; - else if (.@mapa$ ~= "002-*") - warp "002-1", 55, 40; - else - warp "Save", 0, 0; - } - } - // Crazyfefe hot fix - if (@qhub_died) { - // It was PK - if (killerrid > 2000000 && killerrid < 2100000) { - // PVP flag was off - if (!getmapflag(.@mapa$, mf_pvp) && !getmapflag(.@mapa$, mf_pvp_noparty) && !getmapflag(.@mapa$, mf_pvpnoguild)) { - recovery(getcharid(3)); - warp .@mapa$, .@a, .@b; - dispbottom l("REVENGE TIME!"); - .@trueid=getcharid(3); - //detachrid(); - attachrid(killerrid); - setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_ITEM|PCBLOCK_COMMANDS, true); - sc_start SC_WALKSPEED,120000,50; - sc_end SC_CASH_PLUSEXP; - sc_end SC_OVERLAPEXPUP; - sc_start SC_OVERLAPEXPUP, 300000, -20; - dispbottom l("For cowardingly killing in a \"secure\" area, you will be severely punished."); - addtimer(15000, "#mobptsys::OnUnlock"); - percentheal -88, -100; - detachrid(); - attachrid(.@trueid); - } - } - } - - // This allows code to override death penalty, just once: - // @deathpenalty_override - // Valid values: 1- No penalty. 2- Halved penalty. - // You must also set: @deathpenalty_realvalue and @deathpenalty_realvaljob - if (@deathpenalty_override && @qhub_died) { - if (is_staff()) - debugmes("Old values: %d %d Current Values: %d %d", @deathpenalty_realvalue, @deathpenalty_realvaljob, readparam(BaseExp), readparam(JobExp)); - addtimer(300, "#QuirinoHUB::OnNoPenaltyCommand"); - } + HUB_Logout(@qhub_died); @qhub_victor=0; @qhub_died=0; |