mirror of
				https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
				synced 2025-11-04 08:35:41 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
extends EntityGenerator
 | 
						|
 | 
						|
@export_range(1, 8, 1) var wind_force := 4
 | 
						|
@export_enum("Right" , "Left") var wind_direction := 0
 | 
						|
 | 
						|
func _ready() -> void:
 | 
						|
	await get_tree().create_timer(0.1, false).timeout
 | 
						|
	get_parent().move_child(self, 0)
 | 
						|
 | 
						|
func _physics_process(delta: float) -> void:
 | 
						|
	[$CanvasLayer/Left, $CanvasLayer/Right][wind_direction].show()
 | 
						|
	for i in [$CanvasLayer/Left/Particles, $CanvasLayer/Right/Particles]:
 | 
						|
		i.emitting = active
 | 
						|
		i.speed_scale = float(wind_force) / 4
 | 
						|
		i.amount = wind_force * 16
 | 
						|
	if active:
 | 
						|
		for i: Player in get_tree().get_nodes_in_group("Players"):
 | 
						|
			if i.spring_bouncing == false and i.is_on_wall() == false and i.state_machine.state.name == "Normal":
 | 
						|
				i.simulated_velocity.x = wind_force * [1, -1][wind_direction]
 | 
						|
				i.global_position.x += ((wind_force * 10) * [1, -1][wind_direction]) * delta
 | 
						|
		if $SFX.is_playing() == false:
 | 
						|
			$SFX.play()
 | 
						|
	else:
 | 
						|
		$SFX.stop()
 | 
						|
 | 
						|
func activate() -> void:
 | 
						|
	if not active:
 | 
						|
		active = true
 | 
						|
 | 
						|
func deactivate_all_generators() -> void:
 | 
						|
	for i in get_tree().get_nodes_in_group("EntityGenerators"):
 | 
						|
		i.active = false
 | 
						|
		
 |