state("Anno1602") { int startFlag : "Anno1602.exe", 0x5C4ECC; byte splitFlag_5F09E4 : "Anno1602.exe", 0x5F09E4; byte splitFlag_5F0C64 : "Anno1602.exe", 0x5F0C64; byte splitFlag_5F10E0 : "Anno1602.exe", 0x5F10E0; byte splitFlag_5F1164 : "Anno1602.exe", 0x5F1164; } startup { settings.Add("start", true, "Start timer when starting flag changes from 7 to 0"); settings.Add("split", true, "Split after each mission when split flag changes"); } init { vars.inGame = false; vars.mission = 0; } start { // Timer startet, wenn Startflag von 7 -> 0 wechselt if (settings["start"] && old.startFlag == 7 && current.startFlag == 0) { vars.inGame = true; vars.mission = 0; return true; } return false; } split { if (vars.inGame && settings["split"]) { // Mission 1: The End of a Long Trip if (vars.mission == 0 && old.splitFlag_5F09E4 == 0 && current.splitFlag_5F09E4 == 1) { vars.mission++; return true; } // Mission 2: One Lone Settlement if (vars.mission == 1 && old.splitFlag_5F09E4 == 0 && current.splitFlag_5F09E4 == 1) { vars.mission++; return true; } // Mission 3: The Quest for Ore Deposits if (vars.mission == 2 && old.splitFlag_5F09E4 == 0 && current.splitFlag_5F09E4 == 1) { vars.mission++; return true; } // Mission 4: The Trial if (vars.mission == 3 && old.splitFlag_5F09E4 == 0 && current.splitFlag_5F09E4 == 1) { vars.mission++; return true; } // Mission 5: Peaceful Reign if (vars.mission == 4 && old.splitFlag_5F09E4 == 0 && current.splitFlag_5F09E4 == 1) { vars.mission++; return true; } // Mission 6: No Surplus of Land if (vars.mission == 5 && old.splitFlag_5F09E4 == 0 && current.splitFlag_5F09E4 == 1) { vars.mission++; return true; } // Mission 7: New Discoveries if (vars.mission == 6 && old.splitFlag_5F09E4 == 0 && current.splitFlag_5F09E4 == 1) { vars.mission++; return true; } // Mission 8: Good Neighbors if (vars.mission == 7 && old.splitFlag_5F0C64 == 0 && current.splitFlag_5F0C64 == 1) { vars.mission++; return true; } // Mission 9: Dark Clouds on the Horizon if (vars.mission == 8 && old.splitFlag_5F09E4 == 0 && current.splitFlag_5F09E4 == 1) { vars.mission++; return true; } // Mission 10: Competition if (vars.mission == 9 && old.splitFlag_5F09E4 == 0 && current.splitFlag_5F09E4 == 1) { vars.mission++; return true; } // Mission 11: The Monopoly if (vars.mission == 10 && old.splitFlag_5F09E4 == 0 && current.splitFlag_5F09E4 == 1) { vars.mission++; return true; } // Mission 12: Cooperation if (vars.mission == 11 && old.splitFlag_5F09E4 == 0 && current.splitFlag_5F09E4 == 1) { vars.mission++; return true; } // Mission 13: The Alliance if (vars.mission == 12 && old.splitFlag_5F1164 == 0 && current.splitFlag_5F1164 == 1) { vars.mission++; return true; } // Mission 14: A Plague of Pirates if (vars.mission == 13 && old.splitFlag_5F09E4 == 0 && current.splitFlag_5F09E4 == 1) { vars.mission++; return true; } // Mission 15: The Intruder if (vars.mission == 14 && old.splitFlag_5F10E0 == 12 && current.splitFlag_5F10E0 == 9) { vars.mission++; return true; } // Mission 16: The Fortress if (vars.mission == 15 && old.splitFlag_5F10E0 == 12 && current.splitFlag_5F10E0 == 9) { vars.mission++; vars.inGame = false; return true; } } return false; }