summaryrefslogtreecommitdiff
path: root/npc/007-1/pylon.txt
blob: 0390833aff187577e7dd3df5adca946768dc1426 (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
// TMW2 scripts.
// TMW2 Authors:
//      Saulc
//      Jesusalva
// Description:
//      Miner Pylon transforme gems into gem powder, he ask for 100gp + 1 gem and give 100 EXp (each time) + 1 to 3 gem powder's.
// Variable:
//      dont need variable
// Reference:
//     https://fr.wikipedia.org/wiki/Pilon#Objets not Epiphysis !

007-1,67,65,0	script	Pylon	NPC_PLAYER,{

    mesn;
    mesq lg("Hello, I'm Pylon!");
    next;
    mesq lg("I work in this mine since 3 years, I'm an expert on gems: Ruby, Topaz, Sapphire, You know!");
    next;
    mesq lg("If you have some gems, I can transform them into powder.");
    next;
    mesq lg("I only take a tax of 100 gp per gem.");
    next;
    mesq lg("Then, would you like me to transform one of your gem?");
    next;
    goto L_Menu;

L_Menu:
    mesn strcharinfo(0);
    // We could add a drag zone, and allow players to drag their gems, but... Meh.
    select
        l("Hum, How much gem's powders can i get from one gem?."),
        rif(countitem(Diamond) >= 1, l("Yeah sure, take my Diamond!"),
        rif(countitem(Ruby) >= 1, l("Yeah sure, take my Ruby!"),
        rif(countitem(Emerald) >= 1, l("Yeah sure, take my Emerald!"),
        rif(countitem(Sapphire) >= 1, l("Yeah sure, take my Sapphire!"),
        rif(countitem(Topaz) >= 1, l("Yeah sure, take my Topaz!"),
        rif(countitem(Amethyst) >= 1, l("Yeah sure, take my Amethyst!"),
        l("No, thanks, I will keep my gems.");

    switch (@menu) {
    case 1:
        goto L_Question;
        break;
    case 8:
        close;
        break;
    default:
        goto L_Powder;
        break;
    }

L_Question:
    mesn;
    mesq lg("That depends on your luck!");
    next;
    mesq l("With one gem you can expect to get 1 to 3 powders! ");
    next;
    mes col("We must blame Saulc!", 9);
    next;
    mesq lg("By the way would you like to transform your gem?");
    next;
    goto L_Menu;

/*

L_EndMenu:     
    menu
        l("Yeah i need more powder!"),             L_PowderMenu,
        l("Nah i'm done with it, Thanks dude."),                   L_Close,

L_PowderMenu:
        l("I Change my mind, I will keep it."),             L_Close;
        rif(countitem(Ruby) >= 1, l("Take my Ruby!"),             L_Ruby;
        rif(countitem(Topaz) >= 1, l("Take my Topaz!"),             L_Topaz;
        rif(countitem(Emerald) >= 1, l("Take my Emerald!"),             L_Emerald;
        rif(countitem(Diamond) >= 1, l("Take my Diamond!"),             L_Diamond;
        rif(countitem(Amethyst) >= 1, l("Take my Amethyst!"),             L_Amethyst;
        rif(countitem(Sapphire) >= 1, l("Take my Sapphire!"),             L_Sapphire;
*/

// Must rework IDs
L_Powder:
    // Magic
    .@id=Diamond+@menu-2;
    .@am=rand(1,3);

    delitem .@id, 1;
    Zeny = Zeny - 100;
    getexp 60, 0;
    //inventoryplace RubyPowder, 1; // @jesusalva how to set a random 1 to 3
    //getitem RubyPowder, 1;

    inventoryplace GemPowder, .@am;
    getitem GemPowder, .@am;
    mes "";
    mesn;
    mesq l("Here is your powder! I hope it will be useful.");
    next;
    mesq l("Would you like to transform one more?");
    next;
    goto L_Menu;

/*
L_Topaz: 
    delitem Topaz, 1;
    Zeny = Zeny - 100;
    getexp 100, 0;
    inventoryplace TopazPowder, 1; // @jesusalva how to set a random 1 to 3
    getitem TopazPowder, 1;
    mes "";
    mesn;
    mesq l("Here is your powder! I hope it will be useful");
    next;
    mesq l("Would you like to transform one more?");
    next;
    goto L_EndMenu;
    close;

L_Emerald: 
    delitem Emerald, 1;
    getexp 100, 0;
    Zeny = Zeny - 100;
    inventoryplace EmeraldPowder, 1; // @jesusalva how to set a random 1 to 3
    getitem EmeraldPowder, 1;
    mes "";
    mesn;
    mesq l("Here is your powder! I hope it will be useful");
    next;
    mesq l("Would you like to transform one more?");
    next;
    goto L_EndMenu;
    close; 

L_Diamond: 
    delitem Diamond, 1;
    getexp 100, 0;
    Zeny = Zeny - 100;
    inventoryplace DiamondPowder, 1; // @jesusalva how to set a random 1 to 3
    getitem DiamondPowder, 1;
    mes "";
    mesn;
    mesq l("Here is your powder! I hope it will be useful");
    next;
    mesq l("Would you like to transform one more?");
    next;
    goto L_EndMenu;
    close;  

L_Amethyst: 
    delitem Amethyst, 1;
    getexp 100, 0;
    Zeny = Zeny - 100;
    inventoryplace AmethystPowder, 1; // @jesusalva how to set a random 1 to 3
    getitem AmethystPowder, 1;
    mes "";
    mesn;
    mesq l("Here is your powder! I hope it will be useful");
    next;
    mesq l("Would you like to transform one more?");
    next;
    goto L_EndMenu;
    close;  

L_Sapphire: 
    delitem Sapphire, 1;
    getexp 100, 0;
    Zeny = Zeny - 100;
    inventoryplace SapphirePowder, 1; // @jesusalva how to set a random 1 to 3
    getitem SapphirePowder, 1;
    mes "";
    mesn;
    mesq l("Here is your powder! I hope it will be useful");
    next;
    mesq l("Would you like to transform one more?");
    next;
    goto L_EndMenu;
    close;  
*/

L_Close:
    close;

OnInit:
    .@npcId = getnpcid(0, .name$);
    setunitdata(.@npcId, UDT_HEADTOP, MinerHat);
    setunitdata(.@npcId, UDT_HEADMIDDLE, ArtisTankTop);
    setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
    setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 15);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
    .sex = G_MALE;
    .distance = 4;
    end;
}