Code:
def process_player_target(target,distance,signal,sensor_type)
if(signal > target.scoutcraft*1.5)
...
elsif (signal > target.scoutcraft)
...
end
end
Don't be tricked with "distance" attribute. It's not used in this function.
However, there is an entire logic on "Signal" attribute, different NPC have different sensors and on each action that Signal calculates with range, strength and all, also different layers of 'Perception'
So... with some input "signal", if that "signal" > your scoutcraft (1:1) - enemy will lost your target and move near last known location.
And if that signal > your scoutcraft * 1.5, enemy will stick to you and attack.
So each point in SC will effectively reduce the range of aggro.
For instance, if you have 5 and signal was some noise of 8, enemy will attack you straightforward, because 8 > 5*1.5 = 8>7.5
But(t), if you move away for 1 cell, the same signal will be calculated as 6, so the enemy will be just "alerted", maybe turn around and move to check if it's "must've been the wind"
U asked for this