summaryrefslogtreecommitdiff
path: root/npc/005-6/zitoni.txt
blob: f40fd1d4f24f02c0e345f296372ccdf9e733ff02 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
// TMW2 scripts.
// Author:
//    Vasily_Makarov (original from Evol)
//    Jesusalva
// Description:
//    Stat resetter.
// Others:
// .@wasSP - free status points before reset

005-6,43,39,0	script	Zitoni	NPC_RUMLY,{
    mesn;
    mesq l("Ah, hello there! I am @@, a Redy alchemist.", .name$);
    mes "";
    mesq l("I have developed a special formula, which resets your stats!");
    next;
    mes "";

L_Menu:
    if (BaseLevel < 10)
        .@price = 1;
    else 
        .@price = BaseLevel*200-(9*200);

    select
        l("Status reset? Sounds illegal!"),
        l("Can you reset my stats please?"),
        lg("You are weird, I have to go sorry.");

    switch (@menu)
    {
        case 1:
            speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                lg("Wait, are you with the police? I didn't do anything wrong, I promise!"),
                l("My formula is not a drug, nor magic. It is an ancient technology of our people!"),
                l("You can use it to clear your stats, to start freshly if you know what I mean..."),
                l("For only a small amount of Gold Pieces, I will show you how it works!"),
                l("Although the more powerful you are, the more money you will need."),
                l("I will let you test it for a peny until level 10!");

            select
                l("Sounds good!"),
                rif(Zeny >= .@price, lg("I think I have enough gold with me.")),
                l("We will talk about it later."),
                l("My stats are too good, I won't need it.");

            switch (@menu)
            {
                case 1:
                    speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                        l("Yes, it is a really sweet deal, believe me!");

                    goto L_Menu;
                case 2:
                    goto L_ResetStats;
                case 3:
                    goto L_Later;
                case 4:
                    goto L_Never;
            }

        case 2:
            goto L_ResetStats;
        case 3:
            goto L_Quit;
    }

L_ResetStats:
        speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
            lg("Status point reset can't be undone. Are you sure about this?");

L_ConfirmReset:
    switch (select(lg("Yes, I am sure."),
                   lg("I need to think about it..."),
                   lg("I won't need it, thank you.")))
    {
        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.", .@price);

            select
                rif(Zeny >= .@price, l("Here, take as much as you need, I have plenty!")),
                rif(Zeny > 0 && Zeny < .@price, 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_Later;
            }

            // TODO: I think there were functions to deal with GP
            set Zeny, Zeny-.@price;

            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;

        case 2:
            goto L_Later;
        case 3:
            goto L_Never;
    }

L_Later:
    speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
        l("Come back soon!");

    goto L_Quit;

L_Never:

    speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
        l("I am sure that you will change your mind.");

    goto L_Quit;

L_Quit:
    closedialog;
    goodbye;
    close; // double sure

OnInit:
    .sex = G_MALE;
    end;
}