- Added
info_targetentity. Nothing but a named Node3D. - Added
info_teleport_destinationentity. Same asinfo_targetbut with visualised with a player spawn location and orientable
- Added
AbstractTriggerVolumeclass as a subclass ofArea3D. Requireshandle_contact(player: PlayerController)be implemented - Added
trigger_teleportentity as anAbstractTriggerVolume. Teleports the player on contact to either aninfo_targetor aninfo_teleport_destination. If the target is a teleport destination also rotates the players vision to match the new location. - Migrated
trigger_respawn,trigger_win,trigger_timetrial_start,trigger_timetrial_checkpointandtrigger_timetrial_finishto be descendants ofAbstractTriggerVolume. - PlayerController now calls
handle_contactandhandle_leaveon contact with an Area3D AbstractTriggerVolume. All existing_on_enter_trigger_volumeand_on_exit_trigger_volumehas been reduced to these calls. - Backstage now emits
map_change_startedbefore beginning a map change or hot reload. - GameManager now emits
backstage_readyonce backstage is available. - TimeTrialManager now supports ending timetrial mode. All timetrial state is reset back to null or zero. This currently purges the set PB and split. Timetrial mode will automatically end if a map change is triggered.
- TimeTrialManager emits a warning in the console if the current map doesn’t support time trial mode.
- Added
trigger_repeatablebrush entity. On contact with the player, callsdo_trigger()on every node in its “target” group that has a “do_trigger” method. - Added
info_commandentity. The first entity to supportdo_trigger(). Takes a command string an a property. When triggered, executes the given command in the console. - Added the ledge grab monolith to test_movement. Each pillar is constructed a different way. Allowed me to determine that the phantom ledge grab bug is specific to gaps between ConcavePolygonShape3Ds.