# defaults
def get_schema():
    return {
        "replace_as": None,
        "source_replace_allowed": True,
        "model": None,
        "msn_replace_allowed": True,
        "tags": [],
        "category": None,
        "level": 0,
        "isnightmare": False,
        "parent": None,
        "variationof": None,
        "children": [],
        "hp": 100,
        "limiter": 1,
        "msn_required": False,
        "msn_source_as": None,
        "msn_dest_as": None,
        "aimods": [],
        "forced_variations": [],
        "gimmick_source": [],
        "cmdmods": [],
        "mickey_source": False,
        "final_fight": False,
        "can_be_enemy": False,
        "can_be_enemy_override": False, # These bosses are always available even if not available as normal boss replacements (IE banzai/lock)
        "msn": None,
        "size": 0,
        "sizeTag": None, #sizeSmall sizeMedium sizeLarge 
        "room_size": 0,
        "roommaxsize": None,
        "enmp_index": None,
        "variations": [],
        "enabled": True,
        "blacklist_source": [],
        "blacklist_destination": [],
        "whitelist_source": [],
        "whitelist_destination": [],
        "adds": [],
        "sp_ids": [],
        "subtracts": [],
        "msn_list": [],
        "program": None,
        "roomsizemultiplier": 1,
        "unchanged_file_size": False,
        "obj_edits": {},
        "luamod": None,
        "roomData": {},
        "story_level": 0
    }