dragonslayer_trigger = (0, 0, .5, [
(this_or_next|game_key_is_down, gk_attack),
(eq, "$attack_key_down", 1),
(eq, "$kill_lock", 0),
(neg|key_is_down, key_left_control),#safety check so that you can hold down control and not massacre your own troops.
(neg|main_hero_fallen,0),
(get_player_agent_no, ":player_agent"),
(agent_get_wielded_item,":wielded_item",":player_agent",0),
(eq,":wielded_item","itm_dragonslayer"),
(assign,"$two_enemies",2),#sets how many targets max will be hit by area of effect. You can remove all three lines that list $two_enemies if you #want it to hit anyone and everyone in range
(eq,"$berserk_power",1),
],
[(assign, "$kill_lock", 1),
(try_begin),
(game_key_is_down, gk_attack),
(assign, "$attack_key_down", 1),
(else_try),
(assign, "$attack_key_down", 0),
(get_player_agent_no, ":player_agent"),
(agent_get_position,pos1,":player_agent"),
#(agent_set_animation,":player_agent","anim_release_slashright_twohanded"),
#(particle_system_burst,"psys_special_attack",pos1,100),
(try_for_agents,":agent"),
(agent_is_alive,":agent"),
#(agent_is_human,":agent"),
(neq,":agent",":player_agent"),
#(neg|agent_is_ally,":agent"),
(agent_get_position,pos2,":agent"),
(neg|position_is_behind_position,pos2,pos1),
(gt,"$two_enemies",0),
(get_distance_between_positions,":dist",pos1,pos2),
(lt,":dist",300),#sets distance of aoe from the player scale it to your weapon's range. add arm distance to your weapon range.
(particle_system_burst,"psys_game_blood_2",pos2,500),#you don't have to have this much blood 500%
(agent_play_sound,":agent","snd_man_die"),
(agent_play_sound,":agent","snd_metal_hit_high_armor_high_damage"),
(agent_set_animation,":agent","anim_force_knocked"),#knocks target over if they aren't killed.
(store_agent_hit_points, ":cur_hit_points",":agent",1),
(val_sub,":cur_hit_points",90),#base damage of aoe
(val_max,":cur_hit_points",0),
(agent_set_hit_points,":agent",":cur_hit_points",1),
(val_sub,"$two_enemies",1),
(try_begin),
(lt,":cur_hit_points",1),
(agent_deliver_damage_to_agent,":player_agent",":agent"),
(try_end),
(try_end),
(try_end),
(assign,"$kill_lock",0),
])