fixed some bugs
This commit is contained in:
@@ -23,12 +23,3 @@ sprite = SubResource("AtlasTexture_n6kdu")
|
||||
health = 180
|
||||
movement_speed = 1.5
|
||||
spawn_cooldown = 1.2
|
||||
common_group = 6
|
||||
uncommon_group = 10
|
||||
uncommon_cost = 2
|
||||
rare_group = 16
|
||||
rare_cost = 3
|
||||
epic_group = 22
|
||||
epic_cost = 5
|
||||
legendary_group = 28
|
||||
legendary_cost = 6
|
||||
|
||||
@@ -11,10 +11,13 @@
|
||||
[ext_resource type="Resource" uid="uid://c0ln1sfxmvhaf" path="res://Level1/wave4.tres" id="9_5mf8a"]
|
||||
[ext_resource type="Resource" uid="uid://b8e1xvwr2f4pf" path="res://Level1/wave5.tres" id="10_skwnu"]
|
||||
[ext_resource type="Resource" uid="uid://bsmpkojn7bmqq" path="res://Level1/wave6.tres" id="11_rusuq"]
|
||||
[ext_resource type="PackedScene" uid="uid://y1qa1g3ic8sp" path="res://Worlds/GreenPlanet/Levels/Bridge/bridge.tscn" id="12_ksxj8"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_52rgn")
|
||||
hero_class = ExtResource("3_ksxj8")
|
||||
allowed_cards = Array[ExtResource("1_yuhm2")]([ExtResource("2_vvycy")])
|
||||
waves = Array[ExtResource("3_5cjqa")]([ExtResource("6_xm2iu"), ExtResource("7_ginir"), ExtResource("8_heo8u"), ExtResource("9_5mf8a"), ExtResource("10_skwnu"), ExtResource("11_rusuq")])
|
||||
zone_scene = ExtResource("12_ksxj8")
|
||||
data_path = "res://Worlds/GreenPlanet/Levels/Bridge/level1.json"
|
||||
metadata/_custom_type_script = "uid://dalgif6huggwg"
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
[ext_resource type="Resource" uid="uid://11e6ak5jg2pn" path="res://Level2/wave6.tres" id="12_p0fmg"]
|
||||
[ext_resource type="Resource" uid="uid://cvtuui3grpslm" path="res://Level2/wave7.tres" id="13_alfsy"]
|
||||
[ext_resource type="Resource" uid="uid://7t61us4e01bb" path="res://Level2/wave8.tres" id="14_jyonc"]
|
||||
[ext_resource type="PackedScene" uid="uid://y1qa1g3ic8sp" path="res://Worlds/GreenPlanet/Levels/Bridge/bridge.tscn" id="15_xdjpy"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_y3kr2")
|
||||
@@ -21,4 +22,6 @@ hero_class = ExtResource("4_ldc6i")
|
||||
allowed_cards = Array[ExtResource("1_rchhl")]([ExtResource("2_geygk"), ExtResource("3_xdjpy")])
|
||||
waves = Array[ExtResource("3_05rhi")]([ExtResource("7_siv73"), ExtResource("8_kee6w"), ExtResource("9_k6fmx"), ExtResource("10_dd7gv"), ExtResource("11_nmbqu"), ExtResource("12_p0fmg"), ExtResource("13_alfsy"), ExtResource("14_jyonc")])
|
||||
points_blocked = Array[int]([40, 41, 42])
|
||||
zone_scene = ExtResource("15_xdjpy")
|
||||
data_path = "res://Worlds/GreenPlanet/Levels/Bridge/level1.json"
|
||||
metadata/_custom_type_script = "uid://dalgif6huggwg"
|
||||
|
||||
20
Level3/specs.tres
Normal file
20
Level3/specs.tres
Normal file
@@ -0,0 +1,20 @@
|
||||
[gd_resource type="Resource" script_class="LevelSpecs" format=3 uid="uid://dgrcneuv4fut"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d40isem6w5d8" path="res://Scripts/Resources/card.gd" id="1_ldkvi"]
|
||||
[ext_resource type="Resource" uid="uid://deer0awg4d18o" path="res://Cards/assault.tres" id="2_0atj5"]
|
||||
[ext_resource type="Resource" uid="uid://cucdevshmdohf" path="res://Cards/overclock.tres" id="3_wfxcl"]
|
||||
[ext_resource type="Resource" uid="uid://b5pc3frhx467q" path="res://Classes/Engineer/class.tres" id="4_5rrxx"]
|
||||
[ext_resource type="Script" uid="uid://dalgif6huggwg" path="res://Scripts/Resources/level_specs.gd" id="5_kje1i"]
|
||||
[ext_resource type="Script" uid="uid://bp6q371iypd06" path="res://Scripts/wave_config.gd" id="6_gmv8c"]
|
||||
[ext_resource type="Resource" uid="uid://cwy6wxuujgqbq" path="res://Level3/wave1.tres" id="7_43tyk"]
|
||||
[ext_resource type="Resource" uid="uid://c0jg2k4igwt7y" path="res://Level3/wave2.tres" id="8_mblpn"]
|
||||
[ext_resource type="PackedScene" uid="uid://csq7if8wojp4g" path="res://Worlds/GreenPlanet/Levels/Cave/cave.tscn" id="9_dlvj1"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("5_kje1i")
|
||||
hero_class = ExtResource("4_5rrxx")
|
||||
allowed_cards = Array[ExtResource("1_ldkvi")]([ExtResource("2_0atj5"), ExtResource("3_wfxcl")])
|
||||
waves = Array[ExtResource("6_gmv8c")]([ExtResource("7_43tyk"), ExtResource("8_mblpn")])
|
||||
zone_scene = ExtResource("9_dlvj1")
|
||||
data_path = "res://Worlds/GreenPlanet/Levels/Cave/level3.json"
|
||||
metadata/_custom_type_script = "uid://dalgif6huggwg"
|
||||
14
Level3/wave1.tres
Normal file
14
Level3/wave1.tres
Normal file
@@ -0,0 +1,14 @@
|
||||
[gd_resource type="Resource" script_class="WaveConfig" format=3 uid="uid://cwy6wxuujgqbq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="1_b6olw"]
|
||||
[ext_resource type="Resource" uid="uid://8eba45hql7bo" path="res://Enemies/EyeDog/eye_dog.tres" id="2_b51i4"]
|
||||
[ext_resource type="Script" uid="uid://bp6q371iypd06" path="res://Scripts/wave_config.gd" id="3_frc10"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_frc10")
|
||||
enemies = Dictionary[ExtResource("1_b6olw"), int]({
|
||||
ExtResource("2_b51i4"): 5
|
||||
})
|
||||
rewards_blank_cassette = true
|
||||
bonus_cash = 3
|
||||
metadata/_custom_type_script = "uid://bp6q371iypd06"
|
||||
17
Level3/wave2.tres
Normal file
17
Level3/wave2.tres
Normal file
@@ -0,0 +1,17 @@
|
||||
[gd_resource type="Resource" script_class="WaveConfig" format=3 uid="uid://c0jg2k4igwt7y"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="1_8x0w6"]
|
||||
[ext_resource type="Resource" uid="uid://dxi17xvdlhkvc" path="res://Enemies/ElderEyeDog/elder_eye_dog.tres" id="2_0iv0c"]
|
||||
[ext_resource type="Script" uid="uid://bp6q371iypd06" path="res://Scripts/wave_config.gd" id="3_pap4a"]
|
||||
[ext_resource type="Resource" uid="uid://8eba45hql7bo" path="res://Enemies/EyeDog/eye_dog.tres" id="3_t4518"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_pap4a")
|
||||
enemies = Dictionary[ExtResource("1_8x0w6"), int]({
|
||||
ExtResource("2_0iv0c"): 3,
|
||||
ExtResource("3_t4518"): 10
|
||||
})
|
||||
new_shop = true
|
||||
rewards_blank_cassette = true
|
||||
bonus_cash = 19
|
||||
metadata/_custom_type_script = "uid://bp6q371iypd06"
|
||||
@@ -74,7 +74,7 @@ func randomize_cards(faction: Card.Faction) -> void:
|
||||
|
||||
func find_cards(faction: Card.Faction, rarity: Data.Rarity, allowed_cards: Array[Card]) -> void:
|
||||
var decided_rarity: int = rarity
|
||||
if !decided_rarity:
|
||||
if rarity == null:
|
||||
decided_rarity = generate_rarity()
|
||||
var card_choices: Array[Card] = allowed_cards
|
||||
if !card_choices:
|
||||
@@ -127,4 +127,10 @@ func _on_static_body_3d_button_interacted(_value: int, reply: Hero) -> void:
|
||||
return
|
||||
button_collider.disabled = true
|
||||
$StaticBody3D/AudioStreamPlayer3D.play()
|
||||
find_cards(reply.hero_class.faction, reply.game_manager.level_specs.waves[reply.game_manager.wave].station, reply.game_manager.level_specs.allowed_cards)
|
||||
#print("button pressed")
|
||||
#print(reply.game_manager.level_specs.waves)
|
||||
#print(reply.game_manager.level_specs.waves[0].station)
|
||||
#print(reply.game_manager.level_specs.waves[1].station)
|
||||
#for spec: WaveConfig in reply.game_manager.level_specs.waves:
|
||||
# print(Data.Rarity.keys()[spec.station])
|
||||
find_cards(reply.hero_class.faction, reply.game_manager.level_specs.waves[reply.game_manager.wave - 1].station, reply.game_manager.level_specs.allowed_cards)
|
||||
|
||||
@@ -4,3 +4,5 @@ class_name LevelSpecs extends Resource
|
||||
@export var allowed_cards: Array[Card]
|
||||
@export var waves: Array[WaveConfig]
|
||||
@export var points_blocked: Array[int]
|
||||
@export var zone_scene: PackedScene
|
||||
@export var data_path: String
|
||||
|
||||
@@ -14,8 +14,6 @@ signal switch_to_multi_player
|
||||
signal switch_to_main_menu
|
||||
|
||||
var root_scene: Node
|
||||
var level_scene: PackedScene = load("res://Worlds/GreenPlanet/Levels/Bridge/bridge.tscn")
|
||||
var level_2_scene: PackedScene = load("res://Worlds/GreenPlanet/Levels/Cave/cave.tscn")
|
||||
var player_scene: PackedScene = load("res://PCs/hero.tscn")
|
||||
var game_end_scene: PackedScene = load("res://UI/Menus/GameEndScreen/game_end_screen.tscn")
|
||||
var connected_players_nodes: Dictionary = {}
|
||||
@@ -91,13 +89,12 @@ func networked_set_wave(wave_number: int) -> void:
|
||||
set_upcoming_wave()
|
||||
|
||||
|
||||
func spawn_level() -> void:
|
||||
level = level_2_scene.instantiate() as Level
|
||||
func spawn_level(scene: PackedScene, path: String) -> void:
|
||||
level = scene.instantiate() as Level
|
||||
var flow_field: FlowField = FlowField.new()
|
||||
level.flow_field = flow_field
|
||||
level.add_child(flow_field)
|
||||
flow_field.load_from_data(FlowFieldTool.load_flow_field_from_disc("user://pathing_graphs/level3.json"))
|
||||
flow_field.calculate()
|
||||
flow_field.load_from_data(FlowFieldTool.load_flow_field_from_disc(path))
|
||||
level.load_flow_field()
|
||||
level.game_manager = self
|
||||
for x: EnemySpawner in level.enemy_spawns:
|
||||
@@ -252,7 +249,7 @@ func enemy_died(enemy: Enemy) -> void:
|
||||
return
|
||||
if enemies == 0:
|
||||
end_wave()
|
||||
if !gamemode.endless and wave >= wave_limit:
|
||||
if !gamemode.endless and wave > wave_limit:
|
||||
end(true)
|
||||
|
||||
|
||||
@@ -267,7 +264,7 @@ func damage_goal(enemy: Enemy, penalty: int) -> void:
|
||||
end(false)
|
||||
elif enemies == 0:
|
||||
end_wave()
|
||||
if !gamemode.endless and wave >= wave_limit:
|
||||
if !gamemode.endless and wave > wave_limit:
|
||||
end(true)
|
||||
|
||||
|
||||
@@ -277,9 +274,9 @@ func end_wave() -> void:
|
||||
var player: Hero = connected_players_nodes[peer_id] as Hero
|
||||
player.hud.set_wave_count(wave)
|
||||
player.currency += ceili(pot / connected_players_nodes.size())
|
||||
player.currency += level_specs.waves[wave - 1].bonus_cash
|
||||
player.currency += level_specs.waves[wave - 2].bonus_cash
|
||||
player.energy = Data.player_energy
|
||||
player.blank_cassettes += 1 if level_specs.waves[wave - 1].rewards_blank_cassette else 0
|
||||
player.blank_cassettes += 1 if level_specs.waves[wave - 2].rewards_blank_cassette else 0
|
||||
#if wave % 2 == 0:
|
||||
# player.blank_cassettes += 1
|
||||
if card_gameplay:
|
||||
@@ -293,7 +290,7 @@ func end_wave() -> void:
|
||||
#tower_base.enable_duration_sprites()
|
||||
tower_base.iterate_duration()
|
||||
if is_multiplayer_authority():
|
||||
if level_specs.waves[wave - 1].new_shop:
|
||||
if level_specs.waves[wave - 2].new_shop:
|
||||
networked_spawn_shop.rpc()
|
||||
#if NoiseRandom.randf_in_range(23 * wave, 0.0, 1.0) <= shop_chance:
|
||||
#networked_spawn_shop.rpc()
|
||||
@@ -325,7 +322,7 @@ func setup() -> void:
|
||||
connected_players_nodes.clear()
|
||||
|
||||
#Spawn new stuff
|
||||
spawn_level()
|
||||
spawn_level(level_specs.zone_scene, level_specs.data_path)
|
||||
|
||||
#Set starting parameters
|
||||
game_active = false
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
[ext_resource type="Script" uid="uid://dalgif6huggwg" path="res://Scripts/Resources/level_specs.gd" id="9_nt3t4"]
|
||||
[ext_resource type="Resource" uid="uid://b67b70x1uf2el" path="res://Level1/specs.tres" id="10_kjkav"]
|
||||
[ext_resource type="Resource" uid="uid://dffoufw4bnfn7" path="res://Level2/specs.tres" id="11_kjkav"]
|
||||
[ext_resource type="Resource" uid="uid://dgrcneuv4fut" path="res://Level3/specs.tres" id="12_eonxx"]
|
||||
[ext_resource type="Texture2D" uid="uid://cr1ucbuw3iotp" path="res://Assets/Textures/first_win_achievements.png" id="15_74epv"]
|
||||
[ext_resource type="Script" uid="uid://cjr0pbqisd51v" path="res://UI/Menus/MainMenu/achievements_menu.gd" id="15_sv1gy"]
|
||||
[ext_resource type="Texture2D" uid="uid://cpa1hl36xfplg" path="res://Assets/Textures/first_scroll_seen.png" id="16_sv1gy"]
|
||||
@@ -442,7 +443,7 @@ offset_bottom = 6.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("8_qshe4")
|
||||
levels = Array[ExtResource("9_nt3t4")]([ExtResource("10_kjkav"), ExtResource("11_kjkav")])
|
||||
levels = Array[ExtResource("9_nt3t4")]([ExtResource("10_kjkav"), ExtResource("11_kjkav"), ExtResource("12_eonxx")])
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer" unique_id=507718308]
|
||||
layout_mode = 2
|
||||
|
||||
1
Worlds/GreenPlanet/Levels/Bridge/level1.json
Normal file
1
Worlds/GreenPlanet/Levels/Bridge/level1.json
Normal file
File diff suppressed because one or more lines are too long
@@ -3,8 +3,10 @@
|
||||
[ext_resource type="Script" uid="uid://cvejbo3srx8py" path="res://Scripts/level.gd" id="1_li03l"]
|
||||
[ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="2_1sih4"]
|
||||
[ext_resource type="Resource" uid="uid://8eba45hql7bo" path="res://Enemies/EyeDog/eye_dog.tres" id="3_y5pxn"]
|
||||
[ext_resource type="Resource" uid="uid://dxi17xvdlhkvc" path="res://Enemies/ElderEyeDog/elder_eye_dog.tres" id="4_gow2y"]
|
||||
[ext_resource type="PackedScene" uid="uid://bhroqr4s1qso5" path="res://Worlds/GreenPlanet/Levels/Cave/cave_level.glb" id="4_x53u6"]
|
||||
[ext_resource type="Script" uid="uid://dkuxg6ek5us4f" path="res://Scripts/enemy_spawner.gd" id="5_e8b6i"]
|
||||
[ext_resource type="Resource" uid="uid://cvehqh4tt28g7" path="res://Enemies/BabyEyeDog/baby_eye_dog.tres" id="5_y23i6"]
|
||||
[ext_resource type="Script" uid="uid://cxwtuxytavfu5" path="res://Scripts/enemy_goal.gd" id="6_n26ay"]
|
||||
[ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://Audio/shot1.wav" id="7_e8b6i"]
|
||||
[ext_resource type="PackedScene" uid="uid://1b2ikdanl66b" path="res://Scenes/CardPrinter/card_printer.tscn" id="7_y5pxn"]
|
||||
@@ -205,7 +207,7 @@ fog_depth_end = 200.0
|
||||
|
||||
[node name="Node3D" type="Node3D" unique_id=1915460305 node_paths=PackedStringArray("tower_path", "player_spawns", "enemy_spawns", "enemy_goals", "corpses", "cinematic_cam", "printer", "shop")]
|
||||
script = ExtResource("1_li03l")
|
||||
enemy_pool = Array[ExtResource("2_1sih4")]([ExtResource("3_y5pxn")])
|
||||
enemy_pool = Array[ExtResource("2_1sih4")]([ExtResource("3_y5pxn"), ExtResource("4_gow2y"), ExtResource("5_y23i6")])
|
||||
tower_path = NodePath("Parents/Towers")
|
||||
player_spawns = [NodePath("PlayerSpawn")]
|
||||
enemy_spawns = [NodePath("EnemySpawner"), NodePath("EnemySpawner2"), NodePath("EnemySpawner3")]
|
||||
|
||||
1
Worlds/GreenPlanet/Levels/Cave/level3.json
Normal file
1
Worlds/GreenPlanet/Levels/Cave/level3.json
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user