EvilEngine/DYNA/game object:Taxi

From Heavy Iron Modding

Games usedBattle for Bikini Bottom
Source codezTaxi.h

This asset defines a Taxi Stand, which lets SpongeBob take the taxi to another area of Bikini Bottom.

Its position is defined by a Marker, which is usually placed at the bottom center of a taxistand Simple Object. The game uses the marker as the base position at which to create a sphere (or cylinder?) shaped trigger. When SpongeBob enters this trigger a Talk Box​​ is displayed, usually asking the player if they want to enter a specific area of the game. If the player answers Yes then a taxi drive-by animation plays using a taxi SIMP and a Camera, and two internal timers are started, which when expired make SpongeBob invisible and teleport the player to a different level using a Portal. However, if Sandy or Patrick enters the trigger, a default "Only SpongeBob can use the Taxi" talk box is displayed instead.

Note that the taxistand SIMP is completely separate from the Taxi Stand game object, it doesn't have to be at the same place as the marker or even exist in the first place.

Code for this dyna type can also be found in The SpongeBob SquarePants Movie but it doesn't seem to work in-game.

Offset Type Variable Description
0x00 AssetID (Marker) marker Center point of the Taxi Stand trigger. Typically placed at the bottom center of a taxistand SIMP.
0x04 AssetID (Camera) cameraID Camera to switch to for the taxi drive-by animation. Usually it's pointed directly towards the taxistand simp and placed relatively low so as to maintain the illusion of SpongeBob being "picked up" by the taxi.
0x08 AssetID (Portal) portalID Portal to teleport the player with after portalDelay expires. Note that if the destination level is the same as the current one, the game will soft-lock.
0x0C AssetID (game_object:talk_box​​) talkBoxID Talk Box to start conversation with upon the player entering the Taxi Stand trigger.
0x10 AssetID (Text​) textID Text to display on the talkbox.
0x14 AssetID (Simple Object​) taxiID Simple Object to use for the taxi drive-by animation. The position of the taxi is the where the midpoint of the animation will be, so usually it's placed right in front of the taxistand simp and rotated perpendicular to it.
0x18 float invTimer Time in seconds after the taxi drive-by animation starts to make the player invisible.
0x1C float portalDelay Time in seconds after the taxi drive-by animation starts to teleport the player with the portal.