7
0
mirror of https://github.com/RPG-Research/bcirpg.git synced 2024-04-16 14:23:01 +00:00

Change 2 for cleanup

This commit is contained in:
PersonGuyGit
2023-07-09 12:28:09 -06:00
parent 707e8a5b16
commit 2c971b6e7c
1741 changed files with 0 additions and 0 deletions
Phase2/Godot_GameCode
CharacterCreation
.import
.gdignore52ukVp.png-53b5a81b9aa8c43fb9bbff36476f1e4f.md552ukVp.png-53b5a81b9aa8c43fb9bbff36476f1e4f.stex52ukVp.png-9fcb79680f073ffcb0df663a29082a8d.md552ukVp.png-9fcb79680f073ffcb0df663a29082a8d.stexagent.png-8b8e1d355fef9de105a39ad739054090.md5agent.png-8b8e1d355fef9de105a39ad739054090.stexagent.png-b423fd963f31ff91c711b7510f1f1f4b.md5agent.png-b423fd963f31ff91c711b7510f1f1f4b.stexarrowsdown.png-d0b27b1acab5e951020dbe79517a8b7d.md5arrowsdown.png-d0b27b1acab5e951020dbe79517a8b7d.stexarrowsleft.png-a5aa1af6e4b0a63cc3ab1a9b95c69ca0.md5arrowsleft.png-a5aa1af6e4b0a63cc3ab1a9b95c69ca0.stexarrowsright.png-c1560d906f076c3a05aee958fe6ded37.md5arrowsright.png-c1560d906f076c3a05aee958fe6ded37.stexarrowsup.png-04b45559af55828187c112d5c50134e1.md5arrowsup.png-04b45559af55828187c112d5c50134e1.stexbar_hp_mp.png-3486052a17f3fe03054aa3bc75623a51.md5bar_hp_mp.png-3486052a17f3fe03054aa3bc75623a51.stexbutton_default.png-f902c6dc42936de5434cd376ba0a1e4e.md5button_default.png-f902c6dc42936de5434cd376ba0a1e4e.stexbutton_small.png-e8356f0455ebe124b7d93742f901adca.md5button_small.png-e8356f0455ebe124b7d93742f901adca.stexbutton_x.png-8978c56000869bf8609fdb90937598d6.md5button_x.png-8978c56000869bf8609fdb90937598d6.stexcheckbox_default.png-ccca1221443b274ae197e3451d512957.md5checkbox_default.png-ccca1221443b274ae197e3451d512957.stexcombobox_default.png-be646e25fffb5d820e23abcc1fc5cbe8.md5combobox_default.png-be646e25fffb5d820e23abcc1fc5cbe8.stexconfirm_bg.png-8c443770e715a168fb1fb20a3026f7cc.md5confirm_bg.png-8c443770e715a168fb1fb20a3026f7cc.stexdead_squirrel_idle.png-1711587465338c4c6bba1e96556267a4.md5dead_squirrel_idle.png-1711587465338c4c6bba1e96556267a4.stexdead_squirrel_idle.png-79e83c8b3e874a35ef20b56c6e017e48.md5dead_squirrel_idle.png-79e83c8b3e874a35ef20b56c6e017e48.stexdead_squirrel_idle_2x.png-396afca2d44506199b7df99bcc4fa5af.md5dead_squirrel_idle_2x.png-396afca2d44506199b7df99bcc4fa5af.stexdead_squirrel_idle_2x.png-50b393fa1788fc4e1012268b15e8584b.md5dead_squirrel_idle_2x.png-50b393fa1788fc4e1012268b15e8584b.stexdialog_box.png-6407c963691a71e0e3d6e688c91e539a.md5dialog_box.png-6407c963691a71e0e3d6e688c91e539a.stexdroog_idle.png-19e80f8a9f07eeb1c19ada06f7efc7b2.md5droog_idle.png-19e80f8a9f07eeb1c19ada06f7efc7b2.stexdroog_idle.png-bf5b516f256ef28ddf56312a185b16ae.md5droog_idle.png-bf5b516f256ef28ddf56312a185b16ae.stexgirl_idle.png-82f86e69a5006eb7b9f1cd0ed06dfc8d.md5girl_idle.png-82f86e69a5006eb7b9f1cd0ed06dfc8d.stexgirl_idle.png-a457d4e79f28a8036cae6d5d6c9a57d7.md5girl_idle.png-a457d4e79f28a8036cae6d5d6c9a57d7.stexgoth_idle.png-02a24278e86b2975e48bfefa95b19054.md5goth_idle.png-02a24278e86b2975e48bfefa95b19054.stexgoth_idle.png-a050cb5dad017840fc5aa19a906de278.md5goth_idle.png-a050cb5dad017840fc5aa19a906de278.stexhi-top-large.png-bfd15ea9f4398bc9a7fd2b5c8f1bd5f7.md5hi-top-large.png-bfd15ea9f4398bc9a7fd2b5c8f1bd5f7.stexhi-top-large.png-febe40c7f6a0aae7de37a10fb8b5c719.md5hi-top-large.png-febe40c7f6a0aae7de37a10fb8b5c719.stexhi-tops_idle.png-43e28ba76ce2534c766d1645385ad3bd.md5hi-tops_idle.png-43e28ba76ce2534c766d1645385ad3bd.stexhi-tops_idle.png-ba4d76b440d6fdd0942d9bd75c437d98.md5hi-tops_idle.png-ba4d76b440d6fdd0942d9bd75c437d98.stexicon.png-487276ed1e3a0c39cad0279d744ee560.md5icon.png-487276ed1e3a0c39cad0279d744ee560.stexinput.png-c6b33a191fdad9cb89ab2dbd9166ab75.md5input.png-c6b33a191fdad9cb89ab2dbd9166ab75.stexlistbox_default.png-d7b4f353c891766d5c8dc21d00807112.md5listbox_default.png-d7b4f353c891766d5c8dc21d00807112.stexmenu_xp.png-090c8ee1a0d067c4567a813dd2c1b19b.md5menu_xp.png-090c8ee1a0d067c4567a813dd2c1b19b.stexpunker.png-7168c0b3e9c4a2eea6161c7b6d2917ba.md5punker.png-7168c0b3e9c4a2eea6161c7b6d2917ba.stexpunker.png-fba00f29b61b596a695efcf5cdc738b2.md5punker.png-fba00f29b61b596a695efcf5cdc738b2.stexrourke.png-35e2bfd0491b02390cb9abfd9fe8cb38.md5rourke.png-35e2bfd0491b02390cb9abfd9fe8cb38.stexrourke.png-d266757ec7e5900016c4b1112ee3ab3a.md5rourke.png-d266757ec7e5900016c4b1112ee3ab3a.stexscrollbar_default.png-30cc9c7b21b30befed0c18c1d8a6030a.md5scrollbar_default.png-30cc9c7b21b30befed0c18c1d8a6030a.stexslider_default.png-7b67fe4f9912d113ffb4af17937191d3.md5slider_default.png-7b67fe4f9912d113ffb4af17937191d3.stexyakuza_idle.png-050ea895895b1badd2434a874e27a38e.md5yakuza_idle.png-050ea895895b1badd2434a874e27a38e.stexyakuza_idle.png-309dc192a643f82a85bba990ab3e25cb.md5yakuza_idle.png-309dc192a643f82a85bba990ab3e25cb.stex
Assets
Global
Scene
Script
default_env.tresicon.pngicon.png.importproject.godot
DiceRoller
Experiments
Andrew_Multiplayer_Test
Doug
rpgr_gameWork_20211024A
rpgr_gameWork_20211114A
rpgr_gameWork_20220102A
rpgr_gameWork_20220213A
ImportCharacter
.import
Control.tscnREADME.txtSettings.gd
_toArchive
assets
default_env.tresicon.pngicon.png.importplayerSettingsTemplate.gdproject.godot
screens
userInterface
MainMenu
GodotUserInterface-Bakhtawar
GodotUserInterface_Dario
GodotUserInterface_Doug
bcirpg_mainMenu_20220220A
.import
Control.tscnREADME.txt
_toArchive
assets
default_env.tresexport_presets.cfgicon.pngicon.png.importproject.godot
screens
userInterface
GodotUserInterface_Luke
.import
Actor.gd
DataStore
Date.gdDie.gdGUI.gdGUI.tscnGame.tscnHostAndJoinGame.gdMenu.gdOpenSans-Bold.ttfOpenSans-BoldItalic.ttfOpenSans-ExtraBold.ttfOpenSans-ExtraBoldItalic.ttfOpenSans-Italic.ttfOpenSans-Light.ttfOpenSans-LightItalic.ttfOpenSans-Medium.ttfOpenSans-MediumItalic.ttfOpenSans-Regular.ttfOpenSans-SemiBold.ttfOpenSans-SemiBoldItalic.ttf
Open_Sans
Player_Settings_Button.gdSaveAndLoadGame.gd
SaveSystem
Start Game.gdTestNode2D.gdTestNode2D.tscnWorld.gdWorldObject.gd
addons
bin
default_env.tresicon.pngicon.png.importproject.godot
GodotUserInterface_Luke_Settings
bcirpg_settingsMenuLuke
.import
But_ChangeScene.gdControl.tscnREADME.txt
_toArchive
assets
default_env.tres
dynamic_popups
icon.pngicon.png.importplayerSettingsTemplate.gdproject.godot
screens
settings
userInterface
MergedDemo
Doug
bcirpg_mergedDemo_20220814A
.import
Control.tscnREADME.txt
TestingFiles
_toArchive
assets
default_env.tres
gamePlay
globalScripts
icon.pngicon.png.importproject.godot
screens
userInterface
bcirpg_mergedDemo_20220904A
.import
Control.tscnREADME.txt
_toArchive
assets
default_env.tres
gamePlay
globalScripts
icon.pngicon.png.importproject.godot
screens
userInterface
bcirpg_mergedDemo_20220911A
.godot
.gdignore
editor
Character_Add.tscn-editstate-6c42bb16d3bd4b9af03632317c40e7e4.cfgCharacter_Add.tscn-folding-6c42bb16d3bd4b9af03632317c40e7e4.cfgCharacter_Load.tscn-editstate-cbec39b3abf33d161175b1ba71844ac5.cfgCharacter_Load.tscn-folding-cbec39b3abf33d161175b1ba71844ac5.cfgDiceRoller.gd-folding-8afbd7fc73a9f9f812dfcaaf30f30588.cfgDieManager.gd-folding-6f2524136db8a2de875185fc3d8e32f5.cfgHistoryViewer.tscn-editstate-5b014fa15b6b18c43d610d042330b9f9.cfgHistoryViewer.tscn-folding-5b014fa15b6b18c43d610d042330b9f9.cfgImportCharacter.tscn-editstate-8252b4ecd57f64a7f5ecd55dfee98ec8.cfgImportCharacter.tscn-folding-8252b4ecd57f64a7f5ecd55dfee98ec8.cfgLiberationSerif-Bold.ttf-1bd0842ec1ed8f2280c344465f4c735c.fontdata-folding-b8ac8507f8fc0ce13edd188d147eb90e.cfgLiberationSerif-BoldItalic.ttf-b9fea0bd1fc08bcb5abcc08df063c25d.fontdata-folding-a74c92229290540fa6dca677f88eb7e3.cfgLiberationSerif-Italic.ttf-b1899d55c9838ffb42dc88f0f1560aab.fontdata-folding-3e081ab284366e2b1ad09a7de54c5301.cfgLiberationSerif-Regular.ttf-39b6cd17bb22b42493dad03528c51257.fontdata-folding-e96fa35d8f846a14f08de16bf698a9da.cfgMenuScreen.tscn-editstate-6698de75e0d1732890486af5bfe1cbf2.cfgMenuScreen.tscn-folding-6698de75e0d1732890486af5bfe1cbf2.cfgMoreOptions.tscn-editstate-e802b78a616674ced820bc6378b4aa52.cfgMoreOptions.tscn-folding-e802b78a616674ced820bc6378b4aa52.cfgMultiplayer_temp.tscn-editstate-bf7994132a687b10ef3487feb117397c.cfgMultiplayer_temp.tscn-folding-bf7994132a687b10ef3487feb117397c.cfgNewGame_temp.tscn-editstate-08dfc7f17d68e870b52a57ea6e72071c.cfgNewGame_temp.tscn-folding-08dfc7f17d68e870b52a57ea6e72071c.cfgPlayerSelection.tscn-editstate-4bcaead45c177a1b0c650147037dcdda.cfgPlayerSelection.tscn-folding-4bcaead45c177a1b0c650147037dcdda.cfgSettingsMenuControl.tscn-editstate-dbe9e0f61ce6c10ce7c25c51053cee04.cfgSettingsMenuControl.tscn-folding-dbe9e0f61ce6c10ce7c25c51053cee04.cfgeditor_layout.cfgfilesystem_cache8filesystem_update4l_10646.ttf-c73edcc0131718c450dc8e9faaba5f56.fontdata-folding-e3c7656d9aae8ee3ccf60552ffedbae7.cfgl_10646.ttf-e6ca2966b857cc1496cc02006b57e66e.fontdata-folding-7e9214ed46e9fb8835b92272bb15e2b5.cfgproject_metadata.cfgrecent_dirsscript_editor_cache.cfgtestingCSVCharFile.en.translation-folding-5dce5df60c1079c981050a37652eaaf0.cfg
global_script_class_cache.cfg
imported
shader_cache
BlitShaderRD
99ba2ae94a02f3be1fa450ba96170e265220a7c12d195763a9429f5267b95de1
BokehDofShaderRD
4a58ef73c632ec99e5e61c2134d069312d505570e4e05e4b19cc3a6da3fd6d89
CanvasOcclusionShaderRD
1917eb212a0fc35ea43ec838ceee16e0ae972c93764744991bbef5576e954df3
CanvasSdfShaderRD
f5892aad982ca3924097c1a6a746c15dad14187bcdc3facfad468f789129f7f0
CanvasShaderRD
ClusterDebugShaderRD
f161e029bc24e6ff6a0f41aeea7ff41d9a938701aa9f79516043844d0e1712af
ClusterRenderShaderRD
0d635d072c3f1556ae0130a8ee966dd8b4e377780fac401a48307d786bb55f2e
ClusterStoreShaderRD
65e05dd113093f9ce5b00d9cf9dd1e96afa745cc00fef54196473690aff77e17
CopyShaderRD
0febf21d333add1d7d24047f0655823ec951ebe5058ec5cd527979f0bff2b69f
CopyToFbShaderRD
7ab54756423e4e900d688282fefc540aabaae3942d7802f13c2d4f0484ec885d
CubeToDpShaderRD
2283fb1ee3168f04e524dcce7dcb3bfe86e228eb2a51b0ade992821a3b925829
CubemapDownsamplerShaderRD
7bc5ba8e09180e4ec9447354417c001ff39ef0b9793e4dd91700a3157c02c8fd
CubemapFilterShaderRD
95c38c07d3122c4433cde607db0de663b66f7247ef981467dd3f85381d79c5d9
CubemapRoughnessShaderRD
9717bdf042552cb9ba3beee9738dc100dc73e411f28ec114137500c84905f134
FsrUpscaleShaderRD
c50814dea7a49e602939f2245889af56e5b2dc1af34261e00b7de08e8f3bda74
GiShaderRD
e8a16c7f72722dd04131fa37dcfcf70283db0a5a8423ca4b6be82b9cb12c19fb
LuminanceReduceShaderRD
015a6933ef0d229994836762e2577b2724e81f0c19532d6d9970829ac6d5b8c3
ParticlesCopyShaderRD
a63f9c6838e1a15082bcb4f6a15985e16b540aa82211dadeef707067ca48fb91
ParticlesShaderRD
48caad4a6fa190a9859479b30e6351f6f2838c48df3c407d02bab0164d307994
ResolveShaderRD
faa53662dbbcc0c3ab2d70f22e221f23fa43ee0fe92651b40d7b4421e7e2c252
RoughnessLimiterShaderRD
1207dc7bbd38c565aec7562b6632b8e8908298c5c7c358f7141228ac62b8b0f4
SceneForwardClusteredShaderRD
ScreenSpaceReflectionFilterShaderRD
4f2d05d4e601a88d1a4d77680183e028115b81906827b01ab68a0774a3ec080f
ScreenSpaceReflectionScaleShaderRD
c52c97e96639ebb5a058bed56d71fc605ee7b8d062bf982e26f9afa03ec8d443
ScreenSpaceReflectionShaderRD
46b209eb3ef72a72c0271c86c0c11eebbf970d5bfb909c84ebb9a1702b277ce4
SdfgiDebugProbesShaderRD
ed06fbaa2f7b20b949bcfa617360857e90f17258db694a8b1989f852ed2b5b13
SdfgiDebugShaderRD
d81f00cbf521e0782a76acabc125cd0c9132374f8d136f5c7821aa7353c011b6
SdfgiDirectLightShaderRD
88c07dd2aae8b90fae80f762a3485aaa436c6d4470c19b11464432705d1e5b03
SdfgiIntegrateShaderRD
d4f2a5da6e8b17e069e5b2cbf2f0153b33b07375df47b1e6504818707099ac2a
SdfgiPreprocessShaderRD
d57715db8236350dc081a375e01a8393e1ee1d1789f486d824ef15377b948c65
SkeletonShaderRD
a23c8956bc6130740feb3de951c0db2de6a302bc60521c55a67aa9414a3bd95e
SkyShaderRD
SortShaderRD
cd50b38768ec41030fc9772db0a3f87abcb848d32a2b6b32406ed3f10080bd04
SpecularMergeShaderRD
d8596a535982275ac6b1647cf33df1e0dc7101e3424167806c616d077e8cf653
SsEffectsDownsampleShaderRD
c4e4c6a411e26c00d2fd0787edc417a5e1b43ab29209e8819e4464599097522c
SsaoBlurShaderRD
6470ed633c0ee556faee543aff79363d0ed025f960c4b63cc58188e6030ae802
SsaoImportanceMapShaderRD
13ccbbdbcc808d3da00b5423f3b7e547899dc52aebf3e84f3ea67fb76170a21c
SsaoInterleaveShaderRD
18013bef723264e74bc3d168788d8c948773f066ce86e52206f52d6b2adcb831
SsaoShaderRD
21dca312274f32e2e1485e82296a4308499148eb235e12866cd3f98313139f0f
SsilBlurShaderRD
d643ead067ce16586aa57ea0aed13ff11545e24ee60cb4b06b176e7b3642158b
SsilImportanceMapShaderRD
7d5d4ffeb2f994b509e8bf107bd555d5c10d3f7d2791074a478aa4c0650c49d2
SsilInterleaveShaderRD
d8a50a6441e5ffc6c0ed10fe01414f9ce9105002527fd733cdb15a856cb6d976
SsilShaderRD
e4f7cc74045ee68d50537c803a8720a73284d107998b75f93d7e444bdcdf9ad8
SubsurfaceScatteringShaderRD
377cea4368d32b7809a50efb2eee07b6c8e12268863413129da21435a73e7ef5
TaaResolveShaderRD
52e46e836b2917ed1afea3d3b95ce5a4998e10a1091bedbd1cb371611ae96cbc
TonemapShaderRD
97129f7317b0bbf5444bb8fe5b4062b76309eb51809f1926d18b15c5f308bba0
VolumetricFogProcessShaderRD
60957a5fa6cb31b11534e809316d052e25066b8c2ac1e26a80c5ef3715d489a4
VolumetricFogShaderRD
1ad98d4d9fbd3d94208c263a5f6894738c213c8ad931b3d6c06b27b9106ea476
VoxelGiDebugShaderRD
45ed0ddc1719346a2471721ba619a959927db3f64ac5dd37268f60426b94838d
VoxelGiShaderRD
bc8a0992566e06e6aefe2fd61953460c69db38886bfdd36e7c435bfec37db25c
uid_cache.bin
.import
Control.tscnREADME.txt
_toArchive
_userFiles
assets
default_env.tres
gamePlay
globalScripts
icon.pngicon.png.importproject.godot
screens
userInterface
MergedMaster
bcirpg_mergedMaster_20220918A
.import
Control.tscnREADME.txt
_toArchive
_userFiles
assets
default_env.tres
gamePlay
globalScripts
icon.pngicon.png.importproject.godot
screens
userInterface
bcirpg_mergedMaster_20220918ALuke
.import
Control.tscnREADME.txt
_toArchive
_userFiles
assets
default_env.tres
gamePlay
globalScripts
icon.pngicon.png.importproject.godot
screens
userInterface
Multiplayer
.import
Control.tscnREADME.txtSettings.gd
_toArchive
assets
default_env.tresicon.pngicon.png.importplayerSettingsTemplate.gdproject.godot
screens
userInterface
NewGame
Doug
bcirpg_newGame_20220227A
.import
Control.tscnREADME.txt
_toArchive
assets
default_env.tres
gamePlay
globalScripts
icon.pngicon.png.importproject.godot
screens
userInterface
Resolving ties
Settings
GodotUserInterface_Luke_Settings
bcirpg_move
.import
Control.tscnREADME.txtSettings.gd
_toArchive
assets
default_env.tresicon.pngicon.png.importplayerSettingsTemplate.gdproject.godot
screens
userInterface
Themes

