So, das hier läuft:
Code:
scn HardcoreShooterGameplayScript
short IMOverlayCounter
Begin GameMode
; Auto-Heilung mit Stimpacks
If Player.GetHealthPercentage <= 0.35 && Player.IsInCombat == 1
If Player.GetItemCount Stimpak > 0
Player.CastImmediateOnSelf Stimpak
Player.RemoveItem Stimpak 1 1
EndIf
EndIf
; Meldung Stimpaks ausgegangen
If Player.GetItemCount Stimpak == 0
ShowMessage BerserkerViewNoStimpacks
EndIf
;Visuelle Blut-Effekte
If Player.GetHealthPercentage <= 0.45
If IMOverlayCounter < 4
IMod BerserkerViewISFX
set IMOverlayCounter to IMOverlayCounter + 1
EndIf
ElseIf Player.GetHealthPercentage <= 0.25
If IMOverlayCounter < 4
IMod BerserkerViewISFX
set IMOverlayCounter to IMOverlayCounter + 1
EndIf
ElseIf Player.GetHealthPercentage <= 0.05
If IMOverlayCounter < 4
IMod BerserkerViewISFX
set IMOverlayCounter to IMOverlayCounter + 1
EndIf
Else
RIMod BerserkerViewISFX
set IMOverlayCounter to 0
EndIf
End
Alles in einem Script vereint, statt verteilt über verschiedene Ebenen.
Ist noch abzuklären, ob es einen DoOnce für die Message benötigt, wenn die Stimpack-Anzahl auf unter 1 fällt.
Und wie ich aus dem Script der Powerrüstung entnehmen konnte, darf man sehr wohl Ingestibles mit CastImmediateOnSelf aufrufen. Diese sind ja schlussendlich auch nur eine Liste von Effekten.
Dies hier hat jetzt den Vorteil, dass die Wirkung der Auto-Heilung vollständig von deinen Medizin-Kenntnissen und dem Hardcore-Modus abhängig ist. Man hat ausserhalb des Kampfes weiterhin die Möglichkeit, sich mit anderen Medikamenten zu heilen und auch Arzttaschen und Doktorbesuche behalten ihren Sinn.
Ich finde, das ist ein guter Kompromiss zwischen Shooter und Rollenspiel.
Man stirbt durch das nicht weniger, wie ich in Feldtests mit Banditen erfahren konnte.