extends RigidBody export var drag_constant = 0.3 var damage_exceptions = [] var oldvel var shooter = "WORLD" func _physics_process(_delta): oldvel = linear_velocity add_force(-1*linear_velocity*drag_constant, Vector3.ZERO) func get_init_info(): return {"linear_velocity" : linear_velocity, "angular_velocity" : angular_velocity, "oldvel" : oldvel, "shooter" : shooter} func mp_init(init_info): for variable in init_info.keys(): set(variable, init_info[variable]) func _on_collision(body): if linear_velocity.length() > 20 and !damage_exceptions.has(body) and body.has_method("damage"): body.damage(oldvel.length(), "blunt") damage_exceptions.append(body)