(ti_on_agent_hit, 0, 0, [
(store_trigger_param_2, ":horse"),
(agent_get_item_id, ":horse", ":horse"),
(eq, ":horse", "itm_charger"), #or whatever item
],
[
(store_trigger_param_1, ":agent"),
(store_agent_hit_points, ":hp", ":agent", 1),
(store_trigger_param_3, ":dmg"),
(val_sub, ":hp", ":dmg"), #sufficient dmg to kill
(le, ":hp", 0),
(try_begin), #give rider kill
(store_trigger_param_2, ":horse"),
(agent_get_rider, ":horse", ":horse"),
(agent_is_active, ":horse"),
(else_try), #give self kill
(assign, ":horse", ":agent"),
(try_end),
(agent_set_hit_points, ":agent", 0, 1), #ensure death
(agent_deliver_damage_to_agent, ":horse", ":agent"),
]),