diff options
-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; } |