Repository for mbEditorPro 2.0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

333 lines
9.7 KiB

# • ▌ ▄ ·. ▄▄▄▄· ▄▄▄ .·▄▄▄▄ ▪ ▄▄▄▄▄ ▄▄▄ ▄▄▄·▄▄▄
# ·██ ▐███▪▐█ ▀█▪ ▀▄.▀·██▪ ██ ██ •██ ▪ ▀▄ █· ▐█ ▄█▀▄ █·▪
# ▐█ ▌▐▌▐█·▐█▀▀█▄ ▐▀▀▪▄▐█· ▐█▌▐█· ▐█.▪ ▄█▀▄ ▐▀▀▄ ██▀·▐▀▀▄ ▄█▀▄
# ██ ██▌▐█▌██▄▪▐█ ▐█▄▄▌██. ██ ▐█▌ ▐█▌·▐█▌.▐▌▐█•█▌ ▐█▪·•▐█•█▌▐█▌.▐▌
# ▀▀ █▪▀▀▀·▀▀▀▀ ▀▀▀ ▀▀▀▀▀• ▀▀▀ ▀▀▀ ▀█▄▀▪.▀ ▀ .▀ .▀ ▀ ▀█▄▀▪
# Magicbane Emulator Project © 2013 - 2022
# www.magicbane.com
ITEM_FLAG_NONE = 1 << 0
ITEM_FLAG_INDESTRUCTIBLE = 1 << 1
ITEM_FLAG_IDENTIFIED = 1 << 2
ITEM_FLAG_NOBOND = 1 << 3
ITEM_FLAG_NOQUIT = 1 << 4
ITEM_FLAG_MAGIC = 1 << 5
ITEM_FLAG_NODROP = 1 << 6
ITEM_FLAG_RARE = 1 << 7
ITEM_FLAG_NUM = 7
ITEM_FLAG_TO_STRING = {
ITEM_FLAG_NONE: 'None',
ITEM_FLAG_INDESTRUCTIBLE: 'Indestructible',
ITEM_FLAG_IDENTIFIED: 'Identified',
ITEM_FLAG_NOBOND: 'NoBond',
ITEM_FLAG_NOQUIT: 'NoQuit',
ITEM_FLAG_MAGIC: 'Magic',
ITEM_FLAG_NODROP: 'NoDrop',
ITEM_FLAG_RARE: 'Rare',
}
STRING_TO_ITEM_FLAG = {
'None': ITEM_FLAG_NONE,
'Indestructible': ITEM_FLAG_INDESTRUCTIBLE,
'Identified': ITEM_FLAG_IDENTIFIED,
'NoBond': ITEM_FLAG_NOBOND,
'NoQuit': ITEM_FLAG_NOQUIT,
'Magic': ITEM_FLAG_MAGIC,
'NoDrop': ITEM_FLAG_NODROP,
'Rare': ITEM_FLAG_RARE,
}
ITEM_EQUIP_SLOT_NONE = 0
ITEM_EQUIP_SLOT_RHELD = 1 << 0
ITEM_EQUIP_SLOT_LHELD = 1 << 1
ITEM_EQUIP_SLOT_HELM = 1 << 2
ITEM_EQUIP_SLOT_CHEST = 1 << 3
ITEM_EQUIP_SLOT_SLEEVES = 1 << 4
ITEM_EQUIP_SLOT_HANDS = 1 << 5
ITEM_EQUIP_SLOT_RRING = 1 << 6
ITEM_EQUIP_SLOT_LRING = 1 << 7
ITEM_EQUIP_SLOT_AMULET = 1 << 8
ITEM_EQUIP_SLOT_LEGS = 1 << 9
ITEM_EQUIP_SLOT_FEET = 1 << 10
ITEM_EQUIP_SLOT_CLOAK = 1 << 11
ITEM_EQUIP_SLOT_SHIN = 1 << 12
ITEM_EQUIP_SLOT_UPLEGS = 1 << 13
ITEM_EQUIP_SLOT_UPARM = 1 << 14
ITEM_EQUIP_SLOT_WINGS = 1 << 15
ITEM_EQUIP_SLOT_BEARD = 1 << 16
ITEM_EQUIP_SLOT_HAIR = 1 << 17
ITEM_EQUIP_SLOT_NUM = 18
ITEM_EQIP_SLOT_TO_STRING = {
ITEM_EQUIP_SLOT_NONE: 'NONE',
ITEM_EQUIP_SLOT_RHELD: 'RHELD',
ITEM_EQUIP_SLOT_LHELD: 'LHELD',
ITEM_EQUIP_SLOT_HELM: 'HELM',
ITEM_EQUIP_SLOT_CHEST: 'CHEST',
ITEM_EQUIP_SLOT_SLEEVES: 'SLEEVES',
ITEM_EQUIP_SLOT_HANDS: 'HANDS',
ITEM_EQUIP_SLOT_RRING: 'RRING',
ITEM_EQUIP_SLOT_LRING: 'LRING',
ITEM_EQUIP_SLOT_AMULET: 'AMULET',
ITEM_EQUIP_SLOT_LEGS: 'LEGS',
ITEM_EQUIP_SLOT_FEET: 'FEET',
ITEM_EQUIP_SLOT_CLOAK: 'CLOAK',
ITEM_EQUIP_SLOT_SHIN: 'SHIN',
ITEM_EQUIP_SLOT_UPLEGS: 'UPLEGS',
ITEM_EQUIP_SLOT_UPARM: 'UPARM',
ITEM_EQUIP_SLOT_WINGS: 'WINGS',
ITEM_EQUIP_SLOT_BEARD: 'BEARD',
ITEM_EQUIP_SLOT_HAIR: 'HAIR',
}
STRING_TO_ITEM_EQIP_SLOT = {
'NONE': ITEM_EQUIP_SLOT_NONE,
'RHELD': ITEM_EQUIP_SLOT_RHELD,
'LHELD': ITEM_EQUIP_SLOT_LHELD,
'HELM': ITEM_EQUIP_SLOT_HELM,
'CHEST': ITEM_EQUIP_SLOT_CHEST,
'SLEEVES': ITEM_EQUIP_SLOT_SLEEVES,
'HANDS': ITEM_EQUIP_SLOT_HANDS,
'RRING': ITEM_EQUIP_SLOT_RRING,
'LRING': ITEM_EQUIP_SLOT_LRING,
'AMULET': ITEM_EQUIP_SLOT_AMULET,
'LEGS': ITEM_EQUIP_SLOT_LEGS,
'FEET': ITEM_EQUIP_SLOT_FEET,
'CLOAK': ITEM_EQUIP_SLOT_CLOAK,
'SHIN': ITEM_EQUIP_SLOT_SHIN,
'UPLEGS': ITEM_EQUIP_SLOT_UPLEGS,
'UPARM': ITEM_EQUIP_SLOT_UPARM,
'WINGS': ITEM_EQUIP_SLOT_WINGS,
'BEARD': ITEM_EQUIP_SLOT_BEARD,
'HAIR': ITEM_EQUIP_SLOT_HAIR,
}
ITEM_TYPE_UNKNOWN = 0
ITEM_TYPE_WEAPON = 1
ITEM_TYPE_ARMOR = 2
ITEM_TYPE_BASE = 3
ITEM_TYPE_GOLD = 4
ITEM_TYPE_SCROLL = 5
ITEM_TYPE_BOOK = 6
ITEM_TYPE_WAND = 7
ITEM_TYPE_POTION = 8
ITEM_TYPE_KEY = 9
ITEM_TYPE_CHARTER = 10
ITEM_TYPE_GUILDTREE = 11
ITEM_TYPE_SOUNDSOURCE = 12
ITEM_TYPE_JEWELRY = 13
ITEM_TYPE_CONTAINER = 14
ITEM_TYPE_FOUNTAIN = 15
ITEM_TYPE_FOOD = 16
ITEM_TYPE_DRINKCONTAINER = 17
ITEM_TYPE_MAPMARKER = 18
ITEM_TYPE_DEED = 19
ITEM_TYPE_EMPLOYMENTCONTRACT = 20
ITEM_TYPE_PETTOTEM = 21
ITEM_TYPE_SLAVECOLLAR = 22
ITEM_TYPE_BLANKKEY = 23
ITEM_TYPE_WARRANT = 24
ITEM_TYPE_FURNITUREDEED = 25
ITEM_TYPE_TENT = 26
ITEM_TYPE_REAGENT = 27
ITEM_TYPE_DEVICE = 28
ITEM_TYPE_FORMULA = 29
ITEM_TYPE_BUCKET = 30
ITEM_TYPE_TREASURE = 31
ITEM_TYPE_RUNE = 32
ITEM_TYPE_OFFERING = 33
ITEM_TYPE_RESOURCE = 34
ITEM_TYPE_REALMCHARTER = 35
ITEM_TYPE_TO_STRING = {
ITEM_TYPE_UNKNOWN: 'UNKNOWN',
ITEM_TYPE_WEAPON: 'WEAPON',
ITEM_TYPE_ARMOR: 'ARMOR',
ITEM_TYPE_BASE: 'BASE',
ITEM_TYPE_GOLD: 'GOLD',
ITEM_TYPE_SCROLL: 'SCROLL',
ITEM_TYPE_BOOK: 'BOOK',
ITEM_TYPE_WAND: 'WAND',
ITEM_TYPE_POTION: 'POTION',
ITEM_TYPE_KEY: 'KEY',
ITEM_TYPE_CHARTER: 'CHARTER',
ITEM_TYPE_GUILDTREE: 'GUILDTREE',
ITEM_TYPE_SOUNDSOURCE: 'SOUNDSOURCE',
ITEM_TYPE_JEWELRY: 'JEWELRY',
ITEM_TYPE_CONTAINER: 'CONTAINER',
ITEM_TYPE_FOUNTAIN: 'FOUNTAIN',
ITEM_TYPE_FOOD: 'FOOD',
ITEM_TYPE_DRINKCONTAINER: 'DRINKCONTAINER',
ITEM_TYPE_MAPMARKER: 'MAPMARKER',
ITEM_TYPE_DEED: 'DEED',
ITEM_TYPE_EMPLOYMENTCONTRACT: 'EMPLOYMENTCONTRACT',
ITEM_TYPE_PETTOTEM: 'PETTOTEM',
ITEM_TYPE_SLAVECOLLAR: 'SLAVECOLLAR',
ITEM_TYPE_BLANKKEY: 'BLANKKEY',
ITEM_TYPE_WARRANT: 'WARRANT',
ITEM_TYPE_FURNITUREDEED: 'FURNITUREDEED',
ITEM_TYPE_TENT: 'TENT',
ITEM_TYPE_REAGENT: 'REAGENT',
ITEM_TYPE_DEVICE: 'DEVICE',
ITEM_TYPE_FORMULA: 'FORMULA',
ITEM_TYPE_BUCKET: 'BUCKET',
ITEM_TYPE_TREASURE: 'TREASURE',
ITEM_TYPE_RUNE: 'RUNE',
ITEM_TYPE_OFFERING: 'OFFERING',
ITEM_TYPE_RESOURCE: 'RESOURCE',
ITEM_TYPE_REALMCHARTER: 'REALMCHARTER',
}
STRING_TO_ITEM_TYPE = {
'UNKNOWN': ITEM_TYPE_UNKNOWN,
'WEAPON': ITEM_TYPE_WEAPON,
'ARMOR': ITEM_TYPE_ARMOR,
'BASE': ITEM_TYPE_BASE,
'GOLD': ITEM_TYPE_GOLD,
'SCROLL': ITEM_TYPE_SCROLL,
'BOOK': ITEM_TYPE_BOOK,
'WAND': ITEM_TYPE_WAND,
'POTION': ITEM_TYPE_POTION,
'KEY': ITEM_TYPE_KEY,
'CHARTER': ITEM_TYPE_CHARTER,
'GUILDTREE': ITEM_TYPE_GUILDTREE,
'SOUNDSOURCE': ITEM_TYPE_SOUNDSOURCE,
'JEWELRY': ITEM_TYPE_JEWELRY,
'CONTAINER': ITEM_TYPE_CONTAINER,
'FOUNTAIN': ITEM_TYPE_FOUNTAIN,
'FOOD': ITEM_TYPE_FOOD,
'DRINKCONTAINER': ITEM_TYPE_DRINKCONTAINER,
'MAPMARKER': ITEM_TYPE_MAPMARKER,
'DEED': ITEM_TYPE_DEED,
'EMPLOYMENTCONTRACT': ITEM_TYPE_EMPLOYMENTCONTRACT,
'PETTOTEM': ITEM_TYPE_PETTOTEM,
'SLAVECOLLAR': ITEM_TYPE_SLAVECOLLAR,
'BLANKKEY': ITEM_TYPE_BLANKKEY,
'WARRANT': ITEM_TYPE_WARRANT,
'FURNITUREDEED': ITEM_TYPE_FURNITUREDEED,
'TENT': ITEM_TYPE_TENT,
'REAGENT': ITEM_TYPE_REAGENT,
'DEVICE': ITEM_TYPE_DEVICE,
'FORMULA': ITEM_TYPE_FORMULA,
'BUCKET': ITEM_TYPE_BUCKET,
'TREASURE': ITEM_TYPE_TREASURE,
'RUNE': ITEM_TYPE_RUNE,
'OFFERING': ITEM_TYPE_OFFERING,
'RESOURCE': ITEM_TYPE_RESOURCE,
'REALMCHARTER': ITEM_TYPE_REALMCHARTER,
}
ITEM_USE_FLAGS_NONE = 0
ITEM_USE_FLAGS_USE_SELF = 1 << 0
ITEM_USE_FLAGS_USE_TARGET = 1 << 1
ITEM_USE_FLAGS_EMPTY_DESTROY = 1 << 2
ITEM_USE_FLAGS_EMPTY_NEWITEM = 1 << 3
ITEM_USE_FLAGS_NUM = 4
ITEM_USE_FLAGS_TO_STRING = {
ITEM_USE_FLAGS_NONE: 'NONE',
ITEM_USE_FLAGS_USE_SELF: 'USE_SELF',
ITEM_USE_FLAGS_USE_TARGET: 'USE_TARGET',
ITEM_USE_FLAGS_EMPTY_DESTROY: 'EMPTY_DESTROY',
ITEM_USE_FLAGS_EMPTY_NEWITEM: 'EMPTY_NEWITEM',
}
STRING_TO_ITEM_USE_FLAGS = {
'NONE': ITEM_USE_FLAGS_NONE,
'USE_SELF': ITEM_USE_FLAGS_USE_SELF,
'USE_TARGET': ITEM_USE_FLAGS_USE_TARGET,
'EMPTY_DESTROY': ITEM_USE_FLAGS_EMPTY_DESTROY,
'EMPTY_NEWITEM': ITEM_USE_FLAGS_EMPTY_NEWITEM,
}
ITEM_SHEATHSLOT_UNKNOWN = 0
ITEM_SHEATHSLOT_BACK = 1
ITEM_SHEATHSLOT_WAIST = 2
ITEM_SHEATHSLOT_NONE = 4
ITEM_SHEATHSLOT_TO_STRING = {
ITEM_SHEATHSLOT_NONE: 'NONE',
ITEM_SHEATHSLOT_UNKNOWN: 'UNKNOWN',
ITEM_SHEATHSLOT_BACK: 'BACK',
ITEM_SHEATHSLOT_WAIST: 'WAIST',
}
STRING_TO_ITEM_SHEATHSLOT = {
'NONE': ITEM_SHEATHSLOT_NONE,
'UNKNOWN': ITEM_SHEATHSLOT_UNKNOWN,
'BACK': ITEM_SHEATHSLOT_BACK,
'WAIST': ITEM_SHEATHSLOT_WAIST,
}
DAMAGE_UNKNOWN = 0
DAMAGE_SLASHING = 1
DAMAGE_CRUSHING = 2
DAMAGE_PIERCING = 3
DAMAGE_POISON = 4
DAMAGE_LIGHTNING = 5
DAMAGE_MAGIC = 6
DAMAGE_FIRE = 7
DAMAGE_COLD = 8
DAMAGE_MENTAL = 9
DAMAGE_HOLY = 10
DAMAGE_SIEGE = 11
DAMAGE_HEALING = 12
DAMAGE_BLEEDING = 13
DAMAGE_UNHOLY = 14
DAMAGE_ANTISIEGE = 15
DAMAGE_TO_STRING = {
DAMAGE_UNKNOWN: 'UNKNOWN',
DAMAGE_SLASHING: 'SLASHING',
DAMAGE_CRUSHING: 'CRUSHING',
DAMAGE_PIERCING: 'PIERCING',
DAMAGE_POISON: 'POISON',
DAMAGE_LIGHTNING: 'LIGHTNING',
DAMAGE_MAGIC: 'MAGIC',
DAMAGE_FIRE: 'FIRE',
DAMAGE_COLD: 'COLD',
DAMAGE_MENTAL: 'MENTAL',
DAMAGE_HOLY: 'HOLY',
DAMAGE_SIEGE: 'SIEGE',
DAMAGE_HEALING: 'HEALING',
DAMAGE_BLEEDING: 'BLEEDING',
DAMAGE_UNHOLY: 'UNHOLY',
DAMAGE_ANTISIEGE: 'ANTISIEGE',
}
STRING_TO_DAMAGE = {
'UNKNOWN': DAMAGE_UNKNOWN,
'SLASHING': DAMAGE_SLASHING,
'CRUSHING': DAMAGE_CRUSHING,
'PIERCING': DAMAGE_PIERCING,
'POISON': DAMAGE_POISON,
'LIGHTNING': DAMAGE_LIGHTNING,
'MAGIC': DAMAGE_MAGIC,
'FIRE': DAMAGE_FIRE,
'COLD': DAMAGE_COLD,
'MENTAL': DAMAGE_MENTAL,
'HOLY': DAMAGE_HOLY,
'SIEGE': DAMAGE_SIEGE,
'HEALING': DAMAGE_HEALING,
'BLEEDING': DAMAGE_BLEEDING,
'UNHOLY': DAMAGE_UNHOLY,
'ANTISIEGE': DAMAGE_ANTISIEGE,
}
ITEM_SEX_REQ_NONE = 0
ITEM_SEX_REQ_MALE = 1
ITEM_SEX_REQ_FEMALE = 2
ITEM_SEX_REQ_TO_STRING = {
ITEM_SEX_REQ_NONE: 'NONE',
ITEM_SEX_REQ_MALE: 'MALE',
ITEM_SEX_REQ_FEMALE: 'FEMALE',
}
STRING_TO_ITEM_SEX_REQ = {
'NONE': ITEM_SEX_REQ_NONE,
'MALE': ITEM_SEX_REQ_MALE,
'FEMALE': ITEM_SEX_REQ_FEMALE,
}