From d107c73968505c1f949f50012248cfa535280fa9 Mon Sep 17 00:00:00 2001 From: shelltitan <17dszi@gmail.com> Date: Sat, 11 Mar 2017 23:03:12 +0100 Subject: [PATCH 1/2] teleport fix --- src/global.gd | 6 ++---- src/levels/forest/forest.gd | 7 ++++++- src/levels/mountain/mountain.gd | 10 +++++++--- src/scene_teleporter.gd | 2 ++ 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/global.gd b/src/global.gd index 7f5260f..aa575de 100644 --- a/src/global.gd +++ b/src/global.gd @@ -37,10 +37,8 @@ var yankandy_score_total = 0 # Scene related var currentScene = null -# Check if player has visited a scene already -var beentoscn3 = true -var beentoscn4 = true -var beentoscn5 = true +# Check if player has visited a scene already and store the last position on leaving/spawning +var last_pos = [Vector2(0,0),Vector2(0,0),Vector2(0,0)] # Array for characters the player has met (to display the character cards in the options later) var characters_met = [] diff --git a/src/levels/forest/forest.gd b/src/levels/forest/forest.gd index b4082ce..5a9ce1a 100644 --- a/src/levels/forest/forest.gd +++ b/src/levels/forest/forest.gd @@ -8,8 +8,13 @@ func _ready(): var initial_pos_player = get_node("/root/scn3/world/initial_spawn_player").get_global_pos() # Set player position + if global.last_pos[0] == Vector2(0,0): + initial_pos_player = get_node("/root/scn3/world/initial_spawn_player").get_global_pos() + else: + global.last_pos[0].x -= 100 + initial_pos_player = global.last_pos[0] + global.last_pos[0] = Vector2(0,0) get_node("/root/scn3/player").set_global_pos(initial_pos_player) - # Get enemy group game.open_scene("scn3") diff --git a/src/levels/mountain/mountain.gd b/src/levels/mountain/mountain.gd index 55cdf4d..f003f18 100644 --- a/src/levels/mountain/mountain.gd +++ b/src/levels/mountain/mountain.gd @@ -4,9 +4,13 @@ extends Node2D func _ready(): # Adds this scene to db game.open_scene("scn4") - + var initial_pos_player # Get initial player spawn position - var initial_pos_player = get_node("/root/scn4/world/initial_spawn_player").get_global_pos() - + if global.last_pos[1] == Vector2(0,0): + initial_pos_player = get_node("/root/scn4/world/initial_spawn_player").get_global_pos() + else: + global.last_pos[1].x += 100 + initial_pos_player = global.last_pos[1] + global.last_pos[1] = Vector2(0,0) # Set player position get_node("/root/scn4/world/tile_map/player").set_global_pos(initial_pos_player) \ No newline at end of file diff --git a/src/scene_teleporter.gd b/src/scene_teleporter.gd index c0f0db2..d531272 100644 --- a/src/scene_teleporter.gd +++ b/src/scene_teleporter.gd @@ -11,6 +11,8 @@ func _on_scene_teleporter_body_enter( body ): print("Teleporting to " + scene_path) #find_node("teleporter_debug_label").set_text(scene_path) if body.get_name() == "player": + var current = get_tree().get_current_scene().get_name() + global.last_pos[current[current.length()-1].to_int() - 3] = body.get_global_pos() transition.fade_to(str(scene_path)) #transition.fade_to("res://" + scene_path) #var tele1pos = get_node("/root/scn3/tele1/teleporter1").get_global_pos() From cba412befba74f1e7e39f254c5ce227c14c46686 Mon Sep 17 00:00:00 2001 From: shelltitan <17dszi@gmail.com> Date: Sat, 11 Mar 2017 23:11:47 +0100 Subject: [PATCH 2/2] fix the yan bug --- src/levels/castle/castle_outside.tscn | 10 +++++----- src/levels/forest/forest.gd | 4 ---- src/levels/mountain/mountain.gd | 2 +- src/screens/hud/hud.gd | 10 +++------- 4 files changed, 9 insertions(+), 17 deletions(-) diff --git a/src/levels/castle/castle_outside.tscn b/src/levels/castle/castle_outside.tscn index 5741255..1dc84a3 100644 --- a/src/levels/castle/castle_outside.tscn +++ b/src/levels/castle/castle_outside.tscn @@ -12,12 +12,12 @@ [ext_resource path="res://src/scene_teleporter.gd" type="Script" id=10] [ext_resource path="res://src/objects/platforms/small_one_way_platform.tscn" type="PackedScene" id=11] -[sub_resource type="ColorRamp" id=2] +[sub_resource type="ColorRamp" id=1] offsets = FloatArray( 0, 1 ) colors = ColorArray( 0.90625, 0.90625, 0.90625, 1, 1, 1, 1, 0.042549 ) -[sub_resource type="RectangleShape2D" id=1] +[sub_resource type="RectangleShape2D" id=2] custom_solver_bias = 0.0 extents = Vector2( 5.59285, 53.2617 ) @@ -84,7 +84,7 @@ randomness/direction = 0.2 randomness/spin_velocity = 5.0 randomness/initial_angle = 1.0 randomness/hue_variation = 0.5 -color/color_ramp = SubResource( 2 ) +color/color_ramp = SubResource( 1 ) [node name="rewards" type="Node2D" parent="."] @@ -139,7 +139,7 @@ stream/stream = ExtResource( 9 ) transform/pos = Vector2( 735, 235 ) transform/scale = Vector2( 0.78125, 1.40625 ) input/pickable = true -shapes/0/shape = SubResource( 1 ) +shapes/0/shape = SubResource( 2 ) shapes/0/transform = Matrix32( 5.21364, 0, 0, 0.505573, 8.2016e-05, 3.55554 ) shapes/0/trigger = false gravity_vec = Vector2( 0, 1 ) @@ -175,7 +175,7 @@ transform/scale = Vector2( 0.20915, 0.17037 ) transform/pos = Vector2( 8.2016e-05, 3.55554 ) transform/scale = Vector2( 5.21364, 0.505573 ) -shape = SubResource( 1 ) +shape = SubResource( 2 ) trigger = false _update_shape_index = 0 diff --git a/src/levels/forest/forest.gd b/src/levels/forest/forest.gd index d5c0a11..4c88a8b 100644 --- a/src/levels/forest/forest.gd +++ b/src/levels/forest/forest.gd @@ -1,11 +1,7 @@ extends Node2D -onready var yan = self.find_node("Yan") # -- START -- func _ready(): - - print (yan.get_name()) - # Get initial player spawn position var initial_pos_player = get_node("/root/scn3/world/initial_spawn_player").get_global_pos() diff --git a/src/levels/mountain/mountain.gd b/src/levels/mountain/mountain.gd index f003f18..603dd9d 100644 --- a/src/levels/mountain/mountain.gd +++ b/src/levels/mountain/mountain.gd @@ -9,7 +9,7 @@ func _ready(): if global.last_pos[1] == Vector2(0,0): initial_pos_player = get_node("/root/scn4/world/initial_spawn_player").get_global_pos() else: - global.last_pos[1].x += 100 + global.last_pos[1].x += 100#adding beacause the player would spawn in the teleport initial_pos_player = global.last_pos[1] global.last_pos[1] = Vector2(0,0) # Set player position diff --git a/src/screens/hud/hud.gd b/src/screens/hud/hud.gd index 7ce54da..8edd0f1 100644 --- a/src/screens/hud/hud.gd +++ b/src/screens/hud/hud.gd @@ -6,23 +6,19 @@ export (NodePath) var highscore_text #= get_node("hudframe/highscore_label/highs export (NodePath) var sound_off_button #= get_node("hudframe/sound_off") onready var animations = get_node("animations") -onready var yan = get_parent().find_node("Yan") -onready var whatsmyparent = get_parent().get_name() -onready var whatsmyowner = get_owner().get_name() func _on_met_yan(): get_node("sfx").play("card_unlock") animations.play("yan_unlock_anim") func _ready(): - print ("My parent is: " + whatsmyparent) - print ("My owner is: " + whatsmyowner) - + var yan = get_parent().find_node("Yan") print (yan.get_name()) - if yan.has_node("Yan"): + if yan: print("Yan is present") yan.connect("met_yan", self,"_on_met_yan") animations.play("yan_unlock_anim") + print("working") update_scores() game.connect("scores_changed", self, "update_scores")