summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2024-06-28 15:52:48 -0300
committerJesusaves <cpntb1@ymail.com>2024-06-28 15:52:48 -0300
commit1e7fc8cad76c6cecfc4a91024201241953f9f344 (patch)
treec6f8f4a7d5db688090e9c03024d6cf1c9e7b1767
parentd986f40700581708f3d02e4b8804114d418c5281 (diff)
downloadserverdata-1e7fc8cad76c6cecfc4a91024201241953f9f344.tar.gz
serverdata-1e7fc8cad76c6cecfc4a91024201241953f9f344.tar.bz2
serverdata-1e7fc8cad76c6cecfc4a91024201241953f9f344.tar.xz
serverdata-1e7fc8cad76c6cecfc4a91024201241953f9f344.zip
Intelligence can now reduce or increase monster point generation in 50%.
Well, it'll never increase in 50% because for that you need Lv 1 and 150 int. That's impossible as bonus int (e.g. equips and job) aren't counted for this. However, getting a -50% penalty is perfectly possible if you have 1 int at lv 200.
-rw-r--r--npc/003-1/aidan.txt1
-rw-r--r--npc/005-7/trainer.txt2
-rw-r--r--npc/functions/mobpoint.txt12
3 files changed, 14 insertions, 1 deletions
diff --git a/npc/003-1/aidan.txt b/npc/003-1/aidan.txt
index 400529d84..74dbb54e3 100644
--- a/npc/003-1/aidan.txt
+++ b/npc/003-1/aidan.txt
@@ -58,6 +58,7 @@
next;
mesn l("Aidan, the Monster Guide");
mesq l("So whaddaya say, sign up won't you?");
+ tutmes l("Monster Points gain depends on intelligence stat.");
next;
mes "";
Register;
diff --git a/npc/005-7/trainer.txt b/npc/005-7/trainer.txt
index 5fcc6eb3b..9577a829f 100644
--- a/npc/005-7/trainer.txt
+++ b/npc/005-7/trainer.txt
@@ -444,6 +444,8 @@ L_Status:
mesn;
mes l("@@ determines how many blows you can take before you die. It also affects status effects, like poison.", b(l("Vitality")));
mes l("@@ is very useful for alchemy and magic, but nowadays there are few opportunities to use it.", b(l("Intelligence")));
+ // It, however, governs how many monster points you gain from killing monsters
+ // It does not affect some bosses and other mob point sources like fishing.
mes l("Your @@ determines several small things, including critical attacks and, limited to a certain extent, affect drop rates.", b(l("luck")));
next;
mesn;
diff --git a/npc/functions/mobpoint.txt b/npc/functions/mobpoint.txt
index 754cc8a7d..1a5d59e3b 100644
--- a/npc/functions/mobpoint.txt
+++ b/npc/functions/mobpoint.txt
@@ -30,6 +30,12 @@ function script mobpoint {
// Penalty/Bonus
.@base=(.@moblv-BaseLevel);
+ // NOTE: MAX_LEVEL is the compile time instruction, NOT the exp table one
+ // They currently coincide, but if that's ever modified, this won't work
+ .@fix1=1000 * BaseLevel / MAX_LEVEL; // 1000 at max
+ .@fix2=1000 * readparam(bInt) / getbattleflag("max_parameter"); // 1000 at max
+ .@intf=(.@fix2 - .@fix1); // Ranges from -995 to "+994"
+ // fix1{5,1000} fix2{6,1000} intf{-995,1,994}
// Rebirth exploit correction
if (.@base > 20 && REBIRTH && BaseLevel < 16)
@@ -43,7 +49,11 @@ function script mobpoint {
.@addval = .@addval * limit(50, 101+.@base, 100) / 100;
}
- // Sanitization
+ // Your intelligence correction, makes it vary up to 50%
+ .@intf = .@intf + 2000 / 2;
+ .@addval = .@addval * .@intf / 990; // use 990 instead of 1000 (pro ludio)
+
+ // Sanitization (don't allow negative mobpoint gain)
.@addval=max(0, .@addval);
// Events (+10% Mob Points)