* Clean up internal localisation header includes
* Remove some external localisation includes
* Remove dependency on FormatCodes.h from InteractiveConsole.h
* Reduce Formatter.h, Localisation.Date.h includes
In order to transition staff costumes to objects, we must further disentangle staff from regular peeps. This has many advantages, such as making custom entertainers or even handymen costumes. However, this means putting some restrictions on what costumes can be assigned to staff in the mean while.
We are aware of plug-ins allowing staff to be decorated like normal peeps, though, e.g. using @Manticore-007's Peep Editor. Splitting staff from peeps will mean breaking such functionality. We can do our very best to reverting 'invalid' staff to their normal outfits instead of them outright disappearing. However, in the mean time, we should disallow peep costumes from being assigned to staff to prevent further disappointment down the line.
Once we get to actually adding custom staff costumes, I plan to add a new plug-in API to get available costumes for a particular staff type. This would apply to entertainers, but also other staff types. This should make it easier for plug-in authors to tap into custom costumes in the future.
* Eliminate unnecessary abstraction for path finding
* Pass the goal to ChooseDirection instead of using globals
* Remove gPeepPathFindGoalPosition and pass it by parameter instead
* Remove _peepPathFindIsStaff and make ignoring banners explicit
* Code style and naming fixups
* Apply clang-format
* Add comment specifying to why it does not ignore banners
* Apply review comments
* Add `STR_ERR_CANT_CHANGE_PARK_ENTRANCE_FEE`
* Add `STR_ERR_TRACK_ON_THIS_TILE_NEEDS_WATER`
* Return existing `GameAction::Result`
* Add `STR_ERR_ACTION_INVALID_FOR_THAT_STAFF_TYPE`
I am open to suggestions for a different message!
Originally this was going to be STR_ERR_WRONG_STAFF_TYPE
but I thought that was confusing because the game
action arguments do not specify a staff type. We
want it to mean "the staff ID you specified is the
wrong StaffType for this game action".
* Refactor `StaffSetColour()` to return `Result`
* Remove unnecessary arguments when `Status` is `Ok`
* Refactor `SwapTileElements()` to return `Result`
Also add STR_ERR_CANT_SWAP_TILE_ELEMENT_WITH_ITSELF
* Format code
* Use `STR_ERR_CANT_CHANGE_PARK_ENTRANCE_FEE` in title
* Format code using Github web editor
* Format indentation