Commit Graph
49 Commits
Author SHA1 Message Date
treeston 0316dff245 Fix stuff™. 2016-01-14 11:42:12 +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 5b8b8c6530 Merge branch '3.3.5-bossboundary' into 3.3.5-base (PR #16089) 2016-01-13 15:33:17 +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
treeston 3ea6324507 Merge remote-tracking branch 'tkrokli/npc_myranda_the_hag' into 3.3.5-base 2016-01-12 19:18:13 +01:00
treeston 9091451818 Merge remote-tracking branch 'tkrokli/gossip_accept_duel' into 3.3.5-base 2016-01-12 19:17:39 +01:00
treeston 6710beed75 Merge remote-tracking branch 'tkrokli/npc_shadowfang_prisoner' into 3.3.5-base 2016-01-12 19:17:25 +01:00
treeston e203d78d2a Merge remote-tracking branch 'velinath/sai-migrations' into 3.3.5-base 2016-01-12 18:32:51 +01:00
treeston 27f0edde0f Game/Maps: Instance handling follow-up:
- Fix a bug where a player could maintain a conflicting non-perm solo bind if they were in the instance when invited to group. Closes #16150.
- If a group is created while the leader is in an instance that nobody is bound to, the group will take over the instance and bind to it. This stops the homebind timer when reforming group after disconnects and the like.

(cherry picked from commit 0f0a51b87a)
2016-01-11 01:51:25 -03:00
treeston 94a5629949 Game/Maps: Clean up instance handling.
- Rename Map::CanEnter to Map::CannotEnter. Return value changed from boolean (true means player can enter) to enum Map::EnterState (CAN_ENTER=0 means player can enter, any other value is a reason for deny).
- Move hack-y player error messages from within Map::CanEnter to the function calling CanEnter as appropriate (primarily WorldSession::HandleAreaTriggerOpcode).
- Modify WorldSession::HandleAreaTriggerOpcode to properly revive the player upon touching the portal leading to the instance they died in even if they are currently unable to zone in. Fixes and closes #15758.
- Modify Player::LoadFromDB to properly spawn players in the instance they logged off in if possible. Fixes and closes #15561.
- Modify permanent save behavior to be blizzlike: Players can always enter an instance they are saved to (assuming there are no map constraints against it), but get a homebind timer if the instance is already in use.

(cherry picked from commit 43fa7d48a5)

Conflicts:
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Maps/Map.cpp
	src/server/game/Maps/MapInstanced.cpp
	src/server/game/Miscellaneous/Language.h
2016-01-11 01:51:21 -03:00
treeston 91fa2154e8 Fix a spawndist start-up warning. 2016-01-07 21:17:32 +01:00
treeston 5084b17308 Merge remote-tracking branch 'velinath/sai-migrations-3' into 3.3.5-base 2016-01-07 01:24:01 +01:00
treeston 1d9d03b289 Merge remote-tracking branch 'velinath/sai-migrations-2' into 3.3.5-base 2016-01-05 23:36:57 +01:00
treeston c7459327b2 Merge remote-tracking branch 'velinath/sai-migrations' into 3.3.5-base 2016-01-05 23:36:26 +01:00
treeston d412f2d6d3 DB/Creature: Vyragosa/TLPD
- Fix linked pool spawn
- Fix respawn time to be 6h (instead of current 25sec)
Closes #7683.
2016-01-04 17:29:42 +01:00
Treeston ae4fcc3685 Merge pull request #16156 from Treeston/3.3.5-instancerevive2
Game/Maps: Instance handling bug-fix follow-up
2016-01-04 16:21:01 +01:00
Treeston 48d0fd276d Merge pull request #16182 from velinath/sai-migrations
Core/Scripts: remove unused npc_taxi scripts
2016-01-04 15:50:30 +01:00
treeston 0f0a51b87a Game/Maps: Instance handling follow-up:
- Fix a bug where a player could maintain a conflicting non-perm solo bind if they were in the instance when invited to group. Closes #16150.
- If a group is created while the leader is in an instance that nobody is bound to, the group will take over the instance and bind to it. This stops the homebind timer when reforming group after disconnects and the like.
2016-01-04 15:48:53 +01:00
treeston 19462efb4e DB/Quests: Betrayal (12713) by @dr-j:
- Fix "Blight Fog" cast behavior
- Fix "Throw Blight Crystal" cast timing
2016-01-03 22:19:57 +01:00
treeston 3af1d91967 DB/Creature: Correct Orbaz Bloodbane creature text (#16168) 2016-01-03 21:50:40 +01:00
treeston e0ffc2921b Merge remote-tracking branch 'tkrokli/move_wyrmrest_temple_taxi_to_sai' into 3.3.5 2016-01-02 23:01:14 +01:00
treeston b6ed3d3fc2 Merge pull request #16126 from velinath/taxi-to-sai 2016-01-02 17:39:54 +01:00
treeston fb14cb7e4f Rename update sql to proper name. Oops! 2015-12-31 21:54:52 +01:00
Treeston eb3dc8a4f0 Merge pull request #16110 from Treeston/3.3.5-instancerevive
Game/Maps: Clean up instance zone-in handling
2015-12-31 19:51:07 +01:00
treeston 43fa7d48a5 Game/Maps: Clean up instance handling.
- Rename Map::CanEnter to Map::CannotEnter. Return value changed from boolean (true means player can enter) to enum Map::EnterState (CAN_ENTER=0 means player can enter, any other value is a reason for deny).
- Move hack-y player error messages from within Map::CanEnter to the function calling CanEnter as appropriate (primarily WorldSession::HandleAreaTriggerOpcode).
- Modify WorldSession::HandleAreaTriggerOpcode to properly revive the player upon touching the portal leading to the instance they died in even if they are currently unable to zone in. Fixes and closes #15758.
- Modify Player::LoadFromDB to properly spawn players in the instance they logged off in if possible. Fixes and closes #15561.
- Modify permanent save behavior to be blizzlike: Players can always enter an instance they are saved to (assuming there are no map constraints against it), but get a homebind timer if the instance is already in use.
2015-12-31 01:02:07 +01:00
treeston 403ff21324 Spells/Penance: If hostile target is not in front, now fails in the initial cast rather than the triggered cast, thus not erroneously causing a cooldown. 2015-12-19 11:32:25 +01:00
treeston 54d583b0fb Scripts/Naxxramas: Instructor Razuvious rework:
- Fix missing yells
- Rearrange existing yells to match live
- Sniffed positions for adds
- Improve add respawn handling
- Make adds not fight the player for control (don't use their spells on their own etc.)
- Update adds' hotbar keys to match live (this will affect other creatures with nonsequential possess keys as well)
- Fix adds' movement when mind controlled, they no longer move automatically when right-clicking (this affects all mind-controlled creatures)
- Blizzlike timers
2015-12-14 20:11:57 +01:00
treeston 5dd6163387 Scripts/Naxxramas: Maexxna cleanup:
- Improved Web Wrap target selection
- Added missing text
- Cleanup of web wrap positioning - two players will never be flung to the same position (25-man)
- Further improvement to web wrap spawn behavior - targetable web wrap now only spawns after the player has finished being flung to the respective position (blizzlike)
- Add additional web wrap positions (sniff)
2015-11-30 20:18:55 +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
treeston c0faee0795 Core/Util: Add a urandms(min,max) helper to make urand(min*IN_MILLISECONDS, max*IN_MILLISECONDS) shorter to write for random time intervals (boss scripts). 2015-11-28 23:53:04 +01:00
treeston bf99630399 Scripts/Naxxramas: Thaddius follow-up:
- Reduce initial spawn timer on the encounter from 30 seconds to 5 seconds
- Rearrange respawn logic to fix the "petrified" visual from not showing properly
- Fix a potential infinite respawn loop that could prevent the encounter from initializing properly (fixes and closes #15898)
2015-11-26 18:57:15 +01:00
treeston 29feae5901 Scripts/Naxxramas: Complete rewrite of the Thaddius encounter. 2015-11-08 14:57:01 +01:00
treeston 91de0322bb Scripts/Naxxramas: Anub'rekhan encounter cleanup.
- Cleaned up events behavior to use phases instead of weird checks for auras.
- Cleaned up Crypt Guard despawn behavior, they should no longer despawn instantly upon death.
- Moved initial greeting from MoveInLineOfSight hack to proper areatrigger script.
- Fixed Crypt Guard respawn behaviour to prevent pulling them before Anub'rekhan has fully reset.
- Fixed Crypt Guard aggro behaviour to call for help on aggro. This prevents pulling the initial pair of Crypt Guards without engaging the boss.
- Added missing boss emotes.
- Code style cleanup.
2015-11-01 22:31:48 +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
treeston 4771740d42 Gem Perfection implemented:
- Add new DB table `skill_perfect_item_template` that holds information about "perfect" crafts that replace the normal result
- Implement this new DB table into core (SkillExtraItems.cpp, SkillExtraItems.h, SpellEffects.cpp)
- Add data about perfect crafts to new DB table (2015_09_11_00_world.sql)
- Add reload capability to this new table (latch onto skill_extra_item_template to avoid changing command IDs)

Random other change because I stumbled across it and it annoyed me:
- npc_professions.cpp no longer uses magic numbers for quest IDs and creature IDs.
2015-10-11 11:36:18 +02:00
treeston 17fdb1e091 Scripts/Naxxramas: Loatheb follow-up:
- Fix Deathbloom (for real this time)
2015-10-11 11:24:04 +02:00
treeston 3fc1bb1abf Scripts/Naxxramas: Bugfixes to the Noth encounter.
- Added missing raid boss emotes
- Fixed an issue where Noth would stand idly after blinking if his current target stood still
- Fixed some reset edge cases
- Prevent Noth from dying during Balcony phase
- Fix targeting of 25-man Curse of the Plaguebringer (now has 8 targets, down from 10)
- Fix balcony/ground phase durations to be blizzlike
- Fix an issue where summoned mobs would sometimes not be aggroed automatically
- Get rid of ugly millisecond values in favor of seconds times constant
- Moved the chance to yell on kill to the database
- Prevent AoE abilities from hitting Noth during the balcony phase
- General cleanup of events handling
- Generally make @Nayd happy
2015-10-09 18:55:42 +02:00
treeston 3e2014a958 Heigan cleanup:
- NearTeleportTo hack -> proper spell with DB coordinates
- Add boss emotes
- Some code streamlining using event phases and IN_MILLISECONDS instead of large constants
- Improvement to eruption hitbox and delimiters to match retail layout more closely
- Spell timers adjusted from sniffs
2015-10-02 00:30:08 +02:00
treeston ea1c783b84 Scripts/Naxxramas: Adjustments to the Loatheb encounter
- Adjusted doom cast timings as per boss mod timers.
- Add Deathbloom's final tick using spellscript
- Move Spores' Fungal Creep cast handling to Loatheb's cpp instead of handling it in SmartAI
- Fungal Creep should also be cast if the spore expires (important for Spore Loser achievement)
- Remove Fungal Creep from players on reset to avoid cheesy strats
2015-09-28 00:42:59 +02:00
treeston 6a8524c068 Custom logic for putting people in combat instead of relying on CreatureAI or Creature methods. 2015-09-25 15:14:53 +02:00
treeston f446538cb1 Clean up SmartAI::MoveInLineOfSight. Remove tons of duplicate logic and forward to CreatureAI::MoveInLineOfSight instead of using its own (incorrect) implementation.
Move the removal of the 'distracted' state from SmartAI to UnitAI.cpp.

Fixes and closes #7197 and #15482.
2015-09-25 14:17:32 +02:00
treeston d57193df44 Core/Creature: Add facilities to the Creature class to allow setting an automated, periodic pulse that puts every player in the zone in combat and on the creature's threat list.
Scripts/BossAI: Set the BossAI parent class to make use of this in its _EnterCombat and _Reset methods. Combat pulses happen every 5 seconds.
2015-09-25 14:09:01 +02:00
treeston 36d464d563 Scripts/Naxxramas: Fixed an incorrect spellid for Naxx10 Hateful Strike. 2015-09-20 16:36:55 +02:00
treeston 807deaccef Scripts/Naxxramas:
Fixes to Patchwerk AI:
- Hateful Strike can only target the highest 1 (10m)/ 2 (25m) threat targets that aren't the current target. Out of these targets, Hateful Strike hits the highest current HP target.
- Hateful Strike now properly adds threat to all targets eligible for it, plus the current target if it is in melee range. Actual threat amount is not from sniffs - please update this if you have conclusive retail data.
- Cleaned up some millisecond constants and variable names.
2015-09-14 18:18:44 +02:00
treeston a90ae075c9 Scripts/Naxxramas:
Fixed bugs with Sapphiron encounter:
- Sapphiron will now properly re-engage if the previous attempt ended while he was in flight.
- Sapphiron will now properly be hovering while in the air phase instead of standing idly on the ground.
- Move Frost Resistance achievement check from custom script to spell 60539 (Sapphiron Achievement Check), thanks to @Shauren for the heads up.
2015-09-14 18:08:51 +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
treeston a83437af3d Script/BoreanTundra: Fix dialog and final waypoint for quest 11570: "Escape from the Winterfin Caverns"
This fixes the following bugs:

Escortee NPC quotes are out of order (see #15396 (comment))
Final escort waypoint is located incorrectly and causes the escorted NPC to drop all the way to the bottom of the ocean before quest completion is awarded.

Closes #15396

Signed-off-by: DDuarte <dnpd.dd@gmail.com>
2015-09-02 02:02:34 +01:00