gay lover

This commit is contained in:
pennyrigate 2026-01-01 19:06:17 -05:00
parent 4ff19610d3
commit f44f38b58c
9 changed files with 154 additions and 96 deletions

View file

@ -1,14 +1,15 @@
extends Node2D
@export var bullet_scene: PackedScene
@onready var timer = $Timer
func _input(event: InputEvent) -> void:
if event.is_action_pressed("shoot"):
$Timer.start()
_on_timer_timeout()
elif event.is_action_released("shoot"):
$Timer.stop()
if event.is_action_pressed("shoot"):
if get_parent().can_shoot == true:
$Timer.start()
_on_timer_timeout()
elif event.is_action_released("shoot"):
$Timer.stop()
func _on_timer_timeout() -> void:

View file

@ -8,14 +8,19 @@ extends CharacterBody2D
@onready var startpos = position
var can_die = true
var can_graze = true
var can_shoot = true
var can_move = true
var focused: bool:
get(): return Input.is_action_pressed(&"focus")
func _physics_process(delta: float) -> void:
print(can_die)
var input_dir = Input.get_vector(&"move_left", &"move_right", &"move_up", &"move_down").sign()
velocity = input_dir.normalized() * (move_focused_speed if focused else move_normal_speed)
if can_move:
velocity = input_dir.normalized() * (move_focused_speed if focused else move_normal_speed)
move_and_slide()
@ -25,17 +30,33 @@ func _on_hurtbox_area_entered(area: Area2D) -> void:
%AnimationPlayer.play("respawn")
position = startpos
CurrentGame.change_lives(-1)
can_die = false
set_invincible(true)
set_disabled(true)
func gover():
print("yeeeowtch!!!")
func set_disabled(truefalse: bool):
velocity = Vector2.ZERO
%HurtboxShape.disabled = truefalse
%CollectionShape.disabled = truefalse
%GrazeShape.disabled = truefalse
can_shoot = !truefalse
can_move = !truefalse
if truefalse == true:
%PlayerBulletEmitter.timer.stop()
else:
if Input.is_action_pressed("shoot"):
%PlayerBulletEmitter.timer.start()
%PlayerBulletEmitter._on_timer_timeout()
func set_immobile(truefalse: bool):
can_move = truefalse
func set_invincible(truefalse: bool):
can_die = !truefalse
func _on_graze_box_area_entered(area: Area2D) -> void:
%GrazeParticles.emitting = true
CurrentGame.change_graze(1)
if !area.grazed && can_graze:
area.grazed = true
%GrazeSound.play()
%GrazeParticles.emitting = true
CurrentGame.change_graze(1)
func _on_animation_player_animation_finished(anim_name: StringName) -> void:
if anim_name == "respawn":
can_die = true

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=15 format=3 uid="uid://c714s5d7d5765"]
[gd_scene load_steps=16 format=3 uid="uid://c714s5d7d5765"]
[ext_resource type="Script" uid="uid://bpo15kuxdmulu" path="res://objects/player/player.gd" id="1_cqmt1"]
[ext_resource type="Texture2D" uid="uid://cre6i8tsdlt7j" path="res://graphics/player/player_1.png" id="2_jnjyq"]
@ -6,6 +6,7 @@
[ext_resource type="PackedScene" uid="uid://bs0tv5ubqdjp0" path="res://objects/player/bullet_emitter/player_bullet_emitter.tscn" id="3_ssrue"]
[ext_resource type="AudioStream" uid="uid://b3byh6su1b11r" path="res://audio/sounds/se_boom.wav" id="5_gnkmh"]
[ext_resource type="PackedScene" uid="uid://ykg8dydq006a" path="res://objects/graze/graze_particles.tscn" id="6_xkryw"]
[ext_resource type="AudioStream" uid="uid://cnxsv3xnsxno6" path="res://audio/sounds/graze.wav" id="7_ow0dq"]
[sub_resource type="SpriteFrames" id="SpriteFrames_xkryw"]
animations = [{
@ -33,6 +34,33 @@ size = Vector2(22, 22)
[sub_resource type="CircleShape2D" id="CircleShape2D_gnkmh"]
radius = 13.038404
[sub_resource type="Animation" id="Animation_ow0dq"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_xkryw"]
resource_name = "respawn"
length = 5.0
@ -61,32 +89,33 @@ tracks/1/keys = {
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1), Color(0, 0, 0, 1), Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_ow0dq"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(5),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
"values": [{
"args": [false],
"method": &"set_invincible"
}]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
tracks/3/type = "method"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath(".")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(1),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
"values": [{
"args": [false],
"method": &"set_disabled"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_m4kly"]
@ -104,7 +133,7 @@ move_focused_speed = 100.0
[node name="Sprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_xkryw")
autoplay = "default"
frame_progress = 0.6766526
frame_progress = 0.46678153
[node name="Collision" type="CollisionShape2D" parent="."]
position = Vector2(0, -0.5)
@ -112,13 +141,15 @@ shape = SubResource("RectangleShape2D_ssrue")
debug_color = Color(0.48012203, 0.5821042, 0.20594019, 0.41960785)
[node name="PlayerBulletEmitter" parent="." instance=ExtResource("3_ssrue")]
unique_name_in_owner = true
[node name="Hurtbox" type="Area2D" parent="."]
position = Vector2(0, -1)
collision_layer = 2
collision_mask = 8
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox"]
[node name="HurtboxShape" type="CollisionShape2D" parent="Hurtbox"]
unique_name_in_owner = true
shape = SubResource("RectangleShape2D_ow0dq")
debug_color = Color(1, 0, 0, 0.44313726)
@ -126,7 +157,8 @@ debug_color = Color(1, 0, 0, 0.44313726)
collision_layer = 2
collision_mask = 32
[node name="CollisionShape2D" type="CollisionShape2D" parent="CollectionBox"]
[node name="CollectionShape" type="CollisionShape2D" parent="CollectionBox"]
unique_name_in_owner = true
position = Vector2(0, -0.5)
shape = SubResource("RectangleShape2D_jnjyq")
@ -134,18 +166,14 @@ shape = SubResource("RectangleShape2D_jnjyq")
position = Vector2(0, -1)
collision_mask = 8
[node name="CollisionShape2D" type="CollisionShape2D" parent="GrazeBox"]
[node name="GrazeShape" type="CollisionShape2D" parent="GrazeBox"]
unique_name_in_owner = true
shape = SubResource("CircleShape2D_gnkmh")
debug_color = Color(0.7740294, 0.14773864, 0.99999994, 0.41960785)
[node name="DeathSound" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("5_gnkmh")
[node name="GrazeParticles" parent="." instance=ExtResource("6_xkryw")]
unique_name_in_owner = true
amount = 10
script = null
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
@ -153,6 +181,17 @@ libraries = {
&"": SubResource("AnimationLibrary_m4kly")
}
[node name="Sounds" type="Node" parent="."]
[node name="DeathSound" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("5_gnkmh")
[node name="GrazeSound" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("7_ow0dq")
volume_db = -2.0
[connection signal="area_entered" from="Hurtbox" to="." method="_on_hurtbox_area_entered"]
[connection signal="area_entered" from="GrazeBox" to="." method="_on_graze_box_area_entered"]
[connection signal="finished" from="GrazeParticles" to="." method="_on_cpu_particles_2d_finished"]