Feature: check for *Area*-Status
This commit is contained in:
@@ -0,0 +1,39 @@
|
|||||||
|
@startuml
|
||||||
|
'https://plantuml.com/activity-diagram-beta
|
||||||
|
|
||||||
|
start
|
||||||
|
|
||||||
|
:eine //Zone// wird getroffen;
|
||||||
|
|
||||||
|
:Trefferpunkte; <<object>>
|
||||||
|
|
||||||
|
if (die //Zone// hat noch äußere Panzerung?) then (Ja)
|
||||||
|
:äußere Panzerung abtragen; <<objectSignal>>
|
||||||
|
:Trefferpunkte verringern; <<object>>
|
||||||
|
:äußere Treffer triggern; <<acceptEvent>>
|
||||||
|
endif
|
||||||
|
|
||||||
|
if (sind noch Trefferpunkte übrig?) then (Ja)
|
||||||
|
if (die //Zone// hat noch innere Panzerung?) then (Ja)
|
||||||
|
:restliche Treffer nach innen leiten; <<objectSignal>>
|
||||||
|
:innere Panzerung abtragen; <<objectSignal>>
|
||||||
|
:inneren Treffer triggern; <<acceptEvent>>
|
||||||
|
:Trefferpunkte verringern; <<object>>
|
||||||
|
if (sind noch Trefferpunkte übrig?) then (Ja)
|
||||||
|
:die //Zone// ist zerstört; <<acceptEvent>>
|
||||||
|
:restliche Trefferpunkte zur //Eltern-Zone// leiten; <<objectSignal>>
|
||||||
|
end
|
||||||
|
else (Nein)
|
||||||
|
end
|
||||||
|
endif
|
||||||
|
else (Nein)
|
||||||
|
:die //Zone// ist zerstört; <<acceptEvent>>
|
||||||
|
:restliche Trefferpunkte zur //Eltern-Zone// leiten; <<objectSignal>>
|
||||||
|
end
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
@enduml
|
||||||
@@ -93,6 +93,8 @@ class Area:
|
|||||||
'children': [],
|
'children': [],
|
||||||
'items': {},
|
'items': {},
|
||||||
'armor': 0,
|
'armor': 0,
|
||||||
|
'inner_armor': 0,
|
||||||
|
'state': AreaStatus.FINE,
|
||||||
}
|
}
|
||||||
|
|
||||||
def __setattr__(self, key, value):
|
def __setattr__(self, key, value):
|
||||||
@@ -170,3 +172,7 @@ class Mech(object):
|
|||||||
if area.inner_armor > hits_rest:
|
if area.inner_armor > hits_rest:
|
||||||
area.inner_armor -= hits_rest
|
area.inner_armor -= hits_rest
|
||||||
area.armor = 0
|
area.armor = 0
|
||||||
|
area.state = AreaStatus.CRITICAL_STRIKE
|
||||||
|
else:
|
||||||
|
area.state = AreaStatus.DESTROYED
|
||||||
|
area.inner_armor = 0
|
||||||
|
|||||||
Reference in New Issue
Block a user