From 52846142fe73c9e50789703bc71b45b937cfc4cb Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 19 Jul 2019 17:29:16 -0300 Subject: Remove some NPCs from 003-0: Tanker, Paladin, and notes for legacy class system --- npc/003-0/_import.txt | 4 - npc/003-0/mages.txt | 42 ---------- npc/003-0/paladin.txt | 224 ------------------------------------------------- npc/003-0/tanker.txt | 221 ------------------------------------------------ npc/003-0/warriors.txt | 41 --------- 5 files changed, 532 deletions(-) delete mode 100644 npc/003-0/mages.txt delete mode 100644 npc/003-0/paladin.txt delete mode 100644 npc/003-0/tanker.txt delete mode 100644 npc/003-0/warriors.txt (limited to 'npc/003-0') diff --git a/npc/003-0/_import.txt b/npc/003-0/_import.txt index 1601700b1..4721d3b94 100644 --- a/npc/003-0/_import.txt +++ b/npc/003-0/_import.txt @@ -4,11 +4,7 @@ "npc/003-0/berserk.txt", "npc/003-0/colin.txt", "npc/003-0/luca.txt", -"npc/003-0/mages.txt", -"npc/003-0/paladin.txt", "npc/003-0/priest.txt", "npc/003-0/recepcionist.txt", "npc/003-0/sage.txt", -"npc/003-0/tanker.txt", -"npc/003-0/warriors.txt", "npc/003-0/wizard.txt", diff --git a/npc/003-0/mages.txt b/npc/003-0/mages.txt deleted file mode 100644 index 4b057850a..000000000 --- a/npc/003-0/mages.txt +++ /dev/null @@ -1,42 +0,0 @@ -// (C) Jesusalva, 2018 -// TMW2 Script - -// Wizard -// MG_COLDBOLT (ice) -// MG_LIGHTNINGBOLT (wind) -// WZ_EARTHSPIKE (earth) -// MG_NAPALMBEAT (ghost) -// MG_ENERGYCOAT (For 5 minutes, raise damage reduction, but that eats MP) -// TODO: We have many other cool skills for Wizard (more AoE skills, more damage, etc) -// I will worry with that later, as that also means providing extra skills for Sage & Priest - -// Sage -// SA_FREECAST (allows to move/attack while casting) -// SA_DRAGONOLOGY (+4% ATK, +2% MATK, +1 INT and +4% resist against DRAGONS) -// TMW2_SAGE (grants up to 1.5 extra mana exp point/level) -// SA_FLAMELAUNCHER (bestow fire element on weapon for 2m, 70% cth) -// SA_FROSTWEAPON (bestow water element on weapon for 2m, 70% cth) -// SA_LIGHTNINGLOADER (bestow wind element on weapon for 2m, 70% cth) -// SA_SEISMICWEAPON (bestow earth element on weapon for 2m, 70% cth) - -// Priest -// Broken //AL_PNEUMA (BLOCKS ranged (4+ tiles) physical attacks on a 3x3 area. No bows :D) -// 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.) -// PR_ASPERSIO (Change anyone weapon to holy for 60s. Or 40 defense-disregard holy dmg to undead/evil) -// TF_DETOXIFY (cancels poison. 40% MP.) - - -// New skills for storyline: -// Health Conversion (Skill ID# 373, iRO Name: Indulge) -// Converts 10% of your HP into SP. The higher the skill level the more effective the conversion will be. The conversion rate is 10:1 modified by SkillLV, so a 2000 HP Professor with Health Conversion LV 3 would consume 2000*10%=200 HP and obtain a total of 200*30%=60 SP. - - -// Meditatio (Skill ID# 363) -// When meditating (sitting), you will have a better SP Recovery as well as increase your Maximum SP. This skill also improves the amount of HP that are healed by the Heal skill by 2% per SkillLV (sitting is of course not required). -// 1 Maximum SP +1%, SP Rec +3%, +2% Heal -// 2 Maximum SP +2%, SP Rec +6%, +4% Heal -// 3 Maximum SP +3%, SP Rec +9%, +6% Heal -// 10 Maximum SP +10%, SP Rec +30%, +20% Heal - diff --git a/npc/003-0/paladin.txt b/npc/003-0/paladin.txt deleted file mode 100644 index 224fd5bdf..000000000 --- a/npc/003-0/paladin.txt +++ /dev/null @@ -1,224 +0,0 @@ -// TMW2 scripts. -// Authors: -// Jesusalva -// Description: -// Leader of the PALADIN class - -003-0,34,37,0 script Paladin Master NPC_PLAYER,{ - /* - if (!is_staff()) - goto L_Close; - */ - if (!(MAGIC_SUBCLASS & CL_PALADIN)) - 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 Paladin 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_PALADIN; - mesn; - mesq l("Welcome to the paladin 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 -// Paladin -// CR_TRUST (raise Max HP in 200 and Holy Resistance in 5%, passive) -// AL_ANGELUS (DEF Increase 5% for 15s/LVL, 14x14 area for PARTY) -// PR_REDEMPTIO (suicide with death penalty. Revive dead party members on a 29x29 area. Min. 1% xp. 0.01% xp penalty reduction per revive) -// MER_INCAGI (raise agi and move speed for 20s/LVL. Have an HP cost.) -// SM_BASH up to level 4 (+220% dmg and +20% acc). PS. If you have MP, SM_BASH is very powerful. - -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()/2), l("Improve Bash Skill")), - rif(sk_intcost(AL_ANGELUS) && sk_canlvup(AL_ANGELUS), l("Improve Party Area Defense")), - "","", - //rif(sk_intcost(MER_INCAGI) && sk_canlvup(MER_INCAGI), l("Improve Increase Agility")), - //rif(sk_intcost(PR_REDEMPTIO) && !getskilllv(PR_REDEMPTIO), l("Learn Redemption")), - rif(sk_intcost(CR_TRUST) && !getskilllv(CR_TRUST), l("Learn Last Standing Man")), - 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)*4, 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)*4 || - countitem(RubyPowder) < (getskilllv(SM_BASH)+1)*2 || - countitem(StrengthPotion) < (getskilllv(SM_BASH)+1)*2) goto L_Missing; - - delitem PiberriesInfusion, (getskilllv(SM_BASH)+1)*15; - delitem CaveSnakeSkin, (getskilllv(SM_BASH)+1)*4; - delitem RubyPowder, (getskilllv(SM_BASH)+1)*2; - delitem StrengthPotion, (getskilllv(SM_BASH)+1)*2; - - sk_lvup(SM_BASH); - - next; - } - break; - case 2: - mesc l("[Party Area Defense]"); - mesc l("Raises defense of the whole party in 5% for a while."); - mes ""; - mesn; - mesq l("This useful skill will only require:"); - mesc l("@@/@@ @@", countitem(PiberriesInfusion), (getskilllv(AL_ANGELUS)+1)*10, getitemlink(PiberriesInfusion)); - mesc l("@@/@@ @@", countitem(BlackMambaEgg), (getskilllv(AL_ANGELUS)+1)*2, getitemlink(BlackMambaEgg)); - mesc l("@@/@@ @@", countitem(MoubooSteak), (getskilllv(AL_ANGELUS)+1)*4, getitemlink(MoubooSteak)); - mesc l("@@/@@ @@", countitem(IronIngot), (getskilllv(AL_ANGELUS)+1)*1, getitemlink(IronIngot)); - next; - if (askyesno() == ASK_YES) { - if ( - countitem(PiberriesInfusion) < (getskilllv(AL_ANGELUS)+1)*10 || - countitem(BlackMambaEgg) < (getskilllv(AL_ANGELUS)+1)*2 || - countitem(MoubooSteak) < (getskilllv(AL_ANGELUS)+1)*4 || - countitem(IronIngot) < (getskilllv(AL_ANGELUS)+1)*1) goto L_Missing; - - delitem PiberriesInfusion, (getskilllv(AL_ANGELUS)+1)*10; - delitem BlackMambaEgg, (getskilllv(AL_ANGELUS)+1)*2; - delitem MoubooSteak, (getskilllv(AL_ANGELUS)+1)*4; - delitem IronIngot, (getskilllv(AL_ANGELUS)+1)*1; - - sk_lvup(AL_ANGELUS); - - next; - } - break; - case 3: - mesc l("[Increase Agility]"); - mesc l("Temporaly raise your agility and move speed, in exchange of HP."); - mes ""; - // TODO: Requirem, quest, agree - sk_lvup(MER_INCAGI); - break; - case 4: - mesc l("[Redemption]"); - mesc l("Kills yourself, but revives everyone in a range. You'll take the death penalty."); - mes ""; - // TODO: Requirem, quest, agree - sk_lvup(PR_REDEMPTIO); - break; - case 5: - 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 6: - // 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 AL_ANGELUS, 0, 0; - skill PR_REDEMPTIO, 0, 0; - skill MER_INCAGI, 0, 0; - skill SM_BASH, 2, 0; - MAGIC_SUBCLASS=MAGIC_SUBCLASS^CL_PALADIN; - mesc l("You abandoned the PALADIN 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, NPCEyes); - 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/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; -} - diff --git a/npc/003-0/warriors.txt b/npc/003-0/warriors.txt deleted file mode 100644 index d514130f1..000000000 --- a/npc/003-0/warriors.txt +++ /dev/null @@ -1,41 +0,0 @@ -// (C) Jesusalva, 2018 -// TMW2 Script - -// Paladin -// CR_TRUST (raise Max HP in 200 and Holy Resistance in 5%, passive) -// AL_ANGELUS (DEF Increase 5% for 15s/LVL, 14x14 area for PARTY) -// Broken //PR_REDEMPTIO (suicide with death penalty. Revive dead party members on a 29x29 area. Min. 1% xp. 0.01% xp penalty reduction per revive) -// Broken? //MER_INCAGI (raise agi and move speed for 20s/LVL. Have an HP cost.) -// SM_BASH up to level 4 (+220% dmg and +20% acc). PS. If you have MP, SM_BASH is very powerful. - -// Warrior - Class extinct -// Simply makes no sense now. - -// Tanker -// CR_TRUST (raise Max HP in 200 and Holy Resistance in 5%, passive) -// Broken? //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 - -// Berserker -// 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) -// Broken? //SM_AUTOBERSERK (when < 25% hp, get +32% ATK and -55% VIT DEF. Drain SP and keep working even with 0 MP. Trigerrable passive.) - - - - -// Ranger (Arrows) -// AC_VULTURE (raise range and cth) -// AC_OWL (raise 1 DEX per level) -// AC_SHOWER (3x3 attack) -// SN_WINDWALK (raise walking speed and flee rate on the screen area) - -// Sniper (guns) -// GS_SNAKEEYE (passive, range and acc + 1) -// GS_SINGLEACTION (passive, acc +2 and aspd +1%) (?) -// GS_INCREASING (+20 Acc, +4 Dex and +4 Agi for 60s) -// GS_CHAINACTION (revolver may shoot twice) ? -// GS_MAGICALBULLET (adds MATK to your regular attack) ? - -// TODO: What about GS_GATLINGFEVER or improving SN_SHARPSHOOTER? -- cgit v1.2.3-60-g2f50