added some tools to server, removed deprecated
code and adjusted entity, game, and event files to work with items being mandatory for entities.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Game imports
|
||||
from serializable import Serializable
|
||||
from dice import Dice
|
||||
from utils.serializable import Serializable
|
||||
from utils.dice import Dice
|
||||
from events.event import Event
|
||||
from entities.player import Player
|
||||
from entities.npc import NPC
|
||||
@@ -11,13 +11,13 @@ from events.turn import TurnAction
|
||||
from enum import IntEnum
|
||||
|
||||
class Stat(IntEnum):
|
||||
STRENGTH = 0,
|
||||
INTELLIGENCE = 1,
|
||||
DEXTERITY = 2,
|
||||
WISDOM = 3,
|
||||
CHARISMA = 4,
|
||||
HP = 5,
|
||||
ARMOR = 6,
|
||||
STRENGTH = 0
|
||||
INTELLIGENCE = 1
|
||||
DEXTERITY = 2
|
||||
WISDOM = 3
|
||||
CHARISMA = 4
|
||||
HP = 5
|
||||
ARMOR = 6
|
||||
SPEED = 7
|
||||
|
||||
class Game(Serializable):
|
||||
@@ -42,7 +42,7 @@ class Game(Serializable):
|
||||
return player
|
||||
raise ReferenceError(f"The player #{player_id} doesn't exist!")
|
||||
|
||||
def create_player(self, name:str, strength:int, dexterity:int, intelligence:int, wisdom:int, charisma:int, hp:int, armor:int, speed:int, equipped_item:Item=None):
|
||||
def create_player(self, name:str, strength:int, dexterity:int, intelligence:int, wisdom:int, charisma:int, hp:int, armor:int, speed:int, equipped_item:Item):
|
||||
new_player = Player(name, strength, dexterity, intelligence, wisdom, charisma, hp, armor, speed, equipped_item)
|
||||
self.active_players.append(new_player)
|
||||
return new_player.id
|
||||
@@ -53,9 +53,9 @@ class Game(Serializable):
|
||||
return npc
|
||||
raise ReferenceError(f"The npc #{npc_id} doesn't exist!")
|
||||
|
||||
def create_npc(self, name:str, strength:int, dexterity:int, intelligence:int, wisdom:int, charisma:int, hp:int, armor:int, speed:int, equipped_item:Item=None):
|
||||
def create_npc(self, name:str, strength:int, dexterity:int, intelligence:int, wisdom:int, charisma:int, hp:int, armor:int, speed:int, equipped_item:Item):
|
||||
new_npc = NPC(name, strength, dexterity, intelligence, wisdom, charisma, hp, armor, speed, equipped_item)
|
||||
self.active_players.append(new_npc)
|
||||
self.active_npcs.append(new_npc)
|
||||
return new_npc.id
|
||||
|
||||
def get_item(self, item_id:str):
|
||||
@@ -162,12 +162,12 @@ class Game(Serializable):
|
||||
elif stat == Stat.DEXTERITY: # Using daggers, bows or throws
|
||||
dmg_amount += (roll * 5 / target_entity.get_armor()) * src_entity.get_dexterity()
|
||||
|
||||
target_entity.deal_damage(dmg_amount)
|
||||
target_entity.deal_damage(int(dmg_amount))
|
||||
|
||||
additional_info = f"; {target_entity.name}({target_entity.get_id()}) took {dmg_amount} damage, {target_entity.get_hp()}hp remaining!"
|
||||
|
||||
if target_entity.get_hp() <= 0:
|
||||
self.kill_entity(target_entity)
|
||||
self.kill_entity(target_entity.get_id())
|
||||
additional_info = f"; {target_entity.name}({target_entity.get_id()}) took {dmg_amount} damage, {target_entity.name} died!"
|
||||
|
||||
turn_finished = self.get_current_event().perform_action(TurnAction.DAMAGE, src, description=description+additional_info)
|
||||
|
||||
Reference in New Issue
Block a user