@ -0,0 +1,69 @@
#This script is for the overarching node that will contain the diemanager singleton
#It should be the only one of the die scripts that is attached onto a node.
extends Control
#desired dice types and needed percentage to pass are selected by game/user
#desiredDice takes an int array representing the # sides on the die/dice
#neededPercentageToPass takes a float that
export var desiredDice: Array
export var neededPercentageToPass: float
#Define dieManager variable
var dieManager
func _ready():
#create diemanager object
dieManager = DieManager.new(desiredDice, neededPercentageToPass)
#function gets the result of the roll(s) and shows it in the UI
func _on_Die_button_down():
#rollDice function returns an array with the following elements in the following positions:
#rollDice result: [[rolledValues], percentRolled, passResult, neededPercent, degreeOfSuccess, dice]
var result = dieManager.rollDice()
#assigning variable names to each of them for better clarity
var rolledValues = result[0]
var percentRolled = result[1]
var passResult = result[2]
var neededPercent = result[3]
var degreeOfSuccess = result[4]
var dice = result[5]
#Check if passed or not
if passResult:
$Outcome.text = "Successful Roll!"
else:
$Outcome.text = "Failed Roll!"
var diceResultText = "Rolled Values:\n"
#Prints the integer calues of each die rolled in the form: "D(num faces): (value rolled)"
for i in range(dice.size()):
diceResultText += ("D" + str(dice[i]) + ": " + str(rolledValues[i]) + "\n")
#changing labels on screen
$RolledValues.text = diceResultText
$PercentNeeded.text = "Percent Needed to Pass: " + str(neededPercent * 100) + "%"
$PercentRolled.text = "Percent Rolled: " + str(percentRolled * 100) + "%"
$DegreeOfSuccess.text = "Degree of Success: " + str(degreeOfSuccess * 100) + "%"
#revealing labels to user
$Outcome.show()
$RolledValues.show()
$PercentNeeded.show()
$PercentRolled.show()
$DegreeOfSuccess.show()
#Calls the cleardata method for the diemanager and hides the text on screen
func _on_Reset_button_down():
$Outcome.hide()
$PercentNeeded.hide()
$PercentRolled.hide()
$DegreeOfSuccess.hide()
$RolledValues.hide()
dieManager.clearData()
dieManager.setDieManager(desiredDice, neededPercentageToPass)

