Commit Graph
100 Commits
Author SHA1 Message Date
Machiavelli 16ceb5a39e Core/Spells: Change a log message to debug level and make it more descriptive. 2011-06-07 16:23:20 +02:00
Machiavelli e8bc02f3bd Scripts/Ulduar: Remove dirty spell and summon hacks from XT-002 script and rewrite with EventMap.
Script is still WIP.
2011-06-07 16:13:14 +02:00
Machiavelli 05cc29b54a DB/Schema: Add index to characters.character_pet.slot. Prevents deadlocks when operating on this table. 2011-05-29 18:28:54 +02:00
Machiavelli f8bd56e219 DB/Schema: Correct use of indexes on mail_items table. Prevents deadlocks in operations on this table. 2011-05-29 00:32:18 +02:00
Machiavelli 48b0570f53 Core/Vehicles:
- Temporarily unsummon pets when entering vehicle and resummon them when exiting. Also fixes missing pet cast bars on exit.
- Correct SMSG_PET_SPELLS packet for vehicle spell initialize
2011-05-27 17:31:31 +02:00
Machiavelli 08ecee3b13 Core/DBLayer: Fix transaction crash. 2011-05-24 18:27:27 +02:00
Machiavelli 7f96d4b01f Fix crash added in 402198 2011-05-23 19:14:39 +02:00
Machiavelli 402198c5ff Core/DBLayer: Proper core-side handling of MySQL errno 1213 to prevent a snowballeffect (until innodb_lock_wait_timeout) 2011-05-23 16:33:33 +02:00
Machiavelli 48838cca27 Fix build on Linux 2011-05-22 13:49:39 +02:00
Machiavelli 29e61ad0ea Core/DBLayer: Remove a problematic and unneeded transaction in _LoadMails 2011-05-22 13:43:57 +02:00
Machiavelli d454ee2a74 Core/DBLayer: Apparantly the possible deadlock was present in Player::DeleteFromDB as well.
Thanks to Aokromes for pointing out
2011-05-21 14:50:28 +02:00
Machiavelli 59c0670f44 Core/DBLayer: Fix possible transaction deadlock in HandleMailReturnToSender opcode 2011-05-21 14:24:46 +02:00
Machiavelli 374eba2f5d Scripts/Shadowmoon Valley: Fix kill credit for Enraged Spirits 2011-04-26 23:30:13 +02:00
Machiavelli 6d0c97b06b Core/SAI: Fix a possible crash in SMART_ACTION_SET_ORIENTATION with SMART_TARGET_SELF for TempSummons 2011-04-22 12:19:34 +02:00
Machiavelli c9a917ad79 Core/Spells: Add a 'as-generic-as-possible' temporary fix for SummonProperties 2081 (Mechanical Dragonling, Arcanite Dragonling, Mithril Dragonling). For them, basepoints != amount of entities to spawn. Needs more research for the proper value
Small cleanup in affected function.
2011-04-22 12:05:15 +02:00
Machiavelli d42ab6c8bd Core/ScriptedAI: Reset VehicleKit in BossAI::_Reset()
Core/Vehicles: Minor log fix and comment a redundant assertion
2011-04-22 11:07:58 +02:00
Machiavelli 1c3082446e Core/Gameobject: Respect cooldown for trap and goober gameobjects.
Original patch by VladimirMangos
2011-03-14 23:16:34 +01:00
Machiavelli 31a2c9b82b Core: Fix crash in ~ScriptMgr
Fixes: #854
Fixes: #918
Fixes: #917
2011-03-14 09:44:02 +01:00
Machiavelli 7b62bfc1c5 Core/ScriptedAI: Add ResetLootMode() to BossAI::_Reset() and remove some redundant calls in General Vezax script 2011-03-13 22:28:37 +01:00
Machiavelli e1ac75afe2 Core/Spells: Proper implementation of SPELL_EFFECT_PLAYER_NOTIFICATION (131) - should send SMSG_PLAY_SOUND with EffectMiscValue as soundId.
Research by Kaelima
2011-03-07 21:13:18 +01:00
Machiavelli 28b14f36c8 Core/Vehicle: Use db table GuidLow instead of normal GuidLow (which may differ per instance) for vehicle_accessory definitions. 2011-03-07 20:48:53 +01:00
Machiavelli ebca4c0326 Scripts/ToTC: Reset vehiclekit on generic_vehicleAI_toc5::Reset()
Fixes accessory installation
2011-03-07 20:25:57 +01:00
Machiavelli 311d0cf989 Core/Commands: Make vehicle_accessory and vehicle_template_accessory reloadable with commands 2011-03-07 20:25:56 +01:00
Machiavelli 27680e420f Core/Vehicles:
- Remove some wrong checks in vehicle_accessory loading.
- Remove Reset() call from Vehicle::Install() - reset is already called by AI functions
2011-03-07 20:25:55 +01:00
Machiavelli d6ddc6410c Core/Vehicles: Rename vehicle_accessory to vehicle_template_accessory, and implement a new table named vehicle_accessory to allow accessory definitions based on GUID that will overwrite defeinitions based on entry.
Fixes #Nay
2011-03-06 23:45:22 +01:00
Machiavelli 0f91728fdd Core/ObjectMgr: Load npc spellclick data after quests. 2011-03-06 16:28:31 +01:00
Machiavelli 10c02690b6 Core/Units: Re-remove MOVEMENTFLAG_ROOT applying on Unit::SetRooted to fix a clientside freeze issue (our visibility system is co-reponsible). It's still an ugly hack and should be fixed properly asap.
Closes #879
2011-03-06 16:07:01 +01:00
Machiavelli d5be3353f3 Core/TempSummon: Implement ForcedUnsummonDelayEvent. Similar to ForcedDespawnEvent for Creatures, this will unsummon TempSummon objects with specified delay.
Core/Vehicles: Implement ForcedUnsummonDelayEvent for creatures exiting vehicles. Fixes visual bug that showed creatures mounted on vehicle after being ejected.
2011-03-06 15:12:34 +01:00
Machiavelli 6c4a0354a2 Core/ObjectMgr: Move some npc_spellclick_spells and vehicle_accessory related errors to startup instead of post-startup runtime 2011-03-06 11:12:19 +01:00
Machiavelli df97ce7625 Core/Vehicles: Remove redundant Vehicle::Die. All vehicle auras are already removed on Unit::RemoveAllAurasOnDeath.
Addresses ticket:869 - please reconfirm
2011-03-06 10:31:25 +01:00
Machiavelli a9582964d3 Core/Vehicles: Make the vehicle system more aura driven. Get rid of redundant checks and update relevant data.
Closes #805
2011-03-04 21:17:06 +01:00
Machiavelli e31d08e9e1 Core/SQL: Remove duplicate entry from my previous commit 2011-02-27 18:44:52 +01:00
Machiavelli da773981f8 Core/Vehicles: Respect seatId in vehicle_accessory 2011-02-27 17:38:20 +01:00
Machiavelli 76f393717d DB/World: npc_spellclick_spells updates for Strand of the Ancients and Wintergrasp vehicles. 2011-02-27 16:15:47 +01:00
Machiavelli 3c36ff92dc Core/Vehicles: Fix an error log message (missing change from 683cea9e83) 2011-02-27 15:45:28 +01:00
Machiavelli b161b0859b Core/Vehicles: Fix a possible crash in InstallAccessory
Closes ticket #769
2011-02-27 04:05:21 +01:00
Machiavelli 683cea9e83 Core/Vehicles:
- Grab correct npc entry from npc_spellclick_spells in case of player vehicle. Fixes DB errors added in my previous changeset
- Allow aura's with SPELL_AURA_CONTROL_VEHICLE to stack if there are enough free seats, even if spellIds are identical.
- Fix a possible infinite loop. Thanks to manuel for spotting
2011-02-27 03:58:41 +01:00
Machiavelli 3ac80ee3a4 Core/Vehicles: Correct usage of npc_spellclick_spells instead of blatant hacks for vehicle entry.
Note: This may break a few vehicles, but only due to the absence of proper, non-hackish data.
2011-02-26 23:00:09 +01:00
Machiavelli 7e4456f79d Merge branch 'master' of github.com:TrinityCore/TrinityCore 2011-02-26 03:47:57 +01:00
Machiavelli 30738e645f Core/Vehicles&Movement:
- Send correct SMSG_MONSTER_MOVE with newly discovered SPLINEFLAG_EXIT_VEHICLE on vehicle exit. Fixes the "stuck on exit" bug as a result of removing the previous hack in 04b656a44f.
- Use SMSG_SPLINE_MOVE_ROOT and SMSG_SPLINE_MOVE_UNROOT as root packets for creatures.
- Reimplement toggling of MOVEMENTFLAG_ROOT on root event (including enter vehicle)
- Speedup in fetching movementflags for vehicles depending on vehicleflags on object updates.
- Code cleanup and refactoring
2011-02-26 03:47:23 +01:00
Machiavelli 02d8d7c2a6 Scripts/Ulduar: Kologarn (90% complete)
- Kologarn is unable to parry (correct spellID used)
- Fix Arm respawning
- Correct Arm despawn animation
- Only cast Arm Sweep if left arm is alive
- Remove minimum required range for Focused Eyebeams
- Fix possible crash in Rubble despawn
- Correct gameobject handling
- Fix bridge visual
- Correct instance load operations for this encounter
2011-02-25 15:17:15 +01:00
Machiavelli 04b656a44f Core/Vehicles:
- Allow specifying of exit position for Unit::ExitVehicle
- On Vehicle::InstallAccessory, despawn any accessory in the current seat with the same entry with TEMPSUMMON_MANUAL_DESPAWN type
- Remove hacky TELEPORT_ACK packet on vehicle exit
- Remove some redundant packet send operations that were already handled elsewhere
2011-02-25 01:38:21 +01:00
Machiavelli a6e30e0509 Really fix the crash caused by wrong prepared statement types 2011-02-25 00:00:11 +01:00
Machiavelli 51d00e1b17 Core: Fix crash on login added in 20ab3e4bda 2011-02-24 23:44:08 +01:00
Machiavelli 2c7ca195d1 Core/Vehicles: Remove a visibility hack on Vehicle::AddPassenger. May fix client crash/freeze issues. 2011-02-23 20:43:12 +01:00
Machiavelli 102c089ab8 Scripts/Kologarn:
- Correct target limitation for Focused Eyebeam
- Correct target selection and limitation for Stone Grip
** Fixes random teleports to the "safe spot" caused by aura unapply when that player wasn't intended as target.
** Stone Grip will only target the main tank if there's no one else in range.
- Despawn Rubbles on encounter reset/complete
- Use elegant MotionMaster::MoveJump instead of NearTeleportTo when releasing Stone Grip target

