summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}