summaryrefslogtreecommitdiff
path: root/npc/craft/options.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/craft/options.txt')
-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;