New system for spawning Respawn Pods
My vision based on https://support.keenswh.com/spaceengineers/general/topic/enable-position-based-spawning-of-respawn-pods feedback.
I will try to express and summarize all the ideas that the community proposed in concrete actions.
We have a many different servers and they want use different spawn systems. Then..
Let's give them the choice of what kind of behavior they need, someone needs a different distribution, someone else needs spawn at point with little random, and someone wants a rover spawn on specific planet!
Move all spawn options to the RespawnShips.sbc
Then add new options to the RespawnShips.sbc
and add some popular behaviors to the list.
- RandomPlanetAtmo -new keen system(finds random planet with atmo)uses MinimalAirDensity.
- RandomPlanetNoAtmo -new keen system(finds random planet without atmo)uses altitude.
- PlanetAtPoint - old keen system(finds any closest planet and spawn at random position with given altitude )
- PlanetAtPointAtmo - new system(finds any closest planet with atmo)uses MinimalAirDensity and altitude!
- RandomAsteroid - new system(finds any free asteroid (asteroid should biggest than some minimal size))
- RandomAsteroidAtPoint - new system(finds any free asteroid at the given point,uses Random min/max (asteroid should biggest than some minimal size))
- RandomAtPoint - new system(spawn randomly at point)
- WholeUniverse - classical random spawn
- GroundSpawn - new system(find planet at point finds flat place and spawn rover here and then attach a pilot).
List of current options and what need to be changed:
- int Cooldown - without changes.
- bool UseForSpace - delete it, useless;
- float MinimalAirDensity - used only for RandomPlanetAtmo.
- float PlanetDeployAltitude - used for all PlanetSpawns. And fix thing when im set 100Km altitude and game cant find planet(u have some altitude restrictions in code?)
- bool UseForPlanetsWithAtmosphere - delete it,useless.
- bool UseForPlanetsWithoutAtmosphere - delete it,useless.
- Vector3 InitialLinearVelocity - used for all spawns without rover.
- Vector3 InitialAngularVelocity - used for all spawns without rover.
- bool SpawnWithDefaultItems - good thing useful.keep.
- string HelpTextLocalizationId - useful thing if u add modding support to Localization strings. if not - useless.
- float PlanetSpawnHeightRatio - delete it, use PlanetDeployAltitude instead.
- PositionAndOrientation - delete it becouse we dont need a Forward and Up things.
- string SpawnBehavior - spawn behaviors.
- Vector3 Position - new thing use this instead PositionAndOrientation. Because when spawn game will decide what orientation ship need for chosen behavior.
- float RandomDistanceMin - (optional if not set Min = 0)for any random behaviors. (in meters);
- float RandomDistanceMax - (optional if not set max = world size)for any random behaviors.
Server admin configure this file onсe.
Ps.[To keen] if u implement this fell free to add some additional variables to config.And make guide for all behaviors.And then see a happiness around u.Otherwise, we will have to create a plugin for torch, and a few more admins will make their choice.
Other ppl , see u in comments!