DB/NPC Templates:
- Add civilian flag for Armsweep Stalker and Rubble Stalker

Other:
- Fix 2011_02_23_2_world_conditions.sql to comply to standards
- Cleanup affected code
2011-02-23 18:17:20 +01:00
Machiavelli 550f59e05f Core/Vehicles: Do not allow Unit A to enter vehicle of unit B, when unit B is already on vehicle of unit A.
Fixes a core deadlock and stack overflow as well as client crash in the event of improper scripts.
2011-02-23 17:41:33 +01:00
Machiavelli 4e9cd1e490 Core/UnitAI: Add template<class PREDICATE> void SelectTargetList, to select target list based on unary predicate function, with parameters maxTargets and targetType. 2011-02-23 13:35:15 +01:00
Machiavelli a6da435b84 Core/Vehicles: Also remove MOVEMENTFLAG_ROOT on ExitVehicle (thanks to Anubisss), and slight refactoring of code. 2011-02-23 04:08:11 +01:00
Machiavelli 867f6d3513 Core/Vehicles: Don't add MOVEMENTFLAG_ROOT to movementflags on vehicle enter. 2011-02-23 02:21:08 +01:00
Machiavelli 0a2fc16908 Core/Vehicles: Send SMSG_FORCE_MOVE_UNROOT to client when exiting vehicle with UNIT_FLAG_DISABLE_MOVE 2011-02-23 02:15:48 +01:00
Machiavelli c42939b99c Merge branch 'master' of github.com:TrinityCore/TrinityCore 2011-02-23 01:46:38 +01:00
Machiavelli 0ec88a642c Scripts/Ulduar:
- Fix Focused Eyebeams
- Fix Arm Sweep
- Fix respawning and re-entering of arms

