summaryrefslogtreecommitdiff
path: root/world/map/db/const.txt
blob: d2f45290b1a6274e2d3ddc98393202cfc9a72bba (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
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
// Constants usable in scripts.
// This constant is used to define whether unreleased items are equippable. This defaults to on, but should be disabled on the official server.

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_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

DOCK_tulimshar 1
DOCK_hurnscald 2
DOCK_candor    3

// -----------------
// -- 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