# • ▌ ▄ ·. ▄▄▄▄·     ▄▄▄ .·▄▄▄▄  ▪  ▄▄▄▄▄      ▄▄▄       ▄▄▄·▄▄▄        
# ·██ ▐███▪▐█ ▀█▪    ▀▄.▀·██▪ ██ ██ •██  ▪     ▀▄ █·    ▐█ ▄█▀▄ █·▪     
# ▐█ ▌▐▌▐█·▐█▀▀█▄    ▐▀▀▪▄▐█· ▐█▌▐█· ▐█.▪ ▄█▀▄ ▐▀▀▄      ██▀·▐▀▀▄  ▄█▀▄ 
# ██ ██▌▐█▌██▄▪▐█    ▐█▄▄▌██. ██ ▐█▌ ▐█▌·▐█▌.▐▌▐█•█▌    ▐█▪·•▐█•█▌▐█▌.▐▌
# ▀▀  █▪▀▀▀·▀▀▀▀      ▀▀▀ ▀▀▀▀▀• ▀▀▀ ▀▀▀  ▀█▄▀▪.▀  ▀    .▀   .▀  ▀ ▀█▄▀▪
#               Magicbane Emulator Project © 2013 - 2022
#                          www.magicbane.com

OBJECT_TYPE_LIGHT = 1
OBJECT_TYPE_DOOR = 2
OBJECT_TYPE_STATIC = 3
OBJECT_TYPE_STRUCTURE = 4
OBJECT_TYPE_ASSETSTRUCTURE = 5
OBJECT_TYPE_DUNGEONUNIT = 6
OBJECT_TYPE_DUNGEONEXIT = 7
OBJECT_TYPE_DUNGEONSTAIR = 8
OBJECT_TYPE_ITEM = 9
OBJECT_TYPE_TERRAIN = 10
OBJECT_TYPE_PLAYER = 11
OBJECT_TYPE_MOBILE = 12
OBJECT_TYPE_RUNE = 13
OBJECT_TYPE_CONTAINER = 14
OBJECT_TYPE_DEED = 15
OBJECT_TYPE_KEY = 16
OBJECT_TYPE_ASSET = 17
OBJECT_TYPE_NUM = 18
OBJECT_TYPE_OBJECT = 19

OBJECT_TYPE_TO_STRING = {
    OBJECT_TYPE_LIGHT: 'LIGHT',
    OBJECT_TYPE_DOOR: 'DOOR',
    OBJECT_TYPE_STATIC: 'STATIC',
    OBJECT_TYPE_STRUCTURE: 'STRUCTURE',
    OBJECT_TYPE_ASSETSTRUCTURE: 'ASSETSTRUCTURE',
    OBJECT_TYPE_DUNGEONUNIT: 'DUNGEONUNIT',
    OBJECT_TYPE_DUNGEONEXIT: 'DUNGEONEXIT',
    OBJECT_TYPE_DUNGEONSTAIR: 'DUNGEONSTAIR',
    OBJECT_TYPE_ITEM: 'ITEM',
    OBJECT_TYPE_TERRAIN: 'TERRAIN',
    OBJECT_TYPE_PLAYER: 'PLAYER',
    OBJECT_TYPE_MOBILE: 'MOBILE',
    OBJECT_TYPE_RUNE: 'RUNE',
    OBJECT_TYPE_CONTAINER: 'CONTAINER',
    OBJECT_TYPE_DEED: 'DEED',
    OBJECT_TYPE_KEY: 'KEY',
    OBJECT_TYPE_ASSET: 'ASSET',
    OBJECT_TYPE_NUM: 'NUM',
    OBJECT_TYPE_OBJECT: 'OBJECT',
}

STRING_TO_OBJECT_TYPE = {
    'LIGHT': OBJECT_TYPE_LIGHT,
    'DOOR': OBJECT_TYPE_DOOR,
    'STATIC': OBJECT_TYPE_STATIC,
    'STRUCTURE': OBJECT_TYPE_STRUCTURE,
    'ASSETSTRUCTURE': OBJECT_TYPE_ASSETSTRUCTURE,
    'DUNGEONUNIT': OBJECT_TYPE_DUNGEONUNIT,
    'DUNGEONEXIT': OBJECT_TYPE_DUNGEONEXIT,
    'DUNGEONSTAIR': OBJECT_TYPE_DUNGEONSTAIR,
    'ITEM': OBJECT_TYPE_ITEM,
    'TERRAIN': OBJECT_TYPE_TERRAIN,
    'PLAYER': OBJECT_TYPE_PLAYER,
    'MOBILE': OBJECT_TYPE_MOBILE,
    'RUNE': OBJECT_TYPE_RUNE,
    'CONTAINER': OBJECT_TYPE_CONTAINER,
    'DEED': OBJECT_TYPE_DEED,
    'KEY': OBJECT_TYPE_KEY,
    'ASSET': OBJECT_TYPE_ASSET,
    'NUM': OBJECT_TYPE_NUM,
    'OBJECT': OBJECT_TYPE_OBJECT,
}

