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: rpc("net_remove") 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 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)