//Game Arrays to Merge into GameDynamics
/// or make _BAK versions of these, and use SaveGame() to copy all arrays into their _BAK equivalent, and restore to copy from _BAK to the main array.

RPG.zh

Engine
// Arrays
int GameDynamics[8192] = {0}; //This array holds numeric values, and strings, used by the game. 
bool GameEvents[8192] = {false}; //This array is used for most custom game engine dynamics as a boolean control. 
//It works with GameDynamics[], which holds numeric values for these same things. 
//The constants, and array index size should match when completed. 

//Constants 0 to 499 reserved. DO NOT USE FOR ITEMS!
	
bool OwnsItems[2048]={0}; //512 items, x4 characters. Items that the player has, to allow 'Equip/Unequip'
bool ItemEquipped[2048]={0}; //512 items, x4 characters

int GameEngine[]={0};
int MeterGauges[10]={0,0,0,0,0,0,0,0,0,0};

Experimental
int GameClock[10] = {0,0,0,0,0,0,0,0,0,0};
// Second	Segment	Minute ( Round )	Turn		Span 	( Hour ) 
// 15 seconds per segment. Four Segments per Round. Ten rounds per turn. Three turns per Span Two Spans per Hour. 28 hours per day. 7 days per week. Five weeks per month. Ten months per annus.



Experimental_Ext
//Need to copy SUMXP on Quick Save and restore on Restore() or move XP into GameDynamics entirely, keeping only the table portions of XPAwards

RPG_Levels
int levelStrings[21] = { 61, 61, 61, 61, 60, 59, 59, 59, 59, 61, 59, 59, 59, 59, 59, 62, 59, 59, 59, 63, 85 };
// Element [0] General string, for common use.
// Element [1] to [20]The strings to play when gaining levels 1, through 20.
	///This is fixed. No need to merge.


Money
/// !These arrays need a separate backup for quick save and restore!
	float capacitiyArray[26]={ 
                    0, //baseWalletSpace[0]
                    50, //walletSize [1]
                    1, //walletsOwned [2]
                    0, //CR_CUSTOM_WALLET_SIZE [3] (add space to this for wallets that have a size > walletSize)
                    50, //totalWalletSpace [4]

                    2, //pockets [5]
                    20, //pocketCapacity [6]
                    40, //totalPocletSpace [7]
                    
                    90, //totalPocketAndWalletSpace [8]

                    0, //pocketSpaceUsed [9]
                    0, //walletSpaceUsed [10]
                    0, //fineSpaceUsed [11] (for items smaller than 1, multiply this by *0.10, then add this to spaceUsed)
                    0, //totalSpaceUsed [12]
                    
                    0, //freePocketSpace [13]
                    0, //freeWalletSpace [14]
                    0, //freeFineSpace [15]
                    0, //freeSpace [16]
                    
                    0, //valueStored [17]
                    0, //coinsize [18]
                    
                    0, //Merks Carried [19]
                    
                    0, //Value of Dsari banked [20]
                    0, //Value of Merks banked [21]
                    0, //Dsari CryDiscs [22]
                    0, //merks CryDiscs [23]
                    
                    
                    0, //NO_FREE_SPACE [24] Message
                    0}; //NO_SPACE_SFX [25] SFX
                    
NPCDs
int ScriptTypes[10]={0,0,0,0,0,0,0,0,0,0}; //Temporary array for special script types. Use NPCDT_ constants in indixes.


Overworldint warpArray[5]={0,0,0,0,0};

const int warpDMAP = 0;
const int warpScreen = 1;
const int warpX = 2;
const int warpY = 3;
const int warpZ = 4;

//Merge this all into GameDynamics!

Skills
int skillCheckArray[32] = { 0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0, 0 };
			

int skillLevels[11]={ 1, // Lore
                    1, // Mystic Lore
                    1, // Site & History Lore
                    1, // Swordsmanship
                    1, // Marksmanship
                    1, // Diplomacy
                    1, // Spellcraft
                    1, // Perception
                    1, // Language
                    1, // Thief
                    1}; //Assense
		    
		    
Spells
int currentSpells[9]={0,0,0,0,0,0,0,0,0};   //Hplds current spells (see Spell Constants) for each 
                                            //item that can be set with the SET menuy command.


Stats
int statsArray[6]= {10, 10, 10, 10, 10, 10};
// Muscle, Body, Mind, Myst, infl, Luck
// These are the starting values. The Increase functions 
// will operate via this array, as will all other stat functions.

Status
int savingThrows[22]={  0, // Posion
                        0, // Stun
                        0, // Fatigue
                        0, // Magic
                        0, // Psychic
                        0, // Fire
                        0, // Water
                        0, // Air
                        0, // Earth
                        0, // Light
                        0, // Darkness
                        0, // Sonic
                        0, // Petrification
                        0, // Fear
                        0, // Death
                        0, // Horror
                        0, // Insanity
                        0, // Corruption
                        0, // Depravity
                        0, // Righteousness
                        0, // Purity
                        0}; // Fate
			
int elementalResistance[7]={0, //Fire & Heat
                            0, //Water & Ice
                            0, //Air & Electricity
                            0, //Earth & Acid
                            0, //Light
                            0, //Darkness
                            0}; //Sonic
                            
int taintArray[4]={ 0, //Corruption
                    0, //Depravity
                    0, //Righteusness
                    0}; //Purity
		    

Weapons
		    
int NPC_SCRIPT_DEFENSE[1000]; //An array, to hold NPC defence flags.

float armourDefenseArray[20]={0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0};
			     
bool WeaponCreated[40]; // Used for NWS v1, to tell the game engine to use the NWS global functions for a given weapon.

