when I said it was easy I meant the horse kit. It only has the two triggers the code goes at the top before mission_templates = [ and then just add call_horse_trigger_1, and call_horse_trigger_2, to any template you have a horse in. And remember to add slot_troop_horse at the end of all the slot_troop constants in module_constants.py. like so:
pilgrim_disguise = [itm_pilgrim_hood,itm_pilgrim_disguise,itm_iron_staff, itm_throwing_daggers]
af_castle_lord = af_override_horse | af_override_weapons| af_require_civilian
call_horse_trigger_1 = (0, 0, 3, [(key_clicked, key_h)], [
(get_player_agent_no,":agent"),
(agent_get_horse,":horse",":agent"),
(neg|gt,":horse",0),
(troop_get_slot,":horse",":agent",slot_troop_horse),
#(agent_play_sound,":agent","snd_whistle"),
(display_message,"@You whistle for your horse."),
(gt,":horse",0),
(agent_is_alive,":horse"),
(agent_get_position, pos1, ":agent"),
(agent_set_scripted_destination, ":horse", pos1, 0),
])
call_horse_trigger_2 = (0.2, 0, ti_once, [], [
(get_player_agent_no,":agent"),
(agent_get_horse,":horse",":agent"),
(troop_set_slot,":agent",slot_troop_horse,":horse"),
])
This code goes at the top of module_mission_templates. I put my new triggers under af_castle_lord = af_override_horse | af_override_weapons| af_require_civilian and it seems to work great.
Then you add call_horse_trigger_1,call_horse_trigger_2, in each mission_template that you want it in.
I usually put them here under the 2 triggers at the end of each mission_template.
common_battle_inventory,
common_battle_order_panel,
common_battle_order_panel_tick,
call_horse_trigger_1,
call_horse_trigger_2,
The spearwall triggers would go here as well. And the rest of the code for spearwall would be at the top of module_mission_templates.