-- Toggle marking enemies function setEnemyColor(unit) local enemyType = unit:base()._tweak_table local color, target_color -- Civilians | Green if enemyType == "civilian" or enemyType == "civilian_female" then color = Vector3( 0.1687, 0.5529, 0 ) target_color = Vector3( 0.1688, 0.5529, 0 ) -- Taser | Blue elseif enemyType == "taser" then color = Vector3(0, 0.3804, 0.6235) target_color = Vector3(0.001, 0.3804, 0.6235) -- Shield | Orange elseif enemyType == "shield" then color = Vector3(1, 0.5, 0) target_color = Vector3(1.001, 0.5, 0) -- Tank | Yellow elseif enemyType == "tank" then color = Vector3(1, 1, 0) target_color = Vector3(1.001, 1, 0) -- Sniper | Pink elseif enemyType == "sniper" then color = Vector3(1, 0.35, 0.35) target_color = Vector3(1.001, 0.35, 0.35) -- Cop/unknown | Purple else color = Vector3(0.5216, 0, 0.5529) target_color = Vector3(0.5217, 0, 0.5529) end -- Set colors managers.game_play_central._enemy_contour_units[unit:key()].color = color managers.game_play_central._enemy_contour_units[unit:key()].target_color = target_color end function mark_enemies() local units = World:find_units_quick( "all", 3, 16, 21, managers.slot:get_mask( "enemies" ) ) for i,unit in ipairs( units ) do if not unit:brain() or not unit:brain()._logic_data or not unit:brain()._logic_data.objective or (unit:brain()._logic_data.objective.type ~= "surrender" and unit:brain()._logic_data.objective.type ~= "follow") then if tweak_data.character[ unit:base()._tweak_table ].silent_priority_shout then managers.game_play_central:add_enemy_contour( unit, true ) setEnemyColor(unit) elseif unit:character_damage().on_marked_state then managers.game_play_central:add_enemy_contour( unit, false ) setEnemyColor(unit) end end end for u_key, unit in pairs( managers.groupai:state()._security_cameras ) do managers.game_play_central:add_marked_contour_unit( unit ) end end function UnitNetworkHandler:mark_enemy( unit, marking_strength, sender ) end if not _markingToggle then _markingToggle = true else _markingToggle = nil end if not _gameUpdate then _gameUpdate = GameSetup.update end do local _gameUpdateLastMark function GameSetup:update( t, dt ) _gameUpdate(self, t, dt) if _markingToggle and (not _gameUpdateLastMark or t - _gameUpdateLastMark > 4) then _gameUpdateLastMark = t mark_enemies() end end end
-- X-RAY VISION v2.0 (post infamy edition) -- MARKS ENEMIES ONLY function mark_enemies() for u_key,u_data in pairs(managers.enemy:all_civilians()) do --u_data.unit:contour():add( "mark_enemy" ) end for u_key,u_data in pairs(managers.enemy:all_enemies()) do u_data.unit:contour():add( "mark_enemy" ) end for u_key, unit in pairs( managers.groupai:state()._security_cameras ) do --unit:contour():add( "mark_enemy" ) end end function UnitNetworkHandler:mark_enemy( unit, marking_strength, sender ) end if not _markingToggle then _marktoggle = nil _markingToggle = true else _markingToggle = nil end if not _gameUpdate then _gameUpdate = GameSetup.update end do local _gameUpdateLastMark function GameSetup:update( t, dt ) _gameUpdate(self, t, dt) _gameUpdateLastMark = t if _markingToggle then mark_enemies() else if not _marktoggle then _marktoggle = true for u_key,u_data in pairs(managers.enemy:all_enemies()) do u_data.unit:contour():remove( "mark_enemy" ) end end end end end
-- X-RAY VISION v2.0 (post infamy edition) -- MARKS ENEMIES ONLY function mark_enemies() for u_key,u_data in pairs(managers.enemy:all_civilians()) do u_data.unit:contour():add( "mark_enemy" ) end for u_key,u_data in pairs(managers.enemy:all_enemies()) do u_data.unit:contour():add( "mark_enemy" ) end for u_key, unit in pairs( managers.groupai:state()._security_cameras ) do --unit:contour():add( "mark_enemy" ) end end function UnitNetworkHandler:mark_enemy( unit, marking_strength, sender ) end if not _markingToggle then _marktoggle = nil _markingToggle = true else _markingToggle = nil end if not _gameUpdate then _gameUpdate = GameSetup.update end do local _gameUpdateLastMark function GameSetup:update( t, dt ) _gameUpdate(self, t, dt) _gameUpdateLastMark = t if _markingToggle then mark_enemies() else if not _marktoggle then _marktoggle = true for u_key,u_data in pairs(managers.enemy:all_enemies()) do u_data.unit:contour():remove( "mark_enemy" ) end end end end end
-- X-RAY VISION v2.0 (post infamy edition)
-- MARKS ENEMIES,CIVIES,CAMS
function mark_enemies()
for u_key,u_data in pairs(managers.enemy:all_civilians()) do
u_data.unit:contour():add( "mark_enemy" )
end
for u_key,u_data in pairs(managers.enemy:all_enemies()) do
u_data.unit:contour():add( "mark_enemy" )
end
for u_key, unit in pairs( managers.groupai:state()._security_cameras ) do
--unit:contour():add( "mark_enemy" )
end
local units = World:find_units_quick( "all" )
for i,unit in ipairs( units ) do
if unit:contour() then
unit:contour():add( "mark_unit" )
end
end
end
function UnitNetworkHandler:mark_enemy( unit, marking_strength, sender )
end
if not _markingToggle then _marktoggle = nil _markingToggle = true
else _markingToggle = nil
end
if not _gameUpdate then _gameUpdate = GameSetup.update
end
do
local _gameUpdateLastMark
function GameSetup:update( t, dt )
_gameUpdate(self, t, dt)
_gameUpdateLastMark = t
if _markingToggle then
mark_enemies()
else
if not _marktoggle then
_marktoggle = true
for u_key,u_data in pairs(managers.enemy:all_enemies()) do
u_data.unit:contour():remove( "mark_enemy" )
end
end
end
end
end