generated from krampus/template-godot4
	Compare commits
	
		
			No commits in common. "fcbc8c6f0a247e53a9b0466e2922eef69174bfc1" and "967db4a303c5d289150897e0e6e87a636ceeb71e" have entirely different histories.
		
	
	
		
			fcbc8c6f0a
			...
			967db4a303
		
	
		
							
								
								
									
										
											BIN
										
									
								
								asset_dev/balls/beach_ball.blend
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								asset_dev/balls/beach_ball.blend
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								asset_dev/balls/beach_ball.png
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								asset_dev/balls/beach_ball.png
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								asset_dev/balls/beach_ball_normal_map.png
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								asset_dev/balls/beach_ball_normal_map.png
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								asset_dev/soda/soda.blend
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								asset_dev/soda/soda.blend
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								assets/sprites/particles/dot.png
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sprites/particles/dot.png
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,34 +0,0 @@ | |||||||
| [remap] |  | ||||||
| 
 |  | ||||||
| importer="texture" |  | ||||||
| type="CompressedTexture2D" |  | ||||||
| uid="uid://67r5iwexjlsc" |  | ||||||
| path="res://.godot/imported/dot.png-46eaa8fd8a0d7b1e6fa2fbfd53dfe4ba.ctex" |  | ||||||
| metadata={ |  | ||||||
| "vram_texture": false |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| [deps] |  | ||||||
| 
 |  | ||||||
| source_file="res://assets/sprites/particles/dot.png" |  | ||||||
| dest_files=["res://.godot/imported/dot.png-46eaa8fd8a0d7b1e6fa2fbfd53dfe4ba.ctex"] |  | ||||||
| 
 |  | ||||||
| [params] |  | ||||||
| 
 |  | ||||||
| compress/mode=0 |  | ||||||
| compress/high_quality=false |  | ||||||
| compress/lossy_quality=0.7 |  | ||||||
| compress/hdr_compression=1 |  | ||||||
| compress/normal_map=0 |  | ||||||
| compress/channel_pack=0 |  | ||||||
| mipmaps/generate=true |  | ||||||
| mipmaps/limit=-1 |  | ||||||
| roughness/mode=0 |  | ||||||
| roughness/src_normal="" |  | ||||||
| process/fix_alpha_border=true |  | ||||||
| process/premult_alpha=false |  | ||||||
| process/normal_map_invert_y=false |  | ||||||
| process/hdr_as_srgb=false |  | ||||||
| process/hdr_clamp_exposure=false |  | ||||||
| process/size_limit=0 |  | ||||||
| detect_3d/compress_to=0 |  | ||||||
| @ -84,7 +84,6 @@ ACTION_shot_zoom_out,"Zoom out" | |||||||
| ACTION_shot_accept,Shoot | ACTION_shot_accept,Shoot | ||||||
| ACTION_shot_cancel,"Cancel shot" | ACTION_shot_cancel,"Cancel shot" | ||||||
| ACTION_shot_reset,"Reset shot" | ACTION_shot_reset,"Reset shot" | ||||||
| ACTION_activate_ball,"Activate ball ability" |  | ||||||
| ACTION_select_driver,"Select driver" | ACTION_select_driver,"Select driver" | ||||||
| ACTION_select_iron,"Select iron" | ACTION_select_iron,"Select iron" | ||||||
| ACTION_select_wedge,"Select wedge" | ACTION_select_wedge,"Select wedge" | ||||||
| @ -105,5 +104,3 @@ CLUB_PUTTER,Putter | |||||||
| BALL_BASIC,Basic | BALL_BASIC,Basic | ||||||
| BALL_PLASMA,Plasma | BALL_PLASMA,Plasma | ||||||
| BALL_BRICK,Brick | BALL_BRICK,Brick | ||||||
| BALL_BEACH,"Beach Ball" |  | ||||||
| BALL_POWER,Powerball |  | ||||||
|  | |||||||
| 
 | 
							
								
								
									
										
											BIN
										
									
								
								assets/textures/beach_ball/beach_ball.png
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/textures/beach_ball/beach_ball.png
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,34 +0,0 @@ | |||||||
| [remap] |  | ||||||
| 
 |  | ||||||
| importer="texture" |  | ||||||
| type="CompressedTexture2D" |  | ||||||
| uid="uid://daipuukf6e6bc" |  | ||||||
| path="res://.godot/imported/beach_ball.png-103709b22c99e920077c858fb92c2e27.ctex" |  | ||||||
| metadata={ |  | ||||||
| "vram_texture": false |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| [deps] |  | ||||||
| 
 |  | ||||||
| source_file="res://assets/textures/beach_ball/beach_ball.png" |  | ||||||
| dest_files=["res://.godot/imported/beach_ball.png-103709b22c99e920077c858fb92c2e27.ctex"] |  | ||||||
| 
 |  | ||||||
| [params] |  | ||||||
| 
 |  | ||||||
| compress/mode=0 |  | ||||||
| compress/high_quality=false |  | ||||||
| compress/lossy_quality=0.7 |  | ||||||
| compress/hdr_compression=1 |  | ||||||
| compress/normal_map=0 |  | ||||||
| compress/channel_pack=0 |  | ||||||
| mipmaps/generate=true |  | ||||||
| mipmaps/limit=-1 |  | ||||||
| roughness/mode=0 |  | ||||||
| roughness/src_normal="" |  | ||||||
| process/fix_alpha_border=true |  | ||||||
| process/premult_alpha=false |  | ||||||
| process/normal_map_invert_y=false |  | ||||||
| process/hdr_as_srgb=false |  | ||||||
| process/hdr_clamp_exposure=false |  | ||||||
| process/size_limit=0 |  | ||||||
| detect_3d/compress_to=0 |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/textures/beach_ball/beach_ball_normal_map.png
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/textures/beach_ball/beach_ball_normal_map.png
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,35 +0,0 @@ | |||||||
| [remap] |  | ||||||
| 
 |  | ||||||
| importer="texture" |  | ||||||
| type="CompressedTexture2D" |  | ||||||
| uid="uid://3oatrxh60ed7" |  | ||||||
| path.s3tc="res://.godot/imported/beach_ball_normal_map.png-06c8d20483d619e155834bb8abd74c2f.s3tc.ctex" |  | ||||||
| metadata={ |  | ||||||
| "imported_formats": ["s3tc_bptc"], |  | ||||||
| "vram_texture": true |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| [deps] |  | ||||||
| 
 |  | ||||||
| source_file="res://assets/textures/beach_ball/beach_ball_normal_map.png" |  | ||||||
| dest_files=["res://.godot/imported/beach_ball_normal_map.png-06c8d20483d619e155834bb8abd74c2f.s3tc.ctex"] |  | ||||||
| 
 |  | ||||||
| [params] |  | ||||||
| 
 |  | ||||||
| compress/mode=2 |  | ||||||
| compress/high_quality=false |  | ||||||
| compress/lossy_quality=0.7 |  | ||||||
| compress/hdr_compression=1 |  | ||||||
| compress/normal_map=1 |  | ||||||
| compress/channel_pack=0 |  | ||||||
| mipmaps/generate=true |  | ||||||
| mipmaps/limit=-1 |  | ||||||
| roughness/mode=1 |  | ||||||
| roughness/src_normal="res://assets/models/balls/beach_ball/beach_ball_normal_map.png" |  | ||||||
| process/fix_alpha_border=true |  | ||||||
| process/premult_alpha=false |  | ||||||
| process/normal_map_invert_y=false |  | ||||||
| process/hdr_as_srgb=false |  | ||||||
| process/hdr_clamp_exposure=false |  | ||||||
| process/size_limit=0 |  | ||||||
| detect_3d/compress_to=0 |  | ||||||
| @ -1,10 +1,9 @@ | |||||||
| [gd_scene load_steps=67 format=3 uid="uid://bm2o3mex10v11"] | [gd_scene load_steps=66 format=3 uid="uid://bm2o3mex10v11"] | ||||||
| 
 | 
 | ||||||
| [ext_resource type="Terrain3DAssets" uid="uid://cwl34gstabgrx" path="res://levels/debug_level/terrain_assets.res" id="1_5smdk"] | [ext_resource type="Terrain3DAssets" uid="uid://cwl34gstabgrx" path="res://levels/debug_level/terrain_assets.res" id="1_5smdk"] | ||||||
| [ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="6_0efu4"] | [ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="6_0efu4"] | ||||||
| [ext_resource type="Texture2D" uid="uid://c47ern0l2d50r" path="res://assets/vista_2.png" id="6_ectru"] | [ext_resource type="Texture2D" uid="uid://c47ern0l2d50r" path="res://assets/vista_2.png" id="6_ectru"] | ||||||
| [ext_resource type="Texture2D" uid="uid://con5a36t6n6sq" path="res://assets/textures/clear_sea_water_2048x2048.png" id="7_t86h2"] | [ext_resource type="Texture2D" uid="uid://con5a36t6n6sq" path="res://assets/textures/clear_sea_water_2048x2048.png" id="7_t86h2"] | ||||||
| [ext_resource type="PackedScene" uid="uid://cupmlp44bsfrj" path="res://src/items/extra_ball/beach_ball_item.tscn" id="8_3jmdx"] |  | ||||||
| [ext_resource type="Script" path="res://src/items/item_spawner.gd" id="8_5kaye"] | [ext_resource type="Script" path="res://src/items/item_spawner.gd" id="8_5kaye"] | ||||||
| [ext_resource type="Script" path="res://src/world/ball_zone/ball_zone.gd" id="9_jwlau"] | [ext_resource type="Script" path="res://src/world/ball_zone/ball_zone.gd" id="9_jwlau"] | ||||||
| [ext_resource type="PackedScene" uid="uid://dagh38vap4t1d" path="res://src/props/scenery/city/concrete_building_1.tscn" id="10_lf15j"] | [ext_resource type="PackedScene" uid="uid://dagh38vap4t1d" path="res://src/props/scenery/city/concrete_building_1.tscn" id="10_lf15j"] | ||||||
| @ -352,25 +351,9 @@ water_hazard = true | |||||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0) | transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0) | ||||||
| shape = SubResource("BoxShape3D_x3wvm") | shape = SubResource("BoxShape3D_x3wvm") | ||||||
| 
 | 
 | ||||||
| [node name="StaticBody3D" type="StaticBody3D" parent="Course/WaterTable"] |  | ||||||
| collision_layer = 2 |  | ||||||
| collision_mask = 2 |  | ||||||
| 
 |  | ||||||
| [node name="CollisionShape3D" type="CollisionShape3D" parent="Course/WaterTable/StaticBody3D"] |  | ||||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0) |  | ||||||
| shape = SubResource("BoxShape3D_x3wvm") |  | ||||||
| 
 |  | ||||||
