oi, go right!

This commit is contained in:
Haze Weathers 2025-01-05 14:53:19 -05:00
parent ac0f3c8d58
commit 7b4d519791
5 changed files with 87 additions and 57 deletions

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=33 format=2]
[gd_scene load_steps=35 format=2]
[ext_resource path="res://objects/environment/ladder/ladder.tscn" type="PackedScene" id=1]
[ext_resource path="res://objects/hud/hud.tscn" type="PackedScene" id=2]
@ -32,6 +32,8 @@
[ext_resource path="res://objects/lore/hills/sg.tscn" type="PackedScene" id=30]
[ext_resource path="res://graphics/turniwood/turning_platform_wood_dark.png" type="Texture" id=31]
[ext_resource path="res://graphics/decal/helper_hints/the_signs/go_right_from_here/arrow_sign.png" type="Texture" id=32]
[ext_resource path="res://objects/npc/speccy.tscn" type="PackedScene" id=33]
[ext_resource path="res://maps/hills_speccy_detect.gd" type="Script" id=34]
[node name="Map" type="Node2D" groups=["map"]]
pause_mode = 1
@ -161,80 +163,80 @@ texture = ExtResource( 32 )
[node name="Collectibles" type="Node2D" parent="."]
[node name="Star" parent="Collectibles" instance=ExtResource( 4 )]
[node name="Star" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 4 )]
position = Vector2( 0, 136 )
[node name="Star2" parent="Collectibles" instance=ExtResource( 4 )]
position = Vector2( 112, 120 )
color = 1
[node name="Key" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 40, 168 )
[node name="Key2" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key2" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 64, 168 )
[node name="Key3" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key3" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 88, 152 )
[node name="Key5" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key5" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 232, 112 )
[node name="Key6" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key6" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 48, 80 )
[node name="Key7" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key7" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 72, 80 )
[node name="Key8" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key8" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 96, 80 )
[node name="Key9" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key9" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 152, 48 )
[node name="Key10" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key10" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 120, 32 )
[node name="Key11" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key11" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 184, 72 )
[node name="Key14" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key14" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 120, 72 )
[node name="Key13" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key13" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 192, 48 )
[node name="Key4" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key4" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 112, 152 )
[node name="Key12" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key12" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 160, 168 )
[node name="Key15" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key15" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 5 )]
position = Vector2( 288, 120 )
[node name="Key16" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key16" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 248, 120 )
[node name="Key20" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key20" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 5 )]
position = Vector2( 360, 104 )
[node name="Key22" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key22" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 5 )]
position = Vector2( 264, 72 )
[node name="Key24" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key24" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 5 )]
position = Vector2( 296, 72 )
[node name="Key25" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key25" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 5 )]
position = Vector2( 288, 48 )
[node name="Key26" parent="Collectibles" instance=ExtResource( 5 )]
position = Vector2( 488, 56 )
[node name="Key27" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key27" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 5 )]
position = Vector2( 448, 64 )
[node name="Key33" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key33" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 5 )]
position = Vector2( 432, 152 )
[node name="Key34" parent="Collectibles" instance=ExtResource( 5 )]
@ -288,13 +290,13 @@ position = Vector2( 648, 168 )
[node name="Key50" parent="Collectibles" instance=ExtResource( 5 )]
position = Vector2( 528, 56 )
[node name="Key28" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key28" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 5 )]
position = Vector2( 408, 64 )
[node name="Key23" parent="Collectibles" instance=ExtResource( 5 )]
position = Vector2( 616, 168 )
[node name="Key21" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key21" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 5 )]
position = Vector2( 320, 120 )
[node name="Key29" parent="Collectibles" instance=ExtResource( 5 )]
@ -303,29 +305,29 @@ position = Vector2( 200, 168 )
[node name="Key30" parent="Collectibles" instance=ExtResource( 5 )]
position = Vector2( 232, 168 )
[node name="Key31" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key31" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 5 )]
position = Vector2( 272, 168 )
[node name="Key32" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key32" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 5 )]
position = Vector2( 304, 168 )
[node name="Key18" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key18" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 152, 112 )
[node name="Key19" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key19" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 216, 80 )
[node name="Key17" parent="Collectibles" instance=ExtResource( 5 )]
[node name="Key17" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 5 )]
position = Vector2( 200, 112 )
[node name="Shard" parent="Collectibles" instance=ExtResource( 17 )]
[node name="Shard" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 17 )]
position = Vector2( 32, 32 )
[node name="Shard4" parent="Collectibles" instance=ExtResource( 17 )]
position = Vector2( 648, 80 )
number = 2
[node name="Shard2" parent="Collectibles" instance=ExtResource( 17 )]
[node name="Shard2" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 17 )]
position = Vector2( 456, 24 )
number = 1
@ -333,7 +335,7 @@ number = 1
position = Vector2( 688, 80 )
number = 3
[node name="Star3" parent="Collectibles" instance=ExtResource( 4 )]
[node name="Star3" parent="Collectibles" groups=["speccy_skip"] instance=ExtResource( 4 )]
position = Vector2( 416, 104 )
color = 3
@ -347,7 +349,7 @@ position = Vector2( 664, 80 )
position = Vector2( 760, 112 )
color = 4
[node name="Star5" parent="Collectibles" instance=ExtResource( 4 )]
[node name="Star5" parent="Collectibles" groups=["speccy_appear"] instance=ExtResource( 4 )]
position = Vector2( 224, 48 )
color = 2
@ -450,3 +452,12 @@ format = 1
[node name="Exit" parent="." instance=ExtResource( 20 )]
position = Vector2( 757, 164 )
cost = 25
[node name="SpeccyDetect" type="Node2D" parent="."]
position = Vector2( 224, 176 )
script = ExtResource( 34 )
[node name="Speccy" parent="SpeccyDetect" instance=ExtResource( 33 )]
position = Vector2( -8, 0 )
flip = true
message = "oi_go_right"

View file

@ -0,0 +1,15 @@
extends Node2D
var try_for_speccy: bool = true
onready var skippers: int = get_tree().get_nodes_in_group("speccy_skip").size()
func _physics_process(delta: float) -> void:
if try_for_speccy:
if get_tree().get_nodes_in_group("speccy_appear").empty():
try_for_speccy = false
$Speccy.appear()
elif get_tree().get_nodes_in_group("speccy_skip").size() < skippers:
try_for_speccy = false

View file

@ -205,6 +205,6 @@ position = Vector2( 124, 96 )
[node name="speccy" parent="." groups=["speccy"] instance=ExtResource( 2 )]
position = Vector2( 82, 72 )
message = "go_get_em"
message = ""
[editable path="RollingFiend"]

View file

@ -3,6 +3,7 @@ extends Node2D
export(String, DIR) var messages_dir: String setget _set_messages_dir
export var flip: bool = false setget _set_flip
#export
var message: String setget _set_message
@ -35,22 +36,24 @@ func _set_message(value: String) -> void:
$Message.texture = load("%s/%s.png" % [messages_dir, message])
func _set_flip(value: bool) -> void:
flip = value
$Flipper.scale.x = -1.0 if flip else 1.0
func _get_property_list() -> Array:
var files: String = ""
var dir: Directory = Directory.new()
print(messages_dir)
if dir.open(messages_dir) == OK:
dir.list_dir_begin(true, true)
var file_name: String = dir.get_next()
while file_name != "":
if not dir.current_is_dir() and file_name.ends_with(".png"):
print("found file: ", file_name)
files += "%s," % file_name.trim_suffix(".png")
file_name = dir.get_next()
files = files.trim_suffix(",")
else:
push_error("Failed to open dir: %s" % messages_dir)
print(files)
return [
{
name = "message",

View file

@ -1,9 +1,8 @@
[gd_scene load_steps=12 format=2]
[gd_scene load_steps=11 format=2]
[ext_resource path="res://graphics/npc/speccy.png" type="Texture" id=1]
[ext_resource path="res://shaders/beam_cycle.gdshader" type="Shader" id=2]
[ext_resource path="res://graphics/enemy/boss/stg_2600/beam_gradient.png" type="Texture" id=3]
[ext_resource path="res://graphics/hud/speccy/over_here.png" type="Texture" id=4]
[ext_resource path="res://graphics/npc/speccy_talk.png" type="Texture" id=5]
[ext_resource path="res://graphics/npc/speccy_cool.png" type="Texture" id=6]
[ext_resource path="res://objects/npc/speccy.gd" type="Script" id=7]
@ -16,7 +15,7 @@ shader_param/gradient = ExtResource( 3 )
[sub_resource type="Animation" id=1]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:scale")
tracks/0/path = NodePath("Flipper/Sprite:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
@ -28,7 +27,7 @@ tracks/0/keys = {
"values": [ Vector2( 1, 1 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite/Overlay:modulate")
tracks/1/path = NodePath("Flipper/Sprite/Overlay:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
@ -37,7 +36,7 @@ tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Color( 1, 1, 1, 1 ) ]
"values": [ Color( 1, 1, 1, 0 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Message:scale")
@ -52,7 +51,7 @@ tracks/2/keys = {
"values": [ Vector2( 1, 1 ) ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("Sprite:hframes")
tracks/3/path = NodePath("Flipper/Sprite:hframes")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
@ -64,7 +63,7 @@ tracks/3/keys = {
"values": [ 1 ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("Sprite:texture")
tracks/4/path = NodePath("Flipper/Sprite:texture")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
@ -97,7 +96,7 @@ resource_name = "fun"
length = 3.0
step = 0.05
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:scale")
tracks/0/path = NodePath("Flipper/Sprite:scale")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/imported = false
@ -109,7 +108,7 @@ tracks/0/keys = {
"values": [ Vector2( 1e-05, 1 ), Vector2( 0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( -0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( 0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( -0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( 1.25, 0.833 ), Vector2( 1, 1 ), Vector2( 1, 1 ), Vector2( 1.25, 0.833 ), Vector2( 1e-05, 1 ), Vector2( -0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( 0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( -0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( 0.75, 1 ), Vector2( 1e-05, 1 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite/Overlay:modulate")
tracks/1/path = NodePath("Flipper/Sprite/Overlay:modulate")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/imported = false
@ -133,7 +132,7 @@ tracks/2/keys = {
"values": [ Vector2( 0, 0 ), Vector2( 1e-05, 1e-05 ), Vector2( 1.0418, 1 ), Vector2( 1, 0.96 ), Vector2( 1, 0.96 ), Vector2( 1.0418, 1 ), Vector2( 1e-05, 1e-05 ) ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("Sprite:texture")
tracks/3/path = NodePath("Flipper/Sprite:texture")
tracks/3/interp = 2
tracks/3/loop_wrap = true
tracks/3/imported = false
@ -145,7 +144,7 @@ tracks/3/keys = {
"values": [ ExtResource( 1 ), ExtResource( 1 ), ExtResource( 5 ), ExtResource( 1 ), ExtResource( 5 ), ExtResource( 1 ), ExtResource( 5 ), ExtResource( 1 ), ExtResource( 6 ) ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("Sprite:hframes")
tracks/4/path = NodePath("Flipper/Sprite:hframes")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
@ -157,7 +156,7 @@ tracks/4/keys = {
"values": [ 1, 4 ]
}
tracks/5/type = "value"
tracks/5/path = NodePath("Sprite:frame")
tracks/5/path = NodePath("Flipper/Sprite:frame")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
@ -169,7 +168,7 @@ tracks/5/keys = {
"values": [ 0, 0, 1, 2, 3 ]
}
tracks/6/type = "value"
tracks/6/path = NodePath("Sprite/Overlay:texture")
tracks/6/path = NodePath("Flipper/Sprite/Overlay:texture")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/imported = false
@ -193,17 +192,20 @@ tracks/7/keys = {
"values": [ Vector2( 1, 1 ) ]
}
[node name="speccy" type="Node2D"]
[node name="Speccy" type="Node2D"]
script = ExtResource( 7 )
messages_dir = "res://graphics/hud/speccy"
message = "over_here"
message = ""
[node name="Sprite" type="Sprite" parent="."]
[node name="Flipper" type="Node2D" parent="."]
[node name="Sprite" type="Sprite" parent="Flipper"]
position = Vector2( -1, -12 )
texture = ExtResource( 1 )
offset = Vector2( -1, 0 )
[node name="Overlay" type="Sprite" parent="Sprite"]
[node name="Overlay" type="Sprite" parent="Flipper/Sprite"]
modulate = Color( 1, 1, 1, 0 )
material = SubResource( 3 )
texture = ExtResource( 1 )
offset = Vector2( 1, 0 )
@ -215,4 +217,3 @@ anims/fun = SubResource( 2 )
[node name="Message" type="Sprite" parent="."]
position = Vector2( 0, -24 )
texture = ExtResource( 4 )