Feature: nutze richtige Rüstung in den einzelnen Zonen
This commit is contained in:
+62
-42
@@ -8,7 +8,18 @@ class MechFabrik(object):
|
||||
|
||||
def __init__(self, name: str, tonnage: float, movement_rate: int):
|
||||
self.__components = ComponentReader()
|
||||
self.__tonnage = tonnage
|
||||
self.__reactor_value = int(movement_rate * tonnage)
|
||||
self.__areas = {
|
||||
AreaNames.HEAD: Area(),
|
||||
AreaNames.MIDDLE_TORSO: Area(),
|
||||
AreaNames.LEFT_TORSO: Area(),
|
||||
AreaNames.RIGHT_TORSO: Area(),
|
||||
AreaNames.LEFT_ARM: Area(),
|
||||
AreaNames.RIGHT_ARM: Area(),
|
||||
AreaNames.LEFT_LEG: Area(),
|
||||
AreaNames.RIGHT_LEG: Area(),
|
||||
}
|
||||
self.__build_inner_structure(tonnage, movement_rate)
|
||||
self._mech = Mech(name, tonnage, movement_rate, self._inner_structure)
|
||||
|
||||
@@ -20,29 +31,28 @@ class MechFabrik(object):
|
||||
self.__build_middle_torso_area(gyroscope)
|
||||
|
||||
def __build_head_area(self) -> None:
|
||||
area = Area()
|
||||
cockpit = Cockpit()
|
||||
area.cockpit = cockpit
|
||||
area.items = {
|
||||
self.__areas[AreaNames.HEAD].cockpit = cockpit
|
||||
self.__areas[AreaNames.HEAD].items = {
|
||||
(1, 1): Sustainment(),
|
||||
(1, 2): Sensors(),
|
||||
(1, 3): area.cockpit,
|
||||
(1, 3): cockpit,
|
||||
(1, 4): None,
|
||||
(1, 5): Sensors(),
|
||||
(1, 6): Sustainment(),
|
||||
}
|
||||
self._inner_structure.add_area(AreaNames.HEAD, area)
|
||||
self.__areas[AreaNames.HEAD].inner_armor = 3
|
||||
|
||||
def __build_middle_torso_area(self, gyroscope: Gyroskope) -> Area:
|
||||
area_middle = Area()
|
||||
area_left = Area()
|
||||
area_right = Area()
|
||||
area_left.parent = area_middle
|
||||
area_right.parent = area_middle
|
||||
def __build_middle_torso_area(self, gyroscope: Gyroskope) -> None:
|
||||
self.__areas[AreaNames.LEFT_TORSO].parent = self.__areas[AreaNames.MIDDLE_TORSO]
|
||||
self.__areas[AreaNames.RIGHT_TORSO].parent = self.__areas[AreaNames.MIDDLE_TORSO]
|
||||
reactor = Reaktor(self.__reactor_value, self.__components.reactor_tonnage_from(self.__reactor_value))
|
||||
area_middle.reactor = reactor
|
||||
area_middle.children = [area_right, area_left]
|
||||
area_middle.items = {
|
||||
self.__areas[AreaNames.MIDDLE_TORSO].reactor = reactor
|
||||
self.__areas[AreaNames.MIDDLE_TORSO].children = [
|
||||
self.__areas[AreaNames.RIGHT_TORSO],
|
||||
self.__areas[AreaNames.LEFT_TORSO]
|
||||
]
|
||||
self.__areas[AreaNames.MIDDLE_TORSO].items = {
|
||||
(1, 1): reactor,
|
||||
(1, 2): reactor,
|
||||
(1, 3): reactor,
|
||||
@@ -56,19 +66,24 @@ class MechFabrik(object):
|
||||
(2, 5): None,
|
||||
(2, 6): None,
|
||||
}
|
||||
self.__build_arm(area_right, AreaNames.RIGHT_ARM)
|
||||
self.__build_leg(area_right, AreaNames.RIGHT_LEG)
|
||||
self.__build_arm(area_left, AreaNames.LEFT_ARM)
|
||||
self.__build_leg(area_left, AreaNames.LEFT_LEG)
|
||||
self._inner_structure.add_area(AreaNames.LEFT_TORSO, area_left)
|
||||
self._inner_structure.add_area(AreaNames.RIGHT_TORSO, area_right)
|
||||
self._inner_structure.add_area(AreaNames.MIDDLE_TORSO, area_middle)
|
||||
return area_middle
|
||||
self.__areas[AreaNames.MIDDLE_TORSO].inner_armor = self.__components.inner_amor_for_tonnage_and_area(
|
||||
self.__tonnage,
|
||||
AreaNames.MIDDLE_TORSO
|
||||
)
|
||||
self.__areas[AreaNames.LEFT_TORSO].inner_armor = self.__components.inner_amor_for_tonnage_and_area(
|
||||
self.__tonnage, AreaNames.LEFT_TORSO)
|
||||
self.__areas[AreaNames.RIGHT_TORSO].inner_armor = self.__components.inner_amor_for_tonnage_and_area(
|
||||
self.__tonnage,
|
||||
AreaNames.RIGHT_TORSO
|
||||
)
|
||||
self.__build_arm(self.__areas[AreaNames.RIGHT_TORSO], AreaNames.RIGHT_ARM)
|
||||
self.__build_leg(self.__areas[AreaNames.RIGHT_TORSO], AreaNames.RIGHT_LEG)
|
||||
self.__build_arm(self.__areas[AreaNames.LEFT_TORSO], AreaNames.LEFT_ARM)
|
||||
self.__build_leg(self.__areas[AreaNames.LEFT_TORSO], AreaNames.LEFT_LEG)
|
||||
|
||||
def __build_arm(self, parent: Area, index: AreaNames):
|
||||
arm = Area()
|
||||
arm.parent = parent
|
||||
arm.items = {
|
||||
self.__areas[index].parent = parent
|
||||
self.__areas[index].items = {
|
||||
(1, 1): Joint(),
|
||||
(1, 2): Activator(),
|
||||
(1, 3): Activator(),
|
||||
@@ -82,13 +97,13 @@ class MechFabrik(object):
|
||||
(2, 5): None,
|
||||
(2, 6): None,
|
||||
}
|
||||
parent.children.append(arm)
|
||||
self._inner_structure.add_area(index, arm)
|
||||
self.__areas[index].inner_armor = self.__components.inner_amor_for_tonnage_and_area(self.__tonnage, index)
|
||||
parent.children.append(self.__areas[index])
|
||||
|
||||
|
||||
def __build_leg(self, parent: Area, index: AreaNames):
|
||||
leg = Area()
|
||||
leg.parent = parent
|
||||
leg.items = {
|
||||
self.__areas[index].parent = parent
|
||||
self.__areas[index].items = {
|
||||
(1, 1): Joint(),
|
||||
(1, 2): Activator(),
|
||||
(1, 3): Activator(),
|
||||
@@ -96,23 +111,28 @@ class MechFabrik(object):
|
||||
(1, 5): None,
|
||||
(1, 6): None,
|
||||
}
|
||||
parent.children.append(leg)
|
||||
self._inner_structure.add_area(index, leg)
|
||||
self.__areas[index].inner_armor = self.__components.inner_amor_for_tonnage_and_area(self.__tonnage, index)
|
||||
parent.children.append(self.__areas[index])
|
||||
|
||||
def auslieferung(self) -> Mech:
|
||||
for (index, area) in self.__areas.items():
|
||||
self._inner_structure.add_area(index, area)
|
||||
return self._mech
|
||||
|
||||
def setHeadAmore(self, param):
|
||||
pass
|
||||
def set_head_armor(self, armor: int) -> None:
|
||||
self.__areas[AreaNames.HEAD].armor = armor
|
||||
|
||||
def setMidleTorsoAmore(self, param):
|
||||
pass
|
||||
def set_middle_torso_armor(self, armor: int) -> None:
|
||||
self.__areas[AreaNames.MIDDLE_TORSO].armor = armor
|
||||
|
||||
def setSideTorsoAmore(self, param):
|
||||
pass
|
||||
def set_side_torso_armor(self, armor: int) -> None:
|
||||
self.__areas[AreaNames.RIGHT_TORSO].armor = armor
|
||||
self.__areas[AreaNames.LEFT_TORSO].armor = armor
|
||||
|
||||
def setArmAmore(self, param):
|
||||
pass
|
||||
def set_arm_armor(self, armor: int) -> None:
|
||||
self.__areas[AreaNames.RIGHT_ARM].armor = armor
|
||||
self.__areas[AreaNames.LEFT_ARM].armor = armor
|
||||
|
||||
def setLegAmore(self, param):
|
||||
pass
|
||||
def set_leg_armor(self, armor: int) -> None:
|
||||
self.__areas[AreaNames.RIGHT_LEG].armor = armor
|
||||
self.__areas[AreaNames.LEFT_LEG].armor = armor
|
||||
|
||||
Reference in New Issue
Block a user