Compare commits
No commits in common. "dfb5ecd2db1ab6df81c4d91891db8e8c0a072249" and "3bb8a97f6d25d549c9b39979bb8e8c204ebd3bc9" have entirely different histories.
dfb5ecd2db
...
3bb8a97f6d
|
@ -1,4 +1,3 @@
|
||||||
build/
|
build/
|
||||||
.import/
|
.import/
|
||||||
assets/export/*.import
|
assets/export/*.import
|
||||||
*.import
|
|
||||||
|
|
6
TODO.md
6
TODO.md
|
@ -1,8 +1,10 @@
|
||||||
1. Visual polish
|
1. Visual polish
|
||||||
* visual indication when a unit is stronger (eg. a little skull or star or something)
|
|
||||||
* multiple square tiles to add variation
|
* multiple square tiles to add variation
|
||||||
|
* make the help text indicate (flash, etc.)
|
||||||
|
* visual indications when damage is done but a unit isn't killed
|
||||||
|
* visual indication when a unit is stronger (eg. a little skull or star or something)
|
||||||
2. Sound effects
|
2. Sound effects
|
||||||
* when a unit is killed
|
* on hit, especially when the unit isn't killed
|
||||||
* if possible, a small bit of background music
|
* if possible, a small bit of background music
|
||||||
3. Gameplay additions:
|
3. Gameplay additions:
|
||||||
* powerups: change movement type, remove pawn's attack and movement restrictions
|
* powerups: change movement type, remove pawn's attack and movement restrictions
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,75 +1,7 @@
|
||||||
<?xml version="1.0" standalone="no" ?>
|
<?xml version="1.0" standalone="no" ?>
|
||||||
<!DOCTYPE project PUBLIC "-//audacityproject-1.3.0//DTD//EN" "http://audacity.sourceforge.net/xml/audacityproject-1.3.0.dtd" >
|
<!DOCTYPE project PUBLIC "-//audacityproject-1.3.0//DTD//EN" "http://audacity.sourceforge.net/xml/audacityproject-1.3.0.dtd" >
|
||||||
<project xmlns="http://audacity.sourceforge.net/xml/" projname="voice_clips_data" version="1.3.0" audacityversion="2.4.2" sel0="0.1044897959" sel1="0.1625396825" vpos="0" h="0.0000000000" zoom="86.1328125000" rate="44100.0" snapto="off" selectionformat="hh:mm:ss + milliseconds" frequencyformat="Hz" bandwidthformat="octaves">
|
<project xmlns="http://audacity.sourceforge.net/xml/" projname="voice_clips_data" version="1.3.0" audacityversion="2.4.2" sel0="0.0000000000" sel1="0.0000000000" vpos="0" h="30.8477097506" zoom="86.1328125000" rate="44100.0" snapto="off" selectionformat="hh:mm:ss + milliseconds" frequencyformat="Hz" bandwidthformat="octaves">
|
||||||
<tags/>
|
<tags/>
|
||||||
<wavetrack name="Audio Track" isSelected="0" height="150" minimized="0" channel="0" linked="1" mute="0" solo="1" rate="44100" gain="1.0" pan="0.0" colorindex="0">
|
|
||||||
<waveclip offset="0.00000000" colorindex="0">
|
|
||||||
<sequence maxsamples="262144" sampleformat="262159" numsamples="12800">
|
|
||||||
<waveblock start="0">
|
|
||||||
<simpleblockfile filename="eff1f023.au" len="12800" min="-0.503601" max="0.707655" rms="0.04372"/>
|
|
||||||
</waveblock>
|
|
||||||
</sequence>
|
|
||||||
<envelope numpoints="0"/>
|
|
||||||
</waveclip>
|
|
||||||
<waveclip offset="1.01006803" colorindex="0">
|
|
||||||
<sequence maxsamples="262144" sampleformat="262159" numsamples="17408">
|
|
||||||
<waveblock start="0">
|
|
||||||
<simpleblockfile filename="eff1f4ba.au" len="17408" min="-1.269999" max="1.343039" rms="0.137565"/>
|
|
||||||
</waveblock>
|
|
||||||
</sequence>
|
|
||||||
<envelope numpoints="0"/>
|
|
||||||
</waveclip>
|
|
||||||
<waveclip offset="2.03174603" colorindex="0">
|
|
||||||
<sequence maxsamples="262144" sampleformat="262159" numsamples="14336">
|
|
||||||
<waveblock start="0">
|
|
||||||
<simpleblockfile filename="eff1ff3d.au" len="14336" min="-1.154202" max="1.230705" rms="0.072907"/>
|
|
||||||
</waveblock>
|
|
||||||
</sequence>
|
|
||||||
<envelope numpoints="0"/>
|
|
||||||
</waveclip>
|
|
||||||
<waveclip offset="3.01859410" colorindex="0">
|
|
||||||
<sequence maxsamples="262144" sampleformat="262159" numsamples="18944">
|
|
||||||
<waveblock start="0">
|
|
||||||
<simpleblockfile filename="eff1f3b6.au" len="18944" min="-1.430278" max="1.277689" rms="0.162329"/>
|
|
||||||
</waveblock>
|
|
||||||
</sequence>
|
|
||||||
<envelope numpoints="0"/>
|
|
||||||
</waveclip>
|
|
||||||
</wavetrack>
|
|
||||||
<wavetrack name="Audio Track" isSelected="0" height="150" minimized="0" channel="1" linked="0" mute="0" solo="1" rate="44100" gain="1.0" pan="0.0" colorindex="0">
|
|
||||||
<waveclip offset="0.00000000" colorindex="0">
|
|
||||||
<sequence maxsamples="262144" sampleformat="262159" numsamples="12800">
|
|
||||||
<waveblock start="0">
|
|
||||||
<simpleblockfile filename="eff1f4a9.au" len="12800" min="-0.507655" max="0.715664" rms="0.044112"/>
|
|
||||||
</waveblock>
|
|
||||||
</sequence>
|
|
||||||
<envelope numpoints="0"/>
|
|
||||||
</waveclip>
|
|
||||||
<waveclip offset="1.01006803" colorindex="0">
|
|
||||||
<sequence maxsamples="262144" sampleformat="262159" numsamples="17408">
|
|
||||||
<waveblock start="0">
|
|
||||||
<simpleblockfile filename="eff1f808.au" len="17408" min="-1.273832" max="1.353467" rms="0.138377"/>
|
|
||||||
</waveblock>
|
|
||||||
</sequence>
|
|
||||||
<envelope numpoints="0"/>
|
|
||||||
</waveclip>
|
|
||||||
<waveclip offset="2.03174603" colorindex="0">
|
|
||||||
<sequence maxsamples="262144" sampleformat="262159" numsamples="14336">
|
|
||||||
<waveblock start="0">
|
|
||||||
<simpleblockfile filename="eff1f671.au" len="14336" min="-1.118351" max="1.221182" rms="0.073425"/>
|
|
||||||
</waveblock>
|
|
||||||
</sequence>
|
|
||||||
<envelope numpoints="0"/>
|
|
||||||
</waveclip>
|
|
||||||
<waveclip offset="3.01859410" colorindex="0">
|
|
||||||
<sequence maxsamples="262144" sampleformat="262159" numsamples="18944">
|
|
||||||
<waveblock start="0">
|
|
||||||
<simpleblockfile filename="eff1fc1b.au" len="18944" min="-1.431384" max="1.275673" rms="0.163134"/>
|
|
||||||
</waveblock>
|
|
||||||
</sequence>
|
|
||||||
<envelope numpoints="0"/>
|
|
||||||
</waveclip>
|
|
||||||
</wavetrack>
|
|
||||||
<wavetrack name="Audio Track" isSelected="1" height="150" minimized="0" channel="0" linked="1" mute="1" solo="0" rate="44100" gain="1.0" pan="0.0" colorindex="0"/>
|
<wavetrack name="Audio Track" isSelected="1" height="150" minimized="0" channel="0" linked="1" mute="1" solo="0" rate="44100" gain="1.0" pan="0.0" colorindex="0"/>
|
||||||
<wavetrack name="Audio Track" isSelected="1" height="150" minimized="0" channel="1" linked="0" mute="1" solo="0" rate="44100" gain="1.0" pan="0.0" colorindex="0"/>
|
<wavetrack name="Audio Track" isSelected="1" height="150" minimized="0" channel="1" linked="0" mute="1" solo="0" rate="44100" gain="1.0" pan="0.0" colorindex="0"/>
|
||||||
<wavetrack name="Audio Track" isSelected="0" height="150" minimized="0" channel="0" linked="1" mute="1" solo="0" rate="44100" gain="1.0" pan="0.0" colorindex="0">
|
<wavetrack name="Audio Track" isSelected="0" height="150" minimized="0" channel="0" linked="1" mute="1" solo="0" rate="44100" gain="1.0" pan="0.0" colorindex="0">
|
||||||
|
@ -192,7 +124,7 @@
|
||||||
<envelope numpoints="0"/>
|
<envelope numpoints="0"/>
|
||||||
</waveclip>
|
</waveclip>
|
||||||
</wavetrack>
|
</wavetrack>
|
||||||
<wavetrack name="Audio Track" isSelected="0" height="150" minimized="0" channel="0" linked="1" mute="1" solo="0" rate="44100" gain="1.0" pan="0.0" colorindex="0">
|
<wavetrack name="Audio Track" isSelected="0" height="150" minimized="0" channel="0" linked="1" mute="0" solo="1" rate="44100" gain="1.0" pan="0.0" colorindex="0">
|
||||||
<waveclip offset="0.00000000" colorindex="0">
|
<waveclip offset="0.00000000" colorindex="0">
|
||||||
<sequence maxsamples="262144" sampleformat="262159" numsamples="42496">
|
<sequence maxsamples="262144" sampleformat="262159" numsamples="42496">
|
||||||
<waveblock start="0">
|
<waveblock start="0">
|
||||||
|
@ -202,7 +134,7 @@
|
||||||
<envelope numpoints="0"/>
|
<envelope numpoints="0"/>
|
||||||
</waveclip>
|
</waveclip>
|
||||||
</wavetrack>
|
</wavetrack>
|
||||||
<wavetrack name="Audio Track" isSelected="0" height="150" minimized="0" channel="1" linked="0" mute="1" solo="0" rate="44100" gain="1.0" pan="0.0" colorindex="0">
|
<wavetrack name="Audio Track" isSelected="0" height="150" minimized="0" channel="1" linked="0" mute="0" solo="1" rate="44100" gain="1.0" pan="0.0" colorindex="0">
|
||||||
<waveclip offset="0.00000000" colorindex="0">
|
<waveclip offset="0.00000000" colorindex="0">
|
||||||
<sequence maxsamples="262144" sampleformat="262159" numsamples="42496">
|
<sequence maxsamples="262144" sampleformat="262159" numsamples="42496">
|
||||||
<waveblock start="0">
|
<waveblock start="0">
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
25
src/Game.gd
25
src/Game.gd
|
@ -55,13 +55,6 @@ const piece_types = {
|
||||||
"queen": "res://src/pieces/Queen.tscn",
|
"queen": "res://src/pieces/Queen.tscn",
|
||||||
}
|
}
|
||||||
|
|
||||||
const hit_sounds = [
|
|
||||||
"/root/Game/Hit1",
|
|
||||||
"/root/Game/Hit2",
|
|
||||||
"/root/Game/Hit3",
|
|
||||||
"/root/Game/Hit4",
|
|
||||||
]
|
|
||||||
|
|
||||||
func new_piece(piece_type, group, position = null):
|
func new_piece(piece_type, group, position = null):
|
||||||
if not piece_types.has(piece_type):
|
if not piece_types.has(piece_type):
|
||||||
return null
|
return null
|
||||||
|
@ -501,13 +494,9 @@ func _process(delta):
|
||||||
if self.flash_help != null:
|
if self.flash_help != null:
|
||||||
if self.flash_help > 0:
|
if self.flash_help > 0:
|
||||||
self.flash_help -= delta
|
self.flash_help -= delta
|
||||||
get_node("BottomBar/Help").set_modulate(
|
|
||||||
lerp(Color(1, 1, 1, 1), Color(1, .63, .12, 1), self.flash_help)
|
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
self._reset_help()
|
self._reset_help()
|
||||||
self.flash_help = null
|
self.flash_help = null
|
||||||
get_node("BottomBar/Help").set_modulate(Color(1, 1, 1, 1))
|
|
||||||
var opponent_pieces = get_tree().get_nodes_in_group("opponent")
|
var opponent_pieces = get_tree().get_nodes_in_group("opponent")
|
||||||
if opponent_pieces.empty() or get_tree().get_nodes_in_group("player").empty() and self.current_state != 99:
|
if opponent_pieces.empty() or get_tree().get_nodes_in_group("player").empty() and self.current_state != 99:
|
||||||
# The game is over
|
# The game is over
|
||||||
|
@ -543,11 +532,8 @@ func _process(delta):
|
||||||
else:
|
else:
|
||||||
# Deal damage
|
# Deal damage
|
||||||
target_square['piece'].health -= square['piece'].damage
|
target_square['piece'].health -= square['piece'].damage
|
||||||
var idx = self.rng.randi() % self.hit_sounds.size()
|
# @TODO Sound effect
|
||||||
get_node(self.hit_sounds[idx]).play()
|
# @TODO Visual indication of damage dealt
|
||||||
target_square['piece'].set_status(
|
|
||||||
"-" + str(square['piece'].damage), 2, Color(1, 0, 0, 1), Color(1, 0, 0, 0)
|
|
||||||
)
|
|
||||||
# Bounce piece back
|
# Bounce piece back
|
||||||
target_square = square
|
target_square = square
|
||||||
square['piece'] = null
|
square['piece'] = null
|
||||||
|
@ -641,11 +627,8 @@ func _physics_process(delta):
|
||||||
print("ai loss Chance to play: ", c, " got index ", index_to_play)
|
print("ai loss Chance to play: ", c, " got index ", index_to_play)
|
||||||
get_node(self.on_ai_lose_piece[index_to_play]).play()
|
get_node(self.on_ai_lose_piece[index_to_play]).play()
|
||||||
else:
|
else:
|
||||||
var idx = self.rng.randi() % self.hit_sounds.size()
|
# @TODO Play a sound effect
|
||||||
get_node(self.hit_sounds[idx]).play()
|
# @TODO Visual indication of damage dealt
|
||||||
dest_square['piece'].set_status(
|
|
||||||
"-" + str(square['piece'].damage), 2, Color(1, 0, 0, 1), Color(1, 0, 0, 0)
|
|
||||||
)
|
|
||||||
dest_square['piece'].health -= square['piece'].damage
|
dest_square['piece'].health -= square['piece'].damage
|
||||||
dest_square = square
|
dest_square = square
|
||||||
square['piece'] = null
|
square['piece'] = null
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=26 format=2]
|
[gd_scene load_steps=22 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://src/Game.gd" type="Script" id=1]
|
[ext_resource path="res://src/Game.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://src/Playfield.tscn" type="PackedScene" id=2]
|
[ext_resource path="res://src/Playfield.tscn" type="PackedScene" id=2]
|
||||||
|
@ -18,14 +18,9 @@
|
||||||
[ext_resource path="res://assets/export/skip_disabled.png" type="Texture" id=16]
|
[ext_resource path="res://assets/export/skip_disabled.png" type="Texture" id=16]
|
||||||
[ext_resource path="res://assets/export/skip_hover.png" type="Texture" id=17]
|
[ext_resource path="res://assets/export/skip_hover.png" type="Texture" id=17]
|
||||||
[ext_resource path="res://src/PieceDetails.tscn" type="PackedScene" id=18]
|
[ext_resource path="res://src/PieceDetails.tscn" type="PackedScene" id=18]
|
||||||
[ext_resource path="res://assets/export/hit2.wav" type="AudioStream" id=19]
|
|
||||||
[ext_resource path="res://assets/export/hit1.wav" type="AudioStream" id=20]
|
|
||||||
[ext_resource path="res://assets/export/hit3.wav" type="AudioStream" id=21]
|
|
||||||
[ext_resource path="res://assets/export/hit4.wav" type="AudioStream" id=22]
|
|
||||||
|
|
||||||
[sub_resource type="DynamicFont" id=1]
|
[sub_resource type="DynamicFont" id=1]
|
||||||
size = 24
|
size = 24
|
||||||
outline_color = Color( 1, 0.635294, 0.121569, 1 )
|
|
||||||
font_data = ExtResource( 4 )
|
font_data = ExtResource( 4 )
|
||||||
|
|
||||||
[sub_resource type="DynamicFont" id=2]
|
[sub_resource type="DynamicFont" id=2]
|
||||||
|
@ -239,18 +234,6 @@ margin_bottom = 14.0
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="Hit1" type="AudioStreamPlayer" parent="."]
|
|
||||||
stream = ExtResource( 20 )
|
|
||||||
|
|
||||||
[node name="Hit2" type="AudioStreamPlayer" parent="."]
|
|
||||||
stream = ExtResource( 19 )
|
|
||||||
|
|
||||||
[node name="Hit3" type="AudioStreamPlayer" parent="."]
|
|
||||||
stream = ExtResource( 21 )
|
|
||||||
|
|
||||||
[node name="Hit4" type="AudioStreamPlayer" parent="."]
|
|
||||||
stream = ExtResource( 22 )
|
|
||||||
[connection signal="finished" from="EndSong" to="." method="_on_EndSong_finished"]
|
[connection signal="finished" from="EndSong" to="." method="_on_EndSong_finished"]
|
||||||
[connection signal="finished" from="Yammering" to="." method="_on_Yammering_finished"]
|
[connection signal="finished" from="Yammering" to="." method="_on_Yammering_finished"]
|
||||||
[connection signal="finished" from="Dust" to="." method="_on_Dust_finished"]
|
[connection signal="finished" from="Dust" to="." method="_on_Dust_finished"]
|
||||||
|
|
22
src/Piece.gd
22
src/Piece.gd
|
@ -22,20 +22,6 @@ const CLICK_THRESHOLD = 0.15 # seconds
|
||||||
var last_click = null
|
var last_click = null
|
||||||
var hold_started = false
|
var hold_started = false
|
||||||
|
|
||||||
var status_timer_max = 0
|
|
||||||
var status_timer = 0
|
|
||||||
var status_color_start = Color(1, 1, 1, 1)
|
|
||||||
var status_color_end = Color(1, 1, 1, 0)
|
|
||||||
|
|
||||||
func set_status(message, time, c1: Color = Color(1, 1, 1, 1), c2: Color = Color(1, 1, 1, 0)):
|
|
||||||
self.status_timer = time
|
|
||||||
self.status_timer_max = time
|
|
||||||
self.status_color_start = c1
|
|
||||||
self.status_color_end = c2
|
|
||||||
get_node("StatusChange").set_modulate(c1)
|
|
||||||
get_node("StatusChange").set_text(message)
|
|
||||||
get_node("StatusChange").set_visible(true)
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready():
|
func _ready():
|
||||||
pass
|
pass
|
||||||
|
@ -80,13 +66,7 @@ func _process(delta):
|
||||||
emit_signal("hold_start", self, null)
|
emit_signal("hold_start", self, null)
|
||||||
if self.hold_started:
|
if self.hold_started:
|
||||||
self.set_global_position(get_viewport().get_mouse_position())
|
self.set_global_position(get_viewport().get_mouse_position())
|
||||||
if self.status_timer > 0:
|
|
||||||
self.status_timer -= delta
|
|
||||||
if self.status_timer <= 0:
|
|
||||||
get_node("StatusChange").set_visible(false)
|
|
||||||
get_node("StatusChange").set_modulate(
|
|
||||||
lerp(self.status_color_end, self.status_color_start, self.status_timer / self.status_timer_max)
|
|
||||||
)
|
|
||||||
func cancel_hold():
|
func cancel_hold():
|
||||||
self.last_click = null
|
self.last_click = null
|
||||||
self.hold_started = false
|
self.hold_started = false
|
||||||
|
|
|
@ -85,15 +85,16 @@ custom_fonts/font = ExtResource( 1 )
|
||||||
text = "1 "
|
text = "1 "
|
||||||
|
|
||||||
[node name="UpHealth" type="Button" parent="Vbox"]
|
[node name="UpHealth" type="Button" parent="Vbox"]
|
||||||
|
visible = false
|
||||||
margin_top = 219.0
|
margin_top = 219.0
|
||||||
margin_right = 190.0
|
margin_right = 190.0
|
||||||
margin_bottom = 239.0
|
margin_bottom = 239.0
|
||||||
text = "Increase health"
|
text = "Increase health"
|
||||||
|
|
||||||
[node name="Damage" type="HBoxContainer" parent="Vbox"]
|
[node name="Damage" type="HBoxContainer" parent="Vbox"]
|
||||||
margin_top = 243.0
|
margin_top = 219.0
|
||||||
margin_right = 190.0
|
margin_right = 190.0
|
||||||
margin_bottom = 307.0
|
margin_bottom = 283.0
|
||||||
|
|
||||||
[node name="TextureRect" type="TextureRect" parent="Vbox/Damage"]
|
[node name="TextureRect" type="TextureRect" parent="Vbox/Damage"]
|
||||||
material = ExtResource( 3 )
|
material = ExtResource( 3 )
|
||||||
|
@ -117,9 +118,9 @@ margin_bottom = 307.0
|
||||||
text = "Increase damage"
|
text = "Increase damage"
|
||||||
|
|
||||||
[node name="Kills" type="HBoxContainer" parent="Vbox"]
|
[node name="Kills" type="HBoxContainer" parent="Vbox"]
|
||||||
margin_top = 311.0
|
margin_top = 287.0
|
||||||
margin_right = 190.0
|
margin_right = 190.0
|
||||||
margin_bottom = 375.0
|
margin_bottom = 351.0
|
||||||
|
|
||||||
[node name="TextureRect" type="TextureRect" parent="Vbox/Kills"]
|
[node name="TextureRect" type="TextureRect" parent="Vbox/Kills"]
|
||||||
material = ExtResource( 3 )
|
material = ExtResource( 3 )
|
||||||
|
@ -136,23 +137,24 @@ custom_fonts/font = ExtResource( 1 )
|
||||||
text = "1"
|
text = "1"
|
||||||
|
|
||||||
[node name="Jump" type="Label" parent="Vbox"]
|
[node name="Jump" type="Label" parent="Vbox"]
|
||||||
margin_top = 379.0
|
margin_top = 355.0
|
||||||
margin_right = 190.0
|
margin_right = 190.0
|
||||||
margin_bottom = 403.0
|
margin_bottom = 379.0
|
||||||
custom_fonts/font = SubResource( 1 )
|
custom_fonts/font = SubResource( 1 )
|
||||||
text = "Cannot jump"
|
text = "Cannot jump"
|
||||||
|
|
||||||
[node name="CheckButton" type="CheckButton" parent="Vbox"]
|
[node name="CheckButton" type="CheckButton" parent="Vbox"]
|
||||||
margin_top = 407.0
|
visible = false
|
||||||
|
margin_top = 383.0
|
||||||
margin_right = 190.0
|
margin_right = 190.0
|
||||||
margin_bottom = 447.0
|
margin_bottom = 423.0
|
||||||
text = "Jump"
|
text = "Jump"
|
||||||
|
|
||||||
[node name="Powerup" type="Button" parent="Vbox"]
|
[node name="Powerup" type="Button" parent="Vbox"]
|
||||||
visible = false
|
visible = false
|
||||||
margin_top = 427.0
|
margin_top = 383.0
|
||||||
margin_right = 190.0
|
margin_right = 190.0
|
||||||
margin_bottom = 447.0
|
margin_bottom = 403.0
|
||||||
text = "Spawn powerup"
|
text = "Spawn powerup"
|
||||||
[connection signal="pressed" from="Vbox/UpMovement" to="." method="_on_UpMovement_pressed"]
|
[connection signal="pressed" from="Vbox/UpMovement" to="." method="_on_UpMovement_pressed"]
|
||||||
[connection signal="pressed" from="Vbox/UpHealth" to="." method="_on_UpHealth_pressed"]
|
[connection signal="pressed" from="Vbox/UpHealth" to="." method="_on_UpHealth_pressed"]
|
||||||
|
|
|
@ -1,17 +1,25 @@
|
||||||
[gd_scene load_steps=4 format=2]
|
[gd_scene load_steps=6 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://src/pieces/Piece.tscn" type="PackedScene" id=1]
|
[ext_resource path="res://src/hilight.shader" type="Shader" id=1]
|
||||||
[ext_resource path="res://src/pieces/Pawn.gd" type="Script" id=2]
|
[ext_resource path="res://src/pieces/Pawn.gd" type="Script" id=2]
|
||||||
[ext_resource path="res://assets/export/pawn.png" type="Texture" id=3]
|
[ext_resource path="res://assets/export/pawn.png" type="Texture" id=3]
|
||||||
|
|
||||||
[node name="Piece" instance=ExtResource( 1 )]
|
[sub_resource type="ShaderMaterial" id=1]
|
||||||
|
shader = ExtResource( 1 )
|
||||||
|
shader_param/width = 2.0
|
||||||
|
shader_param/color = null
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id=2]
|
||||||
|
extents = Vector2( 128, 128 )
|
||||||
|
|
||||||
|
[node name="Piece" type="Area2D"]
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="Body" parent="." index="0"]
|
[node name="Body" type="Sprite" parent="."]
|
||||||
|
material = SubResource( 1 )
|
||||||
texture = ExtResource( 3 )
|
texture = ExtResource( 3 )
|
||||||
|
|
||||||
[node name="StatusChange" parent="." index="2"]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
margin_left = 0.902771
|
modulate = Color( 0.345098, 0.980392, 0.0862745, 1 )
|
||||||
margin_top = -73.0833
|
shape = SubResource( 2 )
|
||||||
margin_right = 81.9028
|
[connection signal="input_event" from="." to="." method="_on_Piece_input_event"]
|
||||||
margin_bottom = -0.0833435
|
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
[gd_scene load_steps=6 format=2]
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://src/Piece.gd" type="Script" id=1]
|
[ext_resource path="res://src/Piece.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://src/hilight.shader" type="Shader" id=2]
|
[ext_resource path="res://src/hilight.shader" type="Shader" id=2]
|
||||||
[ext_resource path="res://src/font_32.tres" type="DynamicFont" id=3]
|
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id=1]
|
[sub_resource type="ShaderMaterial" id=1]
|
||||||
shader = ExtResource( 2 )
|
shader = ExtResource( 2 )
|
||||||
|
@ -10,7 +9,7 @@ shader_param/width = 2.0
|
||||||
shader_param/color = null
|
shader_param/color = null
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id=2]
|
[sub_resource type="RectangleShape2D" id=2]
|
||||||
extents = Vector2( 64, 64 )
|
extents = Vector2( 128, 128 )
|
||||||
|
|
||||||
[node name="Piece" type="Area2D"]
|
[node name="Piece" type="Area2D"]
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
|
@ -20,16 +19,4 @@ material = SubResource( 1 )
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
shape = SubResource( 2 )
|
shape = SubResource( 2 )
|
||||||
|
|
||||||
[node name="StatusChange" type="Label" parent="."]
|
|
||||||
margin_left = 45.0
|
|
||||||
margin_top = -126.0
|
|
||||||
margin_right = 126.0
|
|
||||||
margin_bottom = -53.0
|
|
||||||
custom_fonts/font = ExtResource( 3 )
|
|
||||||
align = 1
|
|
||||||
valign = 1
|
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
[connection signal="input_event" from="." to="." method="_on_Piece_input_event"]
|
[connection signal="input_event" from="." to="." method="_on_Piece_input_event"]
|
||||||
|
|
Loading…
Reference in New Issue