summaryrefslogtreecommitdiff
path: root/world/map/npc/functions/mob_points.txt
blob: ecea5b82f16c8106bdc5f11ff8551852c96cdfc4 (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
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
// Mob points

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

    callsub S_Vault;

    setarray @points,
        1,   // 1002 Maggot
        2,   // 1003 Scorpion
        20,  // 1004 Red Scorpion
        40,  // 1005 Green Slime
        30,  // 1006 Giant Maggot
        15,  // 1007 Yellow Slime
        25,  // 1008 Red Slime
        45,  // 1009 Black Scorpion
        50,  // 1010 Snake
        6,   // 1011 Fire Goblin
        55,  // 1012 Spider
        35,  // 1013 Evil Mushroom
        35,  // 1014 Pink Flower
        40,  // 1015 Santa Slime
        15,  // 1016 Rudolph Slime
        2,   // 1017 Bat
        16,  // 1018 Pinkie
        10,  // 1019 Spiky Mushroom
        14,  // 1020 Fluffy
        25,  // 1021 Cave Snake
        200, // 1022 Jack O
        85,  // 1023 Fire Skull
        85,  // 1024 Poison Skull
        20,  // 1025 Log Head
        70,  // 1026 Mountain Snake
        15,  // 1027 Easter Fluffy
        40,  // 1028 Mouboo
        0,   // 1029 Mauve Plant
        0,   // 1030 Cobalt Plant
        0,   // 1031 Gamboge Plant
        0,   // 1032 Alizarin Plant
        20,  // 1033 Sea Slime
        75,  // 1034 Grass Snake
        0,   // 1035 Silk Worm
        125, // 1036 Zombie
        0,   // 1037 Clover Patch
        5,   // 1038 Squirrel
        0,   // 1039 Fire Lizard
        80,  // 1040 Wisp
        15,  // 1041 Snail
        80,  // 1042 Spectre
        100, // 1043 Skeleton
        100, // 1044 Lady Skeleton
        150, // 1045 Fallen
        0,   // 1046 Snake Lord
        80,  // 1047 Poltergeist
        0,   // 1048 Duck
        15,  // 1049 Bee
        0,   // 1050 Larvespa [DOES NOT EXIST]
        0,   // 1051 Vespa [DOES NOT EXIST]
        0,   // 1052 Hivespa [DOES NOT EXIST]
        0,   // 1053 Froad [DOES NOT EXIST]
        0,   // 1054 Troll
        15,  // 1055 Butterfly
        2,   // 1056 Cave Maggot
        10,  // 1057 Angry Scorpion
        6,   // 1058 Ice Goblin
        40,  // 1059 Giant Cave Maggot
        20,  // 1060 Archant
        35,  // 1061 Moggun
        100, // 1062 Terranite
        10,  // 1063 Pumpkin
        10,  // 1064 Bandit
        20,  // 1065 Bandit Lord
        30,  // 1066 Vampire Bat
        150, // 1067 Reaper2
        100, // 1068 Reaper
        20,  // 1069 Scythe
        20,  // 1070 Ball Lightning
        60,  // 1071 Ice Element
        80,  // 1072 Yeti
        100, // 1073 The Lost
        60,  // 1074 Red Bone
        60,  // 1075 Stalker
        0,   // 1076 Dreadwing [DOES NOT EXIST]
        100, // 1077 Drunken Skeleton
        100, // 1078 Tipsy Skeleton
        100, // 1079 Drunken Lady Skeleton
        60,  // 1080 BlueSpark
        60,  // 1081 RedSpark
        0,   // 1082 Serqet
        60,  // 1083 HuntsmanSpider,
        40,  // 1084 CrotcherScorpion,
        0,   // 1085 IceSkull,
        120, // 1086 FeyElement,
        10,  // 1087 Larvern,
        60,  // 1088 Hyvern,
        20,  // 1089 HungryFluffy,
        40,  // 1090 Wolvern,
        50,  // 1091 BlueSlime,
        0,   // 1092 SlimeBlast,
        20,  // 1093 WhiteSlime,
        40,  // 1094 Reinboo,
        0,   // 1095 WhiteBell,
        60,  // 1096 SoulSnake
        100, // 1097 SoulEater
        25,  // 1098 CopperSlime
        0,   // 1099 SleepingBandit
        20,  // 1100 AzulSlime
        80,  // 1101 DemonicSpirit
        940, // 1102 Luvia
        150, // 1103 WitchGuard
        50,  // 1104 DemonicMouboo
        15,  // 1105 ViciousSquirrel
        20,  // 1106 WickedMushroom
        18,  // 1107 Bluepar
        10,  // 1108 AngryFireGoblin
        35,  // 1109 AngrySeaSlime
        50,  // 1110 AngryGreenSlime
        50,  // 1111 CandiedSlime
        40,  // 1112 Santaboo
        30,  // 1113 Pollett
        100, // 1114 Nutcracker
        40,  // 1115 SeaSlimeMother
        50,  // 1116 UndeadWitch
        60,  // 1117 UndeadTroll
        80,  // 1118 GreenSlimeMother
        100, // 1119 Thug
        100, // 1120 Swashbuckler
        100, // 1121 Grenadier
        150, // 1122 DreadPirateMarley
        10,  // 1123 DreadPirateMarleyClone
        100, // 1124 Wight
        100, // 1125 ManaGhost
        100, // 1126 PsiBrain
        150  // 1127 GeneralKurkan
        // No more room! script engine is buggy, sorry.
        //   -o11c
        ; // END

    setarray @points_extended,
        175, // 1128 GeneralRazha
        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
        10,  // 1139 Virus
        200, // 1140 Tengu
        200, // 1141 Sasquatch
        999, // 1142 ZaxDeKagen
        200, // 1143 ManaSlayer
        200, // 1144 GreatDragon
        -99, // 1145 KageGolem
        200, // 1146 Flashmob
        200, // 1147 Koyntety
        100, // 1148 DoomGolem
        100, // 1149 Enchanter
        0,   // 1150 ManaTyrant
        0,   // 1151 VoidFlower
        0,   // 1152 VoidArchant
        0,   // 1153 VoidSlime
        0,   // 1154 VoidSnake
        0,   // 1155 VoidBat
        0,   // 1156 VoidMaggot
        25,  // 1157 VoidSoldier
        0,   // 1158 VoidMouboo
        0,   // 1159 VoidScorpion
        0,   // 1160 VoidShroom
        -99, // 1161 Xakelbael
        0,   // 1162 Grinchboo
        15,  // 1163 Friday
        0,   // 1164 RESERVED
        0,   // 1165 RESERVED
        0,   // 1166 RESERVED
        0,   // 1167 RESERVED
        0,   // 1168 Floyd
        0,   // 1169 Crystal Spider
        0,   // 1170 Crystal Golem
        0,   // 1171 Black Crystal Golem
        0    // 1172 Bif
    ;

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

    if ((MPQUEST == 1) && (@mobID > 1127))
        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 - 1128];
    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_Terranite;
    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_Terranite;

L_Terranite:
    if (TERRAC < 1 || TERRAC > 1500 || @mobID != 1062) goto L_Return;
    if (TERRAC % 100 == 0)
        message strcharinfo(0), "Terranite : ##3Total Terranites Slain: "+TERRAC;
    set TERRAC, TERRAC + 1;
    goto L_Return;

S_Vault:
    if (#EXP_CREDIT < 1) goto L_Return;
    set @exp_bonus, min(#EXP_CREDIT, mobinfo(@mobID, MOB_BASEEXP) * 2);
    set #EXP_CREDIT, #EXP_CREDIT - @exp_bonus;
    getexp @exp_bonus, 0;
    return;

L_Return:
    set @value, 0;
    return;
}