FakeFishGames / Barotrauma

A 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
http://www.barotraumagame.com/
1.76k stars 406 forks source link

Monsters will always spawn away from remote control submarines, but always near the main sub, when both are driving in tandem. #7569

Open Kaillera opened 2 years ago

Kaillera commented 2 years ago

Description I've been playing around with submarines like Kastrul, Remora or my own Kail Terra that has a remote controlled drone. Whenever I am manning the drone from inside the submarine, I can influence where the monster events don't spawn from. It also creates a bit of an annoyance where you cannot preemptively use the drone to scout for enemies, or use it as a bodyguard.

So what's happening is if the main submarine is going forward, and you are driving the drone ahead of the main submarine to right: Monsters will only spawn near the main submarine on top, behind, or below it. Also from what it looks like, the enemies will spawn pretty much right next to the main submarine and already attacking instead of some distance away from it.

Steps To Reproduce

  1. Play Kastrul or Remora
  2. Set the Main Sub on Auto Pilot to the next station
  3. Man the Drone as a scout and stay ahead of the main sub by ~50 meters.
  4. Cross the threshold for monster events.

The monsters will never appear in front of the drone, just somewhere around the main sub away from the drone.

Version ~0.15.16.0

Regalis11 commented 1 year ago

This would be very quick fix fix (adjust the minimum distance in MonsterEvent.GetMinDistanceToSub if there's no-one inside the sub), but I wonder if that'd make sense. It would allow the monsters to spawn within the sonar range of the drone/shuttle, and that might feel even more of a bug/issue than this.

itchyOwl commented 8 months ago

Ah, yeah Idk if that would work. I remember trying something for this last summer (as seen in the log, but there was some issues with the implementation, and it was the last day I was working before the summer holidays. I think I'll try again.