Thanks, I understand now. The way to do it is to make a permanent change to the game world that will be logged within a save game but not embedded when you start a new campaign. An example of this would be to use the victory script to add a building to a settlement that was not otherwise buildable there and then add a and not SettlementBuildingExists condition to the script. The first time the player achieves the victory conditions, there is no building there and so the conditions are true and the trigger is fired. In subsequent turns, the building is there and so the trigger is not activated. When a new campaign is started, the settlement buildings are generated afresh from descr_strat.