diff options
Diffstat (limited to 'npc/functions')
-rw-r--r-- | npc/functions/honor.txt | 8 | ||||
-rw-r--r-- | npc/functions/hub.txt | 17 |
2 files changed, 16 insertions, 9 deletions
diff --git a/npc/functions/honor.txt b/npc/functions/honor.txt index 255fafcb9..1606d6a10 100644 --- a/npc/functions/honor.txt +++ b/npc/functions/honor.txt @@ -62,6 +62,7 @@ function script calc_HR { //.@def_br=get_BR(getarg(1)); .@atk=readparam(BaseLevel, getarg(0)); .@def=readparam(BaseLevel, getarg(1)); + .@log=getarg(2, true); // Calculate how much levels you've used above needed .@overpower=.@atk-.@def; @@ -73,6 +74,13 @@ function script calc_HR { .@honor=BaseLevel/4; } + // Log cooldown (30 minutes) + // If cooldown already in effect, do not gain honor. + if (.@log) { + if (.@honor > 0 && PVP_COOLDOWN[.@def] >= gettimetick(2)) + .@honor=0; + PVP_COOLDOWN[.@def]=gettimetick(2)+PVP_WAITTIME; + } return .@honor; } diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt index 046eb7f40..2dc883545 100644 --- a/npc/functions/hub.txt +++ b/npc/functions/hub.txt @@ -18,6 +18,10 @@ function script HUB_Login { if (CLEANUP < gettimetick(2)-CHEST_WAITTIME) deletearray RNGTREASURE_DATE; + // PVP Cooldown cleaning + if (CLEANUP < gettimetick(2)-PVP_WAITTIME) + deletearray PVP_COOLDOWN; + return; } @@ -276,19 +280,14 @@ function script HUB_PvP { // This is an official PVP Map if (ispvpmap(.@m$)) { // Honorable Death - if (.@honor) { + if (.@honor >= 0) { HONOR+=.@honor; } else { // Dishonorable... But... Legit? - if (is_bandit(killedrid)) { + if (is_bandit(killedrid)) HONOR+=1; - } else { - // Did the defensor cheat? (within Level+30% rule) - if (BaseLevel < readparam(BaseLevel, killedrid)*13/10) - HONOR+=1; // Ehhhhhh............ Well. - else - HONOR+=.@honor; // It's negative. - } + else + HONOR+=.@honor; // It's negative. } // It was a duel! |