summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/functions/honor.txt25
1 files changed, 11 insertions, 14 deletions
diff --git a/npc/functions/honor.txt b/npc/functions/honor.txt
index 40f2d583e..255fafcb9 100644
--- a/npc/functions/honor.txt
+++ b/npc/functions/honor.txt
@@ -56,21 +56,18 @@ function script get_BR {
}
// Calculate the Honor Points which are due
-// calc_HR( get_BR(getcharid(3)), get_BR(killedrid) )
+// calc_HR( get_BR(getcharid(3)), get_BR(killedrid), log=True )
function script calc_HR {
- .@atk_br=get_BR(getarg(0));
- .@def_br=get_BR(getarg(1));
- .@cbase=1000;
- .@maxop=300; // 30%
-
- // Calculate how much (%) you've used above needed
- //.@overpower=.@atk_br*.@cbase/.@def_br;
- .@overpower=readparam(BaseLevel, getarg(0))*.@cbase/readparam(BaseLevel, getarg(1));
-
- // Dishonorable: You used maxop above cbase
- // Maybe we should use level difference?
- // FIXME
- if (.@overpower > .@cbase+.@maxop) {
+ //.@atk_br=get_BR(getarg(0));
+ //.@def_br=get_BR(getarg(1));
+ .@atk=readparam(BaseLevel, getarg(0));
+ .@def=readparam(BaseLevel, getarg(1));
+
+ // Calculate how much levels you've used above needed
+ .@overpower=.@atk-.@def;
+
+ // Dishonorable: You used 15 levels above target, or target < level 30
+ if (.@overpower > 15 || .@def < 30) {
.@honor=-(BaseLevel/4);
} else {
.@honor=BaseLevel/4;