removed jolt physics addon as it is now default, started playing with seed generation of playlists

This commit is contained in:
derek
2025-03-27 15:57:30 -05:00
parent 5cd0793efb
commit 91f58c4dfc
55 changed files with 122 additions and 668 deletions

View File

@@ -3,7 +3,6 @@ class_name level
@export var map_name : String = "Map Name"
@export var gamemode : gamemode = preload("res://GameModes/standard.tres")
@export var player : Node
@export var MAX_PARTICLES = 100
@export var time_based_sun : DirectionalLight3D
@@ -14,6 +13,7 @@ const DEAD_ANNOUNCE = preload("res://assets/dead_announce.tscn")
const CHEST_1 = preload("res://chest1.tscn")
var level_name
var player
var paused = false
var chest_spawners = []
var pickups = []
@@ -106,28 +106,6 @@ func refresh_scene():
respawn_position = player.camera.global_position
respawn_cam_rotation = player.global_transform.basis
if player:
#Set up starting guns and ammo
if gamemode.gun_1 != null:
GameGlobals.held_guns = [gamemode.gun_1]
var instance_gun = GameGlobals.held_guns[0].instantiate()
player.add_ammo(true,instance_gun.gun_name,instance_gun.ammo_type,instance_gun.max_ammo,instance_gun.start_mags)
if gamemode.gun_2 != null:
GameGlobals.held_guns.append(gamemode.gun_2)
var instance_gun_2 = GameGlobals.held_guns[1].instantiate()
player.add_ammo(true,instance_gun_2.gun_name,instance_gun_2.ammo_type,instance_gun_2.max_ammo,instance_gun_2.start_mags)
# Spawn first gun
if gamemode.gun_1 != null:
GameGlobals.current_gun_index = 0
gun_spawn(0)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
pass
func gun_spawn(index):

View File

@@ -22,7 +22,7 @@ var current_leaderboard_name = all_user_leaderboards[user_id][last_leaderboard_i
var current_match
var current_match_id = 0
var current_round_id = 0
var playlist_test
var playlist
#Player Stats

View File

@@ -33,10 +33,10 @@ func _on_continue_pressed() -> void:
if GameGlobals.current_level == null:
level = "res://scenes/blockout_4.tscn"
level = "res://assets/LevelBlockouts/hub_1.tscn"
load_to_gamemode = "res://GameModes/hubworld.tres"
else:
level = GameGlobals.current_level
level = "res://assets/LevelBlockouts/hub_1.tscn"
load_to_gamemode = GameGlobals.current_gamemode
SaveLoad.save_persistent_data()

View File

@@ -1,8 +1,12 @@
@tool
extends Node
@export var generate_playlist_now = false
@export_tool_button("Generate Playlist")
var playlist_action : Callable = func(): generate_test_playlist()
@export var checksum_test = false
@export var load_playlist_from_file = false
@export var hub_world : level_resource
@export var maps_in_rotation : Array[level_resource] = []
@export var gamemodes_in_rotation : Array[gamemode]= []
@export var levels_per_round : int = 5
@@ -30,8 +34,37 @@ func generate_playlist() -> void:
playlist.append(matches)
save_playlist(playlist)
generate_playlist_now = false
func generate_test_playlist():
var playlist_name = "TEST2"
var playlist = []
var seed_to_use
if playlist_name:
seed_to_use = hash(playlist_name)
else:
seed_to_use = randi()
seed(seed_to_use)
for h in matches_per_year:
var matches = []
for i in rounds_per_match:
var round = []
for x in levels_per_round:
var gamemode_path = gamemodes_in_rotation.pick_random().resource_path
var level_selection = maps_in_rotation.pick_random()
var level_details = {
"level_path" : level_selection.level_path,
"level_name" : level_selection.level_name,
"gamemode_path" : gamemode_path
}
round.append(level_details)
matches.append(round)
playlist.append(matches)
GameGlobals.playlist = playlist
func only_valid_chars(input_string: String) -> String:
var valid_chars = ""
@@ -66,3 +99,7 @@ func load_playlist():
print("no data saved, generating new playlist...")
generate_playlist()
func _on_gui_input(event: InputEvent) -> void:
generate_playlist()

View File

@@ -29,22 +29,12 @@ func _on_body_entered(body: Node3D) -> void:
var scene = ENEMY_WORKING_SCENE_ASYNCTEST.instantiate()
get_tree().current_scene.add_child(scene)
scene.global_position = global_position
##Let the Bounds detector know player is exiting
#SignalBus.emit_signal("player_exiting_tree")
#
#if hub_portal:
##add back other portals to round portal array
#GameGlobals.current_match[GameGlobals.current_round_id].remove_at(index)
##Set incoming gamemode
#GameGlobals.loading_gamemode = level_gamemode
##Save data
#if get_tree().current_scene.gamemode.load_save == true:
#SaveLoad.save_game_data(get_tree().current_scene.get_name())
#SaveLoad.save_user_data()
#get_tree().change_scene_to_file(scene_path)
#else:
#body.velocity = -body.velocity * 1.1
#Set incoming gamemode
GameGlobals.loading_gamemode = level_gamemode
#Save data
if get_tree().current_scene.gamemode.load_save == true:
SaveLoad.save_game_data(get_tree().current_scene.get_name())
SaveLoad.save_user_data()
func _on_start_activation_timeout() -> void:

View File

@@ -9,7 +9,7 @@ signal game_loaded()
signal money_deposited()
signal player_exiting_tree()
signal player_hit()
signal shot_fired()
signal shot_fired(crosshair_jump_amount)
signal player_reloading()
signal enemy_hit()
signal enemy_killed()

View File

@@ -162,6 +162,8 @@ func reload():
func spawn_mag():
var instance_mag = weapon_info.mag.instantiate()
if spawn_av_lv.size() == 1:
await spawn_av_lv.size() ==2
var anim_velocity = solve_anim_av_lv()
instance_mag.position = mag_ejector.global_position