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

fix(cpp/db): how to win friends and infleunce enemies missing dialogue #20132

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

ConorB1745
Copy link

Changes Proposed:

This PR proposes changes to:

  • Core (units, players, creatures, game systems).
  • Scripts (bosses, spell scripts, creature scripts).
  • Database (SAI, creatures, etc).

Scarlet Crusader (id: 28940), Scarlet Marksman (id: 28610), Scarlet Preacher (id: 28939) and Scarlet Commander (id: 28936) were missing dialog in the database and script npc_crusade_persuaded always succeeded when the spell on Keleseth's Persuader (item id: 39371 and spell id: 52781) procced.

The success chance has been reduced from 100% to 30% based on retail wow testing. The player characer now always says a line when the spell procs on the weapon. If it's successful the roleplay starts for the scarlet, if it fails the scarlet says a line refusing to reveal the information.

Additional lines of dialogue were added from Wowpedia: https://wowpedia.fandom.com/wiki/Scarlet_Crusader_(mob)

NB: While updating the script some code within the class was updated to remove magic numbers.

Issues Addressed:

SOURCE:

The changes have been validated through:

  • Live research (checked on live servers, e.g Classic WotLK, Retail, etc.)
  • Sniffs (remember to share them with the open source community!)
  • Video evidence, knowledge databases or other public sources (e.g forums, Wowhead, etc.)
  • The changes promoted by this pull request come partially or entirely from another project (cherry-pick). Cherry-picks must be committed using the proper --author tag in order to be accepted, thus crediting the original authors, unless otherwise unable to be found

Tests Performed:

This PR has been:

  • Tested in-game by the author.
  • Tested in-game by other community members/someone else other than the author/has been live on production servers.
  • This pull request requires further testing and may have edge cases to be tested.

How to Test the Changes:

  1. Create a new Death Knight character of any race/faction.
  2. Complete all the quests up to the point of receiving the quest "How to Win Friends and Infleunce Enemies". This is the quest under test.
  3. Torture scarlets until your hearts content.

Helpful commands:
.quest complete 12593
.quest complete 12619
.quest complete 12842
.quest complete 12848
.quest complete 12636
.quest complete 12641
.quest complete 12657
.quest complete 12850
.quest complete 12670
.quest complete 12678
.quest complete 12680
.quest complete 12679
.quest complete 12733
.quest complete 12687 -> Shadow realm do this if it teleports after hand in.
.quest complete 12697
.quest complete 12698
.quest complete 12700
.quest complete 12701
.quest complete 12706
.quest complete 12714
.quest complete 12715
.quest complete 12719

Run around pick up the quests, type the above commands, and then hand in to get to the point quicker. Some quests are pickup and hand in by default but are still included above.

  • This pull request can be tested by following the reproduction steps provided in the linked issue
  • This pull request requires further testing. Provide steps to test your changes. If it requires any specific setup e.g multiple players please specify it as well.

Known Issues and TODO List:

  • [ ]
  • [ ]

How to Test AzerothCore PRs

When a PR is ready to be tested, it will be marked as [WAITING TO BE TESTED].

You can help by testing PRs and writing your feedback here on the PR's page on GitHub. Follow the instructions here:

http://www.azerothcore.org/wiki/How-to-test-a-PR

REMEMBER: when testing a PR that changes something generic (i.e. a part of code that handles more than one specific thing), the tester should not only check that the PR does its job (e.g. fixing spell XXX) but especially check that the PR does not cause any regression (i.e. introducing new bugs).

For example: if a PR fixes spell X by changing a part of code that handles spells X, Y, and Z, we should not only test X, but we should test Y and Z as well.

…ialogue during torture

Scarlet Crusader (id: 28940), Scarlet Marksman (id: 28610), Scarlet Preacher (id: 28939) and
Scarlet Commander (id: 28936) were missing some dialog in the database and script
npc_crusade_persuaded always succeeded when the spell on Keleseth's Persuader (item id: 39371
and spell id: 52781) procced. It now only succeeds thirty percent of the time. Increased ppmRate for spell to 8.
Finally removed aggro when scarlet was 'persuaded'

