extends "res://scripts/AlternativeChoices/AlternativeChoiceBase.gd" var cursorRight = preload("res://resources/cursors/man_right.webp") var cursorLeft = preload("res://resources/cursors/man_left.webp") var movingLeft = false; var movingRight = false; const movingSpeed = 310; const edgePosition = - 920; func Localization(): localization = ["", "", "", "choice22.8", "choice22.6", "choice22.5", "choice22.4"]; func SetCursorStates(): cursorStates = [CursorState.Walk, CursorState.Talk, CursorState.Talk, CursorState.Walk, CursorState.Walk, CursorState.Walk, CursorState.Walk, ]; func AdjustLabels(): var goOutside = get_node("Labels/4"); goOutside.rect_global_position = Vector2(goOutside.rect_global_position.x - 10, goOutside.rect_global_position.y - 10); get_node("Labels/5").rect_global_position.y = get_node("Labels/5").rect_global_position.y - 35; get_node("Labels/6").rect_global_position.y = get_node("Labels/6").rect_global_position.y - 20; get_node("Labels/7").rect_global_position.y = get_node("Labels/7").rect_global_position.y - 20; func CheckForVariables(): get_node("SpriteButtons/Red").visible = Dialogic.get_variable("Is_Red_Dead") == "0"; get_node("SpriteButtons/White").visible = Dialogic.get_variable("Is_White_Dead") == "0"; if Dialogic.get_variable("LightsOn") == "0": $SpriteButtons / Garage.texture_normal = load("res://resources/AlternativeChoices/Timeline_120/Door_night.webp"); var xPos = int(Dialogic.get_variable("PanoramaPosition")); $SpriteButtons.position.x = xPos; $Labels.position.x = xPos; func s(variable:String)->bool: return Dialogic.get_variable(variable) == "0"; func _on_2_button_up(): if not CheckHover():return ; if Dialogic.get_variable("Timeline144") == "0": Dialogic.set_variable("PreviousTimelineChoice", "144"); else : Dialogic.set_variable("PreviousTimelineChoice", "boys"); End() func _on_4_button_up(): if not CheckHover():return ; if Dialogic.get_variable("Timeline142") == "0": Dialogic.set_variable("PreviousTimelineChoice", "142"); else : Dialogic.set_variable("PreviousTimelineChoice", "boys"); End() func _on_15_button_up(): if not CheckHover():return ; Dialogic.set_variable("PreviousTimelineChoice", "141"); End() func _on_Stairs_button_up(): if not CheckHover():return ; Dialogic.set_variable("PreviousTimelineChoice", "2nd_floor"); End() func _on_Garage_button_up(): if not CheckHover():return ; Dialogic.set_variable("PreviousTimelineChoice", "142_h"); End() func _on_Basement_button_up(): if not CheckHover():return ; Dialogic.set_variable("PreviousTimelineChoice", "143"); End() func _on_Kitchen_button_up(): if not CheckHover():return ; Dialogic.set_variable("PreviousTimelineChoice", "149"); End() func _on_LeftMove_mouse_entered(): if get_tree().root.get_node("Root/Background/Panorama").position.x < 0: Input.set_custom_mouse_cursor(cursorLeft) movingLeft = true $WalkingEffect.play() func _on_LeftMove_mouse_exited(): Input.set_custom_mouse_cursor(arrowCursor) movingLeft = false Dialogic.set_variable("PanoramaPosition", get_tree().root.get_node("Root/Background/Panorama").position.x) $WalkingEffect.stop() func _on_RightMove_mouse_entered(): if get_tree().root.get_node("Root/Background/Panorama").position.x > edgePosition: Input.set_custom_mouse_cursor(cursorRight, 0, Vector2(50, 0)) movingRight = true $WalkingEffect.play() func _on_RightMove_mouse_exited(): Input.set_custom_mouse_cursor(arrowCursor) movingRight = false Dialogic.set_variable("PanoramaPosition", get_tree().root.get_node("Root/Background/Panorama").position.x) $WalkingEffect.stop() func _process(delta): if not get_tree().root.has_node("Root/Background/Panorama"): return ; if get_tree().root.get_node("Root/Background/Panorama").position.x == 0: if $MovingControls / LeftMove.visible: $MovingControls / LeftMove.visible = false; _on_LeftMove_mouse_exited(); elif get_tree().root.get_node("Root/Background/Panorama").position.x == edgePosition: if $MovingControls / RightMove.visible: $MovingControls / RightMove.visible = false; _on_RightMove_mouse_exited(); else : if not $MovingControls / LeftMove.visible: $MovingControls / LeftMove.visible = true if not $MovingControls / RightMove.visible: $MovingControls / RightMove.visible = true; if movingLeft: $SpriteButtons.position.x += delta * movingSpeed $Labels.position.x += delta * movingSpeed var back = get_tree().root.get_node("Root/Background/Panorama"); back.position.x += delta * movingSpeed back.UpdateContainerSound(back.position.x); if back.position.x > 0: back.position.x = 0 $SpriteButtons.position.x = 0 $Labels.position.x = 0 movingLeft = false elif movingRight: $SpriteButtons.position.x -= delta * movingSpeed $Labels.position.x -= delta * movingSpeed var back = get_tree().root.get_node("Root/Background/Panorama"); back.position.x -= delta * movingSpeed back.UpdateContainerSound(back.position.x); if back.position.x < edgePosition: back.position.x = edgePosition $SpriteButtons.position.x = edgePosition $Labels.position.x = edgePosition movingRight = false if isHovering: return ; tempDelta += delta; if tempDelta > 0.2: tempDelta = 0; if shaderValue <= - 0.05: isRising = true if shaderValue >= 0.13: isRising = false; if isRising: shaderValue += 0.01; else : shaderValue -= 0.01; var buttons = $SpriteButtons.get_children(); for i in buttons: i.material.set_shader_param("mixing", shaderValue); else : tempDelta += delta;