@ -0,0 +1,24 @@
#Die class
extends Node2D
class_name Die
#value of selected die type
var numFaces: int
#Class constructor
func _init(value):
numFaces = value
#returns an integer value of the rolled result (assuming the die is a valid type)
func rollDie():
randomize()
var rolledNum
rolledNum = randi() % numFaces + 1
return rolledNum
#Returns the number of faces on this die
func getNumFaces():
return numFaces

@ -0,0 +1,130 @@
#This is the diemanager script that controls the rolling of the die/dice as well as calculates
#the end result
class_name DieManager
extends Node2D
#Array of the desired dice values to mod god wants
var desiredDice: Array
#User can select the percentage needed for a successful roll
var neededPercentageToPass: float
var validDieTypes = [4, 6, 8, 10, 12, 20]
#boolean for if a percentageroll is taking place
#we need a boolean for this because the way a percentage roll is calculated
#with two D10s is different than if one were using other dice
var isPercentageRoll = false
#diceUsed holds the dice objects that are rolled
var diceUsed = []
#rolledValues holds the integer value rolled from each die
var rolledValues = []
#boolean based on whether the overall roll passed or not
var passedRoll
#float holding the degree of success (rolledVal - neededPercentageToPass)
var degreeOfSuccess
#Constructor for diemanager class
func _init(dice, percent):
desiredDice = dice
neededPercentageToPass = percent
loadData()
#set values of diemanager
func setDieManager(dice, percent):
desiredDice = dice
neededPercentageToPass = percent
loadData()
#Load the diceInPlay array
func loadData():
for elem in desiredDice:
if elem in validDieTypes:
diceUsed.append(Die.new(elem))
#conditional to check if two D10s are being used
#if so, we know that a percentage roll is taking place
if len(desiredDice) == 2 && desiredDice[0] == 10 && desiredDice[1] == 10:
isPercentageRoll = true
#Resets the data in the script
func clearData():
isPercentageRoll = false
rolledValues = []
desiredDice = []
diceUsed = []
neededPercentageToPass = 0
#Returns the percent value of an individual die
#Stores the rolled value in rolledValues
func returnDiePercentage(inputedDie):
#In case this method is being called on no dice
if len(diceUsed) == 0:
push_error("Cannot roll without any dice!")
var rolledVal = inputedDie.rollDie()
#add rolled integer value to array
rolledValues.append(rolledVal)
#Checks if a percentageroll is being done
if isPercentageRoll:
#This conditional is used to detemrine if the rolled value is
#for the tens or ones digit
return float(rolledVal % 10)
return float(rolledVal) / float(inputedDie.numFaces)
#Rolls all of the dice in diceUsed
#returns the average of all the percentages
func rollDice():
#In case this method is being called on no dice
if len(diceUsed) == 0:
push_error("Cannot roll without any dice!")
#denominator will equal the total number of dice rolled
var denominator = 0
#sum of floats of all rolled die percentages
var sumOfPercentages = 0
if isPercentageRoll:
sumOfPercentages += (returnDiePercentage(diceUsed[0]) / 10.0) + (returnDiePercentage(diceUsed[1]) / 100.0)
else:
#DKM TEMP: not percentage roll:
print("TEMP: not percentage roll")
for die in diceUsed:
sumOfPercentages += returnDiePercentage(die)
denominator += 1
var result = []
result.append(rolledValues)
if isPercentageRoll:
#Percentage roll result remains the sum of the rolls
result.append(sumOfPercentages)
else:
if denominator == 0:
result.append(0)
#result is average of sum of percentages otherwise rounded to 2 decimcal places
result.append(stepify((float(sumOfPercentages) / float(denominator)), 0.0001))
passedRoll = (result[1] >= neededPercentageToPass)
#NOTE: degree of success is always calculated regardlesss of success/failure. Let me know if this should be changed
degreeOfSuccess = result[1] - neededPercentageToPass
result.append(passedRoll)
result.append(neededPercentageToPass)
result.append(degreeOfSuccess)
result.append(desiredDice)
#rollDice result: [[rolledValues], percentRolled, passResult, neededPercent, degreeOfSuccess, dice]
return result

