Treeston
90540d684b
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
----------
Core/DB: Unify `creature_respawn` and `gameobject_respawn` into a single `respawn` table
2019-08-18 12:47:10 +02:00
Treeston
f9184f026b
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-08-18 12:12:09 +02:00
Treeston
83a25ce554
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.
...
# Conflicts:
# src/server/game/Maps/Map.cpp
# src/server/scripts/Commands/cs_list.cpp
2019-07-08 09:34:07 +02:00
Treeston
1f15fe5096
oops, now it builds (and a bonus refactor that annoyed me)
...
# Conflicts:
# src/server/game/AI/SmartScripts/SmartAI.cpp
# src/server/game/AI/SmartScripts/SmartAI.h
# src/server/game/AI/SmartScripts/SmartScript.cpp
# src/server/game/AI/SmartScripts/SmartScript.h
2019-04-26 18:56:31 +02:00
Treeston
99a2c24116
Scripts/SmartAI: Forward invoker to invoked action list actions. Also JustAppeared -> InitializeAI.
...
# Conflicts:
# src/server/game/AI/SmartScripts/SmartScript.h
2019-04-26 18:51:19 +02:00
Treeston
7c025ee803
Core/AI: EscortAI init logic moved from JustAppeared to InitializeAI. There are no escort NPCs using compatibility mode anymore, so this is equivalent.
...
As a result, inheriting scripts calling Start in on-create hooks (like JustSummoned) will now work properly again.
Tagging #20310 .
# Conflicts:
# src/server/game/AI/ScriptedAI/ScriptedEscortAI.h
2019-04-26 18:49:47 +02:00
Treeston
b7984e132c
Core/Unit: Successfully (?) prevented the zombie apocalypse. Corpses can no longer gain HP. Closes #22409 .
2018-09-15 11:04:09 +02:00
Treeston
c843f2b7e2
Core/ChatCommands: Implement achievement link parsing
2018-09-09 15:05:25 +02:00
Treeston
e97e4e4605
another build fix
2018-09-09 14:56:00 +02:00
Treeston
13f45991ea
build fix for pedantic compilers
2018-09-09 14:55:46 +02:00
Treeston
76d8fdba9c
Core/ChatCommands: Properly handle single-argument handlers (argument string discarded). Add special handling for on/off booleans.
2018-09-09 14:31:46 +02:00
Treeston
dda4a2f8d7
Scripts/SmartAI: SMART_TARGET_INVOKER cleanup step 1. The core will now log errors on start-up if SMART_TARGET_INVOKER abuse is found, but will continue to load the scripts as deprecated for now.
...
Note that a lot of these scripts may either not currently work, not work reliably, or may be prone to breaking unexpectedly when core internals change. SMART_TARGET_INVOKER is undefined behavior on any event that doesn't directly specify its invoker.
(We are considering options for allowing INVOKER to make sense in timed action lists in a reliable fashion, so they are exempted at this time.)
2018-09-03 14:12:39 +02:00
Treeston
6420e84773
Core/Maps: Fix a crash when spawning a spawn group
2018-08-29 19:26:10 +02:00
Treeston
9e2c08cd2c
Core/GameObject: Add getter for current Quat rotation
2018-08-29 19:19:31 +02:00
Treeston
836a607875
Core/Scripting: Delay zone script's OnCreatureCreate until the creature has been added to map stores
2018-08-29 19:13:07 +02:00
Treeston
08ea000c1b
Core/Maps: Properly re-create map on login for ephemeral player saves. Because it bugged me to no end when testing anything ever.
2018-08-29 19:03:15 +02:00
Treeston
4d0031bbd3
Core/LFG: Order group members before creating LFG group (leader > tank > healer > dps). Closes #16244 .
2018-08-22 21:32:52 +02:00
Treeston
b7aa449463
DBError follow-ups:
...
* broadcast_text mismatch (6eb7f06) is now a _INFO since Aok isn't nearly as fast as fixing as he claimed.
* SmartAI invoker misuse (482328b and a3c85c8) are now blocking errors
2018-08-20 04:51:38 +02:00
Treeston
62f259e2c9
Startup/DB: Print errors on npc_text vs broadcast_text mismatches.
2018-08-20 04:29:47 +02:00
Treeston
8bb732b951
Scripts/Commands: Fix .quest complete to properly work with PvP kill quests. Closes #16321 .
2018-08-15 13:37:41 +02:00
Treeston
af82810be9
AI/SmartScripts: Replace SMART_ACTION_INVOKER_CAST with SMART_ACTION_SELF_CAST in action 85. SMART_ACTION_INVOKER_CAST moves to 134.
2018-08-11 01:30:34 +02:00
Treeston
41f2b0f026
AI/SmartScripts: Warn on startup for ACTION_INVOKER_CAST without invoker (same as invoker targets)
2018-08-07 13:17:29 +02:00
Treeston
64780d7b31
visibility range check, fac4700 follow-up
2018-07-29 19:04:21 +02:00
Treeston
6cb585aa96
Core/Maps: Continue updating creatures that own auras applied to players. Closes #22110 .
2018-07-29 19:00:09 +02:00
Treeston
fb6acb3415
visibility range check, fac4700 follow-up
2018-07-24 11:18:25 +02:00
Treeston
c58246d981
Core/Maps: Continue updating creatures that own auras applied to players. Closes #22110 .
2018-07-24 11:18:07 +02:00
Treeston
204145b3df
Common/Containers: Eliminate a edge case that could potentially lead to object invalidation.
2018-07-23 14:01:25 +02:00
Treeston
f441d36d78
Misc: Pass std::chrono types by value everywhere.
2018-07-23 13:53:13 +02:00
Treeston
60fd73b18c
Core/AI: Add a new LeavingWorld AI hook
2018-06-26 14:54:25 +02:00
Treeston
b09c808291
Scripts/Naxxramas: Fix an issue that could cause Sapphiron to stop using Drain
2018-03-12 12:21:37 +01:00
Treeston
ca312ced05
DB/SpawnGroup: Reserve group IDs 52 through 56 for Culling of Stratholme rewrite
2018-02-24 13:12:13 +01:00
Treeston
54316a0b99
Scripts/CoT4: Stratholme Residents should no longer rudely interrupt Arthas by punching him in the face while he's giving a righteous sermon on his reasons for wiping them all out.
2018-02-16 01:25:38 +01:00
Treeston
daa7c79f7e
Revert "Scripts/ScarletEnclave: fix Massacre at Light's Point mine cart escort to work again (tag #20310 )"
...
This reverts commit 6ff71dffbb774b8ea715053cd9223edc5c67bb0f.
2018-02-16 01:25:02 +01:00
Treeston
c83d9d3a4b
Scripts/AzjolNerub: Hadronox is a big spider mommy, and needs more room to pet her spider pets properly. Hopefully this'll reduce the number of evades happening during the encounter. Tag #20310 .
2018-02-16 01:24:55 +01:00
Treeston
302599decd
Scripts/ScarletEnclave: fix Massacre at Light's Point mine cart escort to work again (tag #20310 )
2018-02-16 01:24:48 +01:00
Treeston
7c9b62eac8
DB/Quest: fix Territorial Trespass SmartScript to use proper target type (tag #20310 )
2018-02-16 01:24:41 +01:00
Treeston
6363bc77b8
Game/AI: InvalidAIException internal cleanup
2018-02-10 12:08:24 +01:00
Treeston
7997bebf9e
Scripts/AzjolNerub: Missing nullptr check in Hadronox. Closes #21258 .
2018-01-21 12:55:37 +01:00
Treeston
ae8616bd52
DB/Quest: Allow starting Amphitheater of Anguish (12932) without having completed The Champion's Call (12974)
2018-01-21 12:55:25 +01:00
Treeston
574ce3f3ae
kologarn unit_flags2 for difficulty_entry
2018-01-14 07:07:54 +01:00
Treeston
6522040c5e
Core/Unit: Abide UNIT_FLAG2_DISABLE_TURN on creatures. Add that flag to Kologarn (from sniff). Hi sirikfoll.
2018-01-14 07:07:20 +01:00
Treeston
381e3ac9e9
DB/Creature: Remove a stray CIVILIAN flag from Cabal Agent. Tagging #19998 .
2018-01-03 04:37:06 +01:00
Treeston
0aa1c50b41
travis fix
2018-01-01 16:02:44 +01:00
Treeston
2dea942944
Core/Unit: For convenience, explicitly redirect CastSpell with nullptr as first argument to the Unit* overloads. No more ->CastSpell((Unit*)nullptr, ...) all over the place!
...
(cherry picked from commits c7896f31026d6bdee189226680705dd7965b2039 and 40c78cac4c430a97386b44b994ec85fbaeda8821)
2017-12-26 01:17:44 +01:00
Treeston
d08f8bc39a
some more cleanup (cbd025f follow-up)
2017-10-26 12:56:12 +02:00
Treeston
6d2bfac955
Core/Player: More cleanups to Player::UpdateZone, including correcting an oversight that was causing the last known zone id to not update when leaving map. Closes #20289 for real this time.
2017-09-10 15:42:55 +02:00
Treeston
46657cca71
Core/Player: Update map zone stats BEFORE invoking scripts. Fixes a crash with zone change scripts that invoke another zone change. Closes #20289 .
2017-09-10 15:34:30 +02:00
Treeston
46565118b3
Core/Player: Prevent changing equipment while charmed. Closes #20209 .
2017-09-10 15:30:11 +02:00
Treeston
244e9c6a15
Core/Creature: Fix an oversight in Creature::SelectVictim that was causing creatures to evade when chased by another creature from outside their own aggro range. Closes #19998 .
2017-09-10 15:24:38 +02:00
Treeston
867ca8817f
Core/Unit: Don't apply liquid effects to game masters.
2017-08-03 19:39:45 +02:00
Treeston
584a302f3c
Scripts/IcecrownCitadel: Prevent players from becoming inaccessible when killed by Lord Marrowgar's Impale spell (the initial damage, not the DoT). Also fix the underlying bug in vehicle logic.
2017-07-27 16:46:47 +02:00
treeston
d73970fcb5
Scripts/Item: Change Nitro -> Boosts <- to use the correct knockup effect for their backfire. Also, script that knockup effect to work properly ("usually" deploy a rescue parachute).
2017-07-18 18:34:57 +02:00
Treeston
e4841c960b
Core/Quest: Prevent an issue causing quests to become invisible upon relog. ( #20030 )
...
Closes #20012
2017-07-16 14:38:37 +02:00
treeston
6deabff867
Formation idle: Remove more shitty code. Fixes #19995 for real this time.
2017-07-06 20:46:58 +02:00
Treeston
da00217d31
Utilities/Containers: New RandomResize implementation with guaranteed asymptotic linear time for all container types ( #19974 )
2017-07-06 20:46:45 +02:00
treeston
794ea8c406
Fix formation follow. Closes #19995 .
2017-07-06 20:46:40 +02:00
treeston
af36d491a1
Fix an overly strict check that was causing guardians to evade loop. Also make players properly enter combat when their pets are engaged by a creature.
2017-06-20 03:55:07 +02:00
treeston
46f98b64c3
Rename .debug uws to .debug worldstate (clarity change).
2017-06-17 11:42:23 +02:00
treeston
4cd2ff6ae4
Fixes to all-reputation and all-skill custom option handling:
...
- Move on-create customs (all explored, all reputations) to CharacterHandler::HandlePlayerLogin for first login.
- Add Wrath and cata factions to all reputations custom (it only had BC factions).
- Remove unused ReputationMgr::SendStates. Add ReputationMgr::SendState handling for sending all updated states in arbitrary order if nullptr is passed (used in point 1).
- Fix all weapon skills max custom to properly apply on learning new weapon skills.
2017-06-15 08:08:49 +02:00
treeston
5812c6559f
build fix
2017-06-15 07:49:57 +02:00
treeston
f3aeaf990e
dynamic_spawning conflict avoidance, part deux: World.h enums
2017-06-12 18:27:39 +02:00
treeston
d33f462200
Removed a now-unused local (ca02629 follow-up)
2017-06-12 18:00:28 +02:00
treeston
e20bc3d4bf
Added new BoundaryUnionBoundary subclass of AreaBoundary, which does what it says on the tin. Hi, sirikfoll.
2017-06-11 17:49:35 +02:00
treeston
a17af751bc
Reserve RBAC permission entries 856-860 for dynamic_spawning branch to minimize future conflicts.
2017-06-09 13:30:15 +02:00
treeston
4b073c7354
Fixed a potential crash when resuming a SplineChainMovementGenerator.
2017-06-09 13:22:32 +02:00
treeston
2b721ca16c
SAI fixes follow-up: I missed one.
2017-06-06 22:22:01 +02:00
treeston
3cc2419c2f
Fix a whole set of possible infinite loop crashes in SAI (events triggering themselves even with cooldown set).
2017-06-06 22:14:22 +02:00
treeston
24c89fba76
Re-check target evade state on projectile impact and adjust accordingly. This fixes the incorrect message ("Absorb" instead of "Evade"), and also removes the root cause of the original evade follow bug (that was prevented in 1945874).
2017-06-06 19:32:18 +02:00
treeston
a6b393c2af
clang is dumb
2017-06-06 07:49:31 +02:00
treeston
68c500f020
Some improvements to .debug raidreset command. Now supports heroic difficulty 5-man dungeons and outputs sensible text, as opposed to silently doing (or not doing) stuff.
2017-06-06 07:49:02 +02:00
treeston
aef568cdd1
Fix an issue where CanSpawn would never get invoked on creatures without per-guid script.
2017-05-31 16:10:04 +02:00
treeston
a83b77485a
Add another helper to ScriptedGossip.h for resolving listId -> action.
2017-05-31 16:09:56 +02:00
Treeston
16e60ba408
Partial revert of 15a207f, which was causing issues (ref #4943 and #19768 ). Instead, fix the underlying issue from 15a207f one level further down - Unit::getAttackerForHelper() shouldn't return units that we aren't in combat with (victim can be such a unit for players/player pets, which can startattack from a distance without entering combat). ( #19814 )
...
Fixes the following issues:
- Player pets would aggro neutral mobs as soon as they start autocasting (Imp's Firebolt) if they're in react range (due to victim != null, autocast counts as autoattack and sets victim)
- Neutral mobs would randomly evade when aggro switched between targets.
Closes #19768 , #19485 and #10921 .
(from PR #19814 )
2017-05-30 09:21:38 +02:00
Treeston
e80602f048
Fix evade issues when a spell hits the target just before evading. ( #19815 )
...
- Creatures should no longer get stuck in evade mode following a target if a spell hits the creature just as it's entering evade mode.
- Fixes and closes #4943 . Finally.
2017-05-30 09:20:49 +02:00
treeston
e361682377
Quickfix a bug introduced by 2f19d97 which prevented GTAoE from being cast.
2017-05-28 03:18:35 +02:00
treeston
3fa862ab38
Instances/Ulduar: Fix a super edge case bug where Algalon would evade if his tank successfully tanked a Cosmic Smash and got knocked up. Shadow priests everywhere rejoiced.
2017-05-28 03:18:18 +02:00
treeston
8d06064897
Core/Creature: Fix SetSpawnHealth so it cooperates with the colossal hack that is Battleground::AddCreature. *puke*
2017-03-03 01:21:26 +01:00
treeston
f1681c75b1
Core/Creature: Prevent boss creatures from ever respawning naturally.
2017-02-10 05:25:45 +01:00
treeston
c91f195554
Core/Creature: Correctly reset pathfinding capability on respawn. Prevents evade chains on some bosses. Closes #18188 .
2016-11-03 16:14:09 +01:00
treeston
5d0a5951a1
Entities/Creature: Fix an edge case issue where creatures would re-acquire target after respawn if they despawned while spell focusing.
...
Instance/AzjolNerub: Fix Anub'arak wall and add sequence break info. Fixes and closes #18013 .
2016-10-24 13:54:20 +02:00
treeston
a9557382e8
Scripts/AzjolNerub: Make pulling Anub'arak a bit cleaner.
2016-10-24 13:45:33 +02:00
treeston
e5f2fe7b7b
Fix _DespawnAtEvade for other creatures to actually respawn said other creatures.
...
Also fix add aggro for Hadronox.
Fixes and closes #18012 .
2016-10-24 13:45:01 +02:00
treeston
0ba8f4c955
Core/Creature: Fix respawn logic to call reset react state BEFORE calling Reset(). Fixes Krik'thir behavior after a wipe (and maybe some others).
...
Fixes and closes #18011 .
2016-10-24 13:44:08 +02:00
treeston
824db91cbe
Various: Fix coverity reported issues.
2016-10-05 07:59:14 +02:00
treeston
a142c7b2ae
and you get a header, and everyone gets a header...
2016-09-27 13:02:59 +02:00
treeston
0b2b2641a0
.....hail PCH
2016-09-27 13:02:49 +02:00
treeston
0739185b29
...for real this time (seriously - what happened to test builds before merging, Aok?)
2016-09-27 13:02:41 +02:00
treeston
31d71fda27
Fix nonPCH.
2016-09-27 13:02:32 +02:00
Treeston
6dd0f9a478
I think I got all of them this time
...
No idea how this one got past travis.
2016-09-27 13:02:25 +02:00
Treeston
69e4236146
Scripts/AzjolNerub: Full rewrite
2016-09-27 13:01:58 +02:00
treeston
80741d92ac
Scripts/IcecrownCitadel: Fix an issue where Deathbringer Saurfang's exit door could get stuck in a closed state. Fixes and closes #15018 .
2016-09-22 15:28:15 +02:00
treeston
8952a6a9c7
Movement/SplineChain: Fix a potential critical bug where resume info returned during an edge case could fail an assertion when used.
2016-09-22 03:10:39 +02:00
treeston
6045d3f33d
d3214a0 follow-up for code style.
2016-09-22 03:10:28 +02:00
treeston
6b83a23408
Movement/SplineChain: Streamline the script workflow for resume info a bit, provide static method that does all the ugly pointer casts for you. Also prevent a nullptr dereference crash if scripts mishandle motionmaster, and canonize Chain == nullptr to signify "no resume info".
2016-09-22 03:10:17 +02:00
treeston
3d82e5771d
Map/InstanceMap: Ease up on a somewhat overzealous error message regarding instance saves.
2016-09-22 03:10:06 +02:00
treeston
7eb89d3648
Core/Movement: Fix a DB spline chain overload I missed in 2170541
2016-09-21 05:26:27 +02:00
Treeston
3815b5bc06
Code style follow-up, I blame Notepad++.
2016-09-20 20:33:01 +02:00
treeston
8a402b9f6b
Core/Unit: Standardize SetFacingTo and SetFacingToObject behavior while moving. Both now fail while moving unless arg2 bool is true
2016-09-20 20:28:45 +02:00
treeston
bd109edce8
5952752 follow-up: Member declaration now matches order of usage.
2016-09-20 18:38:42 +02:00
treeston
bd9dbabcc0
Instance/Naxxramas: Loatheb no longer instantly murders you. Five spam casts of Doom tend to do that to raids.
2016-09-20 18:37:58 +02:00