Auto-translated
I'm not an expert in scripts, but after watching Remix's stream and looking at the script for this scenario, I noticed the win condition:
if GetObjectiveState("prim1", PLAYER_1)==OBJECTIVE_COMPLETED
and GetObjectiveState("prim2", PLAYER_1)==OBJECTIVE_COMPLETED
and GetObjectiveState("prim3", PLAYER_1)==OBJECTIVE_COMPLETED then
Win();
However, the assignment of the value SetObjectiveState("prim2", OBJECTIVE_COMPLETED) only exists for prim2.
Could this be why the game doesn't end after capturing the shield?
if GetObjectiveState("prim1", PLAYER_1)==OBJECTIVE_COMPLETED
and GetObjectiveState("prim2", PLAYER_1)==OBJECTIVE_COMPLETED
and GetObjectiveState("prim3", PLAYER_1)==OBJECTIVE_COMPLETED then
Win();
However, the assignment of the value SetObjectiveState("prim2", OBJECTIVE_COMPLETED) only exists for prim2.
Could this be why the game doesn't end after capturing the shield?