// Evol scripts. // Author: // Vasily_Makarov // Description: // Stat resetter. // Variables: // General_Rumly // Values: // 0 Player hasn't met Rumly // 1 Last time player has told that he will never come back // 2 Last time player has told that he will come back later // 3 Player has already reset his stat // Others: // .@visited - Rumly actual variable // .@wasSP - free status points before reset 001-1,35,125,0 script Rumly#001-1 NPC_RUMLY,{ setnpcdir "Rumly#001-1", 2; stopnpctimer; initnpctimer; speech S_LAST_NEXT, l("Hey you, do you have any @@s?", getitemlink(Plushroom)); L_Menu: .@visited = getq(General_Rumly); .@plush_count = lognbaselvl(1, 10); if (.@visited >= 2) goto L_ResetStats; select l("Plushrooms you say?"), l("Who are you?"), l("You are weird, I have to go sorry."); switch (@menu) { case 1: speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Wind and grass is nice and cool, so juicy sweet..."), l("Our only wish to eat a plush, so juicy sweet..."); goto L_Menu; case 2: speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Why are you asking? And who are you too? I've never seen you around before..."), l("Wait, are you one of those from the Legion of Gasaron? I didn't do anything wrong, I promise!"), l("I... I just like to eat the purple and delightful... And natural, and..."); switch (select(l("Chill out I won't say anything."), l("Yes I am and you are going to face justice!"))) { case 1: break; case 2: speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("No! No, no, my precious plushrooms! Don’t take me to them, they wants my precious."); goto L_Quit; } speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("I won't forget it, I swear on my precious plushrooms!"), l("There is an unknown side effect to these plushrooms, they can make you more powerful."), l("Bring me some of these plushrooms and I will show you how it works!"), l("Although the more powerful you are, the more plushrooms you will need."); select l("Sounds good!"), l("We will talk about it later."), l("My stats are too good, I won't need it."); switch (@menu) { case 1: if (.@visited < 2) { setq General_Rumly, 2; } speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Great! Can't wait for some tasty mushrooms!"); goto L_Menu; case 2: goto L_Later; case 3: goto L_Never; } case 3: .@rand = any(true, false); if (.@rand) { speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("See you! And come back with the plushrooms!"); } else { speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Oh noes!"), l("A rabbit!"), l("He has a guns!"), l("*Bang bang*"); narrator S_LAST_NEXT, l("Rumly is hiding behind the tree."); } goto L_Quit; } L_ResetStats: mesn; mesq l("Did you brought me some %s?", getitemlink(Plushroom)); next; if (askyesno() == ASK_YES) goto L_Exchange; mesn; mesq l("By the way, did you knew it is impossible to reassign your training?"); next; mesn; mesq l("If you used swords during all your life, and decide to become a mage, you'll need to build your magic skills from ground up."); next; mesn; mesq l("However, unless you are reborn, you'll never forget what you've learned."); next; mesn; mesq l("I also heard different races had different affinities to the basic attributes, but I would not be able to say."); next; goto L_Quit; L_Exchange: mes ""; mesn; mesq l("Great! For %d %s, I'll show you the purple power!", .@plush_count); next; if (countitem(Plushroom) > .@plush_count) { mesc l("Deliver the %s?", getitemlink(Plushroom)); if (askyesno() == ASK_YES) { mes ""; delitem Plushroom, .@plush_count; getexp .@plush_count, 0; EXP_STR += BaseLevel / 3 + 1; EXP_AGI += BaseLevel / 3 + 1; EXP_DEX += BaseLevel / 3 + 1; EXP_VIT += BaseLevel / 3 + 1; EXP_INT += BaseLevel / 3 + 1; EXP_LUK += BaseLevel / 3 + 1; percentheal 100, 100; sc_start SC_ATTHASTE_POTION1, 180000, 20; mesn; mesq l("Here, drink this. It is just a matter of time before you feel the power surging inside you."); } } goto L_Quit; L_Later: if (.@visited < 2) { setq General_Rumly, 2; } speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Come back soon, and bring @@s!", getitemlink(Plushroom)); goto L_Quit; L_Never: if (.@visited < 2) { setq General_Rumly, 1; } speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("I am sure that you will change your mind."); goto L_Quit; L_Quit: setnpcdir "Rumly#001-1", 4; stopnpctimer; initnpctimer; goodbye; OnTimer1800: stopnpctimer; if (getnpcdir("Rumly#001-1") == 2) setnpcdir "Rumly#001-1", 6; if (getnpcdir("Rumly#001-1") == 4) setnpcdir "Rumly#001-1", 8; end; OnInit: end; }