summaryrefslogtreecommitdiff
path: root/npc/003-0/tanker.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/003-0/tanker.txt')
-rw-r--r--npc/003-0/tanker.txt221
1 files changed, 0 insertions, 221 deletions
diff --git a/npc/003-0/tanker.txt b/npc/003-0/tanker.txt
deleted file mode 100644
index 0b4c443e7..000000000
--- a/npc/003-0/tanker.txt
+++ /dev/null
@@ -1,221 +0,0 @@
-// TMW2 scripts.
-// Authors:
-// Jesusalva
-// Description:
-// Leader of the TANKER class
-
-003-0,38,41,2 script Tanker Master NPC_PLAYER,{
- /*
- if (!is_staff())
- goto L_Close;
- */
- if (!(MAGIC_SUBCLASS & CL_TANKER))
- 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 Tanker 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_TANKER;
- mesn;
- mesq l("Welcome to the tanker 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
-// Tanker
-// CR_TRUST (raise Max HP in 200 and Holy Resistance in 5%, passive)
-// CR_AUTOGUARD (5% chance to complety block attack. Freeze you for a while. Req. Shield. Last 5m.)
-// CR_DEFENDER (less damage from ranged attacks, but lowers move & attack speed. Req. Shield) - max lv 4 plz. Last 3m.
-// SM_RECOVERY (insignificant HP recovery every 10s without moving. Better with higher level.) - low mp cost
-
-L_Member:
- mesn;
- mesq l("Hey there! Do you want to learn new skills for a very small teaching fee?");
- select
- rif(sk_intcost(CR_TRUST) && getskilllv(CR_TRUST) < 1+(degree_subclass()/2), l("Learn Last Standing Man")),
- "",
- //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) {
- case 1:
- mesc l("[Last Standing Man]");
- mesc l("Raises max HP and holy resistance. Passive.");
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(Cheese), (getskilllv(CR_TRUST)+1)*50, getitemlink(Cheese));
- mesc l("@@/@@ @@", countitem(Coral), (getskilllv(CR_TRUST)+1)*30, getitemlink(Coral));
- mesc l("@@/@@ @@", countitem(PiberriesInfusion), (getskilllv(CR_TRUST)+1)*20, getitemlink(PiberriesInfusion));
- mesc l("@@/@@ @@", countitem(FluoPowder), (getskilllv(CR_TRUST)+1)*15, getitemlink(FluoPowder));
- mesc l("@@/@@ @@", countitem(HastePotion), (getskilllv(CR_TRUST)+1)*10, getitemlink(HastePotion));
- mesc l("@@/@@ @@", countitem(DiamondPowder), (getskilllv(CR_TRUST)+1)*3, getitemlink(DiamondPowder));
- mesc l("@@/@@ @@", countitem(GrassCarp), (getskilllv(CR_TRUST)+1)*1, getitemlink(GrassCarp));
- mesc l("@@/@@ @@", countitem(ElixirOfLife), (getskilllv(CR_TRUST)+1)*1, getitemlink(ElixirOfLife));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(Cheese) < (getskilllv(CR_TRUST)+1)*50 ||
- countitem(Coral) < (getskilllv(CR_TRUST)+1)*30 ||
- countitem(PiberriesInfusion) < (getskilllv(CR_TRUST)+1)*20 ||
- countitem(FluoPowder) < (getskilllv(CR_TRUST)+1)*15 ||
- countitem(HastePotion) < (getskilllv(CR_TRUST)+1)*10 ||
- countitem(DiamondPowder) < (getskilllv(CR_TRUST)+1)*3 ||
- countitem(GrassCarp) < (getskilllv(CR_TRUST)+1)*1 ||
- countitem(ElixirOfLife) < (getskilllv(CR_TRUST)+1)*1) goto L_Missing;
-
- delitem Cheese, (getskilllv(CR_TRUST)+1)*50;
- delitem Coral, (getskilllv(CR_TRUST)+1)*30;
- delitem PiberriesInfusion, (getskilllv(CR_TRUST)+1)*20;
- delitem FluoPowder, (getskilllv(CR_TRUST)+1)*15;
- delitem HastePotion, (getskilllv(CR_TRUST)+1)*10;
- delitem DiamondPowder, (getskilllv(CR_TRUST)+1)*3;
- delitem GrassCarp, (getskilllv(CR_TRUST)+1)*1;
- delitem ElixirOfLife, (getskilllv(CR_TRUST)+1)*1;
-
- sk_lvup(CR_TRUST);
-
- next;
- }
- break;
- case 2:
- mesc l("[Guard]");
- mesc l("Raises chance to entirely block an attack, but freezes you for a while. Req. Shield.");
- mes "";
- // TODO: Requirem, quest, agree
- sk_lvup(CR_AUTOGUARD);
- break;
- case 3:
- mesc l("[Arrow Shield]");
- mesc l("Decrease ranged damage taken for a few minutes, in exchange of agi and move speed. Req. Shield.");
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(PiouFeathers), (getskilllv(CR_DEFENDER)+1)*60, getitemlink(PiouFeathers));
- mesc l("@@/@@ @@", countitem(PoisonArrow), (getskilllv(CR_DEFENDER)+1)*10, getitemlink(PoisonArrow));
- mesc l("@@/@@ @@", countitem(CursedArrow), (getskilllv(CR_DEFENDER)+1)*10, getitemlink(CursedArrow));
- mesc l("@@/@@ @@", countitem(OrangeCupcake), (getskilllv(CR_DEFENDER)+1)*6, getitemlink(OrangeCupcake));
- mesc l("@@/@@ @@", countitem(Mashmallow), (getskilllv(CR_DEFENDER)+1)*5, getitemlink(Mashmallow));
- mesc l("@@/@@ @@", countitem(Orange), (getskilllv(CR_DEFENDER)+1)*4, getitemlink(Orange));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(PiouFeathers) < (getskilllv(CR_DEFENDER)+1)*60 ||
- countitem(PoisonArrow) < (getskilllv(CR_DEFENDER)+1)*10 ||
- countitem(CursedArrow) < (getskilllv(CR_DEFENDER)+1)*10 ||
- countitem(OrangeCupcake) < (getskilllv(CR_DEFENDER)+1)*6 ||
- countitem(Mashmallow) < (getskilllv(CR_DEFENDER)+1)*5 ||
- countitem(Orange) < (getskilllv(CR_DEFENDER)+1)*4) goto L_Missing;
-
- delitem PiouFeathers, (getskilllv(CR_DEFENDER)+1)*60;
- delitem PoisonArrow, (getskilllv(CR_DEFENDER)+1)*10;
- delitem CursedArrow, (getskilllv(CR_DEFENDER)+1)*10;
- delitem PrangeCupcake, (getskilllv(CR_DEFENDER)+1)*6;
- delitem Mashmallow, (getskilllv(CR_DEFENDER)+1)*5;
- delitem Orange, (getskilllv(CR_DEFENDER)+1)*4;
-
- sk_lvup(CR_DEFENDER);
-
- next;
- }
- break;
- case 4:
- mesc l("[Standing Regen]");
- mesc l("Regenerate HP every 5 seconds, as if you were always eating a healing item.");
- mes "";
- mesn;
- mesq l("This useful skill will only require:");
- mesc l("@@/@@ @@", countitem(PiberriesInfusion), (getskilllv(SM_RECOVERY)+1)*10, getitemlink(PiberriesInfusion));
- mesc l("@@/@@ @@", countitem(BlackMambaEgg), (getskilllv(SM_RECOVERY)+1)*6, getitemlink(BlackMambaEgg));
- mesc l("@@/@@ @@", countitem(MoubooSteak), (getskilllv(SM_RECOVERY)+1)*4, getitemlink(MoubooSteak));
- mesc l("@@/@@ @@", countitem(TonoriDelight), (getskilllv(SM_RECOVERY)+1)*8, getitemlink(TonoriDelight));
- next;
- if (askyesno() == ASK_YES) {
- if (
- countitem(PiberriesInfusion) < (getskilllv(SM_RECOVERY)+1)*10 ||
- countitem(BlackMambaEgg) < (getskilllv(SM_RECOVERY)+1)*6 ||
- countitem(MoubooSteak) < (getskilllv(SM_RECOVERY)+1)*4 ||
- countitem(TonoriDelight) < (getskilllv(SM_RECOVERY)+1)*8) goto L_Missing;
-
- delitem PiberriesInfusion, (getskilllv(SM_RECOVERY)+1)*10;
- delitem BlackMambaEgg, (getskilllv(SM_RECOVERY)+1)*6;
- delitem MoubooSteak, (getskilllv(SM_RECOVERY)+1)*4;
- delitem TonoriDelight, (getskilllv(SM_RECOVERY)+1)*8;
-
- sk_lvup(SM_RECOVERY);
- //mesc l("This skill can be further improved with Job Points");
-
- 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;
- }
-
- goto L_Member;
-
-OnInit:
- .@npcId = getnpcid(.name$);
- setunitdata(.@npcId, UDT_HEADTOP, WarlordHelmet);
- setunitdata(.@npcId, UDT_HEADMIDDLE, WarlordPlate);
- setunitdata(.@npcId, UDT_HEADBOTTOM, SteelShield);
- setunitdata(.@npcId, UDT_WEAPON, JeansChaps);
- setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
- setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
-
- .sex=G_MALE;
- .distance=5;
- end;
-}
-