CleverRaven / CleverRaven/Cataclysm-DDA
Zone orders: NPC attack preferences
- Dominant language
- C++
- Stars
- 13.2k
- Forks
- 4.6k
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 205
Description
### Is your feature request related to a problem? Please describe.
[I am generating a new project entry](https://github.com/CleverRaven/Cataclysm-DDA/projects/47) to expand this using temporary zones, allowing players to do a mundane action in a large area that is temporarily specified and deleted when the job is done. This allows us to create a bunch of new zone activities that would be a bit impractical using the current "persistent" zone interface, just because it's annoying to manually create and delete a bunch of zones.
This feature, due to the ability to assign NPCs, would also be a great way to handle some new combat commands for better NPC management.
### Solution you would like.
A few new closely related zones for NPC orders:
1. Melee-only zone: When targeting enemies in this zone, NPCs will not use ranged weapons.
2. Careful fire zone: NPCs targeting enemies in this zone will only make single shot, aimed ranged attacks, no burst fire
3. No explosives zone: When targeting enemies in this zone, NPCs will not use explosive weapons.
4. No flammables zone: I think you can figure this out.
5. Dangerous fire zone: When targeting enemies in this zone, NPCs will ignore their restrictions on weapon choices and use whatever seems optimal, except melee attacks. NPCs will not melee attack targets in this zone and pathing costs are increased to avoid people meandering into the fire zone
### Describe alternatives you have considered.
_No response_
### Additional context
This is part of a [larger project](https://github.com/CleverRaven/Cataclysm-DDA/projects/47) that I suspect will have *vast* qol and NPC management implications.
These zones do not need to be restricted to Area Actions. The same framework with persistent zones could be used to establish "posts" for NPCs in a stationary base, and for static NPC factions, would allow designers to build some simple more intelligent NPC scripting.
Contributor guide
Research direction
Start by reviewing project 47 and the existing persistent-zone and Area Action designs, then trace how NPCs choose targets and weapons. Define the scope for each proposed zone and identify the tests or entry points that would demonstrate the listed combat behaviors; the issue provides no file or test names.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100