Redesign the damage system #100
Labels
No Label
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
upstream
wontfix
No Milestone
No project
No Assignees
1 Participants
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: unfa/liblast#100
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
I've done some design work to make sure there's a clean path to dealing with damage in the game.
https://excalidraw.com/#room=8d28d465c99fc0414ac9,TW4WFBQxMWdjkfgiL0hMyQ
The design is being implemented in the
damage
branch.The basics are done.
Basially every damagable object needs to explose a
take_damage()
method that will let all necessary information be carried over. THe object can the ndecide what to do - how to react, what audio-visual effects to produce etc.The Player class will spawn blood effects and play the sound of a bullet hitting flesh. For now the damage type is not really evaluated, as we only have one damage type.
However - when fall damage becomes a thing, the player will inflict damage onto themselves!
And appropriate effects shoudl follow.
As for objects that don't have a
take_damage()
method - for now Weapon.gd will spawn a generic bullet hit effect. later we should somehow define how level geometry can define what type of material it is and hence - how should it react to various types of damage.