| [node name="Sailboat" parent="Course/WaterTable" instance=ExtResource("14_6reiy")] | [node name="Sailboat" parent="Course/WaterTable" instance=ExtResource("14_6reiy")] | ||||||
| transform = Transform3D(-0.74629, 0, -0.665621, 0, 1, 0, 0.665621, 0, -0.74629, 381.024, -0.5, 224.968) | transform = Transform3D(-0.74629, 0, -0.665621, 0, 1, 0, 0.665621, 0, -0.74629, 381.024, -0.5, 224.968) | ||||||
| 
 | 
 | ||||||
| [node name="ItemSpawner" type="Marker3D" parent="Course/WaterTable/Sailboat"] |  | ||||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.5, 5.3) |  | ||||||
| script = ExtResource("8_5kaye") |  | ||||||
| item = ExtResource("8_3jmdx") |  | ||||||
| amount = -1 |  | ||||||
| spawn_on_ready = true |  | ||||||
| spawn_turns = 1 |  | ||||||
| 
 |  | ||||||
| [node name="Flag" parent="Course" instance=ExtResource("13_6jtao")] | [node name="Flag" parent="Course" instance=ExtResource("13_6jtao")] | ||||||
| transform = Transform3D(-0.777146, 0, -0.629321, 0, 1, 0, 0.629321, 0, -0.777146, 540, 4, 452) | transform = Transform3D(-0.777146, 0, -0.629321, 0, 1, 0, 0.629321, 0, -0.777146, 540, 4, 452) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -143,11 +143,6 @@ shot_reset={ | |||||||
| "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":114,"location":0,"echo":false,"script":null) | "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":114,"location":0,"echo":false,"script":null) | ||||||
| ] | ] | ||||||
| } | } | ||||||
| activate_ball={ |  | ||||||
| "deadzone": 0.5, |  | ||||||
| "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) |  | ||||||
| ] |  | ||||||
| } |  | ||||||
| select_driver={ | select_driver={ | ||||||
| "deadzone": 0.5, | "deadzone": 0.5, | ||||||
| "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":49,"key_label":0,"unicode":49,"location":0,"echo":false,"script":null) | "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":49,"key_label":0,"unicode":49,"location":0,"echo":false,"script":null) | ||||||
|  | |||||||
| @ -1,5 +0,0 @@ | |||||||
| extends GameBall |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| func enter_zone(zone: BallZone) -> void: |  | ||||||
| 	_zones.push_back(zone) |  | ||||||
| @ -1,38 +0,0 @@ | |||||||
| [gd_scene load_steps=9 format=3 uid="uid://bptiryfbnautm"] |  | ||||||
| 
 |  | ||||||
