summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/003-0-1/colin.txt60
-rw-r--r--npc/003-0-1/luca.txt55
2 files changed, 110 insertions, 5 deletions
diff --git a/npc/003-0-1/colin.txt b/npc/003-0-1/colin.txt
index 8bac9f960..fc81b5d8d 100644
--- a/npc/003-0-1/colin.txt
+++ b/npc/003-0-1/colin.txt
@@ -12,7 +12,65 @@
mesq l("I am the Wizard Mages master.");
if (!MAGIC_LVL) goto L_NoMagic;
if (getskilllv(MAGIC_WARRIOR) && !is_admin()) close;
- // will grant MG_FIREBALL probably, or MG_THUNDERSTORM, or we will figure something out.
+
+ // Sanity check
+ if (getskilllv(MG_FIREBALL) >= 1) mesq l("Are you using my skill?");
+ if (getskilllv(MG_FIREBALL) >= 1) close;
+ // could grant MG_THUNDERSTORM perhaps, oh, I don't care.
+
+ if (getskilllv(WIZARD_MAGE) == 0) goto L_SignUp;
+ close;
+
+L_SignUp:
+ next;
+ mesn;
+ mesq l("You have some magic power. Do you want to join the Wizard Mages? ##BThis cannot be undone##b.");
+ next;
+ mesn;
+ mesq l("We use sheer magic to destroy, explode, burn, freeze, and in overall kill our opponents!");
+ next;
+ menu
+ l("What do I need to do to join?"), L_JoinReq,
+ l("I'm not interested, sorry."), -;
+ close;
+
+L_JoinReq:
+ mesn;
+ mesq l("Ah, nothing too major, as you already have magic.");
+ next;
+ mesn;
+ mesq l("We only require a small fee of 1 @@, or 40 @@", getitemlink(DivineApple), getitemlink(SnakeEgg));
+ next;
+ switch(select(
+ rif(countitem(DivineApple) >= 1, l("I got the apple.")),
+ rif(countitem(SnakeEgg) >= 40, l("I got the eggs.")),
+ l("I will apply later."))) {
+
+ case 1:
+ delitem DivineApple, 1;
+ goto L_Tier1Ok;
+ break;
+ case 2:
+ // If player had 40 eggs, and eat 1 - they are clearly cheating.
+ // It will delete all 39 eggs, and when it tries to delete the 40th,
+ // it won't find and will terminate the script. No lame cheating.
+ // Of course, all 39 eggs are gone for and I can't do anything about it.
+ delitem SnakeEgg, 40;
+ goto L_Tier1Ok;
+ break;
+ default:
+ break;
+ }
+
+ close;
+
+L_Tier1Ok:
+ // The last argument is duration: 0 - permanent 1- temporary. If omitted, defaults to 1.
+ skill(MG_FIREBALL,1,0);
+ skill(WIZARD_MAGE,1,0);
+ mes "";
+ mesn;
+ mesq l("Here, learn the ##BFireball##b. It is on Magical skills tab. You can drag it to the shortcut list. Use it to protect people!");
close;
L_NoMagic:
diff --git a/npc/003-0-1/luca.txt b/npc/003-0-1/luca.txt
index 3cf3c00b6..fa4a0ebdf 100644
--- a/npc/003-0-1/luca.txt
+++ b/npc/003-0-1/luca.txt
@@ -13,16 +13,63 @@
if (!MAGIC_LVL) goto L_NoMagic;
if (getskilllv(WIZARD_MAGE) && !is_admin()) close;
+ // Sanity check
if (getskilllv(SM_BASH) >= 1) mesq l("Are you using my skill?");
if (getskilllv(SM_BASH) >= 1) close;
- if (!MAGIC_LVL && !is_staff()) close;
- mesq l("Hey, you are strong! But still, so, so GREEN! You're PATHETIC! I mean, look your skill list! Empty!");
+ if (getskilllv(MAGIC_WARRIOR) == 0) goto L_SignUp;
+ close;
+
+L_SignUp:
+ next;
+ mesn;
+ mesq l("You have some magic power. Do you want to join the Magic Warriors? ##BThis cannot be undone##b.");
+ next;
+ mesn;
+ mesq l("We use swords and bows to protect the people, and we use magic to spice things up! Because we're strong even without it!");
+ next;
+ menu
+ l("What do I need to do to join?"), L_JoinReq,
+ l("I'm not interested, sorry."), -;
+ close;
+
+L_JoinReq:
+ mesn;
+ mesq l("Ah, nothing too major, as you already have magic.");
+ next;
+ mesn;
+ mesq l("We only require a small fee of 1 @@, or 40 @@", getitemlink(DivineApple), getitemlink(SnakeEgg));
next;
+ switch(select(
+ rif(countitem(DivineApple) >= 1, l("I got the apple.")),
+ rif(countitem(SnakeEgg) >= 40, l("I got the eggs.")),
+ l("I will apply later."))) {
+
+ case 1:
+ delitem DivineApple, 1;
+ goto L_Tier1Ok;
+ break;
+ case 2:
+ // If player had 40 eggs, and eat 1 - they are clearly cheating.
+ // It will delete all 39 eggs, and when it tries to delete the 40th,
+ // it won't find and will terminate the script. No lame cheating.
+ // Of course, all 39 eggs are gone for and I can't do anything about it.
+ delitem SnakeEgg, 40;
+ goto L_Tier1Ok;
+ break;
+ default:
+ break;
+ }
+
+ close;
+
+L_Tier1Ok:
// The last argument is duration: 0 - permanent 1- temporary. If omitted, defaults to 1.
skill(SM_BASH,1,0);
- mesq l("Here, learn the ##BFalkon Punch##b. It is on Physical skills tab. You can drag it to the shortcut list. Thanks me later, man!");
-
+ skill(MAGIC_WARRIOR,1,0);
+ mes "";
+ mesn;
+ mesq l("Here, learn the ##BFalkon Punch##b. It is on Physical skills tab. You can drag it to the shortcut list. Use it to protect people!");
close;
L_NoMagic: