pellet spread, bulletholes and balance fixes
This commit is contained in:
parent
eabc137ce8
commit
74e37f8a18
17 changed files with 261 additions and 72 deletions
22
weapons/gun/pellet_spread/pellet_spread_random.gd
Normal file
22
weapons/gun/pellet_spread/pellet_spread_random.gd
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
@tool
|
||||
extends PelletSpread
|
||||
|
||||
class_name PelletSpreadRandom
|
||||
|
||||
const ASPECT = 1.7777777777777777
|
||||
|
||||
@export var random_amount: int
|
||||
@export_range(0,89,0.1,"radians_as_degrees") var radius: float
|
||||
@export var aspect_ratio: float = 1.7777777777777777
|
||||
|
||||
@export_tool_button("Randomize points") var randomize_button = randomize_points
|
||||
|
||||
func randomize_points() -> void:
|
||||
curve.clear_points()
|
||||
var viewport_aspect_trasformation = Vector2(ASPECT,1)
|
||||
var custom_aspect_transformation = Vector2(aspect_ratio,1./aspect_ratio)
|
||||
var transformation_vector = get_viewport_rect().size / viewport_aspect_trasformation /PI
|
||||
for i in range(random_amount):
|
||||
var unscaled_position = Vector2(randf_range(-radius,radius),randf_range(-radius,radius))
|
||||
var scaled_position = unscaled_position*transformation_vector
|
||||
curve.add_point(scaled_position)
|
||||
Loading…
Add table
Add a link
Reference in a new issue