summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/commands/debug.txt12
-rw-r--r--npc/magic/final.txt39
-rw-r--r--npc/magic/level1-magic-blade.txt27
-rw-r--r--npc/magic/level2-lightning-strike.txt24
-rw-r--r--npc/magic/level2-magic-knuckles.txt19
-rw-r--r--npc/magic/level2-toxic-dart.txt23
-rw-r--r--npc/scripts.conf4
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