common_weapon_break = (
ti_on_agent_hit, 0, 0,
[
#(player_get_agent_id, ":player_agent", ":player_no"),
(store_trigger_param_1, ":agent"),
(get_player_agent_no, ":player_agent"),
(agent_get_attack_action, ":playeraction", ":player_agent"), #returned values: free = 0, readying_attack = 1, releasing_attack = 2, completing_attack_after_hit = 3, attack_parried = 4, reloading = 5, after_release = 6, cancelling_attack = 7
(agent_get_attack_action, ":action", ":agent"),
(try_begin),
(eq,":playeraction",3),
(eq,":action",3),
(agent_get_wielded_item,":breakweapon",":agent",0),
(agent_get_wielded_item,":breakweapon",":player_agent",0),
(gt,":breakweapon",2),
(item_get_type, ":spearlance", ":breakweapon"),
(agent_get_horse,":playermounted",":player_agent"),
(agent_get_horse,":mounted",":agent"),
(store_random_in_range,":weaponbreakchance",1,100),
(try_begin),
(is_between ,":spearlance","itm_jousting_lance","itm_military_scythe"),
(eq,":spearlance",":breakweapon"),
# (display_message, "@Spear or Lance"),
(val_mul,":weaponbreakchance",102),
(val_div,":weaponbreakchance",100),
(try_end),
(try_begin),
(ge,":weaponbreakchance",8
,
(agent_unequip_item,":agent",":breakweapon"),
(play_sound,"snd_shield_broken",),
(lt,":mounted",0),
(agent_set_animation, ":agent", "anim_strike_chest_front"),
(agent_get_troop_id, ":troop", ":agent"),
(str_store_troop_name,s1,":troop"),
(display_message, "@{s1} broke his spear.",0x66FF33),
(agent_set_slot,":agent", slot_spear_loster, 1),
(else_try),
(agent_unequip_item,":player_agent",":breakweapon"),
(troop_remove_item, "trp_player", ":breakweapon"),
(play_sound,"snd_shield_broken",),
(display_message, "@You broke your spear.",0xFF0000),
(lt,":playermounted",0),
(agent_set_animation, ":player_agent", "anim_strike_chest_front"),
(try_end),
(try_begin),
(agent_slot_eq, ":agent", slot_spear_loster, 1),
(agent_set_wielded_item,":agent","itm_sword_medieval_c"),
(try_end),
(try_end),
], [])