@ Elvenfyre, well spotted

, I will add a path-search To the "help the buddy"-section.
@ QPRman, If you have a computer that is a bit different than the others have, Then you're welcome To test.

And... erm.. Ty... Did you manage To "set aside" a section where I can upload my stuff ?
In general: I've programmed 4 more functions.
Function 1: copy the character-Data To the work-array ( the work-array is where all the Data For all characters And monsters is stored (monster-Data only during battles)
Function Copy_CharData_To_Warray( Char )
Warray ( Char , 1 ) = Char_data ( Char , 1 ) ; promotion
Warray ( Char , 2 ) = Char_data ( Char , 2 ) ; level
Warray ( Char , 3 ) = Char_data ( Char , 3 ) ; experience
Warray ( Char , 4 ) = Char_data ( Char , 4 ) ; hp
Warray ( Char , 5 ) = Char_data ( Char , 5 ) ; mp
Warray ( Char , 6 ) = Char_data ( Char , 6 ) ; hp-max
Warray ( Char , 7 ) = Char_data ( Char , 7 ) ; mp-max
Warray ( Char , 8 ) = Char_data ( Char , 8 ) ; attack
Warray ( Char , 9 ) = Char_data ( Char , 9 ) ; defend
Warray ( Char , 10 ) = Char_data ( Char , 10 ) ; agility
Warray ( Char , 11 ) = Char_data ( Char , 11 ) ; movement
Warray ( Char , 12 ) = Char_data ( Char , 12 ) ; weapon
Warray ( Char , 13 ) = Char_data ( Char , 13 ) ; ring
Warray ( Char , 14 ) = Char_data ( Char , 14 ) ; spell 1 type
Warray ( Char , 15 ) = Char_data ( Char , 15 ) ; spell 1 level
Warray ( Char , 16 ) = Char_data ( Char , 16 ) ; spell 2 type
Warray ( Char , 17 ) = Char_data ( Char , 17 ) ; spell 2 level
Warray ( Char , 18 ) = Char_data ( Char , 18 ) ; spell 3 type
Warray ( Char , 19 ) = Char_data ( Char , 19 ) ; spell 3 level
Warray ( Char , 20 ) = Char_data ( Char , 20 ) ; spell 4 type
Warray ( Char , 21 ) = Char_data ( Char , 21 ) ; spell 4 level
Warray ( Char , 22 ) = Char_data ( Char , 22 ) ; kills
Warray ( Char , 23 ) = Char_data ( Char , 23 ) ; defeat
Warray ( Char , 24 ) = Char_data ( Char , 24 ) ; weapon equip -> see 12 - takes up item slot
Warray ( Char , 25 ) = Char_data ( Char , 25 ) ; ring equip -> see 13 - takes up item slot
Warray ( Char , 26 ) = Char_data ( Char , 26 ) ; mental status
Warray ( Char , 27 ) = Char_data ( Char , 27 ) ; terraintype
Warray ( Char , 28 ) = Char_data ( Char , 28 ) ; class
Warray ( Char , 29 ) = -1 ; EMPTY
Warray ( Char , 30 ) = Warray ( Char , 12 ) ; item slot 1
Warray ( Char , 31 ) = Warray ( Char , 13 ) ; item slot 2
Warray ( Char , 32 ) = medical_herb ; item slot 3
Warray ( Char , 33 ) = 0 ; item slot 4
Warray ( Char , 34 ) = 0 ; gridnumber
Warray ( Char , 35 ) = -1 ; mental
Warray ( Char , 36 ) = -1 ; mentalno
Warray ( Char , 37 ) = 0 ; tile defense
Warray ( Char , 38 ) = 0 ; mithril
Warray ( Char , 39 ) = 0 ; mithrilctr
Warray ( Char , 40 ) = -1 ; EMTPY
End Function
The CHAR - parameter is the name of the character, And since there are 30 characters , you have 30 names, which are all unique.
Function 2 is a bit like the First one, except this one's For the bad guys.
Function Copy_MonsterData_To_Warray ( MonsterNumber , Monster )
Warray ( MonsterNumber , 1 ) = Monster_data ( Monster , 1 ) ; type
Warray ( MonsterNumber , 2 ) = Monster_data ( Monster , 2 ) ; value
Warray ( MonsterNumber , 3 ) = Monster_data ( Monster , 13 ) ; add exp 13
Warray ( MonsterNumber , 4 ) = Monster_data ( Monster , 3 ) ; hp
Warray ( MonsterNumber , 5 ) = Monster_data ( Monster , 4 ) ; mp
Warray ( MonsterNumber , 6 ) = Monster_data ( Monster , 5 ) ; hp-max
Warray ( MonsterNumber , 7 ) = Monster_data ( Monster , 6 ) ; mp-max
Warray ( MonsterNumber , 8 ) = Monster_data ( Monster , 7 ) ; attack
Warray ( MonsterNumber , 9 ) = Monster_data ( Monster , 8 ) ; defend
Warray ( MonsterNumber , 10 ) = Monster_data ( Monster , 9 ) ; agility
Warray ( MonsterNumber , 11 ) = Monster_data ( Monster , 10 ) ; movement
Warray ( MonsterNumber , 12 ) = Monster_data ( Monster , 11 ) ; weapon
;13 add exp -> moved to section 3
Warray ( MonsterNumber , 14 ) = Monster_data ( Monster , 13 ) ; spell 1 type
Warray ( MonsterNumber , 15 ) = Monster_data ( Monster , 14 ) ; spell 1 level
Warray ( MonsterNumber , 16 ) = Monster_data ( Monster , 15 ) ; spell 2 type
Warray ( MonsterNumber , 17 ) = Monster_data ( Monster , 16 ) ; spell 2 level
Warray ( MonsterNumber , 18 ) = Monster_data ( Monster , 17 ) ; spell 3 type
Warray ( MonsterNumber , 19 ) = Monster_data ( Monster , 18 ) ; spell 3 level
Warray ( MonsterNumber , 20 ) = Monster_data ( Monster , 19 ) ; spell 4 type
Warray ( MonsterNumber , 21 ) = Monster_data ( Monster , 20 ) ; spell 4 level
Warray ( MonsterNumber , 22 ) = Monster_data ( Monster , 25 ) ; kills
Warray ( MonsterNumber , 23 ) = Monster_data ( Monster , 26 ) ; defeat
Warray ( MonsterNumber , 24 ) = -1 ;24 n/a ; weapon equip
Warray ( MonsterNumber , 25 ) = -1 ;25 n/a ; ring equip
Warray ( MonsterNumber , 26 ) = 0 ;26 ; mental status
Warray ( MonsterNumber , 27 ) = Monster_data ( Monster , 27 ) ; terraintype
Warray ( MonsterNumber , 28 ) = -1 ; class
Warray ( MonsterNumber , 29 ) = -1 ; EMPTY EMPTY EMPTY
Warray ( MonsterNumber , 30 ) = Monster_data ( Monster , 21 ) ; item slot 1
Warray ( MonsterNumber , 31 ) = Monster_data ( Monster , 22 ) ; item slot 2
Warray ( MonsterNumber , 32 ) = Monster_data ( Monster , 23 ) ; item slot 3
Warray ( MonsterNumber , 33 ) = Monster_data ( Monster , 24 ) ; item slot 4
Warray ( MonsterNumber , 34 ) = 0 ; gridnumber
Warray ( MonsterNumber , 35 ) = -1 ; mental
Warray ( MonsterNumber , 36 ) = -1 ; mentalno
Warray ( MonsterNumber , 37 ) = 0 ; tile defense
Warray ( MonsterNumber , 38 ) = -1 ; mithril
Warray ( MonsterNumber , 39 ) = -1 ; mithrilctr
Warray ( MonsterNumber , 40 ) = -1 ; ?????
End Function
You probably noticed I juggled a bit with the numbers here

That's because monsters do Not promote , do Not have levels (For leveling up reasons), do Not own mithril-weapons , don't need To check If their weapon is equipped. etc etc.
And characters do Not use the "add experience" variable.
Also, there are two parameters:
Monster And
Monsternumber . The
Monster-variable is the Type of the monster.
In Shining Force 2, there are 85 different monsters. In most battles there are multiple enemies of the same race ( 5 smokes , 6 rats etc etc). So, this makes them Not unique. This is where the
Monsternumber comes in.
Each monster in a battle is numbered from 31 upwards (why 31 ? Because there are 30 characters, that's why

)
This way Each monster keeps his/her/its "uniqueness" .
Function 3: The Default-chest-content-checklist (try saying this 10 times with a set of False teeth

)
Somewhere in the bowels of the game, there is a spot reserved where the Progress-Genie keeps track which chests , you , the player , have opened And which Not.
Well , there has To be a Default-list Right ? Riiiiiight .

So, when you start a New game, the game reads the Default-list , And puts the contents in the Progress-Field: Chest_Contents[
nChests] (what does "
nChests" mean ? answer: The total
number of
Chests you can open in the game.)
Function Copy_Default_Chest_Contents_To_Progress()
P.Progress = First Progress
If ( P <> Null )
For T = 0 To 87
P\Chest_Contents[ T ] = Chest_Contents( T )
Next
Else
RuntimeError "could not copy default chest contents to PROGRESS TYPE (CoDeChCoToPr-function)"
EndIf
End Function
Function Read_Chest_Contents()
Restore ChestData
Read Number_of_Contents
For T = 0 To Number_of_Contents
Read Content
Chest_Contents( T ) = Content
Next
End Function
Function 4: this one works in tandem with Function 3 And checks If the contents of Function 3 are ok. It's just a fail-safe.
Well, now this one's nearly finished. When I link the Work-Array with the SAVING and LOADING (and I really do hope that this works from the word GO

) I am (or rather.... WE ARE.... ) one step closer to testing.
Left to do: write a function for model-placement in the maps I've made. One for the editor , and one for the final version. This function MUST include X , Y & Z position , X , Y & Z rotation , model-number (1=tree , 2=fence , 3=chest , 4=torch , 5=lamp , etc. etc. )
entityscale for X , Y & Z ( and maybe a few other things ? )
I'm very close to a brain-fry (opposite of brain-freeze

)