Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -------------------------------------------------------------------------------
- ------------------------------ SCRIPT SETUP -----------------------------------
- -------------------------------------------------------------------------------
- local advice = require "export_advice"
- local historic_events = require "export_historic_events"
- local scripting = require "EpisodicScripting"
- local camera_pan = 0
- local new_game = false
- scripting.SetCampaign("mp_eur_napoleon")
- out.ting("MP Europe Script!")
- UA = assert(loadfile("lua_bits.traits_ancs.lua"))
- setfenv(UA, getfenv())
- UA()
- local function OnNewCampaignStarted(context)
- new_game = true
- end
- local function OnUICreated(context)
- -- Re-enabling the generic campaign won message
- scripting.OverrideMessageAutoShow("campaign_won", true)
- end
- -------------------------------------------------------------------------------------------------------------------------
- --
- -- SETTING UP MISSIONS AND BOOLEAN CONDITIONS
- --
- -- PRUSSIAN MISSIONS
- local function prussia_alliance_austria()
- out.ting ("Prussian-Austrian Alliance")
- scripting.game_interface:trigger_custom_mission("eur_prussia_alliance_austria",
- "prussia", "forge_alliance", 0, "austria",
- "mission_text_text_eur_prussia_alliance_austria_heading",
- "mission_text_text_eur_prussia_alliance_austria_text",
- "", 0, "", context,
- false,"money:1000")
- end
- local VAR_austria_fought_france = 0
- local function prussia_alliance_russia()
- out.ting ("Prussian-Russian Alliance")
- scripting.game_interface:trigger_custom_mission("eur_prussia_alliance_russia",
- "prussia", "forge_alliance", 0, "russia",
- "mission_text_text_eur_prussia_alliance_russia_heading",
- "mission_text_text_eur_prussia_alliance_russia_text",
- "", 0, "", context,
- false,"money:1000")
- end
- local function prussia_build_military()
- out.ting ("Prussia: Reformation of the Army")
- scripting.game_interface:trigger_custom_mission("eur_prussia_build_military",
- "prussia", "build_building", 0, "sArmy3_drill_school",
- "mission_text_text_eur_prussia_build_military_heading",
- "mission_text_text_eur_prussia_build_military_text",
- "", 0, "", context,
- false,"grant_experience_army:1") -- NEED TO ADD NEW UNIT?
- end
- local BOOL_prussia_fought_france = false
- local function prussia_research_economics()
- out.ting ("Prussia: Restructuring the State")
- scripting.game_interface:trigger_custom_mission("eur_prussia_research_economics",
- "prussia", "research_technology", 0, "admin1_classical_economics",
- "mission_text_text_eur_prussia_research_economics_heading",
- "mission_text_text_eur_prussia_research_economics_text",
- "", 0, "", context,
- false,"money:2000")
- end
- -- AUSTRIAN MISSIONS
- local function austria_alliance_prussia()
- out.ting ("Austrian-Prussian Alliance")
- scripting.game_interface:trigger_custom_mission("eur_austria_alliance_prussia",
- "austria", "forge_alliance", 0, "prussia",
- "mission_text_text_eur_austria_alliance_prussia_heading",
- "mission_text_text_eur_austria_alliance_prussia_text",
- "", 0, "", context,
- false,"money:1000")
- end
- local function austria_capture_stuttgart()
- out.ting ("Austria: Punishing the Collaborators")
- scripting.game_interface:trigger_custom_mission("eur_austria_capture_stuttgart",
- "austria", "capture_city", 0, "eur_baden_wurttemberg",
- "mission_text_text_eur_austria_capture_stuttgart_heading",
- "mission_text_text_eur_austria_capture_stuttgart_text",
- "", 0, "", context,
- false,"money:1000,grant_unit:Inf_Line_Austrian_German_Fusiliers#settlement:eur_baden_wurttemberg:stuttgart")
- end
- local BOOL_stuttgart_austrian = false
- local function austria_research_poverty_laws()
- out.ting ("Austria: Further the Restoration")
- scripting.game_interface:trigger_custom_mission("eur_austria_research_poverty_laws",
- "austria", "research_technology", 0, "economy1_poverty_control_laws",
- "mission_text_text_eur_austria_research_poverty_laws_heading",
- "mission_text_text_eur_austria_research_poverty_laws_text",
- "", 0, "", context,
- false,"money:2000")
- end
- -- RUSSIAN MISSIONS
- local function russia_alliance_prussia()
- out.ting ("Russia-Prussian Alliance")
- scripting.game_interface:trigger_custom_mission("eur_russia_alliance_prussia",
- "russia", "forge_alliance", 0, "prussia",
- "mission_text_text_eur_russia_alliance_prussia_heading",
- "mission_text_text_eur_russia_alliance_prussia_text",
- "", 0, "", context,
- false,"money:1000")
- end
- local function russia_capture_finland()
- out.ting ("Russia: Settling Old Scores: Finland")
- scripting.game_interface:trigger_custom_mission("eur_russia_capture_finland",
- "russia", "capture_city", 0, "eur_finland",
- "mission_text_text_eur_russia_capture_finland_heading",
- "mission_text_text_eur_russia_capture_finland_text",
- "", 0, "", context,
- false,"money:2000")
- end
- local BOOL_russia_captured_finland = false
- local function russia_capture_bessarabia()
- out.ting ("Russia: Settling Old Scores: The Turks")
- scripting.game_interface:trigger_custom_mission("eur_russia_capture_bessarabia",
- "russia", "capture_city", 0, "eur_moldova_bessarabia",
- "mission_text_text_eur_russia_capture_bessarabia_heading",
- "mission_text_text_eur_russia_capture_bessarabia_text",
- "", 0, "", context,
- false,"money:2000")
- end
- local BOOL_russia_captured_bessarabia = false
- local BOOL_russia_bessarabia_issued = false
- -- BRITISH MISSIONS
- local function britain_blockade_france()
- out.ting ("Britain: Cutting off French Trade")
- scripting.game_interface:trigger_custom_mission("eur_britain_blockade_france",
- "britain", "blockade_port", 0, "port:eur_provence:toulon",
- "mission_text_text_eur_britain_blockade_france_heading",
- "mission_text_text_eur_britain_blockade_france_text",
- "", 0, "", context,
- false,"money:2000")
- end
- local BOOL_britain_blockade_issued = false
- -- PLEASE NOTE!!! THE FOLLOWING MISSION, WHILE REFERING TO britain_alliance_portugal ACTUALLY INVOLVES THE CONQUEST OF BRITTANY!!!
- local function britain_take_brittany()
- out.ting ("Britain: Supporting Our Allies")
- scripting.game_interface:trigger_custom_mission("eur_britain_alliance_portugal",
- "britain", "capture_city", 0, "eur_bretagne",
- "mission_text_text_eur_britain_alliance_portugal_heading",
- "mission_text_text_eur_britain_alliance_portugal_text",
- "", 0, "", context,
- false,"money:2000")
- end
- VAR_france_fought_russia = 0
- BOOL_brittany_issued = false
- BOOL_brittany_exists = false
- BOOL_brittany_british = false
- -- OTHER
- BOOL_france_is_AI = false
- BOOL_france_region_handover = false
- -------------------------------------------------------------------------------------------------------------------------
- --
- -- BATTLE-TRIGGERED MISSIONS
- --
- local function OnBattleCompleted(context)
- out.ting("OnBattleCompleted called")
- if conditions.FactionParticipatedInBattle("france", context) and conditions.FactionParticipatedInBattle("austria", context) and not CampaignUI.IsMultiplayer() then
- out.ting("France fought Austria...")
- if VAR_austria_fought_france == 0 then
- out.ting("...once!")
- VAR_austria_fought_france = 1
- elseif VAR_austria_fought_france == 1 then
- out.ting("...twice!")
- VAR_austria_fought_france = 2
- elseif VAR_austria_fought_france == 2 then
- out.ting("...thrice!")
- prussia_alliance_austria()
- VAR_austria_fought_france = 3
- end
- --[[elseif conditions.FactionParticipatedInBattle("france", context) and conditions.FactionParticipatedInBattle("britain", context) and not BOOL_britain_fought_france and not CampaignUI.IsMultiplayer() then
- out.ting("France fought Britain, telling the british to blockade Toulon.")
- BOOL_britain_fought_france = true
- britain_blockade_france()]]
- end
- if conditions.FactionParticipatedInBattle("france", context) and conditions.FactionParticipatedInBattle("russia", context) and not CampaignUI.IsMultiplayer() then
- out.ting("France fought Russia: "..tostring(VAR_france_fought_russia))
- VAR_france_fought_russia = VAR_france_fought_russia +1
- end
- end
- -------------------------------------------------------------------------------------------------------------------------
- --
- -- OCCUPATION-TRIGGERED MISSIONS AND GUBBINS
- --
- local function OnSettlementOccupied(context)
- if conditions.SettlementIsLocal(context) and conditions.SettlementName("settlement:eur_moldova_bessarabia:iasi", context) then
- out.ting("Bessarabia taken by player.")
- BOOL_russia_captured_bessarabia = true
- end
- if conditions.SettlementIsLocal(context) and conditions.SettlementName("settlement:eur_bretagne:rennes", context) then
- out.ting("Rennes taken by player.")
- BOOL_brittany_british = true
- end
- if conditions.SettlementName("settlement:eur_baden_wurttemberg:stuttgart", context) and conditions.SettlementOwnedBy("austria", context) then
- out.ting("Stuttgart taken by player.")
- BOOL_stuttgart_austrian = true
- end
- end
- -------------------------------------------------------------------------------------------------------------------------
- --
- -- MISSION SUCCESS EVENTS AND EFFECTS
- --
- local function OnMissionSucceeded(context)
- out.ting("Mission Success:")
- -- PRUSSIAN MISSIONS
- if conditions.MissionName("eur_prussia_alliance_austria", context) then
- out.ting("Prussia and Austria are allied!")
- scripting.game_interface:show_message_event("mission_eur_prussia_alliance_austria_success", -26.0, -19.0)
- elseif conditions.MissionName("eur_prussia_alliance_russia", context) then
- out.ting("Prussia and Russia are allied!")
- scripting.game_interface:show_message_event("mission_eur_prussia_alliance_russia_success", 157.0, 134.0)
- elseif conditions.MissionName("eur_prussia_build_military", context) then
- out.ting("Army Reformed!")
- scripting.game_interface:show_message_event("mission_eur_prussia_build_military_success", -68.0, 46.0)
- elseif conditions.MissionName("eur_prussia_research_economics", context) then
- out.ting("State Restructured!")
- scripting.game_interface:show_message_event("mission_eur_prussia_research_economics_success", -68.0, 46.0)
- -- AUSTRIAN MISSIONS
- elseif conditions.MissionName("eur_austria_alliance_prussia", context) then
- out.ting("Austria and Prussia are allied!")
- scripting.game_interface:show_message_event("mission_eur_austria_alliance_prussia_success", -68.0, 43.0)
- elseif conditions.MissionName("eur_austria_capture_stuttgart", context) then
- out.ting("Collaborators Punished!")
- scripting.game_interface:add_time_trigger("austria_take_stuttgart_timer", 0.1)
- elseif conditions.MissionName("eur_austria_research_poverty_laws", context) then
- out.ting("Poverty Laws Researched!")
- scripting.game_interface:show_message_event("mission_eur_austria_research_poverty_laws_success", -26.0, -19.0)
- -- RUSSIAN MISSIONS
- elseif conditions.MissionName("eur_russia_alliance_prussia", context) then
- out.ting("Russia and Prussia are allied!")
- scripting.game_interface:show_message_event("mission_eur_russia_alliance_prussia_success", -68.0, 43.0)
- elseif conditions.MissionName("eur_russia_capture_finland", context) then
- out.ting("Score Settled: Finland!")
- scripting.game_interface:add_time_trigger("russia_take_finland_timer", 0.1)
- elseif conditions.MissionName("eur_russia_capture_bessarabia", context) then
- out.ting("Score Settled: The Turks!")
- scripting.game_interface:add_time_trigger("russia_take_bessarabia_timer", 0.1)
- -- BRITISH MISSIONS
- elseif conditions.MissionName("eur_britain_blockade_france", context) then
- out.ting("Toulon Blockaded!")
- scripting.game_interface:show_message_event("mission_eur_britain_blockade_france_success", -165.0, -78.0)
- elseif conditions.MissionName("eur_britain_alliance_portugal", context) then
- out.ting("Toulon Blockaded!")
- scripting.game_interface:show_message_event("mission_eur_britain_alliance_portugal_success", -68.0, 43.0)
- end
- end
- -------------------------------------------------------------------------------------------------------------------------
- --
- -- TIME TRIGGERS
- --
- local function trigger_russia_prussia()
- out.ting("Triggering Russia-Alliance-Prussia!!!")
- russia_alliance_prussia()
- end
- local function trigger_britain_blockade()
- out.ting("Triggering Britain Alliance Portugal!!!")
- britain_blockade_france()
- end
- local function trigger_prussia_research()
- out.ting("Triggering Prussia Classical Economics!!!")
- prussia_research_economics()
- end
- local function trigger_austria_research()
- out.ting("Triggering Austria Research Poverty Control!!!")
- austria_research_poverty_laws()
- end
- local function trigger_prussia_build_military()
- out.ting("Triggering Prussia Build Military!!!")
- prussia_build_military()
- end
- -- Display the Take Finland Mission success message
- local function russia_take_finland_timer()
- scripting.game_interface:show_message_event("mission_eur_russia_capture_finland_success", 52.0, 149.0)
- BOOL_russia_captured_finland = true
- end
- -- Display the Take Bessarabia Mission success message
- local function russia_take_bessarabia_timer()
- scripting.game_interface:show_message_event("mission_eur_russia_capture_bessarabia_success", 122.0, -26.0)
- BOOL_russia_captured_bessarabia = true
- end
- -- Display the Take Stuttgart Mission success message
- local function austria_take_stuttgart_timer()
- scripting.game_interface:show_message_event("mission_eur_austria_capture_stuttgart_success", -116.0, -2.0)
- end
- -------------------------------------------------------------------------------------------------------------------------
- --
- -- SETTING UP TIMERS
- --
- local function OnTimeTrigger(context)
- if context.string == "trigger_russia_prussia" then
- trigger_russia_prussia()
- elseif context.string == "trigger_britain_blockade" then
- trigger_britain_blockade()
- elseif context.string == "trigger_prussia_research" then
- trigger_prussia_research()
- elseif context.string == "trigger_prussia_build_military" then
- trigger_prussia_build_military()
- elseif context.string == "trigger_austria_research" then
- trigger_austria_research()
- -- Display the Take Finland Mission success message
- elseif context.string == "russia_take_finland_timer" then
- russia_take_finland_timer()
- -- Display the Take Bessarabia Mission success message
- elseif context.string == "russia_take_bessarabia_timer" then
- russia_take_bessarabia_timer()
- -- Display the Take Stuttgart Mission success message
- elseif context.string == "austria_take_stuttgart_timer" then
- austria_take_stuttgart_timer()
- end
- end
- -------------------------------------------------------------------------------------------------------------------------
- --
- -- SAVE AND LOAD BOOLS, PREVENT MISSIONS BEING RE-ISSUED AFTER LOADING A SAVEGAME
- --
- local function OnSavingGame(context)
- scripting.game_interface:save_value(VAR_austria_fought_france, context)
- scripting.game_interface:save_value(BOOL_britain_blockade_issued, context)
- scripting.game_interface:save_value(BOOL_prussia_fought_france, context)
- scripting.game_interface:save_value(BOOL_russia_captured_bessarabia, context)
- scripting.game_interface:save_value(BOOL_russia_captured_finland, context)
- scripting.game_interface:save_value(VAR_france_fought_russia, context)
- scripting.game_interface:save_value(BOOL_brittany_issued, context)
- scripting.game_interface:save_value(BOOL_brittany_exists, context)
- scripting.game_interface:save_value(BOOL_france_is_AI, context)
- scripting.game_interface:save_value(BOOL_france_region_handover, context)
- scripting.game_interface:save_value(BOOL_russia_bessarabia_issued, context)
- scripting.game_interface:save_value(BOOL_brittany_british, context)
- scripting.game_interface:save_value(BOOL_stuttgart_austrian, context)
- end
- local function OnLoadingGame(context)
- VAR_austria_fought_france = scripting.game_interface:load_value(0, context)
- BOOL_britain_blockade_issued = scripting.game_interface:load_value(false, context)
- BOOL_prussia_fought_france = scripting.game_interface:load_value(false, context)
- BOOL_russia_captured_bessarabia = scripting.game_interface:load_value(false, context)
- BOOL_russia_captured_finland = scripting.game_interface:load_value(false, context)
- VAR_france_fought_russia = scripting.game_interface:load_value(0, context)
- BOOL_brittany_issued = scripting.game_interface:load_value(false, context)
- BOOL_brittany_exists = scripting.game_interface:load_value(false, context)
- BOOL_france_is_AI = scripting.game_interface:load_value(false, context)
- BOOL_france_region_handover = scripting.game_interface:load_value(false, context)
- BOOL_russia_bessarabia_issued = scripting.game_interface:load_value(false, context)
- BOOL_brittany_british = scripting.game_interface:load_value(false, context)
- BOOL_stuttgart_austrian = scripting.game_interface:load_value(false, context)
- end
- -------------------------------------------------------------------------------------------------------------------------
- --
- -- TRIGGERS THE INITIAL TURN CAMERA PANS, TIED INTO ADVICE
- --
- local function OnAdviceIssued(context)
- -- 1009a_Campaign_Advice_Austria_Initial_Turns_Thread
- if conditions.AdviceJustDisplayed("773515340", context) and not CampaignUI.IsMultiplayer() then
- scripting.game_interface:steal_user_input(true)
- scripting.game_interface:show_shroud(false)
- scripting.game_interface:set_zoom_limit(1.00, 0.2)
- CampaignUI.ScrollCamera(30,
- {-25.000, -21.000, 0.9},
- {-177.000, -81.000, 0.8},
- {-258.000, -3.000, 0.7},
- {-93.000, -19.000, 0.8})
- camera_pan = 10
- -- 1001a_Campaign_Advice_Britain_Initial_Turns_Thread
- elseif conditions.AdviceJustDisplayed("-1065946002", context) and not CampaignUI.IsMultiplayer() then
- scripting.game_interface:steal_user_input(true)
- scripting.game_interface:show_shroud(false)
- scripting.game_interface:set_zoom_limit(1.00, 0.2)
- CampaignUI.ScrollCamera(33,
- {-242.000, 36.000, 0.9},
- {-210.000, -0.000, 0.7},
- {-114.000, -56.000, 0.75},
- {-26.000, -25.000, 0.8},
- {-91.000, 12.000, 0.65},
- {-153.000, -2.000, 0.95})
- camera_pan = 20
- -- 1005a_Campaign_Advice_Russia_Initial_Turns_Thread
- elseif conditions.AdviceJustDisplayed("704891735", context) and not CampaignUI.IsMultiplayer() then
- scripting.game_interface:steal_user_input(true)
- scripting.game_interface:show_shroud(false)
- scripting.game_interface:set_zoom_limit(1.00, 0.2)
- CampaignUI.ScrollCamera(28,
- {260.000, 83.000, 0.95},
- {-27.000, -60.000, 0.5},
- {-107.000, -18.000, 0.75})
- camera_pan = 30
- -- 1006a_Campaign_Advice_Prussia_Initial_Turns_Thread
- elseif conditions.AdviceJustDisplayed("1248357663", context) and not CampaignUI.IsMultiplayer() then
- scripting.game_interface:steal_user_input(true)
- scripting.game_interface:show_shroud(false)
- scripting.game_interface:set_zoom_limit(1.00, 0.2)
- CampaignUI.ScrollCamera(49,
- {-68.000, 46.000, 0.9},
- {-200.000, 0.000, 0.7},
- {-120.000, -40.000, 0.6},
- {-25.000,-26.000, 0.7},
- {-106.000, -24.000, 0.7})
- camera_pan = 40
- end
- end
- local function OnCameraMoverFinished(context)
- -- 1009a_Campaign_Advice_Austria_Initial_Turns_Thread
- if camera_pan == 10 then
- scripting.game_interface:set_zoom_limit(1.0, 0.5)
- CampaignUI.ScrollCamera(2,
- {-93.000, -19.000, 0.8},
- {-93.000, -19.000, 0.801})
- camera_pan = 11
- elseif camera_pan == 11 then
- CampaignUI.ScrollCamera(27,
- {120.000, 10.000, 0.9},
- {30.000, 63.000, 0.7},
- {-20.000, 24.000, 0.85},
- {-25.000, -21.000, 0.9})
- camera_pan = 12
- elseif camera_pan == 12 then
- scripting.game_interface:show_shroud(true)
- scripting.game_interface:steal_user_input(false)
- scripting.game_interface:set_zoom_limit(1.0, 0.61)
- CampaignUI.SetCameraZoom(0.85)
- CampaignUI.SetCameraTargetInstant(-25.000, -21.000)
- camera_pan = 0
- scripting.game_interface:add_time_trigger("trigger_austria_research", 0.25)
- -- 1001a_Campaign_Advice_Britain_Initial_Turns_Thread
- elseif camera_pan == 20 then
- scripting.game_interface:set_zoom_limit(1.0, 0.5)
- CampaignUI.ScrollCamera(2,
- {-153.000, -2.000, 0.95},
- {-153.000, -2.000, 0.951})
- camera_pan = 21
- elseif camera_pan == 21 then
- scripting.game_interface:set_zoom_limit(1.0, 0.5)
- CampaignUI.ScrollCamera(18,
- {-153.000, -2.000, 0.951},
- {-250.000, 0.000, 0.7},
- {-367.000, -154.000, 0.95})
- camera_pan = 22
- elseif camera_pan == 22 then
- scripting.game_interface:set_zoom_limit(1.0, 0.5)
- CampaignUI.ScrollCamera(4,
- {-367.000, -154.000, 0.95},
- {-367.000, -154.000, 0.951})
- camera_pan = 23
- elseif camera_pan == 23 then
- scripting.game_interface:set_zoom_limit(1.0, 0.5)
- CampaignUI.ScrollCamera(11,
- {-367.000, -154.000, 0.951},
- {-239.000, -85.000, 0.7},
- {-239.000, 30.000, 0.95})
- camera_pan = 24
- elseif camera_pan == 24 then
- scripting.game_interface:show_shroud(true)
- scripting.game_interface:steal_user_input(false)
- scripting.game_interface:set_zoom_limit(1.0, 0.61)
- CampaignUI.SetCameraZoom(0.85)
- CampaignUI.SetCameraTargetInstant(-239.000, 30.000)
- camera_pan = 0
- -- 1005a_Campaign_Advice_Russia_Initial_Turns_Thread
- elseif camera_pan == 30 then
- scripting.game_interface:set_zoom_limit(1.0, 0.5)
- CampaignUI.ScrollCamera(3,
- {-107.000, -18.000, 0.75},
- {-107.000, -18.000, 0.751})
- camera_pan = 31
- elseif camera_pan == 31 then
- scripting.game_interface:set_zoom_limit(1.0, 0.5)
- CampaignUI.ScrollCamera(19,
- {-107.000, -18.000, 0.751},
- {32.000, 32.000, 0.9},
- {256.000, 83.000, 0.7})
- camera_pan = 32
- elseif camera_pan == 32 then
- scripting.game_interface:show_shroud(true)
- scripting.game_interface:steal_user_input(false)
- scripting.game_interface:set_zoom_limit(1.0, 0.61)
- CampaignUI.SetCameraZoom(0.7)
- CampaignUI.SetCameraTargetInstant(256.000, 83.000)
- camera_pan = 0
- scripting.game_interface:add_time_trigger("trigger_russia_prussia", 0.25)
- -- 1006a_Campaign_Advice_Prussia_Initial_Turns_Thread
- elseif camera_pan == 40 then
- scripting.game_interface:set_zoom_limit(1.0, 0.5)
- CampaignUI.ScrollCamera(5,
- {-106.000, -24.000, 0.7},
- {-106.000, -24.000, 0.701})
- camera_pan = 41
- elseif camera_pan == 41 then
- scripting.game_interface:set_zoom_limit(1.0, 0.5)
- CampaignUI.ScrollCamera(18,
- {129.000, 77.000, 0.9},
- {32.000, 33.000, 0.7},
- {-70.000, 46.000, 0.9})
- camera_pan = 42
- elseif camera_pan == 42 then
- scripting.game_interface:show_shroud(true)
- scripting.game_interface:steal_user_input(false)
- scripting.game_interface:set_zoom_limit(1.0, 0.61)
- CampaignUI.SetCameraZoom(0.85)
- CampaignUI.SetCameraTargetInstant(-70.000, 46.000)
- camera_pan = 0
- scripting.game_interface:add_time_trigger("trigger_prussia_build_military", 0.25)
- end
- end
- local function OnCameraMoverCancelled(context)
- if (camera_pan == 10) or (camera_pan == 11) then
- camera_pan = 12
- CampaignUI.StopCamera()
- elseif (camera_pan == 20) or (camera_pan == 21) or (camera_pan == 22) or (camera_pan == 23) then
- camera_pan = 32
- CampaignUI.StopCamera()
- elseif (camera_pan == 30) or (camera_pan == 31) then
- camera_pan = 32
- CampaignUI.StopCamera()
- elseif (camera_pan == 40) or (camera_pan == 41) then
- camera_pan = 42
- CampaignUI.StopCamera()
- end
- OnCameraMoverFinished(context)
- end
- local function OnAdviceDismissed(context)
- if camera_pan ~= 0 then
- -- 1009a_Campaign_Advice_Austria_Initial_Turns_Thread
- if conditions.AdviceJustDisplayed("773515340", context) then
- camera_pan = 12
- CampaignUI.StopCamera()
- -- 1001a_Campaign_Advice_Britain_Initial_Turns_Thread
- elseif conditions.AdviceJustDisplayed("-1065946002", context) then
- camera_pan = 24
- CampaignUI.StopCamera()
- -- 1005a_Campaign_Advice_Russia_Initial_Turns_Thread
- elseif conditions.AdviceJustDisplayed("704891735", context) then
- camera_pan = 32
- CampaignUI.StopCamera()
- -- 1006a_Campaign_Advice_Prussia_Initial_Turns_Thread
- elseif conditions.AdviceJustDisplayed("1248357663", context) then
- camera_pan = 42
- CampaignUI.StopCamera()
- end
- end
- end
- -------------------------------------------------------------------------------------------------------------------------
- --
- -- POSITIONS THE STARTING CAMERA APPROPRIATELY IN MP CAMPAIGNS DEPENDING ON THE CURRENT FACTION
- --
- local function OnFactionTurnStart(context)
- if conditions.TurnNumber(context) == 1 then
- out.ting ("Turn 1")
- if conditions.FactionIsLocal(context) then
- if conditions.FactionName("france", context) and conditions.FactionIsHuman("france", context) and CampaignUI.IsMultiplayer() then
- out.ting("Player is France")
- scripting.game_interface:set_zoom_limit(1.00, 0.61)
- CampaignUI.SetCameraZoom(0.75)
- CampaignUI.SetCameraTargetInstant(-208.0, -2.0)
- elseif conditions.FactionName("austria", context) and conditions.FactionIsHuman("austria", context) and CampaignUI.IsMultiplayer() then
- out.ting("Player is Austria")
- scripting.game_interface:set_zoom_limit(1.00, 0.61)
- CampaignUI.SetCameraZoom(0.75)
- CampaignUI.SetCameraTargetInstant(-26.0, -18.0)
- elseif conditions.FactionName("prussia", context) and conditions.FactionIsHuman("prussia", context) and CampaignUI.IsMultiplayer() then
- out.ting("Player is Prussia")
- scripting.game_interface:set_zoom_limit(1.00, 0.61)
- CampaignUI.SetCameraZoom(0.75)
- CampaignUI.SetCameraTargetInstant(-68.000, 46.000)
- elseif conditions.FactionName("russia", context) and conditions.FactionIsHuman("russia", context) and CampaignUI.IsMultiplayer() then
- out.ting("Player is Russia")
- scripting.game_interface:set_zoom_limit(1.00, 0.61)
- CampaignUI.SetCameraZoom(0.75)
- CampaignUI.SetCameraTargetInstant(256.000, 83.000)
- elseif conditions.FactionName("britain", context) and conditions.FactionIsHuman("britain", context) and CampaignUI.IsMultiplayer() then
- out.ting("Player is Britain")
- scripting.game_interface:set_zoom_limit(1.00, 0.61)
- CampaignUI.SetCameraZoom(0.75)
- CampaignUI.SetCameraTargetInstant(-239.000, 30.000)
- end
- end
- end
- -- If no player is France, inform the other players that the Rhineland states have been given to France
- if conditions.TurnNumber(context) == 2 then
- if conditions.FactionName("austria", context) and conditions.FactionIsHuman("austria", context) and BOOL_france_is_AI then
- scripting.game_interface:show_message_event("campmap_europe_rhineland", -103.0, -21.0)
- if not CampaignUI.IsMultiplayer() then
- austria_alliance_prussia()
- end
- elseif conditions.FactionName("prussia", context) and conditions.FactionIsHuman("prussia", context) and BOOL_france_is_AI then
- scripting.game_interface:show_message_event("campmap_europe_rhineland", -103.0, -21.0)
- if not CampaignUI.IsMultiplayer() then
- prussia_alliance_russia()
- end
- elseif conditions.FactionName("russia", context) and conditions.FactionIsHuman("russia", context) and BOOL_france_is_AI then
- scripting.game_interface:show_message_event("campmap_europe_rhineland", -103.0, -21.0)
- elseif conditions.FactionName("britain", context) and conditions.FactionIsHuman("britain", context) and BOOL_france_is_AI then
- scripting.game_interface:show_message_event("campmap_europe_rhineland", -103.0, -21.0)
- end
- -- Trigger Russia Capture Finland
- elseif conditions.TurnNumber(context) == 3 then
- if conditions.FactionName("russia", context) and conditions.FactionIsHuman("russia", context) and not CampaignUI.IsMultiplayer() then
- russia_capture_finland()
- end
- -- Trigger the Austrian Mission to capture Stuttgart
- elseif conditions.TurnNumber(context) == 4 then
- if conditions.FactionName("austria", context) and conditions.FactionIsHuman("austria", context) and not BOOL_stuttgart_austrian and not CampaignUI.IsMultiplayer() then
- austria_capture_stuttgart()
- -- Trigger the Prussian mission to research tech
- elseif conditions.FactionName("prussia", context) and conditions.FactionIsHuman("prussia", context) and not CampaignUI.IsMultiplayer() then
- prussia_research_economics()
- end
- end
- -- If no player is France, give France the Rhineland states
- if conditions.FactionName("france", context) and not conditions.FactionIsHuman("france", context) and not BOOL_france_region_handover then
- out.ting("Handing regions to the French!")
- scripting.game_interface:grant_faction_handover("france", "bavaria", 0, 0, context)
- scripting.game_interface:grant_faction_handover("france", "wurttemberg", 0, 0, context)
- BOOL_france_is_AI = true
- BOOL_france_region_handover = true
- end
- -- If Finland is taken, tell Russia to take on the Turks as well
- if conditions.FactionName("russia", context) and conditions.FactionIsHuman("russia", context) and BOOL_russia_captured_finland and not BOOL_russia_captured_bessarabia and not BOOL_russia_bessarabia_issued and not CampaignUI.IsMultiplayer() then
- russia_capture_bessarabia()
- BOOL_russia_bessarabia_issued = true
- end
- -- Has Brittany had a turn (does Brittany exist?)
- if conditions.FactionName("brittany", context) then
- BOOL_brittany_exists = true
- end
- -- If the player is Britain and France has engaged Russia, then trigger 'Take Brittany'
- if conditions.FactionName("britain", context) and conditions.FactionIsHuman("britain", context) then
- if not BOOL_brittany_issued and not BOOL_brittany_british and VAR_france_fought_russia ~= 0 and not BOOL_brittany_exists and not CampaignUI.IsMultiplayer() then
- britain_take_brittany()
- BOOL_brittany_issued = true
- end
- if not BOOL_britain_blockade_issued then
- britain_blockade_france()
- BOOL_britain_blockade_issued = true
- end
- end
- local Interfacer = require "EiC_Mod_Tools.Tool Framework.Scripting_Interfacer"
- Interfacer.pre_turn_interface ()
- if CampaignUI.IsPlayersTurn() == true then
- Interfacer.On_Turn_Interfacer ()
- end
- end
- -------------------------------------------------------------------------------------------------------------------------
- --
- -- SET UP THE ESCAPE KEY TO CIRCUMVENT PLAYER INTERACTION LOCKING
- --
- function OnKeyPressed(key, is_key_up)
- if is_key_up == true then
- if key == "ESCAPE" then
- local local_current_advice = current_advice
- if camera_pan ~= "" then
- CampaignUI.StopCamera()
- end
- if local_current_advice ~= "" and local_current_advice == current_advice then
- CampaignUI.DismissAdvice()
- end
- end
- end
- end
- --------------------------------------------------------------------------------------------------------------------
- -- Add event callbacks
- -- For a list of all events supported create a "documentation" directory in your empire directory, run a debug build of the game and see
- -- the events.txt file
- --------------------------------------------------------------------------------------------------------------------
- scripting.AddEventCallBack("FactionTurnStart", OnFactionTurnStart)
- scripting.AddEventCallBack("AdviceIssued", OnAdviceIssued)
- scripting.AddEventCallBack("AdviceDismissed", OnAdviceDismissed)
- scripting.AddEventCallBack("CameraMoverCancelled", OnCameraMoverCancelled)
- scripting.AddEventCallBack("CameraMoverFinished", OnCameraMoverFinished)
- scripting.AddEventCallBack("UICreated", OnUICreated)
- scripting.AddEventCallBack("TimeTrigger", OnTimeTrigger)
- scripting.AddEventCallBack("SavingGame", OnSavingGame)
- scripting.AddEventCallBack("LoadingGame", OnLoadingGame)
- scripting.AddEventCallBack("MissionSucceeded", OnMissionSucceeded)
- scripting.AddEventCallBack("BattleCompleted", OnBattleCompleted)
- scripting.AddEventCallBack("NewCampaignStarted", OnNewCampaignStarted)
- scripting.AddEventCallBack("SettlementOccupied", OnSettlementOccupied)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement