Initial commit

This commit is contained in:
2026-01-21 23:51:53 +01:00
commit 60b208fee0
1703 changed files with 100223 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
[gd_scene load_steps=8 format=4 uid="uid://c52lwhaynro5j"]
[ext_resource type="Script" uid="uid://ymaax1x5fos3" path="res://script/interactBox.gd" id="1_6mmea"]
[ext_resource type="Script" uid="uid://cjiiw7cybj24b" path="res://script/ButtonLogicImpulse.gd" id="2_k0gfg"]
[sub_resource type="BoxShape3D" id="BoxShape3D_opyex"]
size = Vector3(0.536865, 1.14282, 0.68985)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xirvw"]
[sub_resource type="ArrayMesh" id="ArrayMesh_lel7i"]
_surfaces = [{
"aabb": AABB(-0.187632, -0.315404, -0.206013, 0.370945, 0.461035, 0.430153),
"format": 34359742465,
"index_count": 552,
"index_data": PackedByteArray("AAABAAIAAgABADEAAgAxAAMAAAAFAAEABgAFAAAAAwAxADIAAwAyAAQAMwAxAAEAMQAzABAAAQAJADMABgAHAAUACAAHAAYANAABAAUAAQA0AAkABQAdADQANQAJADQAHQA1ADQAFwAzAAkAMwAXABAAFwAJADYACQAZADYACQA1ABkANwAXADYAGQA3ADYAFgAQABcANwAWABcAFgA4ABAAGQA5ADcAOgA4ABYAEAA4ABUAOgAVADgAEAAVADsAMQAQADsAOwAyADEAGAAWADcAGAA6ABYANwA8ABgANwA5ADwAPQA6ABgAGAA8AD4AGAA+AD0APQATADoAEwAVADoAPwATAD0APwA9AD4AEwBAABUAOwAVAEAAPwASABMAEgBAABMAOwBAABEAEgARAEAAMgA7ABEAEgBBABEAMgARAEEAQgASAD8AEgBCAEEAQQANADIADQBBAEIABAAyAA0ABAANAAwADAANAAoADAAKAAsADQBCAA4ADgAKAA0AQgBDAA4ACwAKAEQACwBEAAgACgAOAEUAQwBFAA4ACABEAAcARgBEAAoACgBFAEYARABGACcAKQBGAEUARgApACcAKQBFAEcARQAqAEcARQBDACoASAApAEcAKgBIAEcAKAAnACkASAAoACkAKAAmACcARAAnAA8ADwAHAEQAJwAmAEkAJwBJAA8ASgAmACgASgBJACYASwAoAEgASwBKACgABwAPACMADwBJACQADwAkACMAJQBJAEoAJQAkAEkATABKAEsATAAlAEoABwAjACEAIQAFAAcAJAAiACMAIgAhACMAJAAlACIABQAhAB0AIgAdACEAJQBNACIAHQAiAE0AJQBMAE0ATgAdAE0ATQBMAE8ASwBPAEwATQBPAE4AHQBOADUASwBQAE8ASABQAEsASABRAFAAKgBRAEgALwBPAFAAIABOAE8AIABPAC8ATgAgABsATgAbADUALQBQAFEALwBQAC0AKgAsAFEALQBRACwAUgAvAC0AKgBTACwAMAAvAFIAMAAgAC8AUgAtAFQAVAAtACwAMABSAFQAQwBTACoAIAAwAFUAIABVABsAVAAsAC4AUwAuACwAMABUAFYAVgBUAC4AUwBXAC4AVgAuAFcAKwBXAFMAQwArAFMAVgBXAFgAKwBYAFcAMABWAFkAVgBYAFkAMABZAFUAFAArAEMAQgAUAEMAFABCAD8APwA+ABQAFAAeACsAHgAUAD4AHgBYACsAWQBYAFoAHgBaAFgAHgA+ABwAWgAeABwAHAA+ADwAWgAcAFsAHAA8AFwAWwAcAFwAXAA8ADkAWgBbAF0AWwBcAF0AWQBaAF4AWgBdAF4AVQBZAF4AXAA5ABoAXQBcABoAGQAaADkAXgBdAB8AXQAaAB8AVQBeAF8AXgAfAF8AGwBVAF8AGQBgABoAYAAfABoAYABfAB8AGwBfAGAANQBgABkANQAbAGAA"),
"lods": [0.047312, PackedByteArray("AAABAAIAAgABAAMAAwABAAQAAAAFAAEABgAFAAAABgAHAAUACAAHAAYACQABAAUACAAKAAcACwAKAAgADAAKAAsADAANAAoABAANAAwADgAKAA0ADQAEAA4ADwAHAAoAEAAEAAEAAQAJABAABAAQABEAEgAEABEAEgAOAAQAEgARABMAEAATABEADgASABQAFAASABMAEAAVABMAFgAVABAAEwAVABYAFgAQABcAFwAQAAkAEwAWABgACQAZABcAGgAWABcAGAAWABoAGQAaABcAGgATABgACQAbABkAGQAbABoAHAATABoAHQAbAAkAHgATABwAHgAUABMAHwAcABoAGwAfABoAHgAcAB8ABQAdAAkAHQAgABsAIAAfABsABQAhAB0AIQAFAAcAIgAdACEAHQAiACAABwAjACEAIgAhACMABwAPACMAJAAiACMADwAkACMAJQAgACIAJAAlACIADwAmACQAJQAkACYAJwAmAA8ACgAnAA8ACgAOACcAKAAmACcAJQAmACgAKQAnAA4AKAAnACkADgAqACkAKgAoACkADgArACoADgAUACsAKgAsACgAKAAsACUAKgArACwAFAAeACsALQAlACwAKwAuACwALgAtACwAKwAeAC4ALwAlAC0ALwAtAC4AIAAlAC8AMAAuAB4AMAAvAC4AMAAgAC8AMAAeAB8AIAAwAB8A")],
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 97,
"vertex_data": PackedByteArray("XLY7PkQngr5SXX29KBv/PcSpV776xcy9rmwVPrrAhr6/g9u9bAG6PdrVkb5kiOa9GP5NPbTonL4eSJm9RNclPt12Tr7I4V+9FnA5Pje7hr6wR027/JAjPsKeV754OIU75e4PPhHOkb4TrA09caGKPTA0Z7wAnGW9qUeDPVz3gb5THhU92wWvPTLjnL6SRe88++REPad8ob7HDoS8KtHaPNGQhr5mLxK8WPMzvV+mjb2EvXM8fCErPX5nKr3sAos9ZLIYPah8v7ySCKG9ckIyvQiBdb0EJVK9AAb2vYDmV7zAJ069SCwavoB+WLzQuw++8HccvqCiMj0AbRK9IFdlvYCRcDyQbBW+gKFyPMBhfD3g/0i+YE05PeCHfD0gnNm9cPGkvSBVQT3gMjO+ANX6PGCmAT5gP8i9QMudvOD7FD4QPj2+oLwePfgNFT4AlFe82A89vgC3kD3Q+QO+LtyzPWDPZrxIsWU7kOYdvgDKkD3AHx+9IC4XvUCnFD4QFRy+EN2HPaAWFT5AM4w9LCfSPbaQFL2w4b48EKTNPeDMfD3AXmk9V2aePVAYv7zacyM9MNrWPQB/LT0weAQ+ePsFPkDzfD2wiRY+QEeKvIDwULzgpC4+gIJiu9xOdb38r4k94GsNvQA5VrzAzU8+oAiFvQDTVrygN+c9gF/MvQDlMj3g/Pc9MKcBvkDbkD3AKy89IH2MvaD/kD3Qj1s+AMpmPOCf3T2Q7T4+oGZwvZCvuD2wEj0+wC/GPSAgFT6QSyI+IE4xPVjAFD7gxK09OUOOPQbUbb6fyte9ZAPtPN78gb5Yioq9ZyCKPcC8FL0WYaW9yj6fPdABZ7wWQde84PppPaiuAT4Al568AG08PQC+tT2A3dK9AAk3PDCotT0Q9VK+AKegO+ABLT3ggiq+AAKKu3ibAT4Apk2+MAKLvYBCxjzQXSy+CF0CvLKlKr2CW6K9sHLEvVA5rj3Q4y2++GEwvgDNujugcBO+mCJAviB3Mj2QIQ6+ULcMvgApvDtAqSe9kGHvvYDkUrwwVgC+BCJSvUhquL0ERia9IC5dvaysjb36MHS82FMBvuDDMj2Axi49mB/0PXTEbb6eJys9prgKvRGgjb3W6jY9+CiEvERUuL2A9oE9QN6svQA8vjvAXu09gBFLvQCZvzvQNWA+YEg0PYCFcjyQjhk+wEBFPYBkxzywKzM+gJMsPWDuQT2gc0A+MA4JPvD0tT1gsSA+4MbKPTDftT3Aq1w9oEWrPfi2AT4A6HE9IJvyPdjBAT5wACY+ACLbPPCFrj2gwkU+AAqFvaAQMz3ghGU+sDiBPYjGFD4A5hI+wM/KvZDskD2Au/49AFQQO1Ae8T1Q/Cc+AIZWPOC2FD4A9JK7gAgpvIAW8T2QDgI+8MSgvTCjuD0gDwE+QJvevVCQuD2AVBY9gMpDvQD/8D0A9oM8yDgOvnB9uD3Ak1e9iIEivhBxuD3A0OO9YMnQvWBX3T0AnCC+EE3IvdDf8D3A/ga+cKmuvaDn8D0gIsK9QBaMvHitFD5AI8C9gP02PHAFFT5AGMK9")
}]
blend_shape_mode = 0
[sub_resource type="ArrayMesh" id="ArrayMesh_xqp54"]
resource_name = "Controll_Cube_007"
_surfaces = [{
"aabb": AABB(-0.187632, -0.315404, -0.206013, 0.370945, 0.461035, 0.430153),
"attribute_data": PackedByteArray("LBMUP0CXwzwdERQ/ABy8PB0RFD8AHLw8HREUPwAcvDz5ZBE/IEe8PNW4Dj9Acrw8LBMUP2CXwzw6FRQ/YBLLPDoVFD+AEss8/hEUP+BOvzw7KxM/oCq8PDsrEz+gKrw8f5MPP2BkvDx4uQ4/gPzDPHi5Dj+A/MM8iv4TP0AdvDw+7xM/IB68PD3vEz9AHrw8HBEUP0AcvDwsExQ/YJfDPFkUFD+A38c8PCsTP4AqvDy02g4/YHC8PNS4Dj9gcrw8ORUUP4ASyzw6FRQ/gBLLPDkVFD9gEss8GjoTPwAlyzwaOhM/ACXLPEnzEz9AFcs8SPMTP2AVyzzdLhM/ACbLPKpnET+ATMs83i4TP+AlyzxI8xM/YBXLPHagDz8gc8s8qmcRP4BMyzx4uQ4/YPzDPAzcDj/Ag8s8SfMTP0AVyzxI8xM/YBXLPA3cDj+gg8s8eKAPP+Byyzx2oA8/AHPLPA3cDj+gg8s8GroOP8CGyzy3zA4/IIXLPKpnET+ATMs8OhUUP2ASyzwaug4/oIbLPHi5Dj+A/MM8eLkOP4D8wzwaug4/gIbLPAzcDj/Ag8s8eLkOP2D8wzzVuA4/QHK8PH+TDz9gZLw81bgOP0ByvDy12g4/AHC8PLTaDj9gcLw8tdoOPwBwvDz5ZBE/IEe8PD7vEz8gHrw8+mQRPwBHvDw97xM/QB68PLXaDj8AcLw8tNoOP2BwvDwdERQ/ABy8PCwTFD9Al8M8OhUUP4ASyzw6FRQ/gBLLPCwTFD9Al8M8HREUP+AbvDwsExQ/IJfDPBo6Ez8AJcs83S4TPwAmyzw5FRQ/oBLLPDoVFD9gEss8OhUUP0ASyzw5FRQ/YBLLPB4RFD/gG7w8HhEUP+AbvDweERQ/wBu8PBwRFD8gHLw8OysTP6AqvDyrZxE/YEzLPBq6Dj/Ahss8qmcRP4BMyzz6ZBE/QEe8PB0RFD/gG7w8+WQRPyBHvDzUuA4/QHK8PPlkET8gR7w81bgOPyByvDzVuA4/QHK8PNS4Dj9Acrw81bgOPyByvDwbuQ4/oKu/PH+TDz9gZLw8t54PP8BjvDzVuA4/QHK8PNS4Dj+Acrw81bgOPyByvDzUuA4/YHK8PHe5Dj+g/MM8GroOP8CGyzwaug4/oIbLPBq6Dj+ghss8GroOP8CGyzwaug4/oIbLPNS5Dj+ATcg8GroOP8CGyzwaug4/4IbLPHagDz8Ac8s8eKAPP+ByyzwsExQ/YJfDPDorEz/AKrw8HhEUP+AbvDw97xM/QB68PA0tEz+AqMM8ORUUP4ASyzz5ZBE/IEe8PPlkET9AR7w8+WQRP0BHvDy2ng8/wGO8PLeeDz8AZLw8UmYRP+DJwzzeLhM/ACbLPKpnET+ATMs8mJ8PP0DrwzyqZxE/YEzLPAzcDj/Ag8s8qmcRP4BMyzwaug4/wIbLPHigDz/gcss8q2cRP4BMyzwaug4/oIbLPKtnET9ATMs8OhUUP2ASyzw6FRQ/QBLLPKlnET+ATMs8GroOP6CGyzyrZxE/QEzLPA3cDj+gg8s8qmcRP2BMyzx2oA8/AHPLPEnzEz9AFcs8qmcRP4BMyzw+7xM/IB68PB4RFD/AG7w8+WQRPyBHvDzUuA4/gHK8PNW4Dj8gcrw8+WQRP0BHvDweERQ/4Bu8PPlkET9AR7w8+WQRPyBHvDw7KxM/oCq8PDsrEz+gKrw8+WQRPyBHvDy3ng8/wGO8PA=="),
"format": 34359742487,
"index_count": 552,
"index_data": PackedByteArray("AAABAEMAAAAGAAEABwAGAEQABwBFAAYARgAGAEUABgBGABQARwABAAYABgAUAEcAAQBHAAkAAQAJAEgAFABJAEcASQAJAEcAGgAUAEYAGgBGAEoASwAaAEoASwAdABoAHQBMABoAFAAaAEwAHQBNAEwATABNAE4ATwAUAEwATABOAE8AFABPAEkAGABPAE4AGABOAB4ATwAYABMATwATAEkASQATAFAASQBQABIAEgBQABEAEgARAFEACQBJABIAEgBRAFIACQASAFMAEgBSAFMADwAJAFMAUgAPAFMADwBIAAkAUgAQAA8ASAAPAAoAEAAKAA8AEABUAAoALwAIADAALwBVAAgACAAcABkACAAgABwAIAAIAFUAVQArACAAVQBWACsAVgBVAC0AMQAtAFUAMQBVAFcAAgBYAAQAAgADAFgAWQBYAAMAWABZAAsAWAALAFoAWgBbAFgAXABYAFsAXABbAAUAWwBaAAwAWwAMAF0AXgANAA4AXgBfAA0AYAANAF8ADQBgAGEANwBhAGAANwBgAGIANwBiAGMANwBjADoAZAA3ADoAYQA3AGQAZAA6AGUAZABlAGYAOQBhAGQAZABmADkAZwA5AGYAZwBmADsAOQBnADYAOQA2AGgAYQA5AGgAaAA2AGkAYQBoADMADQBhADMAaABpADQANABpADUANAA1AGoANABqAGsAMwBsAA0AMgANAGwAMgBsAG0AbAAzAG4AaABuADMAbgBoADQAbABuAG8ANABrAHAAbgA0AHAAawAuAHAALgBuAHAALgBvAG4AawAsAC4AbwAuAHEALABxAC4ALAByAHEAcwB0AHUAdQB0ABUAdQAVAHYAcwB3AHQAeAB3AHMAeQAVAHQAdwB5AHQAegB2ABUAeQB6ABUAegB7AHYAfAB7AHoAfAAWAHsAfQB8AHoAfQAWAHwAfQB6AHkAfQAXABYAdwB+AHkAfgB9AHkAeAAhAHcAIQB+AHcAIQB4ACIAIQAiAH8AfwAiAIAAFwB9AIEAfgCBAH0AFwCBACUAfwCAAIIAIQB/AIIAggCAAIMAIQCEAH4AIQCCAIQAhACBAH4AggCDACMAhACCACMAhQAjAIMAhACGAIEAhAAjAIYAhQCGACMAJQCBAIYAJQCGAIUAhwApAIgAhwCJACkAigCJAIcAigAnAIkAhwCLAIoAiACMAIcAhwCMAIsAKACLAIwAiACNAIwAKACMACQAJACMAI0AJACNACYAjgAqAI8AjgCQACoAkQAqAJAAkgCQAI4AkQCQAJMAkgAfAJAAkwCQAB8AkwAfABsAPwCUAJUAPwCWAJQAlwCWAD8AlwBBAJYAPwCYAJcAlQCZAD8APwCZAJgAQgCYAJkAlQCaAJkAQgCZAJsAmwCZAJoAmwCaAEAAnACdAD4AnAA9AJ0AngCdAD0APAA9AJwAngA9AJ8APACgAD0AnwA9AKAAnwCgADgA"),
"lods": [0.047312, PackedByteArray("AAABAAIAAgADAAQABAADAAUAAAAGAAEABwAGAAAABwAIAAYACQABAAYAAQAJAAoACwAFAAMABQALAAwABQANAA4ADwAKAAkAEAAKAA8AEQAQAA8ACQASAA8AEgARAA8ACQATABIAEgATABEAFAATAAkABgAUAAkAEwAVABEAFQAWABEAFwAWABUAGAAVABMAFAAYABMABgAZABQAGQAGAAgAGgAUABkAFAAaABgAGgAZABsACAAcABkAHQAYABoAGAAdAB4AHwAdABoAHwAaABsACAAgABwAIAAfABsAGAAhABUAIQAYACIAIQAXABUAIQAiACMAIQAjABcAIgAkACMAJQAXACMAJQAjACYAIwAkACYAJAAnACYAKAAnACQAKQAmACcAJwAqACkAJwAfACoAIAAqAB8AKwAqACAALAAqACsALQArACAAIAAIAC0ALAArAC4ALwAIADAALwAtAAgAMQAtAC8AMgAtADEAMgANAC0ALQAzACsAMwAtAA0ALgArADMADQAFADMANAAsAC4AMwA0AC4ANAA1ACwANAA2ADUAMwA2ADQANwAzAAUANwAFADgAMwA5ADYAMwA3ADkAOQAXADYANwA4ADoAOQA3ADoAFwA5ADoAFwA6ADsACwA8ADgACwA9ADwAPAA9AD4APgA9AAsAPwA+AEAAQQA+AD8AQABBAD8AQgBBAEAA")],
"material": SubResource("StandardMaterial3D_xirvw"),
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 161,
"vertex_data": PackedByteArray("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")
}]
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_lel7i")
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_6mmea"]
properties/0/path = NodePath(".:rotation")
properties/0/spawn = true
properties/0/replication_mode = 1
[node name="LeverPivot" type="Node3D"]
[node name="ButtonLogicImpulseLever" type="Timer" parent="." node_paths=PackedStringArray("interactBox")]
script = ExtResource("2_k0gfg")
interactBox = NodePath("../InteractBoxLever")
metadata/_custom_type_script = "uid://cjiiw7cybj24b"
[node name="InteractBoxLever" type="Area3D" parent="." node_paths=PackedStringArray("object")]
transform = Transform3D(0.951594, 0, -0.307357, 0, 1, 0, 0.307357, 0, 0.951595, -0.0501665, 0.260706, -0.0239434)
monitoring = false
script = ExtResource("1_6mmea")
object = NodePath("../ButtonLogicImpulseLever")
type = "minigame"
metadata/_custom_type_script = "uid://ymaax1x5fos3"
[node name="CollisionShape3D" type="CollisionShape3D" parent="InteractBoxLever"]
transform = Transform3D(0.954915, 0, 0.296857, 0, 1, 0, -0.296857, 0, 0.954917, 0.0749265, 0.0714111, 0.00196848)
shape = SubResource("BoxShape3D_opyex")
debug_color = Color(0.685703, 0.292897, 1, 0.42)
[node name="Lever" type="MeshInstance3D" parent="."]
transform = Transform3D(0.951594, 0, -0.307357, 0, 1, 0, 0.307357, 0, 0.951595, -0.0501665, 0.260706, -0.0239434)
mesh = SubResource("ArrayMesh_xqp54")
skeleton = NodePath("")
metadata/extras = {
"poliigon_props": {}
}
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
replication_config = SubResource("SceneReplicationConfig_6mmea")

