BING CHILLING

This commit is contained in:
Victor Turgeon 2023-10-10 18:29:06 -04:00
parent eaf2a0f200
commit 0f501386d4
6 changed files with 17 additions and 9 deletions

View File

@ -11,10 +11,12 @@
[node name="Decor" type="Node2D" parent="."] [node name="Decor" type="Node2D" parent="."]
[node name="Enemy" parent="." instance=ExtResource("2_ftshv")] [node name="Enemy" parent="." instance=ExtResource("2_ftshv")]
position = Vector2(441, 312) position = Vector2(497, 324)
[node name="BatSpawnable" parent="." instance=ExtResource("3_a1ucf")] [node name="BatSpawnable" parent="." instance=ExtResource("3_a1ucf")]
position = Vector2(248, 225) position = Vector2(248, 225)
motion_mode = 0
[node name="BatSpawnable2" parent="." instance=ExtResource("3_a1ucf")] [node name="BatSpawnable2" parent="." instance=ExtResource("3_a1ucf")]
position = Vector2(644, 251) position = Vector2(644, 251)
motion_mode = 0

View File

@ -1,4 +1,4 @@
extends AITemplate extends AITemplate
func getDirection(position, enemyPosition) -> Vector2: func getDirection(_position, _enemyPosition) -> Vector2:
return Vector2(enemyPosition - position).normalized() return Vector2(_enemyPosition - _position).normalized()

View File

@ -1,5 +1,5 @@
class_name AITemplate class_name AITemplate
extends Node extends Node
func getDirection(position, enemyPosition) -> Vector2: func getDirection(_position, _enemyPosition) -> Vector2:
return Vector2.ZERO return Vector2.ZERO

View File

@ -8,10 +8,12 @@ const ATTACK_COOLDOWN : float = 100
@export var speed : float = 0 @export var speed : float = 0
@export var damage : int = 0 @export var damage : int = 0
@export var priority : int = 0 @export var priority : int = 0
@export var expReward : int = 0
@export var cost : int = 0 @export var cost : int = 0
@export var minSpawnRange : float = 0 @export var minSpawnRange : float = 0
@export var canAttack : bool = true @export var canAttack : bool = true
@onready var ai : Node = $AI @onready var ai : Node = $AI
@onready var animatedSprite : AnimatedSprite2D = $AnimatedSprite2D @onready var animatedSprite : AnimatedSprite2D = $AnimatedSprite2D
@onready var attackArea : Area2D = $AttackArea @onready var attackArea : Area2D = $AttackArea
@ -41,10 +43,12 @@ func _process(delta):
if !isFacingLeft && direction.x < 0: if !isFacingLeft && direction.x < 0:
isFacingLeft = true isFacingLeft = true
scale = Vector2(-1, 1) scale.x = -1
scale.y = 1
elif isFacingLeft && direction.x > 0: elif isFacingLeft && direction.x > 0:
isFacingLeft = false isFacingLeft = false
scale = Vector2(1, 1) scale.x = -1
scale.y = -1
velocity = direction * speed * delta velocity = direction * speed * delta
move_and_slide() move_and_slide()
@ -54,7 +58,6 @@ func _process(delta):
cooldown = 0 cooldown = 0
else: else:
cooldown -= attackSpeed * delta cooldown -= attackSpeed * delta
attemptAttack() attemptAttack()
func attemptAttack(): func attemptAttack():
@ -71,6 +74,7 @@ func attack():
func endAttack(): func endAttack():
damageCollision.disabled = true damageCollision.disabled = true
animatedSprite.disconnect("animation_finished", endAttack)
animatedSprite.play("default") animatedSprite.play("default")
func receive_damage(dmg): func receive_damage(dmg):
@ -103,4 +107,4 @@ func clean():
func _on_damage_area_body_entered(body): func _on_damage_area_body_entered(body):
if body == enemy: if body == enemy:
enemy.receive_damage(damage) body.receive_damage(damage)

View File

@ -233,6 +233,7 @@ radius = 8.0
[node name="TemplateSpawnable" type="CharacterBody2D"] [node name="TemplateSpawnable" type="CharacterBody2D"]
collision_layer = 6 collision_layer = 6
collision_mask = 6 collision_mask = 6
motion_mode = 1
script = ExtResource("1_rkej7") script = ExtResource("1_rkej7")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]

View File

@ -19,6 +19,7 @@ config/icon="res://icon.svg"
window/size/viewport_width=960 window/size/viewport_width=960
window/size/viewport_height=540 window/size/viewport_height=540
window/size/mode=4
window/size/resizable=false window/size/resizable=false
window/stretch/mode="viewport" window/stretch/mode="viewport"