From d2c226ac9cc5ffbfa493b5fb17fd21dcf0f19d9e Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 7 Apr 2018 15:06:33 -0300 Subject: Magic final, of course, entirely untested --- npc/003-0-1/colin.txt | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) (limited to 'npc/003-0-1/colin.txt') 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: -- cgit v1.2.3-70-g09d2