LORE CALLOUTS by ZPhDevs version 1.1.6 Public

--------------------------------------------------------------------------------------------------------------------------------------------
Thank you for downloading this modification

This mod aims to bring an immersive experience to LSPDFR by providing a minimalistic, true to lore, callout pack.

--------------------------------------------------------------------------------------------------------------------------------------------
LICENSE

THE MOD IS PROVIDED "AS IS", WHICH MEANS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

1. YOU MAY NOT REDISTRIBUTE, RE-UPLOAD OR SHARE WITH ANY OTHER PERSON ANY FILE CONTAINED WITHIN THIS MODIFICATION WITHOUT WRITTEN PERMISSION
2. YOU MAY NOT EDIT, REVERSE-ENGINEER, DECOMPILE, TAMPER WITH, OR OTHERWISE MIS-USE ANY FILES IN THIS MODIFICATION FOR PURPOSES OF UPLOADING AND SHARING
3. YOU MAY EDIT FILES WITHIN THIS MODIFICATION FOR PRIVATE USE ONLY
4. I CAN NOT BE HELD RESPONSIBLE FOR ANY DAMAGE TO THE USERS COMPUTER, SOFTWARE, GAME INSTALLATION, ACCOUNTS OR ANY OTHER PHYSICAL OR DIGITAL PROPERTY OF YOURS. PLEASE BACKUP YOUR FILES BEFORE USING THIS MOD
5. YOU MAY RECORD AND PUBLICLY DISPLAY AND SHARE VIDEOS AND SCREENSHOTS USING THIS MODIFICATION WITHOUT PERMISSION, HOWEVER PLEASE CONSIDER USING CREDITS TO AUTHORS. YOU MAY ALSO LINK TO THE ORIGINAL MOD DOWNLOAD PAGE ON LSPDFR.
6. YOU MAY NOT CHARGE ANY MONEY OR SOLICIT DONATIONS TO PROVIDE INSTALLATION, CONFIGURATION, TROUBLESHOOTING OR ANY OTHER HELP/SERVICES RELATED TO THIS MODIFICATION.
--------------------------------------------------------------------------------------------------------------------------------------------
INSTALLATION

To install this modification drop all files in files/Grand Theft Auto V to
1) lspdfr/audio/scanner for LoreCalloutsAudio foler
2) plugins/LSPDFR for Lore Callouts.dll and Lore Callouts.ini
3) plugins/LSPDFR/Lore Callouts for suspects.dat

To install the required textures for this modification drop all .ytd files in the icon folder to (requires third party software to access .rpf files)
1) mods\update\update.rpf\x64\data\cdimages\scaleform_generic.rpf for char_countycoroner.ytd and char_tow_tonya.ytd


--------------------------------------------------------------------------------------------------------------------------------------------
SETUP

After installation, make sure you
1) go through Lore Callouts.ini and make any adjustments you feel like you have to.

You can disable and enable certain callouts and features by inserting false or true as a boolean value.

--------------------------------------------------------------------------------------------------------------------------------------------
KNOWN ISSUES

When the game engine is put under heavy script-related load (from running multiple plugins at the same time in heavily populated areas), some features from this plugin which are depending on frame by frame data such as the mobile phone interface may stop working momentarily. Reloading the plugin resolves the issue.

--------------------------------------------------------------------------------------------------------------------------------------------
REQUIREMENTS

- RAGE Plugin Hook, version v1.104.1327.16500 (not included)
- LSPDFR, version 0.4.9 (0.4.8433.20359) (not included)

--------------------------------------------------------------------------------------------------------------------------------------------
RECOMMENDATIONS

It is recommended you use Lore Wardrobe for a complete immersive experience, available at https://www.lcpdfr.com/downloads/gta5mods/character/35584-lore-wardrobe/

--------------------------------------------------------------------------------------------------------------------------------------------
PATCH NOTES

