class DPS(Personaje): AtkSpeed = ATK_SPEED_DPS MovSpeed = MOV_SPEED_DPS Damage = DAMAGE_DPS HitPoints = HITPOINTS_DPS Estado = STATE_WALK PlaceHolderColor = GREEN Habilidades = [] Fase = FASE_P ActionPoints = 100 def __init__(self, Posicion = (5,5)): self.Posicion = Posicion self.Turno = Turno() def autoattack(self, target): self.ActionPoints -= (30 - self.AtkSpeed) target.HitPoints -= self.Damage return self, target, (30 - self.AtkSpeed) def canMove(self, mapa, comando): #movimiento = AEstrella(mapa, self.Posicion, destino) if (self.Estado == STUN) or (self.Estado == FEAR): return False, NONE elif self.Estado == RUN: if mapa.pos(self.Posicion |x| (RUN_ESC |y| comando)) == LIBRE: return True, COST_RUN else: return False, NONE else: if mapa.pos(self.Posicion |x| (WALK_ESC |y| comando)) == LIBRE: return True, COST_WALK else: return False, NONE def move(self, comando): if comando != (0,0): #lastAction = self.Turno.getLastAction() #if (lastAction == None) or lastAction != "Movimiento": # self.Turno.addAction(Movimiento((self.Posicion, self.Estado))) if self.Estado == STATE_RUN: self.Posicion = self.Posicion |x| (RUN_ESC |y| comando) self.ActionPoints -= COST_RUN else: self.Posicion = self.Posicion |x| (WALK_ESC |y| comando) self.ActionPoints -= COST_WALK self.Turno.addAction(Movimiento((self.Posicion, self.Estado))) if self.ActionPoints < 0: self.cambiaFase() self.Posicion = self.Turno.ActionList[0].MovList[0][0]
def __init__(self, Posicion = (5,5)): self.Posicion = Posicion self.Turno = Turno()