| [ext_resource type="PackedScene" uid="uid://dfttci386ohip" path="res://src/equipment/balls/physics_ball/physics_ball.tscn" id="1_pl6e6"] |  | ||||||
| [ext_resource type="Texture2D" uid="uid://daipuukf6e6bc" path="res://assets/textures/beach_ball/beach_ball.png" id="2_6dwmi"] |  | ||||||
| [ext_resource type="Script" path="res://src/equipment/balls/beach_ball/beach_ball.gd" id="2_ay78j"] |  | ||||||
| [ext_resource type="Texture2D" uid="uid://3oatrxh60ed7" path="res://assets/textures/beach_ball/beach_ball_normal_map.png" id="3_rdlj8"] |  | ||||||
| 
 |  | ||||||
| [sub_resource type="PhysicsMaterial" id="PhysicsMaterial_867vn"] |  | ||||||
| friction = 0.7 |  | ||||||
| bounce = 0.67 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_x6y4w"] |  | ||||||
| albedo_texture = ExtResource("2_6dwmi") |  | ||||||
| normal_enabled = true |  | ||||||
| normal_scale = 0.5 |  | ||||||
| normal_texture = ExtResource("3_rdlj8") |  | ||||||
| texture_filter = 4 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="SphereMesh" id="SphereMesh_iqcc5"] |  | ||||||
| material = SubResource("StandardMaterial3D_x6y4w") |  | ||||||
| radial_segments = 6 |  | ||||||
| rings = 6 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="SphereShape3D" id="SphereShape3D_cvsx2"] |  | ||||||
| 
 |  | ||||||
| [node name="BeachBall" instance=ExtResource("1_pl6e6")] |  | ||||||
| collision_mask = 3 |  | ||||||
| mass = 0.1 |  | ||||||
| physics_material_override = SubResource("PhysicsMaterial_867vn") |  | ||||||
| linear_damp = 0.1 |  | ||||||
| script = ExtResource("2_ay78j") |  | ||||||
| radius = 0.1 |  | ||||||
| 
 |  | ||||||
| [node name="BallMesh" parent="." index="0"] |  | ||||||
| mesh = SubResource("SphereMesh_iqcc5") |  | ||||||
| 
 |  | ||||||
