Add barrier-based catch and chase mechanic
This commit is contained in:
parent
ad848f9431
commit
ae2f724fe2
12 changed files with 631 additions and 68 deletions
29
fishing/catch_difficulty_profile.gd
Normal file
29
fishing/catch_difficulty_profile.gd
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
class_name CatchDifficultyProfile
|
||||
extends Resource
|
||||
|
||||
@export_range(0, 12, 1) var barrier_count_min: int = 2
|
||||
@export_range(0, 12, 1) var barrier_count_max: int = 4
|
||||
@export_range(1, 100, 1) var barrier_health_min: int = 3
|
||||
@export_range(1, 100, 1) var barrier_health_max: int = 7
|
||||
@export_range(0.0, 0.45, 0.01) var first_barrier_margin: float = 0.15
|
||||
@export_range(0.0, 0.45, 0.01) var final_barrier_margin: float = 0.10
|
||||
@export_range(0.01, 1.0, 0.01) var minimum_barrier_spacing: float = 0.15
|
||||
@export_range(0.0, 5.0, 0.05) var chase_start_delay: float = 1.0
|
||||
@export_range(0.01, 0.5, 0.01) var chase_start_offset: float = 0.15
|
||||
@export_range(0.0, 2.0, 0.01) var chase_speed: float = 0.14
|
||||
|
||||
|
||||
func get_barrier_count_range() -> Vector2i:
|
||||
var minimum: int = maxi(0, barrier_count_min)
|
||||
return Vector2i(minimum, maxi(minimum, barrier_count_max))
|
||||
|
||||
|
||||
func get_barrier_health_range() -> Vector2i:
|
||||
var minimum: int = maxi(1, barrier_health_min)
|
||||
return Vector2i(minimum, maxi(minimum, barrier_health_max))
|
||||
|
||||
|
||||
func get_generation_interval() -> Vector2:
|
||||
var start: float = clampf(first_barrier_margin, 0.0, 0.95)
|
||||
var finish: float = clampf(1.0 - final_barrier_margin, start, 1.0)
|
||||
return Vector2(start, finish)
|
||||
Loading…
Add table
Add a link
Reference in a new issue