diff options
Diffstat (limited to 'npc/003-0/tanker.txt')
-rw-r--r-- | npc/003-0/tanker.txt | 221 |
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; -} - |