Daedalus, Thermopoly and Stag in endgame

Status
Not open for further replies.
Svered said:
Nyx2k said:
I think that would be possible. But no info regarding that is found in the sr3_city.lua. It is probably located in a different file.

Right now my main objective is, to keep the game exactly the way it is throughout the story and then trigger the changes together with the kill killbane choice mission "Stag Film". So the good ending has noch changes, except the Thermopoly repaired. The other changes will then trigger later. Or even prevent the game from changing some things.
Depends on what works best.
Ok. You should get a purple title. This isn't exactly an easy undertaking.
Also, lines 154-16-something seems to have some sort of pull on what the zones are after the choice. So,
Code:
function m22_coop_skip(skip_teleport)
	sr3_teleport_mission_start("m22", skip_teleport)
	if game_choice_get_state( MISSION_22_CHOICE ) == M22_CHOICE_KILLBANE_KILL then
		mission_unlock( "m23" )
		city_zone_swap("rubble") -- Player went for Killbane, statue got blowed up
	else
		mission_unlock( "m24" )
	end
end
could become
Code:
function m22_coop_skip(skip_teleport)
	sr3_teleport_mission_start("m22", skip_teleport)
	if game_choice_get_state( MISSION_22_CHOICE ) == M22_CHOICE_KILLBANE_KILL then
		mission_unlock( "m23" )
		city_zone_swap("rubble") -- Player went for Killbane, statue got blowed up
      city_zone_swap("daedext1", true) -- swap in the daedalus exterior
      city_zone_swap("lockdown", true)
      city_zone_swap("thermext1", true) -- Thermopolye moves to south of DT
      city_zone_swap("therm2", true) -- This swap just the interior trigger and volume for thermext1.  Those two should be consolidated.
      city_zone_swap("therm3_dst", false)
      set_stag_active(true)
      spawn_override_change_hood_alternate_spawning("HOOD_DT_02", true)
      spawn_override_change_hood_alternate_spawning("HOOD_DT_03", true)
      set_stag_notoriety_area_active(false)
      traffic_disable_drawbridge_area(34, true) -- Disables splines on road through Sunset Park that STAG cordons off
	
	else
		mission_unlock( "m24" )
      city_zone_swap("lockdown", true)
      city_zone_swap("thermext1", true) -- Thermopolye moves to south of DT
      city_zone_swap("therm2", true) -- This swap just the interior trigger and volume for thermext1.  Those two should be consolidated.
      city_zone_swap("therm3_dst", false)
      set_stag_active(true)
      spawn_override_change_hood_alternate_spawning("HOOD_DT_02", true)
      spawn_override_change_hood_alternate_spawning("HOOD_DT_03", true)
      set_stag_notoriety_area_active(false)
      traffic_disable_drawbridge_area(34, true) -- Disables splines on road through Sunset Park that STAG cordons off
	end
end
Or did you try that.
Also, where did you find the zone swap names, like for the daedalus?
They are mentioned in the mission luas.
 
Svered said:
Does it work with post endgame saves, or do you have to play the game again?

Works with both. tried it with all kinds of savegames, aswell to verify the function of triggering changes after one of the Endgame missions. The thermopoly completely disappears after its destroyed and then shows up again fixed after the ending. (thats necessary to prevent the game from spawning a broken High res model and the fixed low res model, which is fly through and will not disappear.)

So far it works as intended, but a few things still annoy me.
-choosing the good ending before the bad ending, glitches the bad endings beginning Cutscene and the daedalus flies straight through itsself. After it is destroyed in its mission, is back as usual.
-You cant enter the Thermopoly. There is no trigger that teleports you into the interieur.
-Not a single STAG unit is present on any of the carriers.

Someone could help me out with that? If you have any ideas or want to try something out yourself, go ahead.
 
Might want to see if you can get this stuff in so that, if this is what I think it is, you can't walk around in the engines of the daedalus.
Code:
-- Kill Regions --
    M23_kill_regions = {    "tgr_daed_eng_kill 001", "tgr_daed_eng_kill 002", "tgr_daed_eng_kill 003", "tgr_daed_eng_kill 004",
                                "tgr_daed_eng_kill 005", "tgr_daed_eng_kill 006", "tgr_daed_eng_kill 007", "tgr_daed_eng_kill 008",
                                "tgr_daed_eng_kill 009", "tgr_daed_eng_kill 010", "tgr_daed_eng_kill 011", "tgr_daed_eng_kill 012",
                                "tgr_daed_eng_kill 013", "tgr_daed_eng_kill 014", "tgr_daed_eng_kill 015", "tgr_daed_eng_kill 016",
    }
 
-- Set up kill regions
    for i, region in pairs(M23_kill_regions) do
        trigger_enable(region, true)
        on_trigger("m23_engine_death_cb", region)
    end
Also, I found this:
Code:
daedalus_vtols_01 = {
            name = "Group_daedalus_vtols 001",
            vtols = { "veh_daedalus_vtol 001", "veh_daedalus_vtol 002", "veh_daedalus_vtol 004", "veh_daedalus_vtol 005", "veh_daedalus_vtol 006" },
        },
 
