summaryrefslogtreecommitdiff
path: root/npc/functions
diff options
context:
space:
mode:
authorFedja Beader <fedja@protonmail.ch>2023-06-06 22:30:37 +0000
committerJesusalva Jesusalva <jesusalva@themanaworld.org>2023-06-06 22:30:37 +0000
commit51ca34d96313107b3b1d9562da9e2db7df3ff2b7 (patch)
tree6ec2d02be8f305c493f63c9f05880aa367061bfe /npc/functions
parentbf31cc3d6572bb305299da9f54efc74ad6a152fe (diff)
downloadserverdata-51ca34d96313107b3b1d9562da9e2db7df3ff2b7.tar.gz
serverdata-51ca34d96313107b3b1d9562da9e2db7df3ff2b7.tar.bz2
serverdata-51ca34d96313107b3b1d9562da9e2db7df3ff2b7.tar.xz
serverdata-51ca34d96313107b3b1d9562da9e2db7df3ff2b7.zip
Increase job xp gain on siege maps to match base xp rate increase.
Also, from now on, town reputation affects this bonus. This however reduces total xp up in siege maps.
Diffstat (limited to 'npc/functions')
-rw-r--r--npc/functions/siege.txt10
1 files changed, 9 insertions, 1 deletions
diff --git a/npc/functions/siege.txt b/npc/functions/siege.txt
index 33375d314..597f96993 100644
--- a/npc/functions/siege.txt
+++ b/npc/functions/siege.txt
@@ -176,12 +176,18 @@ function script siege_setup {
if (.@m$ != "003-1")
pvpon(.@m$);
setmapflag(.@m$,mf_zone,"MMO"); // MMO Zone: Overrides GM Commands
- setmapflag(.@m$,mf_bexp,rand2(135,142)); // 35~42% EXP UP on siege maps
+
.@tn$ = MapToLoc(.@m$, false);
if (getd("$"+.@tn$+"_SIEGEXP")) {
setmapflag(.@m$, mf_bexp, 300); // Triple EXP is on
+ setmapflag(.@m$, mf_jexp, 300); // Triple EXP is on
kamibroadcast("Experience for siege map has been set to 3×!", "INFORMATION");
setd("$"+.@tn$+"_SIEGEXP", 0);
+ } else {
+ .@reputation = getd("$"+.@tn$+"_REPUTATION");
+ .@exp_rate = rand2(105, 105 + (30 * .@reputation/100)); // 5~35% EXP UP on siege maps
+ setmapflag(.@m$, mf_bexp, .@exp_rate);
+ setmapflag(.@m$, mf_jexp, .@exp_rate);
}
return;
}
@@ -234,8 +240,10 @@ function script siege_revert {
changemusic .@m$, "caketown.ogg"; // :>
pvpoff(.@m$);
removemapflag(.@m$,mf_bexp);
+ removemapflag(.@m$,mf_jexp);
removemapflag(.@m$,mf_nosave);
setmapflag(.@m$,mf_bexp,100);
+ setmapflag(.@m$,mf_jexp,100);
killmonsterall(.@m$);
return;
}