Adds missing data
This commit is contained in:
parent
e6391d9fdd
commit
53cdcc3433
620 changed files with 47293 additions and 151 deletions
|
|
@ -8,6 +8,9 @@ const MOVEMENT_SPEED = 1
|
|||
@onready var enemyAi: EnemyAI = $BTPlayer
|
||||
@onready var health: Health = $Health
|
||||
@onready var origin: Node3D = $"enemies/Vert/Shoot Marker"
|
||||
@onready var enemyVisual: Node3D = $enemies/Vert
|
||||
@onready var shootSound: AudioStreamPlayer3D = $"enemies/Vert/Shoot Marker/ShootSound"
|
||||
@onready var deathSound: AudioStreamPlayer = $DeathSound
|
||||
|
||||
const SPEED = 5.0
|
||||
const JUMP_VELOCITY = 4.5
|
||||
|
|
@ -18,13 +21,19 @@ func _ready() -> void:
|
|||
health.death.connect(died)
|
||||
|
||||
func died() -> void:
|
||||
deathSound.play()
|
||||
|
||||
process_mode = Node.PROCESS_MODE_DISABLED
|
||||
|
||||
await deathSound.finished
|
||||
|
||||
queue_free()
|
||||
|
||||
func updateMovementBlend(delta: float, to: float) -> void:
|
||||
movementBlend = move_toward(movementBlend, to, delta * 2);
|
||||
|
||||
func rotateTo(delta: float, targetDirection: Vector3) -> void:
|
||||
self.global_basis.z = lerp(self.global_basis.z, targetDirection, delta * 10);
|
||||
self.global_basis.z = targetDirection;
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if agent.is_navigation_finished():
|
||||
|
|
@ -50,11 +59,10 @@ func _physics_process(delta: float) -> void:
|
|||
self.animationtree['parameters/Movement/blend_position'] = movementBlend
|
||||
|
||||
func fireWeapon() -> void:
|
||||
var fireDirection = (Player.Instance.enemyTarget.global_position - origin.global_position).normalized()
|
||||
fireDirection = fireDirection.rotated(Vector3.UP, randf_range(-.3, .3))
|
||||
shootSound.play()
|
||||
|
||||
DebugDraw3D.draw_arrow(origin.global_position, origin.global_position + Vector3.UP * 1, Color.RED, 0.5, true, 10)
|
||||
DebugDraw3D.draw_arrow(origin.global_position, origin.global_position + fireDirection * 10, Color.WHITE, 0.5, true, 10)
|
||||
var fireDirection = (Player.Instance.enemyTarget.global_position - origin.global_position).normalized()
|
||||
fireDirection = fireDirection.rotated(Vector3.UP, randf_range(-0.1, 0.1))
|
||||
|
||||
var query = PhysicsRayQueryParameters3D.create(origin.global_position, origin.global_position + fireDirection * 200)
|
||||
var result = get_world_3d().direct_space_state.intersect_ray(query)
|
||||
|
|
@ -67,4 +75,4 @@ func fireWeapon() -> void:
|
|||
if not health:
|
||||
return
|
||||
|
||||
result.collider.health.take_damage(1, Vector2(0,0))
|
||||
result.collider.health.take_damage(1, Vector2(0,0), self.origin)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ const DISTANCE_TO_PLAYER: float = 10.0
|
|||
@export var character: Enemy
|
||||
|
||||
@export_category("Sprite")
|
||||
@export var sprite:Sprite3D;
|
||||
@export var visual: GeometryInstance3D;
|
||||
@export var idleTexture: Texture2D;
|
||||
@export var aggressiveTexture: Texture2D;
|
||||
|
||||
|
|
@ -25,12 +25,23 @@ var aggressive = false
|
|||
func _physics_process(_delta: float) -> void:
|
||||
self.blackboard.set_var('PlayerDistance', character.global_position.distance_to(Player.Instance.global_position))
|
||||
self.blackboard.set_var('LookingAngleToPlayer', (-character.global_basis.z).dot((character.global_position - Player.Instance.global_position).normalized()))
|
||||
|
||||
self.blackboard.set_var('PlayerVisible', getPlayerVisible())
|
||||
|
||||
func getPlayerVisible() -> bool:
|
||||
var query = PhysicsRayQueryParameters3D.create(Origin.global_position, Player.Instance.global_position);
|
||||
var result = character.get_world_3d().direct_space_state.intersect_ray(query)
|
||||
|
||||
if !result:
|
||||
return false
|
||||
|
||||
return result.collider is Player
|
||||
|
||||
func setAggressive(value: bool) -> void:
|
||||
if not aggressive && value:
|
||||
agent.target_position = character.global_position;
|
||||
|
||||
sprite.texture = aggressiveTexture if value else idleTexture
|
||||
(visual.material_overlay as StandardMaterial3D).albedo_texture = aggressiveTexture if value else idleTexture
|
||||
aggressive = value
|
||||
|
||||
|
||||
|
|
@ -44,7 +55,7 @@ func moveToPlayer() -> void:
|
|||
|
||||
func Fire() -> void:
|
||||
self.animationTree['parameters/playback'].travel('Fire')
|
||||
var instance = MuzzleFlash.instantiate(PackedScene.GEN_EDIT_STATE_INSTANCE)
|
||||
var instance = MuzzleFlash.instantiate()
|
||||
Origin.add_child(instance)
|
||||
character.fireWeapon()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue