pellet spread, bulletholes and balance fixes

This commit is contained in:
Rendo 2025-12-14 14:54:35 +05:00
commit 74e37f8a18
17 changed files with 261 additions and 72 deletions

View file

@ -5,12 +5,10 @@ extends WeaponState
@export var damage_reduction_curve: Curve
@export var emptyable: bool
@export var torso_total_damage: int
@export var head_total_damage: int
@export var limb_total_damage: int
@export_range(0,179,0.01,"radians_as_degrees") var arc: float
@export_range(1,20,1,"or_greater") var max_pellets: int = 1
@export_range(1,20,1,"or_greater") var min_pellets: int = 1
@export var torso_pellet_damage: int
@export var head_pellet_damage: int
@export var limb_pellet_damage: int
@export var pellet_spread: PelletSpread
@export var shoot_distance: float = 100
@export var fire_timer: Timer
@ -44,8 +42,7 @@ func fire() -> void:
machine.animation_player.play(with_morphems("shoot"))
if is_multiplayer_authority():
var pellets: int = randi_range(min_pellets,max_pellets)
Session.shoot_pellets(int(machine.player.name),pellets,limb_total_damage,torso_total_damage,head_total_damage,shoot_distance,arc,damage_reduction_curve)
Session.shoot_pellets(int(machine.player.name),limb_pellet_damage,torso_pellet_damage,head_pellet_damage,shoot_distance,pellet_spread.get_dots(),damage_reduction_curve)
machine.player.get_node("ShootAudio").multiplayer_play()
fire_timer.start()