// TMW2 Script // Author: // Saulc // Vasily_Makarov (original from Evol) // Jesusalva // Description: // Status Reset 009-3,39,48,0 script Kevin NPC_PLAYER,{ speech S_LAST_NEXT, l("I am @@, an alchemist specialized in reset potions.", .name$); L_Menu: .@plush_count = BaseLevel*210-(9*210); // Lv 10: 210 GP if (BaseLevel > 10) .@plush_count = .@plush_count/(BaseLevel/10); select l("Can you reset my stats please?"), l("Can you mix Gem Powder?"), lg("You are weird, I have to go sorry."); switch (@menu) { case 1: goto L_ResetStats; case 2: goto L_Powder; case 3: goto L_Quit; } L_ResetStats: mesn; mesq l("Status point reset can't be undone. Do you really want this?"); L_ConfirmReset: select lg("Yes, I am sure."), lg("I need to think about it..."); switch (@menu) { case 1: speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Let me just have a quick look at you. Hm... I will need @@ GP to reset your stats.", .@plush_count); select rif(Zeny >= .@plush_count, l("Here, take as much as you need, I have plenty!")), rif(Zeny > 0 && Zeny < .@plush_count, l("I don't have enough money...")), rif(Zeny == 0, l("Oh no, I don't have any money on me right now.")), l("I have to go, sorry."); if (@menu > 1) { goto L_Quit; } // TODO: I think there were functions to deal with GP set Zeny, Zeny-.@plush_count; speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Thank you."), l("Now stand still... It should not take much time..."); .@wasSP = StatusPoint; resetstatus; if (StatusPoint == .@wasSP) { speech S_LAST_NEXT, l("It seems that you have no status points to reset!"), l("But the money you brought was really awesome you know."), l("Come back when you will really need me."); } else { speech S_LAST_NEXT, l("Let's see... @@ of your status points have just been reset!", StatusPoint - .@wasSP), l("Spend it wisely this time."), l("But you are welcome to reset your stats again! I need the money."); } } goto L_Quit; L_Powder: mes ""; mesn; mesq l("To make @@ I need one from each gem powders, and 800 GP for commission.", getitemlink(GemPowder)); next; select l("Yeah, I need one."), l("Thanks for the help, but no."), l("Actually, nevermind. Good bye!"); if (@menu == 2) goto L_Menu; if (@menu == 3) goto L_Quit; if ( countitem(DiamondPowder) && countitem(RubyPowder) && countitem(EmeraldPowder) && countitem(SapphirePowder) && countitem(TopazPowder) && countitem(AmethystPowder) && Zeny >= 800) { inventoryplace GemPowder, 1; delitem DiamondPowder, 1; delitem RubyPowder, 1; delitem EmeraldPowder, 1; delitem SapphirePowder, 1; delitem TopazPowder, 1; delitem AmethystPowder, 1; Zeny=Zeny-800; getitem GemPowder, 1; getexp rand(6,18), rand(6,18); mesn; mesq l("Thanks! Here you go. Perhaps you need another one?"); next; goto L_Powder; } else { mesn; mesq l("Sorry, but I need one of each gem powder, and 800 GP."); next; } goto L_Menu; L_Quit: closedialog; goodbye; close; OnInit: .@npcId = getnpcid(.name$); setunitdata(.@npcId, UDT_HEADTOP, FancyHat); setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt); setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants); setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots setunitdata(.@npcId, UDT_HAIRSTYLE, 7); setunitdata(.@npcId, UDT_HAIRCOLOR, 17); .sex = G_MALE; .distance = 4; end; }