Example #1
0
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]
Example #2
0
 def __init__(self, Posicion = (5,5)):
         self.Posicion = Posicion
         self.Turno = Turno()