summaryrefslogblamecommitdiff
path: root/world/map/db/const.txt
blob: b715d0f9009ea0535e862f84aa77bd51d54de9b8 (plain) (tree)
1
2
3
4
5
                               
                                                                                                                                               


                  






























                                                             
 












                                                               
                  

                    

                  

                    

                  

                    
 
                                              







              




                
              
                

              
                
              
                















































                                                                                                                                                    

                                              
                                                                   


                                                                                          
                                                                     









                                                                                                                       
                                                                 
                                                                                             

                                                                                                                          
                                                                                                            


                                                                                                             
                                                                                                           




                                                                                                        
                                                                               























                                                                                                                                                      

                                                                                                            




                                                                                                                                  
                                                                                                                                                                











                                                                                                                                                                  

              
              

              
              







                                                          













                  
             


















                          
                          
 
              











                  
                  

                   





                                       
            





            

            



                          
 

                                                       









































                   
 



                         
 






                     
 
                                                                                         



























                       
                       










                           
                       



















                          



























                          
 
















                      
 

                       
 

                                                                 
 

                
 

                  
 

                     
 

                       
 




                       







































                                                                                                                      
 
                                   










                                                                                                                                     
                                                                                                

                                                                             



                
                




                    
                                            












                                
                                        












                                  
                                        











                             
                    

                  
 
                           





























                                      

                       













                        
                       




                                  
                              









                 



                                                           



                   
 
                                             

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