diff options
Diffstat (limited to 'npc/017-6/axwell.txt')
-rw-r--r-- | npc/017-6/axwell.txt | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/npc/017-6/axwell.txt b/npc/017-6/axwell.txt new file mode 100644 index 000000000..094dd26f7 --- /dev/null +++ b/npc/017-6/axwell.txt @@ -0,0 +1,143 @@ +// TMW2/LoF scripts. +// Authors: +// Jesusalva +// Description: +// Status Reset. Formely named Bobby + +017-6,25,30,0 script Axwell the Chemist 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 + + select + l("Can you reset my stats please?"), + l("Hey, nice hat! Can I have it?"), + lg("You are weird, I have to go sorry."); + + mes ""; + switch (@menu) { + case 1: + goto L_ResetStats; + case 2: + mesn; + mesq l("Maybe."); + next; + mesn strcharinfo(0); + mes l("*_* \"Pretty please?\""); + next; + mesn; + mesq l("Well, I and my brother could make another one, but they are being checked for safety."); + next; + mesn; + mesq l("After all, what would you do if it open a black hole on your head by accident? %%4"); + next; + mesn strcharinfo(0); + mesq l("Welp, no, please!"); + next; + mesn; + mesq l("%%@ Then wait until Saulc says they are safe!"); + next; + goto L_Menu; + 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_Quit: + closedialog; + goodbye; + close; + +OnTimer1000: + domovestep; + +OnInit: + .@npcId = getnpcid(0, .name$); + setunitdata(.@npcId, UDT_HEADTOP, ChemistHelmet); + setunitdata(.@npcId, UDT_HEADMIDDLE, SorcererRobe); + setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants); + setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 8); + setunitdata(.@npcId, UDT_HAIRCOLOR, 12); + + initpath "move", 25, 30, + "dir", DOWN, 0, + "wait", 15, 0, + "move", 29, 21, + "dir", LEFT, 0, + "wait", 5, 0, + "dir", DOWN, 0, + "wait", 15, 0, + "move", 28, 34, + "dir", RIGHT, 0, + "wait", 15, 0, + "move", 22, 37, + "dir", RIGHT, 0, + "wait", 30, 0, + "move", 22, 48, + "dir", UP, 0, + "wait", 15, 0, + "move", 28, 62, + "dir", UP, 0, + "wait", 15, 0, + "move", 29, 47, + "dir", UP, 0, + "wait", 15, 0; + initialmove; + initnpctimer; + + .sex = G_MALE; + .distance = 5; + end; +} |