Commit Graph
447 Commits
Author SHA1 Message Date
treeston f1681c75b1 Core/Creature: Prevent boss creatures from ever respawning naturally. 2017-02-10 05:25:45 +01:00
xinef1 2c05a59815 Core/Misc: Fix various crashes, also related to multithreading (#19012)
* When iterating groups we have to either do it not in multithreaded context (map updates) or start with checking maps (they are guaranteed to change in single thread update).
* Properly clear ComboPoint references on player remove 
* remove some possible references item may have when it is deleted during save. 
* Also clear all hostile references when unit is removed from map.
2017-02-05 01:58:11 +01:00
Aokromes 8bb777ef5c Few small optimizations here and there 2017-02-01 16:51:21 +01:00
xinef1 608ef8f09c Core/Pets: Fixed bug where pets tamed from large npcs had too big combat reach (#18909) 2017-02-01 01:30:08 +01:00
xinef1 ac3a9d6112 Core/Creatures: Stop falling if corpse is removed (can happen when alive unit is despawned instantly in air) (#18995)
Do not allow to start waypoint movement when unit is dead
2017-02-01 01:29:59 +01:00
Keader cf88bcfa16 Core/Entities: Implemented CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE (#18980) 2017-02-01 01:26:01 +01:00
ariel- 191e277741 Core/Creature: revert turning state apply
partial revert of 6b55faba065cd5d0519fb6e3e070a4a41d305cca

Simply removing the unit state in Creature::ReleaseFocus causes #18549 again
2017-01-23 00:17:08 +01:00
ariel- 04df42ba78 Core/Creature: don't allow turning if spell would cancel due to turning to face target
Closes #18549
2017-01-23 00:16:58 +01:00
Aokromes b7432bc39a Compile fix try 2017-01-18 15:09:57 +01:00
Aokromes 719a317a67 Update copyright note for 2017 2017-01-02 07:26:38 +01:00
Aokromes 949ce2d576 Core/Units: Cleanup hardcoded magic numbers for byte field offsets
(cherry picked from commit ac1dc75)
2016-12-16 19:54:22 +01:00
Aokromes b76aec422d typo fix
by ccrs
2016-12-06 11:03:34 +01:00
ccrs 1e9b740ce5 Core/Pets: Pet Attack Distance 2016-12-06 11:03:22 +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 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
ariel- 3944dc25b9 Core/Creature: Call SetSpawnHealth after JustReachedHome in HomeMovementGenerator
Fixes issues with quests that rely on this behaviour (eg Free your Mind)

Also updated SetSpawnHealth so it doesn't do anything in case spawn is manual (SetHealth(GetHealth()) does modify things depending on deathstate)
2016-10-24 11:10:41 +02:00
SnapperRy 7155428435 Core/Creature: update health/mana/damage/armor when changing a creature's entry while keeping the original level.
Fixes an issue introduced in a6ef9d4.
2016-09-24 07:00:27 +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 32de236865 Game/Scripting: Follow-up to b3d44d6. Fix script selection for creatures on difficulty > 0. 2016-09-09 20:00:30 +02:00
treeston 5bd9d82c9d Creature/Scripting: Move CreatureAI::CanRespawn to CreatureScript::CanSpawn. Now also applies to initial spawn. Dynamic spawning prep. 2016-09-09 19:57:25 +02:00
treeston 109d87d3c3 Entities/Gossip: The Big One™ that gets rid of all uses of The Bad™ and The Ugly™, e.g. gossip preprocessor macros, and replaces them with the new-and-shiny gossip functions. 2016-08-31 08:39:33 +02:00
treeston e12a7116f8 Entities/Creature: Add arg2 to DespawnOrUnsummon to allow overriding respawn time. This matches changes that will be merged as part of dynamic spawning, allowing scripts to transition early. 2016-08-26 00:02:16 +02:00
SnapperRy 55757c0d68 Core/SmartAI: add param2 to SMART_ACTION_UPDATE_TEMPLATE, allowing to specify if creature's level should remain the same between entry updates.
A value of 0 (default) forces the creature to keep its current level between entry updates.

Fixes #16371
2016-08-24 10:23:34 +02:00
Treeston a29913187b Core/Spells: Fix orientation- and targeting-related issues if the creature isn't currently engaged in combat. (#17120)
Also disable spell focus system for vehicle control auras.

Closes #16572
Closes #17016
2016-08-21 13:16:30 +02:00
Malcrom cadaf222e7 Core/Creatures: Implemented loading animkits from creature_addon (#17834) 2016-08-21 00:14:15 +02:00
treeston 9548a8567b Entity/Creature: Fix spawn health, for real this time. Closes #17757. Also for real this time. 2016-08-12 11:59:44 +02:00
treeston 34a8f8473b Entities/Creature: Fix spawn health, fdd78d2 follow-up. Fixes and closes #17757. 2016-08-12 11:59:24 +02:00
Treeston 7d2b1128a6 Core/Creature: Fix health regeneration. Creatures immediately reset to full health upon reaching home, rather than slowly regaining it over multiple seconds, which allows players to re-engage them at less than max health. (#17756) 2016-08-12 11:53:12 +02:00
Naios e23d063f5a Core/Game: Rewrote the ScriptMgr to support script reloading.
* Finally this commit enables dynamic script hotswapping
  and finished the PR #15671.
* Split the storage layout to use optimized storages
  for database bound and unbound scripts.
* Add several unload workers to reload scripts correctly
  -> Requires further investigation.
* Fixes memory leaks in ScriptMgr when dropping invalid scripts.
* Fixes VehicleScripts
* Makes OutdoorPvP scripts reloadable
* Makes InstanceMapScripts reloadable
* Makes CommandScripts reloadable
2016-08-10 08:40:44 +02:00
ariel- fa8662e617 Core/Movement: Clean up and improvements on Unit::SetSpeed (#16843)
- 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.
Conflicts:
	src/server/game/Entities/Unit/Unit.cpp
	src/server/scripts/Commands/cs_modify.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
	src/server/scripts/Kalimdor/zone_azshara.cpp
	src/server/scripts/Kalimdor/zone_durotar.cpp
	src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
2016-07-23 07:02:25 -03:00
jackpoz d255975122 Core/Creature: Fix assertion triggered
Fix assertion triggered when a Creature was summoned at an invalid position with Auras loaded as Creature addons.
Fix #17415
2016-07-20 18:13:32 +02:00
Aokromes 7cc54c08bb Revert "Merge pull request #16433 from Tonghost/3.3.5"
This reverts commit e3d5299, reversing
changes made to 6d8e39f.
2016-07-20 14:39:58 +02:00
Aokromes 006d89310b Core: updated creature type flags enum (#17128)
Core/Misc: Update CreatureTypeFlags enum according to TrinityCoreWiki
2016-07-20 13:47:25 +02:00
Aokromes a65ac56b74 Core/Entities: Ported byte field offset naming from 6.x 2016-07-19 15:08:35 +02:00
Aokromes a71da1c603 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-07-19 13:33:04 +02:00
SnapperRy 9c13a846f9 Core/Creature: implement INHABIT_ROOT to apply UNIT_STATE_ROOT to creature (#17543)
Add flag 8 to InhabitType for creatures that should appear rooted client-side
2016-07-17 15:23:47 +02:00
Aokromes 41c3193c6b Core: Remove whitespaces 2016-05-16 22:52:36 +02:00
treeston 29fc5909e6 - Clean up spell facing behavior a bit. Visual target behavior should now be a lot smoother.
- Clean up Creature.cpp. NULL -> nullptr, gotta love it.
- Renamed some recently added members of Creature to match code style.
2016-05-12 08:25:01 +02:00
r00ty-tc f51e4e1ca7 Adjustments to spell facing - Adjusted HaveAtClient to accept Object* (still accepts all subordinates) - Use grid searcher to find players in visibility range for unit - Use client cache instead of "See or Detect" to decide who to send updates to - Adjusted SendUpdateToPlayer to send createobject packet only if not known to client
(cherry picked from commit c0693a6ee52d31840ab2ee878c4881884b857638)
2016-05-12 08:17:08 +02:00
treeston 06d976b221 Entities/Creature: Fix bugs with pets not properly reacquiring target after spell cast. Closes #16824. 2016-05-12 08:05:47 +02:00
jackpoz 5fa4faac38 Core/Creatures: Fix dead creatures spawn position on restart
Fix dead flying creatures ignoring being spawned below the floor in instances on server restart because of not taking into account vmap height.
Fix #16777
2016-05-12 00:19:58 +02:00
ariel- 65aec5f8f7 Merge remote-tracking branch 'tc/3.3.5' into 4.3.4
Note: additional hand-picked ports from 6.x to fix build

Conflicts:
	sql/updates/world/2016_02_22_00_world.sql
	sql/updates/world/2016_02_22_01_world.sql
	sql/updates/world/2016_02_22_02_world.sql
	sql/updates/world/2016_03_07_00_world.sql
	src/server/authserver/Realms/RealmList.cpp
	src/server/authserver/Realms/RealmList.h
	src/server/authserver/Server/AuthSession.cpp
	src/server/game/Accounts/AccountMgr.cpp
	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
	src/server/game/Chat/Chat.cpp
	src/server/game/Conditions/ConditionMgr.cpp
	src/server/game/Conditions/ConditionMgr.h
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Scripting/ScriptLoader.cpp
	src/server/game/Scripting/ScriptLoader.h
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/World/World.cpp
	src/server/game/World/World.h
	src/server/scripts/CMakeLists.txt
	src/server/scripts/Commands/cs_gm.cpp
	src/server/scripts/Commands/cs_misc.cpp
	src/server/scripts/Commands/cs_rbac.cpp
	src/server/scripts/Commands/cs_ticket.cpp
	src/server/scripts/Commands/cs_wp.cpp
	src/server/scripts/EasternKingdoms/CMakeLists.txt
	src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp
	src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
	src/server/scripts/Kalimdor/CMakeLists.txt
	src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
	src/server/scripts/Kalimdor/zone_orgrimmar.cpp
	src/server/scripts/OutdoorPvP/CMakeLists.txt
	src/server/scripts/Spells/spell_dk.cpp
	src/server/scripts/Spells/spell_hunter.cpp
	src/server/shared/CMakeLists.txt
	src/server/worldserver/CMakeLists.txt
	src/server/worldserver/Main.cpp
	src/tools/mmaps_generator/CMakeLists.txt
2016-03-11 18:32:07 -03:00
treeston 89e2afb8f9 Core/Creature: Prevent friendly vehicles from trying to attack their rider after dismounting. 2016-03-01 20:12:46 +01:00
ariel- 8bc477a2de Merge remote-tracking branch 'tc/3.3.5' into 4.3.4
Conflicts:
	sql/base/characters_database.sql
	sql/updates/world/2016_01_26_00_world.sql
	sql/updates/world/2016_01_31_00_world.sql
	sql/updates/world/2016_02_07_00_world.sql
	src/server/authserver/Server/AuthSession.cpp
	src/server/database/Database/Implementation/LoginDatabase.cpp
	src/server/database/Database/Implementation/LoginDatabase.h
	src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
	src/server/game/AI/ScriptedAI/ScriptedCreature.h
	src/server/game/Achievements/AchievementMgr.cpp
	src/server/game/Chat/Chat.cpp
	src/server/game/DataStores/DBCStores.cpp
	src/server/game/DataStores/DBCStructure.h
	src/server/game/DataStores/DBCfmt.h
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Handlers/AuctionHouseHandler.cpp
	src/server/game/Handlers/MailHandler.cpp
	src/server/game/Handlers/MovementHandler.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Server/WorldSocket.h
	src/server/game/Spells/Auras/SpellAuraEffects.cpp
	src/server/game/Spells/SpellEffects.cpp
	src/server/game/Spells/SpellMgr.cpp
	src/server/scripts/Spells/spell_druid.cpp
	src/server/scripts/Spells/spell_generic.cpp
	src/server/scripts/Spells/spell_hunter.cpp
	src/server/scripts/Spells/spell_rogue.cpp
	src/server/scripts/Spells/spell_shaman.cpp
	src/server/shared/Networking/AsyncAcceptor.h
	src/tools/map_extractor/CMakeLists.txt
	src/tools/map_extractor/System.cpp
	src/tools/map_extractor/adt.h
	src/tools/mmaps_generator/MapBuilder.cpp
2016-02-21 07:02:53 -03:00
Treeston 8eabbb0427 Merge pull request #16467 from Treeston/3.3.5-FixEvadeMode
[3.3.5] Creature/AI: Fix incorrect evade logic
2016-02-09 22:53:38 +01:00
Treeston e3d52990dd Merge pull request #16433 from Tonghost/3.3.5
[3.3.5][6.x] Core/Creature: Do not load equipment with id = 1 when creature.equipmen…
2016-02-06 16:36:53 +01:00
Rushor 110e0fd092 Game/Creature: Implement CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK
* updates #16423
2016-02-04 15:46:23 +01:00
treeston 53d6431c19 Creature/AI: Fix incorrect evade logic (closes #16461) 2016-02-03 21:34:17 +01:00
pete318 fe2a0fda44 Prevent duplicate spawns for same spawn ID
If there is an alive instance of the creature upon creature spawn, skip
spawn entirely. If there are only dead instances, despawn them. A new dead
corpse in the creatures home position will be respawned.

Closes: #16462
2016-02-03 19:27:36 +01:00