﻿1.1.6 PUBLIC
- Cleaned up callout Motor vehicle accident, removed outdated code and made the call more straightforward.
- Added player ambient speech when responding to calls. This may be toggled on and off in the initialization file by changing PlayerAmbientSpeech.
- Fixed an issue with callout Shoplifting where if the player tried to engage the suspect before arriving at the store, subtitles and HUD elements would not update accordingly.
- Added a new scenario to callout Shoplifting, the shopkeeper may now attempt to apprehend the thief on their own.
- Added log entries to when a callout is denied because the spawnpoint is too far away from the player.
- Added a few more spawnpoints for callouts.
- Added dispatch radio for which traffic offence the suspect in callout TrafficStop was pulled over for, to provide some context for the scenario.
- Experimental feature implemented for wanted suspects to carry over between sessions, as it has been requested heavily. Suspects are now stored in suspects.dat found under /.../Plugins/LSPDFR/Lore Callouts. This file can be removed if users wants to start over. It will be rebuilt next time the plugin starts.
- Added a new scenario to callout Warrant to increase immersion, which tasks the player to transport suspects to court houses throughout the State. This scenario is on a 6 minute timer (8 minutes on the countryside) and fails if it runs out ( to simulate court house open hours and add some challenge).
- Added new world event to the pool, which lets the user find dumped narcotics andd weapons in the area. This world event is investigative and adds an entry to suspects.dat which allows users to also serve an arrest warrant/court order later on.
- Added a notification when the user goes on duty for the first time each session which details how many active cases (outstanding suspects) there are active. These will then trigger the Warrant callout later.
- Fixed an issue where the script accidently could register the player as a witness on Trespassing crime scenes.
- Added a couple of new apartments and properties for Burglary/Warrant callouts

﻿1.1.5 PUBLIC
- Added dyanmic callout trigger range which can vary depending on which world zone the call is triggered from, allowing for longer distances in e.g Grand Senora Desert.
- Added player radio action, speech and dispatch radio sound to callout termination.
- If a callout is denied at creation because the requirements haven't been completed (E.g Helicopter support and the player is in a ground vehicle), it will now immediately trigger another callout to prevent unnecessary long down time between calls.
- Text messages can now be twice the lenght. Sometimes, if the person had a long name and the location was e.g Los Santos International Airport, the text was cut short.
- Merged a few tutorial text messages into one.
- Activated the Mechanic contact. Users may now call this contact to have their last police vehicle delivered.
- Opening the phone while the text notification is still active above the radar now immediately opens the text message on the phone.
- Completely overhauled the spawnpoints. All callouts now share a common spawnpoint logic with all areas having a display name for subtitles, two locations for vehicles, and a primary, secondary, tertiary and quantenary location for pedestrians. This should make the callouts feel a lot more dynamic. The plugin no longer needs to rely on randomly generated positions, which should result in less janky situations (as per GTA standards).
- Added interiors to apartment locations (e.g the ones used in Warrant). If the suspect can't be found outside, they are most likely inside their apartment and the user may enter these to look for them.
- Burglary suspects can now spawn inside interiors as well (at selected spawnpoints where interiors are available).
- Added a new variant to Disturbance. The new scenario involves a firearms possession threat. In addition, the property damage variant was changed to now involve an aggressor smashing the victim's vehicle.
- Added a balaclava and a shoulder bag to the main bank robbery suspect.
- Added an experimental partner feature (disabled by default, you may enable it inside the initialization file). Users can recruit/dismiss a partner by holding down the context key (E by default) and make them stay/follow by pressing the secondary context key (Q by default).
- Added realistic response for EmergencyServices. All ambulances spawned by the plugin are now dispatched from the closest ambulance station.
- Added a new callout, Vicious animal, which takes the user out in the wilderness to find dangerous animals on hiker trails.
- Removed callout Helicopter support and merged it into Suspect resisting arrest.
- Added a new callout, Shoplifting, which takes the user to various stores in San Andreas.
- Added a few new settings to the initialization file, namely TimerBars.TimerMultiplier which scales the timer based on distance (1.0f is default 1:1 ratio, 0.5f is half the time, 2.0f is double the time etc) and Scenario.Timeout (default 120 seconds).
- Due to a name change of the plugin DLL itself (From LoreCallouts.dll to Lore Callouts.dll), a check has been implemented to make sure the user isn't accidently running an older version simultaneously.
- Added the option to set the officer, deputy, paramedic and coroner ped models to the initialization file. These are found under "Pedestrians".
- Removed script VehicleControl (indicators and brake lights) and merged into another (as of writing) unreleased plugin.
- Added a new callout, Traffic stop.
- Added more clear instructions how to progress the drug deal callout.

