summaryrefslogtreecommitdiff
path: root/npc/027-2/colin.txt
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-07-02 12:15:43 -0300
committerJesusaves <cpntb1@ymail.com>2020-07-02 12:15:43 -0300
commit1d536fb5456efa5fd8eaea38c8212a02b1888800 (patch)
tree59be62d4fe79db2d0134c2ca8139896448a4908e /npc/027-2/colin.txt
parent609e40d5a3a2263e0a67e869fc53c2c7e5e70750 (diff)
downloadserverdata-1d536fb5456efa5fd8eaea38c8212a02b1888800.tar.gz
serverdata-1d536fb5456efa5fd8eaea38c8212a02b1888800.tar.bz2
serverdata-1d536fb5456efa5fd8eaea38c8212a02b1888800.tar.xz
serverdata-1d536fb5456efa5fd8eaea38c8212a02b1888800.zip
Fine tuning skills, Colin now teaches again a few basic skills
Diffstat (limited to 'npc/027-2/colin.txt')
-rw-r--r--npc/027-2/colin.txt132
1 files changed, 106 insertions, 26 deletions
diff --git a/npc/027-2/colin.txt b/npc/027-2/colin.txt
index 70b6491c6..d066edc40 100644
--- a/npc/027-2/colin.txt
+++ b/npc/027-2/colin.txt
@@ -6,43 +6,53 @@
// 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;
- do {
mesc l("You have @@ magic skill points available.", sk_points());
- next;
- mesc l("Fireball - Basic AoE (Area Of Effect) Skill");
- mesc l("Holy Light - Standard Holy Magical Attack");
- mesc l("Magic Strike - Standard Magical Attack");
-
- mesc l("Napalm Beat - Spammable AoE Skill");
- mesc l("Frost Diver - Attempt to freeze an enemy, dealing damage");
- mesc l("Fire Walk - Creates a trail of fire, harming any pursuer");
-
- mesc l("Frost Nova - Freeze everything in a range");
mesc l("Note: You can exchange 1 @@ for 3 @@", getitemlink(GemPowder), getitemlink(Quill)), 1;
- menuint
- rif(countitem(GemPowder), l("Exchange Gempowder for Quill")), -1,
- l("Cancel"), 0;
mes "";
+ select
+ l("Basic Tricks"),
+ l("Standard Tricks"),
+ l("Advanced Tricks"),
+ 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;
+ }
- switch (@menuret) {
- case -1:
- inventoryplace Quill, 3;
- delitem GemPowder, 1;
- getitem Quill, 3;
- break;
- case 0:
- closeclientdialog;
- break;
- default:
+ // Handle result
+ mes "";
+ if (@menuret) {
if (!learn_magic(@menuret))
mesc l("You do not meet all requisites for this skill."), 1;
- break;
- }
+ } else {
+ closeclientdialog;
+ }
+
} while (@menuret);
close;
@@ -58,6 +68,76 @@ L_NoMagic:
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 "";
+ menuint
+ l("Fire Arrow"), TMW2_FIREARROW,
+ l("Napalm Beat"), TMW2_NAPALMBEAT,
+ l("Magic Strike"), TMW2_MAGICSTRIKE,
+ l("Frost Diver"), TMW2_FROSTDIVER,
+ 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 "";
+ menuint
+ l("Fireball"), TMW2_FIREBALL,
+ l("Holy Light"), TMW2_HOLYLIGHT,
+ l("Lightning Bolt"), TMW2_LIGHTNINGBOLT,
+ l("Frost Nova"), TMW2_FROSTNOVA,
+ 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 "";
+ menuint
+ l("Armageddon"), TMW2_ARMAGEDDON,
+ l("Judgment"), TMW2_JUDGMENT,
+ l("Tempest"), TMW2_TEMPEST,
+ l("Nilfheim"), TMW2_NILFHEIM,
+ l("Cancel"), 0;
+ return;
+}
+
+
OnInit:
.@npcId = getnpcid(.name$);
setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);