CleverRaven / CleverRaven/Cataclysm-DDA

Zone orders: NPC attack preferences

Open
#53,294 1 comment 2 reactions 0 assignees View on GitHub
(P5 - Long-term) [C++] <Suggestion / Discussion> Inventory / AIM / Zones NPC / Factions Quality of Life
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.