From 8fb9a82849539c346c1ff20a25858dfa6b864f58 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Tue, 28 May 2019 10:58:53 -0300 Subject: The whole second tier, and an extra option --- db/item_options.conf | 5 +++++ npc/craft/options.txt | 62 +++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 63 insertions(+), 4 deletions(-) diff --git a/db/item_options.conf b/db/item_options.conf index ca734d5c4..750aecfc9 100644 --- a/db/item_options.conf +++ b/db/item_options.conf @@ -1094,6 +1094,11 @@ item_options_db: ( Id: 198 Name: "IOPT_SCPROVOKE_BLIND" Script: <" bonus2(bAddEff,Eff_Blind, getequippedoptioninfo(IT_OPT_VALUE)); "> +}, +{ + Id: 199 + Name: "IOPT_CRITDMG" + Script: <" bonus(bCritAtkRate, getequippedoptioninfo(IT_OPT_VALUE)); "> } diff --git a/npc/craft/options.txt b/npc/craft/options.txt index f652a6103..ab5b7dcf7 100644 --- a/npc/craft/options.txt +++ b/npc/craft/options.txt @@ -38,14 +38,16 @@ function script csys_Generate { .@avg=0; .@stk=0; + ///////////////////////////////////////////////////////////// + // Basic tier if (.@gid & CRGROUP_BASE) { .@lvl=CRAFTSYS[CRGROUP_BASE]; if (.@lvl >= 1) array_push(@csys_attr, VAR_STRAMOUNT); if (.@lvl >= 2) - array_push(@csys_attr, VAR_AGIAMOUNT); - if (.@lvl >= 3) array_push(@csys_attr, VAR_VITAMOUNT); + if (.@lvl >= 3) + array_push(@csys_attr, VAR_AGIAMOUNT); if (.@lvl >= 4) array_push(@csys_attr, VAR_INTAMOUNT); if (.@lvl >= 5) @@ -61,7 +63,9 @@ function script csys_Generate { .@avg+=.@lvl; .@stk+=1; } - // First tier + + ///////////////////////////////////////////////////////////// + // First tier if (.@gid & CRGROUP_ATK) { .@lvl=CRAFTSYS[CRGROUP_ATK]; if (.@lvl >= 1) { @@ -127,7 +131,8 @@ function script csys_Generate { .@stk+=1; } - // Second tier + ///////////////////////////////////////////////////////////// + // Second tier if (.@gid & CRGROUP_REGEN) { .@lvl=CRAFTSYS[CRGROUP_REGEN]; if (.@lvl >= 1) { @@ -143,6 +148,55 @@ function script csys_Generate { .@avg+=.@lvl; .@stk+=1; } + if (.@gid & CRGROUP_SPEED) { + .@lvl=CRAFTSYS[CRGROUP_SPEED]; + if (.@lvl >= 1) { + array_push(@csys_attr, VAR_PLUSASPD); + } + if (.@lvl >= 3) { + array_push(@csys_attr, VAR_PLUSASPDPERCENT); + } + if (.@lvl >= 5) { + array_push(@csys_attr, IOPT_WALKSPEED); + } + array_push(@csys_penalty, VAR_ATTPOWER); + array_push(@csys_penalty, VAR_ATTMPOWER); + + // Update averages + .@avg+=.@lvl; + .@stk+=1; + } + if (.@gid & CRGROUP_DOUBLE) { + .@lvl=CRAFTSYS[CRGROUP_DOUBLE]; + if (.@lvl >= 1) { + array_push(@csys_attr, IOPT_CRITDMG); + } + if (.@lvl >= 5) { + array_push(@csys_attr, IOPT_DOUBLEATTACK); + } + array_push(@csys_penalty, VAR_ATTPOWER); + array_push(@csys_penalty, VAR_ATTMPOWER); + + // Update averages + .@avg+=.@lvl; + .@stk+=1; + } + if (.@gid & CRGROUP_MAXPC) { + .@lvl=CRAFTSYS[CRGROUP_MAXPC]; + if (.@lvl >= 1) { + array_push(@csys_attr, VAR_MAXHPPERCENT); + array_push(@csys_attr, VAR_MAXSPPERCENT); + } + if (.@lvl >= 5) { + array_push(@csys_attr, CLASS_DAMAGE_BOSS_USER); + } + array_push(@csys_penalty, VAR_ATTPOWER); + array_push(@csys_penalty, VAR_ATTMPOWER); + + // Update averages + .@avg+=.@lvl; + .@stk+=1; + } // Clear the dummies array_remove(@csys_attr, DeathPenalty); -- cgit v1.2.3-60-g2f50