From e7fb9bacf3ebb5209f90f412757c35276af51e85 Mon Sep 17 00:00:00 2001 From: Anson Bridges Date: Tue, 11 Oct 2022 00:15:48 -0400 Subject: ai cannon-manning state machine --- godot/scripts/ballistics/Cannonball.gd | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'godot/scripts/ballistics') diff --git a/godot/scripts/ballistics/Cannonball.gd b/godot/scripts/ballistics/Cannonball.gd index b41f104..5e6b84d 100644 --- a/godot/scripts/ballistics/Cannonball.gd +++ b/godot/scripts/ballistics/Cannonball.gd @@ -3,9 +3,12 @@ extends "res://scripts/ballistics/NetworkedProjectile.gd" export var drag_constant: float = 0.3 var damage_exceptions = [] var oldvel: Vector3 +var oldoldvel: Vector3 +const inventory_name: String = "cannonball" func _physics_process(_delta): if is_network_master(): + oldoldvel = oldvel oldvel = linear_velocity add_force(-1*linear_velocity*drag_constant, Vector3.ZERO) if global_transform.origin.y < -20: @@ -15,10 +18,6 @@ func get_init_info(): return {"linear_velocity" : linear_velocity, "angular_velocity" : angular_velocity, "oldvel" : oldvel, "shooter" : shooter, "shooter_id" : shooter_id} func _on_collision(body): - if is_network_master() and body.has_method("load_cannonball") and !body.loaded: - body.rpc("load_cannonball") - rpc("net_remove") - return - if is_network_master() and oldvel.length() > 20 and !damage_exceptions.has(body) and body.has_method("damage"): - body.rpc("damage", oldvel.length(), "BLUNT", [shooter_id, shooter], "using 'cannon'") + if is_network_master() and oldoldvel.length() > 20 and !damage_exceptions.has(body) and body.has_method("damage"): + body.rpc("damage", oldoldvel.length(), "BLUNT", [shooter_id, shooter], "using 'cannon'") damage_exceptions.append(body) -- cgit v1.2.3