Commit Graph

22629 Commits

Author SHA1 Message Date
Aokromes
acf240861d Core/Misc: Cleanup worldserver/authserver main() functions to run des…
…tructors in predictable order

* world/auth servers will now fail to startup if listen ports are in use
* Restored "Network.OutUBuff" config option lost during boost transition

(cherry picked from commit 6c92a48)
2017-06-19 16:44:52 +02:00
joschiwald
28de675dd9 Core/Misc: Added Creature::CanGiveExperience helper function
(cherry picked from commit c1cc0e9949)
2017-06-19 07:54:58 +02:00
S.V
87784721a4 Core/Scripts: Fixed GAMEOBJECT_TYPE_DOOR closing automatically after being opened with .gobj act (#19342)
Closes #19261.
2017-06-18 15:41:45 +02:00
ariel-
5e37e99ffa Core/Scripts: fix array out of bounds in Pit of Saron doorData 2017-06-18 10:43:37 +02:00
Aokromes
6b31134c27 Revert "Cross-check client-submitted fall time with server-measured time. When excessive difference is detected, punish player."
This reverts commit e0e2242b17.
2017-06-18 04:56:42 +02:00
Aokromes
be42649128 partialy revert fdcca7177b 2017-06-18 04:52:14 +02:00
Aokromes
fdcca7177b typo fix 2017-06-17 14:01:26 +02:00
Aokromes
e0e2242b17 Cross-check client-submitted fall time with server-measured time. When excessive difference is detected, punish player.
Fixes an exploit that could trivialize the Lich King encounter.
2017-06-17 11:58:15 +02:00
Aokromes
a990a4ce08 Rename .debug uws to .debug worldstate (clarity change). 2017-06-17 11:51:12 +02:00
Aokromes
37be43ae8b Fix an issue where temp summons were ignoring m_regenHealth. 2017-06-17 11:46:01 +02:00
treeston
46f98b64c3 Rename .debug uws to .debug worldstate (clarity change). 2017-06-17 11:42:23 +02:00
Aokromes
4e95a6b4ad Group creation again (follow-up to 132538d). Groups now only disband if all members reject the invitation (as opposed to if any member rejects the invitation). 2017-06-17 11:41:57 +02:00
Aokromes
b1f54ba152 Make travis happy 2017-06-17 11:33:02 +02:00
Girip Dragos Andrei
2d9aeacfd7 Wailing Caverns 2017-06-17 08:44:27 +00:00
Aokromes
461ba1cb56 Fix (C) for multiple files 2017-06-15 08:46:45 +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
Aokromes
29cbbc50d3 Core/Player: Keep shared quests through map changes instead of getting stuck in busy state 2017-06-15 07:40:14 +02:00
Gustavo
288aca3d15 Core/Spells Allow bosses to receive KnockBack under certain conditions (#19312)
Conditions: Not player, not controlled by player and not hunter's pet
2017-06-15 07:28:59 +02:00
Aokromes
234adeaafd Build fix 2017-06-14 05:22:31 +02:00
Aokromes
70fc19951c Modify group invite behavior while creating group to be blizzlike:
- Leader can invite multiple people before the first invite is accepted
- Leader can cancel group formation by sending CMSG_GROUP_DISBAND (using /run LeaveParty() or similar)
2017-06-14 05:11:47 +02:00
Aokromes
5b1121af3c Add new command 'npc showloot'. Does exactly what it says on the tin. 2017-06-12 19:37:41 +02:00
Aokromes
e0ad514328 Build fix 2017-06-12 18:39:53 +02:00
treeston
f3aeaf990e dynamic_spawning conflict avoidance, part deux: World.h enums 2017-06-12 18:27:39 +02:00
Aokromes
57841569e5 - Add new commands .group set assistant, .group set maintank and .gro…
…up set mainassist to toggle raid member flags.

- Fix 2017_05_29_00_auth.sql to be reapply safe.
2017-06-12 18:23:57 +02:00
treeston
d33f462200 Removed a now-unused local (ca02629 follow-up) 2017-06-12 18:00:28 +02:00
Aokromes
558bbbcf98 Make some adjustments to .summon and .group summon behavior to make t…
…hem more permissive:

- Now only requires the either target's group leader or target itself to be on your map
- Now summons all applicable group members even if one member fails checks
- No longer has some truly weird edge case instance unbind code that could cause exploit behavior (Really, I have no idea why this existed, because it certainly didn't do what it might've been meant to do.)
2017-06-12 18:03:01 +02:00
Aokromes
6c686876d0 Core/Scripts: fix some /W4 warnings 2017-06-12 17:49:39 +02:00
Aokromes
5c4153ba98 Core/OutdoorPvP: refactor using Position and Quat to pack parameters
- Moved statics to cpp
- Save scriptids into an array
2017-06-12 17:40:47 +02:00
Aokromes
9057cae219 So, I came in trying to fix gameobject LoS. So I restructured some stuff.
Then it turned out that gameobject LoS is already fixed. So all this does, really, is restructure some stuff.

And remove the hack from Sapphiron because I could.
2017-06-11 19:02:07 +02:00
ariel-
85c9907b07 Core/Spell: fix some spells that shouldn't allow stealth or invisibility
- Touch of Zanzil
- Glowing Blood
- Lambent Blood
- Vibrant Blood
- Black Blood
- Perpetual Instability
2017-06-11 17:50:32 +02:00
ariel-
206c82ead4 Core/SmartAI: implemented SMART_EVENT_EVENT_PHASE_CHANGE
- Use instead of Update + event_phase_mask when action needs to be synchronized
2017-06-11 17:50:24 +02:00
ariel-
e05083ad4b Core/Scripts: remove non-player objects (ie corpses) from Sindragosa's Fury targetlist 2017-06-11 17:50:11 +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
Stanislaus Teals
53ef52a638 Fix build on GCC 7.1 (#19869) 2017-06-11 17:49:27 +02:00
Aokromes
543a25d367 typo fix 2017-06-09 14:26:49 +02:00
Aokromes
ec49af7b59 Build fix 2017-06-09 14:11:36 +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
ariel-
987f0bda82 Core/Vmaps: build fix mk II 2017-06-09 13:30:07 +02:00
ariel-
3914ace3ba Core/Vmaps: build fix 2017-06-09 13:30:01 +02:00
Shauren
39356deeb9 Core/Vmaps: Fixed getting map height near large gameobjects like LK platform
Updates #19865
2017-06-09 13:29:41 +02:00
Aokromes
572021e0b3 Core/Maps: Corrected GetWaterOrGroundLevel
* When a gameobject was above water like in ToC. It would return water level
2017-06-09 13:29:18 +02:00
jackpoz
2102bd28a3 Core/Scripts: Simplify code
Partially revert 753e7074d8 and 12c680f9b1 to simplify the code and to only remove GMs from the target list.
2017-06-09 13:25:59 +02:00
Aokromes
be80e08ac6 Core/Misc: Fix typo in UNDERWARER_INDARKWATER 2017-06-09 13:25:35 +02:00
ariel-
307cc1e36f Core/Scripts: filter out corpses from Sindragosa's Fury targetlist
- This would incur in a crash after attempting to convert the Corpse object into Player

Closes #19227
Closes #19862
2017-06-09 13:22:40 +02:00
treeston
4b073c7354 Fixed a potential crash when resuming a SplineChainMovementGenerator. 2017-06-09 13:22:32 +02:00
Aokromes
f8d9d954d1 Get zone/area IDs from vmap data in the liquid update
* Add new method Map::getFullVMapDataForPosition to get area info and liquid info in a single vmap lookup
* Use this lookup in Map:: relocation methods to update m_areaId and m_zoneId fields on WorldObject
* Adjust GetZoneId/GetAreaId on WorldObject to always return these cached fields
* Clean up liquid state handling on Unit and Player
* Hand floor's Z coord up through GetFullTerrainStatusForPosition, use it to update a new field in WorldObject, and use that to feed a new GetFloorZ call on WorldObject.
2017-06-09 13:20:37 +02:00
Aokromes
ac3dbcb880 Core/Utilities: Rename RandomResizeList->RandomResize as it is no longer restricted to a list 2017-06-07 09:53:04 +02:00
Shauren
38d1fc9ab3 Core/Utils: Changed all Trinity::Containers utilities to work on all container types (including arrays where it makes sense)
* Added MapGetValuePtr to allow writing `if (Val* v = MapGetValuePtr(map, key))`
* Added utility IteratorPair class with begin/end methods and MapEqualRange for use in range for syntax with multimaps

(cherry picked from commit a1e3b54e07)
2017-06-07 09:14:37 +02:00
Aokromes
0bb27ecd4b Pet/Guardian AI hook re-organizing (#19824)
* Pet/Guardian AI hook re-organizing:
- Adjust OwnerAttacked/OwnerAttackedBy hooks on CreatureAI to fire for all owned units, not just player pets. This should allow guardians to more reliably recognize valid targets.
- Kill off the AttackedBy hook. While it was defined in CreatureAI.h as virtual, it was only ever invoked for player pets in specific situations. This makes it classic developer bait.
  - Adjust PetAI to use DamageTaken instead of AttackedBy.
  - Adjust behavior of AttackStart on PetAI to compensate.
2017-06-07 02:50:14 +02:00