summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2018-07-18 11:40:46 -0300
committerJesusaves <cpntb1@ymail.com>2018-07-18 11:40:46 -0300
commit88c0c988a6232bc1cb6447487bcc6311f32e8112 (patch)
tree8f31b8671522714b1d4218557e65dbb9016ba656
parent29837f227c364f760b765bf4c638916006ce9c94 (diff)
downloadserverdata-88c0c988a6232bc1cb6447487bcc6311f32e8112.tar.gz
serverdata-88c0c988a6232bc1cb6447487bcc6311f32e8112.tar.bz2
serverdata-88c0c988a6232bc1cb6447487bcc6311f32e8112.tar.xz
serverdata-88c0c988a6232bc1cb6447487bcc6311f32e8112.zip
Fix bugs, and add an extra skill to Berserk
-rw-r--r--db/re/skill_db.conf20
-rw-r--r--npc/003-0/berserk.txt120
-rw-r--r--npc/003-0/paladin.txt6
3 files changed, 88 insertions, 58 deletions
diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf
index fd2c662cb..48d670c1e 100644
--- a/db/re/skill_db.conf
+++ b/db/re/skill_db.conf
@@ -2211,16 +2211,16 @@ skill_db: (
FixedCastTime: 0
Requirements: {
SPCost: {
- Lv1: 14
- Lv2: 18
- Lv3: 22
- Lv4: 26
- Lv5: 30
- Lv6: 34
- Lv7: 38
- Lv8: 42
- Lv9: 46
- Lv10: 50
+ Lv1: 140
+ Lv2: 180
+ Lv3: 220
+ Lv4: 260
+ Lv5: 300
+ Lv6: 340
+ Lv7: 380
+ Lv8: 420
+ Lv9: 460
+ Lv10: 500
}
WeaponTypes: {
2HSwords: true
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);