some more stuff :O
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.5 KiB |
|
@ -15,6 +15,9 @@ onready var lightning_timer: Timer = $"%LightningTimer"
|
||||||
onready var clouds: Sprite = $"%Clouds"
|
onready var clouds: Sprite = $"%Clouds"
|
||||||
|
|
||||||
|
|
||||||
|
var slaughter_shard_collected := false
|
||||||
|
|
||||||
|
|
||||||
func _spawn_lightning():
|
func _spawn_lightning():
|
||||||
var bolt = Lightning.instance()
|
var bolt = Lightning.instance()
|
||||||
bright_sky.modulate.a = 1.0
|
bright_sky.modulate.a = 1.0
|
||||||
|
@ -27,3 +30,13 @@ func _spawn_lightning():
|
||||||
tween.tween_property(bright_sky, "modulate:a", 0.0, fade_time).set_trans(Tween.TRANS_EXPO)
|
tween.tween_property(bright_sky, "modulate:a", 0.0, fade_time).set_trans(Tween.TRANS_EXPO)
|
||||||
tween.tween_property(clouds, "modulate", Color.white, fade_time).set_trans(Tween.TRANS_EXPO)
|
tween.tween_property(clouds, "modulate", Color.white, fade_time).set_trans(Tween.TRANS_EXPO)
|
||||||
lightning_timer.start(rand_range(min_interval, max_interval))
|
lightning_timer.start(rand_range(min_interval, max_interval))
|
||||||
|
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
._physics_process(delta)
|
||||||
|
if get_tree().get_nodes_in_group("enemy").size() == 0:
|
||||||
|
if not slaughter_shard_collected:
|
||||||
|
Audio.play_shard_sound()
|
||||||
|
Game.score += 500
|
||||||
|
Game.shards_collected[0] = true
|
||||||
|
slaughter_shard_collected = true
|
||||||
|
|
|
@ -2,11 +2,4 @@ extends "res://maps/map.gd"
|
||||||
|
|
||||||
var acab_shard_has_been_collected: bool = false
|
var acab_shard_has_been_collected: bool = false
|
||||||
|
|
||||||
func _physics_process(delta):
|
|
||||||
._physics_process(delta)
|
|
||||||
if get_tree().get_nodes_in_group("cop").size() == 0:
|
|
||||||
if !acab_shard_has_been_collected:
|
|
||||||
Audio.play_shard_sound()
|
|
||||||
Game.score += 500
|
|
||||||
Game.shards_collected[0] = true
|
|
||||||
acab_shard_has_been_collected = true
|
|
||||||
|
|
|
@ -114,7 +114,8 @@ func _physics_process(delta: float) -> void:
|
||||||
sprite.global_position = graphics.global_position.round() + Vector2(0.0, -10.0)
|
sprite.global_position = graphics.global_position.round() + Vector2(0.0, -10.0)
|
||||||
# update transition guard properties
|
# update transition guard properties
|
||||||
# whether player can currently shoot an arrow
|
# whether player can currently shoot an arrow
|
||||||
var can_shoot = Game.arrows > 0 and get_tree().get_nodes_in_group("player_arrow").size() == 0
|
var can_shoot = Game.stars >= 5
|
||||||
|
# var can_shoot = Game.arrows > 0 and get_tree().get_nodes_in_group("player_arrow").size() == 0
|
||||||
state_chart.set_guard_property("can_shoot", can_shoot)
|
state_chart.set_guard_property("can_shoot", can_shoot)
|
||||||
|
|
||||||
# check for and propagate input events
|
# check for and propagate input events
|
||||||
|
|
|
@ -1007,6 +1007,7 @@ texture = ExtResource( 4 )
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
position = Vector2( 9, -6 )
|
position = Vector2( 9, -6 )
|
||||||
collision_mask = 5
|
collision_mask = 5
|
||||||
|
monitoring = false
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Graphics/ShootHitbox"]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Graphics/ShootHitbox"]
|
||||||
position = Vector2( -8.5, 0.5 )
|
position = Vector2( -8.5, 0.5 )
|
||||||
|
@ -1148,6 +1149,7 @@ initial_state = NodePath("Still")
|
||||||
script = ExtResource( 10 )
|
script = ExtResource( 10 )
|
||||||
to = NodePath("../../../Airborne/AirDash")
|
to = NodePath("../../../Airborne/AirDash")
|
||||||
event = "shoot"
|
event = "shoot"
|
||||||
|
guard_expression = "can_shoot"
|
||||||
|
|
||||||
[node name="On PushStart" type="Node" parent="StateChart/Root/Movement/Grounded/CanWalk"]
|
[node name="On PushStart" type="Node" parent="StateChart/Root/Movement/Grounded/CanWalk"]
|
||||||
script = ExtResource( 10 )
|
script = ExtResource( 10 )
|
||||||
|
@ -1227,6 +1229,7 @@ event = "duck_released"
|
||||||
script = ExtResource( 10 )
|
script = ExtResource( 10 )
|
||||||
to = NodePath("../../../Airborne/AirDash")
|
to = NodePath("../../../Airborne/AirDash")
|
||||||
event = "shoot"
|
event = "shoot"
|
||||||
|
guard_expression = "can_shoot"
|
||||||
|
|
||||||
[node name="On Jump" type="Node" parent="StateChart/Root/Movement/Grounded/Ducking"]
|
[node name="On Jump" type="Node" parent="StateChart/Root/Movement/Grounded/Ducking"]
|
||||||
script = ExtResource( 10 )
|
script = ExtResource( 10 )
|
||||||
|
@ -1279,6 +1282,7 @@ event = "grounded"
|
||||||
script = ExtResource( 10 )
|
script = ExtResource( 10 )
|
||||||
to = NodePath("../AirDash")
|
to = NodePath("../AirDash")
|
||||||
event = "shoot"
|
event = "shoot"
|
||||||
|
guard_expression = "can_shoot"
|
||||||
|
|
||||||
[node name="On LadderTouched" type="Node" parent="StateChart/Root/Movement/Airborne"]
|
[node name="On LadderTouched" type="Node" parent="StateChart/Root/Movement/Airborne"]
|
||||||
script = ExtResource( 10 )
|
script = ExtResource( 10 )
|
||||||
|
|
|
@ -87,7 +87,7 @@ _global_script_class_icons={
|
||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="Revolution 2083"
|
config/name="Revolution 2083"
|
||||||
run/main_scene="res://menus/splash_screen.tscn"
|
run/main_scene="res://maps/future/mountain_future.tscn"
|
||||||
config/use_custom_user_dir=true
|
config/use_custom_user_dir=true
|
||||||
config/custom_user_dir_name="heromark2"
|
config/custom_user_dir_name="heromark2"
|
||||||
boot_splash/show_image=false
|
boot_splash/show_image=false
|
||||||
|
|