closes Azerothcore issue azerothcore#20110
@github-actions github-actions bot added DB related to the SQL database Script file-cpp Used to trigger the matrix build labels Oct 4, 2024
@ConorB1745 ConorB1745 marked this pull request as draft October 4, 2024 18:18
@@ -0,0 +1,62 @@
INSERT INTO acore_world.broadcast_text
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
INSERT INTO acore_world.broadcast_text
INSERT INTO broadcast_text

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed acore_world from INSERT INTO

(77375, 0, 'That one tickled...', 'That one tickled...', 0, 0, 0, 0, 0, 0, 0, 0, 1, 18019),
(77376, 0, 'I''m going to send you back to the Lich King in pieces!', 'I''m going to send you back to the Lich King in pieces!', 0, 0, 0, 0, 0, 0, 0, 0, 1, 18019);

INSERT INTO acore_world.creature_text
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
INSERT INTO acore_world.creature_text
INSERT INTO creature_text

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed acore_world from INSERT INTO

(28939, 1, 9, 'That one tickled...', 12, 0, 100.0, 0, 0, 0, 77375, 0, 'crusader SAY_CURSADER10'),
(28939, 1, 10, 'I''m going to send you back to the Lich King in pieces!', 12, 0, 100.0, 0, 0, 0, 6, 0, 'crusader SAY_CURSADER11');

INSERT INTO acore_world.creature_text
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
INSERT INTO acore_world.creature_text
INSERT INTO creature_text

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed acore_world from INSERT INTO

(28940, 1, 9, 'That one tickled...', 12, 0, 100.0, 0, 0, 0, 77375, 0, 'crusader SAY_CURSADER10'),
(28940, 1, 10, 'I''m going to send you back to the Lich King in pieces!', 12, 0, 100.0, 0, 0, 0, 77376, 0, 'crusader SAY_CURSADER11');

INSERT INTO acore_world.creature_text
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
INSERT INTO acore_world.creature_text
INSERT INTO creature_text

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed acore_world from INSERT INTO

(28610, 1, 9, 'That one tickled...', 12, 0, 100.0, 0, 0, 0, 77375, 0, 'crusader SAY_CURSADER10'),
(28610, 1, 10, 'I''m going to send you back to the Lich King in pieces!', 12, 0, 100.0, 0, 0, 0, 77376, 0, 'crusader SAY_CURSADER11');

INSERT INTO acore_world.creature_text
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
INSERT INTO acore_world.creature_text
INSERT INTO creature_text

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed acore_world from INSERT INTO

@ConorB1745 ConorB1745 marked this pull request as ready for review October 5, 2024 16:09
@Nyeriah
Copy link
Member

Nyeriah commented Oct 5, 2024

Broadcast_text changes cannot be accepted I am sorry.

@ConorB1745
Copy link
Author

ConorB1745 commented Oct 5, 2024

Broadcast_text changes cannot be accepted I am sorry.

Yeah I understand I wasn't sure how to tackle the fail on that check because it meant the removal of the new/missing text. If I remove the broadcast text insert and new creature text insert but keep the script changes and Scarlet Commander (CreatureId 28936) inserts (without new broadcast requiring ones) will it be a valid fix for this issue? @Nyeriah

@Rorschach91 Rorschach91 added the Tested This PR has been tested and is working. label Oct 7, 2024
@Rorschach91
Copy link

I have tested this PR and It seems that It works.
It can be reviewed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DB related to the SQL database file-cpp Used to trigger the matrix build Ready to be Reviewed Script Tested This PR has been tested and is working.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[DK Starter Chain Quest] How to Win Friends and Influence Enemies. Missing dialogues during the torture.
4 participants