| … | … | @@ -1,52 +1,18 @@ |
| 1 | 1 | extends Spatial |
| 2 | 2 | |
| 3 | export var teleportation_destination : String = "" | |
| 4 | ||
| 5 | onready var mapsNode : Node = get_tree().get_current_scene().get_node("Maps") | |
| 6 | ||
| 7 | ||
| 8 | # Declare member variables here. Examples: | |
| 9 | # var a = 2 | |
| 10 | # var b = "text" | |
| 11 | ||
| 3 | export var portal_destination : String = "" | |
| 12 | 4 | |
| 13 | 5 | # Called when the node enters the scene tree for the first time. |
| 14 | 6 | func _ready(): |
| 15 | 7 | pass # Replace with function body. |
| 16 | ||
| 17 | func _on_Teleporter_gameplay_entered(): | |
| 18 | pass | |
| 19 | ||
| 20 | ||
| 21 | func tryMapChange(mapChangeName : String, sendGossip : bool, playerNode): | |
| 22 | var mapCurrentName = playerNode.currentMap.map_name | |
| 23 | var mapNode = null | |
| 24 | if(mapCurrentName != teleportation_destination): | |
| 25 | if(mapChangeName == "map_test"): | |
| 26 | mapNode = mapsNode.find_node("map_test", true, false) | |
| 27 | elif(mapChangeName == "map_cyber"): | |
| 28 | mapNode = mapsNode.find_node("map_cyber", true, false) | |
| 29 | elif(mapChangeName == "map_cyber1"): | |
| 30 | mapNode = mapsNode.find_node("map_cyber1", true, false) | |
| 31 | # Find a Respawn Point | |
| 32 | playerNode.currentSpawnLocation = playerNode.getSpawnLocationForMapName(mapChangeName) | |
| 33 | playerNode.currentMap = mapNode | |
| 34 | playerNode.playerWantsToRespawn = true | |
| 35 | playerNode.playerWantsNewWorldEnvironment = true | |
| 36 | ||
| 37 | if(sendGossip): | |
| 38 | var data : Dictionary = { | |
| 39 | "map": { | |
| 40 | "name": mapChangeName | |
| 41 | } | |
| 42 | } | |
| 43 | #hyperGossip.broadcast_event(EVENT_PLAYER_MAPCHANGE, data) | |
| 44 | 8 | |
| 9 | func tryGameChange(mapChangeName : String, sendGossip : bool, playerNode): | |
| 10 | OS.execute(OS.get_executable_path(), ["--main-pack", portal_destination], false) | |
| 11 | get_tree().quit() | |
| 45 | 12 | |
| 46 | 13 | func _on_CollisionShape_gameplay_entered(): |
| 47 | 14 | pass # Replace with function body. |
| 48 | 15 | |
| 49 | ||
| 50 | 16 | func _on_Hitbox_body_shape_entered(body_rid, body, body_shape_index, local_shape_index): |
| 51 | 17 | if(body is KinematicBody): |
| 52 | tryMapChange(teleportation_destination, true, body) | |
| 18 | tryGameChange(portal_destination, true, body) |
| … | … | @@ -1,22 +1,21 @@ |
| 1 | 1 | [gd_scene load_steps=4 format=2] |
| 2 | 2 | |
| 3 | 3 | [ext_resource path="res://assets/models/portal/portal.tscn" type="PackedScene" id=1] |
| 4 | [ext_resource path="res://game/map_decorations/teleporter.gd" type="Script" id=2] | |
| 4 | [ext_resource path="res://game/map_decorations/portal.gd" type="Script" id=2] | |
| 5 | 5 | |
| 6 | [sub_resource type="CylinderShape" id=1] | |
| 7 | radius = 2.5 | |
| 6 | [sub_resource type="BoxShape" id=1] | |
| 7 | extents = Vector3( 2, 1, 2 ) | |
| 8 | 8 | |
| 9 | [node name="Teleporter" type="Spatial"] | |
| 9 | [node name="Portal" type="Spatial"] | |
| 10 | 10 | script = ExtResource( 2 ) |
| 11 | teleportation_destination = "map_test" | |
| 12 | 11 | |
| 13 | 12 | [node name="Hitbox" type="Area" parent="."] |
| 14 | 13 | transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.6015, -0.00169456 ) |
| 15 | 14 | |
| 16 | 15 | [node name="CollisionShape" type="CollisionShape" parent="Hitbox"] |
| 17 | transform = Transform( 1, 0, -4.37114e-08, -4.37114e-08, 1.91069e-15, -1, 0, 1, 1.91069e-15, 0, -1.60972, 0 ) | |
| 16 | transform = Transform( 1, 0, -4.37114e-08, -4.37114e-08, 1.91069e-15, -1, 0, 1, 1.91069e-15, -0.0218629, -1.60972, 0.0110197 ) | |
| 18 | 17 | shape = SubResource( 1 ) |
| 19 | 18 | |
| 20 | 19 | [node name="portal" parent="." instance=ExtResource( 1 )] |
| 21 | 20 | |
| 22 | [connection signal="body_entered" from="Hitbox" to="." method="_on_Hitbox_body_entered"] | |
| 21 | [connection signal="body_shape_entered" from="Hitbox" to="." method="_on_Hitbox_body_shape_entered"] |
| … | … | @@ -50,7 +50,10 @@ func _on_CollisionShape_gameplay_entered(): |
| 50 | 50 | func _on_Hitbox_body_shape_entered(body_rid, body, body_shape_index, local_shape_index): |
| 51 | 51 | if(body is KinematicBody): |
| 52 | 52 | tryMapChange(teleportation_destination, true, body) |
| 53 | print("blah") | |
| 54 | ||
| 53 | 55 | |
| 54 | 56 | |
| 55 | 57 | func _on_Hitbox_body_entered(body): |
| 56 | pass # Replace with function body. | |
| 58 | if(body is KinematicBody): | |
| 59 | tryMapChange(teleportation_destination, true, body) |
| … | … | @@ -50,7 +50,6 @@ transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 15.6924, -12.4585, 11.85 |
| 50 | 50 | [node name="Teleporter_1" parent="PlayerTeleportNodes" instance=ExtResource( 1 )] |
| 51 | 51 | transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 15.8994, 2.9665, -56.0907 ) |
| 52 | 52 | script = ExtResource( 7 ) |
| 53 | teleportation_destination = "map_test" | |
| 54 | 53 | |
| 55 | 54 | [node name="Teleporter" parent="PlayerTeleportNodes" instance=ExtResource( 5 )] |
| 56 | 55 | transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 16.031, -1.21, 38.792 ) |
| … | … | @@ -32,9 +32,6 @@ max_distance = 500.0 |
| 32 | 32 | [node name="Teleporter_1" parent="Teleporters" instance=ExtResource( 4 )] |
| 33 | 33 | transform = Transform( 0.655427, 0, -0.755259, 0, 1, 0, 0.755259, 0, 0.655427, -15.0371, -3.75616, -37.6492 ) |
| 34 | 34 | |
| 35 | [node name="Teleporter" parent="Teleporters" instance=ExtResource( 7 )] | |
| 36 | transform = Transform( 0.965926, 0, -0.258819, 0, 1, 0, 0.258819, 0, 0.965926, -2.36777, 1.11981, -39.4728 ) | |
| 37 | ||
| 38 | 35 | [node name="PlayerSpawnNodes" type="Spatial" parent="."] |
| 39 | 36 | |
| 40 | 37 | [node name="Spawnpad_1" parent="PlayerSpawnNodes" instance=ExtResource( 3 )] |
| … | … | @@ -58,4 +55,10 @@ transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, -9.88113, 8.96284, -17.1 |
| 58 | 55 | transform = Transform( 30, 0, 0, 0, 30, 0, 0, 0, 80, 0, 0, -23.7039 ) |
| 59 | 56 | shape = SubResource( 35 ) |
| 60 | 57 | |
| 58 | [node name="Portals" type="Spatial" parent="."] | |
| 59 | ||
| 60 | [node name="Portal" parent="Portals" instance=ExtResource( 7 )] | |
| 61 | transform = Transform( 0.965926, 0, -0.258819, 0, 1, 0, 0.258819, 0, 0.965926, -2.39988, 1.13516, -33.2994 ) | |
| 62 | portal_destination = "witchy-world.pck" | |
| 63 | ||
| 61 | 64 | [connection signal="body_entered" from="Area" to="." method="_on_Area_body_entered" binds= [ "map_test" ]] |
| … | … | @@ -0,0 +1,35 @@ |
| 1 | [remap] | |
| 2 | ||
| 3 | importer="texture" | |
| 4 | type="StreamTexture" | |
| 5 | path="res://.import/tumble.jpg-bde82218c0b4a395c2b9f505281bd2c3.stex" | |
| 6 | metadata={ | |
| 7 | "vram_texture": false | |
| 8 | } | |
| 9 | ||
| 10 | [deps] | |
| 11 | ||
| 12 | source_file="res://tumble.jpg" | |
| 13 | dest_files=[ "res://.import/tumble.jpg-bde82218c0b4a395c2b9f505281bd2c3.stex" ] | |
| 14 | ||
| 15 | [params] | |
| 16 | ||
| 17 | compress/mode=0 | |
| 18 | compress/lossy_quality=0.7 | |
| 19 | compress/hdr_mode=0 | |
| 20 | compress/bptc_ldr=0 | |
| 21 | compress/normal_map=0 | |
| 22 | flags/repeat=0 | |
| 23 | flags/filter=true | |
| 24 | flags/mipmaps=false | |
| 25 | flags/anisotropic=false | |
| 26 | flags/srgb=2 | |
| 27 | process/fix_alpha_border=true | |
| 28 | process/premult_alpha=false | |
| 29 | process/HDR_as_SRGB=false | |
| 30 | process/invert_color=false | |
| 31 | process/normal_map_invert_y=false | |
| 32 | stream=false | |
| 33 | size_limit=0 | |
| 34 | detect_3d=true | |
| 35 | svg/scale=1.0 |