diff options
Diffstat (limited to 'npc/003-0')
-rw-r--r-- | npc/003-0/_import.txt | 2 | ||||
-rw-r--r-- | npc/003-0/berserk.txt | 222 | ||||
-rw-r--r-- | npc/003-0/priest.txt | 279 |
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; -} - |