summaryrefslogtreecommitdiff
path: root/npc/functions
diff options
context:
space:
mode:
authorReid <reidyaro@gmail.com>2016-07-06 17:46:42 +0200
committerReid <reidyaro@gmail.com>2016-07-06 17:47:39 +0200
commitd0c97bf38ae0da0fd6455c65fd8a98c8374086d5 (patch)
tree41625af82b6b2dee79e585e0702cbaa841f9e548 /npc/functions
parentfa87a86184837b758394421eb38024f235a84756 (diff)
downloadserverdata-d0c97bf38ae0da0fd6455c65fd8a98c8374086d5.tar.gz
serverdata-d0c97bf38ae0da0fd6455c65fd8a98c8374086d5.tar.bz2
serverdata-d0c97bf38ae0da0fd6455c65fd8a98c8374086d5.tar.xz
serverdata-d0c97bf38ae0da0fd6455c65fd8a98c8374086d5.zip
Add a logn * baseplayer function to calculate inn and stat reset costs.
Diffstat (limited to 'npc/functions')
-rw-r--r--npc/functions/main.txt23
1 files changed, 23 insertions, 0 deletions
diff --git a/npc/functions/main.txt b/npc/functions/main.txt
index 12484f11..b71fb339 100644
--- a/npc/functions/main.txt
+++ b/npc/functions/main.txt
@@ -220,3 +220,26 @@ function script npctalkonce {
return true;
}
+
+// A somehow of BaseLevel * logn (BaseLevel * alpha).
+// alpha = multiplicator factor.
+// min = minimum result value.
+function script lognbaselvl {
+ .@alpha = getarg(0, 1);
+ .@min = getarg(1, 1);
+ .@ret = 0;
+ .@pc_level = BaseLevel * .@alpha;
+
+ while (.@pc_level >>= 1)
+ {
+ ++.@ret;
+ }
+ .@ret *= BaseLevel;
+
+ if (.@ret <= .@min)
+ {
+ .@ret = .@min;
+ }
+
+ return .@ret;
+}