(ti_on_scene_prop_hit,[
(store_trigger_param_1, ":instance_no"),
(store_trigger_param_2, ":damage"),
(position_get_x,":agent",pos2),
(agent_get_wielded_item,":weapon",":agent",0),
(agent_get_wielded_item,":shield",":agent",1),
(try_begin),
(gt,":shield",0),
(item_get_type,":type",":shield"),
(try_begin),
(eq,":type",itp_type_shield),
(val_mul,":damage",90),
(val_div,":damage",100),
(else_try),
(assign,":damage",0),
(try_end),
(else_try),
(item_get_type,":type",":weapon"),
(try_begin),
(eq,":weapon",0),
(val_mul,":damage",105),
(val_div,":damage",100),
(else_try),
(eq,":type",itp_type_one_handed_wpn),
(val_mul,":damage",80),
(val_div,":damage",300),
(else_try),
(eq,":type",itp_type_two_handed_wpn),
(val_mul,":damage",110),
(val_div,":damage",300),
(else_try),
(eq,":type",itp_type_polearm),
(val_mul,":damage",115),
(val_div,":damage",300),
(else_try),
(assign,":damage",0),
(try_end),
(try_end),
(try_begin),
(scene_prop_get_hit_points, ":hit_points", ":instance_no"),
(val_sub, ":hit_points", ":damage"),
(scene_prop_get_slot,":x",":instance_no",scene_prop_dropped_times),
(store_sub,":min_damage",20,":x"),
(val_mul,":min_damage",50),
(gt, ":hit_points", ":min_damage"),
(val_add,":x",1),
(scene_prop_set_slot,":instance_no",scene_prop_dropped_times,":x"),
(play_sound, "snd_dummy_hit"),
(store_add,":end","itm_thin_wood_branch",1),
(store_random_in_range,":item","itm_wooden_sticks",":end"),
(set_fixed_point_multiplier, 100),
(prop_instance_get_position, pos1, ":instance_no"),
(store_random_in_range,":x",-200,201),
(store_random_in_range,":y",-200,201),
(position_move_y,pos1,":y"),
(position_move_x,pos1,":x"),
(set_spawn_position,pos1),
(spawn_item,":item",0),
(try_end),
]),