summaryrefslogtreecommitdiff
path: root/world/map/npc/functions/mob_points.txt
blob: 995b9a90da6ba1ac6ce832877ad1ae13089382e1 (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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
// Mob points

function|script|MobPoints
{
    if (@mobID < 1002) goto L_Return;

    setarray @points,
        1, // Maggot
        2, // Scorpion
        20, // Red Scorpion
        40, // Green Slime
        30, // Giant Maggot
        15, // Yellow Slime
        25, // Red Slime
        45, // Black Scorpion
        50, // Snake
        6, // Fire Goblin
        55, // Spider
        35, // Evil Mushroom
        35, // Pink Flower
        40, // Santa Slime
        15, // Rudolph Slime
        2, // Bat
        16, // Pinkie
        10, // Spiky Mushroom
        14, // Fluffy
        25, // Cave Snake
        200, // Jack O
        85, // Fire Skull
        85, // Poison Skull
        20, // Log Head
        70, // Mountain Snake
        15, // Easter Fluffy
        40, // Mouboo
        0, // Mauve Plant
        0, // Cobalt Plant
        0, // Gamboge Plant
        0, // Alizarin Plant
        20, // Sea Slime
        75, // Grass Snake
        0, // Silk Worm
        125, // Zombie
        0, // Clover Patch
        5, // Squirrel
        0, // Fire Lizard
        80, // Wisp
        15, // Snail
        80, // Spectre
        100, // Skeleton
        100, // Lady Skeleton
        150, // Fallen
        0, // Snake Lord
        80, // Poltergeist
        0, // Duck
        15, // Bee
        0, // Larvespa
        0, // Vespa
        0, // Hivespa
        0, // Froad
        0, // Troll
        15, // Butterfly
        2, // Cave Maggot
        10, // Angry Scorpion
        6, // Ice Goblin
        20, // Archant
        40, // Giant Cave Maggot
        35, // Moggun
        100, // Terranite
        10, // Pumpkin
        10, // Bandit
        20, // Bandit Lord
        30, // Vampire Bat
        20, // Reaper
        20, // Reaper2
        100, // Scythe
        20, // Ball Lightning
        60, // Ice Element
        80, // Yeti
        100, // The Lost
        60, // Red Bone
        60, // Stalker
        0, // Dreadwing
        100, // Drunken Skeleton
        100, // Tipsy Skeleton
        100, // Drunken Lady Skeleton
        60, // BlueSpark
        60, // RedSpark
        0, // Serqet
        60, // HuntsmanSpider,
        40, // CrotcherScorpion,
        0, // IceSkull,
        120, // FeyElement,
        10, // Larvern,
        60, // Hyvern,
        20, // HungryFluffy,
        40, // Wolvern,
        50, // BlueSlime,
        0, // SlimeBlast,
        20, // WhiteSlime,
        40, // Reinboo,
        0, // WhiteBell,
        60, // SoulSnake
        100, // SoulEater
        25, // CopperSlime
        0, // SleepingBandit
        20, // AzulSlime
        80, // DemonicSpirit
        940, // Luvia
        150, // WitchGuard
        50, // DemonicMouboo
        15, // ViciousSquirrel
        20, // WickedMushroom
        18, // Bluepar
        10, // AngryFireGoblin
        35, // AngrySeaSlime
        50, // CandiedSlime
        40, // Santaboo
        30, // Pollett
        100, //Nutcracker
        40, // SeaSlimeMother
        50, // UndeadWitch
        60, // UndeadTroll
        80, // GreenSlimeMother
        100, // Thug
        100, // Swashbuckler
        100, // Grenadier
        150, // DreadPirateMarley
        10, // DreadPirateMarleyClone
        100, // Wight
        100, // ManaGhost
        100, // PsiBrain
        150, // GeneralKurkan
        175 // GeneralRazha
        // No more room! script engine is buggy, sorry.
        //   -o11c
        ; // END

    setarray @points_extended,
        200, // 1129 GeneralTerogan
        100, // 1130 Moonshroom
        20, // 1131 ManaBug
        80, // 1132 LavaSlime
        80, // 1133 Anne
        200, // 1134 SUSAN
        80, // 1135 LovelyMaggot
        10, // 1136 LesserGhost
        500, // 1137 Tormenta
        200 // 1138 ManaGuardian
    ;

    if ((MPQUEST == 1) && (@mobID < 1129))
        goto L_Table1;

    if ((MPQUEST == 1) && (@mobID > 1128))
        goto L_Table2;

    goto L_PostLoop;

L_Table1:
    set Mobpt, Mobpt + @points[@mobID - 1002];
    goto L_PostLoop;

L_Table2:
    set Mobpt, Mobpt + @points_extended[@mobID - 1130];
    goto L_PostLoop;

L_PostLoop:
    callfunc "ValonCount";
    if (((QL_VALON >= 2) && (QL_VALON < 6)) && (@mobID == $@ValonMob[@valon_mob]))
        goto L_ValonMobKill;
    goto L_NatureKarma;

L_ValonMobKill:
    callfunc "AddValonCntMask";
    goto L_NatureKarma;

L_NatureKarma:
// Scorpion, Red Scorpion, Black Scorpion, Angry Scorpion
// DemonicMouboo, ViciousSquirrel, WickedMushroom, Bluepar
    if ((@mobID == 1003) || (@mobID == 1004) || (@mobID == 1009) || (@mobID == 1057)
        || (@mobID == 1104) || (@mobID == 1105) || (@mobID == 1106) || (@mobID == 1107))
            goto L_good;

    // Attitude adjustment for the witch (can we refactor this to another function?  Not sure about max. recursion depth)

    set @value, 0;
// Pinkie
    if (@mobID == 1018)
        set @value, 3;

// Fluffy
    if (@mobID == 1020)
        set @value, 3;
// Easter Fluffy
    if (@mobID == 1027)
        set @value, 3;
// Mouboo
    if (@mobID == 1028)
        set @value, 4;
// Squirrel
    if (@mobID == 1038)
        set @value, 2;
// Reinboo
    if (@mobID == 1094)
        set @value, 3;
// Santaboo
    if (@mobID == 1112)
        set @value, 3;
// Pollett
    if (@mobID == 1113)
        set @value, 3;

    if (@value == 0)
        goto L_Celestia;

    callfunc "QuestSagathaAnnoy";
    goto L_Celestia;

L_good:
    set @value, 1;
    callfunc "QuestSagathaHappy";
    goto L_Celestia;

L_Celestia:
    if (QL_CELESTIA < 5 || QL_CELESTIA >= 205 || @mobID != 1072) goto L_Return;
    set QL_CELESTIA, QL_CELESTIA + 1;
    if (QL_CELESTIA == 205)
        message strcharinfo(0), "Yeti : ##3This should be enough yetis killed to please Celestia.";
    goto L_Return;

L_Return:
    set @value, 0;
    return;
}