def __init__(self, maxUmbralAstral):
# Print debug
self.debug = False
# Outer bound for Astral Fire and Umbral Ice
BLM.MAXUMBRALASTRAL = maxUmbralAstral
# Available buffs
self.BUFFS = []
# Maximum time available
self.MAXTIME = 45
self.HELPER = BLM.Helper()
# Available abilities
self.ABILITIES = [
BLM.Ability("Blizzard 1", 180, 6, 2.5, 2.49, self.HELPER.UmbralIceIncrease, BLM.DamageType.Ice, self.HELPER), #480
BLM.Ability("Fire 1", 180, 15, 2.5, 2.49, self.HELPER.AstralFireIncrease, BLM.DamageType.Fire, self.HELPER), #1200
BLM.Ability("Transpose", 0, 0, 0.75, 12.9, self.HELPER.SwapAstralUmbral, BLM.DamageType.Neither, self.HELPER),
BLM.Ability("Fire 3", 240, 30, 3.5, 2.5, self.HELPER.AstralFireMax, BLM.DamageType.Fire, self.HELPER), #2400
BLM.Ability("Blizzard 3", 240, 18, 3.5, 2.5, self.HELPER.UmbralIceMax, BLM.DamageType.Ice, self.HELPER), #2400
BLM.Ability("Fire 4", 260, 15, 2.8, 2.5, None, BLM.DamageType.Fire, self.HELPER)] #2400
# State including ability cooldowns, buff time remaining, mana, and Astral/Umbral
self.initialState = np.array([0] * (len(self.ABILITIES) + len(self.BUFFS)) + [BLM.MAXMANA] + [0])
self.state = self._reset()
# What the learner can pick between
self.action_space = spaces.Discrete(len(self.ABILITIES))
# What the learner can see to make a choice (cooldowns and buffs)
self.observation_space = spaces.MultiDiscrete([[0,180]] * (len(self.ABILITIES) + len(self.BUFFS)) + [[0, BLM.MAXMANA]] + [[-3,3]])
评论列表
文章目录