| … | … | @@ -4,8 +4,3 @@ |
| 4 | 4 | |
| 5 | 5 | [node name="tumble" instance=ExtResource( 1 )] |
| 6 | 6 | transform = Transform( 0.65, 0, 0, 0, 0.65, 0, 0, 0, 0.65, 0, 0, 0 ) |
| 7 | ||
| 8 | [node name="SkeletonIK" type="SkeletonIK" parent="Armature/Skeleton" index="2"] | |
| 9 | process_priority = 1 | |
| 10 | root_bone = "DEF-upper_arm.R" | |
| 11 | tip_bone = "DEF-hand.R" |
| … | … | @@ -23,7 +23,6 @@ export var currentSpeed : float = 0 |
| 23 | 23 | |
| 24 | 24 | onready var meshNode : Spatial = $Model |
| 25 | 25 | onready var meshSkeletonNode : Skeleton = $Model/Armature/Skeleton |
| 26 | onready var meshSkeletalIKNode : SkeletonIK = $Model/Armature/Skeleton/SkeletonIK | |
| 27 | 26 | onready var meshSkeletonHiddenHand : MeshInstance = $Model/Armature/Skeleton/player001 |
| 28 | 27 | onready var meshHandBone : int = meshSkeletonNode.find_bone("DEF-hand.R") |
| 29 | 28 | onready var meshHandBonePos : Transform = meshSkeletonNode.get_bone_pose(meshHandBone) |
| … | … | @@ -35,26 +34,8 @@ onready var clippedCameraPivot : Spatial = $CameraHead/CameraPivot |
| 35 | 34 | |
| 36 | 35 | onready var meshCollisionShape : CollisionShape = $CollisionShape |
| 37 | 36 | |
| 38 | onready var grappleHookCast : RayCast = $CameraHead/CameraPivot/GrappleHookCast | |
| 39 | ||
| 40 | onready var grappleVisualPoint_1 = $GrapplingHook/GrappleVisualPoint_1 | |
| 41 | # onready var grappleVisualPoint_2 = $GrapplingHook/GrappleVisualPoint_2 | |
| 42 | onready var grappleVisualPoint = grappleVisualPoint_1 | |
| 43 | ||
| 44 | onready var grappleLineHelper : Spatial = $Model/GrappleLineHelper | |
| 45 | onready var grappleVisualLine : CSGCylinder = $Model/GrappleLineHelper/GrappleVisualLine_1 | |
| 46 | # onready var grappleVisualLine : = $Model/GrappleLineHelper/GrappleVisualLine_2 | |
| 47 | ||
| 48 | onready var grappleIKTarget : Position3D = $GrapplingHook/IKTarget | |
| 49 | onready var grapplingHandOriginalScale : Vector3 = Vector3.ZERO | |
| 50 | ||
| 51 | 37 | onready var omniLight : OmniLight = $OmniLight |
| 52 | 38 | |
| 53 | var grapplingHook_GrapplePosition : Vector3 = Vector3.ZERO | |
| 54 | var grapplingHook_IsHooked : bool = false | |
| 55 | var playerWantsToShootGrapplingHook : bool = false | |
| 56 | var playerWantsToReleaseGrapplingHook : bool = false | |
| 57 | ||
| 58 | 39 | # TODO : Make Debug UI dynamic and not hardcoded in the core Hyper scripts. |
| 59 | 40 | #onready var hyperdebugui : Control = $HyperGodotDebugUI |
| 60 | 41 | #onready var hyperdebugui_gateway_startstop_button : Button = $HyperGodotDebugUI/HypercoreDebugPanel/HypercoreDebugContainer/GatewayStartStopButton |
| … | … | @@ -109,7 +90,7 @@ func getSpawnLocationForMapName(mapName : String) -> Vector3: |
| 109 | 90 | # Get Map Node |
| 110 | 91 | var mapNode = get_tree().get_current_scene().get_node("Maps").find_node(mapName, true, false) |
| 111 | 92 | if(mapNode == null): |
| 112 | return get_tree().get_current_scene().get_node("Maps").find_node("map_test", true, false).getSpawnLocation() | |
| 93 | return get_tree().get_current_scene().get_node("Maps").find_node("map_witch_island", true, false).getSpawnLocation() | |
| 113 | 94 | else: |
| 114 | 95 | return mapNode.getSpawnLocation() |
| 115 | 96 | |
| … | … | @@ -117,89 +98,6 @@ func _process(_delta): |
| 117 | 98 | if(currentDirection != Vector3.ZERO): |
| 118 | 99 | meshNode.rotation.y = lerp_angle(meshNode.rotation.y, atan2(-currentDirection.x, -currentDirection.z), turn_velocity * _delta) |
| 119 | 100 | |
| 120 | func grapplingHook_Process(): | |
| 121 | grapplingHook_CheckActivation() | |
| 122 | var length : float = grapplingHook_UpdatePlayerVelocityAndReturnHookLength() | |
| 123 | grapplingHook_UpdateVisualLine(length) | |
| 124 | # TODO : BIG Hack to prevent running on remote players | |
| 125 | var _name = self.name | |
| 126 | if(self.name == "PlayerLocal"): | |
| 127 | grapplingHook_UpdateVisualPoint() | |
| 128 | ||
| 129 | func grapplingHook_CheckActivation(): | |
| 130 | # Activate hook | |
| 131 | if(playerWantsToShootGrapplingHook): | |
| 132 | playerWantsToShootGrapplingHook = false | |
| 133 | playerWantsToReleaseGrapplingHook = false | |
| 134 | grapplingHook_IsHooked = true | |
| 135 | grappleVisualLine.show() | |
| 136 | $Model/Sound_Shoot_GrapplingHook_2.play() | |
| 137 | grappleIKTarget.translation = grapplingHook_GrapplePosition | |
| 138 | grapplingHook_DisappearHand() | |
| 139 | ||
| 140 | elif(playerWantsToReleaseGrapplingHook): | |
| 141 | # Stop grappling | |
| 142 | if(grapplingHook_IsHooked): | |
| 143 | grapplingHook_IsHooked = false | |
| 144 | playerWantsToReleaseGrapplingHook = false | |
| 145 | grappleVisualLine.hide() | |
| 146 | $Model/Sound_Release_GrapplingHook.play() | |
| 147 | grapplingHook_ReappearHand() | |
| 148 | ||
| 149 | func grapplingHook_UpdateVisualPoint(): | |
| 150 | if grappleHookCast.is_colliding(): | |
| 151 | grappleVisualPoint.visible = true | |
| 152 | grappleVisualPoint.translation = grappleHookCast.get_collision_point() | |
| 153 | else: | |
| 154 | grappleVisualPoint.visible = false | |
| 155 | ||
| 156 | func grapplingHook_UpdateVisualLine(length : float): | |
| 157 | if(grapplingHook_IsHooked): | |
| 158 | grappleLineHelper.look_at(grapplingHook_GrapplePosition, Vector3.UP) | |
| 159 | grappleVisualLine.height = length | |
| 160 | grappleVisualLine.translation.z = length / -1.80 | |
| 161 | ||
| 162 | func grapplingHook_UpdatePlayerVelocityAndReturnHookLength() -> float: | |
| 163 | var grapple_speed : float = 0.5 | |
| 164 | var rest_length : float = 1 | |
| 165 | var max_grapple_speed : float = 2.75 | |
| 166 | ||
| 167 | var player2hook := grapplingHook_GrapplePosition - translation # vector from player to hook | |
| 168 | var length := player2hook.length() | |
| 169 | if(grapplingHook_IsHooked): | |
| 170 | # if we more than 4 away from line, don't dampen speed as much | |
| 171 | if(length > 4): | |
| 172 | kinematicVelocity *= .999 | |
| 173 | # Otherwise dampen speed more | |
| 174 | else: | |
| 175 | kinematicVelocity *= .9 | |
| 176 | ||
| 177 | # Hook's law equation | |
| 178 | var force := grapple_speed * (length - rest_length) | |
| 179 | ||
| 180 | # Clamp force to be less than max_grapple_speed | |
| 181 | if abs(force) > max_grapple_speed: | |
| 182 | force = max_grapple_speed | |
| 183 | ||
| 184 | # Preserve direction, but scale by force | |
| 185 | kinematicVelocity += player2hook.normalized() * force | |
| 186 | ||
| 187 | return length | |
| 188 | ||
| 189 | func grapplingHook_DisappearHand(): | |
| 190 | meshSkeletonHiddenHand.visible = false | |
| 191 | #var bone = meshSkeletonNode.find_bone("DEF-hand.R") | |
| 192 | #var bonePos = meshSkeletonNode.get_bone_pose(bone) | |
| 193 | #bonePos = bonePos.scaled( Vector3(0.1, 0.1, 0.1) ) | |
| 194 | #meshSkeletonNode.set_bone_custom_pose(bone, bonePos) | |
| 195 | ||
| 196 | func grapplingHook_ReappearHand(): | |
| 197 | meshSkeletonHiddenHand.visible = true | |
| 198 | #var bone = meshSkeletonNode.find_bone("DEF-hand.R") | |
| 199 | #var bonePos = meshSkeletonNode.get_bone_pose(bone) | |
| 200 | #bonePos = bonePos.( Vector3(1, 1, 1) ) | |
| 201 | #meshSkeletonNode.set_bone_custom_pose(bone, bonePos) | |
| 202 | ||
| 203 | 101 | var jumpingUp : bool |
| 204 | 102 | func _physics_process(_delta): |
| 205 | 103 | # Respawn Player here first |
| … | … | @@ -224,17 +122,15 @@ func _physics_process(_delta): |
| 224 | 122 | kinematicVelocity = kinematicVelocity.linear_interpolate(currentDirection * movementSpeed, movementAcceleration * _delta) |
| 225 | 123 | kinematicVelocity.y = y_cache |
| 226 | 124 | |
| 227 | # Vertical velocity | |
| 228 | if(!grapplingHook_IsHooked): | |
| 229 | # Apply Gravity | |
| 230 | kinematicVelocity.y -= fallAcceleration * _delta | |
| 231 | # Check for a Jump | |
| 232 | if(playerWantsToJump): | |
| 233 | playerWantsToJump = false | |
| 234 | if( playerCanJump() ): | |
| 235 | kinematicVelocity.y = jumpHeight | |
| 236 | jumpingUp = true | |
| 237 | $Model/Sound_Jump.play() | |
| 125 | # Apply Gravity | |
| 126 | kinematicVelocity.y -= fallAcceleration * _delta | |
| 127 | # Check for a Jump | |
| 128 | if(playerWantsToJump): | |
| 129 | playerWantsToJump = false | |
| 130 | if( playerCanJump() ): | |
| 131 | kinematicVelocity.y = jumpHeight | |
| 132 | jumpingUp = true | |
| 133 | $Model/Sound_Jump.play() | |
| 238 | 134 | # kinematicVelocity = move_and_slide(kinematicVelocity, Vector3.UP) |
| 239 | 135 | var bPrevOnFloor = is_on_floor() |
| 240 | 136 | y_cache = kinematicVelocity.y |
| … | … | @@ -260,16 +156,6 @@ func _physics_process(_delta): |
| 260 | 156 | currentSpeed = ( (abs(kinematicVelocity.x) + abs(kinematicVelocity.z) - 7) / 7) |
| 261 | 157 | $AnimationTree.set("parameters/iwr_blend/blend_amount", currentSpeed) |
| 262 | 158 | |
| 263 | # Update Grappling Hook | |
| 264 | grapplingHook_Process() | |
| 265 | ||
| 266 | # Check for Hand IK from Grappling Hook | |
| 267 | if(grapplingHook_IsHooked): | |
| 268 | meshSkeletalIKNode.start() | |
| 269 | else: | |
| 270 | meshSkeletalIKNode.stop() | |
| 271 | ||
| 272 | ||
| 273 | 159 | # self.linear_velocity.y += jumpHeight |
| 274 | 160 | # playerWantsToJump = false |
| 275 | 161 | |
| … | … | @@ -304,9 +190,6 @@ func _physics_process(_delta): |
| 304 | 190 | |
| 305 | 191 | func respawnPlayer(): |
| 306 | 192 | kinematicVelocity = Vector3.ZERO |
| 307 | grapplingHook_IsHooked = false | |
| 308 | playerWantsToShootGrapplingHook = false | |
| 309 | playerWantsToReleaseGrapplingHook = true | |
| 310 | 193 | $Model/Sound_Teleport_1.play() |
| 311 | 194 | global_transform.origin = currentSpawnLocation |
| 312 | 195 | |
| … | … | @@ -377,19 +260,6 @@ func _on_Input_player_change_physics_mode() -> void: |
| 377 | 260 | func _on_Input_player_jump(): |
| 378 | 261 | playerWantsToJump = true |
| 379 | 262 | hyperGossip.broadcast_event(EVENT_PLAYER_WANTSTOJUMP, getPlayerLocalCoreNetworkData() ) |
| 380 | ||
| 381 | func _on_Input_player_shoot_grapplinghook(): | |
| 382 | if( Input.get_mouse_mode() != Input.MOUSE_MODE_VISIBLE ): | |
| 383 | if( grappleHookCast.is_colliding() ): | |
| 384 | playerWantsToShootGrapplingHook = true | |
| 385 | grapplingHook_GrapplePosition = grappleHookCast.get_collision_point() | |
| 386 | hyperGossip.broadcast_event(EVENT_PLAYER_SHOOT_GRAPPLINGHOOK, getPlayerLocalShootGrapplingHookData() ) | |
| 387 | ||
| 388 | func _on_Input_player_release_grapplinghook(): | |
| 389 | if( Input.get_mouse_mode() != Input.MOUSE_MODE_VISIBLE ): | |
| 390 | if(grapplingHook_IsHooked): | |
| 391 | playerWantsToReleaseGrapplingHook = true | |
| 392 | hyperGossip.broadcast_event(EVENT_PLAYER_RELEASE_GRAPPLINGHOOK, getPlayerLocalCoreNetworkData() ) | |
| 393 | 263 | |
| 394 | 264 | func _on_Input_player_toggle_light(): |
| 395 | 265 | playerWantsToToggleLight = true |
| … | … | @@ -451,38 +321,6 @@ func getPlayerLocalCoreNetworkData() -> Dictionary: |
| 451 | 321 | } |
| 452 | 322 | |
| 453 | 323 | return data |
| 454 | ||
| 455 | func getPlayerLocalShootGrapplingHookData() -> Dictionary: | |
| 456 | # TODO : Fix finding the local player, and get it out of player_core into player_core_local | |
| 457 | var localPlayer : KinematicBody = get_tree().get_current_scene().get_node("Players").get_node("PlayerLocal") | |
| 458 | var translation : Vector3 = localPlayer.translation | |
| 459 | var direction : Vector3 = localPlayer.currentDirection | |
| 460 | ||
| 461 | var data : Dictionary = { | |
| 462 | #"profile": profile, | |
| 463 | "translation": { | |
| 464 | "x": translation.x, | |
| 465 | "y": translation.y, | |
| 466 | "z": translation.z | |
| 467 | }, | |
| 468 | "direction": { | |
| 469 | "x": direction.x, | |
| 470 | "y": direction.y, | |
| 471 | "z": direction.z | |
| 472 | }, | |
| 473 | "velocity": { | |
| 474 | "x": kinematicVelocity.x, | |
| 475 | "y": kinematicVelocity.y, | |
| 476 | "z": kinematicVelocity.z | |
| 477 | }, | |
| 478 | "grapple_position": { | |
| 479 | "x": grapplingHook_GrapplePosition.x, | |
| 480 | "y": grapplingHook_GrapplePosition.y, | |
| 481 | "z": grapplingHook_GrapplePosition.z | |
| 482 | } | |
| 483 | } | |
| 484 | ||
| 485 | return data | |
| 486 | 324 | |
| 487 | 325 | func playerCoreNetworkDataUpdate(data : Dictionary): |
| 488 | 326 | self.translation = Vector3(data.translation.x, data.translation.y, data.translation.z) |
| … | … | @@ -1,4 +1,4 @@ |
| 1 | [gd_scene load_steps=37 format=2] | |
| 1 | [gd_scene load_steps=36 format=2] | |
| 2 | 2 | |
| 3 | 3 | [ext_resource path="res://assets/models/tumble/model_tumble.tscn" type="PackedScene" id=1] |
| 4 | 4 | [ext_resource path="res://assets/models/tumble/tumble/sprint-loop.tres" type="Animation" id=2] |
| … | … | @@ -33,7 +33,6 @@ |
| 33 | 33 | [ext_resource path="res://assets/sounds/player/generic_robot_land.wav" type="AudioStream" id=31] |
| 34 | 34 | [ext_resource path="res://assets/sounds/player/fire_grapplinghook1.mp3" type="AudioStream" id=32] |
| 35 | 35 | [ext_resource path="res://assets/sounds/player/teleport_1.mp3" type="AudioStream" id=33] |
| 36 | [ext_resource path="res://game/player/grappling_hook/gh_visual_line_1.tscn" type="PackedScene" id=34] | |
| 37 | 36 | [ext_resource path="res://assets/sounds/player/toggleLight_1.wav" type="AudioStream" id=35] |
| 38 | 37 | |
| 39 | 38 | [sub_resource type="CylinderShape" id=1] |
| … | … | @@ -93,13 +92,6 @@ transform = Transform( 1.53846, 0, 0, 0, 1.53846, 0, 0, 0, 1.53846, 0, 0, 0 ) |
| 93 | 92 | stream = ExtResource( 35 ) |
| 94 | 93 | attenuation_filter_cutoff_hz = 20500.0 |
| 95 | 94 | |
| 96 | [node name="GrappleLineHelper" type="Spatial" parent="Model"] | |
| 97 | transform = Transform( 1.53846, 0, 0, 0, 1.53846, 0, 0, 0, 1.53846, 0, 0.753, 0 ) | |
| 98 | ||
| 99 | [node name="GrappleVisualLine_1" parent="Model/GrappleLineHelper" instance=ExtResource( 34 )] | |
| 100 | transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.753, -0.121675 ) | |
| 101 | visible = false | |
| 102 | ||
| 103 | 95 | [node name="AnimationPlayer" type="AnimationPlayer" parent="."] |
| 104 | 96 | root_node = NodePath("../Model") |
| 105 | 97 | anims/default = ExtResource( 9 ) |
| … | … | @@ -149,11 +141,6 @@ parameters/wall_run/current = 2 |
| 149 | 141 | wait_time = 0.1 |
| 150 | 142 | autostart = true |
| 151 | 143 | |
| 152 | [node name="GrapplingHook" type="Node" parent="."] | |
| 153 | ||
| 154 | [node name="IKTarget" type="Position3D" parent="GrapplingHook"] | |
| 155 | transform = Transform( -0.454202, 0.376862, -0.807264, 0.862653, -0.0403142, -0.504187, -0.222553, -0.925392, -0.30679, 0, 0.96284, -1.2328 ) | |
| 156 | ||
| 157 | 144 | [node name="OmniLight" type="OmniLight" parent="."] |
| 158 | 145 | transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.769087, 0 ) |
| 159 | 146 | visible = false |
| … | … | @@ -1,17 +1,13 @@ |
| 1 | [gd_scene load_steps=7 format=2] | |
| 1 | [gd_scene load_steps=6 format=2] | |
| 2 | 2 | |
| 3 | 3 | [ext_resource path="res://game/player/player_core.tscn" type="PackedScene" id=1] |
| 4 | 4 | [ext_resource path="res://game/player/player_core_local_input.gd" type="Script" id=2] |
| 5 | 5 | [ext_resource path="res://game/player/player_core_local_input_special.gd" type="Script" id=3] |
| 6 | [ext_resource path="res://game/player/grappling_hook/gh_visual_point_1.tscn" type="PackedScene" id=4] | |
| 7 | 6 | [ext_resource path="res://game/player/player_core_local_debugui.tscn" type="PackedScene" id=5] |
| 8 | 7 | [ext_resource path="res://assets/sounds/player/fire_grapplinghook1.mp3" type="AudioStream" id=9] |
| 9 | 8 | |
| 10 | 9 | [node name="PlayerCoreLocal" instance=ExtResource( 1 )] |
| 11 | 10 | |
| 12 | [node name="SkeletonIK" parent="Model/Armature/Skeleton" index="2"] | |
| 13 | target_node = NodePath("../../../../GrapplingHook/IKTarget") | |
| 14 | ||
| 15 | 11 | [node name="Sound_Jump" parent="Model" index="2"] |
| 16 | 12 | transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) |
| 17 | 13 | |
| … | … | @@ -31,29 +27,17 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1.5, 0 ) |
| 31 | 27 | |
| 32 | 28 | [node name="CameraPivot" type="Spatial" parent="CameraHead" index="0"] |
| 33 | 29 | |
| 34 | [node name="GrappleHookCast" type="RayCast" parent="CameraHead/CameraPivot" index="0"] | |
| 35 | transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.740826, 0.0206239 ) | |
| 36 | enabled = true | |
| 37 | cast_to = Vector3( 0, 0, -400 ) | |
| 38 | collision_mask = 2 | |
| 39 | debug_shape_custom_color = Color( 1, 0, 0, 1 ) | |
| 40 | debug_shape_thickness = 5.0 | |
| 41 | ||
| 42 | [node name="ClippedCamera" type="ClippedCamera" parent="CameraHead/CameraPivot" index="1"] | |
| 30 | [node name="ClippedCamera" type="ClippedCamera" parent="CameraHead/CameraPivot" index="0"] | |
| 43 | 31 | transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.5 ) |
| 44 | 32 | fov = 90.0 |
| 45 | 33 | far = 8192.0 |
| 46 | 34 | |
| 47 | 35 | [node name="PlayerDebugUI" parent="." index="7" instance=ExtResource( 5 )] |
| 48 | 36 | |
| 49 | [node name="GrappleVisualPoint_1" parent="GrapplingHook" index="1" instance=ExtResource( 4 )] | |
| 50 | ||
| 51 | 37 | [connection signal="player_jump" from="Input" to="." method="_on_Input_player_jump"] |
| 52 | 38 | [connection signal="player_mousemotion_event" from="Input" to="." method="_on_Input_player_mousemotion_event"] |
| 53 | 39 | [connection signal="player_move" from="Input" to="." method="_on_Input_player_move"] |
| 54 | [connection signal="player_release_grapplinghook" from="Input" to="." method="_on_Input_player_release_grapplinghook"] | |
| 55 | 40 | [connection signal="player_restore_origin" from="Input" to="." method="_on_Input_player_restore_origin"] |
| 56 | [connection signal="player_shoot_grapplinghook" from="Input" to="." method="_on_Input_player_shoot_grapplinghook"] | |
| 57 | 41 | [connection signal="player_toggle_light" from="Input" to="." method="_on_Input_player_toggle_light"] |
| 58 | 42 | |
| 59 | 43 | [editable path="Model"] |
| … | … | @@ -9,8 +9,6 @@ signal player_mousemotion_event(event) |
| 9 | 9 | signal player_jump() |
| 10 | 10 | # signal player_roll() |
| 11 | 11 | signal player_move(inputDirection) |
| 12 | signal player_shoot_grapplinghook() | |
| 13 | signal player_release_grapplinghook() | |
| 14 | 12 | signal player_toggle_light() |
| 15 | 13 | # signal player_shoot() |
| 16 | 14 | |
| … | … | @@ -50,12 +48,6 @@ func _input(event : InputEvent): |
| 50 | 48 | |
| 51 | 49 | if event.is_action_pressed("jump"): |
| 52 | 50 | emit_signal("player_jump") |
| 53 | ||
| 54 | if event.is_action_pressed("shoot_grapplinghook"): | |
| 55 | emit_signal("player_shoot_grapplinghook") | |
| 56 | ||
| 57 | if event.is_action_released("shoot_grapplinghook"): | |
| 58 | emit_signal('player_release_grapplinghook') | |
| 59 | 51 | |
| 60 | 52 | #if event.is_action_pressed("roll"): |
| 61 | 53 | # emit_signal("player_action_roll") |
| … | … | @@ -187,4 +187,4 @@ nodes/walk_scale/node = SubResource( 23 ) |
| 187 | 187 | nodes/walk_scale/position = Vector2( -640, 360 ) |
| 188 | 188 | nodes/wall_run/node = SubResource( 50 ) |
| 189 | 189 | nodes/wall_run/position = Vector2( 720, -60 ) |
| 190 | node_connections = [ "output", 0, "wall_run", "walk_scale", 0, "Animation 3", "iwr_blend", 0, "Animation 2", "iwr_blend", 1, "walk_scale", "iwr_blend", 2, "run_scale", "wall_run", 0, "Blend2", "wall_run", 1, "Blend2 2", "wall_run", 2, "roll", "jump_scale", 0, "jump", "Blend2 2", 0, "Animation 11", "Blend2 2", 1, "Animation 10", "falling_scale", 0, "Animation 6", "TimeScale 3", 0, "strafe", "aim_transition", 0, "TimeScale 3", "aim_transition", 1, "iwr_blend", "air_blend", 0, "jump_scale", "air_blend", 1, "falling_scale", "air_blend", 2, "landing_scale", "air_transition", 0, "air_blend", "air_transition", 1, "aim_transition", "Blend2", 0, "Animation 8", "Blend2", 1, "Animation 9", "run_scale", 0, "Animation 4", "roll_scale", 0, "Animation", "landing_scale", 0, "Animation 7", "roll", 0, "air_transition", "roll", 1, "roll_scale" ] | |
| 190 | node_connections = [ "output", 0, "wall_run", "air_blend", 0, "jump_scale", "air_blend", 1, "falling_scale", "air_blend", 2, "landing_scale", "falling_scale", 0, "Animation 6", "Blend2 2", 0, "Animation 11", "Blend2 2", 1, "Animation 10", "landing_scale", 0, "Animation 7", "air_transition", 0, "air_blend", "air_transition", 1, "aim_transition", "walk_scale", 0, "Animation 3", "roll_scale", 0, "Animation", "run_scale", 0, "Animation 4", "iwr_blend", 0, "Animation 2", "iwr_blend", 1, "walk_scale", "iwr_blend", 2, "run_scale", "TimeScale 3", 0, "strafe", "jump_scale", 0, "jump", "wall_run", 0, "Blend2", "wall_run", 1, "Blend2 2", "wall_run", 2, "roll", "Blend2", 0, "Animation 8", "Blend2", 1, "Animation 9", "aim_transition", 0, "TimeScale 3", "aim_transition", 1, "iwr_blend", "roll", 0, "air_transition", "roll", 1, "roll_scale" ] |
| … | … | @@ -117,9 +117,14 @@ _global_script_class_icons={ |
| 117 | 117 | [application] |
| 118 | 118 | |
| 119 | 119 | config/name="Witch Island" |
| 120 | run/main_scene="res://levels/level1.tscn" | |
| 120 | run/main_scene="res://second.tscn" | |
| 121 | 121 | config/icon="res://icon.png" |
| 122 | 122 | |
| 123 | [display] | |
| 124 | ||
| 125 | window/size/width=1441 | |
| 126 | window/size/height=728 | |
| 127 | ||
| 123 | 128 | [editor_plugins] |
| 124 | 129 | |
| 125 | 130 | enabled=PoolStringArray( "res://addons/jc.godot.time-of-day/plugin.cfg", "res://addons/scatter/plugin.cfg", "res://addons/waterways/plugin.cfg", "res://addons/zylann.hterrain/plugin.cfg" ) |
| … | … | @@ -136,7 +141,7 @@ right={ |
| 136 | 141 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":68,"unicode":0,"echo":false,"script":null) |
| 137 | 142 | ] |
| 138 | 143 | } |
| 139 | back={ | |
| 144 | backward={ | |
| 140 | 145 | "deadzone": 0.5, |
| 141 | 146 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":83,"unicode":0,"echo":false,"script":null) |
| 142 | 147 | ] |
| … | … | @@ -161,6 +166,25 @@ jump={ |
| 161 | 166 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":32,"unicode":0,"echo":false,"script":null) |
| 162 | 167 | ] |
| 163 | 168 | } |
| 169 | toggleMouse={ | |
| 170 | "deadzone": 0.5, | |
| 171 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777240,"unicode":0,"echo":false,"script":null) | |
| 172 | ] | |
| 173 | } | |
| 174 | toggle_slowmo={ | |
| 175 | "deadzone": 0.5, | |
| 176 | "events": [ ] | |
| 177 | } | |
| 178 | restoreOrigin={ | |
| 179 | "deadzone": 0.5, | |
| 180 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":82,"unicode":0,"echo":false,"script":null) | |
| 181 | ] | |
| 182 | } | |
| 183 | toggleLight={ | |
| 184 | "deadzone": 0.5, | |
| 185 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":88,"unicode":0,"echo":false,"script":null) | |
| 186 | ] | |
| 187 | } | |
| 164 | 188 | |
| 165 | 189 | [rendering] |
| 166 | 190 |
| … | … | @@ -1,4 +1,4 @@ |
| 1 | [gd_scene load_steps=8 format=2] | |
| 1 | [gd_scene load_steps=9 format=2] | |
| 2 | 2 | |
| 3 | 3 | [ext_resource path="res://hypergodot/hyper_gossip/hyper_gossip.gd" type="Script" id=1] |
| 4 | 4 | [ext_resource path="res://main.gd" type="Script" id=2] |
| … | … | @@ -6,14 +6,16 @@ |
| 6 | 6 | [ext_resource path="res://hypergodot/hyper_godot_core.gd" type="Script" id=4] |
| 7 | 7 | [ext_resource path="res://game/player/player_core_local.tscn" type="PackedScene" id=5] |
| 8 | 8 | [ext_resource path="res://hypergodot/hyper_debugui/hyper_debugui.tscn" type="PackedScene" id=6] |
| 9 | [ext_resource path="res://levels/level1.tscn" type="PackedScene" id=7] | |
| 9 | [ext_resource path="res://game/maps/map_witch_island/map_witch_island.scn" type="PackedScene" id=7] | |
| 10 | [ext_resource path="res://game/maps/map_core.gd" type="Script" id=8] | |
| 10 | 11 | |
| 11 | 12 | [node name="Main" type="Node"] |
| 12 | 13 | script = ExtResource( 2 ) |
| 13 | 14 | |
| 14 | 15 | [node name="Maps" type="Node" parent="."] |
| 15 | 16 | |
| 16 | [node name="witch_island" parent="Maps" instance=ExtResource( 7 )] | |
| 17 | [node name="map_witch_island" parent="Maps" instance=ExtResource( 7 )] | |
| 18 | script = ExtResource( 8 ) | |
| 17 | 19 | |
| 18 | 20 | [node name="Players" type="Node" parent="."] |
| 19 | 21 |