summaryrefslogtreecommitdiff
path: root/npc/009-1/trader_king.txt
blob: 83b988f817429218dd5460ae158d658c22a9ec36 (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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
// TMW-2 Script
// Original Creator:  Adson Renato <adson25@gmail.com>
// Date:              2010-11-19 2:31 AM BRT
// Review:
//                    * 2013-09-03: ernando2000 <ernando.quirino@hotmail.com>
//                    * 2013-09-04: Lunovox Heavenfinder <rui.gravata@gmail.com>
//                    * 2016-06-14: Jesusalva <tmwbr@jesussalva.com>
//                    * 2017-06-17: Jesusalva <cpntb1@ymail.com>
//                    * 2018-05-24: Jesusalva <admin@tmw2.org>
//                      * Adapted from TMW-BR to TMW2
// Minimum Req.:      LVL 30
// Consumables:       Bandits drops: CoinBag, Dagger, Leather Shield, Empty Bottle
// Prize:             1 BurglarMask
// Description:
//                    A contrabandist which feeds Halinarzo's black market.
//                    Will later teach the Steal skill. (maybe)
// Notes:
//                    Blame Saulc.




009-1,24,105,0	script	Trader King	NPC_ORC,{
    .@q=getq(HalinarzoQuest_TraderKing);
    if (BaseLevel < 30) goto L_Weak;
    if (.@q == 1) goto L_Return;
    if (.@q == 2) goto L_End;
    goto L_Start;

L_Weak:
    mesn;
    mesq lg("Get out of here, weakling. You'll be killed by bandits.");
    close;

L_Start:
    mesn;
    mes lg(":> \"Hello, youngling...\"");
    next;
    mesn strcharinfo(0);
    menu
        l("This character person is strange I better get away..."), L_Distrust,
        l("Hmm, who are you?") , L_WhoAmI;

L_WhoAmI:
    mes "";
    mesn;
    mesq l("I am the Trader King, because I supply a market!");
    close;

L_Distrust:
    mes "";
    mesn strcharinfo(0);
    mes l("¬.¬ \"Hmm, to me, you look like a thief or bandit...\"");
    next;
    mesn;
    mes l(":D \"HAHAHAHAH! Me?! a thief? only during free time...\"");
    next;
    mesn strcharinfo(0);
    mes l("¬.¬ \"I knew it! I'll report you at once.\"");
    next;
    mesn;
    mes l("0.0 \"No no, please no! I can propose you a great deal for your silence!\"");
    next;
    menu
    l("Which deal?"), L_Deal,
    l("No, justice must be done.") , L_Die;

L_Deal:
    mes "";
    mesn;
    mesq l(":/ \"Hmm... let me see... Aha, I know! I can make you a great bandit with a simple burglar mask!\"");
    next;
    mesn strcharinfo(0);
    mes l(":o \"What? I'm not a bandit! But it looks SO COOL! Do you need anything while you're here?\"");
    next;
    mesn;
    mes l(":D \"Ah! Yes, that would help a lot! I don't need anything a bandit couldn't give you: 30 @@, 2 @@, 2 @@ and a @@. And 6000 GP.\"", getitemlink(CoinBag), getitemlink(EmptyBottle), getitemlink(Dagger), getitemlink(LeatherShield));
    mesq l("What do you say?");
    next;
    mesn strcharinfo(0);
    menu
    l("No way! That's absurd!"),       L_Close,
    l("That's a lot, but we have a deal!"), L_Accept;

L_Accept:
    mes "";
    mesn;
    mes l(">:| \"Go take the items and remember: Not even a single word about me!\"");
    next;
    mesn strcharinfo(0);
    mes l(";-) \"Don't worry! Leave to me!\"");
    next;
    mesn;
    mes l("Here's what I need:");
    mes l("@@/30 @@", countitem(CoinBag), getitemlink(CoinBag));
    mes l("@@/2 @@", countitem(EmptyBottle), getitemlink(EmptyBottle));
    mes l("@@/2 @@", countitem(Dagger), getitemlink(Dagger));
    mes l("@@/1 @@", countitem(LeatherShield), getitemlink(LeatherShield));
    mes l("@@/6000 GP", Zeny);

    setq HalinarzoQuest_TraderKing, 1;
    close;

L_Return:
    mesn;
    mes "\"Do you have what I asked for?\"";
    next;
    menu
    l("Yes, of course."),               L_Finish,
    l("I forgot what you need."),       L_Review,
    l("Not yet, I'll be right back."),  L_Wait;

L_Wait:
    mes "";
    mesn;
    mesq l("\"I'll be waiting for you! And trading some items of questionable origins...\"");
    close;

L_Finish:
    if (Zeny < 6000) goto L_Pobre;
    if (countitem(CoinBag) < 30 ||
        countitem(EmptyBottle) < 2 ||
        countitem(Dagger) < 2 ||
        countitem(LeatherShield) < 1)
            goto L_Missing;

    inventoryplace BurglarMask;
    delitem CoinBag, 30;
    delitem EmptyBottle, 2;
    delitem Dagger, 2;
    delitem LeatherShield, 1;
    Zeny = Zeny - 6000;
    getitem BurglarMask, 1;
    setq HalinarzoQuest_TraderKing, 2;
    mes "";
    mesn;
    mes l(":D \"Excellent! You've kept your end on the bargain!\"");
    next;
    mesn;
    mesq l("\"I always keep my end on the bargain, so here you go.\"");
    next;
    mesn;
    mes l(":) \"A pleasure to trade if you. Don't get caught if you're doing something wrong!\"");
    close;

L_Poor:
    mes "";
    mesn;
    mes l(":< \"Hey hey! Where's the money?\"");
    close;

L_Missing:
    percentheal -15, 0;
    mes "";
    mesn;
    mes l(":< \"Never lie to me. Keep your end on the bargain! Give me everything I asked for!\"");
    close;

L_End:
    mesn;
    mes l(":P \"I am busy, leave me aline.\"");
    close;

L_Review:
    mes "";
    mesn;
    mes l("Here's what I need:");
    mes l("@@/30 @@", countitem(CoinBag), getitemlink(CoinBag));
    mes l("@@/2 @@", countitem(EmptyBottle), getitemlink(EmptyBottle));
    mes l("@@/2 @@", countitem(Dagger), getitemlink(Dagger));
    mes l("@@/1 @@", countitem(LeatherShield), getitemlink(LeatherShield));
    mes l("@@/6000 GP", Zeny);
    close;

L_Die:
    mesn;
    mesq l("Then I'll be sure you can't talk again.");
    percentheal -100, 0;
    close;

L_Close:
    close;

OnInit:
    .@npcId = getnpcid(0, .name$);
    setunitdata(.@npcId, UDT_HEADTOP, BurglarMask);
    setunitdata(.@npcId, UDT_HEADMIDDLE, Chainmail);
    setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
    setunitdata(.@npcId, UDT_WEAPON, LeatherBoots); // Boots
    setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 1);

    .sex = G_MALE;
    .distance = 5;
    end;


}