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