﻿1.1.4 PUBLIC
- The plugin now requires the latest initialization file to be used, or else it won't start.
- Default value for WorldEvents.MinTimeBetween has been increased to 45 (was 35).
- Re-enabled VehicleSpawns.
- Attempted to fix an issue with DynamicVehicleSearch and BodyInteration where in combination with other plugins or heavy script-related workload could crash LSPDFR.
- Cleaned up and deleted old and unnecessary code.
- Optimized relevant code and merged some callout features into common libraries for standardization.
- Added random gang member waves to CriminalActivity to slightly increase the difficulty for the player to run away with criminal goods.
- Callouts are now terminated by holding down the DEL key/X button for a few seconds (a progresss bar will show the status on screen). This was done to prevent accidental callout terminations for keyboard users and also as a quality of life improvement for controller users (who might have X keybinded to something else)
- Added idle animations for witnesses and also made them turn to face the player in a natural manner (previously they snapped to face the player before waving.)
- Improvements was made to EmergencyServices code. A few new animations was added as well.
- Some adjustments made to HeliCam, right-clicking on a target for police action should now be more fluent and the HUD text updated accordingly.

1.1.3.5 PUBLIC
- Disabled VehicleSpawns because of consistent plugin crashes for users.

1.1.3 PUBLIC
- Updated callout CriminalActivity so the suspect will attempt to take back the confiscated item from the player.
- Replaced WorldEvent spawnpoints with a set of new ones and fixed an issue which sometimes caused events to spawn at the center of the map X:0, Y:0, Z:0. This could also cause a LSPDFR crash for some users.
- Tuned WorldEvents loop to not send a new one immediately after the player interated with and completed the last one. The loop will now properly start over and trigger a new one after a cooldown.
- Added Amphibious variant to CriminalActivity.
- A helicopter now spawns at Downtown Police Station, two settings for this feature has also been added to the initialization file. VehicleSpawns to toggle the feature and PoliceHelicopter to set the model.
- Fixed callout CriminalActivity where, in combination with other plugins, some users got stuck on the prep stage with taking the Police Transport/Police Predator.
- Updated for Controller support, most (if not all) keys should now properly work on a controller as well.
- Added BodyInteraction, a new feature which allows players to interact with bodies in the game world. Hold E to drag the body, or hold Q to frisk them. In addition to this, a setting to toggle the feature has been added to the initialization file (BodyInteraction).
- Fixed animations for callout DrugDeal. The dealer and the buyer will now properly shake hands when the player arrives.
- Added a few more items for the investigative callouts.
- Update DynamicVehicleSearch, users must now press and hold the context key (E by default) to search a vehicle. A progress bar has been added as well.

