summaryrefslogtreecommitdiff
path: root/scripts/ballistics/Cannonball.gd
blob: e59ca6cc97b3d5483812e5cfe6286894a1eb6d11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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)