| [node name="CollisionShape3D" parent="." index="1"] |  | ||||||
| shape = SubResource("SphereShape3D_cvsx2") |  | ||||||
| @ -10,8 +10,6 @@ enum Type { | |||||||
| 	BASIC, | 	BASIC, | ||||||
| 	PLASMA, | 	PLASMA, | ||||||
| 	BRICK, | 	BRICK, | ||||||
| 	BEACH, |  | ||||||
| 	POWER, |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const TERRAIN_DAMPING_EPSILON := 1e-6 | const TERRAIN_DAMPING_EPSILON := 1e-6 | ||||||
| @ -53,7 +51,6 @@ var _position_on_last_wake: Vector3 | |||||||
| var _awake := false | var _awake := false | ||||||
| var _zones: Array[BallZone] = [] | var _zones: Array[BallZone] = [] | ||||||
| 
 | 
 | ||||||
| @onready var ability_cooldown: Timer = %AbilityCooldown |  | ||||||
| @onready var manual_sleep_timer: Timer = %ManualSleepTimer | @onready var manual_sleep_timer: Timer = %ManualSleepTimer | ||||||
| @onready var sfx: BallSFX = %SFX | @onready var sfx: BallSFX = %SFX | ||||||
| @onready var effects: BallParticleEffects = %ParticleEffects | @onready var effects: BallParticleEffects = %ParticleEffects | ||||||
| @ -73,19 +70,6 @@ func enter_water() -> void: | |||||||
| 	entered_water.emit() | 	entered_water.emit() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ## Activate this ball's ability, if there is one. |  | ||||||
| func activate_ability() -> void: |  | ||||||
| 	if ability_cooldown.is_stopped(): |  | ||||||
| 		_activate_ability() |  | ||||||
| 		ability_cooldown.start() |  | ||||||
| 	# TODO: bonk |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| func _activate_ability() -> void: |  | ||||||
| 	# Implmemented by derived type |  | ||||||
| 	pass |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| func get_damage() -> float: | func get_damage() -> float: | ||||||
| 	print("velocity: ", linear_velocity.length()) | 	print("velocity: ", linear_velocity.length()) | ||||||
| 	return base_damage + linear_velocity.length_squared() * damage_force_scale | 	return base_damage + linear_velocity.length_squared() * damage_force_scale | ||||||
|  | |||||||
| @ -193,10 +193,6 @@ bus = &"SFX" | |||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
| one_shot = true | one_shot = true | ||||||
| 
 | 
 | ||||||
| [node name="AbilityCooldown" type="Timer" parent="."] |  | ||||||
| unique_name_in_owner = true |  | ||||||
| one_shot = true |  | ||||||
| 
 |  | ||||||
| [node name="ParticleEffects" type="Node3D" parent="."] | [node name="ParticleEffects" type="Node3D" parent="."] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
| script = ExtResource("12_7krl6") | script = ExtResource("12_7krl6") | ||||||
|  | |||||||
| @ -1,21 +0,0 @@ | |||||||
| extends GameBall |  | ||||||
| 
 |  | ||||||
| const ABILITY_MAGNITUDE := 5.0 |  | ||||||
| 
 |  | ||||||
| var _ability_impulse := Vector3.ZERO |  | ||||||
| 
 |  | ||||||
| @onready var powerball_animation: AnimationPlayer = %PowerballAnimation |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| func _activate_ability() -> void: |  | ||||||
| 	_ability_impulse = linear_velocity.normalized() * ABILITY_MAGNITUDE |  | ||||||
| 	can_sleep = false |  | ||||||
| 	freeze = true |  | ||||||
| 	powerball_animation.play("activate") |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| func _finish_ability() -> void: |  | ||||||
| 	can_sleep = true |  | ||||||
| 	freeze = false |  | ||||||
| 	linear_velocity = Vector3.ZERO |  | ||||||
| 	apply_central_impulse(_ability_impulse) |  | ||||||
| @ -1,146 +0,0 @@ | |||||||
| [gd_scene load_steps=18 format=3 uid="uid://deuytmxw2lc62"] |  | ||||||
| 
 |  | ||||||
| [ext_resource type="PackedScene" uid="uid://dfttci386ohip" path="res://src/equipment/balls/physics_ball/physics_ball.tscn" id="1_14gld"] |  | ||||||
| [ext_resource type="Texture2D" uid="uid://ckhiq6rfjv63u" path="res://assets/textures/gfolfball/gfolfball.png" id="2_a2gtg"] |  | ||||||
| [ext_resource type="Script" path="res://src/equipment/balls/power_ball/power_ball.gd" id="2_hy51e"] |  | ||||||
| [ext_resource type="Texture2D" uid="uid://btntjs7mbdigu" path="res://assets/textures/gfolfball/gfolfball_normal.png" id="3_60i75"] |  | ||||||
| 
 |  | ||||||
| [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_c4cm7"] |  | ||||||
| albedo_color = Color(2, 0.266, 0.266, 1) |  | ||||||
| albedo_texture = ExtResource("2_a2gtg") |  | ||||||
| albedo_texture_force_srgb = true |  | ||||||
| metallic = 1.0 |  | ||||||
| roughness = 0.67 |  | ||||||
| normal_enabled = true |  | ||||||
| normal_scale = 0.2 |  | ||||||
| normal_texture = ExtResource("3_60i75") |  | ||||||
| clearcoat_roughness = 0.0 |  | ||||||
| uv1_scale = Vector3(3, 1.5, 3) |  | ||||||
| texture_filter = 4 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="SphereMesh" id="SphereMesh_0b0i7"] |  | ||||||
| material = SubResource("StandardMaterial3D_c4cm7") |  | ||||||
| radius = 0.05 |  | ||||||
| height = 0.1 |  | ||||||
| radial_segments = 6 |  | ||||||
| rings = 6 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Curve" id="Curve_ai354"] |  | ||||||
| max_value = 100.0 |  | ||||||
| _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.115, 100), 0.0, 0.0, 0, 0] |  | ||||||
| point_count = 2 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="CurveTexture" id="CurveTexture_g3kms"] |  | ||||||
| curve = SubResource("Curve_ai354") |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Curve" id="Curve_jeoyl"] |  | ||||||
| _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.709474, 0), 0.0, 0.0, 0, 0] |  | ||||||
| point_count = 2 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="CurveTexture" id="CurveTexture_c2myg"] |  | ||||||
| curve = SubResource("Curve_jeoyl") |  | ||||||
| 
 |  | ||||||
