# Path: Chains/chain.py
# class Chain:
#     __metaclass__ = ABCMeta
#     interruptible = True
#     logger = None
#     controller = None
#     framedata = None
#     difficulty = None
# 
#     def step(self, gamestate, smashbot_state, opponent_state): ...


import melee
import math
import random
from melee.enums import Action, Button
from Chains.chain import Chain
from enum import Enum

class FIREFOX(Enum):
    HIGH = 0
    EDGE = 1
    HORIZONTAL = 2
    RANDOM = 3
    # Added SAFERANDOM option so Smashbot wouldn't random a straight horizontal upB and SD below the stage
    SAFERANDOM = 4


# Path: Chains/chain.py
# class Chain:
#     __metaclass__ = ABCMeta
#     interruptible = True
#     logger = None
#     controller = None
#     framedata = None
#     difficulty = None
# 
#     def step(self, gamestate, smashbot_state, opponent_state): ...


# Path: Chains/firefox.py
import melee
import math
import random
from melee.enums import Action, Button
from Chains.chain import Chain
from enum import Enum


class FIREFOX(Enum):
    HIGH = 0
    EDGE = 1
    HORIZONTAL = 2
    RANDOM = 3
    # Added SAFERANDOM option so Smashbot wouldn't random a straight horizontal upB and SD below the stage
    SAFERANDOM = 4


class Firefox(Chain):