From df6bbd220e14c4a41d16e8148941bfac916fcc40 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 15 Apr 2021 12:29:27 -0300 Subject: Initial version of Chiza, Ingrav, Upmarmu and Phlex --- npc/magic/final.txt | 39 +++++++---------------------------- npc/magic/level1-magic-blade.txt | 27 ++++++++++++++++++++++++ npc/magic/level2-lightning-strike.txt | 24 +++++++++++++++++++++ npc/magic/level2-magic-knuckles.txt | 19 +++++++++++++++++ npc/magic/level2-toxic-dart.txt | 23 +++++++++++++++++++++ 5 files changed, 101 insertions(+), 31 deletions(-) create mode 100644 npc/magic/level1-magic-blade.txt create mode 100644 npc/magic/level2-lightning-strike.txt create mode 100644 npc/magic/level2-magic-knuckles.txt create mode 100644 npc/magic/level2-toxic-dart.txt (limited to 'npc/magic') 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 +// +// 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 +// +// 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 +// +// 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 +// +// 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; +} + + -- cgit v1.2.3-60-g2f50