This PR moves the core script `npc_lunaclaw_spirit` to SAI, removing hardcoded text.
The quests 6001 + 6002 are druid class quests to get bear form, removed in patch 4.0.3a
Changes in this PR:
- remove core script, including hardcoded text (with typo)
- use gossip_menu_option for each faction (Alliance & Horde)
- add SAI script to complete quest 6001 or 6002 based on option
- add gossip option conditions for team A (469) or team H (67)
- add gossip option conditions for quest 6001/6002 not completed
(cherry picked from commit 3ad76dea7bdd889f016cce506833af7ed73d439d)
This is what the script changes should have been in PR #17746
(also updates issue #14719 with a correct solution).
- remove OnGossipHello() to use DB conditions
- replace OnGossipSelect() with sGossipSelect()
- focus script on the confirming gossip option
- let the other gossip menus be handled in DB
(cherry picked from commit a475033c76c3a4dd58562fa7b4ccf14f2212977d)
Use ConditionTypeOrReference 45 (PetType in PetDefines.h):
- Show gossip menu 4783 option id 1 if Pet Type is hunter pet
( follow-up to PR #17746 / commit 03bafe3 )
(cherry picked from commit 9d7cd93e0da110546c5a572096773901c54c7f2b)
This #define was originally supposed to be removed in my PR #17832,
but for some reason it remained undeleted. This commit corrects it.
Also aligned all the enum values to the same column for readability,
based on a common multiple of 4 spaces.
(cherry picked from commit 068656af064db741adf92281fd5a094db66b7d4c)
- remove hardcoded (and wrong) text from the script
- copy valid text from broadcast_text to gossip_menu_option
- gossip_menu / npc_text is already correct in TDB 335.61
- sort + clean up core script enum list and add new entries
- keep gossip handling unchanged in the script (low prio)
(cherry picked from commit 582af025090462f29576988e7a4517fee9a206fe)
Core/Scripts/DB: move npc_gregan_brewspewer to DB
- Remove npc_gregan_brewspewer, thereby removing hardcoded text
`#define GOSSIP_HELLO "Buy somethin', will ya?"`
- Move all gossip handling to DB (gossip texts already exist in TDB)
(cherry picked from commit 3acf6f36d1d60b7e2ac082bf9f6976de3256e250)
Core/Scripts: npc_grandmother gossip text moved to DB
Removing one more hardcoded text line from core scripts.
Also adding correct gossip to the npc_grandmother script.
Gossip changes in this script:
- remove hardcoded text from core script
- use existing npc_text IDs in gossip enum
- add missing text rows to gossip_menu_option
- use values from gossip_menu_option in enum
- replace spawn coordinates 0.0f with GetPosition()
(cherry picked from commit c214f987d730169e106b37fa1fe5f8565609374b)
Core/Scripts: remove hardcoded text from npc_locksmith
- remove hardcoded text from script
- move the gossip handling to DB SQL
- move the script conditions to DB SQL
- use correct gossip from broadcast_text
- remove options not existing in broadcast_text
- add Key to Searing Gorge option (related spell)
- add The Eye of Haramad option (related spell)
(cherry picked from commit e6ee6e2ae85f8a760dcd17e01b388bf3cd27c1e2)
2 more text lines removed in the ongoing series:
"Remove hardcoded text from core scripts".
Core script for boss Majordomo Executus:
- add missing gossip_menu_option entries
- link the options via the table gossip_menu
- remove hardcoded text from the script
- minor enum line order sorting cleanup
- replace OnGossipSelect() with sGossipSelect()
The scripted events are unchanged.
If the script is inaccurate, make a new PR.
(cherry picked from commit b6d43623a259f62ce0240a9e9f44f28e8c1ad5eb)
- restore missing text lines for Sal'salabim and Raliq the Drunk
- replace hardcoded text with DB gossip ID enum sections
- move gossip ID, quest ID, spell ID (and so on) into enum
- remove core script for Ishanah, High Priestess of the Aldor
Closes#16684
(cherry picked from commit acdfc36a4e93dc422d5bb9015d5b2b673fbdb242)
- moved 2 #define text lines to enum, already in npc_text
- new gossip_menu_option for NPC 3678 Disciple of Naralex
- using `ADD_GOSSIP_ITEM_DB` instead of `ADD_GOSSIP_ITEM`
Tested on both alliance and horde characters, works just like before.
(cherry picked from commit bc03fedf6dd77409a22dca1647916d154e563245)
Change #define to enum {with brackets}
Possibly the smallest change so far in this series of core script changes.
(cherry picked from commit 627ec0e35e4cf33f027a66cd7a4bc09e9e003781)
- created DB gossip_menu_option entries for both NPCs
- added enum section instead of "magic numbers" in script
- replaced core text with pointers to DB text
- zone_western_plaguelands.cpp is now cleaned up
(cherry picked from commit 29c2a4232477836afbcbd71f8ff3443c268e02e8)
This PR solves the following say text issues:
In quest ID 12733, Death's Challenge, the creature script npc_death_knight_initiate is supposed to target the player and refer to the player character's name in the following 2 lines from `creature_text`.`entry` 28406:
- "You don't stand a chance, $n." (`BroadcastTextId` 29267)
- "Remember this day, $n, for it is the day that you will be thoroughly owned." (`BroadcastTextId` 29270)
In quest ID 12848, The Endless Hunger, the creature script npc_unworthy_initiate is supposed to target the player and refer to the player character's race in the following 2 lines from `creature_text`.`entry` 29519, 29520, 29565, 29566 and 29567:
- "You are hopelessly outmatched, $r." (`BroadcastTextId` 30212)
- "Sate your hunger on cold steel, $r!" (`BroadcastTextId` 30214)
The untargeted variables $r and $n appear in the say lines because the existing script assigns the text to the player character instead of the creatures. This does not produce any race or name information in /say or chat.
This Pull Request closes issue #14700 and replaces PR #15678.
(cherry picked from commit 89107c3a8e61447fb6d34fd77fd454074ae5e064)
Fix a factual error in the /contrib/check_updates.sh error message text,
Best shown in an example from the latest travis build error:
```
$ ./contrib/check_updates.sh auth auth
Database Updater check script:
Checking database 'auth' for missing filenames in tables...
- "sql/updates/2015_10_09_00_auth.sql" is missing in table 'auth'.'updates'
Fatal error:
The Database Updater is broken for database 'auth
due to applied update which are missing in the 'auth'.'updates' table.
How to fix:
Insert the missing names of sql updates which were applied already to
the 'updates' table of the 'auth' base dump ('sql/base/auth_database.sql').
The command "./contrib/check_updates.sh auth auth" exited with 1.
```
Main fix: `\"sql/updates/${file}\"` -> `\"sql/updates/${name}/${file}\"`
Before this change, the error message claims that the updated SQL file was placed
directly in the `/sql/updates/` directory and not in the subdirectory based on its DB name.
All the other changes are improvements in English grammar and more precise description.
(cherry picked from commit 01e0475ab898632bb9fd7c3ab0b11ddc6d5cee81)
by @pete318, closes#12811
Fixes the remaining bugs in the "Kodo Roundup" quest in Desolace:
- removes combat status from creature 11627, Tamed Kodo
- sets normal walking speed as the creature's follow speed
- makes the Tamed Kodo stop at Scrabblescrew's Camp
- enables quest objective count 0/5 -> 5/5, quest complete
- SQL (by @tkrokli) links the missing gossip text in the DB
(cherry picked from commit 1c8486e1a84c2d1ed4355d680418a3a2e73e37dd)