roguepy/entity.py

46 lines
910 B
Python
Raw Normal View History

2023-03-02 16:51:17 +00:00
from actions import Action, Idle, NA
2023-03-01 19:47:24 +00:00
class Entity():
pass
class Item(Entity):
pass
2023-03-13 18:46:29 +00:00
class Creature(Entity):
2023-03-21 18:36:19 +00:00
def __init__(self, codename):
self.speed = CREATURES_DATA[codename]["speed"]
self.max_hp = CREATURES_DATA[codename]["max_hp"]
self.hp = self.max_hp
self.damage = CREATURES_DATA[codename]["damage"]
2023-03-02 16:51:17 +00:00
self.action: Action = NA()
2023-03-01 19:47:24 +00:00
2023-03-13 18:46:29 +00:00
class Player(Creature):
2023-03-01 19:47:24 +00:00
def __init__(self):
2023-03-21 18:36:19 +00:00
super().__init__("player")
self.main_hand = None
2023-03-01 19:47:24 +00:00
2023-03-13 18:46:29 +00:00
class Enemy(Creature):
2023-03-21 18:36:19 +00:00
def __init__(self, codename):
super().__init__(codename)
2023-03-02 16:51:17 +00:00
def calculate_action(self):
2023-03-21 18:36:19 +00:00
self.action: Action = Idle()
CREATURES_DATA = {
"player": {
"max_hp": 20,
"speed": 10,
"damage": 1
},
"slime": {
"max_hp": 5,
"speed": 5,
"damage": 1
}
}
ITEMS_DATA = {
"none": {
"damage": 1
}
}