DB/Templates:
- Fix speed, modelId and trigger state of Focused Eyebeams
- Set NullAI to semi-triggers; Rubble Stalker, Kologarn Pit Kill Bunny
2011-02-23 01:45:22 +01:00
Machiavelli 44fc35bb07 Traditional post-commit buildfix 2011-02-22 23:49:08 +01:00
Machiavelli 918f1ce8ec Core/Vehicles:
- Allow configurable TempSummonType and timer for vehicle_accessory table instead of hard coded values
- Reimplement some earlier charted VehicleSeatFlagsB, that were temporarily removed because of VEHICLE_SEAT_FLAG_UNCONTROLLED (they now work in conjunction with eachother)
2011-02-22 23:47:28 +01:00
Machiavelli 1cdec5880e DB/NPC: Remove instance bind flag from Right Arm and Left Arm 2011-02-22 12:42:58 +01:00
Machiavelli 480517c3be Scripts/Ulduar: Kologarn:
- Correct target selection of Stone Grip
- Correct functionality of Stone Grip (absorb aura, stun, damage, vehicle join, correct removal of the aforementioned when needed, +teleport to platform)
- Blizzlike casters for certain spells, which led to merging arms AI to KologarnsAI.
- Blizzlike timer for Stone Grip
- Fix Rubble spawn on arm death
2011-02-22 04:46:13 +01:00
Machiavelli 8b738d537c Core/Units: Remove hack that caused units with UNIT_STAT_ON_VEHICLE to absorb any incoming damage. 2011-02-22 01:04:56 +01:00
Machiavelli f8eae7427d Core/SAI: Fix a possible crash and clean up some copypaste errors in ProcessAction 2011-02-21 04:23:53 +01:00
Machiavelli 4c04da6195 Core/SmartAI: Add some useful debug output to make development and debugging of SAI scripts easier. (Part 1/x)
Core/SmartAI: Fix param usage for SMART_ACTION_RANDOM_PHASE
2011-02-21 01:15:14 +01:00
Machiavelli 5236bf4511 Fix build with scripts included 2011-02-20 21:19:32 +01:00
Machiavelli c1445cd475 Fix build with scripts included 2011-02-20 21:07:03 +01:00
Machiavelli 250bc09ded Core/Log: Also add DebugLogMask config to authserver. Only logical value as of right now is 64 2011-02-20 20:26:55 +01:00
Machiavelli e07e20ffca Core/Log: Implement log masks for debug log level, to allow selective debug output. Update your worldserver.conf. 2011-02-20 20:16:34 +01:00
Machiavelli c0b29fd0ad Core/Vehicles: Chart VEHICLE_SEAT_FLAG_UNCONTROLLED and implement usage. Concerns vehicleseat enter/exit capabilities. Fixes vehicles related to Malygos encounter.
Original research by rsa, thanks to Manuel for pointing out.
2011-02-19 21:58:50 +01:00
Machiavelli af0d7e415d Core/Misc: Fix shutdown crash related to corpse unloading.
Fixes #281
2011-02-17 22:07:05 +01:00
Machiavelli 6618655d04 Core/Vehicles: Let's use proper fractions/percentages 2011-02-17 21:41:09 +01:00
Machiavelli 6ebf672557 Core/Vehicles: Take in account current health percentage of vehichle when recalculating new HP based on vehicle gear scaling. Fixes an exploit that would allow vehicles to reset their HP in a jiffy.
Closes ticket #317
2011-02-17 21:32:38 +01:00
Machiavelli eae88577da Core/WorldSession: Fix logic in WriteMoveMentInfo in regards to sending pitch coordinate to client. 2011-02-17 20:51:02 +01:00
Machiavelli 3d58165dbd Core/Items: Proper money refund fix for 0ad2c90d22. Thanks to Destalker 2011-01-25 13:36:40 +01:00
Machiavelli 17971acddb Core/Players: Implement generic SendClearFocus instead of magic SMSG_BREAK_PACKET randomly in the middle of code. Also preallocate correct size for packed guid. 2011-01-25 08:04:47 +01:00
Machiavelli 0ad2c90d22 Core/Items: Fix money refund amount. Also fix a possible exploit possibility of redeeming both vendor sellprice and money refund price in one go. 2011-01-24 23:10:08 +01:00
Machiavelli 0796889c21 Core/Vehicles: Hotfix for client freeze on vehicle enter by reverting certain changes to SMSG_MONSTER_MOVE_TRANSPORT. Still have to figure out the correct structure in the future. 2011-01-22 19:55:50 +01:00
Machiavelli 920b3b0b37 Core/SQL: Add unique table key for (guid, bag, slot) in character_inventory to prevent storing different item entities in the same slot.
NOTE: If you get import errors it's YOUR OWN RESPONSIBILITY to fix current data inconsistencies your database might have.
2011-01-22 19:05:23 +01:00
Machiavelli 7f3375b8f9 Core/DBLayer: Fix another possible crash on shutdown. This should be the last of them caused by this area of the core. 2011-01-16 13:33:47 +01:00
Machiavelli deed0d0781 Core/General: Fix some comment style. //* to // *. Fixes certain code display errors on nano. Thanks to Aokromes for pointing out. 2011-01-16 12:23:17 +01:00
Machiavelli 542a89b150 Scripts/Sholazar Basin: Fix logic in npc_jungle_punch_target. Allows quest credit from NPC_TAMARA 2011-01-16 00:54:13 +01:00
Machiavelli 09f2a48227 Core/Spells: Add unittarget check for spell 54798 2011-01-16 00:50:57 +01:00
Machiavelli 52cd2cbd7e Core/Maps: Unload transports in MapManager::UnloadAll instead of singleton destructor.
Core/Transports: Properly delink units from transports on transport desutruction. - Thanks to Shauren for help.
Core/ObjectAccessor: Unload corpse 'storage' in added UnloadAll method called in WorldRunnable postservice hook.
Core/Master: Change some postservice queries to syncrhonous (direct) execution to ensure execution on shutdown
Core/Master: Remove redundant calls to ACE::init and ACE::fini

