This commit is contained in:
Segey Lapin
2021-12-24 23:56:10 +03:00
parent d401cf1090
commit f62e7fa720
113 changed files with 198252 additions and 412103 deletions

View File

@@ -1,13 +1,14 @@
extends Node
extends AIScriptModule
var raycast_queue = []
var blood = preload("res://scenes/decals/blood.tscn")
var blood_decal = preload("res://scenes/decals/blood1-decal.gltf")
var rnd
func _ready():
var root = get_parent()
func init():
var root = get_character()
var queue = [root]
var hurtboxes = []
assert(root.has_meta("skeleton"))
while queue.size() > 0:
var item = queue.pop_front()
if item is Area && item.name.ends_with("_hurt"):
@@ -20,7 +21,15 @@ func _ready():
rnd = RandomNumberGenerator.new()
rnd.randomize()
func area_hit(area, e):
var root = get_character()
if area.is_in_group("weapon_hit"):
var mo = area.get_meta("owner")
if mo == root:
# var cam = get_character().get_viewport().get_camera()
# var pl = cam.get_meta("player")
# print(mo.name, " ", root.name, " ", e.name)
# print(mo, " ", root, " ", " ", pl)
return
print("HIT")
var bi = blood.instance()
var d = area.global_transform.origin.linear_interpolate(e.global_transform.origin, 0.5)
@@ -40,14 +49,15 @@ func area_hit(area, e):
offt.y = 0
org += xoff + offt
raycast_queue.push_back(org)
yield(get_tree().create_timer(8), "timeout")
yield(root.get_tree().create_timer(8), "timeout")
# TODO: add delay
bi.queue_free()
func _physics_process(delta):
var root = get_parent()
func update_physics(delta):
var root = get_character()
var space_state: PhysicsDirectSpaceState = root.get_world().direct_space_state
var offsets = [Vector3(0, -2, 0)]
var cam = get_viewport().get_camera()
var cam = root.get_viewport().get_camera()
if !cam.has_meta("player"):
return
var player = cam.get_meta("player")