1.1.2 PUBLIC
- Fixed an issue with the report crime feature which could automatically trigger a pursuit regardless of user input.
- Updated callout sanner audio for when an ambulance has been dispatched or a suspect left the scene.
- Mobile phone now displays unread messege notifications on the icon at the homescreeen.
- From user suggestions, reading a world event text message on the mobile phone now gives the user directions to the location.
- Tuned DynamicVehicleSearch, chance to find contraband/narcotics/weapons has been increased slightly.
- Added WorldEvents.MinTimeBetween and WorldEvents.MaxTimeBetween to the initialization file, letting users set these values (in seconds) themselves.
- Fixed an issue with WorldEvents which caused a LSPDFR crash when users switched characters and/or went off duty.
- Reworked callout MVA with new spawn logic and vehicle damage. The script now also properly treats the victim as a witness for investigative purposes. In addition to this, a speedzone is now active for the callout duration to prevent dumb AI behavior.
- Added more spawnpoints for existing callouts.
- Fixed an issue with Coroner, where if a callout or another instance dismissed (unpersisted) the NPC body it could sometimes cause a plugin crash.
- Added PersistentSubtitles to the initialization file, "true" means HUD elements like subtitles will remain on screen for as long as they are the priority objective (Like GTA:O), "false" will clear the screen after 7 seconds (like singleplayer). 
- Fixed alarm audio for BankRobbery which had accidently been broken in a recent build.
- Added two new scenes for callout Disturbance, namely, petty theft and property damage scenarios. 
- Fixed pickup rotations.
- Suspects now spawn a bit further away on CivilianDown and Burglary to make it a bit less obvious.
- Added pickup contraband categories to SuspiciousVehicle and populated them with models. Callout is now more like Special Cargo missions in GTA Online.
- Callout SuspiciousVehicle has once again been renamed to CriminalActivity, with SuspiciousVehicle being one of several upcoming scenarios in later builds.

﻿1.1.1 PUBLIC
- Added more spawn locations for callouts in Sandy Shores and Grapeseed areas.
- Updated callout advisory and scanner audio for some callouts.
- Fixed an issue with TimerBars where the timer could get stuck indefinitely on 3 seconds remaining.
- Fixed an issue with callout DrugDeal where the code could call for an invalid vehicle.
- Tuned callout SuspiciousVehicle, the suspect now spawns closer to their objective and can now react if the player picked up their contraband.
- Added a new feature, Helicam, which allows the user to enter a helicopter camera while in the Police Maverick with features from singleplayer. Users can scan peds, vehicles, assist ground units with directions to stop and arrest suspects and more.
- Added a new callout, HelicopterSupport, to let users play around with the new helicopter features.
- Removed dependecy ZPhDevs.Common. Everything has been integrated into this plugin to reduce file bloat for users.
- Discontiniued LoreInteraction and integrated features into this plugin for a better experience.
- Updated callouts to be helicopter response compatible.
- Added an a system to keep track of offences and crimes comitted by peds in the game world.
- Fixed animations in callout DrugDeal.

1.1.0 PUBLIC
- Renamed callout CriminalActivity to SuspiciousVehicle, adjusted sound files and callout content.
- Updated inititialization file with file version to prevent users from using an outdated initialization file.
- Added a 90 seconds timeout for callout SuspiciousVehicle to prevent users from waiting too long for suspects to arrive on scene, starting countdown from when users find the vehicle.
- Created an official github page with guides, callout and feature overviews to help users navigate this plugin for the first time. A PDF version of this has been included within the plugin archive.
- Updated callout BankRobbery with new escape logic.
- Overhaul of plugin code, all callout scenes are now managed by a handler.
- Dependencies updated to ZPhDevs.Common.dll version 1.0.6
- Implemented SearchHandler, a task which keeps track of callout suspects and allows users to reporting evading suspects themselves without the script forcing a pursuit. World cops can assist in the search as well. Read documentation for details.
- In an attempt to make suspects feel more alive, all NPCs created by this plugin are now managed internally and can change behavior based on their surroundings. E.g if the player approaches a crime scene loudly with sirens they can now spook criminals.
- Added code 1 response for non emergency callouts.
- Overhaul of EmergencyServicesHandler code for performance, resulting in less system resources spent.
- To prevent the same sound from triggering multiple times the script now monitors sound played and will not tolerate more than one sound native at once.

