Adds enemies
This commit is contained in:
parent
cf8ba8bacb
commit
76e5b1927f
324 changed files with 28447 additions and 106 deletions
|
|
@ -2,13 +2,18 @@ extends Node3D
|
|||
|
||||
@onready var animationtree: AnimationTree = $AnimationPlayer/AnimationTree
|
||||
@onready var timer: Timer = $CooldownTimer
|
||||
|
||||
@export_category("Firing")
|
||||
@export var MuzzleFlash: PackedScene
|
||||
@export var Origin: Node3D
|
||||
@export var BulletOrigin: Node3D
|
||||
|
||||
var statemachine: AnimationNodeStateMachinePlayback
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
self.statemachine = animationtree['parameters/playback']
|
||||
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if event is not InputEventMouseButton:
|
||||
return
|
||||
|
|
@ -19,6 +24,9 @@ func _input(event: InputEvent) -> void:
|
|||
if self.timer.time_left > 0:
|
||||
return
|
||||
|
||||
if Player.Instance.PlayerState == Player.PlayerStates.SPRINTING:
|
||||
return
|
||||
|
||||
var travelTarget = 'Fire'
|
||||
if Player.Instance.PlayerState == Player.PlayerStates.CROUCHING:
|
||||
travelTarget = 'Crouched Fire'
|
||||
|
|
@ -26,4 +34,24 @@ func _input(event: InputEvent) -> void:
|
|||
self.animationtree.set('parameters/' + travelTarget + '/blend_position', randf_range(0, 2))
|
||||
self.statemachine.travel(travelTarget)
|
||||
|
||||
fireBullet()
|
||||
|
||||
self.timer.start()
|
||||
|
||||
func fireBullet() -> void:
|
||||
var instance = self.MuzzleFlash.instantiate(PackedScene.GEN_EDIT_STATE_INSTANCE)
|
||||
Origin.add_child(instance)
|
||||
|
||||
var query = PhysicsRayQueryParameters3D.create(BulletOrigin.global_position, BulletOrigin.global_position + BulletOrigin.global_basis.z * -200)
|
||||
var result = get_world_3d().direct_space_state.intersect_ray(query)
|
||||
|
||||
if not result:
|
||||
print('No result')
|
||||
return
|
||||
|
||||
var health = result.collider.get_node('Health')
|
||||
if health:
|
||||
print("Dealing Damage")
|
||||
result.collider.health.take_damage(1, Vector2(0,0))
|
||||
return
|
||||
print('No Health Element')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue