CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.26k stars 4.11k forks source link

NPC starting quests mismatch with NPC traits #27657

Open I-am-Erk opened 5 years ago

I-am-Erk commented 5 years ago

Is your feature request related to a problem? Please describe.
NPC starting quests are totally random and do not relate to the more complex NPC backstory system we now have. As a result NPCs get weird combinations of backstory and mission that make no sense.

Describe the solution you'd like
Make starting missions select based on NPC backstory, so each backstory has one or a couple of possible missions the NPC starts with. The game first checks if the NPC is going to ask you to do a mission, and if they are, it chooses from the list of ok missions (probably defined by trait flags in the backstory trait). This is nice because it lets starting missions be defined in any mutation, so for example asthma can get the trait flag "random_mission_inhaler", and we could add missions via JSON pretty easily.

So the algorithm goes:

  1. Check to see if the NPC is going to approach the player with a mission or not.
  2. If so, check what "randommission" flags the NPC has in its trait flags.
  3. Randomly select a mission from among those allowed.

If someone starts work on this I can add the mission flags to appropriate traits.

Describe alternatives you've considered
Missions could instead be selected first and then cancelled if the NPC has an incompatible trait, but this would greatly reduce the number of starting missions.

If you get a mission that doesn't match your backstory or other traits, the game could instead assign you an appropriate trait somehow. This seems clunky to me.

Additional context
At some point I can go through and add some triggers in talk_chat to discuss the circumstances in which you met your friend. This might require a few more conversation flags or conditionals, we'll see.

Funguss commented 4 years ago

I'd like to add to this that currently starting NPCs often have strange backstories, traits or missions. It would be nice if there was some shared backstory, e.g. having been colleagues, friends, neighbours, etc. and having opinion modifiers to that effect.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.