' Updates players diplomacy values based on troop positions
Sub CalcDipBasedOnTroopPlacements()
Dim x As Byte, md As Single
Dim GoodPlayerScaryVal As Single, EvilPlayerScaryVal As Single
For x = 1 To 7
GoodPlayerScaryVal = cmScaryVal(currplayer, x)
EvilPlayerScaryVal = cmScaryVal(x, currplayer)
md = (GoodPlayerScaryVal / EvilPlayerScaryVal) * player(currplayer).admin.dipben
player(currplayer).admin.dip(x) = player(currplayer).admin.dip(x) / md
Next x
End Sub
' Calculates ScaryVal
Function cmScaryVal(goodplayer As Byte, evilplayer As Byte) As Single
Dim Hd As Single, Ed As Single
Dim x As Integer
Hd = calcdistance(player(goodplayer).building(1).xc, player(goodplayer).building(1).yc, _
player(evilplayer).building(1).xc, player(evilplayer).building(1).yc)
For x = 1 To UBound(player(evilplayer).unit)
Ed = calcdistance(player(evilplayer).unit(x).xc, player(evilplayer).unit(x).yc,_
player(goodplayer).building(1).xc, player(goodplayer).building(1).yc)
If Ed < Hd Then
cmScaryVal = cmScaryVal + (((Hd - Ed) * player(evilplayer).unit(x).might) / player(evilplayer).admin.dipben)
End If
Next x
End Function