From a07d929c4c7cfede79d2e674fd39d495ad1e2fdb Mon Sep 17 00:00:00 2001 From: pennyrigate Date: Tue, 26 Dec 2023 21:42:56 -0500 Subject: [PATCH] msx off level indicator --- audio/sounds/msx_come_here.ogg | Bin 0 -> 25795 bytes objects/Camera2D.tscn | 7 ++++++- objects/camera.gd | 21 +++++++++++++++++++++ objects/hud/msx_off_level_indicator.gd | 3 +++ objects/hud/msx_off_level_indicator.tscn | 6 ++++-- objects/npc/msx.gd | 2 ++ objects/npc/msx.tscn | 12 ++++++++++++ 7 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 audio/sounds/msx_come_here.ogg create mode 100644 objects/hud/msx_off_level_indicator.gd diff --git a/audio/sounds/msx_come_here.ogg b/audio/sounds/msx_come_here.ogg new file mode 100644 index 0000000000000000000000000000000000000000..cc67b80abde1e7a814e82cc783bb27cdc2cd3de1 GIT binary patch literal 25795 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 IYd%=}e;M;}t^fc4 literal 0 HcmV?d00001 diff --git a/objects/Camera2D.tscn b/objects/Camera2D.tscn index 8c66f67..560267f 100644 --- a/objects/Camera2D.tscn +++ b/objects/Camera2D.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=4 format=2] [ext_resource path="res://objects/camera.gd" type="Script" id=1] [ext_resource path="res://objects/hud/off_level_indicator.tscn" type="PackedScene" id=2] +[ext_resource path="res://objects/hud/msx_off_level_indicator.tscn" type="PackedScene" id=3] [node name="Camera2D" type="Camera2D"] offset = Vector2( 128, 96 ) @@ -12,3 +13,7 @@ script = ExtResource( 1 ) [node name="OffLevelIndicator" parent="." instance=ExtResource( 2 )] visible = false position = Vector2( 0, 12 ) + +[node name="MsxOffLevelIndicator" parent="." instance=ExtResource( 3 )] +visible = false +position = Vector2( 16, 32 ) diff --git a/objects/camera.gd b/objects/camera.gd index 8e89abd..d523494 100644 --- a/objects/camera.gd +++ b/objects/camera.gd @@ -3,14 +3,20 @@ extends Camera2D onready var player = get_tree().get_nodes_in_group("player").front() onready var last_sector = Game.get_sector(player.global_position + Vector2(0.0, -5.0)) onready var off_level_indicator = $OffLevelIndicator +onready var msx_off_level_indicator = $MsxOffLevelIndicator #Scroll direction export var scroll_h = true export var scroll_v = false export var respawn_h = true +var msx = null +var msx_exists = false func _ready(): set_as_toplevel(true) Game.current_sector = last_sector + if get_tree().get_nodes_in_group("msx").size() > 0: + msx = get_tree().get_nodes_in_group("msx").pop_front() + msx_exists = true func _process(delta): # use pop_front() instead of [0] so that will not crash without player @@ -34,3 +40,18 @@ func _process(delta): off_level_indicator.global_position.x = player.global_position.x else: off_level_indicator.visible = false + #Ms.X off level indicator + if msx_exists && is_instance_valid(msx): + if msx.get_parent().is_free: + msx_off_level_indicator.visible = true + var msx_sector = Game.get_sector(msx.global_position) + if msx_sector == current_sector: + msx_off_level_indicator.anims.play("onscreen") + if msx_sector < current_sector: + msx_off_level_indicator.position.y = msx.global_position.y + msx_off_level_indicator.position.x = 16 + msx_off_level_indicator.anims.play("left") + if msx_sector > current_sector: + msx_off_level_indicator.position.y = msx.global_position.y + msx_off_level_indicator.position.x = 240 + msx_off_level_indicator.anims.play("right") diff --git a/objects/hud/msx_off_level_indicator.gd b/objects/hud/msx_off_level_indicator.gd new file mode 100644 index 0000000..74dda07 --- /dev/null +++ b/objects/hud/msx_off_level_indicator.gd @@ -0,0 +1,3 @@ +extends Node2D + +onready var anims = $AnimationPlayer diff --git a/objects/hud/msx_off_level_indicator.tscn b/objects/hud/msx_off_level_indicator.tscn index 0723703..2fc9b4e 100644 --- a/objects/hud/msx_off_level_indicator.tscn +++ b/objects/hud/msx_off_level_indicator.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://graphics/hud/off_level_indicator.png" type="Texture" id=1] [ext_resource path="res://graphics/hud/msx_head.png" type="Texture" id=2] +[ext_resource path="res://objects/hud/msx_off_level_indicator.gd" type="Script" id=3] [sub_resource type="Animation" id=2] length = 0.001 @@ -186,6 +187,7 @@ tracks/3/keys = { } [node name="MsxOffLevelIndicator" type="Node2D"] +script = ExtResource( 3 ) [node name="Head" type="Sprite" parent="."] visible = false @@ -193,7 +195,7 @@ texture = ExtResource( 2 ) [node name="ArrowR" type="Sprite" parent="."] visible = false -position = Vector2( 12.4551, 1 ) +position = Vector2( 11.336, 1 ) rotation = 1.5708 texture = ExtResource( 1 ) diff --git a/objects/npc/msx.gd b/objects/npc/msx.gd index 6c37c33..0565cee 100644 --- a/objects/npc/msx.gd +++ b/objects/npc/msx.gd @@ -5,6 +5,7 @@ var is_moving = false var is_holding_shard = true var has_respawned = false var first_lead = true +var is_free = false onready var death_particles = $DeathSplatter onready var sprite = $Sprite onready var anims = $AnimationPlayer @@ -76,6 +77,7 @@ func spawn_shard(): func switch_action(): Audio.play_sound(come_here,Audio.ac_voice) text_anims.play("come here") + is_free = true func spray_blood(): for i in 16: diff --git a/objects/npc/msx.tscn b/objects/npc/msx.tscn index d1fbdc5..3976722 100644 --- a/objects/npc/msx.tscn +++ b/objects/npc/msx.tscn @@ -522,6 +522,18 @@ tracks/0/keys = { "update": 1, "values": [ true, false ] } +tracks/1/type = "value" +tracks/1/path = NodePath("Dialogue/ComeHere:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ false ] +} [sub_resource type="Animation" id=24] resource_name = "here take this"