summaryrefslogtreecommitdiff
path: root/npc/007-1/dracoula.txt
blob: ee45a66ce90895f8f9ca9275512afb442b0a1d93 (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
// 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;
}