Commit Graph

1206 Commits

Author SHA1 Message Date
treeston
7b1560fccb Entities/Unit: Finally fix no-path evasion.
- When a creature cannot find a path to its victim, it begins evading all attacks and regenerating health.
- If this persists for 5 seconds, it evades back to spawn position with new EvadeReason value EVADE_REASON_NO_PATH.
- Also some SmartAI cleanup (why oh why does it have so much duplicated code) and getting rid of #defines in favor of type-checked compile-time constants.
2016-04-10 19:49:40 +02:00
Shauren
3f7e6af49e Properly rename the stand state method... 2016-04-08 22:32:15 +02:00
Shauren
6dfc4771a1 Core/Misc: Renamed getStandState to minimize differences between branches 2016-04-08 22:21:13 +02:00
joschiwald
052603a7e8 fixed build 2016-03-20 20:49:37 +01:00
chaodhib
303f0a4430 Fix MSG_MOVE_SET_* opcodes. The GUID of the concerned unit was missing from the packet. 2016-03-13 15:34:23 +01:00
treeston
fe707db96f Core/AI: Fix an edge case crash with PlayerAI. Again. Sheesh. 2016-03-03 20:57:03 +01:00
treeston
bfac62c5c9 Fix some behavioral weirdness resulting from 79a945d5 - thanks ccrs. 2016-02-28 01:56:13 +01:00
treeston
5354b585e3 Unit/AI: Move CharmedPlayerAI logic from the SetCharmedBy/RemoveCharmedBy hooks to Player::Update -> Unit::UpdateCharmAI to guarantee thread safety and prevent race condition crashes. 2016-02-27 23:48:10 +01:00
Shauren
85c912c404 Core/Misc: Added Convenience methods removing auras by predicate
(cherry picked from commit 0953bcf73f)
2016-02-25 21:01:38 +01:00
Treeston
4e4b2b9a13 Merge pull request #16644 from Treeston/3.3.5-customcharmai
Core/UnitAI: Rework creature-controlled player behavior.
2016-02-24 13:39:31 +01:00
treeston
2f14664340 Core/UnitAI: Rework creature-controlled player behavior.
- Removed hacked control mechanism, use proper PlayerAI instead
- Port old hacky code to new SimpleCharmedPlayerAI class
- Make adjustments to aforementioned code to fix bugs:
    - Properly clean up movement after charm ends
    - Only try to attack a target if charmer is engaged in combat
