How to detect storm damage or elimination with verse

In the docs it says that in the elimination_result:


# The `fort_character` eliminated from the match by `EliminatingCharacter`.
        EliminatedCharacter<native><public>:fort_character

        # `fort_character` that eliminated `EliminatedCharacter` from the match. `EliminatingCharacter` will be false when `EliminatedCharacter` was eliminated through non-character actions, such as environmental damage.
        EliminatingCharacter<native><public>:?fort_character

but the EliminatingCharacter never seems to be false…

How to detect if the storm eliminated somebody?

1 Like

I want to also note that the Elimination Manager also does not return “false” for the eliminating character if somebody dies via storm.

This simply just doesn’t seem possible to detect a storm death as a storm death… Why? or am I missing something?

Yeah I’m not sure why it doesn’t return false, I guess the last player who damaged the player who died from the storm is set as the instigator.

You have to check who is the returned EliminatingCharacter, maybe it’s the player who died ?

I tried doing a comparison to see if it’s the same player but it didn’t come up equal, but you’re correct there is a score applied to the same character

If you’re the only player on the map it must be you, try applying an impulse or make the player Invisible / change health something so you know who is this player :person_shrugging:

There’s gotta be a way to get this accurately though

Well, you could try listening to this event :

    damageable<native><public> := interface<epic_internal>:

        # Signaled when damage is applied to the `damageable` object.
        DamagedEvent<public>():listenable(damage_result)

# Results for damage events on Fortnite objects.
    damage_result<native><public> := struct<epic_internal>:
        # Object that was damaged.
        Target<native><public>:damageable

        # Amount of damage applied to `Target`.
        Amount<native><public>:float

        # Player, agent, etc. that instigated the damage to `Target`. Can be false when damage is instigated by code, the environment, etc.
        Instigator<native><public>:?game_action_instigator = external {}

        # Player, weapon, vehicle, etc. that damaged `Target`. Can be false when damage is caused by code, the environment, etc.
        Source<native><public>:?game_action_causer = external {}

Basically every player has a fort_character that is damageable so you can listen to this, but you’ll have to detect the death manually using some basic math. I’m not sure it works but you can try.

I’ve been working on this and I think maybe have a solution but am still only testing with one character. I rewrote my comparison code for character to character and if it’s the same character then I detect that it’s the storm that did it, or self elim.

I’ll let you know how it goes! Thanks for the help so far, I’d really like to not have to do this so hacky…

1 Like

Does this detect damage from other players? I can detect damage from storms and fall damage, but not other players so far. Just grabbing the Amount value from the damage_result

Ofc, try this :

if(InstigatorCharacter := fort_character[Instigator?], player[InstigatorCharacter.GetAgent[]]):
    # Killer is a player
1 Like

I appreciate that, but it doesn’t work. Here is another post where I directly address this:

It seems that there is just nothing in the instigator or source