Elevators

Issue #194 on hold
Peter Tigges created an issue

Example Nova Orion Station (with example height values)

  • 3 floors

    • 1st floor ( height 0 )
    • 2nd floor ( height 10 )
    • 3rd floor ( height 20 )
  • all 3 floors share the same cell id (tube like covering all floors)

  • elevators use the same cell for all floors except a different height value
  • player will be “moved” vertically inside the same cell to a new height
  • no use of ground floor … lowest floor is always 1 … above ones go +1 each
  • going from 1st floor to 3rd floor will be like this => 1 to 2 , 2 to 3 and vice versa
  • lowest floor cant have DOWN button
  • highest floor cant have UP button
  • floors between it will have UP and DOWN buttons

Function:

Player stands in 1st floor (first screenshot) in front of UP button. As soon as he presses the UP button it gets type of button (UP or DOWN), cell_id and building template the character is currently being in ( in this case “object/building/content/nova_orion_station/shared_chapter_8_space_station.iff” ).

System now checks for a match in column button / template and from_cell_id. if positive then use the new height value in column to_height.

to_cell_id is currently not being used since we use the same cell but in future we can/should be able to warp/teleport characters to different cells and positions. additional values for xyz will then be needed but we skip it for now

Button template:

  • object/tangible/terminal/terminal_elevator_up.iff
  • object/tangible/terminal/terminal_elevator_down.iff

Rule:

  • range to button max 3m otherwise => too_far

Sound effect:

  • clienteffect/elevator_rise.cef
  • clienteffect/elevator_descend.cef

String:

  • stf file => elevator_text
  • highest_floor
  • lowest_floor

Comments (3)

  1. Log in to comment