summaryrefslogtreecommitdiff
path: root/npc/003-0/berserk.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/003-0/berserk.txt')
-rw-r--r--npc/003-0/berserk.txt25
1 files changed, 25 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;
}