waited far too long for an initial commit but here we are
This commit is contained in:
7
Scripts/Resources/TowerStats.gd
Normal file
7
Scripts/Resources/TowerStats.gd
Normal file
@ -0,0 +1,7 @@
|
||||
extends Resource
|
||||
class_name TowerStats
|
||||
|
||||
@export var can_target : Data.TargetType
|
||||
@export var damage := 10.0
|
||||
@export var fire_range := 20.0
|
||||
@export var fire_rate := 1.0
|
6
Scripts/Resources/WeaponStats.gd
Normal file
6
Scripts/Resources/WeaponStats.gd
Normal file
@ -0,0 +1,6 @@
|
||||
extends Resource
|
||||
class_name WeaponStats
|
||||
|
||||
@export var damage : int
|
||||
@export var fire_rate : float
|
||||
@export var fire_range : float
|
13
Scripts/Resources/card.gd
Normal file
13
Scripts/Resources/card.gd
Normal file
@ -0,0 +1,13 @@
|
||||
extends Resource
|
||||
class_name Card
|
||||
|
||||
enum Faction {GENERIC}
|
||||
|
||||
@export var title : String
|
||||
@export var rarity : Data.Rarity
|
||||
@export var faction : Faction
|
||||
@export var sprite : AtlasTexture
|
||||
@export var turret : PackedScene
|
||||
@export var weapon : PackedScene
|
||||
@export var weapon_stats : WeaponStats
|
||||
@export var tower_stats : TowerStats
|
12
Scripts/Resources/enemy.gd
Normal file
12
Scripts/Resources/enemy.gd
Normal file
@ -0,0 +1,12 @@
|
||||
extends Resource
|
||||
class_name Enemy
|
||||
|
||||
@export var title = "dog"
|
||||
@export var target_type : Data.EnemyType
|
||||
@export var icon : Texture
|
||||
@export var sprite : AtlasTexture
|
||||
@export var spawn_power := 10
|
||||
@export var health = 100
|
||||
@export var penalty = 10
|
||||
@export var movement_speed = 0.5
|
||||
@export var spawn_cooldown = 1.0
|
6
Scripts/Resources/hero_class.gd
Normal file
6
Scripts/Resources/hero_class.gd
Normal file
@ -0,0 +1,6 @@
|
||||
extends Resource
|
||||
class_name HeroClass
|
||||
|
||||
@export var hero_name : String = "Default"
|
||||
@export var texture : AtlasTexture
|
||||
@export var deck : Array[Card]
|
63
Scripts/Resources/player_keymap.gd
Normal file
63
Scripts/Resources/player_keymap.gd
Normal file
@ -0,0 +1,63 @@
|
||||
extends Resource
|
||||
class_name PlayerKeymap
|
||||
|
||||
const SAVE_PATH := "user://keymap.tres"
|
||||
|
||||
@export var title : String
|
||||
|
||||
@export var move_forward : InputEventKey
|
||||
@export var move_backward : InputEventKey
|
||||
@export var move_left : InputEventKey
|
||||
@export var move_right : InputEventKey
|
||||
@export var jump : InputEventKey
|
||||
@export var sprint : InputEventKey
|
||||
@export var interact : InputEventKey
|
||||
@export var open_text_chat : InputEventKey
|
||||
@export var ready : InputEventKey
|
||||
@export var pause : InputEventKey
|
||||
@export var equip_card_in_gauntlet : InputEventKey
|
||||
@export var view_map : InputEventKey
|
||||
|
||||
|
||||
func apply():
|
||||
replace_action_event("Move Forward", move_forward)
|
||||
replace_action_event("Move Backward", move_backward)
|
||||
replace_action_event("Move Left", move_left)
|
||||
replace_action_event("Move Right", move_right)
|
||||
replace_action_event("Jump", jump)
|
||||
replace_action_event("Sprint", sprint)
|
||||
replace_action_event("Interact", interact)
|
||||
replace_action_event("Open Text Chat", open_text_chat)
|
||||
replace_action_event("Ready", ready)
|
||||
replace_action_event("Pause", pause)
|
||||
replace_action_event("Equip In Gauntlet", equip_card_in_gauntlet)
|
||||
replace_action_event("View Map", view_map)
|
||||
|
||||
|
||||
func replace_action_event(action_string, event):
|
||||
InputMap.action_erase_events(action_string)
|
||||
InputMap.action_add_event(action_string, event)
|
||||
|
||||
|
||||
func get_current_input_map():
|
||||
move_forward = InputMap.action_get_events("Move Forward")[0]
|
||||
move_backward = InputMap.action_get_events("Move Backward")[0]
|
||||
move_left = InputMap.action_get_events("Move Left")[0]
|
||||
move_right = InputMap.action_get_events("Move Right")[0]
|
||||
jump = InputMap.action_get_events("Jump")[0]
|
||||
sprint = InputMap.action_get_events("Sprint")[0]
|
||||
interact = InputMap.action_get_events("Interact")[0]
|
||||
open_text_chat = InputMap.action_get_events("Open Text Chat")[0]
|
||||
ready = InputMap.action_get_events("Ready")[0]
|
||||
pause = InputMap.action_get_events("Pause")[0]
|
||||
equip_card_in_gauntlet = InputMap.action_get_events("Equip In Gauntlet")[0]
|
||||
view_map = InputMap.action_get_events("View Map")[0]
|
||||
|
||||
|
||||
func save_profile_to_disk():
|
||||
get_current_input_map()
|
||||
ResourceSaver.save(self, SAVE_PATH)
|
||||
static func load_profile_from_disk() -> PlayerKeymap:
|
||||
if ResourceLoader.exists(SAVE_PATH):
|
||||
return ResourceLoader.load(SAVE_PATH)
|
||||
return Data.keymaps[0]
|
42
Scripts/Resources/player_preferences.gd
Normal file
42
Scripts/Resources/player_preferences.gd
Normal file
@ -0,0 +1,42 @@
|
||||
extends Resource
|
||||
class_name PlayerPreferences
|
||||
|
||||
const SAVE_PATH := "user://preferences.tres"
|
||||
|
||||
@export var mouse_sens := 28.0
|
||||
@export var invert_lookY := false
|
||||
@export var invert_lookX := false
|
||||
@export var toggle_sprint := false
|
||||
@export var vsync_mode := 1
|
||||
@export var aa_mode := 0
|
||||
@export var windowed_mode := 0
|
||||
@export var hfov := 100.0
|
||||
|
||||
|
||||
func apply_graphical_settings(viewport):
|
||||
DisplayServer.window_set_vsync_mode(vsync_mode)
|
||||
match aa_mode:
|
||||
0:
|
||||
viewport.use_taa = false
|
||||
viewport.screen_space_aa = Viewport.SCREEN_SPACE_AA_DISABLED
|
||||
1:
|
||||
viewport.use_taa = false
|
||||
viewport.screen_space_aa = Viewport.SCREEN_SPACE_AA_FXAA
|
||||
2:
|
||||
viewport.use_taa = true
|
||||
viewport.screen_space_aa = Viewport.SCREEN_SPACE_AA_DISABLED
|
||||
match windowed_mode:
|
||||
0:
|
||||
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
|
||||
1:
|
||||
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
|
||||
2:
|
||||
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN)
|
||||
|
||||
|
||||
func save_profile_to_disk():
|
||||
ResourceSaver.save(self, SAVE_PATH)
|
||||
static func load_profile_from_disk() -> PlayerPreferences:
|
||||
if ResourceLoader.exists(SAVE_PATH):
|
||||
return ResourceLoader.load(SAVE_PATH)
|
||||
return PlayerPreferences.new()
|
47
Scripts/Resources/player_profile.gd
Normal file
47
Scripts/Resources/player_profile.gd
Normal file
@ -0,0 +1,47 @@
|
||||
extends Resource
|
||||
class_name PlayerProfile
|
||||
|
||||
signal display_name_changed(old_name, new_name)
|
||||
signal preferred_class_changed(old_class, new_class)
|
||||
|
||||
const SAVE_PATH := "user://profile.tres"
|
||||
|
||||
@export var display_name := "Charlie"
|
||||
@export var preferred_class := 0
|
||||
|
||||
func to_dict() -> Dictionary:
|
||||
var dict = {}
|
||||
dict["display_name"] = display_name
|
||||
dict["preferred_class"] = preferred_class
|
||||
return dict
|
||||
static func from_dict(dict) -> PlayerProfile:
|
||||
var output = PlayerProfile.new()
|
||||
output.display_name = dict["display_name"]
|
||||
output.preferred_class = dict["preferred_class"]
|
||||
return output
|
||||
|
||||
func set_display_name(new_display_name):
|
||||
if new_display_name == display_name:
|
||||
return
|
||||
var old_name = display_name
|
||||
display_name = new_display_name
|
||||
save_profile_to_disk()
|
||||
display_name_changed.emit(old_name, display_name)
|
||||
func get_display_name() -> String:
|
||||
return display_name
|
||||
|
||||
func set_preferred_class(new_preferred_class):
|
||||
if new_preferred_class == preferred_class:
|
||||
return
|
||||
var old_class = preferred_class
|
||||
preferred_class = new_preferred_class
|
||||
preferred_class_changed.emit(old_class, preferred_class)
|
||||
func get_preferred_class() -> int:
|
||||
return preferred_class
|
||||
|
||||
func save_profile_to_disk():
|
||||
ResourceSaver.save(self, SAVE_PATH)
|
||||
static func load_profile_from_disk() -> PlayerProfile:
|
||||
if ResourceLoader.exists(SAVE_PATH):
|
||||
return ResourceLoader.load(SAVE_PATH)
|
||||
return PlayerProfile.new()
|
8
Scripts/Resources/status_stats.gd
Normal file
8
Scripts/Resources/status_stats.gd
Normal file
@ -0,0 +1,8 @@
|
||||
extends Resource
|
||||
class_name StatusStats
|
||||
|
||||
@export var unique := false
|
||||
@export var proc_frequency := 0.0
|
||||
@export var duration := 1.0
|
||||
@export var potency := 1.0
|
||||
@export var icon : Texture
|
Reference in New Issue
Block a user