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
|
// TMW2 Script
// Author:
// Saulc
// Jesusalva
// Description:
// Dracoula is daily npc, ask for bat teeth every 23 h
// Variable:
// MineQuest_Dracoula
007-1,170,99,0 script Dracoula NPC_UKAR_F,{
mesn;
mesq lg("Hello adventurer! Are you lost?");
next;
mesq l("This is not a place for unexperienced people!");
next;
mesq l("The exit is north-west!");
mes "";
if (BaseLevel >= 15) goto L_Menu;
close;
L_Menu:
mesn;
mesq l("But as you're here now, could you do me a favor?");
mes "";
menu
l("Which type of favor?"), L_Quest,
l("Can I find a mana source here?"), L_Mana,
l("Can I become a miner?"), L_Miner,
l("No, thanks. I gonna leave this place."), L_Close;
L_Quest:
mes "";
.@q=getq(MineQuest_Dracoula);
if (!.@q) {
mesn;
mesq l("Nice! First let me introduce myself. I am Dracoula, a miner!");
next;
mesn;
mesq l("I mine here since quite a while. My favorite activity is to scare other miners!");
next;
}
if (.@q == 0) goto L_Continue;
.@q2=getq2(MineQuest_Dracoula) + 60 * 60 * 23;
if (santime() >= .@q2) goto L_Repeat;
mesn;
mesq l("But come back in a few hours, I didn't lose all my %s yet!", getitemlink(BatTeeth));
close;
L_Continue:
mesq l("I love seeing their faces tremble in terror.");
mes "";
menu
l("You are weird."), L_Close,
l("But how do you do that?"), L_Next;
L_Next:
mes "";
mesq l("I disguise myself as a giant mutated bat, but every time I break or lose my fake teeth.");
next;
mesq l("I usually ask adventurers for 11 @@, but new miners should be arriving soon. I need to make them cry!", getitemlink(BatTeeth));
next;
mesq l("So it would be really nice if you could bring me %d %s,", 20, getitemlink(BatTeeth));
mes "";
menu
rif(countitem(BatTeeth) >= 20, l("Hey! I already got them!")), L_Finish,
l("I'll get to it."), L_Close;
close; // double check
L_Repeat:
mesn;
if (getequipid(EQI_HEAD_TOP) > 0)
mesq l("Oh it's you @@, I did not recognize you with your hat!", strcharinfo(0));
else
mesq l("Oh it's you @@, I did not recognize you without a hat!", strcharinfo(0));
next;
mesq l("Do you have an extra of 11 @@ for me?", getitemlink(BatTeeth));
mes "";
menu
rif(countitem(BatTeeth) >= 11, l("Yep, I have them right here for you!")), L_Finish2,
l("Actually not."), L_Close;
close;
// First Time Only
L_Finish:
delitem BatTeeth, 20;
getexp 667, 5; // 20 / 18% = 111 kills * 15 xp = 1665 xp gained from killing. (40% bonus)
Zeny = (Zeny + 600); // 10*20 = 200 base (300% bonus)
setq MineQuest_Dracoula, 1, santime();
mes "";
mesn;
mesq l("WAW thank you! Come back later to bring me extra @@!", getitemlink(BatTeeth));
close;
// Repeat
L_Finish2:
delitem BatTeeth, 11;
getexp 275, 1; // 11 / 18% = 61 kills * 15 xp = 915 xp gained from killing. (30% bonus)
// Bonus: +300%
.@price = getiteminfo(BatTeeth, ITEMINFO_SELLPRICE) * 11 * 3;
Zeny += .@price;
setq MineQuest_Dracoula, 1, santime();
mes "";
mesn;
mesq l("So COOL, thanks! Come back later to bring me extra @@!", getitemlink(BatTeeth));
close;
L_Mana:
mes "";
mesn;
mesq l("Actually nobody found one.");
next;
mesn;
mesq l("But it's the ultimate goal of us miners here.");
next;
mesn;
mesq l("If one of us found a Mana stone we would become rich!");
next;
mesn;
mesq l("Twelve times more if it is a pinch of the elusive Mylarin Dust. But no one knows where any of that is!");
next;
goto L_Menu;
L_Miner:
mes "";
mesn;
mesq l("You should ask %s.", b(l("Tycoon")));
next;
mesn;
mesq l("He is the leader of us miners.");
if (getq(MineQuest_Dracoula)) {
compareandsetq MineQuest_Pickaxe, 0, 1;
} else {
next;
mesn;
mesq l("I can vouch for you, but only if you help me first!");
}
next;
goto L_Menu;
L_Close:
closedialog;
goodbye;
close;
OnInit:
.@npcId = getnpcid(.name$);
setunitdata(.@npcId, UDT_HEADTOP, MinerHat);
setunitdata(.@npcId, UDT_HEADMIDDLE, ArtisTankTop);
setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
setunitdata(.@npcId, UDT_HAIRCOLOR, 8);
.sex = G_FEMALE;
.distance = 4;
end;
}
|