summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2018-07-16 22:19:38 -0300
committerJesusaves <cpntb1@ymail.com>2018-07-16 22:19:38 -0300
commit1b628d8191b9836f52b26541655b4a79adce2164 (patch)
tree49c525cf2e7e707efa66d2dfba7f3323fd50ea4e
parentf56a2ead75722610497428ec269d6436d5cf2a01 (diff)
downloadserverdata-1b628d8191b9836f52b26541655b4a79adce2164.tar.gz
serverdata-1b628d8191b9836f52b26541655b4a79adce2164.tar.bz2
serverdata-1b628d8191b9836f52b26541655b4a79adce2164.tar.xz
serverdata-1b628d8191b9836f52b26541655b4a79adce2164.zip
You can now abandon Berserker, Paladin and Tanker subclass using your pincode.
This is for @DragonStar. As warned before, leaving main class is NOT ALLOWED, mainly because it is split over multiple scripts and cleaning that up is not sane. Failure to supply pincode will DC you, and the login screen will take care of ip-banning you if needed. Please note the number of MAIN class is 2, and that won't change.
-rw-r--r--npc/003-0/berserk.txt25
-rw-r--r--npc/003-0/paladin.txt27
-rw-r--r--npc/003-0/tanker.txt26
3 files changed, 78 insertions, 0 deletions
diff --git a/npc/003-0/berserk.txt b/npc/003-0/berserk.txt
index c436d1c24..27cb04ce4 100644
--- a/npc/003-0/berserk.txt
+++ b/npc/003-0/berserk.txt
@@ -51,6 +51,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")),
+ l("Leave Subclass"),
l("Nothing at the moment.");
mes "";
switch (@menu) {
@@ -135,6 +136,30 @@ L_Member:
next;
}
break;
+ case 4:
+ // 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;
+ mes "";
+ if (askyesno() == ASK_YES) {
+ mes "";
+ if (validatepin()) {
+ skill KN_AUTOCOUNTER, 0, 0;
+ skill SM_ENDURE, 0, 0;
+ skill SM_BASH, 0, 0;
+ MAGIC_SUBCLASS=MAGIC_SUBCLASS^CL_BERSERKER;
+ mesc l("You abandoned the BERSERKER class!"), 1;
+ close;
+ } else {
+ mesc l("Failed to validate pin. Aborting.");
+ next;
+ }
+ } else {
+ mes "";
+ mesc l("Operation aborted. Phew!");
+ next;
+ }
+ break;
default:
goto L_Close;
}
diff --git a/npc/003-0/paladin.txt b/npc/003-0/paladin.txt
index 2a46f6c00..f69f05f63 100644
--- a/npc/003-0/paladin.txt
+++ b/npc/003-0/paladin.txt
@@ -61,6 +61,7 @@ L_Member:
//rif(sk_intcost(MER_INCAGI) && sk_canlvup(MER_INCAGI), l("Improve Increase Agility")),
//rif(sk_intcost(PR_REDEMPTIO) && !getskilllv(PR_REDEMPTIO), l("Learn Redemption")),
rif(sk_intcost(CR_TRUST) && !getskilllv(CR_TRUST), l("Learn Last Standing Man")),
+ l("Leave Subclass"),
l("Nothing at the moment.");
mes "";
switch (@menu) {
@@ -159,6 +160,32 @@ L_Member:
next;
}
break;
+ case 6:
+ // 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;
+ mes "";
+ if (askyesno() == ASK_YES) {
+ mes "";
+ if (validatepin()) {
+ skill CR_TRUST, 0, 0;
+ skill AL_ANGELUS, 0, 0;
+ skill PR_REDEMPTIO, 0, 0;
+ skill MER_INCAGI, 0, 0;
+ skill SM_BASH, 0, 0;
+ MAGIC_SUBCLASS=MAGIC_SUBCLASS^CL_PALADIN;
+ mesc l("You abandoned the PALADIN class!"), 1;
+ close;
+ } else {
+ mesc l("Failed to validate pin. Aborting.");
+ next;
+ }
+ } else {
+ mes "";
+ mesc l("Operation aborted. Phew!");
+ next;
+ }
+ break;
default:
goto L_Close;
}
diff --git a/npc/003-0/tanker.txt b/npc/003-0/tanker.txt
index a7776fb1f..b1d79bb53 100644
--- a/npc/003-0/tanker.txt
+++ b/npc/003-0/tanker.txt
@@ -59,6 +59,7 @@ L_Member:
//rif(sk_intcost(CR_AUTOGUARD) && sk_canlvup(CR_AUTOGUARD), l("Improve Guard")),
rif(sk_intcost(CR_DEFENDER) && sk_canlvup(CR_DEFENDER), l("Improve Arrow Shield")),
rif(sk_intcost(SM_RECOVERY) && sk_canlvup(SM_RECOVERY), l("Improve Standing HP Regen")),
+ l("Leave Subclass"),
l("Nothing at the moment.");
mes "";
switch (@menu) {
@@ -160,6 +161,31 @@ L_Member:
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;
+ mes "";
+ if (askyesno() == ASK_YES) {
+ mes "";
+ if (validatepin()) {
+ skill CR_TRUST, 0, 0;
+ skill CR_AUTOGUARD, 0, 0;
+ skill CR_DEFENDER, 0, 0;
+ skill SM_RECOVERY, 0, 0;
+ MAGIC_SUBCLASS=MAGIC_SUBCLASS^CL_TANKER;
+ mesc l("You abandoned the TANKER class!"), 1;
+ close;
+ } else {
+ mesc l("Failed to validate pin. Aborting.");
+ next;
+ }
+ } else {
+ mes "";
+ mesc l("Operation aborted. Phew!");
+ next;
+ }
+ break;
default:
goto L_Close;
}