summaryrefslogtreecommitdiff
path: root/npc/027-2
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
committerJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
commita7c45a192268da2601cef47a4cdba987ae2327ca (patch)
treec5fb5b97db109fe7106496dd96498c475881046b /npc/027-2
downloadserverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/027-2')
-rw-r--r--npc/027-2/_import.txt4
-rw-r--r--npc/027-2/_warps.txt4
-rw-r--r--npc/027-2/colin.txt174
3 files changed, 182 insertions, 0 deletions
diff --git a/npc/027-2/_import.txt b/npc/027-2/_import.txt
new file mode 100644
index 0000000..c01f816
--- /dev/null
+++ b/npc/027-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 027-2: Wizardry Institute Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/027-2/_warps.txt",
+"npc/027-2/colin.txt",
diff --git a/npc/027-2/_warps.txt b/npc/027-2/_warps.txt
new file mode 100644
index 0000000..15b84fa
--- /dev/null
+++ b/npc/027-2/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 027-2: Wizardry Institute Indoors warps
+027-2,28,29,0 warp #027-2_28_29 0,0,027-1,73,54
+027-2,32,43,0 warp #027-2_32_43 0,0,027-1,77,66
diff --git a/npc/027-2/colin.txt b/npc/027-2/colin.txt
new file mode 100644
index 0000000..f0384c7
--- /dev/null
+++ b/npc/027-2/colin.txt
@@ -0,0 +1,174 @@
+// TMW2 script.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Colin, of Destructive Magic Class.
+
+027-2,28,23,0 script Colin NPC_PLAYER,{
+ function basicMagic;
+ function standardMagic;
+ function advancedMagic;
+ if (!MAGIC_LVL) goto L_NoMagic;
+ mes l(".:: Destructive Magic Class ::.");
+ mesc l("Specialized in destructive, magical skills.");
+ next;
+ mesn;
+ mesc l("You have @@ magic skill points available.", sk_points());
+ mesc l("Note: You can exchange 1 @@ for 3 @@", getitemlink(GemPowder), getitemlink(Quill)), 1;
+ mes "";
+ select
+ l("Basic Magic"),
+ l("Standard Magic"),
+ l("Advanced Magic"),
+ //l("Mastery Magic"),
+ rif(countitem(GemPowder), l("Exchange Gempowder for Quill"));
+ mes "";
+ .@lv=@menu;
+ do
+ {
+ switch (.@lv) {
+ case 1:
+ basicMagic();
+ break;
+ case 2:
+ standardMagic();
+ break;
+ case 3:
+ advancedMagic();
+ break;
+ case 4:
+ inventoryplace Quill, 3;
+ delitem GemPowder, 1;
+ getitem Quill, 3;
+ @menuret=0;
+ break;
+ }
+
+ // Handle result
+ mes "";
+ if (@menuret) {
+ if (!learn_magic(@menuret)) {
+ mesc l("You do not meet all requisites for this skill."), 1;
+ next;
+ }
+ } else {
+ closeclientdialog;
+ }
+
+ } while (@menuret);
+ close;
+
+L_NoMagic:
+ next;
+ mesn;
+ mesq l("You do not have enough magic power for these classes.");
+ next;
+ if ($FIRESOFSTEAM < 9) {
+ mesn;
+ mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");
+ next;
+ }
+ mesn;
+ mesq l("Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.");
+ close;
+
+function basicMagic {
+ if (MAGIC_LVL < 1) goto L_NoMagic;
+ mes l(".:: Fire Arrow ::.");
+ mesc l("Basic fire single target attack. May burn targets.");
+ mes "";
+ mes l(".:: Napalm Beat ::.");
+ mesc l("Basic multi-target holy attack. Is actually weak.");
+ mes "";
+ mes l(".:: Magic Strike ::.");
+ mesc l("Basic wind single target attack. Strong in overall.");
+ mes "";
+ mes l(".:: Frost Diver ::.");
+ mesc l("Basic ice single target attack. May freeze targets.");
+ mes "";
+ mes l(".:: Meteor Strike ::.");
+ mesc l("Basic earth single target attack. May stun targets.");
+ mes "";
+ menuint
+ l("Fire Arrow"), TMW2_FIREARROW,
+ l("Napalm Beat"), TMW2_NAPALMBEAT,
+ l("Magic Strike"), TMW2_MAGICSTRIKE,
+ l("Frost Diver"), TMW2_FROSTDIVER,
+ l("Meteor Strike"), TMW2_METEORSTRIKE,
+ l("Cancel"), 0;
+ return;
+}
+
+function standardMagic {
+ if (MAGIC_LVL < 2) goto L_NoMagic;
+ mes l(".:: Fireball ::.");
+ mesc l("Area of effect fire damage. May burn targets.");
+ mes "";
+ mes l(".:: Holy Light ::.");
+ mesc l("Basic single target holy attack. Splashes in the nearby tiles.");
+ mes "";
+ mes l(".:: Lightning Bolt ::.");
+ mesc l("Strong wind single target attack.");
+ mes "";
+ mes l(".:: Frost Nova ::.");
+ mesc l("Basic ice area attack. May freeze targets.");
+ mes "";
+ mes l(".:: Meteor Shower ::.");
+ mesc l("Basic earth area attack. May stun targets.");
+ mes "";
+ mes l(".:: Firewalk ::.");
+ mesc l("Superior damage on enemies who walk over the fire.");
+ mes "";
+ menuint
+ l("Fireball"), TMW2_FIREBALL,
+ l("Holy Light"), TMW2_HOLYLIGHT,
+ l("Lightning Bolt"), TMW2_LIGHTNINGBOLT,
+ l("Frost Nova"), TMW2_FROSTNOVA,
+ l("Meteor Shower"), TMW2_METEORSHOWER,
+ l("Firewalk"), SO_FIREWALK,
+ l("Cancel"), 0;
+ return;
+}
+
+function advancedMagic {
+ if (MAGIC_LVL < 4) goto L_NoMagic;
+ mes l(".:: Armageddon ::.");
+ mesc l("Huge area of effect fire damage. May burn targets.");
+ mes "";
+ mes l(".:: Judgment ::.");
+ mesc l("Superior single target damage which splashes in area.");
+ mes "";
+ mes l(".:: Tempest ::.");
+ mesc l("Strong wind area of effect attack.");
+ mes "";
+ mes l(".:: Nilfheim ::.");
+ mesc l("Basic ice area attack. Freeze targets in a big area.");
+ mes "";
+ mes l(".:: Gaia Break ::.");
+ mesc l("Destroys everything in a line (earth). Boosts allied forces DEF.");
+ mes "";
+ menuint
+ l("Armageddon"), TMW2_ARMAGEDDON,
+ l("Judgment"), TMW2_JUDGMENT,
+ l("Tempest"), TMW2_TEMPEST,
+ l("Nilfheim"), TMW2_NILFHEIM,
+ l("Gaia Break"), TMW2_GAIABREAK,
+ l("Cancel"), 0;
+ return;
+}
+
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SorcererRobe);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 20);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}