In depth Guide for Slavers Of Skyrim

Chapter:	Local Lord Entity details and description
Modul: Entity Modul
-------------------------------------------
Written for: Stage 2 version
in the year of: 2025
Month: 1
Day: 7
-------------------------------------------

=====================
Local Lord Entity General discription
=====================

Evry region has own local lords that keep track localy the slavery events and evidence.
This informations and the local lords it self represented in a single quest. that stores data for all regions.
When new region need to added the system just need to add new record here to the quest, fill few form list and new reagion ready to work!

Just need restart the quest and region data got updated... ( and all evidence data set 0... )
For improved stability of the system this entity recived significant ammount of verification and safety checks when starting up.

The quest that represent all of the local lords is:
SLOSLocalLordEntity

The quest aliases used to define the locations and spawn points inside the location. Spawn points used by local lord strike team. this spawn point need to be placed inside the jarl hause/palace.

all the data stored on:
SLOSDataLocalLordEntitiyScript 

this script has many propertys and very important all array need has the same size.
The localy stored data represent the evidence collected localy aginst the varius factions.
Same time keep track strike quest running in region or not.

let see the local variables in detail!

LocationAlias[] Property HoldArray Auto -- list of the holds, evry other array need matching number of this and order!
{All hold added to this}
ReferenceAlias[] Property SpawnArray Auto  -- spawn points for each hold, same order as the hold array, so whiterun at first both cases
{filled same order as holds but for its local spawn points}

Bool[] Property StrikeInProgress Auto  -- keep track strike aginst slaver base in progress or not the region

int[] Property EvidancePlayerOwenedBase Auto  --evidence aginst player bases in each regoin
int[] Property EvidanceSlaverGuild Auto  ---evidence aginst salver guild bases in each region
int[] Property EvidanceRingOfZenithar Auto --evidence aginst ring of zenithar in each regoin

int[] Property EvidancePlayer Auto -- evidence aginst player each regoin
int[] Property PlayerTrust Auto -- player trust on each region

int Property PlayerEvidenceItemCount Auto Conditional -- player turned in evidence item how mutch evidence point give. its a setting that can be configured

most inner working fucntion handled by this script:
SLOSLocalLordEntityLibaryScript 

possible things need handled:
-player turn in evidence aginst any faction
-giving out locationID based on input data. The location ID tells what element of array need to be referenced when the chosen hold/region data need to interacted.
basicly the call number for the specific region data.
becuse all array organized in same order... one number tell witch one need to be interacted.
-end of cycle event:
when cycle ends evidence aginst player reduced by 1 in all regions if evidence higher than 0

=====================
Evidence System
=====================

Evidence System meant to provide player items that can be used as evidence aginst varius factions.
These evidence items can be found in game world inside revelant faction memebr pockets.

Fallowing keywords used to mark a item as evidence:

keyword:
SLOSEvidenceSlaverGuild - mark item to evidence
SLOSLocalLordEvidenceSlaverGuildKeyword - mark item to evidence aginst slaver guild
SLOSLocalLordEvidenceRingOfZenitharKeyword - mark item to evidence aginst ring of zenithar

The collected evidence can be given any guard that are part of the Local Lord entity system registered regions.
This incrase the local trust on player, and evidence aginst this factions in the regoin where the guard belong.

=====================
Strike system:
=====================

Strikes ordered by the Local Lord entity event script!

All Local Lord Entity Strike quest named by the fallowing system:
SLOSLocalLordStrikeQuest [ number ]
where number is represent the quest number

Fallowing script control the inner working of the strike quest:
SLOSLocalLordStrikeQuestScript 

when the quest started load the strike data from SLOS Core Quest.
	CoreCode.LocalLordStrikeActorBase = actor base that give the members of strike team
	CoreCode.LocalLordStikeLocationID = Location id that tells the strike quest where need to strike, this dictates where is the strike team going to spawn
	CoreCode.LocalLordStrikeTargetData = Tells what is the target quest, based on the slaver guild quest the location can be found and strike team can be sent there!

then based on recived information select the spawn point and create the strike force!

After the strike team created, they fallow the packages that order the strike team to go the designated strike location.
After the strike team any member reach the designated location the count down start and if any strike members survive the time the strike considered succses.

how long the strike team need survive determianted by the: CoreCode.LocalLordStrikeWaitTimeOnLocation 
varaible + a random number of hours+player mercanary count if the targeted location controlled by the player.

strike team mebers can be captured or killed.
if strike team size reduced to 0 the strike considered failed.

no matter how end the strike, report sent with results to:
SLOSEventLocalLordStrikeResult
quest

in case strike sent aginst player:
this event controled by the quest named:
SLOSLocalLordStrikePlayerQuest

this quest control the strike event it self.
The strike team goal is jail or fine the player for it crimes.
if player chose to resist of corse they try to kill the player.

the strike quest report same way the succses or failure as the strike aginst slaver base quest.