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
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
|
// Constants usable in scripts.
// This constant is used to define whether unreleased items are equippable.
// This defaults to 1, but should be disabled on the official server.
// If set to 2 or higher, it also disables global timers to aid gdb'ing.
debug 1
// BEFORE UNCOMMENTING ANYTHING, TALK TO o11c!
//MF_NOMEMO 0
//MF_NOTELEPORT 1
MF_NOSAVE 2
//MF_NOBRANCH 3
//MF_NOPENALTY 4
//MF_NOZENYPENALTY 5
MF_PVP 6
//MF_PVP_NOPARTY 7
//MF_PVP_NOGUILD 8
//MF_GVG 9
//MF_GVG_NOPARTY 10
//MF_NOTRADE 11
//MF_NOSKILL 12
MF_NOWARP 13
MF_NOPVP 14
//MF_NOICEWALL 15
//MF_SNOW 16
//MF_FOG 17
//MF_SAKURA 18
//MF_LEAVES 19
//MF_RAIN 20
// Map flags with no assigned value (inaccessible in scripts,
// can only be set initially by mapflag):
// nowarpto,
// noreturn,
// monster_noteleport,
// pvp_nightmaredrop,
// pvp_nocalcrank,
// no_player_drops,
// town,
// Note: the type-1 constants and the bWhatever are actually
// the same type internally, but they must be used differently.
// A *few* can be used for both ...
// TODO resolve that last, and change the names to match SP_*
// BEFORE UNCOMMENTING ANYTHING, TALK TO o11c!
//BaseExp 1 1
//JobExp 2 1
Hp 5 1
MaxHp 6 1
Sp 7 1
MaxSp 8 1
//StatusPoint 9 1
BaseLevel 11 1
//SkillPoint 12 1
//Class 19 1
Zeny 20 1
Sex 21 1
//NextBaseExp 22 1
//NextJobExp 23 1
Weight 24 1
MaxWeight 25 1
//JobLevel 55 1
//Upper 56 1
// BEFORE UNCOMMENTING ANYTHING, TALK TO o11c!
bMaxHP 6
bMaxSP 8
bStr 13
bAgi 14
bVit 15
bInt 16
bDex 17
bLuk 18
//bAtk 41
//bAtk2 42
//bMatk1 43
//bMatk2 44
//bDef 45
bMdef 47
//bMdef2 48
bHit 49
bFlee 50
//bFlee2 51
bCritical 52
//bAspd 53
bDeaf 70
// Elements:
// 0 = Neutral
// 1 = Water
// 2 = Earth
// 3 = Fire
// 4 = Wind
// 5 = Poison
// 6 = Holy
// 7 = Dark
// 8 = Spirit
// 9 = Undead
// Races:
// 0 = Formless
// 1 = Undead
// 2 = Brute
// 3 = Plant
// 4 = Insect
// 5 = Fish
// 6 = Demon
// 7 = Demi-Human
// 8 = Angel
// 9 = Dragon
// 10 = Boss
// 11 = Other
// Effects:
// Eff_Blind
// Eff_Sleep
// Eff_Poison
// Eff_Freeze
// Eff_Silence
// Eff_Stun
// Eff_Curse
// Eff_Confusion
// Eff_Stone
// Eff_Bleeding
// Splash radius:
// n = 1 -> 3x3 cell
// n = 2 -> 5x5 cell
// ...
// Those which can be used with the arrow are only bCritical, bAtkEle, bHit, bAddEle, bAddRace, bAddSize and bAddEff. The other bonuses are ignored.
// For more information, have a look here: http://code.google.com/p/eathena/source/browse/trunk/doc/item_bonus.txt
// BEFORE UNCOMMENTING ANYTHING, TALK TO o11c!
bAtkRange 1000 // A range bonus of n (bAtkRange,n;).
//bAtkEle 1001 // Gives the player's attacks a n element (bAtkEle,n;).
//bDefEle 1002 // Gives the player's defense a n element (bDefEle,n;).
//bCastrate 1003 // Adjusts casting time of skill n by x% (bCastrate,n,x;).
bMaxHPrate 1004 // A max HP bonus of n (bMaxHPrate,n;).
//bMaxSPrate 1005 // A max SP bonus of n (bMaxSPrate,n;).
//bUseSPrate 1006 // Increases the consumption of SP by n% (bUseSPrate,n;).
//bAddEle 1007 // +x% physical damage against a n element (bAddEle,n,x;).
//bAddRace 1008 // +x% physical damage against a n race (bAddRace,n,x;).
//bAddSize 1009 // +x% physical damage against a n size (bAddSize,n,x;).
//bSubEle 1010 // +x% damage reduction against a n element (bSubEle,n,x;).
//bSubRace 1011 // +x% damage reduction against race n (bSubRace,n,x;).
//bAddEff 1012 // Adds a 1/100x% chance to cause effect e to the target when attacking (bAddEff,e,x;).
//bResEff 1013 // Adds a 1/100x% tolerance to an effect (bResEff,e,x;).
//bBaseAtk 1014 // A n bonus to the basic attack power (bBaseAtk,n;).
bAspdRate 1015 // +n% attack speed (bAspdRate,n;).
bHPrecovRate 1016 // Natural HP recovery ratio increased of n% (bHPrecovRate,n;).
//bSPrecovRate 1017 // Natural SP recovery ratio increased of n% (bSPrecovRate,n;).
//bSpeedRate 1018 // Moving speed increased of n% and only the highest among all is applied (bSpeedRate,n;).
bCriticalDef 1019 // Decreases the chance of being hit by critical hits of n% (bCriticalDef,n;).
//bNearAtkDef 1020 // Adds n% damage reduction against melee physical attacks (bNearAtkDef,n;).
//bLongAtkDef 1021 // Adds n% damage reduction against ranged physical attacks (bLongAtkDef,n;).
//bDoubleRate 1022 // Adds a n% probability of doing a double attack (bDoubleRate,n;).
bDoubleAddRate 1023 // Adds another +n% probability of doing a double attack (bDoubleAddRate,n;).
//bMatk 1024 // Adds a magical attack bonus of n (bMatk,n;).
//bMatkRate 1025 // Adds a magical attack bonus percentage n% (bMatkRate,n;).
//bIgnoreDefEle 1026 // Disregards defense against enemies of a n element (bIgnoreDefEle,n;).
//bIgnoreDefRace 1027 // Disregards defense against enemies of a n race (bIgnoreDefRace,n;).
//bAtkRate 1028 // Adds an attack bonus of n% (bAtkRate,n;).
bSpeedAddRate 1029 // Adds a n% of walking speed (bSpeedAddRate,n;).
//bAspdAddRate 1030 // Adds a n% of attack speed (bAspdAddRate,n;).
//bMagicAtkDef 1031 // Adds a n% damage reduction against magical attacks (bMagicAtkDef,n;).
//bMiscAtkDef 1032 // Adds a n% damage reduction against miscellaneous attacks (traps, falcon, ...) (bMiscAtkDef,n;).
//bIgnoreMdefEle 1033 // Disregards magical defense against enemies of a n element (bIgnoreMdefEle,n;).
//bIgnoreMdefRace 1034 // Disregards magical defense against enemies of a n race (bIgnoreMdefRace,n;).
//bMagicAddEle 1035 // Adds x% of magical damage against a n element (bMagicAddEle,n,x;).
//bMagicAddRace 1036 // Adds x% of magical damage against a n race (bMagicAddRace,n,x;).
//bMagicSubRace 1037 // Removes a x% of magical damage against a n race (bMagicSubRace,n,x;).
//bPerfectHitRate 1038 // On-target impact attack probability n% and only the highest among all is applied (bPerfectHitRate,n;).
//bPerfectHitAddRate 1039 // A n% bonus of an on-target impact (bPerfectHitAddRate,n;).
//bCriticalRate 1040 // Add a n% to the critical hits percentage (bCriticalRate,n;).
//bGetZenyNum 1041 // When killing a monster, there is a x% chance of gaining about n zeny (bGetZenyNum,n;).
//bAddGetZenyNum 1042 // Same as bGetZenyNum, but the rates and zeny to gain stack (bAddGetZenyNum,n,x;).
//bAddDamageClass 1043 // +x% of extra physical damage against monsters of class n, against players n is their job id (bAddDamageClass,n,x;).
//bAddMagicDamageClass 1044 // +x% of extra magical damage against monsters of class n, against players n is their job id (bAddDamageClass,n,x;).
//bAddDefClass 1045 // +x% physical damage reduction against monsters of class n, against players n is their job id (bAddDefClass,n,x;)
//bAddMdefClass 1046 // +x% magical damage reduction against monsters of class n, against players n is their job id (bAddDefClass,n,x;)
//bAddMonsterDropItem 1047 // Adds a x/100% chance for a n item to be dropped, when killing any monster (bAddMonsterDropItem,n,x;)
//bDefRatioAtkEle 1048 // Does more damage depending on the monster's defense against a n element (bDefRatioAtkEle,n;).
//bDefRatioAtkRace 1049 // Does more damage depending on the monster's defense against a n race (bDefRatioAtkRace,n;).
//bAddSpeed 1050 // Adds a n speed to the player (bAddSpeed,n;).
//bHitRate 1051 // Adds a n% rate to hit (bHitRate,n;).
//bFleeRate 1052 // Adds a n% to flee a monster's attack (bFleeRate,n;).
//bFlee2Rate 1053 // Adds a n% to dodge a monster's attack (bFleeRate,n;).
bDefRate 1054 // Adds a n% of defense to the equipment (bDefRate,n;).
bDef2Rate 1055 // Adds a n% of defense based on the vitality to the equipment (bDef2Rate,n;).
//bMdefRate 1056 // Adds a n% of magical defense to the equipment (bMdefRate,n;).
//bMdef2Rate 1057 // Adds a n% of magical defense based on the vitality to the equipment (bMdef2Rate,n;).
//bSplashRange 1058 // Adds n to the splash attack radius and only the highest among all is applied (bSplashRange,n;).
//bSplashAddRange 1059 // Adds n to the splash attack radius (bSplashRange,n;).
//bAutoSpell 1060 // Auto Spell casting on attack of spell n at level x with a y/10% chance (bAutoSpell,n,x,y;).
bHPDrainRate 1061 // Adds a n/10% chance to receive x% of dealed damage as HP from a monster of race r with normal attack (bHPDrainRateRace,r,n,x;).
//bSPDrainRate 1062 // Adds a n/10% chance to receive x% of dealed damage as SP from a monster of race r with normal attack (bSPDrainRateRace,r,n,x;).
//bShortWeaponDamageReturn 1063 // Reflects n% of received melee damage back to the enemy that caused it (bShortWeaponDamageReturn,n;).
//bLongWeaponDamageReturn 1064 // Reflects n% of received ranged damage back to the enemy that caused it (bShortWeaponDamageReturn,n;).
//bWeaponComaEle 1065 // Adds a n/100% chance to cause coma when attacking a monster of a x element with a normal attack (bWeaponComaEle,x,n;).
//bWeaponComaRace 1066 // Adds a n/100% chance to cause coma when attacking a monster of a x race with a normal attack (bWeaponComaEle,x,n;).
//bAddEff2 1067 // Adds a n/100% chance to cause status change x on self when attacking (bAddEff2,x,n;).
//bMagicDamageReturn 1068 // Adds a n% chance to reflect targetted magic spells back to the enemy that caused it (bMagicDamageReturn,n;).
//bRandomAttackIncrease 1069 // Adds a n% chance to inflict x% additional damage to the enemy with normal attack (bRandomAttackIncrease,x,n;).
//bAllStats 1070 // Adds a n number in Strengh, Agility, Vitality, Intelligence, Dexterity and Luck (bAllStats,n;).
//bAgiVit 1071 // Adds a n number in Agility and Vitality (bAgiVit,n;).
//bAgiDexStr 1072 // Adds a n number in Agility, Dexterity and Strengh (bAgiDexStr,n;).
//bPerfectHide 1073 // A hidden character is no longer detected by monsters with 'detector' mode (bPerfectHide,1;).
equip_head 1
equip_shield 2
equip_hand2 3
equip_hand1 4
equip_gloves 5
equip_shoes 6
equip_misc1 7
equip_misc2 8
equip_torso 9
equip_legs 10
// Appearance Slots
// Using this for anything but hair is probably a mistake.
LOOK_BASE 0
LOOK_HAIR_STYLE 1
LOOK_WEAPON 2
LOOK_LEGS 3
LOOK_HELMET 4
LOOK_CHEST 5
LOOK_HAIR_COLOR 6
LOOK_SHIELD 8
LOOK_SHOES 9
LOOK_GLOVES 10
LOOK_CAPE 11
LOOK_MISC1 12
LOOK_MISC2 13
// Hairstyles
HS_Bald 0
HS_FlatPonytail 1
HS_BowlCut 2
HS_CombedBack 3
HS_Emo 4
HS_Mohawk 5
HS_Pompadour 6
HS_CenterParting 7
HS_LongAndSlick 8
HS_ShortAndCurly 9
HS_Pigtails 10
HS_LongAndCurly 11
HS_Parted 12
HS_PerkyPonytail 13
HS_Wave 14
HS_Mane 15
HS_Bun 16
HS_ShoulderLengthFlick 17
HS_Fizzy 18
HS_LongAndClipped 19
// Hair Colors
HC_LIGHT_BROWN 0
HC_GREEN 1
HC_RED 2
HC_PURPLE 3
HC_GRAY 4
HC_YELLOW 5
HC_BLUE 6
HC_BROWN 7
HC_LIGHT_BLUE 8
HC_DARK_PURPLE 9
HC_BLACK 10
HC_PINK 11
HC_BROWN 12
HC_WHITE 127
// Colors for dyed items.
// See npc/functions/process_equip.txt.
cNone 11
cWhite 10
cRed 0
cGreen 1
cDarkBlue 2
cYellow 3
cLightBlue 4
cPink 5
cBlack 6
cOrange 7
cPurple 8
cDarkGreen 9
sc_poison 132
sc_slowpoison 14
sc_raiseattackspeed0 37
sc_raiseattackstrength 185
// Emotions
// Note: client-data/emotes.xml uses the wrong numbers.
EMOTE_DISGUST 1
EMOTE_SURPRISE 2
EMOTE_HAPPY 3
EMOTE_SAD 4
EMOTE_EVIL 5
EMOTE_WINK 6
EMOTE_ANGEL 7
EMOTE_BLUSH 8
EMOTE_TONGUE 9
EMOTE_GRIN 10
EMOTE_UPSET 11
EMOTE_PERTURBED 12
EMOTE_SPEECH 13
EMOTE_BLAH 14
EMOTE_SWEAR 15
EMOTE_MEOW 16
EMOTE_LAUGH 17
EMOTE_CHEERFUL 18
EMOTE_LOVE 19
EMOTE_MONEY 20
EMOTE_SLEEP 21
EMOTE_REST 22
EMOTE_BOTHERED 23
EMOTE_AFRAID 24
EMOTE_DEAD 25
EMOTE_SUSPICIOUS 26
EMOTE_MELANCHOLY 27
EMOTE_FACEPALM 28
EMOTE_ANGRY 29
EMOTE_HEADACHE 30
EMOTE_BORED 31
EMOTE_HEART 32
EMOTE_EMPTY 33
EMOTE_HALLOWEEN 34
EMOTE_VICIOUS 35
EMOTE_JOYFUL 36
EMOTE_CLEVER 37
EMOTE_SHY 38
EMOTE_ALIEN 39
EMOTE_CURIOUS 40
EMOTE_PAIN 41
EMOTE_TEARS 42
// Wedding Variables
WEDDING_FEE 100
DIVORCE_FEE_PER_LEVEL 500
WEDDING_MIN_LEVEL 32
sfx_skillup 1
sfx_magic_generic 2
sfx_magic_life 3
sfx_magic_war 4
sfx_magic_transmute 5
sfx_magic_nature 6
sfx_magic_astral 7
// Special effects, interactive objects and emotion effects from client-data/effects.xml.
FX_LEVELUP 0
FX_SKILLUP 1
FX_MAGIC_GENERIC 2
FX_MAGIC_WHITE 3
FX_MAGIC_BLACK 4
FX_MAGIC_RED 5
FX_MAGIC_GREEN 6
FX_MAGIC_BLUE 7
FX_MAGIC_DEFAULT 10
FX_MAGIC_SHIELD 11
FX_MAGIC_HIT 13
FX_MAGIC_HIT_EVIL 14
FX_FIRE_BURST 15
FX_FIRE_EXPLOSION 16
FX_LIGHTNING1 17
FX_LIGHTNING2 18
FX_LIGHTNING3 19
FX_MAGIC_TELEPORT 20
FX_PENTAGRAM_BUILDUP 21
FX_PENTAGRAM_BURST 22
FX_MAGIC_TELEPORT2 24
FX_RAIN 25
FX_HIT 26
FX_ARROW_HAIL 27
FX_CRITICAL 28
FX_LARGE_EXPLOSION 30
FX_MEDIUM_EXPLOSION 31
FX_MEDIUM_SMOKE 32
FX_PUMPKIN_EXPLOSION 43
FX_MEDIUM_BLINDINGLIGHT 33
FX_CHANNELLING_RAISE 34
FX_CHANNELLING_CAST 35
FX_ENCHANTED_DOOR_BROKEN 36
FX_DARK_TELEPORT 37
FX_EVIL_SUMMON 38
FX_GROUND_SPAWN 39
FX_BLUE_MAGIC_CAST 40
FX_MAGIC_BLUE_TELEPORT 41
FX_MAGIC_DARK_EXPLOSION 42
FX_PUMPKIN_EXPLOSION 43
FX_GETITEM 44
FX_MAGIC_SHIELD_ENDS 111
FX_ELECTRICITY_RED 114
FX_ELECTRICITY_BLUE 115
FX_GATE_OPENING 300
FX_CASKET_LID 301
FX_CASKET_MONSTER 302
FX_EMOTE_DISGUST 10000
FX_EMOTE_SURPRISE 10001
FX_EMOTE_HAPPY 10002
FX_EMOTE_SAD 10003
FX_EMOTE_EVIL 10004
FX_EMOTE_WINK 10005
FX_EMOTE_ANGEL 10006
FX_EMOTE_BLUSH 10007
FX_EMOTE_TONGUE 10008
FX_EMOTE_GRIN 10009
FX_EMOTE_UPSET 10010
FX_EMOTE_PERTURBED 10011
FX_EMOTE_SPEECH 10012
FX_EMOTE_BLAH 10013
FX_EMOTE_SWEAR 10014
FX_EMOTE_MEOW 10015
FX_EMOTE_LAUGH 10016
FX_EMOTE_CHEERFUL 10017
FX_EMOTE_LOVE 10018
FX_EMOTE_MONEY 10019
FX_EMOTE_SLEEP 10020
FX_EMOTE_REST 10021
FX_EMOTE_BOTHERED 10022
FX_EMOTE_AFRAID 10023
FX_EMOTE_DEAD 10024
FX_EMOTE_SUSPICIOUS 10025
FX_EMOTE_MELANCHOLY 10026
FX_EMOTE_FACEPALM 10027
FX_EMOTE_ANGRY 10028
FX_EMOTE_HEADACHE 10029
FX_EMOTE_BORED 10030
FX_EMOTE_HEART 10031
FX_EMOTE_EMPTY 10032
FX_EMOTE_HALLOWEEN 10033
FX_EMOTE_VICIOUS 10034
FX_EMOTE_JOYFUL 10035
FX_EMOTE_CLEVER 10036
FX_EMOTE_SHY 10037
FX_EMOTE_ALIEN 10038
FX_EMOTE_CURIOUS 10039
FX_EMOTE_PAIN 10040
FX_EMOTE_TEARS 10041
NIBBLE_0_SHIFT 0
NIBBLE_0_MASK 15
NIBBLE_1_SHIFT 4
NIBBLE_1_MASK 240
NIBBLE_2_SHIFT 8
NIBBLE_2_MASK 3840
NIBBLE_3_SHIFT 12
NIBBLE_3_MASK 61440
NIBBLE_4_SHIFT 16
NIBBLE_4_MASK 983040
NIBBLE_5_SHIFT 20
NIBBLE_5_MASK 15728640
NIBBLE_6_SHIFT 24
NIBBLE_6_MASK 251658240
NIBBLE_7_SHIFT 28 // Only three bits available in this one
NIBBLE_7_MASK 1879048192 // should be 4026531840
BYTE_0_MASK 255
BYTE_0_SHIFT 0
BYTE_1_MASK 65280
BYTE_1_SHIFT 8
BYTE_2_MASK 16711680
BYTE_2_SHIFT 16
BYTE_3_MASK 4278190080
BYTE_3_SHIFT 24
// Basic Skills
SKILL_EMOTE 1
SKILL_TRADE 2
SKILL_PARTY 3
// Focus Skills
SKILL_POOL 339
SKILL_MALLARDS_EYE 45
SKILL_BRAWLING 350
SKILL_LUCKY_COUNTER 351
SKILL_SPEED 352
SKILL_RESIST_POISON 353
SKILL_ASTRAL_SOUL 354
SKILL_RAGING 355
// Magic Skills
SKILL_MAGIC 340
SKILL_MAGIC_LIFE 341
SKILL_MAGIC_WAR 342
SKILL_MAGIC_TRANSMUTE 343
SKILL_MAGIC_NATURE 344
SKILL_MAGIC_ASTRAL 345
// Flags for the magic quests.
MFLAG_DRANK_POTION 1 // Character drank at least one magic potion as prerequisite for the Mana Seed quest.
MFLAG_KNOWS_MANASEED 2 // Character has found the Mana Seed.
MFLAG_TOUCHED_MANASEED 4 // Character has touched the Mana Seed.
MFLAG_MANASEED_MAXEDOUT 8 // Character has touched the Mana Seed while maxed out on magic.
MFLAG_KNOWS_AULDSBEL 16 // Character has met Auldsbel.
MFLAG_KNOWS_WYARA 32 // Character has met Wyara.
MFLAG_KNOWS_SAGATHA 64 // Character has met Sagatha.
MFLAG_KNOWS_MANAPOTION 128 // Has heard about the Mana Potion.
MFLAG_MANASEED_RUMOUR 256 // Has heard rumour about Mana Seed.
MFLAG_KNOWS_CUTTREE 512 // Knows about the 'cut the tree' quest.
MFLAG_DID_CUTTREE 1024 // Did cut off a branch from the druid tree.
MFLAG_KNOWS_DRUIDTREE 2048 // Knows about the druid tree quest.
MFLAG_KNOWS_IMP 4096 // Knows about the imprisoned forest spirit.
MFLAG_KNOWS_OLD_WIZARD 8192 // Knows Bjorn's old wizard.
MFLAG_MADE_CONC_POTION 16384 // Made a concentration potion with T15 and/or T16.
MFLAG_ELANORE_OMAR 32768 // Told Omar about Elanore's involvement.
MFLAG_KNOWS_UNFOCUS_RECIPE 65536 // Has been told about unfocus by Luca.
// Flags set in the FLAGS variable:
FLAG_HAS_BOWLER_BURNSDAY 1 // every year's poem at burns day, shannon gives you a bowler hat
FLAG_OPENED_UNDERGROUND 2 // this flag is a replacement for variable Open_Underground_Palace_Barrier, which was used only as bool
FLAG_GOT_NAEM_GLOVES 4 // this replaces Naem_Quest_Done, which was used as a bool variable
FLAG_GOT_GRADUATIONCAP 8 // this is a bit which was to be found in Tut_var second bit
FLAG_TOWEL_HELPED 16 // gave the towel npc the stuff he wants
FLAG_TOWEL_COMPLETED 32 // got the towel from the towel npc
FLAG_ANDRA_HELPED 64 // Knows Andra and agreed to help her
FLAG_ROSSI_COMPLETED 128 // Completed the Rossi Quest
FLAG_TUTORIAL_DONE 256 // player completed tutorial (or entered the tutorial area from outside after it was added)
FLAG_SNOWMAN 512 // player gave candy to the snowman
FLAG_SANTAS_HELPER 1024 // player gave presents to Santa's helper
FLAG_HURNSMINE_CHEST 2048 // player opened the chest with the short sword in Hurnscald mines
FLAG_GOT_BEANIEHAT 4096 // player got Beanie Copter Hat from Milly
FLAG_DECLINED_BEANIEHAT 8192 // player declined Beanie Copter Hat from Milly
DOCK_tulimshar 1
DOCK_hurnscald 2
DOCK_candor 3
DOCK_nivalis 4
// -----------------
// -- Easter 2010 --
// -----------------
// Dealing with the Old Woman's token quest.
E10_STATE_EGG_MASK 3
E10_STATE_EGGS_COLLECTED_MASK 31
E10_STATE_EGGS_COLLECTED_SHIFT 2
E10_STATE_EGG_COLLECTING 1
E10_STATE_EGG_COLLECTED 2
E10_STATE_EGG_REWARDED 3
E10_STATE_ROSE_MASK 3
E10_STATE_ROSE_SHIFT 7
E10_STATE_ROSE_ROSE_USED 1
E10_STATE_ROSE_ROSE_COMPLETE 2
E10_STATE_ROSE_RETURNED 3
// Dealing with $Easter_2010_Npc_State1.
E10_TIMER_STATE_EGGS_MASK 31
E10_TIMER_STATE_TREES_MASK 31
E10_TIMER_STATE_TREES_SHIFT 5
E10_TIMER_STATE_DOCTOR_MASK 31
E10_TIMER_STATE_DOCTOR_SHIFT 10
E10_EGGS_TIMER_OVERTICK_MASK 31
E10_EGGS_TIMER_OVERTICK_SHIFT 15
E10_TREES_OVERTICK_MASK 31
E10_TREES_OVERTICK_SHIFT 20
E10_DOCTOR_TIMER_OVERTICK_MASK 31
E10_DOCTOR_TIMER_OVERTICK_SHIFT 25
// Dealing with $Easter_2010_Npc_State2.
E10_DOCTOR_POSITION_MASK 7
E10_DOCTOR_POSITION_SHIFT 0
E10_DOCTOR_POSITION_NULL 0
E10_DOCTOR_POSITION_BIGTREE 1
E10_DOCTOR_POSITION_ISLAND 2
E10_DOCTOR_POSITION_STONES 3
E10_DOCTOR_POSITION_FRUIT 4
E10_DOCTOR_POSITION_CAVE 5
E10_BARRIER_MASK 1
E10_BARRIER_SHIFT 4
E10_BARRIER_OPEN 0
E10_BARRIER_ACTIVE 1
E10_PRE_WARP_SHIFT 5
E10_NEEDLE_SHIFT 6
E10_NEEDLE_MASK 31
// Dealing with the doctor.
E10_DOCTOR_HELP_STATES_MASK 15
E10_DOCTOR_HELP_STATES_SHIFT 11
E10_FLAG_KNOWS_DOCTOR_MASK 1
E10_FLAG_KNOWS_DOCTOR_SHIFT 10
E10_FLAG_KNOWS_DOCTOR 1
E10_FLAG_HELPED_DOCTOR_TREE_MASK 1
E10_FLAG_HELPED_DOCTOR_TREE_SHIFT 11
E10_FLAG_HELPED_DOCTOR_TREE 1
E10_FLAG_HELPED_DOCTOR_ISLAND_MASK 1
E10_FLAG_HELPED_DOCTOR_ISLAND_SHIFT 12
E10_FLAG_HELPED_DOCTOR_ISLAND 1
E10_FLAG_HELPED_DOCTOR_STONES_MASK 1
E10_FLAG_HELPED_DOCTOR_STONES_SHIFT 13
E10_FLAG_HELPED_DOCTOR_STONES 1
E10_FLAG_HELPED_DOCTOR_FRUIT_MASK 1
E10_FLAG_HELPED_DOCTOR_FRUIT_SHIFT 14
E10_FLAG_HELPED_DOCTOR_FRUIT 1
E10_HELPED_DOCTOR_SHIFT 11
E10_HELPED_DOCTOR_MASK 15
E10_FLAG_MID_REWARD 1
E10_FLAG_MID_REWARD_SHIFT 15
E10_FLAG_MID_REWARD_MASK 1
E10_FLAG_RETURN_READY 1
E10_FLAG_RETURN_READY_SHIFT 16
E10_FLAG_RETURN_READY_MASK 1
E10_FLAG_USED_FREE_WARP_SHIFT 17
E10_STATE_REWARDS_SHIFT 18
E10_STATE_REWARDS_MASK 3
E10_STATE_REWARD_RABBIT_EARS 1
E10_STATE_REWARD_EGGSHELL 2
E10_LOC_NEEDLE_SHIFT 20
E10_LOC_NEEDLE_MASK 31
// Menus
E10_STONES_WISP 0
E10_STONES_SPECTRE 1
E10_STONES_POLTERGEIST 2
E10_STONES_SOUL 3
E10_STONES_HEART 4
E10_STONES_EAR 5
E10_STONES_EYE 6
E10_STONES_BONE 7
E10_STONES_SKULL 8
E10_STONES_CRYSTAL 9
E10_STONES_RAGS 10
E10_STONES_PETAL 11
E10_STONES_NEVERMIND 12
E10_ISLAND_MENU_DEATH_AWE 12
E10_ISLAND_MENU_SCARED 13
E10_ISLAND_MENU_WISPS 14
E10_ISLAND_MENU_OFFER_LIFESTONE 15
// Flags for the battle caves.
BATTLE_CAVE1, 1
BATTLE_CAVE2, 2
BATTLE_CAVE3, 4
BATTLE_CAVE4, 8
BATTLE_CAVE5, 16
BATTLE_CAVE6, 32
BATTLE_CAVE7, 64
BATTLE_CAVE8, 128
BATTLE_CAVE9, 256
// Miscellaneous
E10_COLLECT_EGGS_ID 1246
E10_TOKEN_ID 666
E10_MIDREWARD_ID 1247 // Valentine's Glasses (as described)
// Storage Options
OPT_STORAGE_CLOSE 1
OPT_BANK_CLOSE 2
// Currently used by the fluffy hunt (033-1).
// starts counting with 0
MAX_HIGH_SCORES 4
|