summaryrefslogtreecommitdiff
path: root/npc/003-0
diff options
context:
space:
mode:
Diffstat (limited to 'npc/003-0')
-rw-r--r--npc/003-0/_import.txt2
-rw-r--r--npc/003-0/berserk.txt222
-rw-r--r--npc/003-0/priest.txt279
3 files changed, 0 insertions, 503 deletions
diff --git a/npc/003-0/_import.txt b/npc/003-0/_import.txt
index 4721d3b94..f2e4c81d9 100644
--- a/npc/003-0/_import.txt
+++ b/npc/003-0/_import.txt
@@ -1,10 +1,8 @@
// Map 003-0: Magic Academy
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/003-0/_warps.txt",
-"npc/003-0/berserk.txt",
"npc/003-0/colin.txt",
"npc/003-0/luca.txt",
-"npc/003-0/priest.txt",
"npc/003-0/recepcionist.txt",
"npc/003-0/sage.txt",
"npc/003-0/wizard.txt",
diff --git a/npc/003-0/berserk.txt b/npc/003-0/berserk.txt
deleted file mode 100644
index a4af50e2f..000000000
--- a/npc/003-0/berserk.txt
+++ /dev/null
@@ -1,222 +0,0 @@
-// TMW2 scripts.
-// Authors:
-// Jesusalva
-// Description:
-// Leader of the BERSERK class
-
-003-0,34,45,4 script Ragger Master NPC_PLAYER,{
- if (!(MAGIC_SUBCLASS & CL_BERSERKER))
- goto L_SignUp;
- goto L_Member;
-
-// Sign Up
-L_SignUp:
- // Not allowed if subclass filled or not from main class
- if (total_subclass() >= max_subclass() || getskilllv(MAGIC_WARRIOR) < 2)
- goto L_Close;
- mesn;
- mesq l("Hey there! Do you want to join the Berserk (Ragger) Class?");
- mesc l("Warning: If you join a subclass, you can't leave it later!"), 1;
- next;
- if (askyesno() != ASK_YES)
- close;
- // TODO: Requeriment for signing up to a subclass? Or is the tier + skill quest hard enough?
- MAGIC_SUBCLASS=MAGIC_SUBCLASS|CL_BERSERKER;
- mesn;
- mesq l("Welcome to the berserker guild!");
- close;
-
-// Close
-L_Close:
- goodbye;
- closedialog;
- close;
-
-L_Missing:
- mesn;
- mesq l("Hey hey! You don't have that stuff, CAN'T YOU READ?!");
- percentheal 0, -10;
- next;
- goto L_Member;
-
-// Membership area
-// Ragger
-// KN_AUTOCOUNTER (Counter any attack with 2x critical rate and block attack for 0.5s)
-// SM_ENDURE (deny stun penalty when hit, and MDEF bonus, for 10s)
-// KN_TWOHANDQUICKEN (raise attack speed in 30%, if you are with a 2-hands sword) (30s/level)
-
-L_Member:
- mesn;
- mesq l("Hey there! Do you want to learn new skills for a very small teaching fee?");
- select
- 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")),
- rif(sk_intcost(KN_TWOHANDQUICKEN) && sk_canlvup(KN_TWOHANDQUICKEN), l("Improve Two Hands Quicken")),
- l("Leave Subclass"),
- l("Nothing at the moment.");
- mes "";
- switch (@menu) {
- case 1:
- mesc l("[Bash]");
- mesc l("Blow with increased attack and precision.");
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(ManaPiouFeathers), (getskilllv(SM_BASH)+1)*15, getitemlink(ManaPiouFeathers));
- mesc l("@@/@@ @@", countitem(CaveSnakeSkin), (getskilllv(SM_BASH)+1)*3, getitemlink(CaveSnakeSkin));
- mesc l("@@/@@ @@", countitem(RubyPowder), (getskilllv(SM_BASH)+1)*2, getitemlink(RubyPowder));
- mesc l("@@/@@ @@", countitem(StrengthPotion), (getskilllv(SM_BASH)+1)*2, getitemlink(StrengthPotion));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(ManaPiouFeathers) < (getskilllv(SM_BASH)+1)*15 ||
- countitem(CaveSnakeSkin) < (getskilllv(SM_BASH)+1)*3 ||
- countitem(RubyPowder) < (getskilllv(SM_BASH)+1)*2 ||
- countitem(StrengthPotion) < (getskilllv(SM_BASH)+1)*2) goto L_Missing;
-
- delitem ManaPiouFeathers, (getskilllv(SM_BASH)+1)*15;
- delitem CaveSnakeSkin, (getskilllv(SM_BASH)+1)*3;
- delitem RubyPowder, (getskilllv(SM_BASH)+1)*2;
- delitem StrengthPotion, (getskilllv(SM_BASH)+1)*2;
-
- sk_lvup(SM_BASH);
-
- next;
- }
- break;
- case 2:
- mesc l("[Endure]");
- mesc l("Temporary immunity to move stun when hit, and MDEF bonus.");
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(PiberriesInfusion), (getskilllv(SM_ENDURE)+1)*10, getitemlink(PiberriesInfusion));
- mesc l("@@/@@ @@", countitem(DiamondPowder), (getskilllv(SM_ENDURE)+1)*2, getitemlink(DiamondPowder));
- mesc l("@@/@@ @@", countitem(MoubooSteak), (getskilllv(SM_ENDURE)+1)*4, getitemlink(MoubooSteak));
- mesc l("@@/@@ @@", countitem(IronIngot), (getskilllv(SM_ENDURE)+1)*1, getitemlink(IronIngot));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(PiberriesInfusion) < (getskilllv(SM_ENDURE)+1)*10 ||
- countitem(DiamondPowder) < (getskilllv(SM_ENDURE)+1)*2 ||
- countitem(MoubooSteak) < (getskilllv(SM_ENDURE)+1)*4 ||
- countitem(IronIngot) < (getskilllv(SM_ENDURE)+1)*1) goto L_Missing;
-
- delitem PiberriesInfusion, (getskilllv(SM_ENDURE)+1)*10;
- delitem DiamondPowder, (getskilllv(SM_ENDURE)+1)*2;
- delitem MoubooSteak, (getskilllv(SM_ENDURE)+1)*4;
- delitem IronIngot, (getskilllv(SM_ENDURE)+1)*1;
-
- sk_lvup(SM_ENDURE);
-
- next;
- }
- break;
- case 3:
- mesc l("[Counter Defense]");
- mesc l("During a very small amount of time, you'll counter any attack with double critical, and won't take the damage.");
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(PinkAntenna), (getskilllv(KN_AUTOCOUNTER)+1)*10, getitemlink(PinkAntenna));
- mesc l("@@/@@ @@", countitem(CaveSnakeSkin), (getskilllv(KN_AUTOCOUNTER)+1)*3, getitemlink(CaveSnakeSkin));
- mesc l("@@/@@ @@", countitem(RubyPowder), (getskilllv(KN_AUTOCOUNTER)+1)*2, getitemlink(RubyPowder));
- mesc l("@@/@@ @@", countitem(StrengthPotion), (getskilllv(KN_AUTOCOUNTER)+1)*2, getitemlink(StrengthPotion));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(PinkAntenna) < (getskilllv(KN_AUTOCOUNTER)+1)*10 ||
- countitem(CaveSnakeSkin) < (getskilllv(KN_AUTOCOUNTER)+1)*3 ||
- countitem(RubyPowder) < (getskilllv(KN_AUTOCOUNTER)+1)*2 ||
- countitem(StrengthPotion) < (getskilllv(KN_AUTOCOUNTER)+1)*2) goto L_Missing;
-
- delitem PinkAntenna, (getskilllv(KN_AUTOCOUNTER)+1)*10;
- delitem CaveSnakeSkin, (getskilllv(KN_AUTOCOUNTER)+1)*3;
- delitem RubyPowder, (getskilllv(KN_AUTOCOUNTER)+1)*2;
- delitem StrengthPotion, (getskilllv(KN_AUTOCOUNTER)+1)*2;
-
- sk_lvup(KN_AUTOCOUNTER);
-
- next;
- }
- break;
- case 4:
- mesc l("[Two Hands Quicken]");
- mesc l("Triggers an attack speed buff when using two swords.");
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(Cheese), (getskilllv(KN_TWOHANDQUICKEN)+1)*50, getitemlink(Cheese));
- mesc l("@@/@@ @@", countitem(Coral), (getskilllv(KN_TWOHANDQUICKEN)+1)*30, getitemlink(Coral));
- mesc l("@@/@@ @@", countitem(PiberriesInfusion), (getskilllv(KN_TWOHANDQUICKEN)+1)*20, getitemlink(PiberriesInfusion));
- mesc l("@@/@@ @@", countitem(HastePotion), (getskilllv(KN_TWOHANDQUICKEN)+1)*10, getitemlink(HastePotion));
- mesc l("@@/@@ @@", countitem(DiamondPowder), (getskilllv(KN_TWOHANDQUICKEN)+1)*3, getitemlink(DiamondPowder));
- mesc l("@@/@@ @@", countitem(ElixirOfLife), (getskilllv(KN_TWOHANDQUICKEN)+1)*1, getitemlink(ElixirOfLife));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(Cheese) < (getskilllv(KN_TWOHANDQUICKEN)+1)*50 ||
- countitem(Coral) < (getskilllv(KN_TWOHANDQUICKEN)+1)*30 ||
- countitem(PiberriesInfusion) < (getskilllv(KN_TWOHANDQUICKEN)+1)*20 ||
- countitem(HastePotion) < (getskilllv(KN_TWOHANDQUICKEN)+1)*10 ||
- countitem(DiamondPowder) < (getskilllv(KN_TWOHANDQUICKEN)+1)*3 ||
- countitem(ElixirOfLife) < (getskilllv(KN_TWOHANDQUICKEN)+1)*1) goto L_Missing;
-
- delitem Cheese, (getskilllv(KN_TWOHANDQUICKEN)+1)*50;
- delitem Coral, (getskilllv(KN_TWOHANDQUICKEN)+1)*30;
- delitem PiberriesInfusion, (getskilllv(KN_TWOHANDQUICKEN)+1)*20;
- delitem HastePotion, (getskilllv(KN_TWOHANDQUICKEN)+1)*10;
- delitem DiamondPowder, (getskilllv(KN_TWOHANDQUICKEN)+1)*3;
- delitem ElixirOfLife, (getskilllv(KN_TWOHANDQUICKEN)+1)*1;
-
- sk_lvup(KN_TWOHANDQUICKEN);
-
- 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 KN_TWOHANDQUICKEN, 0, 0;
- skill KN_AUTOCOUNTER, 0, 0;
- skill SM_ENDURE, 0, 0;
- skill SM_BASH, 2, 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;
- }
-
- goto L_Member;
-
-OnInit:
- .@npcId = getnpcid(.name$);
- setunitdata(.@npcId, UDT_HEADTOP, WarlordHelmet);
- setunitdata(.@npcId, UDT_HEADMIDDLE, GoldenWarlordPlate);
- setunitdata(.@npcId, UDT_HEADBOTTOM, ShortGladius);
- setunitdata(.@npcId, UDT_WEAPON, JeansChaps);
- setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
- setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
-
- .sex=G_MALE;
- .distance=5;
- end;
-}
-
diff --git a/npc/003-0/priest.txt b/npc/003-0/priest.txt
deleted file mode 100644
index 958c9d710..000000000
--- a/npc/003-0/priest.txt
+++ /dev/null
@@ -1,279 +0,0 @@
-// TMW2 scripts.
-// Authors:
-// Jesusalva
-// Description:
-// Leader of the PRIEST class
-
-003-0,58,30,0 script Priest Master NPC_PLAYER,{
- /*
- if (!is_staff())
- goto L_Close;
- */
- if (!(MAGIC_SUBCLASS & CL_PRIEST))
- goto L_SignUp;
- goto L_Member;
-
-// Sign Up
-L_SignUp:
- // Not allowed if subclass filled or not from main class
- if (total_subclass() >= max_subclass() || getskilllv(WIZARD_MAGE) < 2)
- goto L_Close;
- mesn;
- mesq l("Hey there! Do you want to join the Priest Class?");
- mesc l("Warning: If you join a subclass, you can't leave it later!"), 1;
- mesc b(l("Warning: This class haven't been tested/balanced yet. Feedback is required!")), 1;
- next;
- if (askyesno() != ASK_YES)
- close;
- // TODO: Requeriment for signing up to a subclass? Or is the tier + skill quest hard enough?
- MAGIC_SUBCLASS=MAGIC_SUBCLASS|CL_PRIEST;
- mesn;
- mesq l("Welcome to the Priest guild!");
- close;
-
-// Close
-L_Close:
- goodbye;
- closedialog;
- close;
-
-L_Missing:
- mesn;
- mesq l("Hey hey! You don't have that stuff, CAN'T YOU READ?!");
- percentheal 0, -10;
- next;
- goto L_Member;
-
-// Membership area
-// Priest
-// AL_HOLYLIGHT (standard holy magic attack - 125% of MATK)
-// MG_SRECOVERY (small increase to SP Recovery while idle each 10 sec.)
-// ALL_RESURRECTION (Revive at 10% HP. May insta-kill undead. Max Level 3~4)
-// PR_ASPERSIO (Change anyone weapon to holy for 60s. Or 40 defense-disregard holy dmg to undead/evil)
-// TF_DETOXIFY (cancels poison. 40% MP.)
-
-L_Member:
- mesn;
- mesq l("Hey there! Do you want to learn new skills for a very small teaching fee?");
- select
- rif(sk_intcost(AL_HOLYLIGHT) && !getskilllv(AL_HOLYLIGHT), l("Learn Holy Light")),
- rif(sk_intcost(TF_DETOXIFY) && !getskilllv(TF_DETOXIFY), l("Learn Detoxify")),
- rif(sk_intcost(ALL_RESURRECTION) && getskilllv(ALL_RESURRECTION) < (1+degree_subclass()/2), l("Learn Ressurection")),
- rif(sk_intcost(MG_SRECOVERY) && sk_canlvup(MG_SRECOVERY), l("Improve Mana Recovery")),
- rif(sk_intcost(PR_ASPERSIO) && sk_canlvup(PR_ASPERSIO), l("Improve Blessed Weapon")),
- rif(sk_intcost(AB_HIGHNESSHEAL) && sk_canlvup(AB_HIGHNESSHEAL), l("Improve Luma")),
- l("Leave Subclass"),
- l("Nothing at the moment.");
- mes "";
- switch (@menu) {
- case 1:
- mesc l("[Holy Light]");
- mesc l("The basic magic attack from a Priest. No effect against Holy Monsters.");
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(MoubooFigurine), (getskilllv(AL_HOLYLIGHT)+1)*3, getitemlink(MoubooFigurine));
- mesc l("@@/@@ @@", countitem(GemPowder), (getskilllv(AL_HOLYLIGHT)+1)*1, getitemlink(GemPowder));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(MoubooFigurine) < (getskilllv(AL_HOLYLIGHT)+1)*3 ||
- countitem(GemPowder) < (getskilllv(AL_HOLYLIGHT)+1)*1) goto L_Missing;
-
- delitem MoubooFigurine, (getskilllv(AL_HOLYLIGHT)+1)*3;
- delitem GemPowder, (getskilllv(AL_HOLYLIGHT)+1)*1;
-
- sk_lvup(AL_HOLYLIGHT);
-
- next;
- }
- break;
- case 2:
- mesc l("[Detoxify]");
- mesc l("Cancels Poison. Antidotes are hard to come by, anyway.");
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(Candy), (getskilllv(TF_DETOXIFY)+1)*70, getitemlink(Candy));
- mesc l("@@/@@ @@", countitem(Root), (getskilllv(TF_DETOXIFY)+1)*10, getitemlink(Root));
- mesc l("@@/@@ @@", countitem(Mashmallow), (getskilllv(TF_DETOXIFY)+1)*2, getitemlink(Mashmallow));
- mesc l("@@/@@ @@", countitem(FluoPowder), (getskilllv(TF_DETOXIFY)+1)*1, getitemlink(FluoPowder));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(Candy) < (getskilllv(TF_DETOXIFY)+1)*70 ||
- countitem(Root) < (getskilllv(TF_DETOXIFY)+1)*10 ||
- countitem(Mashmallow) < (getskilllv(TF_DETOXIFY)+1)*2 ||
- countitem(FluoPowder) < (getskilllv(TF_DETOXIFY)+1)*1) goto L_Missing;
-
- delitem Candy, (getskilllv(TF_DETOXIFY)+1)*70;
- delitem Root, (getskilllv(TF_DETOXIFY)+1)*10;
- delitem Mashmallow, (getskilllv(TF_DETOXIFY)+1)*2;
- delitem FluoPowder, (getskilllv(TF_DETOXIFY)+1)*1;
-
- sk_lvup(TF_DETOXIFY);
-
- next;
- }
- break;
- case 3:
- mesc l("[Ressurection]");
- mesc l("Raise fallen party members so they can keep fighting.");
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(Acorn), (getskilllv(ALL_RESURRECTION)+1)*60, getitemlink(Acorn));
- mesc l("@@/@@ @@", countitem(Bread), (getskilllv(ALL_RESURRECTION)+1)*20, getitemlink(Bread));
- mesc l("@@/@@ @@", countitem(SmallMushroom), (getskilllv(ALL_RESURRECTION)+1)*20, getitemlink(SmallMushroom));
- mesc l("@@/@@ @@", countitem(PinkBlobime), (getskilllv(ALL_RESURRECTION)+1)*15, getitemlink(PinkBlobime));
- mesc l("@@/@@ @@", countitem(Pearl), (getskilllv(ALL_RESURRECTION)+1)*2, getitemlink(Pearl));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(Acorn) < (getskilllv(ALL_RESURRECTION)+1)*60 ||
- countitem(Bread) < (getskilllv(ALL_RESURRECTION)+1)*20 ||
- countitem(SmallMushroom) < (getskilllv(ALL_RESURRECTION)+1)*15 ||
- countitem(PinkBlobime) < (getskilllv(ALL_RESURRECTION)+1)*20 ||
- countitem(Pearl) < (getskilllv(ALL_RESURRECTION)+1)*2) goto L_Missing;
-
- delitem Acorn, (getskilllv(ALL_RESURRECTION)+1)*60;
- delitem Bread, (getskilllv(ALL_RESURRECTION)+1)*20;
- delitem SmallMushroom, (getskilllv(ALL_RESURRECTION)+1)*20;
- delitem PinkBlobime, (getskilllv(ALL_RESURRECTION)+1)*15;
- delitem Pearl, (getskilllv(ALL_RESURRECTION)+1)*2;
-
- sk_lvup(ALL_RESURRECTION);
-
- next;
- }
- break;
- case 4:
- mesc l("[MP Regen]");
- mesc l("Heals more mana while standing.");
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(Acorn), (getskilllv(MG_SRECOVERY)+1)*70, getitemlink(Acorn));
- mesc l("@@/@@ @@", countitem(Root), (getskilllv(MG_SRECOVERY)+1)*10, getitemlink(Root));
- mesc l("@@/@@ @@", countitem(FrozenYetiTear),(getskilllv(MG_SRECOVERY)+1)*2, getitemlink(FrozenYetiTear));
- mesc l("@@/@@ @@", countitem(FluoPowder), (getskilllv(MG_SRECOVERY)+1)*1, getitemlink(FluoPowder));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(Acorn) < (getskilllv(MG_SRECOVERY)+1)*70 ||
- countitem(Root) < (getskilllv(MG_SRECOVERY)+1)*10 ||
- countitem(FrozenYetiTear) < (getskilllv(MG_SRECOVERY)+1)*2 ||
- countitem(FluoPowder) < (getskilllv(MG_SRECOVERY)+1)*1) goto L_Missing;
-
- delitem Acorn, (getskilllv(MG_SRECOVERY)+1)*70;
- delitem Root, (getskilllv(MG_SRECOVERY)+1)*10;
- delitem FrozenYetiTear, (getskilllv(MG_SRECOVERY)+1)*2;
- delitem FluoPowder, (getskilllv(MG_SRECOVERY)+1)*1;
-
- sk_lvup(MG_SRECOVERY);
-
- next;
- }
- break;
- case 5:
- mesc l("[Bless Weapon]");
- mesc l("Changes anyone's weapon to Holy elemental. Causes small damage when used on offensive.");
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(Acorn), (getskilllv(PR_ASPERSIO)+1)*70, getitemlink(Acorn));
- mesc l("@@/@@ @@", countitem(Root), (getskilllv(PR_ASPERSIO)+1)*10, getitemlink(Root));
- mesc l("@@/@@ @@", countitem(FrozenYetiTear),(getskilllv(PR_ASPERSIO)+1)*2, getitemlink(FrozenYetiTear));
- mesc l("@@/@@ @@", countitem(FluoPowder), (getskilllv(PR_ASPERSIO)+1)*1, getitemlink(FluoPowder));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(Acorn) < (getskilllv(PR_ASPERSIO)+1)*70 ||
- countitem(Root) < (getskilllv(PR_ASPERSIO)+1)*10 ||
- countitem(FrozenYetiTear) < (getskilllv(PR_ASPERSIO)+1)*2 ||
- countitem(FluoPowder) < (getskilllv(PR_ASPERSIO)+1)*1) goto L_Missing;
-
- delitem Acorn, (getskilllv(PR_ASPERSIO)+1)*70;
- delitem Root, (getskilllv(PR_ASPERSIO)+1)*10;
- delitem FrozenYetiTear, (getskilllv(PR_ASPERSIO)+1)*2;
- delitem FluoPowder, (getskilllv(PR_ASPERSIO)+1)*1;
-
- sk_lvup(PR_ASPERSIO);
-
- next;
- }
- break;
- case 6:
- mesc l("[Luma]");
- mesc l("More powerful version of healing. Requires @@ each cast.", getitemlink(Lifestone));
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(Lifestone), (getskilllv(AB_HIGHNESSHEAL)+1)*70, getitemlink(Lifestone));
- mesc l("@@/@@ @@", countitem(Root), (getskilllv(AB_HIGHNESSHEAL)+1)*10, getitemlink(Root));
- mesc l("@@/@@ @@", countitem(FrozenYetiTear),(getskilllv(AB_HIGHNESSHEAL)+1)*2, getitemlink(FrozenYetiTear));
- mesc l("@@/@@ @@", countitem(FluoPowder), (getskilllv(AB_HIGHNESSHEAL)+1)*1, getitemlink(FluoPowder));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(Lifestone) < (getskilllv(AB_HIGHNESSHEAL)+1)*70 ||
- countitem(Root) < (getskilllv(AB_HIGHNESSHEAL)+1)*10 ||
- countitem(FrozenYetiTear) < (getskilllv(AB_HIGHNESSHEAL)+1)*2 ||
- countitem(FluoPowder) < (getskilllv(AB_HIGHNESSHEAL)+1)*1) goto L_Missing;
-
- delitem Lifestone, (getskilllv(AB_HIGHNESSHEAL)+1)*70;
- delitem Root, (getskilllv(AB_HIGHNESSHEAL)+1)*10;
- delitem FrozenYetiTear, (getskilllv(AB_HIGHNESSHEAL)+1)*2;
- delitem FluoPowder, (getskilllv(AB_HIGHNESSHEAL)+1)*1;
-
- sk_lvup(AB_HIGHNESSHEAL);
-
- next;
- }
- break;
- case 7:
- // 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 AL_HOLYLIGHT, 0, 0;
- skill TF_DETOXIFY, 0, 0;
- skill ALL_RESURRECTION, 0, 0;
- skill MG_SRECOVERY, 0, 0;
- skill PR_ASPERSIO, 0, 0;
- MAGIC_SUBCLASS=MAGIC_SUBCLASS^CL_PRIEST;
- mesc l("You abandoned the PRIEST 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;
- }
-
- goto L_Member;
-
-OnInit:
- .@npcId = getnpcid(.name$);
- //setunitdata(.@npcId, UDT_HEADTOP, WarlordHelmet); // TODO: wizard hat
- setunitdata(.@npcId, UDT_HEADMIDDLE, SorcererRobe);
- setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
- setunitdata(.@npcId, UDT_WEAPON, JeansChaps);
- setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
- setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
-
- .sex=G_MALE;
- .distance=5;
- end;
-}
-