removed jolt physics addon as it is now default, started playing with seed generation of playlists
This commit is contained in:
@@ -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):
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user