critical_striks #1

Merged
TorstenHettstedt merged 10 commits from critical_striks into main 2026-07-12 17:36:07 +02:00
2 changed files with 14 additions and 3 deletions
Showing only changes of commit 22fbdaa82f - Show all commits
+3 -3
View File
@@ -1,6 +1,6 @@
import enum
from MechFabrik.bauteile.items import Item, ItemStatus
from MechFabrik.bauteile.items import Gyroskope, Item, ItemStatus
class ZoneNames(enum.Enum):
@@ -144,11 +144,11 @@ class CriticalStrikeEvent:
self.__dict__['_zone'].state = AreaStatus.DAMAGED
self.__dict__['_area'].state = AreaStatus.DAMAGED
item = self.__dict__['_area'].items[self.__dict__['_index']]
if item is None:
if item is None or item.state == ItemStatus.DESTROYED:
self.__dict__['_item_is_empty'] = True
else:
self.__dict__['_item_is_empty'] = False
item.state = ItemStatus.DESTROYED
item.process_strike()
return self
def is_empty(self):
+11
View File
@@ -34,6 +34,9 @@ class Item(object):
def state(self, new_state: ItemStatus):
self._state = new_state
def process_strike(self):
self._state = ItemStatus.DESTROYED
class BigItem(Item):
@@ -52,6 +55,14 @@ class DurableItem(Item):
super().__init__(item_type)
self._max_strike = max_strike
@property
def max_strike(self):
return self._max_strike
def process_strike(self):
self._max_strike -= 1
self._state = ItemStatus.DAMAGED if self._max_strike > 0 else ItemStatus.DESTROYED
class Gyroskope(BigItem, DurableItem):
def __init__(self, tonnage: float):