Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NPC starting quests mismatch with NPC traits #27657

Open
I-am-Erk opened this issue Jan 16, 2019 · 2 comments
Open

NPC starting quests mismatch with NPC traits #27657

I-am-Erk opened this issue Jan 16, 2019 · 2 comments
Labels
Good First Issue This is a good first issue for a new contributor [JSON] Changes (can be) made in JSON Missions Quests and missions NPC / Factions NPCs, AI, Speech, Factions, Ownership (P4 - Low) Low priority issues: things which are e.g exotic, minor and/or hard to encounter <Suggestion / Discussion> Talk it out before implementing

Comments

@I-am-Erk
Copy link
Contributor

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 "random_mission_" 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.

@ZhilkinSerg ZhilkinSerg added NPC / Factions NPCs, AI, Speech, Factions, Ownership <Suggestion / Discussion> Talk it out before implementing Missions Quests and missions labels Jan 27, 2019
@I-am-Erk I-am-Erk added this to Candidate in 0.E Release via automation Feb 19, 2019
@kevingranade kevingranade added this to the 0.E milestone Jun 7, 2019
@kevingranade kevingranade modified the milestones: 0.E, 0.F Nov 23, 2019
@I-am-Erk I-am-Erk added this to Proposed blockers in 0.F Release Planning Jan 9, 2020
@Funguss
Copy link
Contributor

Funguss commented Feb 24, 2020

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.

@I-am-Erk I-am-Erk moved this from Proposed blockers to Confirmed blockers / To Do in 0.F Release Planning Jul 30, 2020
@I-am-Erk I-am-Erk moved this from Confirmed blockers / To Do to Delayed blockers (for 0.G) in 0.F Release Planning Sep 17, 2020
@kevingranade kevingranade removed this from the 0.F milestone Dec 14, 2020
@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2022

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.

@github-actions github-actions bot added the stale Closed for lack of activity, but still valid. label Dec 5, 2022
@I-am-Erk I-am-Erk added Good First Issue This is a good first issue for a new contributor [JSON] Changes (can be) made in JSON (P4 - Low) Low priority issues: things which are e.g exotic, minor and/or hard to encounter and removed stale Closed for lack of activity, but still valid. labels Dec 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Good First Issue This is a good first issue for a new contributor [JSON] Changes (can be) made in JSON Missions Quests and missions NPC / Factions NPCs, AI, Speech, Factions, Ownership (P4 - Low) Low priority issues: things which are e.g exotic, minor and/or hard to encounter <Suggestion / Discussion> Talk it out before implementing
Projects
No open projects
0.F Release Planning
  
Delayed blockers (for 0.G)
Development

No branches or pull requests

4 participants