These changes were made to fix crash/freeze issues on shutdown.
2011-01-16 00:08:52 +01:00
Machiavelli 29a8b5407a Core/DBLayer: Use default parameters for DatabaseWorker::activate. Fixes a possible desyncrhonisation issue when DatabaseWorkerPool calls wait() on the workers. 2011-01-15 20:59:37 +01:00
Machiavelli 38816cb1df Core/Spells: Implement SPELL_ATTR6_IGNORE_CROWD_CONTROL_TARGETS (0x00000100). Spells with this attribute flag (Avenger's Shield, Hammer of Righteousness, Shield of Righteousness, Felguard Cleave, Fel Iron Bomb) will ignore secondary targets that are under the effect of crowd control aura's.
Thanks to Shauren for advices.
2011-01-15 19:40:06 +01:00
Machiavelli de8d5a9236 Scripts/Borean Tundra: Add Support for areatrigger conditions for Quest: Breaking Through (11898). Thanks to Svannon for original code and joint brainstorming session.
Closes issue #194
2011-01-14 00:59:52 +01:00
Machiavelli d399daab59 Core/Quests: Resolve ambiguity between QUEST_STATUS_COMPLETED and rewarded state by implementing QUEST_STATUS_REWARDED. The latter is not used in the database explicitly, only in the core. This is to prevent overhead by iterating over the rewarded quests storage multiple times.
All relevant upper level code has been updated accordingly to the best of my ability.
2011-01-13 23:06:59 +01:00
Machiavelli 57ee357c02 Core/Maps: Fix a possible crash in ObjectGridStoper:Visit
Dump found here: http://pastebin.com/2GZ3t5v4
2011-01-13 21:33:56 +01:00
Machiavelli bd85914d92 Core/DBLayer: Properly manage mysql library initialization and shutdown in authserver and worldserver. Prevent multiple calls and make it more elegant. 2011-01-13 21:30:37 +01:00
Machiavelli 4c15ebe09d Core/DBLayer: Properly deallocate SQLOperation objects from Databaseworkerpool queue. 2011-01-13 20:28:40 +01:00
Machiavelli cf9250c29f Core/DBLayer:
- Implement DatabaseWorkerPool::DirectCommitTransaction for synchronous transaction execution (as opposed to asynchronous/enqueued).
- Add MySQL errno 1213 "Deadlock found when trying to get lock; try restarting transaction" handler. If 1213 is called the core will retry to directly execute the transaction a maximum of 5 times.
2011-01-13 20:07:09 +01:00
Machiavelli 52499b03ea Core/Guilds: Don't allow more than 25 and 100 log events to be sent to the client for bank eventlog and regular eventlog respectively. Higher values will result in client crashes. 2011-01-12 19:38:47 +01:00
Machiavelli fa8e5047a6 Core/Guilds: Fix a possible client crash in MSG_GUILD_BANK_LOG_QUERY 2011-01-10 20:57:58 +01:00
Machiavelli 01d4080b4d Core/Units: Send proper orientation in SMSG_MONSTER_MOVE_TRANSPORT
Also get rid of the 100 constant in moveticks segment and use getMSTime() for consistency sake
2011-01-09 16:22:04 +01:00
Machiavelli 4ec6ec66c4 Core/SQL: Fix world_scripts_full.sql import 2011-01-09 13:43:35 +01:00
Machiavelli cb5a943f10 Core/DBLayer: CHAR_DEL_AUCTION should be defined as asynchronous. Fixes a crash caused by assertion failure.
("Could not fetch prepared statement 54 on database `characters`, connection type: asynchronous.")
2011-01-09 13:30:14 +01:00
Machiavelli 57173df80f Core/SQL: Move spell_script_names from world_database.sql to world_scripts_full.sql (they're called scripts for a reason) 2011-01-08 22:49:44 +01:00
Machiavelli a5cabb0705 Scripts/Ulduar: Some work on Kologarn:
- Get rid of UNIT_FLAG_STUNNED hack
- Use proper spells instead of vehicle hacks
- AI scripts for both arms instead of everything being defined in Kologarn's AI script
- Proper support for detecting when to release players (Right Arm)

Still todo:
- Eyebeams
- Rubbles
- Achievements
- Post-encounter doors/GO's toggling
2011-01-08 22:21:24 +01:00
Machiavelli 58f795d171 Core/Vehicles: Logic fix for AddPassenger seat validity check, thanks to Tassader 2011-01-08 21:13:18 +01:00
Machiavelli aa87c61cfb Remove unintended change from previous rev's copypaste work. 2011-01-08 19:11:18 +01:00
Machiavelli c4cac049b4 Core/DBLayer: Define prepared statements in an array per database instead of explicit calls to MySQL::PrepareStatement. Now the core will show the raw query (without bound arguments) in related log entries instead of PreparedStatement id: X on database Y. 2011-01-08 19:07:13 +01:00
Machiavelli dc3d6a2f23 Remove redundant code from 1487ebedaa 2011-01-07 19:13:19 +01:00
Machiavelli efe0ed3194 Core/Entities: Fix a silly typo in Object::AddExtraMovementFlag 2011-01-06 22:54:33 +01:00
Machiavelli c65e3822a2 Fix build from 06314c9387
closes #99
2011-01-06 22:45:07 +01:00