@ -0,0 +1,11 @@
#PLAYER CHARACTER:
# Unique handler script for root PC singleton. May be adapted for
# player loading and saving functionality
extends Node
var pc
func _ready() -> void:
pc = playerCharacterTemplate.new()

@ -0,0 +1,10 @@
#gameCurrent:
# Simple singleton script for storing persistent game cene paths.
# These must then not be destroyed, but manually removed as a child of the
# node and they can always be re-added as needed.
extends Node
var gameCurrent_scene

@ -0,0 +1,44 @@
extends Node
# Declare new settings template object
var settingsInstance = PlayerSettingsTemplate.new()
var settings_file = "res://_userFiles/PlayerPreferences.cfg"
func _ready() -> void:
load_settings_file()
#Config/ini:
func load_settings_file():
var config = ConfigFile.new()
# Load data from a file.
var err = config.load(settings_file)
# If the file didn't load, ignore it.
if err != OK:
return
#Preferences:
settingsInstance.inputName = config.get_value("player_preferences", "player_name")
settingsInstance.riskFactor = config.get_value("player_preferences", "risk_threshold")
#Controls:
settingsInstance.fontSize = config.get_value("visual_controls", "font_size")
settingsInstance.brightness = config.get_value("visual_controls", "brightness")
#General Settings:
settingsInstance.volume = config.get_value("general_settings", "volume")
settingsInstance.bClosedCaptions = config.get_value("general_settings", "closed_captions")
settingsInstance.bdevConsole = config.get_value("general_settings", "dev_console")
#Keyboard:
settingsInstance.visualKeyboardLayout = config.get_value("virtual_keyboard", "keyboard_layout")
#Theme:
settingsInstance.themeChoiceInt = config.get_value("theme", "theme_selection")
load_themeFile()
#DKM TEMP: working
print("Input name loaded as: " + str(settingsInstance.inputName))
print("Theme loaded as: " + str(settingsInstance.themeFile))
func load_themeFile() -> void:
#DKM TEMP: this shouldn't be hard-coded:
if(settingsInstance.themeChoiceInt == 1):
settingsInstance.themeFile = "res://assets/ui_controlNode_light_theme.tres"
else:
settingsInstance.themeFile = "res://assets/ui_controlNode_dark_theme.tres"