| [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_k07ua"] |  | ||||||
| emission_shape = 2 |  | ||||||
| emission_sphere_radius = 2.0 |  | ||||||
| gravity = Vector3(0, 0, 0) |  | ||||||
| radial_accel_min = -100.0 |  | ||||||
| radial_accel_max = -100.0 |  | ||||||
| damping_min = 1.0 |  | ||||||
| damping_max = 1.0 |  | ||||||
| damping_curve = SubResource("CurveTexture_g3kms") |  | ||||||
| scale_curve = SubResource("CurveTexture_c2myg") |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Curve" id="Curve_p1ob2"] |  | ||||||
| _data = [Vector2(0, 0), 0.0, 13.0505, 0, 0, Vector2(0.185404, 1), 0.0, 0.0, 0, 0, Vector2(0.986193, 0), 0.0, 0.0, 0, 0] |  | ||||||
| point_count = 3 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_v3vpa"] |  | ||||||
| cull_mode = 2 |  | ||||||
| shading_mode = 0 |  | ||||||
| vertex_color_use_as_albedo = true |  | ||||||
| albedo_color = Color(2, 2, 1.333, 1) |  | ||||||
| use_particle_trails = true |  | ||||||
| 
 |  | ||||||
| [sub_resource type="RibbonTrailMesh" id="RibbonTrailMesh_elifs"] |  | ||||||
| material = SubResource("StandardMaterial3D_v3vpa") |  | ||||||
| shape = 0 |  | ||||||
| size = 0.1 |  | ||||||
| sections = 3 |  | ||||||
| section_length = 0.1 |  | ||||||
| curve = SubResource("Curve_p1ob2") |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Animation" id="Animation_7yrvu"] |  | ||||||
| resource_name = "activate" |  | ||||||
| length = 0.8 |  | ||||||
| tracks/0/type = "value" |  | ||||||
| tracks/0/imported = false |  | ||||||
| tracks/0/enabled = true |  | ||||||
| tracks/0/path = NodePath("ParticleEffects/PowerParticles:emitting") |  | ||||||
| tracks/0/interp = 1 |  | ||||||
| tracks/0/loop_wrap = true |  | ||||||
| tracks/0/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 1, |  | ||||||
| "values": [true] |  | ||||||
| } |  | ||||||
| tracks/1/type = "method" |  | ||||||
| tracks/1/imported = false |  | ||||||
| tracks/1/enabled = true |  | ||||||
| tracks/1/path = NodePath(".") |  | ||||||
| tracks/1/interp = 1 |  | ||||||
| tracks/1/loop_wrap = true |  | ||||||
| tracks/1/keys = { |  | ||||||
| "times": PackedFloat32Array(0.8), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "values": [{ |  | ||||||
| "args": [], |  | ||||||
| "method": &"_finish_ability" |  | ||||||
| }] |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Animation" id="Animation_6c6mi"] |  | ||||||
| length = 0.001 |  | ||||||
| tracks/0/type = "value" |  | ||||||
| tracks/0/imported = false |  | ||||||
| tracks/0/enabled = true |  | ||||||
| tracks/0/path = NodePath("ParticleEffects/PowerParticles:emitting") |  | ||||||
| tracks/0/interp = 1 |  | ||||||
| tracks/0/loop_wrap = true |  | ||||||
| tracks/0/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 1, |  | ||||||
| "values": [false] |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| [sub_resource type="AnimationLibrary" id="AnimationLibrary_ospg0"] |  | ||||||
| _data = { |  | ||||||
| "RESET": SubResource("Animation_6c6mi"), |  | ||||||
| "activate": SubResource("Animation_7yrvu") |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| [node name="PowerBall" instance=ExtResource("1_14gld")] |  | ||||||
| freeze_mode = 1 |  | ||||||
| script = ExtResource("2_hy51e") |  | ||||||
| 
 |  | ||||||
| [node name="BallMesh" parent="." index="0"] |  | ||||||
| mesh = SubResource("SphereMesh_0b0i7") |  | ||||||
| 
 |  | ||||||
| [node name="PowerParticles" type="GPUParticles3D" parent="ParticleEffects" index="1"] |  | ||||||
| emitting = false |  | ||||||
| amount = 32 |  | ||||||
| lifetime = 0.8 |  | ||||||
| one_shot = true |  | ||||||
| randomness = 1.0 |  | ||||||
| trail_enabled = true |  | ||||||
| trail_lifetime = 0.4 |  | ||||||
| process_material = SubResource("ParticleProcessMaterial_k07ua") |  | ||||||
| draw_pass_1 = SubResource("RibbonTrailMesh_elifs") |  | ||||||
| 
 |  | ||||||
| [node name="PowerballAnimation" type="AnimationPlayer" parent="." index="7"] |  | ||||||
| unique_name_in_owner = true |  | ||||||
| libraries = { |  | ||||||
| "": SubResource("AnimationLibrary_ospg0") |  | ||||||
| } |  | ||||||
| @ -1,124 +0,0 @@ | |||||||
| [gd_scene load_steps=10 format=3 uid="uid://cupmlp44bsfrj"] |  | ||||||
| 
 |  | ||||||
| [ext_resource type="PackedScene" uid="uid://comd88yp45mnb" path="res://src/items/item/item.tscn" id="1_qk4an"] |  | ||||||
| [ext_resource type="Script" path="res://src/items/extra_ball/extra_ball.gd" id="2_c3h7j"] |  | ||||||
| [ext_resource type="Texture2D" uid="uid://daipuukf6e6bc" path="res://assets/textures/beach_ball/beach_ball.png" id="3_6ohug"] |  | ||||||
| [ext_resource type="Texture2D" uid="uid://3oatrxh60ed7" path="res://assets/textures/beach_ball/beach_ball_normal_map.png" id="4_b7lx7"] |  | ||||||
| 
 |  | ||||||
| [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xh2u0"] |  | ||||||
| albedo_texture = ExtResource("3_6ohug") |  | ||||||
| normal_enabled = true |  | ||||||
| normal_scale = 0.5 |  | ||||||
| normal_texture = ExtResource("4_b7lx7") |  | ||||||
| texture_filter = 4 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="SphereMesh" id="SphereMesh_rleou"] |  | ||||||
| material = SubResource("StandardMaterial3D_xh2u0") |  | ||||||
| radial_segments = 6 |  | ||||||
| rings = 6 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Animation" id="Animation_jhb3c"] |  | ||||||
| length = 0.001 |  | ||||||
| tracks/0/type = "value" |  | ||||||
| tracks/0/imported = false |  | ||||||
| tracks/0/enabled = true |  | ||||||
| tracks/0/path = NodePath("ItemMeshContainer:position") |  | ||||||
| tracks/0/interp = 1 |  | ||||||
| tracks/0/loop_wrap = true |  | ||||||
| tracks/0/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Vector3(0, -0.2, 0)] |  | ||||||
| } |  | ||||||
| tracks/1/type = "value" |  | ||||||
| tracks/1/imported = false |  | ||||||
| tracks/1/enabled = true |  | ||||||
| tracks/1/path = NodePath("Octahedron:rotation") |  | ||||||
| tracks/1/interp = 1 |  | ||||||
| tracks/1/loop_wrap = true |  | ||||||
| tracks/1/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Vector3(0, 0, 0)] |  | ||||||
| } |  | ||||||
| tracks/2/type = "value" |  | ||||||
| tracks/2/imported = false |  | ||||||
| tracks/2/enabled = true |  | ||||||
| tracks/2/path = NodePath("ItemMeshContainer:rotation") |  | ||||||
| tracks/2/interp = 1 |  | ||||||
| tracks/2/loop_wrap = true |  | ||||||
| tracks/2/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Vector3(0, 0, 0)] |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Animation" id="Animation_283tf"] |  | ||||||
| resource_name = "hover" |  | ||||||
| length = 24.0 |  | ||||||
| loop_mode = 1 |  | ||||||
| tracks/0/type = "value" |  | ||||||
| tracks/0/imported = false |  | ||||||
| tracks/0/enabled = true |  | ||||||
| tracks/0/path = NodePath("ItemMeshContainer:position") |  | ||||||
| tracks/0/interp = 2 |  | ||||||
| tracks/0/loop_wrap = true |  | ||||||
| tracks/0/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 6, 12, 18), |  | ||||||
| "transitions": PackedFloat32Array(1, 1, 1, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Vector3(0, -0.05, 0), Vector3(0, 0.05, 0), Vector3(0, -0.05, 0), Vector3(0, 0.05, 0)] |  | ||||||
| } |  | ||||||
| tracks/1/type = "value" |  | ||||||
| tracks/1/imported = false |  | ||||||
| tracks/1/enabled = true |  | ||||||
| tracks/1/path = NodePath("Octahedron:rotation") |  | ||||||
| tracks/1/interp = 1 |  | ||||||
| tracks/1/loop_wrap = false |  | ||||||
| tracks/1/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 24), |  | ||||||
| "transitions": PackedFloat32Array(1, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Vector3(0, 0, 0), Vector3(0, 6.28319, -6.28319)] |  | ||||||
| } |  | ||||||
| tracks/2/type = "value" |  | ||||||
| tracks/2/imported = false |  | ||||||
| tracks/2/enabled = true |  | ||||||
| tracks/2/path = NodePath("ItemMeshContainer:rotation") |  | ||||||
| tracks/2/interp = 1 |  | ||||||
| tracks/2/loop_wrap = false |  | ||||||
| tracks/2/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 24), |  | ||||||
| "transitions": PackedFloat32Array(1, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Vector3(0, 0, 0), Vector3(0, -6.28319, 0)] |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| [sub_resource type="AnimationLibrary" id="AnimationLibrary_jwejx"] |  | ||||||
| _data = { |  | ||||||
| "RESET": SubResource("Animation_jhb3c"), |  | ||||||
| "idle": SubResource("Animation_283tf") |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| [node name="BeachBallItem" instance=ExtResource("1_qk4an")] |  | ||||||
| script = ExtResource("2_c3h7j") |  | ||||||
| ball_type = 4 |  | ||||||
| amount = 0 |  | ||||||
| 
 |  | ||||||
| [node name="Pivot" parent="Pivot/Octahedron/ItemMeshContainer" index="0"] |  | ||||||
| transform = Transform3D(0.99863, 0.052336, 0, -0.052336, 0.99863, 0, 0, 0, 1, 0, 0, 0) |  | ||||||
| 
 |  | ||||||
| [node name="BallMesh" type="MeshInstance3D" parent="Pivot/Octahedron/ItemMeshContainer/Pivot" index="1"] |  | ||||||
| transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0) |  | ||||||
| mesh = SubResource("SphereMesh_rleou") |  | ||||||
| 
 |  | ||||||