SOUND_TYPE_WALK = 1
SOUND_TYPE_RUN = 2
SOUND_TYPE_ATTACK = 3
SOUND_TYPE_HIT = 4
SOUND_TYPE_MISS = 5
SOUND_TYPE_BLOCK = 6
SOUND_TYPE_GETHIT = 7
SOUND_TYPE_CANTCARRY = 8
SOUND_TYPE_CANTDO = 9
SOUND_TYPE_CANTUSE = 10
SOUND_TYPE_LOCKED = 11
SOUND_TYPE_NEEDMANA = 12
SOUND_TYPE_NEEDSTAMINA = 13
SOUND_TYPE_JUNKITEM = 14
SOUND_TYPE_LEVELGAIN = 15
SOUND_TYPE_PICKUPITEM = 16
SOUND_TYPE_DROPITEM = 17
SOUND_TYPE_USEITEM = 18
SOUND_TYPE_FLEE = 19
SOUND_TYPE_DEATH = 20
SOUND_TYPE_INVALIDTARGET = 21
SOUND_TYPE_OPEN = 22
SOUND_TYPE_CLOSE = 23
SOUND_TYPE_DESTROY = 24
SOUND_TYPE_POWERCAST = 25
SOUND_TYPE_POWEREFFECT = 26
SOUND_TYPE_POWERFAIL = 27
SOUND_TYPE_HUDOPEN = 28
SOUND_TYPE_HUDCLOSE = 29
SOUND_TYPE_SHEATH = 30
SOUND_TYPE_UNSHEATH = 31
SOUND_TYPE_BUILDINGDESTROYED = 32
SOUND_TYPE_BURN = 33
SOUND_TYPE_IDLE = 34

SOUND_TYPE_TO_STRING = {
    SOUND_TYPE_WALK: 'WALK',
    SOUND_TYPE_RUN: 'RUN',
    SOUND_TYPE_ATTACK: 'ATTACK',
    SOUND_TYPE_HIT: 'HIT',
    SOUND_TYPE_MISS: 'MISS',
    SOUND_TYPE_BLOCK: 'BLOCK',
    SOUND_TYPE_GETHIT: 'GETHIT',
    SOUND_TYPE_CANTCARRY: 'CANTCARRY',
    SOUND_TYPE_CANTDO: 'CANTDO',
    SOUND_TYPE_CANTUSE: 'CANTUSE',
    SOUND_TYPE_LOCKED: 'LOCKED',
    SOUND_TYPE_NEEDMANA: 'NEEDMANA',
    SOUND_TYPE_NEEDSTAMINA: 'NEEDSTAMINA',
    SOUND_TYPE_JUNKITEM: 'JUNKITEM',
    SOUND_TYPE_LEVELGAIN: 'LEVELGAIN',
    SOUND_TYPE_PICKUPITEM: 'PICKUPITEM',
    SOUND_TYPE_DROPITEM: 'DROPITEM',
    SOUND_TYPE_USEITEM: 'USEITEM',
    SOUND_TYPE_FLEE: 'FLEE',
    SOUND_TYPE_DEATH: 'DEATH',
    SOUND_TYPE_INVALIDTARGET: 'INVALIDTARGET',
    SOUND_TYPE_OPEN: 'OPEN',
    SOUND_TYPE_CLOSE: 'CLOSE',
    SOUND_TYPE_DESTROY: 'DESTROY',
    SOUND_TYPE_POWERCAST: 'POWERCAST',
    SOUND_TYPE_POWEREFFECT: 'POWEREFFECT',
    SOUND_TYPE_POWERFAIL: 'POWERFAIL',
    SOUND_TYPE_HUDOPEN: 'HUDOPEN',
    SOUND_TYPE_HUDCLOSE: 'HUDCLOSE',
    SOUND_TYPE_SHEATH: 'SHEATH',
    SOUND_TYPE_UNSHEATH: 'UNSHEATH',
    SOUND_TYPE_BUILDINGDESTROYED: 'BUILDINGDESTROYED',
    SOUND_TYPE_BURN: 'BURN',
    SOUND_TYPE_IDLE: 'IDLE',
}

STRING_TO_SOUND_TYPE = {
    'WALK': SOUND_TYPE_WALK,
    'RUN': SOUND_TYPE_RUN,
    'ATTACK': SOUND_TYPE_ATTACK,
    'HIT': SOUND_TYPE_HIT,
    'MISS': SOUND_TYPE_MISS,
    'BLOCK': SOUND_TYPE_BLOCK,
    'GETHIT': SOUND_TYPE_GETHIT,
    'CANTCARRY': SOUND_TYPE_CANTCARRY,
    'CANTDO': SOUND_TYPE_CANTDO,
    'CANTUSE': SOUND_TYPE_CANTUSE,
    'LOCKED': SOUND_TYPE_LOCKED,
    'NEEDMANA': SOUND_TYPE_NEEDMANA,
    'NEEDSTAMINA': SOUND_TYPE_NEEDSTAMINA,
    'JUNKITEM': SOUND_TYPE_JUNKITEM,
    'LEVELGAIN': SOUND_TYPE_LEVELGAIN,
    'PICKUPITEM': SOUND_TYPE_PICKUPITEM,
    'DROPITEM': SOUND_TYPE_DROPITEM,
    'USEITEM': SOUND_TYPE_USEITEM,
    'FLEE': SOUND_TYPE_FLEE,
    'DEATH': SOUND_TYPE_DEATH,
    'INVALIDTARGET': SOUND_TYPE_INVALIDTARGET,
    'OPEN': SOUND_TYPE_OPEN,
    'CLOSE': SOUND_TYPE_CLOSE,
    'DESTROY': SOUND_TYPE_DESTROY,
    'POWERCAST': SOUND_TYPE_POWERCAST,
    'POWEREFFECT': SOUND_TYPE_POWEREFFECT,
    'POWERFAIL': SOUND_TYPE_POWERFAIL,
    'HUDOPEN': SOUND_TYPE_HUDOPEN,
    'HUDCLOSE': SOUND_TYPE_HUDCLOSE,
    'SHEATH': SOUND_TYPE_SHEATH,
    'UNSHEATH': SOUND_TYPE_UNSHEATH,
    'BUILDINGDESTROYED': SOUND_TYPE_BUILDINGDESTROYED,
    'BURN': SOUND_TYPE_BURN,
    'IDLE': SOUND_TYPE_IDLE,
}
