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.txt15
1 files changed, 13 insertions, 2 deletions
diff --git a/npc/craft/options.txt b/npc/craft/options.txt
index db844d179..a7f97decf 100644
--- a/npc/craft/options.txt
+++ b/npc/craft/options.txt
@@ -442,8 +442,19 @@ function script csys_Apply {
.@slt=0;
while (.@slt < min(2, .@max_pena)) {
// You have 95% for first onus, -30% each, depending on skill lv
- .@base=3000+(.@lv*75);
- if (rand(10000) > 9500-(.@base*.@slt))
+ .@base=(3000*.@slt)+(.@lv*75);
+ // The bigger the base, the best for you.
+ // Initial bonus: 40% (lowering chance to 55%)
+ .@base+=40000;
+ // This _lowers_ base based on how many options you're using (max -30%)
+ // 5% per option enabled. One is always enabled so...
+ .@base-=limit(0, 30000, bitmask_count(CRAFTSYS_CURRENT)*5000);
+ // Lower based on min. tier (max -10%)
+ .@base-=(CRAFTSYS_CURRENT >= CRGROUP_ATK ? 2500 : 0); // 1st tier
+ .@base-=(CRAFTSYS_CURRENT >= CRGROUP_REGEN ? 2500 : 0); // 2nd tier
+ .@base-=(CRAFTSYS_CURRENT >= CRGROUP_SCRESIST ? 2500 : 0); // 3rd tier
+ .@base-=(CRAFTSYS_CURRENT >= CRGROUP_FINAL ? 2500 : 0); // FIN tier
+ if (rand(10000) > 9500-.@base)
break;
// Apply a malus using array_pop (it was shuffled so we're fine)