[DOCUMENTATION]
Tiny Survival New Engine Design:
---------------------------------------------------------

GameStateContainer (table):
	Made up of:
		GameStateWidget(s)
		AudioStateWidget(s)
		GraphicStateWidget(s)
	
GraphicStateWidget (table):
	Made up of:
		GraphicIndex (int):
		GraphicLocation (string):
		isAnimated (bool):
		animationTable (string):
	
AudioStateWidget (table):
	Made up of:
		AudioIndex (int):
		AudioLocation (string):

GameStateWidget (table):
	Made up of: 
		WidgetIndex (int):
			A value to identify this widget by. 
		WidgetType (string):
			Can be one of the following types:
				Movement - For simple movements where no additional events happen.
				Enemy - For enemy encounters.
				Weapon - For weapon encounters.
				Item - For item encounters.
				Encounter - For generic encounters.
				Location - For location based events.
				EndState - For changing the gamestate from alive to dead.
		TextWidget (string array):
			Read in order of array from: 1 to X.
		GraphicWidget (int):
			Ident location of graphic to display in engine (from library), representation of GameStateWidget.
		AudioWidget (table):
			playOneShot (bool): determines if a one shot should play on scene change
			oneShotSFX (int): ident location of sfx in library to play on scene change
			changeCurrentAudio (bool): determines if scene audio should change
			currentAudioSFX (int): ident location of sfx in library
		MaterialsWidget (table):
			enemyHealth (int):
			enemyStamina (int):
			enemyRNGCeiling (int): Max value of enemies rng value.
			playerRNGCeiling (int): Max value of players rng value.
			enemyStrikeCeiling (int): Max value of enemies strike value.
			playerStrikeCeiling (int): Max value of players strike value.
			StaminaEffect (int): value to effect stamina by.
			HealthEffect (int): value to effect health by.
			RadiationEffect (int): value to effect radiation by.
			setLocation (bool): determine if encounter resets location
			SetLocationData (table):
				setLocationX:
				setLocationY:
		ChainingWidget (table):
			isChain (bool): dictates if this widget is chaining other widgets.
			displayPrompt (bool): dictates if the chain should be activated by a prompt
				displayPromptString (string): The text displayed in the prompt.
				displayPromptOptionPositive (string): The text for the positive option
				displayPromptOptionNegative (string): The text for the negative option.
			nextWidgetInChain (int): identifies the next widget in the chain.
			endsChain (bool): dictates if this widget should stop the current widget chain.
		LocationWidget (table):
			isLocation (bool): dicates wether or not location specfic event happens.
			atLocationX (int): the x value of the location on the map.
			atLocationY (int): the y value of the location on the map
			
---------------------------------------------------------

For encounters: Mode - "Passthrough", "Choice", "Return"
