Diese parameterlose Prozedur wird immer zu Beginn einer Regionsauswertung aufgerufen. Das Objekt region ist dabei schon gültig.
Sie eignet sich besonders dazu, regionslokale Informationen auszugeben (z. B. bewachende Parteien, anwesende Fremde etc.), oder die Verteilung von Gütern innerhalb einer Region zu realisieren.
Es soll in jeder Region ausgegeben werden, ob und wer dort bewacht. Dazu dient z. B. folgende kleine Prozedur.
#proc ShowGuardingParties
{
#dict $Guards
#var $i
$i=0
#while $i<region.einheiten
{
#if region.unit[$i].bewacht
{
$Guards[region.unit[$i].parteiname]=region.unit[$i].parteiname+' ('+region.unit[$i].partei+')'
}
$i=$i+1
}
#if $Guards.size
{
#message '--------------------'
#message 'Bewachende Parteien:'
$i=0
#while $i<$Guards.size
{
#message '- '+$Guards[$Guards($i)]
$i=$i+1
}
#message '--------------------'
}
#else
{
#if region.terrain!='Ozean'
{
#message '------------------------'
#message 'Die Region is unbewacht.'
#message '------------------------'
}
}
}
Um dies nun aus jeder Region zu nutzen ohne etwas in den Befehlen der Einheiten zu schreiben verwendet man OnRegion:
#proc OnRegion
{
#call ShowGuardingParties
}
Für eine von drei imaginären Parteien bewachte Region erhält man dann vielleicht folgendes:
; --------------------
; Bewachende Parteien:
; Die Schlümpfe (1a2)
; Tross der Treulosen Tomatenzüchter (ttt)
; Die Steinbutte (240)
; --------------------
Die Zeilen stehen dann im Regions-Teil der Zugvorlage nach den normalen Regionsinformationen.
#proc, EndRegion, Rückruf-Prozeduren allgemein Revision 04 Jul 2006
|