Another chapter in core script hardcoded text removal:
- remove core script `npc_loramus_thalipedes` from zone_azshara.cpp
- add gossip, SAI script and conditions to database
- remove redundant SD2 comments from file header
Move script npcs_riverbreeze_and_silversky to SAI,
thereby removing one line of hardcoded text.
- Remove core script npcs_riverbreeze_and_silversky
- Create SAI script for gossip event Cenarion Beacon
- Add missing gossip_menu for plant description
- Add missing creature_text about Cenarion Beacon
- Add and correct conditions for gossip availability
- There's still an overload allowing for x, y, z, o to be passed directly
- Fixed default animstate for GameObject creation in many places, it should be 255, not 100 (checked in sniffs)
- move npcs_rutgar_and_frankal to DB/SAI
- move hardcoded text from go_wind_stone to DB
- additional enum cleanup in zone_silithus.cpp
- also solves a $r issue in SAY_TEMPLAR_AGGRO
1 more text line removed in the ongoing series: "Remove hardcoded text from core scripts".
Core script for "Plucky" Johnson :
- move the actual gossip handling to DB
- create new gossip_menu_option entry
- link the option to gossip_menu.text_id
- add correct default gossip to the NPC
- create SAI script with alternate emotes
- add condition check for quest taken
- remove the script from zone script
- extra enum cleanup in zone script
Move 2 core scripts to DB / SAI:
- npc_bunthen_plainswind (NPC 11798)
- npc_silva_filnaveth (NPC 11800)
Additional result: remove 4 hardcoded text lines.
Target: remove lines from the list http://pastebin.com/x7wZLpxH
- 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)
- remove hardcoded text from script npc_beaten_corpse
- remove OnGossipHello() hook, gossip text moved to DB
- use sGossipSelect() hook instead of OnGossipSelect()
- add npc_text 3557 and 3558 as text_id to gossip_menu
- add gossip_menu_option 2871 to NPC 10668 Beaten Corpse
- add condition for gossip_menu_option 2871 in Quest ID 4921
Tested on 4 different characters/classes, male & female.
Thanks to joschiwald for the sGossipSelect() script change.
- Clean up of Unit::SetSpeed (mostly cherry picks from the 6.x branch):
- the opcode sent depends on the unit. until now, MSG_MOVE_SET_* were sent for every units which isn't like retail behavior.
- Removed the unused method parameter "forced" from Unit::SetSpeed
- Renamed Unit::SetSpeed to SetSpeedRate
- Removed the unused method parameter "forced" from Unit::UpdateSpeed
- Added utility method Unit::SetSpeed which take the new flat value.
7 more text lines removed in the ongoing series:
"Remove hardcoded text from core scripts".
Core script for quest 6566, What The Wind Carries
(part of the Horde Onyxia quest chain)
- create new gossip_menu_option entries
- link the options via the table gossip_menu
- remove hardcoded text from the script
* Each subdirectory contains it's own translation unit now
which is responsible for loading it's directory
* Improves merging & decoupling between 3.3.5 <-> 6.x
* Removes unused Battleground loader
* Ref #15671
(cherry picked from commit 5534915f74)
- 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.
- Migrate boundary logic to Maps/AreaBoundary instead of having it sit in InstanceScript (to possibly allow use for other purposes).
- Implement the first five boundary types in Maps/AreaBoundary.cpp.
- Add boundary checks to Creature's update logic
- Add boundary data for all Northrend raids
- Add boundary initialization structures and methods to InstanceScript
- Modify EnterEvadeMode signature. It now passes a value from the EvadeReason enum as parameter to allow special casing depending on evade reason
- Remove previous (weird) boundary code that had them linked to GO spawns
Add Unit::KillSelf() function as overload of Unit::Kill(this) . Use KillSelf() whenever the killer and the victim are the same to clearly state the Unit is going to kill itself.
Implemented:
ca83e14f8bee1c1b97be18e4ab6911bf37446b3ccb854a2b7b
* This adds separate (per map) guid sequences depending on object type
* Ported map object container from cmangos/mangos-wotlk@a2d396e
* Added type container visitor for TypeUnorderedMapContainer
* Implemented helper function to erase unique pairs from multimap containers
* Moved object storage of all objects except players and transports to map level
* Added containers linking database spawn id with creature/gameobject in world
* Renamed DBTableGuid to spawnId
* Added a separate spawn id sequence generator for creatures and gameobjects - this will be used in db tables
* Moved building SMSG_UPDATE_OBJECT - updatefields changes broadcast to map update
* Added new function to return but not increment guid
* Adjusted .debug loadcells to show low guid in map before/after load
* Added debug messages for creature spawn/destroy, for map guid debugging
* Store all Gameobjects and Creatures added to OutdoorPvP, so the callback script can be removed when OutdoorPvP instance is destroyed.