fixed the issue where enemies could walk over a gap if it wasnt on a pathfinding node
This commit is contained in:
parent
3c28999cd9
commit
62d0dc0130
@ -8,6 +8,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://cu654fn5nke3n" path="res://PCs/Entomologist/ClassCards/Blowdart/shot1.wav" id="6_bfygd"]
|
[ext_resource type="AudioStream" uid="uid://cu654fn5nke3n" path="res://PCs/Entomologist/ClassCards/Blowdart/shot1.wav" id="6_bfygd"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_85web"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_85web"]
|
||||||
|
resource_local_to_scene = true
|
||||||
atlas = ExtResource("5_rvf06")
|
atlas = ExtResource("5_rvf06")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://cxiluyamsxson" path="res://PCs/Mage/ClassCards/Fireball/shot1.wav" id="6_o5rjg"]
|
[ext_resource type="AudioStream" uid="uid://cxiluyamsxson" path="res://PCs/Mage/ClassCards/Fireball/shot1.wav" id="6_o5rjg"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hfmm6"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_hfmm6"]
|
||||||
|
resource_local_to_scene = true
|
||||||
atlas = ExtResource("5_r42ic")
|
atlas = ExtResource("5_r42ic")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://dgqmtmty7ekmc" path="res://PCs/Mage/ClassCards/Icicle/shot1.wav" id="6_ilpsp"]
|
[ext_resource type="AudioStream" uid="uid://dgqmtmty7ekmc" path="res://PCs/Mage/ClassCards/Icicle/shot1.wav" id="6_ilpsp"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7uf3s"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_7uf3s"]
|
||||||
|
resource_local_to_scene = true
|
||||||
atlas = ExtResource("5_iremk")
|
atlas = ExtResource("5_iremk")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
[ext_resource type="Material" uid="uid://ckung57mij7ue" path="res://PCs/Mage/ClassCards/Refrigerator/cold_particles.tres" id="5_8q1lc"]
|
[ext_resource type="Material" uid="uid://ckung57mij7ue" path="res://PCs/Mage/ClassCards/Refrigerator/cold_particles.tres" id="5_8q1lc"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0yua2"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_0yua2"]
|
||||||
|
resource_local_to_scene = true
|
||||||
atlas = ExtResource("4_y5ps0")
|
atlas = ExtResource("4_y5ps0")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://chrf1dcq2ujw0" path="res://PCs/Mechanic/ClassCards/Assault/shot1.wav" id="4_gdaci"]
|
[ext_resource type="AudioStream" uid="uid://chrf1dcq2ujw0" path="res://PCs/Mechanic/ClassCards/Assault/shot1.wav" id="4_gdaci"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_604rb"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_604rb"]
|
||||||
|
resource_local_to_scene = true
|
||||||
atlas = ExtResource("3_kuj4t")
|
atlas = ExtResource("3_kuj4t")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://qeav4v23p0dd" path="res://PCs/Mechanic/ClassCards/BombLauncher/shot1.wav" id="6_rg62n"]
|
[ext_resource type="AudioStream" uid="uid://qeav4v23p0dd" path="res://PCs/Mechanic/ClassCards/BombLauncher/shot1.wav" id="6_rg62n"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4fobv"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_4fobv"]
|
||||||
|
resource_local_to_scene = true
|
||||||
atlas = ExtResource("5_iyrt8")
|
atlas = ExtResource("5_iyrt8")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
|
@ -22,4 +22,4 @@ value = 3.0
|
|||||||
script = ExtResource("2_wptab")
|
script = ExtResource("2_wptab")
|
||||||
target_type = 1
|
target_type = 1
|
||||||
attributes = Array[ExtResource("1_ikp33")]([SubResource("Resource_j28f4"), SubResource("Resource_likes"), SubResource("Resource_b65mk")])
|
attributes = Array[ExtResource("1_ikp33")]([SubResource("Resource_j28f4"), SubResource("Resource_likes"), SubResource("Resource_b65mk")])
|
||||||
text = "Hold to apply Burning to enemies in front of you"
|
text = "Applies burning to enemies in front of it"
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
[ext_resource type="Material" uid="uid://gyeamtekshor" path="res://PCs/Mechanic/ClassCards/Flamethrower/flame_particles.tres" id="6_idhp2"]
|
[ext_resource type="Material" uid="uid://gyeamtekshor" path="res://PCs/Mechanic/ClassCards/Flamethrower/flame_particles.tres" id="6_idhp2"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3hank"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_3hank"]
|
||||||
|
resource_local_to_scene = true
|
||||||
atlas = ExtResource("5_wdw3e")
|
atlas = ExtResource("5_wdw3e")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
|
BIN
PCs/Mechanic/ClassCards/Gatling/accelerator.png
Normal file
BIN
PCs/Mechanic/ClassCards/Gatling/accelerator.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
34
PCs/Mechanic/ClassCards/Gatling/accelerator.png.import
Normal file
34
PCs/Mechanic/ClassCards/Gatling/accelerator.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dkb8e0uu5vikw"
|
||||||
|
path="res://.godot/imported/accelerator.png-a0973046062ee4662a163fa426169703.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://PCs/Mechanic/ClassCards/Gatling/accelerator.png"
|
||||||
|
dest_files=["res://.godot/imported/accelerator.png-a0973046062ee4662a163fa426169703.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
|
@ -2,12 +2,13 @@
|
|||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://difwo7wlyqr3h" path="res://Scenes/Weapons/hitscan_weapon.tscn" id="1_fwlu5"]
|
[ext_resource type="PackedScene" uid="uid://difwo7wlyqr3h" path="res://Scenes/Weapons/hitscan_weapon.tscn" id="1_fwlu5"]
|
||||||
[ext_resource type="Resource" uid="uid://cj2x1jvo8l4ot" path="res://PCs/Mechanic/ClassCards/Gatling/weapon_stats.tres" id="2_fnyjd"]
|
[ext_resource type="Resource" uid="uid://cj2x1jvo8l4ot" path="res://PCs/Mechanic/ClassCards/Gatling/weapon_stats.tres" id="2_fnyjd"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bjh6e8t8br6rq" path="res://PCs/Mechanic/ClassCards/Gatling/gatling.png" id="2_rv8ps"]
|
|
||||||
[ext_resource type="Script" path="res://PCs/Mechanic/ClassCards/Gatling/weapon_gatling.gd" id="2_wm4al"]
|
[ext_resource type="Script" path="res://PCs/Mechanic/ClassCards/Gatling/weapon_gatling.gd" id="2_wm4al"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dkb8e0uu5vikw" path="res://PCs/Mechanic/ClassCards/Gatling/accelerator.png" id="4_gi42y"]
|
||||||
[ext_resource type="AudioStream" uid="uid://1j0rquv4awjs" path="res://PCs/Mechanic/ClassCards/Gatling/shot1.wav" id="5_gelfi"]
|
[ext_resource type="AudioStream" uid="uid://1j0rquv4awjs" path="res://PCs/Mechanic/ClassCards/Gatling/shot1.wav" id="5_gelfi"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0im1y"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_0im1y"]
|
||||||
atlas = ExtResource("2_rv8ps")
|
resource_local_to_scene = true
|
||||||
|
atlas = ExtResource("4_gi42y")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_778e1"]
|
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_778e1"]
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://v3j5lw827y85" path="res://PCs/Mechanic/ClassCards/GlueLauncher/shot1.wav" id="6_6qk7c"]
|
[ext_resource type="AudioStream" uid="uid://v3j5lw827y85" path="res://PCs/Mechanic/ClassCards/GlueLauncher/shot1.wav" id="6_6qk7c"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ehcsl"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ehcsl"]
|
||||||
|
resource_local_to_scene = true
|
||||||
atlas = ExtResource("5_obawu")
|
atlas = ExtResource("5_obawu")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
[ext_resource type="Material" uid="uid://bjab6t4n0s5ac" path="res://PCs/Mechanic/ClassCards/Reactor/radiation_particles.tres" id="6_0sgt1"]
|
[ext_resource type="Material" uid="uid://bjab6t4n0s5ac" path="res://PCs/Mechanic/ClassCards/Reactor/radiation_particles.tres" id="6_0sgt1"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0dpt5"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_0dpt5"]
|
||||||
|
resource_local_to_scene = true
|
||||||
atlas = ExtResource("5_bawfy")
|
atlas = ExtResource("5_bawfy")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://n0w2kj5j2x4e" path="res://PCs/Mechanic/ClassCards/RocketLauncher/shot1.wav" id="8_genbv"]
|
[ext_resource type="AudioStream" uid="uid://n0w2kj5j2x4e" path="res://PCs/Mechanic/ClassCards/RocketLauncher/shot1.wav" id="8_genbv"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_f4p4w"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_f4p4w"]
|
||||||
|
resource_local_to_scene = true
|
||||||
atlas = ExtResource("4_iygkf")
|
atlas = ExtResource("4_iygkf")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://bixe14jkki8be" path="res://PCs/Mechanic/ClassCards/Sniper/shot1.wav" id="6_pd8iu"]
|
[ext_resource type="AudioStream" uid="uid://bixe14jkki8be" path="res://PCs/Mechanic/ClassCards/Sniper/shot1.wav" id="6_pd8iu"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_cussn"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_cussn"]
|
||||||
|
resource_local_to_scene = true
|
||||||
atlas = ExtResource("4_ub37g")
|
atlas = ExtResource("4_ub37g")
|
||||||
region = Rect2(0, 0, 64, 64)
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
|
10
PCs/hero.gd
10
PCs/hero.gd
@ -57,19 +57,19 @@ func _ready() -> void:
|
|||||||
if is_multiplayer_authority():
|
if is_multiplayer_authority():
|
||||||
right_hand_animator.play("weapon_sway")
|
right_hand_animator.play("weapon_sway")
|
||||||
right_hand_animator.speed_scale = 0
|
right_hand_animator.speed_scale = 0
|
||||||
|
ears.make_current()
|
||||||
camera.make_current()
|
camera.make_current()
|
||||||
sprite.queue_free()
|
sprite.queue_free()
|
||||||
hand_sprite.texture = hero_class.hand_texture
|
hand_sprite.texture = hero_class.hand_texture
|
||||||
player_name_tag.queue_free()
|
player_name_tag.queue_free()
|
||||||
ears.make_current()
|
for card: Card in hero_class.deck:
|
||||||
|
inventory.add(card)
|
||||||
else:
|
else:
|
||||||
camera.set_visible(false)
|
camera.set_visible(false)
|
||||||
gun_camera.set_visible(false)
|
gun_camera.set_visible(false)
|
||||||
hud.set_visible(false)
|
hud.set_visible(false)
|
||||||
if weapon != null:
|
if weapon != null:
|
||||||
weapon.set_raycast_origin(camera)
|
weapon.set_raycast_origin(camera)
|
||||||
for card: Card in hero_class.deck:
|
|
||||||
inventory.add(card)
|
|
||||||
sprite.texture.atlas = hero_class.texture
|
sprite.texture.atlas = hero_class.texture
|
||||||
check_left_hand_valid()
|
check_left_hand_valid()
|
||||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||||
@ -109,7 +109,7 @@ func _process(delta: float) -> void:
|
|||||||
if interaction_raycast.get_collider() is InteractButton:
|
if interaction_raycast.get_collider() is InteractButton:
|
||||||
var button: InteractButton = interaction_raycast.get_collider() as InteractButton
|
var button: InteractButton = interaction_raycast.get_collider() as InteractButton
|
||||||
if currency >= button.press_cost:
|
if currency >= button.press_cost:
|
||||||
button.press()
|
button.press(self)
|
||||||
currency -= button.press_cost
|
currency -= button.press_cost
|
||||||
if interaction_raycast.get_collider() is ItemCard:
|
if interaction_raycast.get_collider() is ItemCard:
|
||||||
add_card(interaction_raycast.get_collider().pick_up())
|
add_card(interaction_raycast.get_collider().pick_up())
|
||||||
@ -172,7 +172,7 @@ func increment_selected() -> void:
|
|||||||
func decrement_selected() -> void:
|
func decrement_selected() -> void:
|
||||||
inventory_selected_index -= 1
|
inventory_selected_index -= 1
|
||||||
if inventory_selected_index < 0:
|
if inventory_selected_index < 0:
|
||||||
inventory_selected_index = inventory.contents.keys().size() - 1
|
inventory_selected_index = max(inventory.contents.keys().size() - 1, 0)
|
||||||
|
|
||||||
|
|
||||||
func _unhandled_input(event: InputEvent) -> void:
|
func _unhandled_input(event: InputEvent) -> void:
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://dqt1ggtkpkuhs" path="res://Scenes/gauntlet.tscn" id="5_jlxb3"]
|
[ext_resource type="PackedScene" uid="uid://dqt1ggtkpkuhs" path="res://Scenes/gauntlet.tscn" id="5_jlxb3"]
|
||||||
[ext_resource type="Script" path="res://Scripts/inventory.gd" id="6_cf5ap"]
|
[ext_resource type="Script" path="res://Scripts/inventory.gd" id="6_cf5ap"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cjqxkraykhxxk" path="res://PCs/Mechanic/red.png" id="6_yyp8i"]
|
[ext_resource type="Texture2D" uid="uid://cjqxkraykhxxk" path="res://PCs/Mechanic/red.png" id="6_yyp8i"]
|
||||||
[ext_resource type="Script" path="res://Scripts/HUD.gd" id="8_yl6ka"]
|
[ext_resource type="Script" path="res://Scripts/hud.gd" id="8_yl6ka"]
|
||||||
[ext_resource type="Texture2D" uid="uid://ctkixdue3o7ec" path="res://PCs/Mechanic/red_hand.png" id="9_gxh2h"]
|
[ext_resource type="Texture2D" uid="uid://ctkixdue3o7ec" path="res://PCs/Mechanic/red_hand.png" id="9_gxh2h"]
|
||||||
[ext_resource type="Script" path="res://Scripts/on_top_camera.gd" id="11_4sdwe"]
|
[ext_resource type="Script" path="res://Scripts/on_top_camera.gd" id="11_4sdwe"]
|
||||||
[ext_resource type="Script" path="res://Scripts/minimap_cam.gd" id="12_3hpi3"]
|
[ext_resource type="Script" path="res://Scripts/minimap_cam.gd" id="12_3hpi3"]
|
||||||
@ -127,7 +127,6 @@ gauntlet_card_2 = NodePath("FirstPersonViewport/Head2/LeftHand/SubViewport3/Node
|
|||||||
pause_menu_scene = ExtResource("3_avnsx")
|
pause_menu_scene = ExtResource("3_avnsx")
|
||||||
hud = NodePath("HUD")
|
hud = NodePath("HUD")
|
||||||
movement = NodePath("PlayerMovement")
|
movement = NodePath("PlayerMovement")
|
||||||
sprint_zoom_speed = null
|
|
||||||
player_name_tag = NodePath("NametagViewport/Label")
|
player_name_tag = NodePath("NametagViewport/Label")
|
||||||
weapon_swap_timer = NodePath("WeaponSwapTimer")
|
weapon_swap_timer = NodePath("WeaponSwapTimer")
|
||||||
ears = NodePath("AudioListener3D")
|
ears = NodePath("AudioListener3D")
|
||||||
|
@ -50,7 +50,6 @@ func _physics_process(delta: float) -> void:
|
|||||||
#TODO: maybe make the speed slower/faster on slopes?
|
#TODO: maybe make the speed slower/faster on slopes?
|
||||||
var player_speed: float = Vector2(player.velocity.x, player.velocity.z).length()
|
var player_speed: float = Vector2(player.velocity.x, player.velocity.z).length()
|
||||||
speed_factor = lerp(speed_factor, player_speed / head_bob_max_effect_speed, 20.0 * delta)
|
speed_factor = lerp(speed_factor, player_speed / head_bob_max_effect_speed, 20.0 * delta)
|
||||||
sample_point += delta * head_bob_frequency * speed_factor
|
|
||||||
else:
|
else:
|
||||||
speed_factor = lerp(speed_factor, 0.0, 20.0 * delta)
|
speed_factor = lerp(speed_factor, 0.0, 20.0 * delta)
|
||||||
|
|
||||||
@ -69,6 +68,7 @@ func _process(delta: float) -> void:
|
|||||||
#constant_trauma = min(1.0, constant_trauma + 0.1)
|
#constant_trauma = min(1.0, constant_trauma + 0.1)
|
||||||
#if Input.is_action_just_pressed("decrease_trauma"):
|
#if Input.is_action_just_pressed("decrease_trauma"):
|
||||||
#constant_trauma = max(0.0, constant_trauma - 0.1)
|
#constant_trauma = max(0.0, constant_trauma - 0.1)
|
||||||
|
sample_point += delta * head_bob_frequency * speed_factor
|
||||||
var camera_translation: Vector3 = Vector3.ZERO
|
var camera_translation: Vector3 = Vector3.ZERO
|
||||||
var camera_tilt: Vector3 = Vector3.ZERO
|
var camera_tilt: Vector3 = Vector3.ZERO
|
||||||
camera_translation = minecraft_translation(head_bob_amplitude * speed_factor)
|
camera_translation = minecraft_translation(head_bob_amplitude * speed_factor)
|
||||||
@ -133,10 +133,13 @@ func focus_target() -> Vector3:
|
|||||||
return focus_raycast.global_position + -focus_raycast.global_transform.basis.z * 30.0
|
return focus_raycast.global_position + -focus_raycast.global_transform.basis.z * 30.0
|
||||||
|
|
||||||
|
|
||||||
func tilt_camera(tilt: Vector3, speed: float) -> void:
|
#func tilt_camera(tilt: Vector3, speed: float) -> void:
|
||||||
camera.rotation.x = lerp(camera.rotation.x, tilt.x, speed)
|
##camera.rotation.x = lerp(camera.rotation.x, tilt.x, speed)
|
||||||
camera.rotation.y = lerp(camera.rotation.y, tilt.y, speed)
|
##camera.rotation.y = lerp(camera.rotation.y, tilt.y, speed)
|
||||||
camera.rotation.z = lerp(camera.rotation.z, tilt.z, speed)
|
##camera.rotation.z = lerp(camera.rotation.z, tilt.z, speed)
|
||||||
|
#camera.rotation.x = tilt.x
|
||||||
|
#camera.rotation.y = tilt.y
|
||||||
|
#camera.rotation.z = tilt.z
|
||||||
|
|
||||||
|
|
||||||
func get_strafe_tilt(player_velocity: Vector3) -> Vector3:
|
func get_strafe_tilt(player_velocity: Vector3) -> Vector3:
|
||||||
|
@ -7,6 +7,7 @@ class_name CardPrinter extends StaticBody3D
|
|||||||
@export var choice_colliders: Array[CollisionShape3D]
|
@export var choice_colliders: Array[CollisionShape3D]
|
||||||
|
|
||||||
var card_available: bool = false
|
var card_available: bool = false
|
||||||
|
var reply_player: Hero
|
||||||
|
|
||||||
|
|
||||||
func randomize_cards() -> void:
|
func randomize_cards() -> void:
|
||||||
@ -41,22 +42,25 @@ func randomize_cards() -> void:
|
|||||||
card_available = true
|
card_available = true
|
||||||
|
|
||||||
|
|
||||||
func retrieve_card(i: int) -> void:
|
func retrieve_card(i: int, reply: Hero) -> void:
|
||||||
$Node3D.set_visible(false)
|
$Node3D.set_visible(false)
|
||||||
for x: CollisionShape3D in choice_colliders:
|
for x: CollisionShape3D in choice_colliders:
|
||||||
x.disabled = true
|
x.disabled = true
|
||||||
if card_available:
|
if card_available:
|
||||||
var card: Card = cards[i].stats
|
var card: Card = cards[i].stats
|
||||||
var item: ItemCard = item_card_scene.instantiate() as ItemCard
|
reply_player.add_card(card)
|
||||||
item.card = card
|
#var item: ItemCard = item_card_scene.instantiate() as ItemCard
|
||||||
item.position = Vector3(1.683, 0, 0)
|
#item.card = card
|
||||||
add_child(item)
|
#item.position = Vector3(1.683, 0, 0)
|
||||||
|
#add_child(item)
|
||||||
button_collider.disabled = false
|
button_collider.disabled = false
|
||||||
button_box.position = Vector3(0,0,0)
|
button_box.position = Vector3(0,0,0)
|
||||||
$AudioStreamPlayer3D.play()
|
$AudioStreamPlayer3D.play()
|
||||||
|
reply_player = null
|
||||||
|
|
||||||
|
|
||||||
func _on_static_body_3d_button_interacted(_value: int) -> void:
|
func _on_static_body_3d_button_interacted(_value: int, reply: Hero) -> void:
|
||||||
|
reply_player = reply
|
||||||
button_collider.disabled = true
|
button_collider.disabled = true
|
||||||
button_box.position = Vector3(0,0,-0.2)
|
button_box.position = Vector3(0,0,-0.2)
|
||||||
$AudioStreamPlayer3D.play()
|
$AudioStreamPlayer3D.play()
|
@ -1,10 +1,10 @@
|
|||||||
[gd_scene load_steps=15 format=3 uid="uid://1b2ikdanl66b"]
|
[gd_scene load_steps=14 format=3 uid="uid://1b2ikdanl66b"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Scripts/card_printer.gd" id="1_7rhtj"]
|
[ext_resource type="Script" path="res://Scenes/CardPrinter/card_printer.gd" id="1_qft15"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dixtx38u4jhd7" path="res://Scenes/UI/card_hand.tscn" id="2_7ouw1"]
|
[ext_resource type="PackedScene" uid="uid://dsasunnk47n8o" path="res://Scenes/item_card.tscn" id="2_hegq8"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dsasunnk47n8o" path="res://Scenes/item_card.tscn" id="2_356ip"]
|
[ext_resource type="PackedScene" uid="uid://dixtx38u4jhd7" path="res://Scenes/UI/card_hand.tscn" id="3_wygtg"]
|
||||||
[ext_resource type="Script" path="res://Scripts/interact_button.gd" id="3_iia6u"]
|
[ext_resource type="Script" path="res://Scripts/interact_button.gd" id="4_eavi1"]
|
||||||
[ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://shot1.wav" id="5_pf7c7"]
|
[ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://shot1.wav" id="5_m033a"]
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_s02au"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_s02au"]
|
||||||
albedo_color = Color(0.203922, 0.592157, 0.592157, 1)
|
albedo_color = Color(0.203922, 0.592157, 0.592157, 1)
|
||||||
@ -12,9 +12,6 @@ albedo_color = Color(0.203922, 0.592157, 0.592157, 1)
|
|||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_0ebt5"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_0ebt5"]
|
||||||
size = Vector3(2.672, 1.75, 1)
|
size = Vector3(2.672, 1.75, 1)
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_und3g"]
|
|
||||||
size = Vector3(0.816972, 0.233429, 0.632978)
|
|
||||||
|
|
||||||
[sub_resource type="ViewportTexture" id="ViewportTexture_yf4je"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_yf4je"]
|
||||||
viewport_path = NodePath("SubViewport")
|
viewport_path = NodePath("SubViewport")
|
||||||
|
|
||||||
@ -33,13 +30,13 @@ size = Vector3(0.763889, 0.773027, 0.0570252)
|
|||||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_73g2w"]
|
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_73g2w"]
|
||||||
random_pitch = 1.1
|
random_pitch = 1.1
|
||||||
streams_count = 1
|
streams_count = 1
|
||||||
stream_0/stream = ExtResource("5_pf7c7")
|
stream_0/stream = ExtResource("5_m033a")
|
||||||
stream_0/weight = 1.0
|
stream_0/weight = 1.0
|
||||||
|
|
||||||
[node name="CardPrinter" type="StaticBody3D" node_paths=PackedStringArray("cards", "button_collider", "button_box", "choice_colliders")]
|
[node name="CardPrinter" type="StaticBody3D" node_paths=PackedStringArray("cards", "button_collider", "button_box", "choice_colliders")]
|
||||||
script = ExtResource("1_7rhtj")
|
script = ExtResource("1_qft15")
|
||||||
cards = [NodePath("SubViewport/Node2D"), NodePath("SubViewport2/Node2D"), NodePath("SubViewport3/Node2D")]
|
cards = [NodePath("SubViewport/Node2D"), NodePath("SubViewport2/Node2D"), NodePath("SubViewport3/Node2D")]
|
||||||
item_card_scene = ExtResource("2_356ip")
|
item_card_scene = ExtResource("2_hegq8")
|
||||||
button_collider = NodePath("StaticBody3D/CollisionShape3D2")
|
button_collider = NodePath("StaticBody3D/CollisionShape3D2")
|
||||||
button_box = NodePath("StaticBody3D/CollisionShape3D2/CSGBox3D")
|
button_box = NodePath("StaticBody3D/CollisionShape3D2/CSGBox3D")
|
||||||
choice_colliders = [NodePath("StaticBody3D2/CollisionShape3D2"), NodePath("StaticBody3D3/CollisionShape3D2"), NodePath("StaticBody3D4/CollisionShape3D2")]
|
choice_colliders = [NodePath("StaticBody3D2/CollisionShape3D2"), NodePath("StaticBody3D3/CollisionShape3D2"), NodePath("StaticBody3D4/CollisionShape3D2")]
|
||||||
@ -53,27 +50,23 @@ material = SubResource("StandardMaterial3D_s02au")
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.875, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.875, 0)
|
||||||
shape = SubResource("BoxShape3D_0ebt5")
|
shape = SubResource("BoxShape3D_0ebt5")
|
||||||
|
|
||||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.6825, 0.484672, 0)
|
|
||||||
shape = SubResource("BoxShape3D_und3g")
|
|
||||||
|
|
||||||
[node name="SubViewport" type="SubViewport" parent="."]
|
[node name="SubViewport" type="SubViewport" parent="."]
|
||||||
transparent_bg = true
|
transparent_bg = true
|
||||||
render_target_update_mode = 4
|
render_target_update_mode = 4
|
||||||
|
|
||||||
[node name="Node2D" parent="SubViewport" instance=ExtResource("2_7ouw1")]
|
[node name="Node2D" parent="SubViewport" instance=ExtResource("3_wygtg")]
|
||||||
|
|
||||||
[node name="SubViewport2" type="SubViewport" parent="."]
|
[node name="SubViewport2" type="SubViewport" parent="."]
|
||||||
transparent_bg = true
|
transparent_bg = true
|
||||||
render_target_update_mode = 4
|
render_target_update_mode = 4
|
||||||
|
|
||||||
[node name="Node2D" parent="SubViewport2" instance=ExtResource("2_7ouw1")]
|
[node name="Node2D" parent="SubViewport2" instance=ExtResource("3_wygtg")]
|
||||||
|
|
||||||
[node name="SubViewport3" type="SubViewport" parent="."]
|
[node name="SubViewport3" type="SubViewport" parent="."]
|
||||||
transparent_bg = true
|
transparent_bg = true
|
||||||
render_target_update_mode = 4
|
render_target_update_mode = 4
|
||||||
|
|
||||||
[node name="Node2D" parent="SubViewport3" instance=ExtResource("2_7ouw1")]
|
[node name="Node2D" parent="SubViewport3" instance=ExtResource("3_wygtg")]
|
||||||
|
|
||||||
[node name="Node3D" type="Node3D" parent="."]
|
[node name="Node3D" type="Node3D" parent="."]
|
||||||
visible = false
|
visible = false
|
||||||
@ -97,7 +90,7 @@ texture = SubResource("ViewportTexture_vyyy4")
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.444448, 0.610684)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.444448, 0.610684)
|
||||||
collision_layer = 16
|
collision_layer = 16
|
||||||
collision_mask = 0
|
collision_mask = 0
|
||||||
script = ExtResource("3_iia6u")
|
script = ExtResource("4_eavi1")
|
||||||
press_cost = 15
|
press_cost = 15
|
||||||
hover_text = "Spend 15 Coins to print card"
|
hover_text = "Spend 15 Coins to print card"
|
||||||
|
|
||||||
@ -111,7 +104,7 @@ size = Vector3(1.29447, 0.342125, 0.277604)
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.756734, 1.15772, 0.610684)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.756734, 1.15772, 0.610684)
|
||||||
collision_layer = 16
|
collision_layer = 16
|
||||||
collision_mask = 0
|
collision_mask = 0
|
||||||
script = ExtResource("3_iia6u")
|
script = ExtResource("4_eavi1")
|
||||||
hover_text = "Select card"
|
hover_text = "Select card"
|
||||||
|
|
||||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D2"]
|
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D2"]
|
||||||
@ -123,7 +116,7 @@ disabled = true
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0672475, 1.15772, 0.610684)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0672475, 1.15772, 0.610684)
|
||||||
collision_layer = 16
|
collision_layer = 16
|
||||||
collision_mask = 0
|
collision_mask = 0
|
||||||
script = ExtResource("3_iia6u")
|
script = ExtResource("4_eavi1")
|
||||||
button_press_value = 1
|
button_press_value = 1
|
||||||
hover_text = "Select card"
|
hover_text = "Select card"
|
||||||
|
|
||||||
@ -136,7 +129,7 @@ disabled = true
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.883877, 1.15772, 0.610684)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.883877, 1.15772, 0.610684)
|
||||||
collision_layer = 16
|
collision_layer = 16
|
||||||
collision_mask = 0
|
collision_mask = 0
|
||||||
script = ExtResource("3_iia6u")
|
script = ExtResource("4_eavi1")
|
||||||
button_press_value = 2
|
button_press_value = 2
|
||||||
hover_text = "Select card"
|
hover_text = "Select card"
|
||||||
|
|
||||||
@ -145,11 +138,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0466152, -0.0297148, -0.09
|
|||||||
shape = SubResource("BoxShape3D_gv3t5")
|
shape = SubResource("BoxShape3D_gv3t5")
|
||||||
disabled = true
|
disabled = true
|
||||||
|
|
||||||
[node name="CSGBox3D2" type="CSGBox3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.6825, 0.484672, 0)
|
|
||||||
size = Vector3(0.816972, 0.233429, 0.632978)
|
|
||||||
material = SubResource("StandardMaterial3D_s02au")
|
|
||||||
|
|
||||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.433459, 0.524183)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.433459, 0.524183)
|
||||||
stream = SubResource("AudioStreamRandomizer_73g2w")
|
stream = SubResource("AudioStreamRandomizer_73g2w")
|
@ -57,14 +57,15 @@ func randomize_cards() -> void:
|
|||||||
x.set_visible(true)
|
x.set_visible(true)
|
||||||
|
|
||||||
|
|
||||||
func retrieve_card(i: int) -> void:
|
func retrieve_card(i: int, callback: Hero) -> void:
|
||||||
#close()
|
#close()
|
||||||
choice_colliders[i].disabled = true
|
choice_colliders[i].disabled = true
|
||||||
choice_sprites[i].set_visible(false)
|
choice_sprites[i].set_visible(false)
|
||||||
var card: Card = cards[i].stats
|
var card: Card = cards[i].stats
|
||||||
var item: ItemCard = item_card_scene.instantiate() as ItemCard
|
callback.add_card(card)
|
||||||
item.card = card
|
#var item: ItemCard = item_card_scene.instantiate() as ItemCard
|
||||||
item.position = Vector3(2.128, 0, 0)
|
#item.card = card
|
||||||
add_child(item)
|
#item.position = Vector3(2.128, 0, 0)
|
||||||
|
#add_child(item)
|
||||||
#button_collider.disabled = false
|
#button_collider.disabled = false
|
||||||
#button_box.position = Vector3(0,0,0)
|
#button_box.position = Vector3(0,0,0)
|
@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=16 format=3 uid="uid://7g3jev3v6d3l"]
|
[gd_scene load_steps=16 format=3 uid="uid://7g3jev3v6d3l"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Scripts/shop_stand.gd" id="1_4in53"]
|
[ext_resource type="Script" path="res://Scenes/ShopStand/shop_stand.gd" id="1_4in53"]
|
||||||
[ext_resource type="Script" path="res://Scripts/interact_button.gd" id="1_x8sts"]
|
[ext_resource type="Script" path="res://Scripts/interact_button.gd" id="1_x8sts"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dsasunnk47n8o" path="res://Scenes/item_card.tscn" id="2_qh00w"]
|
[ext_resource type="PackedScene" uid="uid://dsasunnk47n8o" path="res://Scenes/item_card.tscn" id="2_qh00w"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dixtx38u4jhd7" path="res://Scenes/UI/card_hand.tscn" id="3_u7x2f"]
|
[ext_resource type="PackedScene" uid="uid://dixtx38u4jhd7" path="res://Scenes/UI/card_hand.tscn" id="3_u7x2f"]
|
@ -25,6 +25,8 @@ anchor_right = 1.0
|
|||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
|
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||||
|
theme_override_constants/outline_size = 5
|
||||||
theme_override_font_sizes/font_size = 60
|
theme_override_font_sizes/font_size = 60
|
||||||
text = "12345"
|
text = "12345"
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
|
@ -13,12 +13,12 @@ world_model = NodePath("CSGSphere3D")
|
|||||||
minimap_model = NodePath("Sprite3D")
|
minimap_model = NodePath("Sprite3D")
|
||||||
|
|
||||||
[node name="CSGSphere3D" type="CSGSphere3D" parent="."]
|
[node name="CSGSphere3D" type="CSGSphere3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.401382, 0)
|
||||||
radius = 0.05
|
radius = 0.05
|
||||||
material = SubResource("StandardMaterial3D_lutld")
|
material = SubResource("StandardMaterial3D_lutld")
|
||||||
|
|
||||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.242234, 0)
|
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.620933, 0)
|
||||||
layers = 4
|
layers = 4
|
||||||
texture_filter = 0
|
texture_filter = 0
|
||||||
texture = ExtResource("2_0gsds")
|
texture = ExtResource("2_0gsds")
|
||||||
|
@ -1,41 +0,0 @@
|
|||||||
@tool
|
|
||||||
class_name DebugMesh extends MeshInstance3D
|
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
|
||||||
var mat: StandardMaterial3D = StandardMaterial3D.new()
|
|
||||||
mesh = ImmediateMesh.new()
|
|
||||||
mat.no_depth_test = true
|
|
||||||
mat.shading_mode = BaseMaterial3D.SHADING_MODE_UNSHADED
|
|
||||||
mat.vertex_color_use_as_albedo = true
|
|
||||||
mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA
|
|
||||||
set_material_override(mat)
|
|
||||||
|
|
||||||
|
|
||||||
func clear() -> void:
|
|
||||||
mesh.clear_surfaces()
|
|
||||||
|
|
||||||
|
|
||||||
func draw_line(begin_pos: Vector3, end_pos: Vector3, color: Color = Color.RED) -> void:
|
|
||||||
mesh.surface_begin(Mesh.PRIMITIVE_LINES)
|
|
||||||
mesh.surface_set_color(color)
|
|
||||||
mesh.surface_add_vertex(begin_pos)
|
|
||||||
mesh.surface_add_vertex(end_pos)
|
|
||||||
mesh.surface_end()
|
|
||||||
|
|
||||||
|
|
||||||
func draw_sphere(center: Vector3, radius: float = 1.0, color: Color = Color.RED) -> void:
|
|
||||||
var step: int = 30
|
|
||||||
var sppi: float = 2 * PI / step
|
|
||||||
var axes: Array = [
|
|
||||||
[Vector3.UP, Vector3.RIGHT],
|
|
||||||
[Vector3.RIGHT, Vector3.FORWARD],
|
|
||||||
[Vector3.FORWARD, Vector3.UP]
|
|
||||||
]
|
|
||||||
for axis: Array in axes:
|
|
||||||
mesh.surface_begin(Mesh.PRIMITIVE_LINE_STRIP)
|
|
||||||
mesh.surface_set_color(color)
|
|
||||||
for i: int in range(step + 1):
|
|
||||||
mesh.surface_add_vertex(center + (axis[0] * radius)
|
|
||||||
.rotated(axis[1], sppi * (i % step)))
|
|
||||||
mesh.surface_end()
|
|
@ -3,6 +3,7 @@ extends Node
|
|||||||
signal wave_started(wave_number: int)
|
signal wave_started(wave_number: int)
|
||||||
signal wave_finished(wave_number: int)
|
signal wave_finished(wave_number: int)
|
||||||
signal base_took_damage(remaining_health: int)
|
signal base_took_damage(remaining_health: int)
|
||||||
|
signal rng_seeded()
|
||||||
signal game_started
|
signal game_started
|
||||||
signal game_restarted
|
signal game_restarted
|
||||||
signal lost_game
|
signal lost_game
|
||||||
@ -30,6 +31,7 @@ var wave_limit: int = 20
|
|||||||
var starting_cash: int = 16
|
var starting_cash: int = 16
|
||||||
var shop_chance: float = 0.0
|
var shop_chance: float = 0.0
|
||||||
var stats: RoundStats = RoundStats.new()
|
var stats: RoundStats = RoundStats.new()
|
||||||
|
var rng: FastNoiseLite
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
@ -38,6 +40,19 @@ func _ready() -> void:
|
|||||||
get_tree().root.add_child.call_deferred(UILayer)
|
get_tree().root.add_child.call_deferred(UILayer)
|
||||||
|
|
||||||
|
|
||||||
|
@rpc("reliable", "call_local")
|
||||||
|
func set_seed(value: int) -> void:
|
||||||
|
rng = FastNoiseLite.new()
|
||||||
|
rng.noise_type = FastNoiseLite.TYPE_VALUE
|
||||||
|
rng.frequency = 1
|
||||||
|
rng.seed = value
|
||||||
|
rng_seeded.emit()
|
||||||
|
|
||||||
|
|
||||||
|
func randi_in_range(sample: float, start: float, end: float) -> int:
|
||||||
|
return floori(remap(rng.get_noise_1d(sample), -1.0, 1.0, start, end + 1))
|
||||||
|
|
||||||
|
|
||||||
func parse_command(text: String, peer_id: int) -> void:
|
func parse_command(text: String, peer_id: int) -> void:
|
||||||
if text.substr(1, 4) == "give":
|
if text.substr(1, 4) == "give":
|
||||||
var gift_name: String = text.substr(6) as String
|
var gift_name: String = text.substr(6) as String
|
||||||
@ -65,7 +80,7 @@ func parse_command(text: String, peer_id: int) -> void:
|
|||||||
else:
|
else:
|
||||||
chatbox.append_message("SERVER", Color.TOMATO, "Unable to edit gamemode")
|
chatbox.append_message("SERVER", Color.TOMATO, "Unable to edit gamemode")
|
||||||
elif text.substr(1, 11) == "spawn_print":
|
elif text.substr(1, 11) == "spawn_print":
|
||||||
level.printer._on_static_body_3d_button_interacted(0)
|
level.printer._on_static_body_3d_button_interacted(0, connected_players_nodes[peer_id].inventory)
|
||||||
elif text.substr(1, 10) == "spawn_shop":
|
elif text.substr(1, 10) == "spawn_shop":
|
||||||
level.shop.randomize_cards()
|
level.shop.randomize_cards()
|
||||||
elif text.substr(1, 7) == "prosper":
|
elif text.substr(1, 7) == "prosper":
|
||||||
@ -76,6 +91,8 @@ func parse_command(text: String, peer_id: int) -> void:
|
|||||||
networked_set_wave.rpc(int(text.substr(10)))
|
networked_set_wave.rpc(int(text.substr(10)))
|
||||||
else:
|
else:
|
||||||
chatbox.append_message("SERVER", Color.TOMATO, "Unable to set wave")
|
chatbox.append_message("SERVER", Color.TOMATO, "Unable to set wave")
|
||||||
|
elif text.substr(1, 4) == "seed":
|
||||||
|
chatbox.append_message("SERVER", Color.TOMATO, str(rng.seed))
|
||||||
# if text.substr(1, 17) == "show tower ranges":
|
# if text.substr(1, 17) == "show tower ranges":
|
||||||
# pass
|
# pass
|
||||||
# if text.substr(1, 20) = "show gauntlet ranges":
|
# if text.substr(1, 20) = "show gauntlet ranges":
|
||||||
@ -229,6 +246,10 @@ func remove_player(peer_id: int) -> void:
|
|||||||
|
|
||||||
|
|
||||||
func start_game() -> void:
|
func start_game() -> void:
|
||||||
|
if is_multiplayer_authority():
|
||||||
|
set_seed.rpc(randi())
|
||||||
|
else:
|
||||||
|
await rng_seeded
|
||||||
game_active = true
|
game_active = true
|
||||||
enemies = 0
|
enemies = 0
|
||||||
objective_health = 120
|
objective_health = 120
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
class_name InteractButton extends StaticBody3D
|
class_name InteractButton extends StaticBody3D
|
||||||
|
|
||||||
signal button_interacted(value: int)
|
signal button_interacted(value: int, callback: Hero)
|
||||||
|
|
||||||
@export var button_press_value: int = 0
|
@export var button_press_value: int = 0
|
||||||
@export var press_cost: int = 0
|
@export var press_cost: int = 0
|
||||||
@export var hover_text: String = "Press [Interact]"
|
@export var hover_text: String = "Press [Interact]"
|
||||||
|
|
||||||
|
|
||||||
func press() -> void:
|
func press(callback_player: Hero) -> void:
|
||||||
button_interacted.emit(button_press_value)
|
button_interacted.emit(button_press_value, callback_player)
|
||||||
|
@ -49,7 +49,7 @@ func networked_add(value: int) -> void:
|
|||||||
|
|
||||||
@rpc("reliable", "any_peer")
|
@rpc("reliable", "any_peer")
|
||||||
func networked_remove_at(value: int) -> void:
|
func networked_remove_at(value: int) -> void:
|
||||||
var item: Item = contents.keys[value]
|
var item: Item = contents.keys()[value]
|
||||||
contents[item] -= 1
|
contents[item] -= 1
|
||||||
if contents[item] == 0:
|
if contents[item] == 0:
|
||||||
contents.erase(item)
|
contents.erase(item)
|
||||||
|
@ -13,26 +13,43 @@ class_name Level extends GridMap
|
|||||||
|
|
||||||
|
|
||||||
func generate_obstacles() -> void:
|
func generate_obstacles() -> void:
|
||||||
var obstacle_count: int = randi_range(0, 5)
|
#print(str(multiplayer.get_unique_id()) + " spawning obstacles with seed: " + str(Game.rng.seed))
|
||||||
|
var obstacle_count: int = Game.randi_in_range(1, 0, 5)
|
||||||
|
obstacle_count = 3
|
||||||
for index: int in obstacle_count:
|
for index: int in obstacle_count:
|
||||||
var x: int = randi_range(0, a_star_graph_3d.grid_size.x - 1)
|
var x: int = Game.randi_in_range(10 * index, 1 - a_star_graph_3d.grid_size.x, a_star_graph_3d.grid_size.x - 1)
|
||||||
var y: int = randi_range(0, a_star_graph_3d.grid_size.y - 1)
|
var y: int = Game.randi_in_range(32 * index, 1 - a_star_graph_3d.grid_size.y, a_star_graph_3d.grid_size.y - 1)
|
||||||
var point_id: int = int(x * a_star_graph_3d.grid_size.y + y)
|
var chosen_obstacle: int = Game.randi_in_range(4 * index, 0, obstacle_scenes.size() - 1)
|
||||||
var chosen_obstacle: int = randi_range(0, obstacle_scenes.size() - 1)
|
|
||||||
var obstacle: GridMap = obstacle_scenes[chosen_obstacle].instantiate() as GridMap
|
var obstacle: GridMap = obstacle_scenes[chosen_obstacle].instantiate() as GridMap
|
||||||
var orientations: Array[int] = [0, 90, 180, 270]
|
var orientations: Array[int] = [0, 90, 180, 270]
|
||||||
var chosen_orientation: int = orientations.pick_random()
|
var chosen_orientation: int = Game.randi_in_range(15 * index, 0, orientations.size() - 1)
|
||||||
obstacle.position = a_star_graph_3d.astar.get_point_position(point_id)
|
obstacle.position = Vector3(x, 0, y)
|
||||||
obstacle.set_rotation_degrees(Vector3(0, chosen_orientation, 0))
|
obstacle.set_rotation_degrees(Vector3(0, chosen_orientation, 0))
|
||||||
add_child(obstacle)
|
add_child(obstacle)
|
||||||
for cell: Vector3i in obstacle.get_used_cells():
|
for cell: Vector3i in obstacle.get_used_cells():
|
||||||
var cell_pos: Vector3 = obstacle.to_global(obstacle.map_to_local(cell))
|
var cell_coord: Vector3 = obstacle.to_global(obstacle.map_to_local(cell))
|
||||||
var map_coord: Vector3i = Vector3i(round(cell_pos.x), 0, round(cell_pos.z))
|
remove_world_tile(round(cell_coord.x), round(cell_coord.z))
|
||||||
#print("cell_pos: " + str(cell_pos) + "cell.z" + str(cell_pos.z) + ", map_coord: " + str(map_coord))
|
|
||||||
var closest_point: int = a_star_graph_3d.astar.get_closest_point(cell_pos, true)
|
|
||||||
var closest_point_pos: Vector3 = a_star_graph_3d.astar.get_point_position(closest_point)
|
|
||||||
if closest_point_pos.distance_to(Vector3(cell_pos.x, closest_point_pos.y, cell_pos.z)) <= 0.5:
|
|
||||||
a_star_graph_3d.astar.set_point_disabled(closest_point)
|
|
||||||
if get_cell_item(map_coord) == 1:
|
|
||||||
set_cell_item(map_coord, INVALID_CELL_ITEM)
|
|
||||||
obstacle.queue_free()
|
obstacle.queue_free()
|
||||||
|
|
||||||
|
|
||||||
|
func cell_coord_to_astar_point(x: int, y: int) -> int:
|
||||||
|
var center_point_x: int = floori(a_star_graph_3d.grid_size.x / 2.0) * a_star_graph_3d.grid_size.y
|
||||||
|
var center_point_y: int = a_star_graph_3d.grid_size.y / 2.0
|
||||||
|
return (center_point_x + ((x / 2.0) * a_star_graph_3d.grid_size.y)) + (center_point_y + (y / 2.0))
|
||||||
|
|
||||||
|
|
||||||
|
func remove_world_tile(x: int, y: int) -> void:
|
||||||
|
if get_cell_item(Vector3i(x, 0, y)) != 1 or abs(x) >= a_star_graph_3d.grid_size.x or abs(y) >= a_star_graph_3d.grid_size.y:
|
||||||
|
return
|
||||||
|
set_cell_item(Vector3i(x, 0, y), INVALID_CELL_ITEM)
|
||||||
|
var point: int = cell_coord_to_astar_point(x, y)
|
||||||
|
var north_point: int = cell_coord_to_astar_point(x - 1, y)
|
||||||
|
var south_point: int = cell_coord_to_astar_point(x + 1, y)
|
||||||
|
var east_point: int = cell_coord_to_astar_point(x, y + 1)
|
||||||
|
var west_point: int = cell_coord_to_astar_point(x, y - 1)
|
||||||
|
if x % 2 == 0 and y % 2 == 0: #If the tile is on a point on the pathfinding grid
|
||||||
|
a_star_graph_3d.astar.set_point_disabled(point)
|
||||||
|
if x % 2 == 1 and y % 2 == 0: #If the cell breaks a north-south link
|
||||||
|
a_star_graph_3d.astar.disconnect_points(north_point, south_point)
|
||||||
|
if x % 2 == 0 and y % 2 == 1: #If the cell breaks a east-west link
|
||||||
|
a_star_graph_3d.astar.disconnect_points(east_point, west_point)
|
||||||
|
@ -100,7 +100,8 @@ func start_game() -> void:
|
|||||||
loadout_editor.set_visible(false)
|
loadout_editor.set_visible(false)
|
||||||
|
|
||||||
|
|
||||||
func edit_player_profile(_argument: PlayerProfile) -> void:
|
#TODO: what the fuck is this doing lol
|
||||||
|
func edit_player_profile(_argument: int) -> void:
|
||||||
var profile_dict: Dictionary = Data.player_profile.to_dict()
|
var profile_dict: Dictionary = Data.player_profile.to_dict()
|
||||||
networked_edit_player_profile.rpc(multiplayer.get_unique_id(), profile_dict)
|
networked_edit_player_profile.rpc(multiplayer.get_unique_id(), profile_dict)
|
||||||
|
|
||||||
|
20
Scripts/sprite_bobber.gd
Normal file
20
Scripts/sprite_bobber.gd
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
class_name SpriteBobber extends Node
|
||||||
|
|
||||||
|
@export var character: EnemyController
|
||||||
|
@export var sprite: Node3D
|
||||||
|
@export var height: float = 0.1
|
||||||
|
|
||||||
|
var default_height: float = 0.0
|
||||||
|
var sample_point: float = 0.0
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
default_height = sprite.position.y
|
||||||
|
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
sample_point += delta * (character.stats.movement_speed * 2.0)
|
||||||
|
var y_offset: float = sin(sample_point * 2.0) / 2.0 + 0.5
|
||||||
|
var x_offset: float = cos(sample_point)
|
||||||
|
sprite.position.y = default_height + (y_offset * height)
|
||||||
|
sprite.position.x = x_offset * 0.05
|
@ -7,7 +7,7 @@
|
|||||||
[ext_resource type="Script" path="res://Scripts/hitbox.gd" id="5_433ie"]
|
[ext_resource type="Script" path="res://Scripts/hitbox.gd" id="5_433ie"]
|
||||||
[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Assets/Textures/bubble.png" id="6_ke2c8"]
|
[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Assets/Textures/bubble.png" id="6_ke2c8"]
|
||||||
[ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://Scenes/health_bar.tscn" id="9_4xla1"]
|
[ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://Scenes/health_bar.tscn" id="9_4xla1"]
|
||||||
[ext_resource type="Script" path="res://Scripts/StatusEffector.gd" id="9_7hati"]
|
[ext_resource type="Script" path="res://Scripts/status_effector.gd" id="9_7hati"]
|
||||||
[ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://Assets/Textures/minimap_enemy.png" id="9_7yfyh"]
|
[ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://Assets/Textures/minimap_enemy.png" id="9_7yfyh"]
|
||||||
[ext_resource type="Script" path="res://Scripts/EnemyAI/beelining_controller.gd" id="9_cx8mv"]
|
[ext_resource type="Script" path="res://Scripts/EnemyAI/beelining_controller.gd" id="9_cx8mv"]
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=15 format=3 uid="uid://b0nady5xm88bo"]
|
[gd_scene load_steps=16 format=3 uid="uid://b0nady5xm88bo"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Worlds/GreenPlanet/Enemies/enemy_controller.gd" id="1_fwsjt"]
|
[ext_resource type="Script" path="res://Worlds/GreenPlanet/Enemies/enemy_controller.gd" id="1_fwsjt"]
|
||||||
[ext_resource type="Script" path="res://Scripts/hitbox.gd" id="2_j8yin"]
|
[ext_resource type="Script" path="res://Scripts/hitbox.gd" id="2_j8yin"]
|
||||||
@ -10,7 +10,8 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://Assets/Textures/minimap_enemy.png" id="9_f8btv"]
|
[ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://Assets/Textures/minimap_enemy.png" id="9_f8btv"]
|
||||||
[ext_resource type="Script" path="res://Scripts/EnemyAI/pathing_controller.gd" id="10_gljle"]
|
[ext_resource type="Script" path="res://Scripts/EnemyAI/pathing_controller.gd" id="10_gljle"]
|
||||||
[ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://Scenes/health_bar.tscn" id="10_or8n6"]
|
[ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://Scenes/health_bar.tscn" id="10_or8n6"]
|
||||||
[ext_resource type="Script" path="res://Scripts/StatusEffector.gd" id="10_txouh"]
|
[ext_resource type="Script" path="res://Scripts/status_effector.gd" id="10_txouh"]
|
||||||
|
[ext_resource type="Script" path="res://Scripts/sprite_bobber.gd" id="12_2nmk0"]
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_21dgw"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_21dgw"]
|
||||||
|
|
||||||
@ -22,7 +23,7 @@ region = Rect2(0, 0, 32, 32)
|
|||||||
[sub_resource type="ViewportTexture" id="ViewportTexture_4tj6k"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_4tj6k"]
|
||||||
viewport_path = NodePath("SubViewport")
|
viewport_path = NodePath("SubViewport")
|
||||||
|
|
||||||
[node name="Dog" type="CharacterBody3D" node_paths=PackedStringArray("status_manager", "movement_controller", "health", "sprite") groups=["Enemies"]]
|
[node name="WalkingEnemy" type="CharacterBody3D" node_paths=PackedStringArray("status_manager", "movement_controller", "health", "sprite") groups=["Enemies"]]
|
||||||
collision_layer = 4
|
collision_layer = 4
|
||||||
collision_mask = 3
|
collision_mask = 3
|
||||||
script = ExtResource("1_fwsjt")
|
script = ExtResource("1_fwsjt")
|
||||||
@ -42,11 +43,11 @@ shape = SubResource("SphereShape3D_21dgw")
|
|||||||
script = ExtResource("2_j8yin")
|
script = ExtResource("2_j8yin")
|
||||||
|
|
||||||
[node name="DirectionSprite" parent="." instance=ExtResource("2_o7jmg")]
|
[node name="DirectionSprite" parent="." instance=ExtResource("2_o7jmg")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.642479, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.585, 0)
|
||||||
pixel_size = 0.04
|
pixel_size = 0.04
|
||||||
texture = SubResource("AtlasTexture_o3ikr")
|
texture = SubResource("AtlasTexture_o3ikr")
|
||||||
|
|
||||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
[node name="HealthBar" type="Sprite3D" parent="."]
|
||||||
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 1.20821, 0)
|
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 1.20821, 0)
|
||||||
sorting_offset = 1.0
|
sorting_offset = 1.0
|
||||||
pixel_size = 0.02
|
pixel_size = 0.02
|
||||||
@ -54,7 +55,7 @@ billboard = 1
|
|||||||
texture_filter = 0
|
texture_filter = 0
|
||||||
texture = SubResource("ViewportTexture_4tj6k")
|
texture = SubResource("ViewportTexture_4tj6k")
|
||||||
|
|
||||||
[node name="Sprite3D2" type="Sprite3D" parent="."]
|
[node name="MinimapIcon" type="Sprite3D" parent="."]
|
||||||
transform = Transform3D(2, 0, 0, 0, -8.74228e-08, 2, 0, -2, -8.74228e-08, 0, 1.40824, 0)
|
transform = Transform3D(2, 0, 0, 0, -8.74228e-08, 2, 0, -2, -8.74228e-08, 0, 1.40824, 0)
|
||||||
layers = 4
|
layers = 4
|
||||||
texture_filter = 0
|
texture_filter = 0
|
||||||
@ -87,6 +88,11 @@ offset_bottom = 236.0
|
|||||||
script = ExtResource("10_gljle")
|
script = ExtResource("10_gljle")
|
||||||
character = NodePath("..")
|
character = NodePath("..")
|
||||||
|
|
||||||
|
[node name="SpriteBobber" type="Node" parent="." node_paths=PackedStringArray("character", "sprite")]
|
||||||
|
script = ExtResource("12_2nmk0")
|
||||||
|
character = NodePath("..")
|
||||||
|
sprite = NodePath("../DirectionSprite")
|
||||||
|
|
||||||
[connection signal="health_changed" from="Health" to="SubViewport/HealthBar" method="on_health_changed"]
|
[connection signal="health_changed" from="Health" to="SubViewport/HealthBar" method="on_health_changed"]
|
||||||
[connection signal="health_depleted" from="Health" to="." method="die"]
|
[connection signal="health_depleted" from="Health" to="." method="die"]
|
||||||
[connection signal="took_damage" from="Hitbox" to="Health" method="take_damage"]
|
[connection signal="took_damage" from="Hitbox" to="Health" method="take_damage"]
|
||||||
|
@ -9,12 +9,12 @@
|
|||||||
[ext_resource type="Resource" uid="uid://dsgkwh3opyqtx" path="res://Worlds/GreenPlanet/Enemies/airenemy.tres" id="7_07st7"]
|
[ext_resource type="Resource" uid="uid://dsgkwh3opyqtx" path="res://Worlds/GreenPlanet/Enemies/airenemy.tres" id="7_07st7"]
|
||||||
[ext_resource type="Resource" uid="uid://bffhb5krs5elm" path="res://Worlds/GreenPlanet/Enemies/airenemy2.tres" id="8_sf1ao"]
|
[ext_resource type="Resource" uid="uid://bffhb5krs5elm" path="res://Worlds/GreenPlanet/Enemies/airenemy2.tres" id="8_sf1ao"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cjvgqek2phoq1" path="res://obstacle1.tscn" id="9_luxf3"]
|
[ext_resource type="PackedScene" uid="uid://cjvgqek2phoq1" path="res://obstacle1.tscn" id="9_luxf3"]
|
||||||
[ext_resource type="PackedScene" uid="uid://1b2ikdanl66b" path="res://Scenes/card_constructor.tscn" id="9_r25gu"]
|
[ext_resource type="PackedScene" uid="uid://1b2ikdanl66b" path="res://Scenes/CardPrinter/card_printer.tscn" id="9_r25gu"]
|
||||||
[ext_resource type="Script" path="res://Scripts/enemy_goal.gd" id="9_s3rd7"]
|
[ext_resource type="Script" path="res://Scripts/enemy_goal.gd" id="9_s3rd7"]
|
||||||
[ext_resource type="Script" path="res://Scripts/CinemaCam.gd" id="9_xuyhn"]
|
[ext_resource type="Script" path="res://Scripts/cinema_cam.gd" id="9_xuyhn"]
|
||||||
[ext_resource type="PackedScene" uid="uid://iohlxrso4bl8" path="res://Worlds/GreenPlanet/Decorations/tree.tscn" id="10_7v1co"]
|
[ext_resource type="PackedScene" uid="uid://iohlxrso4bl8" path="res://Worlds/GreenPlanet/Decorations/tree.tscn" id="10_7v1co"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dk0k7ndwhaenh" path="res://obstacle2.tscn" id="10_dsyfh"]
|
[ext_resource type="PackedScene" uid="uid://dk0k7ndwhaenh" path="res://obstacle2.tscn" id="10_dsyfh"]
|
||||||
[ext_resource type="Script" path="res://Scripts/AStarGraph3D.gd" id="11_07ukk"]
|
[ext_resource type="Script" path="res://Scripts/a_star_graph_3d.gd" id="11_07ukk"]
|
||||||
[ext_resource type="Script" path="res://Scripts/visualized_path.gd" id="11_d7ofl"]
|
[ext_resource type="Script" path="res://Scripts/visualized_path.gd" id="11_d7ofl"]
|
||||||
[ext_resource type="PackedScene" uid="uid://ds4sa5xyfgyo0" path="res://obstacle3.tscn" id="11_dfexu"]
|
[ext_resource type="PackedScene" uid="uid://ds4sa5xyfgyo0" path="res://obstacle3.tscn" id="11_dfexu"]
|
||||||
[ext_resource type="AudioStream" uid="uid://chrf1dcq2ujw0" path="res://PCs/Mechanic/ClassCards/Assault/shot1.wav" id="11_l537x"]
|
[ext_resource type="AudioStream" uid="uid://chrf1dcq2ujw0" path="res://PCs/Mechanic/ClassCards/Assault/shot1.wav" id="11_l537x"]
|
||||||
@ -23,7 +23,7 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://4gff4l03ibpm" path="res://Assets/Textures/scaffold.png" id="15_61y1c"]
|
[ext_resource type="Texture2D" uid="uid://4gff4l03ibpm" path="res://Assets/Textures/scaffold.png" id="15_61y1c"]
|
||||||
[ext_resource type="PackedScene" uid="uid://d3h3lmlf3hljl" path="res://Worlds/GreenPlanet/Decorations/bush.tscn" id="16_lhsvw"]
|
[ext_resource type="PackedScene" uid="uid://d3h3lmlf3hljl" path="res://Worlds/GreenPlanet/Decorations/bush.tscn" id="16_lhsvw"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cnvndwp3q7rke" path="res://Assets/Textures/dirt.png" id="17_oq0rj"]
|
[ext_resource type="Texture2D" uid="uid://cnvndwp3q7rke" path="res://Assets/Textures/dirt.png" id="17_oq0rj"]
|
||||||
[ext_resource type="PackedScene" uid="uid://7g3jev3v6d3l" path="res://Scenes/shop_stand.tscn" id="19_h6brl"]
|
[ext_resource type="PackedScene" uid="uid://7g3jev3v6d3l" path="res://Scenes/ShopStand/shop_stand.tscn" id="19_h6brl"]
|
||||||
[ext_resource type="Texture2D" uid="uid://r202vo47jw1q" path="res://Assets/Textures/enemyhealth.png" id="21_flsqn"]
|
[ext_resource type="Texture2D" uid="uid://r202vo47jw1q" path="res://Assets/Textures/enemyhealth.png" id="21_flsqn"]
|
||||||
[ext_resource type="Script" path="res://Scripts/killbox.gd" id="26_tuncf"]
|
[ext_resource type="Script" path="res://Scripts/killbox.gd" id="26_tuncf"]
|
||||||
|
|
||||||
|
File diff suppressed because one or more lines are too long
@ -8,7 +8,7 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://ri8r03wqy80t" path="res://Scenes/8_direction_sprite.tscn" id="5_t0dpu"]
|
[ext_resource type="PackedScene" uid="uid://ri8r03wqy80t" path="res://Scenes/8_direction_sprite.tscn" id="5_t0dpu"]
|
||||||
[ext_resource type="Texture2D" uid="uid://brjk5pu0up85s" path="res://Assets/TextureAtlases/dummy.tres" id="6_agkvc"]
|
[ext_resource type="Texture2D" uid="uid://brjk5pu0up85s" path="res://Assets/TextureAtlases/dummy.tres" id="6_agkvc"]
|
||||||
[ext_resource type="Texture2D" uid="uid://r202vo47jw1q" path="res://Assets/Textures/enemyhealth.png" id="8_m8sgd"]
|
[ext_resource type="Texture2D" uid="uid://r202vo47jw1q" path="res://Assets/Textures/enemyhealth.png" id="8_m8sgd"]
|
||||||
[ext_resource type="Script" path="res://Scripts/StatusEffector.gd" id="8_melp1"]
|
[ext_resource type="Script" path="res://Scripts/status_effector.gd" id="8_melp1"]
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_21dgw"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_21dgw"]
|
||||||
radius = 0.7173
|
radius = 0.7173
|
||||||
|
Loading…
x
Reference in New Issue
Block a user