View File

@@ -0,0 +1,9 @@
[gd_resource type="NoiseTexture2D" load_steps=2 format=3 uid="uid://bw51s1b3tsawp"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_qcrta"]
noise_type = 5
seed = 69
frequency = 0.1
[resource]
noise = SubResource("FastNoiseLite_qcrta")

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,19 @@
extends Area3D
class_name GrabBox
signal grabbedByPlayer
@export var obj: GrabableObject
@export var type: String #Used to signify the type of Object for other code interacting with the grab box
@export var heavy: bool = false
func _ready() -> void:
set_collision_layer_value(5,true) #Enables Grabing colision layer
set_collision_layer_value(1,false) #Disables Default collision layer
set_collision_mask_value(1,false)
func grab() -> GrabableObject:
if !obj: return
if !obj.isGrabbed:
grabbedByPlayer.emit()
return obj
return null

View File

@@ -0,0 +1 @@
uid://cmo8m6v4wlw2y

View File

@@ -0,0 +1,33 @@
extends RigidBody3D
class_name GrabableObject
@export var grabBox: GrabBox
var isGrabbed: bool = false
@export var grabPositionPositionOffset: Vector3
@export var grabPositionRotationOffset: Vector3
@export var putDownPositionOffset: Vector3
@export var throwingForce = 8.0 #How strong objects are thrown
func _ready() -> void:
grabBox = $GrabBox
grabBox.grabbedByPlayer.connect(grab.rpc.bind(multiplayer.get_unique_id()))
set_collision_layer_value(1,false) #Disables default collision layer
@rpc("any_peer", "call_local")
func grab(id):
isGrabbed = true
freeze = true
if not get_multiplayer_authority() == id:
set_multiplayer_authority(id)
@rpc("authority", "call_local")
func release():
isGrabbed = false
freeze = false
set_multiplayer_authority(1)
@rpc("any_peer","call_local")
func throw(facingDirectionX,facingDirectionY,cameraRotationX):
linear_velocity = Vector3(facingDirectionX,cameraRotationX/PI*2+0.3,facingDirectionY) * throwingForce

View File

@@ -0,0 +1 @@
uid://dkss4o54xymwj

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,54 @@
[gd_scene load_steps=8 format=3 uid="uid://wo0ikejk0hag"]
[ext_resource type="Script" uid="uid://dkss4o54xymwj" path="res://Maps/Spaceship/Objects/Grabable/GrabableObject.gd" id="1_jgf10"]
[ext_resource type="Script" uid="uid://cmo8m6v4wlw2y" path="res://Maps/Spaceship/Objects/Grabable/GrabBox.gd" id="2_yocvc"]
[sub_resource type="BoxShape3D" id="BoxShape3D_61j30"]
size = Vector3(0.5, 0.5, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_qey0m"]
size = Vector3(0.5, 0.5, 0.5)
[sub_resource type="BoxMesh" id="BoxMesh_4unh8"]
size = Vector3(0.5, 0.5, 0.5)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_utenr"]
albedo_color = Color(0.111197, 0.111197, 0.111197, 1)
metallic = 1.0
roughness = 0.3
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_yocvc"]
properties/0/path = NodePath(".:position")
properties/0/spawn = true
properties/0/replication_mode = 1
properties/1/path = NodePath(".:rotation")
properties/1/spawn = true
properties/1/replication_mode = 1
[node name="RepairCube" type="RigidBody3D" node_paths=PackedStringArray("grabBox")]
script = ExtResource("1_jgf10")
grabBox = NodePath("GrabBox")
throwingForce = 2.0
metadata/_custom_type_script = "uid://dkss4o54xymwj"
[node name="GrabBox" type="Area3D" parent="." node_paths=PackedStringArray("obj")]
script = ExtResource("2_yocvc")
obj = NodePath("..")
type = "RepairCube"
heavy = true
metadata/_custom_type_script = "uid://cmo8m6v4wlw2y"
[node name="GrabShape" type="CollisionShape3D" parent="GrabBox"]
shape = SubResource("BoxShape3D_61j30")
debug_fill = false
[node name="CollisionShape" type="CollisionShape3D" parent="."]
shape = SubResource("BoxShape3D_qey0m")
debug_fill = false
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("BoxMesh_4unh8")
surface_material_override/0 = SubResource("StandardMaterial3D_utenr")
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
replication_config = SubResource("SceneReplicationConfig_yocvc")

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
extends OmniLight3D
class_name FlickerOmniLight3D
@export var noise: NoiseTexture2D = load("res://Maps/Spaceship/Objects/FlickerOmniLightNoise.tres")
@export var strength: float = 1.0
var timePassed: float = 0
func _ready() -> void:
#self.light_color = Color(0.891, 1.0, 1.0)
#shadow_enabled = true
#Color(1.0, 0.75, 0.468) Orange
pass
func _process(delta: float) -> void:
timePassed += delta
if !noise: return
var sampledNoise = noise.noise.get_noise_1d(timePassed)
sampledNoise = abs(sampledNoise)
light_energy = clampf(sampledNoise*strength, 0.25,10)

View File

@@ -0,0 +1 @@
uid://b7ma88dd5c5tb

View File

@@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://xqwlggh57223"]
[ext_resource type="Script" uid="uid://datm6lpbjdmlp" path="res://Maps/Spaceship/Objects/no_object.gd" id="1_gfdui"]
[node name="NoObject" type="Node3D"]
script = ExtResource("1_gfdui")

View File

@@ -0,0 +1,4 @@
extends Node3D
func _ready() -> void:
self.queue_free()

View File

@@ -0,0 +1 @@
uid://datm6lpbjdmlp

View File

@@ -0,0 +1,46 @@
extends CharacterBody3D
class_name RepairCart
var pullingPlayer: PlayerCharacter
var pullingPlayerDirection: Vector3
var pullDirection: Vector3
var momentum: Vector3
const speed: float = 1.2
const decelerationMoving: float = 1
const turnSpeed: float = PI/2
func _physics_process(delta: float) -> void:
updatePullDirection()
if pullDirection.length() > 3:
momentum = clampVectorLength(momentum + clampVectorLength(pullDirection,0,1.5) * speed * delta,0,3)
if !is_on_floor():
momentum += get_gravity()
velocity = momentum
rotation.y = rotate_toward(rotation.y,atan2(velocity.x,velocity.z) - PI/2, turnSpeed*delta)
move_and_slide()
momentum -= clampVectorLength(momentum.normalized() * decelerationMoving * delta, 0, momentum.length())
func clampVectorLength(Vector: Vector3, minLength: float, maxLength: float) -> Vector3:
#scales Vector up/ down to the max/ min length givin. If the Vector has a length of 0 it will be returned without being scaled.
if Vector.length() == 0: return Vector
if Vector.length() < minLength:
return Vector * minLength / Vector.length()
elif Vector.length() > maxLength:
return Vector * maxLength / Vector.length()
return Vector
func updatePullDirection() -> void:
if pullingPlayer:
pullDirection = (pullingPlayer.position - position) * Vector3(1,0,1)
func _on_interact_box_interacted_with(playerRef: PlayerCharacter) -> void:
addPlayer.bind(playerRef.name).rpc()
@rpc("any_peer","reliable","call_local")
func addPlayer(playerRefName: StringName) -> void:
if get_node("/root/Main/Players/" + playerRefName) == pullingPlayer:
pullingPlayer = null
else:
pullingPlayer = get_node("/root/Main/Players/" + playerRefName)

View File

@@ -0,0 +1 @@
uid://c8q2qxofsorec

File diff suppressed because one or more lines are too long