Sightseeing module doesn't benefit from launching the rocket


Coolthulhu
  • Branch: Live Branch Version: Windows Pending

Sightseeing seems to have an effect created for it. This effect is not applied to duplicants who were in a sightseeing module in a rocket that just came back.

The stress-reducing effect of sightseeing can be replicated by having a duplicant enter the module and then immediately come out. This will reset stress to 5% and remove existing morale effects.

Not sure which one is a bug here since the description is ambiguous.


Steps to Reproduce
Launch a rocket with a duplicant in a sightseeing module. Wait for it to return. Have another duplicant come into the sightseeing module and then immediately de-assign them. Compare effects on two dupes (one who saw the cosmos, other who didn't).
  • Like 3


User Feedback


....

I just want to add a little more information.

If Gantry retrated or missing, when Rocket to land, game kicked tourist from Sight-Seeing Module immediately, and tourist did not receive buff.

457140_20191218151503_1.thumb.png.81bc1e815a57d78d5e2a6a9a0a31287c.png

If Gantry extended, when Rocket to land, Gantry will brocken by rocket engine, and then game immediately crashed.

Spoiler

457140_20191218152405_1.thumb.png.2ace768545b41d42d5b306bad5a12f0e.png

Lets go see gamelog
Crash happened when game kicked tourist from Sight-Seeing Module.

NullReferenceException: Object reference not set to an instance of an object
  at TouristModule.ReleaseAstronaut (System.Object data, Boolean applyBuff) [0x00000] in <filename unknown>:0 
  at TouristModule+StatesInstance+<StatesInstance>c__AnonStorey0.<>m__0 (System.Object data) [0x00000] in <filename unknown>:0 
  at EventSystem.Trigger (UnityEngine.GameObject go, Int32 hash, System.Object data) [0x00000] in <filename unknown>:0 
  at EventExtensions.Trigger (UnityEngine.GameObject go, Int32 hash, System.Object data) [0x00000] in <filename unknown>:0 
  at LaunchableRocket+States.<InitializeStates>m__8 (.StatesInstance smi, Single dt) [0x00000] in <filename unknown>:0 
  at BucketUpdater`1[LaunchableRocket+StatesInstance].Update (.StatesInstance data, Single dt) [0x00000] in <filename unknown>:0 
  at UpdateBucketWithUpdater`1[LaunchableRocket+StatesInstance].Update (Single dt) [0x00000] in <filename unknown>:0 
  at StateMachineUpdater+BucketGroup.AdvanceOneSubTick (Single dt) [0x00000] in <filename unknown>:0 
  at StateMachineUpdater.AdvanceOneSimSubTick () [0x00000] in <filename unknown>:0 
  at Game.SimEveryTick (Single dt) [0x00000] in <filename unknown>:0 
  at Game.Update () [0x00000] in <filename unknown>:0 

Lets go see decompiler
Yes, that’s written. No floor underfoot - no buff.

// TouristModule

public void ReleaseAstronaut(object data, bool applyBuff = false)
	{
		if (!releasingAstronaut)
		{
			releasingAstronaut = true;
			MinionStorage component = GetComponent<MinionStorage>();
			List<MinionStorage.Info> storedMinionInfo = component.GetStoredMinionInfo();
			for (int num = storedMinionInfo.Count - 1; num >= 0; num--)
			{
				MinionStorage.Info info = storedMinionInfo[num];
				GameObject gameObject = component.DeserializeMinion(info.id, Grid.CellToPos(Grid.PosToCell(base.smi.master.transform.GetPosition())));
				if (Grid.FakeFloor[Grid.OffsetCell(Grid.PosToCell(base.smi.master.gameObject), 0, -1)])
				{
					gameObject.GetComponent<Navigator>().SetCurrentNavType(NavType.Floor);
					if (applyBuff)
					{
						gameObject.GetComponent<Effects>().Add(Db.Get().effects.Get("SpaceTourist"), true);
						gameObject.GetSMI<JoyBehaviourMonitor.Instance>().GoToOverjoyed();
					}
				}
			}
			releasingAstronaut = false;
		}
	}

I made a test map, in the attached save file the rocket lands in a few seconds. You can control the Gantry using the Hydrosensor.

Note. In earlier versions before Recreation Pack Upgrade, when Gantry extended and Rocket to land, game did not crashed and tourist could receive buff.

Player.log

Dreamland.sav

  • Thanks 2

Share this comment


Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now