# How do I determine Agent properties in an OnDamaged event?

**URL:** <https://forums.unrealengine.com/t/how-do-i-determine-agent-properties-in-an-ondamaged-event/1294459>\
**Category:** Verse\
**Tags:** debug, debug-trace, swarm-agent, fortnite-creative, unreal-editor-for-fortnite, Event, question, fortnite\
**Created:** [September 13, 2023, 11:08pm UTC](https://forums.unrealengine.com/t/how-do-i-determine-agent-properties-in-an-ondamaged-event/1294459 "2023-09-13T23:08:00Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![TheDadXI](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/thedadxi/32/768546_2.png) [@TheDadXI](https://forums.unrealengine.com/u/TheDadXI)\
**Post date:** [September 13, 2023, 11:08pm UTC](https://forums.unrealengine.com/t/how-do-i-determine-agent-properties-in-an-ondamaged-event/1294459/1 "2023-09-13T23:08:00Z")

</div>

I have subscribed to a prop\_manipulator\_device… `PropManipulator.DamagedEvent.Subscribe(OnPropDamaged)`

I’d like to determine what ammo was used to cause the damage (if possible)… but to debug, I’d just like to see all props of the agent passed in to the event.

Is there a way to print to the log all the props of the agent? … or any other way to debug the object passed in?

---

<div class="post-metadata">

**Author:** ![im\_a\_lama](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/im_a_lama/32/995063_2.png) [@im\_a\_lama](https://forums.unrealengine.com/u/im_a_lama)\
**Post date:** [September 14, 2023, 9:50am UTC](https://forums.unrealengine.com/t/how-do-i-determine-agent-properties-in-an-ondamaged-event/1294459/2 "2023-09-14T09:50:24Z")

</div>

Hi Dad, so to know which weapon was used, I believe you can only use `conditional_button_device.IsHolding[]` methods to determine which weapon the instigator of the damage is holding (at the time of the damage, might not work with rocket launchers since they’re not hitscan).  
You’ll need to create one `conditional button` per weapon available on your map and ‘map’ them all to your Verse file!

What do you mean by `all props of the agent` ?

---

<div class="post-metadata">

**Author:** ![TheDadXI](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/thedadxi/32/768546_2.png) [@TheDadXI](https://forums.unrealengine.com/u/TheDadXI)\
**Post date:** [September 14, 2023, 8:59pm UTC](https://forums.unrealengine.com/t/how-do-i-determine-agent-properties-in-an-ondamaged-event/1294459/3 "2023-09-14T20:59:30Z")

</div>

Hey Frenzy, thx for the info…

I have not used a conditional\_button\_device, but I will look into that.

As for the props, I as wondering if there is way to iterate across all available properties of the given agent since it is an abstract class and could come in as any number of specific objects. (Similar to java how you can iterate through properties as if the object were an array)

---

<div class="post-metadata">

**Author:** ![im\_a\_lama](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/im_a_lama/32/995063_2.png) [@im\_a\_lama](https://forums.unrealengine.com/u/im_a_lama)\
**Post date:** [September 14, 2023, 9:23pm UTC](https://forums.unrealengine.com/t/how-do-i-determine-agent-properties-in-an-ondamaged-event/1294459/4 "2023-09-14T21:23:12Z")

</div>

Hey, yeah good luck with the buttons, for the properties of the agent, you have all that you need inside `Fortnite.digest.verse`, for the `agent` class, we don’t call this abstract, it’s more of a `header file` exposing the signatures they want to expose like you have in C++

You could take a look at `agent`, `player` and `fort_character` classes if you want to learn more. Also don’t forget to look at `extended methods`.

---

<div class="post-metadata">

**Author:** ![TheDadXI](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/thedadxi/32/768546_2.png) [@TheDadXI](https://forums.unrealengine.com/u/TheDadXI)\
**Post date:** [September 15, 2023, 1:02pm UTC](https://forums.unrealengine.com/t/how-do-i-determine-agent-properties-in-an-ondamaged-event/1294459/5 "2023-09-15T13:02:34Z")

</div>

Ah… right, I’ll cast the Agent passed in on the event as a player… but where do I find the properties & methods of a player object?

` Verse.digest.verse > player<native><public> := class<unique><persistent><epic_internal>(agent):`

Nothing else is listed 😕

Again thx for the help… I try not to ask the same question twice. I am learning as I go.

---

<div class="post-metadata">

**Author:** ![im\_a\_lama](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/im_a_lama/32/995063_2.png) [@im\_a\_lama](https://forums.unrealengine.com/u/im_a_lama)\
**Post date:** [September 15, 2023, 1:19pm UTC](https://forums.unrealengine.com/t/how-do-i-determine-agent-properties-in-an-ondamaged-event/1294459/6 "2023-09-15T13:19:57Z")

</div>

If there’s nothing available, for example in the `player` class, then you can only use **methods** that uses `player type` as arguments (just press CTRL+F).

Also this is why I told you to look at `agent`, `player` and `fort_character`, you’ll have a lot more functions available in the `fort_character` and its implemented `interfaces`.

I don’t think you have access to any properties of any `internal_class` though, you’ll maybe have `getters` sometimes.