2016-02-23 13:41:56 +01:00
ariel-
405917e70f Core/Unit: Fix typo introduced in 6f2b086048 2016-02-21 00:38:21 -03:00
treeston
98860911e2 Check to make sure we aren't dispelling a buff for _all_ dispel types, not just magic. Closes #15321. 2016-02-13 11:44:37 +01:00
treeston
cfed2d7a3d Merge remote-tracking branch 'Eliminationzx/FixJumpDestOrientation' into 3.3.5 (PR #16450) with some minor CS adjustments 2016-02-10 17:41:19 +01:00
Elimination
ff80f249a7 Fix jump dest orientation 2016-02-10 20:25:29 +07:00
ccrs
983bbe4a4c Core/Spells: Rogue Honor Among Thieves 2016-02-10 14:12:58 +01:00
treeston
53d6431c19 Creature/AI: Fix incorrect evade logic (closes #16461) 2016-02-03 21:34:17 +01:00
treeston
f0b9ee157b Fix warning. 2016-01-30 00:48:47 +01:00
Treeston
af62cf5939 Merge pull request #15033 from tkrokli/absorb_ignoring_damage
Unit/CalcAbsorbResist: Sanctified Wrath should pierce absorb effects
2016-01-28 13:32:53 +01:00
Shauren
3f886025a2 Core/Spells: Ignore category cooldowns for triggered spells.
* This fixes weird issues where triggered spell fails because it has the same category as the spell triggering it

Closes #15794
Closes #15048

(cherry picked from commit 044edced9a)
2016-01-22 22:14:28 +01:00
joschiwald
6b3468f48a Scripts/Spells: fixed Beacon of Light 2016-01-16 23:32:34 +01:00
treeston
233297c5c8 Merge branch '3.3.5-spellfacing' into 3.3.5-base (PR #15641) 2016-01-13 18:38:54 +01:00
treeston
f481ae1048 Core/Spells: Creature spellcast facing rework:
- Fixes creatures turning just before a spellcast finishes and smacking players with supposedly-unavoidable damage. Fixes and closes #15393, #10803, and probably others.
- Fixes visual effects not lining up with the correct target for spells that have their visual aligned with the caster's orientation (examples: Anub'rekhan Impale, Ingvar's Smash/Dark Smash, etc.). Fixes and closes #2947 and probably a bunch of others, including the aforementioned #15393 and #10803.
- Creatures' displayed target now properly matches the unit they are targeting with spells for a split second (blizzlike). This is necessary to get proper client-side orientation.
2016-01-13 18:35:44 +01:00
treeston
2da458c56d Scripts/Instances: Complete rewrite of the boundary system.
- 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
2016-01-12 22:24:23 +01:00
ccrs
e5d4005cc6 Core/Spells: Fixed Raise Ally
thx @Nayd for sniffs :)
thx @Shauren for helping to find all spell involved

* There is no implementation for stats update on Puppet class (only on Guardian) so same SummonProperty as Raise Dead Ghoul (non pet) is used.
(Default SummonProperties set category to SUMMON_CATEGORY_PUPPET)
* Override the Summon Effect to enable charm and stats scaling.
* PlayerAI is used to handle unaura on ghoul despawn or dead.
It's necessary due to the fact that all script hooks on ScriptedCreature are called on an unactive CreatureAI, resulting in creature being unable to handle unaura calls.
* Create UpdateAI call for Player class
* Stats scaling is based on forum and wowhead comments, they recall this ghoul as a copy of the other one (same stats).
* Spellscript for Ghoul spell Thrash

Closes #82
Closes #14830
2016-01-08 00:10:15 +01:00
Rushor
923a368ac7 Update copyright note for 2016 2016-01-01 12:02:33 +01:00
P-Kito
b8762d8a9f Unit/CalcAbsorbResist: Sanctified Wrath should pierce absorb effects
by P-Kito; retrieved from #15027

The paladin talent Sanctified Wrath should pierce absorb effects.
2015-12-16 13:10:36 +01:00
Shauren
f72795240a Core/Creatures: Implemented automatic detection of trigger models, their order in creature_template no longer matters
(cherry picked from commit c488fb219a)
2015-12-11 23:51:04 +01:00
jackpoz
f1f4005ad8 Core/Quest: Fix issues reported by static analysis 2015-12-06 21:37:58 +01:00
Shauren
94e4bddb90 Scripts/Icecrown Citadel: Professor Putricide - fixed Expunged Gas damage formula
Closes #6396
2015-12-01 19:27:17 +01:00
treeston
1be635a025 Unit/PossessBar: Fix spell ordering on possess bar to reflect spell position in DB. Fixes Razuvious adds et al. 2015-11-29 18:41:36 +01:00
ShinDarth
5fae63804c Core/Spells fix Arcane Missiles
- close #15902
2015-11-28 00:23:34 +01:00
MitchesD
3b90b0368a Core/Misc: fix warning and misc codestyle fixes 2015-11-26 19:28:53 +01:00
Shauren
e9bd786351 Merge pull request #15763 from ShinDarth/channeled
[3.3.5] Fix conflicts between duration and cast time of channeled spells
2015-11-25 18:31:33 +01:00
ShinDarth
246e568bbd Core/Spells: fix conflicts between duration and cast time of channeled spells 2015-11-25 18:21:52 +01:00
MitchesD
c82311897a Merge pull request #15681 from Treeston/3.3.5-faerlina
Scripts/Naxxramas: Faerlina cleanup
2015-11-01 20:49:10 +01:00
Shauren
cba122ad94 Core/Conditions: Optimizations part 3 removed copying condition containers all over the place
(cherry picked from commit b09e63e9de)
2015-10-31 20:26:40 +01:00
Shauren
dc74454356 Core/Conditions: Type renaming
(cherry picked from commit 5e0cee85dd)
2015-10-31 20:26:40 +01:00
Kittnz
16f9d4ceeb Core/Player: Fixed tab issues 2015-10-31 00:03:38 +01:00
Kittnz
3c82b498cc Core/Player: Set correct Gender by Modelid
An example: You are a blood elf female, you use [Iron Boot Flask], you turn into a male dwarf, you use  [Orb of the Sin'dorei] and it will turn you into a blood elf male. This is the correct behavior like retail.
2015-10-30 23:57:23 +01:00
Shauren
4a36850167 Core/World: Store account id in CharacterInfo to reduce the amount of database queries
(cherry picked from commit aaaa1c3441)
2015-10-29 21:08:00 +01:00
treeston
577fcf356e Scripts/Naxxramas: Faerlina cleanup:
- Move greeting to areatrigger instead of MoveInLineOfSight hack
- Clean up add spawn handling to prevent various glitching with combinations of evade state and add aggro
- Ensure all adds are always pulled alongside the boss and vice versa
- Add missing texts.
- Fix a bug in the core that prevents castable-while-dead spells (such as Widow's Embrace) from appearing on possess bars.
2015-10-26 00:43:01 +01:00
pete318
c9258d436b Core/Auras: Fixed auras limited to a single target not being removed in all cases as expected
* Fixes possible assertion failure in Aura::UnregisterSingleTarget
Closes #15696
Ref #15668

Cherry picked (manually) from b808910a89
2015-10-14 18:38:13 +02:00
pete318
cdb16c5181 Rooted vehicle movement (#13342 for example)
Corrects issue where certain combinations of actions would cause vehicles (usually cannons/artillary) that should be rooted, to be fully movable
2015-10-06 22:05:11 +02:00
jackpoz
3f24853e29 Merge pull request #15473 from Treeston/3.3.5-fixplayerdamagereq
Core/Unit: Player-summoned creature damage counts towards quest credit
2015-09-25 22:51:42 +02:00
pete318
dcb7082277 Map local guids 6.x -> 3.3.35:
Implemented:
  ca83e14f8b
  ee1c1b97be
  18e4ab6911
  bf37446b3c
  cb854a2b7b

* 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.
2015-09-22 21:33:57 +02:00
StormBytePP
7b245a0b6b Core: Added ABORT() macro to prevent the usage of ASSERT(false) as a quick hack to crash the core misusing assert 2015-09-21 15:11:06 +02:00
Shauren
1321427901 Core/Unit: Fixed incorrect value sent in highest threat unit update 2015-09-15 16:58:30 +02:00
treeston
946fdbc06b Allow player-created temporary summons (quest "helper" NPCs summoned by item etc.) to contribute to the 50% player damage requirement.
Fixes quests such as "Valduran the Stormborn" (12984) or "The Air Stands Still" (13125) which previously required the player to out-damage the "helper" NPC to get credit.
2015-09-09 18:47:50 +02:00
treeston
d42a498063 Allow mounting while under transformations that can be cast while mounted.
Closes #12042.

Credit to @SeTM for base code used.
2015-09-07 19:04:44 +02:00