// Constants usable in scripts.
// BEFORE UNCOMMENTING ANYTHING, TALK TO o11c!
// 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
equip_arrow 11
// 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
sfx_magic_dark 8
// 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 2130706432 // should be 4278190080
BYTE_3_SHIFT 24 // only 7 bits in this one
// 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
SKILL_MAGIC_DARK 346
// 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
// Launcher/Ammo Types
AMMO_NONE 0
AMMO_BOW 1
AMMO_SLING 2
AMMO_WAND 3