diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/commands/debug.txt | 12 | ||||
-rw-r--r-- | npc/magic/final.txt | 39 | ||||
-rw-r--r-- | npc/magic/level1-magic-blade.txt | 27 | ||||
-rw-r--r-- | npc/magic/level2-lightning-strike.txt | 24 | ||||
-rw-r--r-- | npc/magic/level2-magic-knuckles.txt | 19 | ||||
-rw-r--r-- | npc/magic/level2-toxic-dart.txt | 23 | ||||
-rw-r--r-- | npc/scripts.conf | 4 |
7 files changed, 115 insertions, 33 deletions
diff --git a/npc/commands/debug.txt b/npc/commands/debug.txt index c9a4f37e..b0ae6cd8 100644 --- a/npc/commands/debug.txt +++ b/npc/commands/debug.txt @@ -460,6 +460,7 @@ L_AddAll: learnskill SKILL_MONSTERINFO, 1; learnskill EVOL_AREA_PROVOKE, 1; learnskill SKILL_FLAR, 1; + learnskill SKILL_CHIZA, 1; learnskill SKILL_MODRIPHOO, 1; learnskill SKILL_MODRISUMP, 1; learnskill SKILL_MODRIYIKAM, 1; @@ -475,6 +476,9 @@ L_AddAll: learnskill SKILL_KAFLOSH, 1; learnskill SKILL_BETSANC, 1; learnskill SKILL_ASORM, 1; + learnskill SKILL_INGRAV, 1; + learnskill SKILL_UPMARMU, 1; + learnskill SKILL_PHLEX, 1; resetstatus; BaseLevel = 99; mes "All skills added to their maximum level."; @@ -502,8 +506,6 @@ L_ResetAll: updateskill SKILL_MAGIC_NATURE, 0; updateskill SKILL_MAGIC_ASTRAL, 0; updateskill SKILL_MAGIC_DARK, 0; - learnskill SKILL_BETSANC, 0; - learnskill SKILL_ASORM, 0; // Real skills updateskill SKILL_CONFRINGO, 0; @@ -511,6 +513,7 @@ L_ResetAll: updateskill SKILL_MONSTERINFO, 0; updateskill EVOL_AREA_PROVOKE, 0; updateskill SKILL_FLAR, 0; + updateskill SKILL_CHIZA, 0; updateskill SKILL_MODRIPHOO, 0; updateskill SKILL_MODRISUMP, 0; updateskill SKILL_MODRIYIKAM, 0; @@ -524,6 +527,11 @@ L_ResetAll: updateskill SKILL_HALHISS, 0; updateskill SKILL_HELORP, 0; updateskill SKILL_KAFLOSH, 0; + learnskill SKILL_BETSANC, 0; + learnskill SKILL_ASORM, 0; + learnskill SKILL_INGRAV, 0; + learnskill SKILL_UPMARMU, 0; + learnskill SKILL_PHLEX, 0; MAGIC_EXP = 0; resetstatus; BaseLevel = 1; diff --git a/npc/magic/final.txt b/npc/magic/final.txt index a60f51ad..e22aa6e7 100644 --- a/npc/magic/final.txt +++ b/npc/magic/final.txt @@ -51,6 +51,8 @@ function script HUB_SkillInvoke { SK_GrowPlants(); break; // FIXME: Unreleased/cannot be learned case SKILL_LUM: SK_Lum(); break; + case SKILL_CHIZA: + SK_Chiza(); break; // Level 2 case SKILL_INMA: SK_Inma(); break; @@ -68,19 +70,18 @@ function script HUB_SkillInvoke { SK_Betsanc(); break; case SKILL_ASORM: SK_Asorm(); break; + case SKILL_INGRAV: + SK_Ingrav(); break; + case SKILL_UPMARMU: + SK_Uparmu(); break; + case SKILL_PHLEX: + SK_Phlex(); break; // Level 3 // Level 4 // Level 5 //////////////////////////////// /* XXX: Fire Class // (May burn targets for damage over time) - case TMW2_FIREARROW: - .@PW=140+(10*@skillLv); - // 4% chance, 2.5s - harm(@skillTarget, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire); - sc_start SC_BLOODING, 4500, 1, 400, SCFLAG_NONE, @skillTarget; - GetManaExp(TMW2_FIREBALL, 1); - break; case TMW2_FIREBALL: .@PW=140+(10*@skillLv); .@RG=2+(@skillLv/5); @@ -99,24 +100,6 @@ function script HUB_SkillInvoke { break; //////////////////////////////// // XXX: Earth Class - // DEF Effects at Gaia Break, more expensive - case TMW2_METEORSTRIKE: - .@PW=130+(20*@skillLv); - .@dmg=AdjustSpellpower(.@PW); - .@TM=1200+(@skillLv*300); - harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Earth); - sc_start SC_STUN, .@TM, 1, 800, SCFLAG_NONE, @skillTarget; - GetManaExp(TMW2_METEORSTRIKE, 1); - break; - case TMW2_METEORSHOWER: - .@PW=130+(15*@skillLv); - .@dmg=AdjustSpellpower(.@PW); - .@RG=3+(@skillLv/5); - .@TM=800+(@skillLv*200); - areaharm(@skillTarget, .@RG, .@dmg, HARM_MAGI, Ele_Earth); - areasc(.@RG, .@TM, SC_STUN, BL_MOB | BL_PC | BL_HOM | BL_MER, 1, "filter_hostile", @skillTarget, 800); - GetManaExp(TMW2_METEORSTRIKE, 2); - break; case TMW2_GAIABREAK: .@PWA=170+(30*@skillLv); .@PWB=110+(10*@skillLv); @@ -155,11 +138,6 @@ function script HUB_SkillInvoke { break; //////////////////////////////// // XXX: Physical Class (Archery) - case TMW2_CHARGEDARROW: - .@PW=100+(50*@skillLv); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral); - GetManaExp(@skillId, 1); - break; case TMW2_ARROWSHOWER: .@PW=150+(10*@skillLv); .@dmg=AdjustAttackpower(.@PW); @@ -169,7 +147,6 @@ function script HUB_SkillInvoke { break; // Summons which never fail case TMW2_ZARKOR: - alignment_cansummon(); SummonMagic(@skillId, CaveMaggot, 2, @skillLv); GetManaExp(@skillId, 1); break; diff --git a/npc/magic/level1-magic-blade.txt b/npc/magic/level1-magic-blade.txt new file mode 100644 index 00000000..f60b3809 --- /dev/null +++ b/npc/magic/level1-magic-blade.txt @@ -0,0 +1,27 @@ +// The Mana World script +// Author: Jesusalva <jesusalva@themanaworld.org> +// +// Magic Script: SKILL_CHIZA (Level 1) +// School: War 1 + +function script SK_Chiza { + // Charge code, item check is here =( FIXME + if (countitem(Dagger)) { + mcharge(Dagger, SKILL_MAGIC_WAR, 8); .@PW=100; + } else if (countitem(SharpKnife)) { + mcharge(SharpKnife, SKILL_MAGIC_WAR, 6); .@PW=95; + } else if (countitem(Knife)) { + mcharge(Knife, SKILL_MAGIC_WAR, 4); .@PW=90; + } else { + dispbottom b("Chiza: ")+l("You need a Dagger, Sharp Knife or Knife to use!"); + return; + } + .@PW+=(10*@skillLv); + // Effective magic code + .@dmg=AdjustSpellpower(.@PW); + harm(@skillTarget, .@dmg, HARM_PHYS, Ele_Neutral); + GetManaExp(@skillId, 1); + return; +} + + diff --git a/npc/magic/level2-lightning-strike.txt b/npc/magic/level2-lightning-strike.txt new file mode 100644 index 00000000..97692d3e --- /dev/null +++ b/npc/magic/level2-lightning-strike.txt @@ -0,0 +1,24 @@ +// The Mana World script +// Author: Jesusalva <jesusalva@themanaworld.org> +// +// Magic Script: SKILL_INGRAV (Level 1) +// School: War 2 + +function script SK_Ingrav { + // This one time, effects will come before + specialeffect(FX_MAGIC_BOLT_CAST, AREA, getcharid(3)); + specialeffect(FX_LIGHTNING1+rand2(3), AREA, @skillTarget); + // Charge code, item check is in skill_db.conf (FIXME) + mcharge(IronPowder, SKILL_MAGIC_WAR, 1); + .@PW=110+(20*@skillLv); + // Weather modifiers + .@dmg=AdjustSpellpower(.@PW); + if ("#WeatherCore"::weather(MASK_RAIN)) + harm(getcharid(3), .@dmg*2/3, HARM_MAGI, Ele_Nature); + // Effective magic code + harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Nature); + GetManaExp(@skillId, 2); + return; +} + + diff --git a/npc/magic/level2-magic-knuckles.txt b/npc/magic/level2-magic-knuckles.txt new file mode 100644 index 00000000..0d08bcf5 --- /dev/null +++ b/npc/magic/level2-magic-knuckles.txt @@ -0,0 +1,19 @@ +// The Mana World script +// Author: Jesusalva <jesusalva@themanaworld.org> +// +// Magic Script: SKILL_UPMARMU (Level 1) +// School: War 2 + +function script SK_Uparmu { + // Charge code, item check is in skill_db.conf (FIXME) + mcharge(Beer, SKILL_MAGIC_WAR, 5); + .@PW=100+(10*@skillLv); + // TODO: What's the diff from Chiza? + // Effective magic code + .@dmg=AdjustSpellpower(.@PW); + harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Neutral); + GetManaExp(@skillId, 2); + return; +} + + diff --git a/npc/magic/level2-toxic-dart.txt b/npc/magic/level2-toxic-dart.txt new file mode 100644 index 00000000..df21b89c --- /dev/null +++ b/npc/magic/level2-toxic-dart.txt @@ -0,0 +1,23 @@ +// The Mana World script +// Author: Jesusalva <jesusalva@themanaworld.org> +// +// Magic Script: SKILL_PHLEX (Level 1) +// School: Dark 2 + +function script SK_Phlex { + // Charge code, item check is in skill_db.conf (FIXME) + mcharge(Root, SKILL_MAGIC_DARK, 1); + .@PW=100+(10*@skillLv); + // Effective magic code + .@dmg=AdjustSpellpower(.@PW); + harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Dark); + // May inflict poison + .@sc=(getskilllv(SKILL_MAGIC_DARK) > 3 ? SC_DPOISON : SC_POISON); + .@time=(1+.@dmg/33)*1000; + .@cth=1+rand2(.@time)/15; + sc_start .@sc, .@time, 1, .@cth, SCFLAG_NONE, @skillTarget; + GetManaExp(@skillId, 2); + return; +} + + diff --git a/npc/scripts.conf b/npc/scripts.conf index a41f2967..18d3a1e1 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -75,10 +75,14 @@ "npc/magic/level1-flare-dart.txt", "npc/magic/level1-grow-plants.txt", "npc/magic/level1-lesser-heal.txt", +"npc/magic/level1-magic-blade.txt", "npc/magic/level2-lay-on-hands.txt", +"npc/magic/level2-lightning-strike.txt", +"npc/magic/level2-magic-knuckles.txt", "npc/magic/level2-protect.txt", "npc/magic/level2-rain.txt", "npc/magic/level2-summon-monsters.txt", +"npc/magic/level2-toxic-dart.txt", "npc/magic/final.txt", // Commands |