-
Notifications
You must be signed in to change notification settings - Fork 210
Scenario script Rescue and related audio files #2597
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Rescue scientist from the Kraylor Any number of player ships, different terrain each time With default settings: - runs in 30 - 60 minutes - low to medium difficulty (adjustable)
|
Error on launch in master branch/ECS: I tried extending SpaceObject checks like to also check for the On starting the scenario and unpausing it, no further error messages are emitted. The briefing voice clip plays and the terrain is generated, but no player entities are created. If I create one manually and join it, I see that the mission had instantly failed. |
|
I need to look at the asserts. Looks like the assumptions made for pre-ECS no longer apply to ECS. I'll try removing the asserts and see what other errors (if any) occur. The asserts were probably put in more to tell me when I passed in the wrong parameters or stored the wrong things in the item list. |
|
The scenario does not create a player ship. If it's still failing instantly when a player ship is spawned then this logic in the if delta == 0 then
if deployed_players ~= nil then
for i,dp in ipairs(deployed_players) do
for j,p in ipairs(getActivePlayerShips()) do
if p == dp.p then
dp.name = p:getCallSign()
end
end
end
end
return --because the scenario is paused
end |
|
That seems to be the case. If I unpause the scenario without a playership, it instantly fails, which sounds like the expected behavior. If I create a playership first and then unpause the scenario, I get errors on L3140 is the I see that comms_scenario_utility populates a |
|
The legacy description of |
|
As best as I can tell, it should be set the local variable base_range on line 1906: It gets this from p.normal_long_range_radar. This value should be set in line 2047: temp_type_name (aka template name) is set in the same function on line 2037: player_ship_types is set starting on line 360 in the setGlobals function If these variables are not set right, I could see where base_range is not set. My first suspect is getTypeName() |
|
I'm learning a lot about Lua EE handles properties on entity userdata, so that's not it. It's #2602, and GinjaNinja32 fixes it in #2601. |
|
With that patch to fix
|
|
The scan probes are only temporarily located on the station. Once you unpause, they should travel off to their destination. They should not end up on top of another station. If they do, that's a problem. The scan probes are more decoration than anything. I can simply remove them if they are not going to work correctly in ECS
local station_pool = getStationPool(placement_area)
local owner = tableSelectRandom(station_pool)
local s_x, s_y = owner:getPosition()
object:setLifetime(20*60):setOwner(owner):setTarget(eo_x,eo_y):setPosition(s_x,s_y)
object:onExpiration(probeExpired)
object:onDestruction(probeDestroyed)
object = VisualAsteroid():setPosition(eo_x,eo_y)If you see generic comms for stations, that's a problem. They should be using the comms utility. Placing a station follows this pattern (line 841): The placeStation function can be found in place_station_scenario_utility.lua (line 33). This function calls pickStation, where the default comms are replaced with the comms in comms_scenario_utility.lua on line 170: Instead of a brute force search, the players can contact the station to get information on other stations in the area which leads them to the research station where they are supposed to get the scientist. I can't do anything about the docking shenanigans. It works fine in legacy |
|
probes not moving was a bug in the new API. |
Rescue scientist from Kraylor
Supports any number of player ships simultaneously
Different terrain each time the scenario is run
With the default settings:
Uses utility files: