#Bajo script
(eq, ":event_type", multiplayer_event_fixBayonet),
(store_script_param,":eventNo",3),
(store_script_param,":var2",4),
(try_begin),
(eq,":eventNo",1), #Event 1 - Fix Bayonet
(assign, ":bayonet", "itm_british_baker_bayonet"),
(assign,":itemFound",0),
(assign,":playerAgent",":var2"),
(agent_is_active, ":playerAgent"),
(agent_is_alive, ":playerAgent"),
(agent_get_slot,":bayonetCooldown",":playerAgent",slot_agent_bayonetCooldown),
(eq,":bayonetCooldown",0),
(agent_get_wielded_item,":curRifle",":playerAgent"),
(item_get_slot,":bayonetItem",":curRifle",slot_item_bayonetItem),
(neq,":bayonetItem",0),
(try_for_range,":curSlot",0,3),
(neq,":itemFound",1),
(agent_get_item_slot,":curItem",":playerAgent",":curSlot"),
(try_begin),
(eq,":curItem",":curRifle"),
(assign,":itemFound",1), #break loop
(assign,":itemSlot",":curSlot"),
(else_try),
(eq,":curItem",":bayonet"),
(assign, ":bayonet_in_inventory", 1),
(assign, ":bayonet_itemSlot", ":curSlot"),
(try_end),
(try_end),
(eq,":itemFound",1), #the item was found and no witchcraft occurred
(agent_is_active, ":playerAgent"),
(agent_is_alive, ":playerAgent"),
(agent_get_ammo_for_slot,":rifleAmmo",":playerAgent",":itemSlot"),
(agent_get_slot,":isFixed",":playerAgent",slot_item_isFixed),
(try_begin),
(eq,":isFixed",0),
(eq,":bayonet_in_inventory",1),
(agent_set_animation,":playerAgent","anim_fix_bayonet"),
(agent_set_slot,":playerAgent",slot_item_isFixed, 1), # 1 marks the bayonet as fixed
(agent_unequip_item, ":playerAgent", ":bayonet", ":bayonet_itemSlot"),
(else_try),
(agent_set_animation,":playerAgent","anim_unfix_bayonet"),
(agent_set_slot,":playerAgent",slot_item_isFixed, 0), # 0 marks the bayonet as unfixed
(agent_equip_item, ":playerAgent", ":bayonet"),
(try_end),
(agent_unequip_item,":playerAgent",":curRifle"),
(agent_equip_item,":playerAgent",":bayonetItem"),
(agent_set_wielded_item,":playerAgent",":bayonetItem"),
(try_begin),
(eq,":rifleAmmo",0),
(agent_set_ammo,":playerAgent",":bayonetItem",0),
(try_end),
(agent_is_active, ":playerAgent"),
(agent_is_alive, ":playerAgent"),
(agent_set_slot,":playerAgent",slot_agent_bayonetCooldown,6), #unable to spam bayonet on/off
(try_end), #Bajo script