-- Creates the group of VTOLs on the landing deck.
function m23_create_landing_deck_vtols()
    group_create(M23_groups.daedalus_vtols_01.name, true)
    turn_invulnerable(M23_groups.daedalus_vtols_01.vtols[1])
    on_vehicle_enter("m23_invuln_vtol_enter", M23_groups.daedalus_vtols_01.vtols[1])
end
 
Now thats a really cool find. All I need to do is to find out how to implement the code. Ill try around a bit.
 
Hmm. I'm wondering if when lockdown is active, maybe stag stops spawning on the Thermopylae, since I can't find anything about it within either mission 10 (when the Thermopylae arrives), and mission 17 (when the Thermopylae is destroyed.)
New Stuff:
Code:
-- Callback function for when the player flies a vehicle/lands in the engines
function m23_engine_death_cb(char, trigger)
    if character_is_in_vehicle(char) then
        vehicle_detonate(get_char_vehicle_name(char))
    end
 
    delay(1.0)
    m23_insta_kill_character(char, true)
end
 
-- Continuous Spawn Groups --
M23_spawn_groups = {
defensive_01 = "Group_stag_cs_defense 001",
defensive_02 = "Group_stag_cs_defense 002",
offensive_01 = "Group_stag_cs_offense 001",
offensive_02 = "Group_stag_cs_offense 002",
riotshield_01 = "Group_stag_cs_riotshield 001",
-- sniper_01 = "Group_stag_cs_sniper 001",
}
 
-- Spawn Regions --
M23_spawn_regions = {
landing_deck = {"spr_landing_deck 001", "spr_landing_deck 002", "spr_landing_deck 003", "spr_landing_deck 004",
"spr_landing_deck 005", "spr_landing_deck 006", "spr_landing_deck 007", "spr_landing_deck 008",
"spr_landing_deck 009", "spr_landing_deck 010", "spr_landing_deck 011" },
 
cyrus_deck = { "spr_deck_reinforce 001", "spr_deck_reinforce 002", "spr_deck_reinforce 003",
"spr_deck_reinforce 004", "spr_deck_reinforce 005" },
}
 
-- Setup and start the continuous spawn for the landing deck of the Daedalus
function m23_setup_landing_deck_cont_spawn()
    -- Start the continuous spawn
    spawn_region_max_spawn_dist(150.0)
    continuous_spawn_regions_enable(M23_spawn_regions.landing_deck, true)
    continuous_spawn_start(M23_spawn_groups.defensive_01, 0, 5)
    continuous_spawn_start(M23_spawn_groups.defensive_02, 0, 5)
    continuous_spawn_start(M23_spawn_groups.offensive_01, 0, 5)
    continuous_spawn_start(M23_spawn_groups.riotshield_01, 0, 5)
end
 
Okay, I found a zone swap for the Thermopylae interieur, but somehow it has no effect. Aside from that I found a collision Bug with the Thermopylae Exterieur. On the main deck, there is a door on the far left side, when looking from the front of the carrier to the back. If you enter that open door, and go to the back wall, you will fall through the model and land inside the ship. Nothing in there sadly.:( Strangely, STAG soldiers started spawning on deck.

The VTOL Spawning for the Daedalus didnt work. There seem to be triggers needed for any of that to work correctly. Editing the mission directly doesnt seem to have any effect at all. Alternative we could try to prevent the mission to despawn and delete some objects in the first place. This could have the desired effect.
 
They spawned on deck when you went into the glitch area, or they spawned before that? Also, did you test out the engine code? Ooh. Forgot something. It should be something like:
Code:
M23_groups = {
        daedalus_vtols_01 = {
            name = "Group_daedalus_vtols 001",
            vtols = { "veh_daedalus_vtol 001", "veh_daedalus_vtol 002", "veh_daedalus_vtol 004", "veh_daedalus_vtol 005", "veh_daedalus_vtol 006" },
        }
}
/stupid
I really want to see this come to fruition, because it would be amazing.
 
The Soldiers started spawning as soon as I flew over the Thermopylae. The Engine Code dind´t work. I´ll be trying again with a different save.
 
Okay, my results so far are as follows.
No matter what save I use and where I place the code, STAG Units will not spawn at the Daedalus. No vehicles, no NPCs.. nothing.
Engine areas are not deadly, no change there.
Thermopylae: No vehicle spawns (except the Vtols that attack you at 5 star wanted level), NPCs do infact spawn, but only once the player sets foot on the carrier, and then they spawn in mid air and drop down.

I have read through mission luas, pasted about 2 pages of code around, but no luck. I seem to be stuck at that point.

Different thought, I tried preventing the mission M23, which is the Daedalus mission, to delete the groups and disable the Daedalus, but somehow it didnt work. I wounder if it is possible, to not edit the sr3_city.lua, but the missions directly do make the changes. Someone up for that? Ill keep trying nontheless, but as I said, I seem to be at a dead end.
 
Status
Not open for further replies.
Back
Top