summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-05-28 22:53:26 -0300
committerJesusaves <cpntb1@ymail.com>2019-05-28 22:53:26 -0300
commit58bd79e5404433c51f6ac5f6949b2dc33551d075 (patch)
tree4112a6adbd6b2e6809c66be6657ea2361799bc74 /npc
parent8c99adcb54d0a13f63a6f93d771ca15f211fb4e3 (diff)
downloadserverdata-58bd79e5404433c51f6ac5f6949b2dc33551d075.tar.gz
serverdata-58bd79e5404433c51f6ac5f6949b2dc33551d075.tar.bz2
serverdata-58bd79e5404433c51f6ac5f6949b2dc33551d075.tar.xz
serverdata-58bd79e5404433c51f6ac5f6949b2dc33551d075.zip
Change item bonuses rules, so it gives half on base stats/drain/double.
Diffstat (limited to 'npc')
-rw-r--r--npc/craft/options.txt20
1 files changed, 15 insertions, 5 deletions
diff --git a/npc/craft/options.txt b/npc/craft/options.txt
index 0fcb1e31f..cf1eeec4a 100644
--- a/npc/craft/options.txt
+++ b/npc/craft/options.txt
@@ -345,18 +345,28 @@ function script csys_Multiplier {
switch (.@sk) {
case IOPT_SPLASHDAMAGE:
return 0;
+ case VAR_STRAMOUNT:
+ case VAR_AGIAMOUNT:
+ case VAR_VITAMOUNT:
+ case VAR_INTAMOUNT:
+ case VAR_DEXAMOUNT:
+ case VAR_LUKAMOUNT:
+ case HP_DRAIN:
+ case SP_DRAIN:
+ case IOPT_DOUBLEATTACK:
+ return 1;
case IOPT_SCRESIST_POISON:
case IOPT_SCRESIST_SILENCE:
case IOPT_SCRESIST_CURSE:
case IOPT_SCRESIST_BLIND:
- return 2;
+ return 3;
case VAR_MAXHPAMOUNT:
case VAR_MAXSPAMOUNT:
case VAR_ITEMDEFPOWER:
case VAR_MDEFPOWER:
- return 3;
+ return 5;
default:
- return 1;
+ return 2;
}
return 0;
}
@@ -393,7 +403,7 @@ function script csys_Apply {
// Apply a bonus using array_pop (it was shuffled so we're fine)
// A pity 1 str and 1 hp is so different.
.@vartp=array_pop(@csys_attr);
- .@bonus=rand(1, .@lv+.@lv2)*csys_Multiplier(.@vartp)+1;
+ .@bonus=rand(1, (.@lv+.@lv2)/2+1)*csys_Multiplier(.@vartp)+1;
setitemoptionbyindex(.@id, .@slot, .@vartp, .@bonus);
//debugmes "Bonus applied: %d at %d (slot: %d)", .@vartp, .@bonus, .@slot;
.@slot+=1;
@@ -410,7 +420,7 @@ function script csys_Apply {
// Apply a bonus using array_pop (it was shuffled so we're fine)
// A pity 1 str and 1 hp is so different.
.@vartp=array_pop(@csys_penalty);
- .@bonus=rand(1, .@lv+.@lv2)*csys_Multiplier(.@vartp)+1;
+ .@bonus=rand(1, (.@lv+.@lv2)/2+1)*csys_Multiplier(.@vartp)+1;
setitemoptionbyindex(.@id, .@slot, .@vartp, .@bonus);
.@slot+=1;
.@slt+=1;