Files
mbEditorPro/mbEditorPro2.0/arcane/enums/zone/arc_zone_event.py
T
MagicBotandClaude Opus 5.5 48ce01f8d0 Parse zone resource and state events, add event save and JSON
ArcZoneEvent_BuildFrom (sb.exe 0xC8ED20) builds ArcZoneEvent,
ArcZoneResourceEvent (0xC904F0) or ArcZoneStateEvent (0xC952E0); Python
read the base fields only for all three and had no save or JSON code.
Field names come from each class's ParseKeyword; trigger types and
state actions use the client name tables (0x176AF20, 0x176A40C).
Base event unknowns are the event-name hash, parent-name hash and
has-parent flag; the trigger action's third bool is has_items.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 11:00:51 -04:00

77 lines
2.7 KiB
Python

# • ▌ ▄ ·. ▄▄▄▄· ▄▄▄ .·▄▄▄▄ ▪ ▄▄▄▄▄ ▄▄▄ ▄▄▄·▄▄▄
# ·██ ▐███▪▐█ ▀█▪ ▀▄.▀·██▪ ██ ██ •██ ▪ ▀▄ █· ▐█ ▄█▀▄ █·▪
# ▐█ ▌▐▌▐█·▐█▀▀█▄ ▐▀▀▪▄▐█· ▐█▌▐█· ▐█.▪ ▄█▀▄ ▐▀▀▄ ██▀·▐▀▀▄ ▄█▀▄
# ██ ██▌▐█▌██▄▪▐█ ▐█▄▄▌██. ██ ▐█▌ ▐█▌·▐█▌.▐▌▐█•█▌ ▐█▪·•▐█•█▌▐█▌.▐▌
# ▀▀ █▪▀▀▀·▀▀▀▀ ▀▀▀ ▀▀▀▀▀• ▀▀▀ ▀▀▀ ▀█▄▀▪.▀ ▀ .▀ .▀ ▀ ▀█▄▀▪
# Magicbane Emulator Project © 2013 - 2022
# www.magicbane.com
EVENT = 1
RESOURCE = 2
STATE = 3
ZONE_EVENT_TO_STRING = {
EVENT: 'EVENT',
RESOURCE: 'RESOURCE',
STATE: 'STATE',
}
STRING_TO_ZONE_EVENT = {
'EVENT': EVENT,
'RESOURCE': RESOURCE,
'STATE': STATE,
}
TRIGGER_NONE = 0
TRIGGER_ITEM_ACTION = 1
TRIGGER_POWER_ACTION = 2
TRIGGER_STANDARD_TRIGGER = 3
TRIGGER_TIME_CHANGE = 4
TRIGGER_SEASON_CHANGE = 5
TRIGGER_TYPE_TO_STRING = {
TRIGGER_NONE: 'NONE',
TRIGGER_ITEM_ACTION: 'ITEM_ACTION',
TRIGGER_POWER_ACTION: 'POWER_ACTION',
TRIGGER_STANDARD_TRIGGER: 'STANDARD_TRIGGER',
TRIGGER_TIME_CHANGE: 'TIME_CHANGE',
TRIGGER_SEASON_CHANGE: 'SEASON_CHANGE',
}
STRING_TO_TRIGGER_TYPE = {
'NONE': TRIGGER_NONE,
'ITEM_ACTION': TRIGGER_ITEM_ACTION,
'POWER_ACTION': TRIGGER_POWER_ACTION,
'STANDARD_TRIGGER': TRIGGER_STANDARD_TRIGGER,
'TIME_CHANGE': TRIGGER_TIME_CHANGE,
'SEASON_CHANGE': TRIGGER_SEASON_CHANGE,
}
STATE_ACTION_NONE = 0
STATE_ACTION_ASSET_RANK = 1
STATE_ACTION_MONSTER_SPAWN = 2
STATE_ACTION_MONSTER_DESPAWN = 3
STATE_ACTION_MONSTER_NOSPAWN = 4
STATE_ACTION_CHANGE_GOAL = 5
STATE_ACTION_CHANGE_DEATH_TRIGGER = 6
STATE_ACTION_TO_STRING = {
STATE_ACTION_NONE: 'NONE',
STATE_ACTION_ASSET_RANK: 'ASSET_RANK',
STATE_ACTION_MONSTER_SPAWN: 'MONSTER_SPAWN',
STATE_ACTION_MONSTER_DESPAWN: 'MONSTER_DESPAWN',
STATE_ACTION_MONSTER_NOSPAWN: 'MONSTER_NOSPAWN',
STATE_ACTION_CHANGE_GOAL: 'CHANGE_GOAL',
STATE_ACTION_CHANGE_DEATH_TRIGGER: 'CHANGE_DEATH_TRIGGER',
}
STRING_TO_STATE_ACTION = {
'NONE': STATE_ACTION_NONE,
'ASSET_RANK': STATE_ACTION_ASSET_RANK,
'MONSTER_SPAWN': STATE_ACTION_MONSTER_SPAWN,
'MONSTER_DESPAWN': STATE_ACTION_MONSTER_DESPAWN,
'MONSTER_NOSPAWN': STATE_ACTION_MONSTER_NOSPAWN,
'CHANGE_GOAL': STATE_ACTION_CHANGE_GOAL,
'CHANGE_DEATH_TRIGGER': STATE_ACTION_CHANGE_DEATH_TRIGGER,
}