diff --git a/scripts/player/Weapon.gd b/scripts/player/Weapon.gd index 820f4a7..39cabc6 100644 --- a/scripts/player/Weapon.gd +++ b/scripts/player/Weapon.gd @@ -20,6 +20,9 @@ var MODEL : Node3D var FIREMODE : int var HITSCAN : bool var RAY_LEN : float = 1000 +var RELOAD_TIME : float +var RELOAD_MOMENTUM : Vector3 +var RELOAD_ANGULAR_MOMENTUM : Vector3 var SHOOTING_SPEED: float var can_shoot : bool @@ -32,8 +35,6 @@ func init(): var tween = create_tween() MODEL.position = DRAW_POS MODEL.rotation = DRAW_ROT - tween.set_trans(Tween.TRANS_CIRC) - tween.set_ease(Tween.EASE_IN_OUT) can_shoot = true tween.tween_callback(InitialPos).set_delay(DRAW_TIME) @@ -78,7 +79,14 @@ func Release(): func Reload(): if(clip < MAX_CLIP && state == INITIAL): - #state = RELOAD + state = RELOAD + var tween = create_tween() + tween.set_trans(Tween.TRANS_CIRC) + tween.set_ease(Tween.EASE_IN) + tween.set_parallel(true) + tween.tween_property(MODEL, "position", ANGULAR_MOMENTUM, RELOAD_TIME) + tween.tween_property(MODEL, "rotation", RELOAD_ANGULAR_MOMENTUM, RELOAD_TIME) + tween.tween_callback(init).set_delay(RELOAD_TIME) clip = MAX_CLIP return true return false diff --git a/scripts/player/Weapons.gd b/scripts/player/Weapons.gd index 118cd65..9488ca5 100644 --- a/scripts/player/Weapons.gd +++ b/scripts/player/Weapons.gd @@ -29,6 +29,9 @@ var file_data = { "RPM": 120, "DRAW_POS": Vector3(0,-0.5,-0.3), "DRAW_ROT": Vector3(1.3, 0, 0), + "RELOAD_MOMENTUM": Vector3(-5, -9, 7), + "RELOAD_ANGULAR_MOMENTUM": Vector3(deg_to_rad(600), deg_to_rad(-800), deg_to_rad(-1000)), + "RELOAD_TIME": 0.35, "HITSCAN": true } } @@ -61,6 +64,9 @@ func _ready(): root.MOMENTUM = file_data[i].MOMENTUM root.ANGULAR_MOMENTUM = file_data[i].ANGULAR_MOMENTUM root.RECOIL_COOLDOWN = file_data[i].RECOIL_COOLDOWN + root.RELOAD_MOMENTUM = file_data[i].RELOAD_MOMENTUM + root.RELOAD_ANGULAR_MOMENTUM = file_data[i].RELOAD_ANGULAR_MOMENTUM + root.RELOAD_TIME = file_data[i].RELOAD_TIME root.RPM = file_data[i].RPM root.MODEL = root.get_node(file_data[i].MODEL) root.DRAW_POS = file_data[i].DRAW_POS