@ -0,0 +1,31 @@
#HISTORY:
# Unique handler script for root history singleton. May be adapted for
# history loading and saving functionality
extends Node
#DKM TEMP: not a cfg?
var history_file = "user://history.tres"
var historyScreensSingleton
var testing = false
func _ready() -> void:
if(testing):
historyScreensSingleton = load_history_file()
if (historyScreensSingleton == null):
historyScreensSingleton = HistoryScreensTemplateSingleton.new()
#DKM temp:
print("Loaded history array size is: " + str(historyScreensSingleton.output_history_array.size()))
#DKM TEMP: load using tres format:
func load_history_file() -> HistoryScreensTemplateSingleton:
if ResourceLoader.exists(history_file):
var history = ResourceLoader.load(history_file)
if history is HistoryScreensTemplateSingleton:
return history
else: return null
else:
return null

@ -0,0 +1,8 @@
#PLAYERSETTINGSTEMPLATE:
# Class for holding history screens
extends Resource
class_name HistoryScreensTemplateSingleton
var output_history_array = Array()

@ -0,0 +1,8 @@
#PLAYER CHARACTER TEMPLATE:
# Template for holding loaded/current character
extends Resource
class_name playerCharacterTemplate
var pcText = ""

@ -0,0 +1,26 @@
extends Node
class_name PlayerSettingsTemplate
# Declare Setting Options, to be used inside of the settings menu
var inputName = "none"
var riskFactor = 0
var brightness = 3
var fontSize = 11
var volume = 6
var bClosedCaptions = true
var bdevConsole = false
var bVirtualKeyboard = false
# Setting of 0 is Qwerty, Setting of 1 is Davorak, Setting of 2 is Alphabetical
var visualKeyboardLayout = 0
# Setting of 0 is dark, setting of 1 is light, and so on
var themeChoiceInt = 0
var themeFile = "res://assets/ui_controlNode_dark_theme.tres"
func _ready():
pass