mirror of
				https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
				synced 2025-10-30 19:29:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			976 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			976 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
| extends Node2D
 | |
| 
 | |
| @export var item: PackedScene = preload("uid://bumvqjhs2xxka")
 | |
| 
 | |
| @export_range(0, 8, 1) var head_angle := 0
 | |
| @export_range(0, 4, 1) var stand_angle := 0
 | |
| 
 | |
| var amount := 0
 | |
| 
 | |
| func _ready() -> void:
 | |
| 	$Timer.start()
 | |
| 
 | |
| func shoot() -> void:
 | |
| 	if amount >= 3 or $Head/Raycast.is_colliding():
 | |
| 		return
 | |
| 	var node = item.instantiate()
 | |
| 	var direction_vector = [Vector2.UP, Vector2(1, -1), Vector2.RIGHT, Vector2(1, 1), Vector2.DOWN, Vector2(-1, 1), Vector2.LEFT, Vector2(-1, -1), Vector2.UP][head_angle]
 | |
| 	node.set("direction_vector", direction_vector)
 | |
| 	node.set("velocity", 100 * direction_vector)
 | |
| 	if direction_vector.x != 0:
 | |
| 		node.set("direction", sign(direction_vector.x))
 | |
| 	node.global_position = global_position
 | |
| 	if item.resource_path != "res://Scenes/Prefabs/Entities/Objects/CannonBall.tscn":
 | |
| 		node.global_position += direction_vector * 4
 | |
| 	node.tree_exited.connect(func(): amount -= 1)
 | |
| 	amount += 1
 | |
| 	AudioManager.play_sfx("cannon", global_position)
 | |
| 	add_sibling(node)
 | 
