working on picking up arrows
This commit is contained in:
41
Scripts/enemy.gd
Normal file
41
Scripts/enemy.gd
Normal file
@@ -0,0 +1,41 @@
|
||||
extends CharacterBody3D
|
||||
class_name EnemyCharacter
|
||||
|
||||
@export var start_health : int = 10
|
||||
@export var loot_dropped : int = 3
|
||||
|
||||
const GOLDCOIN = preload("res://Prefabs/goldcoin.tscn")
|
||||
const MAX_AV = 15
|
||||
const MAX_LV = 2
|
||||
|
||||
|
||||
var health
|
||||
|
||||
func _ready() -> void:
|
||||
health = start_health
|
||||
|
||||
func hit(damage):
|
||||
health -= damage
|
||||
print("HEALTH : ",health)
|
||||
print("HIT")
|
||||
if health <= 0:
|
||||
die()
|
||||
|
||||
func die():
|
||||
drop_loot()
|
||||
queue_free()
|
||||
|
||||
func drop_loot():
|
||||
while loot_dropped > 0:
|
||||
var instance_coin = GOLDCOIN.instantiate()
|
||||
var av_x = randf_range(-MAX_AV,MAX_AV)
|
||||
var av_y = randf_range(-MAX_AV,MAX_AV)
|
||||
var av_z = randf_range(-MAX_AV,MAX_AV)
|
||||
var lv_x = randf_range(-MAX_LV,MAX_LV)
|
||||
var lv_y = randf_range(0,MAX_LV)
|
||||
var lv_z = randf_range(-MAX_LV,MAX_LV)
|
||||
get_tree().current_scene.add_child(instance_coin)
|
||||
instance_coin.global_position = global_position
|
||||
instance_coin.angular_velocity = Vector3(av_x,av_y,av_z)
|
||||
instance_coin.linear_velocity = Vector3(lv_x,lv_y,lv_z)
|
||||
loot_dropped -= 1
|
||||
Reference in New Issue
Block a user