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

Dana Nunez: Fix unreachable dialogue #55465

Merged
merged 3 commits into from
Feb 21, 2022

Conversation

hexagonrecursion
Copy link
Contributor

@hexagonrecursion hexagonrecursion commented Feb 17, 2022

Summary

Bugfixes "Fix Dana Nunez being too untalkative"

Purpose of change

When you first meet Dana at the refugee center she is supposed to greet you with TALK_REFUGEE_Dana_1_firstmeet. TALK_REFUGEE_Dana_1_firstmeet uses speaker_effect.effect.npc_first_topic=TALK_REFUGEE_Dana_1 to set the initial topic for future conversations.

What was broken:

  1. Dana had chat=TALK_REFUGEE_Dana_1 in her NPC JSON. This caused TALK_REFUGEE_Dana_1_firstmeet to be bypassed.

  2. TALK_REFUGEE_Dana_1 did not include Dana's common talk responses making most of her dialogue tree inaccessible.

  3. There was no dynamic_line for TALK_REFUGEE_Dana_2 causing:

     DEBUG    : I don't know what to say for TALK_REFUGEE_Dana_2. (BUG (npctalk.cpp:dynamic_line))
    
     FUNCTION : std::__cxx11::string dialogue::dynamic_line(const talk_topic&) const
     FILE     : src/npctalk.cpp
     LINE     : 1128
     VERSION  : 97018ef

Describe the solution

  1. Use TALK_REFUGEE_Dana_1_firstmeet as the initial topic for Dana
  2. Replace references to TALK_REFUGEE_Dana_2 with TALK_REFUGEE_Dana_1

Describe alternatives you've considered

Define dynamic_line for TALK_REFUGEE_Dana_2

Testing

  1. The game loads
  2. Dana greets me with: "Hi there. I'm Dana, Dana Nunez. Nice to see a new face." the first time I meet her
  3. The next time we talk her greeting is: "It's good to see you're still around."
  4. I can access the rest of her dialogue tree

Additional context

  • Might be related: Failed Tests around NPC dialogue trees #49152
  • Note: because [.type=npc].chat is persistent the first part of the fix does not fix existing save files - TALK_REFUGEE_Dana_1_firstmeet will still be inaccessible, but the rest of the fix still works. This has a side-effect of never setting u_met_Dana_Nunez. Fortunately it appears that the variable is unused.

When you first meet Dana at the refugee center she is supposed to
greet you with TALK_REFUGEE_Dana_1_firstmeet. TALK_REFUGEE_Dana_1_firstmeet
uses `speaker_effect.effect.npc_first_topic=TALK_REFUGEE_Dana_1` to set
the initial topic for future conversations.

What was broken:

1. Dana had chat=TALK_REFUGEE_Dana_1 in her NPC JSON. This caused
    TALK_REFUGEE_Dana_1_firstmeet to be bypassed.
2. TALK_REFUGEE_Dana_1 did not include Dana's common talk responses
    making most of her dialogue tree inaccessible.
3. There was no dynamic_line for TALK_REFUGEE_Dana_2 causing:

	```c++
	 DEBUG    : I don't know what to say for TALK_REFUGEE_Dana_2. (BUG (npctalk.cpp:dynamic_line))

	 FUNCTION : std::__cxx11::string dialogue::dynamic_line(const talk_topic&) const
	 FILE     : src/npctalk.cpp
	 LINE     : 1128
	 VERSION  : 97018ef
	```

The fix:

1. Use TALK_REFUGEE_Dana_1_firstmeet as the initial topic for Dana
2. Replace references to TALK_REFUGEE_Dana_2 with TALK_REFUGEE_Dana_1
@github-actions github-actions bot added json-styled JSON lint passed, label assigned by github actions astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions labels Feb 17, 2022
@Maleclypse Maleclypse added <Bugfix> This is a fix for a bug (or closes open issue) NPC / Factions NPCs, AI, Speech, Factions, Ownership labels Feb 17, 2022
@TealcOneill
Copy link
Contributor

Someone on discord asked that I convey a message since he doesn't have a github account. Specifically 0-- says "if anyone here contributes, tell Hexagonrecursion that he is a fucking hero."

@github-actions github-actions bot removed the BasicBuildPassed This PR builds correctly, label assigned by github actions label Feb 18, 2022
@hexagonrecursion
Copy link
Contributor Author

Close&reopen to retry CI

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Feb 19, 2022
@hexagonrecursion
Copy link
Contributor Author

Close&reopen to retry CI

@NetSysFire
Copy link
Member

As far as I know you can also push empty commits to poke the CI.

@github-actions github-actions bot removed the BasicBuildPassed This PR builds correctly, label assigned by github actions label Feb 19, 2022
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Feb 20, 2022
@ZhilkinSerg ZhilkinSerg merged commit 9a3790b into CleverRaven:master Feb 21, 2022
@hexagonrecursion hexagonrecursion deleted the fix-dana branch February 21, 2022 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions <Bugfix> This is a fix for a bug (or closes open issue) json-styled JSON lint passed, label assigned by github actions NPC / Factions NPCs, AI, Speech, Factions, Ownership
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants