diff options
author | Jesusaves <cpntb1@ymail.com> | 2018-07-16 22:19:38 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2018-07-16 22:19:38 -0300 |
commit | 1b628d8191b9836f52b26541655b4a79adce2164 (patch) | |
tree | 49c525cf2e7e707efa66d2dfba7f3323fd50ea4e | |
parent | f56a2ead75722610497428ec269d6436d5cf2a01 (diff) | |
download | serverdata-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.txt | 25 | ||||
-rw-r--r-- | npc/003-0/paladin.txt | 27 | ||||
-rw-r--r-- | npc/003-0/tanker.txt | 26 |
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; } |