from mars_patcher.zm.constants.sprites import SpriteIdZM

EXCLUDED_ENEMIES_ZM = {
    SpriteIdZM.UNUSED_10,
    SpriteIdZM.MESSAGE_BANNER,
}


ENEMY_GROUPS_ZM = {
    "Ripper": [SpriteIdZM.RIPPER_BROWN, SpriteIdZM.RIPPER_PURPLE, SpriteIdZM.RIPPER_II],
    "Zeb": [SpriteIdZM.ZEB, SpriteIdZM.ZEB_BLUE],
    "Skree": [SpriteIdZM.SKREE_GREEN, SpriteIdZM.SKREE_BLUE],
    "ChozoStatue": [
        SpriteIdZM.CHOZO_STATUE_LONG_BEAM_HINT,
        SpriteIdZM.LONG_BEAM_CHOZO_STATUE,
        SpriteIdZM.CHOZO_STATUE_ICE_BEAM_HINT,
        SpriteIdZM.ICE_BEAM_CHOZO_STATUE,
        SpriteIdZM.CHOZO_STATUE_WAVE_BEAM_HINT,
        SpriteIdZM.WAVE_BEAM_CHOZO_STATUE,
        SpriteIdZM.CHOZO_STATUE_BOMB_HINT,
        SpriteIdZM.BOMB_CHOZO_STATUE,
        SpriteIdZM.CHOZO_STATUE_SPEED_BOOSTER_HINT,
        SpriteIdZM.SPEED_BOOSTER_CHOZO_STATUE,
        SpriteIdZM.CHOZO_STATUE_HI_JUMP_HINT,
        SpriteIdZM.HI_JUMP_CHOZO_STATUE,
        SpriteIdZM.CHOZO_STATUE_SCREW_ATTACK_HINT,
        SpriteIdZM.SCREW_ATTACK_CHOZO_STATUE,
        SpriteIdZM.CHOZO_STATUE_VARIA_SUIT_HINT,
        SpriteIdZM.VARIA_SUIT_CHOZO_STATUE,
        SpriteIdZM.GRAVITY_SUIT_CHOZO_STATUE,
        SpriteIdZM.SPACE_JUMP_CHOZO_STATUE,
        SpriteIdZM.PLASMA_BEAM_CHOZO_STATUE,
    ],
    "Viola": [SpriteIdZM.MULTIVIOLA, SpriteIdZM.VIOLA_BLUE, SpriteIdZM.VIOLA_ORANGE],
    "GerutaTangleVine": [
        SpriteIdZM.GERUTA_RED,
        SpriteIdZM.GERUTA_GREEN,
        SpriteIdZM.TANGLE_VINE_RED_GERUTA,
        SpriteIdZM.TANGLE_VINE_GERUTA,
        SpriteIdZM.TANGLE_VINE_LARVA_RIGHT,
        SpriteIdZM.TANGLE_VINE_LARVA_LEFT,
    ],
    "Reo": [SpriteIdZM.REO_GREEN_WINGS, SpriteIdZM.REO_PURPLE_WINGS],
    "Imago": [
        SpriteIdZM.IMAGO_LARVA_RIGHT,
        SpriteIdZM.IMAGO_COCOON,
        SpriteIdZM.IMAGO_COCOON_AFTER_FIGHT,
        SpriteIdZM.IMAGO_LARVA_RIGHT_SIDE,
        SpriteIdZM.IMAGO,
        SpriteIdZM.IMAGO_LARVA_LEFT,
    ],
    "SpacePirate": [
        SpriteIdZM.SPACE_PIRATE,
        SpriteIdZM.SPACE_PIRATE_WAITING_1,
        SpriteIdZM.SPACE_PIRATE_WAITING_2,
        SpriteIdZM.SPACE_PIRATE_WAITING_3,
        SpriteIdZM.SPACE_PIRATE_2,
        SpriteIdZM.SPACE_PIRATE_CARRYING_POWER_BOMB,
        SpriteIdZM.BLACK_SPACE_PIRATE,
        SpriteIdZM.ESCAPE_SHIP_SPACE_PIRATE,
    ],
    "Gamet": [
        SpriteIdZM.GAMET_BLUE_SINGLE,
        SpriteIdZM.GAMET_RED_SINGLE,
        SpriteIdZM.GAMET_BLUE_LEADER,
        SpriteIdZM.GAMET_BLUE_FOLLOWER,
    ],
    "Zebbo": [
        SpriteIdZM.ZEBBO_GREEN,
        SpriteIdZM.ZEBBO_YELLOW,
        SpriteIdZM.ZEBBO_GREEN_LEADER,
        SpriteIdZM.ZEBBO_GREEN_FOLLOWER,
    ],
    "Rinka": [
        SpriteIdZM.RINKA_ORANGE,
        SpriteIdZM.RINKA_MOTHER_BRAIN,
        SpriteIdZM.RINKA_GREEN,
        SpriteIdZM.RINKA_MOTHER_BRAIN_C9,
        SpriteIdZM.RINKA_MOTHER_BRAIN_CA,
        SpriteIdZM.RINKA_MOTHER_BRAIN_CB,
        SpriteIdZM.RINKA_MOTHER_BRAIN_CC,
        SpriteIdZM.RINKA_MOTHER_BRAIN_CD,
    ],
    "Geega": [
        SpriteIdZM.GEEGA,
        SpriteIdZM.GEEGA_WHITE,
        SpriteIdZM.GEEGA_LEADER,
        SpriteIdZM.GEEGA_FOLLOWER,
    ],
    "ElevatorStatue": [SpriteIdZM.KRAID_ELEVATOR_STATUE, SpriteIdZM.RIDLEY_ELEVATOR_STATUE],
    "UnknownItemBlocks": [
        SpriteIdZM.PLASMA_BEAM_BLOCK,
        SpriteIdZM.GRAVITY_SUIT_BLOCK,
        SpriteIdZM.SPACE_JUMP_BLOCK,
    ],
}
