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
|
||||
@@ -90,9 +90,11 @@ class Area:
|
||||
|
||||
def __init__(self):
|
||||
self.__dict__['_content'] = {
|
||||
'children': [],
|
||||
'items': {},
|
||||
'armor': 0,
|
||||
'children': [],
|
||||
'items': {},
|
||||
'armor': 0,
|
||||
'inner_armor': 0,
|
||||
'state': AreaStatus.FINE,
|
||||
}
|
||||
|
||||
def __setattr__(self, key, value):
|
||||
@@ -170,3 +172,7 @@ class Mech(object):
|
||||
if area.inner_armor > hits_rest:
|
||||
area.inner_armor -= hits_rest
|
||||
area.armor = 0
|
||||
area.state = AreaStatus.CRITICAL_STRIKE
|
||||
else:
|
||||
area.state = AreaStatus.DESTROYED
|
||||
area.inner_armor = 0
|
||||
|
||||
Reference in New Issue
Block a user