﻿1.0.9 PUBLIC
- Added notification on when call started for all callouts, with the same format LSPDFR uses for pursuits.
- Added more spawn locations for several callouts, especially in Baine and Los Santos County.
- Fixed spawn hours for BankRobbery, it now only spawns at daytime office hours.
- Updated log entries for callouts with spawnpoint coordinates.
- Fixed animations for vocal argument variant of callout Disturbance.
- Fixed an issue which caused callout Trespassing not to spawn.
- Fixed an issue with callout Resisting which caused the suspect to sometimes spawn above or below ground.
- Added blood decals near victim body to callout CivilianDown.

﻿1.0.8 PUBLIC
- Fixed an issue with Disturbance callout which caused subtitles to always show West Vinewood as the callout location.
- Added compatibility for CivilianDown with LoreInteraction Informant contact. Users can now call the Informant and recieve information to help them progress selected callouts if they have Lore Interaction 1.0.0 installed as well.
- Updated callout Warrant with a help text if you try to force spawn it but haven't completed the requirements. It will now be more obvious when the user haven't recieved any warrants from other callouts.
- Updated callouts MVA and PedStruckByVehicle, involved cars now have hazard lights on.
- Fixed an issue with Disturbance callout when there was a vocal argument, the suspect would not stop shouting if the player tried to arrest them.
- Implemented an early version of rubber banding for the AI in Convoy callout, which should allow the player to catch up to the action if they fall too far behind.
- Updated Convoy AI logic.
- Added back a few missing audio files which had accidently been removed, causing audio file errors in game.
- Updated to ZPhDevs.Common version 1.0.5.
- Added a new callout, StreetRace.
- Fixed an issue with CriminalActivity callout which caused a plugin crash if the user didn't get close enough to the suspicious vehicle before the AI takes control of it.
- Fixed stability issues with various callouts to prevent plugin-wide crashes and errors.
- Updated notifications when callouts end to the same format LSPDFR uses for pursuit termination/conclusion.
- Updated some callouts with a new logic which detects if the user hasn't made any significant progress for a while on the callout they are currently on. If the logic determines the user isn't advancing the callout as intended it will cause the callout to expire, effectively ending it to prevent users from spending too much time looking for hidden objectives or suspects.
- Tuned TimerBars for a more realistic travel time. It should now be a bit easier to reach callouts within time. Note that sometimes the time remaining can be low, however this is intentional to add variation to the callouts using it.
- Reworked callouts MVA an PedestrianStruckByVehicle, the script now has full control of ambulance personnel and will now treat and check all NPCs involved in the accident. If you want to use a custom vehicle model for the ambulance you may do so by editing the Ambulance line within the ini-file.
- Added EmergencyServices to ini-file in case the user wants to disable script controlled EMS alltogether and revert back to LSPDFR EMS instead.
- Updated some callouts with a callout advisory giving users a bit more information up front before responding.
- Fixed an issue with callout Mugging, which triggered and then immediately terminated a pursuit as soon as the callout had ended.
- Fixed an issue with overhead arrow HUD elements on NPCs in motion.

﻿1.0.7 PUBLIC
- Updated blips for a new plugin-wide design for simplicity.
- Added options in the ini-file for users to select which vehicle they want to use for transport in Convoy callout, as well as which police and sheriff unit they wish to use in the Resisting callout.
- Added pickups in DrugDeal callout when frisking a suspect if they carry contraband.
﻿
1.0.6 PUBLIC
- Minor tweaks to the Warrant callout, it now has a higher than before chance to spawn when you've successfully gathered all items in the Burglary, Trespassing, MVA and CivilianDown callouts.
- Added a new callout, CriminalActivity.
- Reworked callout Burglary, it now features a proper search zone where the user will find items and witnesses much like Special Cargo missions from GTA Online.
- Reworked callout Trespassing, it is now an investigative callout with witnesses. If you are unable to locate the suspect and if the witness provided information of value it will be able to trigger the Warrant callout later.
- Reworked callout CivilianDown, it now features a search zone where the user is tasked with finding weapons, victims, witnesses and other valuable items.
- Reworked callout MVA, evidence items are no longer a part of this callout. It now only features witnesses.
- Reworked callout Warrant, it now features a search zone.
- Reworked the interface to reflect changes to the callouts. 
- Added more spawnpoints for callouts CivilianDown and Disturbance.
- Fixed an issue which caused callouts Mugging and Disturbance to spawn less frequent than intended.
- Evidence items are now proper pickups and are treated as such by the game.