| [node name="@AnimationPlayer@183827" type="AnimationPlayer" parent="Pivot/Octahedron" index="2"] |  | ||||||
| libraries = { |  | ||||||
| "": SubResource("AnimationLibrary_jwejx") |  | ||||||
| } |  | ||||||
| autoplay = "idle" |  | ||||||
| 
 |  | ||||||
| [editable path="Pivot/Octahedron"] |  | ||||||
| @ -16,7 +16,7 @@ script = ExtResource("2_rwv0k") | |||||||
| transform = Transform3D(0.99863, 0.052336, 0, -0.052336, 0.99863, 0, 0, 0, 1, 0, 0, 0) | transform = Transform3D(0.99863, 0.052336, 0, -0.052336, 0.99863, 0, 0, 0, 1, 0, 0, 0) | ||||||
| 
 | 
 | ||||||
| [node name="soda" parent="Pivot/Octahedron/ItemMeshContainer/Pivot" index="1" instance=ExtResource("2_bsxys")] | [node name="soda" parent="Pivot/Octahedron/ItemMeshContainer/Pivot" index="1" instance=ExtResource("2_bsxys")] | ||||||
| transform = Transform3D(0.965926, -0.258819, 2.87131e-07, 0.25, 0.933013, 0.258818, -0.0669874, -0.249999, 0.965926, 0, 0, 0) | transform = Transform3D(1.15911, -0.310583, 0, 0.3, 1.11962, 0.310583, -0.0803848, -0.3, 1.15911, 0, 0, 0) | ||||||
| 
 | 
 | ||||||
