cawez_puzzlebox/globals.gd
2024-06-22 18:04:25 -04:00

74 lines
1.5 KiB
GDScript

extends Node
# Custom Settings
var sensitivity = 0.004
var fov = 75
# World Settings
var global_down = Vector3(0,0,0)
# Player values accessed elsewhere
var restart = false
var next = false
var fractal = 0
var fractal_min = 0
var fractal_max = 10
func _ready():
set_global_down(Vector3(0,-1,0))
func _process(delta):
var amount = Input.get_axis("less", "more") * delta * 5
fractal = clampf(fractal + amount, fractal_min, fractal_max)
if Input.get_action_strength("restart") > 0.0:
restart = true
if Input.is_action_just_released("fullscreen"):
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
else:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN)
func change_fractal(base, new_min, new_max):
fractal = base
fractal_min = new_min
fractal_max = new_max
func set_global_down(new_down: Vector3):
var old_down = global_down
global_down = new_down.normalized()
# Applies jitter
global_down += old_down * 0.01
# Jitter not enough?
global_down += Vector3(0.002, 0, 0)
# REMINDER:
# Player can jump EXACTLY 20 units!
# Layer 1 : everything
# Layer 2 : reflection probe
# Layer 3 : player
# Layer 4 : activate button
# Layer 5 : non-player killable
# Layer 6 : forgive jump
# Center:
# Gravity
# White: Tile
# Blue: Down
# Yellow: Track
# Green: None
# Outer:
# Behaviour
# White: Nothing
# Red: No death
# Purple: Fractal