1.0.5 PUBLIC
- Added a new callout, Resisting.
- Update assembly information to 1.0.5, which was accidently left on 1.0.0.
- Updated callouts Burglary, MVA and CivilianDown with a new debug key. If you are unable to get to an item (in the event of said item spawning inside another object or interior) you can now press TAB on your keyboard to force the script to pickup the item. This issue
unfortunately appears to be ever elusive because of how the way world tiles are loaded and what the game considers inside of a building.

1.0.4 PUBLIC
- Fixed an issue where at some locations the Disturbance callout would spawn all NPCs on the same location.
- Lowered the chance of physical violence in the Disturbance callout, it is now more likely to be a loud vocal argument or a drunken disturbance.
- Fixed an issue with the Disturbance callout where the vocal argument outcome sometimes ended up in a never-ending loop.
- Minor update to MVA and PedStruckByVehicle callouts with having vehicle engines on by default.
- Minor update to when the suspect in the Trespassing callout has been arrested the callout now automatically ends to let the user know they got the right person.

1.0.3 PUBLIC
- Updated behavior of suspect during Hit and Run in MVA-callout.
- Added a new callout, PedStruckByVehicle.
- Updated MVA-callout with new suspect description logic, providing a more user friendly experience when looking for a missing suspect.
- Updated callout CivilianDown with new logic if the victim survives the attack, which also changes the crime to Attempted homicide if the suspect cant be found and has to be brought in through the Warrant-callout.
- Updated callout BankRobbery with all Fleeca Bank locations in Los Santos.
- Renamed and reworked HardcoreMode to DebugMode to disable certain features in case of graphical issues with heavily modified games.
- Added new possible scenarios for Disturbance-callout, including a vocal argument scenario.
- Fixed an issue which caused the plugin to recruit witnesses in interiors well below ground-level if one existed at the callout location.
- Fixed DuffelBag physics for Burglary-callout which caused the duffel bag to remain floating in the air after being dropped by the suspect.
- Removed the auto pursuit based on Suspect to Player distance in CivilianDown-callout, instead now only showing camera and mini-map hint based on investigation progress on suspect description, giving the Player the option to choose when to engage.
- In the rare (hopefully) situation an investigative item still spawns below ground despite several measures taken by the script beforehand, the plugin now accepts a 2D distance to the item which allows the Player to still retrieve it.
- Added a feature, where applicable, allows the user to repeat descriptions in case they forgot the name of a suspect, a location or a vehicle et cetera.

1.0.2 PUBLIC
- Fixed an issue where dismissing witnesses caused LSPDFR to crash on Burglary, CivilianDown and MVA-callouts.
- Added lots of new spawn options for callouts.

1.0.1 PUBLIC
- Fixed an issue which under some circumstances spawned a civilian driver for the Police Transport in Police convoy-callout.
- Updated help messages wording for investigative callouts which could confuse users on how to proceed.
- Updated README with clarification on how HardcoreMode works and what it does.
- Implemented a temporary workaround for certain items spawning inside buildings and other out of reach locations for Burglary and Civilian down-callouts.
- Updated Disturbance-callout with better instructions on how to proceed after arriving at the 911-caller.
- Added a new callout, MVA.
- Fixed an issue which caused scanner audio to repeat itself in Police convoy-callout.
- Attempt at fixing an issue which during Bank robbery-callout caused LSPDFR to crash when chasing suspect #2.

--------------------------------------------------------------------------------------------------------------------------------------------
END OF README
Much joy,
ZPhDevs