From 88c0c988a6232bc1cb6447487bcc6311f32e8112 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Wed, 18 Jul 2018 11:40:46 -0300 Subject: Fix bugs, and add an extra skill to Berserk --- npc/003-0/berserk.txt | 120 +++++++++++++++++++++++++++++++------------------- npc/003-0/paladin.txt | 6 +-- 2 files changed, 78 insertions(+), 48 deletions(-) (limited to 'npc/003-0') diff --git a/npc/003-0/berserk.txt b/npc/003-0/berserk.txt index 15adc331b..b4e4ad806 100644 --- a/npc/003-0/berserk.txt +++ b/npc/003-0/berserk.txt @@ -43,6 +43,7 @@ L_Missing: // Ragger // KN_AUTOCOUNTER (Counter any attack with 2x critical rate and block attack for 0.5s) // SM_ENDURE (deny stun penalty when hit, and MDEF bonus, for 10s) +// KN_TWOHANDQUICKEN (raise attack speed in 30%, if you are with a 2-hands sword) (30s/level) L_Member: mesn; @@ -51,6 +52,7 @@ L_Member: rif(sk_intcost(SM_BASH) && getskilllv(SM_BASH) < (3+degree_subclass()), l("Improve Bash Skill")), rif(sk_intcost(SM_ENDURE) && sk_canlvup(SM_ENDURE), l("Improve Endure Skill")), rif(sk_intcost(KN_AUTOCOUNTER) && sk_canlvup(KN_AUTOCOUNTER), l("Improve Counter Defense")), + rif(sk_intcost(KN_TWOHANDQUICKEN) && sk_canlvup(KN_TWOHANDQUICKEN), l("Improve Two Hands Quicken")), l("Leave Subclass"), l("Nothing at the moment."); mes ""; @@ -61,22 +63,22 @@ L_Member: mes ""; mesn; mesq l("This useful skill will only require:"); - mesc l("@@/@@ @@", countitem(ManaPiouFeathers), (getskilllv(SM_ENDURE)+1)*15, getitemlink(ManaPiouFeathers)); - mesc l("@@/@@ @@", countitem(CaveSnakeSkin), (getskilllv(SM_ENDURE)+1)*4, getitemlink(CaveSnakeSkin)); - mesc l("@@/@@ @@", countitem(RubyPowder), (getskilllv(SM_ENDURE)+1)*2, getitemlink(RubyPowder)); - mesc l("@@/@@ @@", countitem(StrengthPotion), (getskilllv(SM_ENDURE)+1)*2, getitemlink(StrengthPotion)); + mesc l("@@/@@ @@", countitem(ManaPiouFeathers), (getskilllv(SM_BASH)+1)*15, getitemlink(ManaPiouFeathers)); + mesc l("@@/@@ @@", countitem(CaveSnakeSkin), (getskilllv(SM_BASH)+1)*4, getitemlink(CaveSnakeSkin)); + mesc l("@@/@@ @@", countitem(RubyPowder), (getskilllv(SM_BASH)+1)*2, getitemlink(RubyPowder)); + mesc l("@@/@@ @@", countitem(StrengthPotion), (getskilllv(SM_BASH)+1)*2, getitemlink(StrengthPotion)); next; if (askyesno() == ASK_YES) { if ( - countitem(ManaPiouFeathers) < (getskilllv(SM_ENDURE)+1)*15 || - countitem(CaveSnakeSkin) < (getskilllv(SM_ENDURE)+1)*4 || - countitem(RubyPowder) < (getskilllv(SM_ENDURE)+1)*2 || - countitem(StrengthPotion) < (getskilllv(SM_ENDURE)+1)*2) goto L_Missing; + countitem(ManaPiouFeathers) < (getskilllv(SM_BASH)+1)*15 || + countitem(CaveSnakeSkin) < (getskilllv(SM_BASH)+1)*4 || + countitem(RubyPowder) < (getskilllv(SM_BASH)+1)*2 || + countitem(StrengthPotion) < (getskilllv(SM_BASH)+1)*2) goto L_Missing; - delitem PiberriesInfusion, (getskilllv(SM_ENDURE)+1)*15; - delitem BlackMambaEgg, (getskilllv(SM_ENDURE)+1)*4; - delitem MoubooSteak, (getskilllv(SM_ENDURE)+1)*2; - delitem IronIngot, (getskilllv(SM_ENDURE)+1)*2; + delitem PiberriesInfusion, (getskilllv(SM_BASH)+1)*15; + delitem CaveSnakeSkin, (getskilllv(SM_BASH)+1)*4; + delitem RubyPowder, (getskilllv(SM_BASH)+1)*2; + delitem StrengthPotion, (getskilllv(SM_BASH)+1)*2; sk_lvup(SM_BASH); @@ -89,24 +91,24 @@ L_Member: mes ""; mesn; mesq l("This useful skill will only require:"); - mesc l("@@/@@ @@", countitem(PiberriesInfusion), (getskilllv(KN_AUTOCOUNTER)+1)*10, getitemlink(PiberriesInfusion)); - mesc l("@@/@@ @@", countitem(BlackMambaEgg), (getskilllv(KN_AUTOCOUNTER)+1)*2, getitemlink(BlackMambaEgg)); - mesc l("@@/@@ @@", countitem(MoubooSteak), (getskilllv(KN_AUTOCOUNTER)+1)*4, getitemlink(MoubooSteak)); - mesc l("@@/@@ @@", countitem(IronIngot), (getskilllv(KN_AUTOCOUNTER)+1)*1, getitemlink(IronIngot)); + mesc l("@@/@@ @@", countitem(PiberriesInfusion), (getskilllv(SM_ENDURE)+1)*10, getitemlink(PiberriesInfusion)); + mesc l("@@/@@ @@", countitem(BlackMambaEgg), (getskilllv(SM_ENDURE)+1)*2, getitemlink(BlackMambaEgg)); + mesc l("@@/@@ @@", countitem(MoubooSteak), (getskilllv(SM_ENDURE)+1)*4, getitemlink(MoubooSteak)); + mesc l("@@/@@ @@", countitem(IronIngot), (getskilllv(SM_ENDURE)+1)*1, getitemlink(IronIngot)); next; if (askyesno() == ASK_YES) { if ( - countitem(PiberriesInfusion) < (getskilllv(KN_AUTOCOUNTER)+1)*10 || - countitem(BlackMambaEgg) < (getskilllv(KN_AUTOCOUNTER)+1)*2 || - countitem(MoubooSteak) < (getskilllv(KN_AUTOCOUNTER)+1)*4 || - countitem(IronIngot) < (getskilllv(KN_AUTOCOUNTER)+1)*1) goto L_Missing; + countitem(PiberriesInfusion) < (getskilllv(SM_ENDURE)+1)*10 || + countitem(BlackMambaEgg) < (getskilllv(SM_ENDURE)+1)*2 || + countitem(MoubooSteak) < (getskilllv(SM_ENDURE)+1)*4 || + countitem(IronIngot) < (getskilllv(SM_ENDURE)+1)*1) goto L_Missing; - delitem PiberriesInfusion, (getskilllv(KN_AUTOCOUNTER)+1)*10; - delitem BlackMambaEgg, (getskilllv(KN_AUTOCOUNTER)+1)*2; - delitem MoubooSteak, (getskilllv(KN_AUTOCOUNTER)+1)*4; - delitem IronIngot, (getskilllv(KN_AUTOCOUNTER)+1)*1; + delitem PiberriesInfusion, (getskilllv(SM_ENDURE)+1)*10; + delitem BlackMambaEgg, (getskilllv(SM_ENDURE)+1)*2; + delitem MoubooSteak, (getskilllv(SM_ENDURE)+1)*4; + delitem IronIngot, (getskilllv(SM_ENDURE)+1)*1; - sk_lvup(KN_AUTOCOUNTER); + sk_lvup(SM_ENDURE); next; } @@ -117,35 +119,63 @@ L_Member: mes ""; mesn; mesq l("This useful skill will only require:"); - mesc l("@@/@@ @@", countitem(Cheese), (getskilllv(CR_TRUST)+1)*50, getitemlink(Cheese)); - mesc l("@@/@@ @@", countitem(Coral), (getskilllv(CR_TRUST)+1)*30, getitemlink(Coral)); - mesc l("@@/@@ @@", countitem(PiberriesInfusion), (getskilllv(CR_TRUST)+1)*20, getitemlink(PiberriesInfusion)); - mesc l("@@/@@ @@", countitem(HastePotion), (getskilllv(CR_TRUST)+1)*10, getitemlink(HastePotion)); - mesc l("@@/@@ @@", countitem(DiamondPowder), (getskilllv(CR_TRUST)+1)*3, getitemlink(DiamondPowder)); - mesc l("@@/@@ @@", countitem(ElixirOfLife), (getskilllv(CR_TRUST)+1)*1, getitemlink(ElixirOfLife)); + mesc l("@@/@@ @@", countitem(PinkAntenna), (getskilllv(KN_AUTOCOUNTER)+1)*10, getitemlink(ManaPiouFeathers)); + mesc l("@@/@@ @@", countitem(CaveSnakeSkin), (getskilllv(KN_AUTOCOUNTER)+1)*4, getitemlink(CaveSnakeSkin)); + mesc l("@@/@@ @@", countitem(RubyPowder), (getskilllv(KN_AUTOCOUNTER)+1)*2, getitemlink(RubyPowder)); + mesc l("@@/@@ @@", countitem(StrengthPotion), (getskilllv(KN_AUTOCOUNTER)+1)*2, getitemlink(StrengthPotion)); next; if (askyesno() == ASK_YES) { if ( - countitem(Cheese) < (getskilllv(CR_TRUST)+1)*50 || - countitem(Coral) < (getskilllv(CR_TRUST)+1)*30 || - countitem(PiberriesInfusion) < (getskilllv(CR_TRUST)+1)*20 || - countitem(HastePotion) < (getskilllv(CR_TRUST)+1)*10 || - countitem(DiamondPowder) < (getskilllv(CR_TRUST)+1)*3 || - countitem(ElixirOfLife) < (getskilllv(CR_TRUST)+1)*1) goto L_Missing; - - delitem Cheese, (getskilllv(CR_TRUST)+1)*50; - delitem Coral, (getskilllv(CR_TRUST)+1)*30; - delitem PiberriesInfusion, (getskilllv(CR_TRUST)+1)*20; - delitem HastePotion, (getskilllv(CR_TRUST)+1)*10; - delitem DiamondPowder, (getskilllv(CR_TRUST)+1)*3; - delitem ElixirOfLife, (getskilllv(CR_TRUST)+1)*1; + countitem(PinkAntenna) < (getskilllv(KN_AUTOCOUNTER)+1)*10 || + countitem(CaveSnakeSkin) < (getskilllv(KN_AUTOCOUNTER)+1)*4 || + countitem(RubyPowder) < (getskilllv(KN_AUTOCOUNTER)+1)*2 || + countitem(StrengthPotion) < (getskilllv(KN_AUTOCOUNTER)+1)*2) goto L_Missing; - sk_lvup(SM_ENDURE); + delitem PinkAntenna, (getskilllv(KN_AUTOCOUNTER)+1)*10; + delitem CaveSnakeSkin, (getskilllv(KN_AUTOCOUNTER)+1)*4; + delitem RubyPowder, (getskilllv(KN_AUTOCOUNTER)+1)*2; + delitem StrengthPotion, (getskilllv(KN_AUTOCOUNTER)+1)*2; + + sk_lvup(KN_AUTOCOUNTER); next; } break; case 4: + mesc l("[Two Hands Quicken]"); + mesc l("Triggers an attack speed buff when using two swords."); + mes ""; + mesn; + mesq l("This useful skill will only require:"); + mesc l("@@/@@ @@", countitem(Cheese), (getskilllv(KN_TWOHANDQUICKEN)+1)*50, getitemlink(Cheese)); + mesc l("@@/@@ @@", countitem(Coral), (getskilllv(KN_TWOHANDQUICKEN)+1)*30, getitemlink(Coral)); + mesc l("@@/@@ @@", countitem(PiberriesInfusion), (getskilllv(KN_TWOHANDQUICKEN)+1)*20, getitemlink(PiberriesInfusion)); + mesc l("@@/@@ @@", countitem(HastePotion), (getskilllv(KN_TWOHANDQUICKEN)+1)*10, getitemlink(HastePotion)); + mesc l("@@/@@ @@", countitem(DiamondPowder), (getskilllv(KN_TWOHANDQUICKEN)+1)*3, getitemlink(DiamondPowder)); + mesc l("@@/@@ @@", countitem(ElixirOfLife), (getskilllv(KN_TWOHANDQUICKEN)+1)*1, getitemlink(ElixirOfLife)); + next; + if (askyesno() == ASK_YES) { + if ( + countitem(Cheese) < (getskilllv(KN_TWOHANDQUICKEN)+1)*50 || + countitem(Coral) < (getskilllv(KN_TWOHANDQUICKEN)+1)*30 || + countitem(PiberriesInfusion) < (getskilllv(KN_TWOHANDQUICKEN)+1)*20 || + countitem(HastePotion) < (getskilllv(KN_TWOHANDQUICKEN)+1)*10 || + countitem(DiamondPowder) < (getskilllv(KN_TWOHANDQUICKEN)+1)*3 || + countitem(ElixirOfLife) < (getskilllv(KN_TWOHANDQUICKEN)+1)*1) goto L_Missing; + + delitem Cheese, (getskilllv(KN_TWOHANDQUICKEN)+1)*50; + delitem Coral, (getskilllv(KN_TWOHANDQUICKEN)+1)*30; + delitem PiberriesInfusion, (getskilllv(KN_TWOHANDQUICKEN)+1)*20; + delitem HastePotion, (getskilllv(KN_TWOHANDQUICKEN)+1)*10; + delitem DiamondPowder, (getskilllv(KN_TWOHANDQUICKEN)+1)*3; + delitem ElixirOfLife, (getskilllv(KN_TWOHANDQUICKEN)+1)*1; + + sk_lvup(KN_TWOHANDQUICKEN); + + next; + } + break; + case 5: // All skills related may include the basic class skills if they're related. mesc l("WARNING: If you leave the subclass, you'll lose all skills related to it!"), 1; mesc l("This cannot be undone. Are you sure?"), 1; diff --git a/npc/003-0/paladin.txt b/npc/003-0/paladin.txt index ff79a3765..ed7cec91e 100644 --- a/npc/003-0/paladin.txt +++ b/npc/003-0/paladin.txt @@ -84,9 +84,9 @@ L_Member: countitem(StrengthPotion) < (getskilllv(SM_BASH)+1)*2) goto L_Missing; delitem PiberriesInfusion, (getskilllv(SM_BASH)+1)*15; - delitem BlackMambaEgg, (getskilllv(SM_BASH)+1)*4; - delitem MoubooSteak, (getskilllv(SM_BASH)+1)*2; - delitem IronIngot, (getskilllv(SM_BASH)+1)*2; + delitem CaveSnakeSkin, (getskilllv(SM_BASH)+1)*4; + delitem RubyPowder, (getskilllv(SM_BASH)+1)*2; + delitem StrengthPotion, (getskilllv(SM_BASH)+1)*2; sk_lvup(SM_BASH); -- cgit v1.2.3-60-g2f50