Commit Graph

837 Commits

Author SHA1 Message Date
Treeston
0e7c66cb4c Core/AI: Finally move the "is creature engaged" flag to be a property of the creature AI, where it honestly always belonged. Fixes #17981 and #23602 for real this time. 2019-07-21 01:50:52 +02:00
Treeston
b64834c3f5 Scripts/Commands: Adjust .list respawns to use enum iteration. Add enum iteration capability to SpawnObjectTypes. 2019-07-17 22:58:49 +02:00
Treeston
293ba08d21 Scripts/Commands: Add .debug questreset to force daily/weekly/monthly quest reset. 2019-07-16 15:04:14 +02:00
Treeston
d60082ae86 Core/Misc: Various dynspawn cleanup and refactors split off from pooling rewrite:
- Map::RemoveRespawnTime(SpawnObjectType, LowType, doRespawn) split into Map::Respawn and Map::RemoveRespawnTime, without the extra boolean
- Map::RemoveRespawnTime(RespawnInfo*) merged into Map::DeleteRespawnInfo(RespawnInfo*) and is now private
- Map::DeleteRespawnInfo(void) renamed to Map::UnloadAllRespawnInfos to properly describe what it does
- Map::ProcessRespawns now actually saves the delayed respawn time to DB if the respawn was delayed
- Map::AddRespawnInfo now takes const reference, and returns success as a boolean
- Map::AddRespawnInfo no longer offers an unused "replace" parameter
- Map::DeleteRespawnInfo no longer offers a variety of unused private overloads
- Map::SaveRespawnTime no longer offers a tantalizing writeDB parameter. Parameter is now called "startup" to properly describe what it does.
- Map::SaveRespawnInfoDB now takes RespawnInfo reference instead of all the various fields. Still public because compatibility mode. QQ.
- Map::GetWorldObjectBySpawnId sanitized
- Map::GetXRespawnTime methods sanitized to all go through Map::GetRespawnTime
2019-07-15 17:14:58 +02:00
jackpoz
7421ccaf7e Core/Commands: Add .debug guidlimits <optional map id> chat command
Add .debug guidlimits <optional map id> chat command to show the highest low guid counter for Creature and GameObject, useful when reaching Respawn.GuidWarnLevel
2019-07-13 18:15:39 +02:00
Treeston
daf423a6c3 Scripts/Commands: .account ban no longer fails if an account containing the specified account name is already banned (f.ex. attempting to ban 'test' if 'test2' is already banned) - closes #22990 2019-07-12 13:37:27 +02:00
Shauren
6eecb685ce Core/Weather: Fixed weather updates to be thread safe
(cherry picked from commit 6eb9973947)
2019-07-09 21:17:59 +02:00
ForesterDev
e71773140c Scripts/Commands: update .wp commands to use orientation field from DB (PR #23566)
Closes #23330
2019-07-08 14:16:10 +02:00
Treeston
84b7b2e08e Entities/Unit: Nuke Map::ForceRespawn from orbit, with the following implications:
- .npc respawn no longer causes stupid things to happen (Fixes #23014)
- ::DeleteFromDB methods on Creature and GameObject rewritten to be as sensible as such a colossally stupid method can ever be. They're static now.
- .npc delete and .gobj delete ported to new argument handling, and rewritten as per above. They can no longer crash the server when used in instances, too. Yay for that.
- Adjusted various dusty cobwebbed hacks around the core (why does waypoint visualization use permanent spawns *shudder*) to still work too.
2019-07-08 11:56:41 +02:00
Treeston
ded18a2690 Entities/Creature: Some asserts are now LOG_ERRORs that block spawning. Fix a group spawning bug exposed by the CoS merge. Improve some command output. 2019-07-07 19:18:32 +02:00
ForesterDev
c44fb37f74 Core/Unit: Implement more helper methods (#23555) 2019-07-05 14:07:35 +02:00
Wyrserth
670085d8c0 Core/Quest: fix money reward for quests turned in at level cap. (#23495) 2019-07-03 17:42:23 +02:00
ForesterDev
b47bb59e2a Core/Player: add helper methods GetNativeGender/SetNativeGender/SetGender (#23520)
* Core/Player: add helper methods GetNativeGender/SetNativeGender/SetGender and fix some cases, where we should get player gender, instead of modified by display gender

* fix merge

* Add virtual methods for Unit class
2019-07-02 10:17:02 +02:00
ccrs
401777d024 Core/Unit: rename several getters to follow codestyle
uint8 GetLevel()
        uint8 GetLevelForTarget(WorldObject const* /*target*/)
        void SetLevel(uint8 lvl)
        uint8 GetRace()
        uint32 GetRaceMask()
        uint8 GetClass()
        uint32 GetClassMask()
        uint8 GetGender()
2019-07-01 21:36:32 +02:00
Aokromes
fe744977c9 Coding standards (#23514)
* Coding standards

* revert part
2019-06-26 08:56:20 +02:00
Treeston
dbe3bbefe7 Core/Entities: Kick engagement logic upstairs to Unit (from ThreatManager), since all Units with AI need it (not just those with threat list). Fixes #17981. 2019-06-23 00:32:13 +02:00
Wyrserth
ce3dcdcb1a Core/Commands: implement commands to look up a map/item/quest name for a given id (#23416)
* Core/Commands: implement commands to look up a map/item/quest name for a given id.

* Add entry to updates table.

* Rename 9999_99_99_99_auth.sql to 2019_06_16_00_auth.sql

* Add missed change, thanks jackpoz!

* Update auth_database.sql
2019-06-16 19:52:13 +02:00
jackpoz
f0bd90cc35 Core/Channel: Fix CRT Debug Assert triggered with invalid channel names 2019-05-29 21:12:50 +02:00
jackpoz
3f0ce98f7c Core/Commands: Fix heap-use-after-free in ".ticket delete" command
Reported by Address Sanitizer
2019-04-28 18:56:45 +02:00
jackpoz
71d15ea25b Scripts/Commands: Add .debug asan commands
Add ".debug asan memoryleak" and ".debug asan outofbounds" commands to trigger Address Sanitizer warnings at runtime (or other dynamic analysis tools)
2019-04-27 20:11:48 +02:00
Jozef Dúc
32e1de39a2 Core/Object: Range check (#23179)
* Should solve #23062. All credits to @xvwyh

* Remove unused variables

* Remove unused variable

* Cast int32 to uint32

* Remove G3D headers from core header file

* Change door distance

* Update GameObject.cpp

Add newline

* Update GameObject.h

Indentation
2019-04-24 20:39:01 +02:00
ForesterDev
ae8750716f Scripts/Commands: add some missing checks for .guild create command (#23201)
* Core/Conditions: implement CONDITION_GAMEMASTER

* Scripts/Commands: add some missing checks for .guild create command
2019-04-24 16:58:55 +02:00
Gustavo
50f122de77 Core/Misc: Warning fixes (/W4) (#23149)
* Core/Misc: Warning fixes (/W4)
2019-04-03 23:36:26 -03:00
jackpoz
f17120cc78 Core/Commands: Don't re-add active quests with ".quest add" command 2019-02-24 18:46:35 +01:00
TheWinchesters
a0056951f7 [3.3.5] Commands: lookup player shows which character is online (#23039)
* Show 'online' for every online player in lookup player commands
2019-02-15 20:18:58 +01:00
jackpoz
2fda1572d2 Core/Misc: Fix issues reported by static analysis
Fix issues reported by Coverity Scan
2019-02-05 21:10:39 +01:00
Shauren
ec1cfa36f4 Core/Commands: Fixed creature/gameobject move commands not updating which cell they belong to
Closes #22720
2019-01-15 16:54:57 +01:00
ccrs
9080e7863c Core/Movement: correct logic wrongly ported in 2a84562dc8
I'm referencing line 97 from ChaseMovementGenerator.
That commit introduced a modification in this use case:
- Chasing target is not my current victim, I should stop moving till it is my victim again
Changed To:
- Chasing target is not my current vicitm, I should stop chasing
My correction:
- I dont care about the relation of my current victim and my chasing target, I'm commanded to chase, something will tell me to stop chasing
--> Most likely: evade, new attackstart, etc.

the rest are just minor changes
2019-01-10 22:51:47 +01:00
Treeston
fcfcb0eb6f Happy New Year, folks. It's 2019! 2019-01-01 15:45:25 +01:00
Giacomo Pozzoni
20ea24bf5c Scripts/Commands: Fix crash caused by .set npc model (#22877)
* Scripts/Commands: Fix crash caused by .set npc model

Fix crash caused by .set npc model with invalid model id
2019-01-01 15:00:27 +01:00
Ghaster
bf3ab6d9c4 Core/Creatures: Port trainer changes from master
Closes #20493
2018-12-30 19:51:36 +01:00
Treeston
c16d461e16 Core/Util: Redesign SmartEnum to properly work for large enums (>64 entries) and play nice with IDEs (PR #22768) 2018-11-11 17:52:41 +01:00
Rochet2
257ae44a20 Add rotation to .gob info (#22723)
* Add rotation to .gob info

- Add rotation (yaw, pitch, roll) to .gob info command
- Replace LANG_SPAWNINFO_DISTANCEFROMPLAYER with LANG_SPAWNINFO_ROTATION
- Fix description of .distance to describe the command arguments (the more you know..)
- Fix .gob info guid targetting nearest gameobject instead of finding with given guid
- Reorder the info data slightly
- Print location and rotation data regardless of object found in world
- Add error messages for when object is not found by guid or entry
2018-10-28 10:07:56 +01:00
Rochet2
0a0312b705 Core/Command: Fix gameobject turn orientation saving (#22712) 2018-10-25 12:10:27 +02:00
ForesterDev
1e99f98327 Core/Commands: fix .appear command provide wrong undermap position (#22624) 2018-10-11 11:36:35 +02:00
ForesterDev
82a1448705 Core/Commands: Fix quest remove error message (#22623) 2018-10-11 11:16:57 +02:00
AlcDenat
2f5403d4af Split quest template locales (#22596)
* add quest locales tables
2018-10-09 16:31:27 +02:00
Shauren
b27a76969a Core/Commands: Fixed crash in .go commands
Closes #22498
2018-09-23 22:57:33 +02:00
Treeston
97ade1321b Scripts/Commands: Add .debug dummy. It does nothing, which means you can make it do anything. 2018-09-17 11:18:06 +02:00
Aokromes
cc49b7bb30 kill some whitespaces 2018-09-09 16:15:45 +02:00
Treeston
a4c666dc3d Core/ChatCommands: Implement achievement link parsing 2018-09-09 12:41:00 +02:00
Treeston
1377778bcc another build fix 2018-09-08 23:51:29 +02:00
Treeston
c59388783a Scripts/Commands: Rewrite .account commands to new model 2018-09-08 19:46:56 +02:00
Treeston
66a87c4642 Scripts/Commands: New argument parsing methodology (PR #22363)
- Detect the arguments accepted by the command handler
- Tokenize out those arguments automatically and feed them to the handler
- Unmatched rest of the string can be accepted by trailing char const* or CommandArgs*
2018-09-07 20:31:04 +02:00
Treeston
5843724deb Core/RBAC: Simplification part 1. Nobody needs different permissions for each type of .go command. 2018-09-06 10:46:28 +02:00
Treeston
8e4f6777a2 Scripts/Commands: Cleanup and trinity_string for .go instance. Hi shauren. 2018-08-30 21:08:28 +02:00
Treeston
6a0870a999 Scripts/Commands: New command ".go instance". Goes to an instance. 2018-08-30 20:17:51 +02:00
Treeston
2c030ed5e7 Scripts/Commands: .npc info now includes react state info 2018-08-28 12:05:05 +02:00
Treeston
042f5515e4 Core/AI: Clean up charm AI handling, we now have two unique_ptr instead of a crapton of booleans 2018-08-23 16:34:42 +02:00
Shauren
bc3da555fe Core/Commands: Fixed .damage command to work with spell schools caused by bad strtok usage
Closes #22280
2018-08-17 11:17:12 +02:00