Subclassed and removed some debugging code
This commit is contained in:
parent
f6210a6356
commit
903a06c36c
|
@ -477,13 +477,10 @@ class ScrollofWeakening(Item):
|
||||||
_(f"The ennemies have -{max(1, self.held_by.intelligence//2)} strength for 3 turns"))
|
_(f"The ennemies have -{max(1, self.held_by.intelligence//2)} strength for 3 turns"))
|
||||||
self.held_by.inventory.remove(self)
|
self.held_by.inventory.remove(self)
|
||||||
|
|
||||||
class Bow(Item):
|
class LongRangeWeapon(Item):
|
||||||
"""
|
def __init__(self, damage: int = 4,
|
||||||
A type of throwable weapon that deals damage based on the player's dexterity.
|
rang: int = 3, *args, **kwargs):
|
||||||
"""
|
super().__init__(*args, **kwargs)
|
||||||
def __init__(self, name: str = "bow", price: int = 22, damage = 4,
|
|
||||||
rang = 3, *args, **kwargs):
|
|
||||||
super().__init__(name=name, price=price, *args, **kwargs)
|
|
||||||
self.damage = damage
|
self.damage = damage
|
||||||
self.range = rang
|
self.range = rang
|
||||||
|
|
||||||
|
@ -510,11 +507,34 @@ class Bow(Item):
|
||||||
if to_kill:
|
if to_kill:
|
||||||
self.held_by.map.logs.add_message(_("{name} is shot by an arrow.")\
|
self.held_by.map.logs.add_message(_("{name} is shot by an arrow.")\
|
||||||
.format(name=to_kill.translated_name.capitalize())+ " " \
|
.format(name=to_kill.translated_name.capitalize())+ " " \
|
||||||
+ to_kill.take_damage(self.held_by, self.damage + self.held_by.dexterity))
|
+ to_kill.take_damage(self.held_by, self.damage + getattr(self.held_by, self.stat)))
|
||||||
|
|
||||||
def equip(self) -> None:
|
def equip(self) -> None:
|
||||||
"""
|
"""
|
||||||
Equip the bow.
|
Equip the weapon.
|
||||||
"""
|
"""
|
||||||
self.held_by.remove_from_inventory(self)
|
self.held_by.remove_from_inventory(self)
|
||||||
self.held_by.equipped_main = self
|
self.held_by.equipped_main = self
|
||||||
|
|
||||||
|
@property
|
||||||
|
def stat(self) -> str:
|
||||||
|
"""
|
||||||
|
The stat that is used when using the object: dexterity for a bow
|
||||||
|
or intelligence for a magic staff.
|
||||||
|
"""
|
||||||
|
|
||||||
|
class Bow(LongRangeWeapon):
|
||||||
|
"""
|
||||||
|
A type of long range weapon that deals damage based on the player's dexterity
|
||||||
|
"""
|
||||||
|
def __init__(self, name: str = "bow", price: int = 22, damage: int = 4,
|
||||||
|
rang: int = 3, *args, **kwargs):
|
||||||
|
super().__init__(name=name, price=price, damage=damage, \
|
||||||
|
rang=rang, *args, **kwargs)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def stat(self) -> str:
|
||||||
|
"""
|
||||||
|
Here it is dexterity
|
||||||
|
"""
|
||||||
|
return "dexterity"
|
||||||
|
|
|
@ -38,9 +38,6 @@ class Player(InventoryHolder, FightingEntity):
|
||||||
self.max_xp = max_xp
|
self.max_xp = max_xp
|
||||||
self.xp_buff = xp_buff
|
self.xp_buff = xp_buff
|
||||||
self.inventory = self.translate_inventory(inventory or [])
|
self.inventory = self.translate_inventory(inventory or [])
|
||||||
b = Bow()
|
|
||||||
b.held_by=self
|
|
||||||
self.inventory.append(b)
|
|
||||||
self.paths = dict()
|
self.paths = dict()
|
||||||
self.hazel = hazel
|
self.hazel = hazel
|
||||||
self.equipped_main = self.dict_to_item(equipped_main) \
|
self.equipped_main = self.dict_to_item(equipped_main) \
|
||||||
|
|
Loading…
Reference in New Issue