| [node name="Soda" parent="Pivot/Octahedron/ItemMeshContainer/Pivot/soda" index="0"] | [node name="Soda" parent="Pivot/Octahedron/ItemMeshContainer/Pivot/soda" index="0"] | ||||||
| surface_material_override/0 = SubResource("StandardMaterial3D_6ujhj") | surface_material_override/0 = SubResource("StandardMaterial3D_6ujhj") | ||||||
|  | |||||||
| @ -18,7 +18,5 @@ putter = ExtResource("3_tytwr") | |||||||
| _balls = { | _balls = { | ||||||
| 1: -1, | 1: -1, | ||||||
| 2: 5, | 2: 5, | ||||||
| 3: -1, | 3: -1 | ||||||
| 4: -1, |  | ||||||
| 5: -1 |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -9,8 +9,6 @@ const SCENE_MAP: Dictionary = { | |||||||
| 	GameBall.Type.BASIC: preload("res://src/equipment/balls/physics_ball/physics_ball.tscn"), | 	GameBall.Type.BASIC: preload("res://src/equipment/balls/physics_ball/physics_ball.tscn"), | ||||||
| 	GameBall.Type.PLASMA: preload("res://src/equipment/balls/plasma_ball/plasma_ball.tscn"), | 	GameBall.Type.PLASMA: preload("res://src/equipment/balls/plasma_ball/plasma_ball.tscn"), | ||||||
| 	GameBall.Type.BRICK: preload("res://src/equipment/balls/brick/brick.tscn"), | 	GameBall.Type.BRICK: preload("res://src/equipment/balls/brick/brick.tscn"), | ||||||
| 	GameBall.Type.BEACH: preload("res://src/equipment/balls/beach_ball/beach_ball.tscn"), |  | ||||||
| 	GameBall.Type.POWER: preload("res://src/equipment/balls/power_ball/power_ball.tscn"), |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @export var ball: GameBall: | @export var ball: GameBall: | ||||||
|  | |||||||
| @ -319,7 +319,6 @@ func _show_shot_projection() -> void: | |||||||
| 	tween.tween_property(shot_projection, "initial_speed", shot_speed, CAMERA_SNAP_TIME).set_trans( | 	tween.tween_property(shot_projection, "initial_speed", shot_speed, CAMERA_SNAP_TIME).set_trans( | ||||||
| 		Tween.TRANS_QUAD | 		Tween.TRANS_QUAD | ||||||
| 	) | 	) | ||||||
| 	shot_projection.linear_damp = game_ball.linear_damp |  | ||||||
| 	shot_projection.show() | 	shot_projection.show() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -619,9 +618,6 @@ func _process(delta: float) -> void: | |||||||
| 				reset_enabled = false | 				reset_enabled = false | ||||||
| 				return_ball() | 				return_ball() | ||||||
| 
 | 
 | ||||||
| 			if Input.is_action_just_pressed("activate_ball"): |  | ||||||
| 				game_ball.activate_ability() |  | ||||||
| 
 |  | ||||||
| 			if driving_range and Input.is_action_just_pressed("shot_accept"): | 			if driving_range and Input.is_action_just_pressed("shot_accept"): | ||||||
| 				phase = Phase.AIM | 				phase = Phase.AIM | ||||||
| 				return_ball() | 				return_ball() | ||||||
|  | |||||||
| @ -40,9 +40,6 @@ const PUTT_ATTRITION := 0.8325  # green? | |||||||
| ## This can cause problems if there is a moving gravity field. | ## This can cause problems if there is a moving gravity field. | ||||||
| @export var cache_gravity := true | @export var cache_gravity := true | ||||||
| 
 | 
 | ||||||
| ## Linear damping factor of the shot. |  | ||||||
| @export var linear_damp := 0.0 |  | ||||||
| 
 |  | ||||||
| var _tick_counter := 0 | var _tick_counter := 0 | ||||||
| 
 | 
 | ||||||
| var _debug_points: Array[Vector3] = [] | var _debug_points: Array[Vector3] = [] | ||||||
| @ -106,7 +103,6 @@ func _process(_delta: float) -> void: | |||||||
| 		# Integrate projectile path | 		# Integrate projectile path | ||||||
| 		var next_pos := pos + vel * time_step + 0.5 * local_gravity * time_step * time_step | 		var next_pos := pos + vel * time_step + 0.5 * local_gravity * time_step * time_step | ||||||
| 		vel += local_gravity * time_step | 		vel += local_gravity * time_step | ||||||
| 		vel *= maxf(1 - linear_damp * time_step, 0) |  | ||||||
| 
 | 
 | ||||||
| 		# Collision | 		# Collision | ||||||
| 		if check_collision and Game.settings.projection_collisions: | 		if check_collision and Game.settings.projection_collisions: | ||||||
|  | |||||||
| @ -8,8 +8,6 @@ const Y_OFFSET := { | |||||||
| 	GameBall.Type.BASIC: 18, | 	GameBall.Type.BASIC: 18, | ||||||
| 	GameBall.Type.PLASMA: -14, | 	GameBall.Type.PLASMA: -14, | ||||||
| 	GameBall.Type.BRICK: -46, | 	GameBall.Type.BRICK: -46, | ||||||
| 	GameBall.Type.BEACH: -78, |  | ||||||
| 	GameBall.Type.POWER: -110, |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @export var value: GameBall.Type: | @export var value: GameBall.Type: | ||||||
| @ -19,8 +17,6 @@ const Y_OFFSET := { | |||||||
| @onready var basic_icon: BallIcon = %BasicIcon | @onready var basic_icon: BallIcon = %BasicIcon | ||||||
| @onready var plasma_icon: BallIcon = %PlasmaIcon | @onready var plasma_icon: BallIcon = %PlasmaIcon | ||||||
| @onready var brick_icon: BallIcon = %BrickIcon | @onready var brick_icon: BallIcon = %BrickIcon | ||||||
| @onready var beach_icon: BallIcon = %BeachIcon |  | ||||||
| @onready var power_icon: BallIcon = %PowerIcon |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func _ready() -> void: | func _ready() -> void: | ||||||
| @ -32,8 +28,6 @@ func set_state_for_player(player: WorldPlayer) -> void: | |||||||
| 	basic_icon.quantity = player.get_balls(GameBall.Type.BASIC) | 	basic_icon.quantity = player.get_balls(GameBall.Type.BASIC) | ||||||
| 	plasma_icon.quantity = player.get_balls(GameBall.Type.PLASMA) | 	plasma_icon.quantity = player.get_balls(GameBall.Type.PLASMA) | ||||||
| 	brick_icon.quantity = player.get_balls(GameBall.Type.BRICK) | 	brick_icon.quantity = player.get_balls(GameBall.Type.BRICK) | ||||||
| 	beach_icon.quantity = player.get_balls(GameBall.Type.BEACH) |  | ||||||
| 	power_icon.quantity = player.get_balls(GameBall.Type.POWER) |  | ||||||
| 	if player.shot_setup: | 	if player.shot_setup: | ||||||
| 		value = player.shot_setup.ball_type | 		value = player.shot_setup.ball_type | ||||||
| 	player.on_balls_changed.connect(_set_quantity) | 	player.on_balls_changed.connect(_set_quantity) | ||||||
| @ -47,10 +41,6 @@ func _get_icon(type: GameBall.Type) -> BallIcon: | |||||||
| 			return plasma_icon | 			return plasma_icon | ||||||
| 		GameBall.Type.BRICK: | 		GameBall.Type.BRICK: | ||||||
| 			return brick_icon | 			return brick_icon | ||||||
| 		GameBall.Type.BEACH: |  | ||||||
| 			return beach_icon |  | ||||||
| 		GameBall.Type.POWER: |  | ||||||
| 			return power_icon |  | ||||||
| 	return null | 	return null | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -46,7 +46,7 @@ custom_minimum_size = Vector2(120, 0) | |||||||
| layout_mode = 0 | layout_mode = 0 | ||||||
| offset_top = 50.0 | offset_top = 50.0 | ||||||
| offset_right = 120.0 | offset_right = 120.0 | ||||||
| offset_bottom = 173.0 | offset_bottom = 141.0 | ||||||
| theme_override_constants/separation = 5 | theme_override_constants/separation = 5 | ||||||
| 
 | 
 | ||||||
| [node name="BasicIcon" parent="GradientMask/BallList" instance=ExtResource("1_1v8xg")] | [node name="BasicIcon" parent="GradientMask/BallList" instance=ExtResource("1_1v8xg")] | ||||||
| @ -68,19 +68,3 @@ layout_mode = 2 | |||||||
| text = "BALL_BRICK" | text = "BALL_BRICK" | ||||||
| quantity = 0 | quantity = 0 | ||||||
| empty = true | empty = true | ||||||
| 
 |  | ||||||
| [node name="BeachIcon" parent="GradientMask/BallList" instance=ExtResource("1_1v8xg")] |  | ||||||
| unique_name_in_owner = true |  | ||||||
| custom_minimum_size = Vector2(120, 27) |  | ||||||
| layout_mode = 2 |  | ||||||
| text = "BALL_BEACH" |  | ||||||
| quantity = 0 |  | ||||||
| empty = true |  | ||||||
| 
 |  | ||||||
| [node name="PowerIcon" parent="GradientMask/BallList" instance=ExtResource("1_1v8xg")] |  | ||||||
| unique_name_in_owner = true |  | ||||||
| custom_minimum_size = Vector2(120, 27) |  | ||||||
| layout_mode = 2 |  | ||||||
| text = "BALL_POWER" |  | ||||||
| quantity = 0 |  | ||||||
| empty = true |  | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user