Commit Graph
100 Commits
Author SHA1 Message Date
Machiavelli 2d89b4bfe0 Core/DBLayer: Change some incorrect uses of PQuery with PExecute or Execute 2012-01-18 21:02:06 +01:00
Machiavelli e652d9043b Missing unsaved changes for previous commit... 2012-01-18 19:00:52 +01:00
Machiavelli 46dda033c8 Core/Items: Blizzlike fix for the recent trade exploit fix 2012-01-18 18:57:21 +01:00
Machiavelli abd94e324b Core/Items: Fix crash and updated documentation in SplitItem 2012-01-18 13:14:06 +01:00
Machiavelli 6a44399852 Core/Items: Fix a trading spoof exploit.
Closes #4713
2012-01-17 18:51:04 +01:00
Machiavelli 5dd6b8b2dc Core/Conditions: Change CONDITION_REPUTATION_RANK. It now no longer explicitly checks if ConditionValue2 is equal to the reputation rank. It now checks if the player's reputation rank is in the bitmask of ConditionValue2, where each bits are (1 << ReputationRank).
Idea by Aokromes and Malcrom
Data conversion query by Malcrom (*WATCH OUT WITH CUSTOM CONTENT AS THIS DELETES ALL CONDITION TYPE 5's AND RE-ADDS STOCK DATA ONLY*)
2012-01-17 14:31:22 +01:00
Machiavelli f71ad6d581 DVCS: Add kdiff3 file extensions to gitignore 2012-01-15 15:28:52 +01:00
Machiavelli b02666213c Scripts/Misc: Fix some MovementInform handler filters after recent motionmaster changes
Also correct year of SQL in dbbac0bdaa
2012-01-15 15:27:43 +01:00
Machiavelli dbbac0bdaa Core/Movement: Implement spline movement subsystem.
Spline movement controls movements of server-side controlled units (monster movement, taxi movement, etc).
Proper implementation of effects such as charge, jump, cyclic movement will rely on it.
However, need improve our states system before.

Technical changes:

* Added linear, catmullrom and bezier3 splines which based on client's algorthims. They can be reused for proper transport position interpolation.
* Precission increased. There are no more position desync issues since client's position calculation formulas used.
* Now possible to move by paths with multiple points, send whole path to client.

--
Original author of research and implementation: SilverIce. Massive kudos.
Original port for Trinity (ref #4629) Chaplain and Venugh
With the following incremental fixes during my review:

- Restore flightmaster end grid pre-loading
- Fix uninitialized Creature::m_path_id
- Add missing trinity_string entries for .movegens command
- Fix a bug in WaypointMovementGenerator that would trigger unexpected pausing at waypoints for various amounts of time

Known issues:
- Errors like WaypointMovementGenerator::LoadPath creature XXX (Entry: YYYYY GUID: ZZZZZZ) doesn't have waypoint path id: 0.
This is caused by bad DB data. This commit didn't "break" it.

Do not forget to re-run CMake before compiling.
2012-01-14 15:36:07 +01:00
Machiavelli 2293d2d7df Core/Movement: Prevent IdleMovementGenerator being put into MOTION_SLOT_IDLE and MOTION_SLOT_ACTIVE simultaneously 2012-01-13 16:43:49 +01:00
Machiavelli bb2696a688 Core/Vehicles: Define and implement VEHICLE_SEAT_FLAG_B_USABLE_FORCED_4 2011-12-22 14:10:05 +01:00
Machiavelli 2d93bd07ba Core/DBLayer: More generic implementation of callback chains, instead of using this functionality local to CharacterCreatInfo class. Will be used in other places as well. 2011-12-21 10:22:03 +01:00
Machiavelli 17aeeaa9b5 Core/DBLayer: Fix a silly error in HandleStableSwapPet (synchronous query in async context). Fixes possible loss of pets when swapping. 2011-12-21 09:36:05 +01:00
Machiavelli 6c03bf9535 Core/Misc: Some random meaningless Engrish to English conversion in a method name because Discovered is too lazy to do it himself. 2011-12-19 22:06:29 +01:00
Machiavelli 8e0be985fd Core/Netcode: Fix a possible infinite loop after 829be0b82 (which was accidentally merged in this morning) 2011-12-19 21:12:35 +01:00
Machiavelli a1683f20dc Fix SQL file name after pull request, and fix compile on linux. 2011-12-19 11:17:52 +01:00
Machiavelli 16df950fdb Merge branch 'master' of github.com:TrinityCore/TrinityCore 2011-12-19 11:14:26 +01:00
Machiavelli 829be0b82b Core/Netcode: Re-enqueue packets with STATUS_LOGGEDIN requirement that are sent before the server recognizes the player as logged in. They will be processed later.
Fixes #208
Fixes #1434
Fixes #2338
2011-12-16 15:36:03 +01:00
Machiavelli db8c10c7bf Core/Commands: Make GM Ticket commands console enabled. (Aokromes' Suggestions)--; 2011-12-14 14:12:42 +01:00
Machiavelli 8ca9b38fee Core/Channels: Don't send channel kick/ban notifications if kicker is GM and Channel.SilentlyGMJoin == 1. (Aokromes' Suggestions)--; 2011-12-14 13:53:47 +01:00
Machiavelli 203d4a4952 Core/Commands: Show time left until shutdown in .server info. (Aokromes' Suggestions)--; 2011-12-14 13:42:57 +01:00
Machiavelli 589f067101 Core/DBLayer: Terminate process if table/database structure is not compatible with the core. This will significantly reduce the amount of PEBCAK help and support threads on our forums.
Also added a 10 second window to WPFatal for users who never heard of command line before to read the error prior to process termination.
2011-12-13 13:59:00 +01:00
Machiavelli 7c9093e32c Core/GameEventMgr: Use correct lock type 2011-12-11 16:36:40 +01:00
Machiavelli 1b2c413933 Core/SAI: Preliminary implementation of SMART_EVENT_GAME_EVENT_START and SMART_EVENT_GAME_EVENT_END {param1: game_event.entry} 2011-12-11 16:23:43 +01:00
Machiavelli d7d79f058d Forgotten change to seat flag defines, thanks to Venugh. 2011-12-11 15:28:33 +01:00
Machiavelli c7cdd786fe Core/Vehicles: In CMSG_ATTACKSWING check if current vehicle seat flags permit attacking before updating standstate etc. Client also checks this.
Furthermore, removed incorrect vehicle_seat_flag_b definition and added an unknown vehicle_seat_flag that was found in the client.
2011-12-11 14:44:58 +01:00
Machiavelli f5b3553bb3 Core/SAI: Typo in second param of SMART_ACTION_SEND_GOSSIP_MENU. This is npc_text_id, not gossip_option_id. Wiki needs to be updated accordingly.
Thanks to Prodigy for pointing out.
2011-12-06 12:37:05 +01:00
Machiavelli 4c3c418511 Core/Misc: Make VMapManager2::acquireModelInstance and releaseModelInstance thread safe
Closes #4086
2011-11-26 19:11:58 +01:00
Machiavelli fcd28e5dad Core/DBLayer: Fix player saving 2011-11-26 15:15:04 +01:00
Machiavelli 72675d55d8 Core/DBLayer: Use prepared statements in Player::SaveToDB. Also split the function up between an INSERT part (new character creation) and UPDATE part (existing character). 2011-11-25 15:14:00 +01:00
Machiavelli 8444532746 Core/Units: Second part of SMSG_MOVE_SET_COLLISION_HGT implementation: compute proper collision height according to client formulae and send this to the client when mounting up. 2011-11-22 20:28:10 +01:00
Machiavelli 367122dd62 Core/Packets: Allow CMSG_MOVE_SET_COLLISION_HGT_ACK to be received from the client (currently unhandled) 2011-11-22 06:02:53 +01:00
Machiavelli a14cbcaa3e Core/Units: Partial implementation of SMSG_MOVE_SET_COLLISION_HGT - send proper character collision height on dismount.
Fixes #2642

NOTE: Still have to properly implement collision height calculation for mounting up.
2011-11-21 22:54:25 +01:00
Machiavelli 32bcee40bf Core/Spells: Fix crash in Glyph of Rake 2011-11-20 16:05:41 +01:00
Machiavelli 682c3289c7 Tabs 2011-11-20 13:46:53 +01:00
Machiavelli cab3def3a4 Core/Units: Revert previous 3 commits about Unit::_IsValidAttackTarget and Unit::GetReactionn until some conclusive research can be done 2011-11-20 12:56:14 +01:00
Machiavelli 28d1cc9cfe Core/Units: Fix more issues in Unit::_IsValidAttackTarget. (Documentation on changes compared to the client function included) 2011-11-17 19:05:25 +01:00
Machiavelli 8ea8dd4f3d Core/Units: Replace wrong usage of UNIT_FLAG_PVP_ATTACKABLE with UNIT_FLAG_PLAYER_CONTROLLED in Unit::IsValidAttackTarget, Unit::IsValidAssistTarget and Unit::GetReactionTo. Using 4.1 flags in 3.3.5 doesn't always work out like it should... Also remove now unneeded change from 70b558d
Fixes SPELL_AURA_FORCE_REACTION amongst other things
2011-11-16 23:12:31 +01:00
Machiavelli 70b558dd39 Core/Units: Fix Unit::_IsValidAttackTarget (UNIT_FLAG_OOC_NOT_ATTACKABLE check specifically)
Closes #3172
2011-11-16 21:02:37 +01:00
Machiavelli c67af87eda Core/Spells: Fix SPELL_EFFECT_SEND_EVENT handler being executed more than once when targets != (0, 0). Closes #3934 2011-11-16 19:09:51 +01:00
Machiavelli 28102c5683 Scripts/Ulduar/Freya: Fix chest spawning when completing the encounter properly (in addition to spawn support when abusing .die for testing purposes) 2011-11-14 20:49:46 +01:00
Machiavelli 7d52578b80 Scripts/Ulduar/Assembly of Iron: Fix Immumities for Stormcaller Brundir; Fix Brundir's Lightning Tendrils (visuals need some extra love)
Closes #707
2011-10-29 22:49:55 +02:00
Machiavelli cb52cf011f DB/Templates: Correct 25 man loot IDs for Freya's chest based on the only actual parsed 25man chest there is. NOTE: This is not WDB data, merely guesswork. 2011-10-29 15:57:50 +02:00
Machiavelli 2575b50b05 DB/Templates: Add missing templates for variations of Freya's Chest. This will allow them to actually spawn on death. 2011-10-29 14:56:01 +02:00
Machiavelli 4f039841e8 Scripts/Ulduar/Freya: Remove unneeded TimeCheck function that would lead to over-spawning of waves. 2011-10-29 14:55:05 +02:00
Machiavelli 40ed37c1e7 Core/GameObects: Fix a crash in GameObject::Delete 2011-10-08 15:06:31 +02:00
Machiavelli f266d3d957 One last culprit... 2011-10-08 14:36:38 +02:00
Machiavelli 26869bda30 Core: Fix a boatload of crashes after the mass cleanup... Thanks to Broodwyrm for spotting the culprits 2011-10-08 14:33:53 +02:00
Machiavelli ddfd8e5510 Core: Build fix for linux after code style cleanup 2011-10-08 13:36:27 +02:00
Machiavelli 224c2d3d07 Scripts/Ulduar/Freya: Kill the leftovers of old chest handling 2011-10-08 13:29:48 +02:00
Machiavelli 82dbe7bc17 Core: Fix some build errors after code style cleanup 2011-10-08 13:20:04 +02:00
Machiavelli 9397e7a16f Scripts/Ulduar/Flame Leviathan: Fix crash #3403. Thanks to Shauren for the heads up 2011-10-08 13:17:45 +02:00
Machiavelli 680fce6fd8 Core/GameObjects: Fix infinite respawning of chest gameobjects that are summoned trough spells with ie. SPELL_EFFECT_SUMMON_OBJECT_WILD
Closes #1618
Closes #2486
2011-10-08 13:17:43 +02:00
Machiavelli 7b0bff3f7b Scripts/Ulduar/Freya: Fix chest spawn on death. Note that this needs DB data, both for loot and possibly gobject templates.
Closes #2220
Ref #1928
Ref #1878
2011-10-08 13:17:40 +02:00
Machiavelli 1eb5bf1a65 Scripts/Ulduar/Flame Leviathan: Make both dummy effects apply on the same target, and boost range of spell Pursue to 50000yds to prevent boss reseting during the encounter. 2011-10-07 13:47:03 +02:00
Machiavelli 51edc06200 Rename SQL file from previous pull request to match present date/time. 2011-10-07 09:20:18 +02:00
Machiavelli 8cde717e76 Core/Achievements: Fix gender-specific Matron/Patron title reward.
Closes #1406
2011-09-28 16:27:08 +02:00
Machiavelli d0ce7d2367 Scripts/Ulduar/Razorscale: Fix event starting 2011-09-28 11:49:28 +02:00
Machiavelli 18665d19b4 Core/Scripts: Add an additional parameter to DoZoneInCombat to define the max range to find a target in to engage (instead of hard coded 50 yards). 2011-09-28 11:49:25 +02:00
Machiavelli 6d4a7b3930 Scripts/Ulduar/Flame Leviathan: Use GUID in script instead of pointer 2011-09-27 19:56:45 +02:00
Machiavelli a7d0b62195 Scripts/Ulduar/Flame Leviathan: Properly cast spell Battering Ram. TODO: Fix spell immunity on target vehicles. 2011-09-27 19:41:56 +02:00
Machiavelli 7ec351a79d Scripts/Ulduar/Flame Leviathan: Fix Pursue spell (target selection/filtering, emote, and aggro), and clean up some atrocities in the script. 2011-09-26 20:47:51 +02:00
Machiavelli 911c7ce3cc Scripts/Ulduar/Flame Leviathan: Fix RX-214 Repair-o-matic station.
Note: Due to an aura system bug, the dummy cooldown aura is refreshed every time the trap spell is cast instead of expiring like it should.
2011-09-24 13:13:15 +02:00
Machiavelli 9692be4cbb Scripts/Ulduar/XT-002: Add gameobject handling for XT-002 door and boundary checking during the encounter. 2011-09-23 13:20:43 +02:00
Machiavelli 9ea40a4746 Scripts/Ulduar/Kologarn:
- Fix arm respawn and reinstall events
- Fix possible erratic event timers
- Fix Focused Eyebeams after recent spell system changes
- Fix looting the chest after the encounter
2011-09-22 21:19:26 +02:00
Machiavelli c909da08cd Scripts/Ulduar/XT-002: Fix erratic timer issues and stand/submerge spell script targets.
Fixes #2961
2011-09-22 20:13:40 +02:00
Machiavelli 3c9c1a9b69 Core/Spells: Rename SPELL_ATTR6_ONLY_CAST_WHILE_POSSESSED to SPELL_ATTR6_CAST_BY_CHARMER and assign m_caster in Spell::Spell instead of m_originalCaster 2011-08-19 12:27:03 +02:00
Machiavelli fb87b41a75 Script/Spells: Fix spell 64414 / Load into catapult
Also fix SQL file naming from this morning.
2011-08-18 20:47:36 +02:00
Machiavelli 917ffdffac Core/Spells: More research on SPELL_ATTR6_ONLY_CAST_WHILE_POSSESSED and implement new research (original caster should be charmer or owner) and implement QAston's earlier research (only castable while possessed). 2011-08-18 20:28:07 +02:00
Machiavelli 701649cb3f Scripts/Storm Peaks: Fix some (embarassing) errors in npc_hyldsmeet_protodrake (script is working now) and correct seat ID in vehicle_template_accessory. 2011-08-18 13:13:30 +02:00
Machiavelli fdbfa5156c Core/DBLayer: Possible crash fix for ProcessQueryCallbacks on GCC builds. Ref issue #2136 #1422 #1335.
There's no need for an explicit ACE_Thread_Mutex in the ACE_Refcounted_Auto_Ptr objects since concurrent read/write access is guarded by ACE_Future's implicit ACE_Recursive_Thread_Mutex. Perhaps the double locking was the reason the reference count's atomic incrementing crashing.
Please try to test and confirm.
2011-08-18 12:43:42 +02:00
Machiavelli 826ec0582a Core/GameObject: Fix GameObject::Use log error message 2011-08-15 15:41:06 +02:00
Machiavelli b560090692 Core/GameObject: Fix interaction distance with GameObjects in all corner cases by overriding Object:_IsWithinDist. Distance calculation to GO's need to take in account GameObjectDisplayInfoDBC entries, otherwise distance would not be calculated from the edges properly and ie. quest interaction with large gameobjects would fail. 2011-08-15 14:09:20 +02:00
Machiavelli 8b83ae0c05 Scripts/Storm Peaks: Typo in 0cb688, thanks to simlt 2011-08-14 11:07:00 +02:00
Machiavelli 0cb68815ec Scripts/Storm Peaks: Make Hyldsmeet Drakerider properly respawn. 2011-08-13 22:04:05 +02:00
Machiavelli 30a54e43ca DB/FULL: Remove redundant full content files for world database from the repo. They serve no particular purpose to the project other than consume precious time of the developers having to maintain it. If you're using TDB, this shouldn't affect you in any way since the full world database is periodically dumped and uploaded. 2011-08-13 21:56:50 +02:00
Machiavelli 65a29d1315 Scripts/Spells: Fix a typo in spell_hun_masters_call 2011-08-13 21:46:25 +02:00
Machiavelli 4a3a259e2a Core/SOAP: Remove redundant thread pool of a hard coded 5 amount of threads that would just linger. Not really smart design to have a single SOAP thread -> SOAP thread pool -> single world thread handling CLI commands.
Thanks to leak for spotting the leak.
2011-08-08 17:48:01 +02:00
Machiavelli beaca1bd34 Fix build 2011-08-07 21:58:35 +02:00
Machiavelli 2d3f51e6e5 Core/Spells: Fix Shaman talent Nature's Guardian and rewrite fix for fc52f08. Fixes some spells not triggering. 2011-08-07 21:19:27 +02:00
Machiavelli 3109d9c0ae Core/Spells: Spells that can be spellstolen that have a permanent duration should respect the 2 minute spellsteal buff duration limit. 2011-08-07 17:49:02 +02:00
Machiavelli 77c0ca3112 Core/Spells: Hunter ability Master's Call should not process effects when pet is dead. 2011-08-07 16:12:19 +02:00
Machiavelli 04c2f2929e Core/Player: Fix item refund exploit 2011-08-07 15:57:26 +02:00
Machiavelli 156d491c27 Core/Spells: Add GetTriggeringSpell() method to SpellScript and use it to properly filter server side spell 18350's script. 2011-08-06 19:40:50 +02:00
Machiavelli 98bdbdd76f Fix build on gcc 4.6 :/
Closes #2479
2011-08-03 12:50:15 +02:00
Machiavelli cb5ba6b3c9 Core/RA: Fix RA subnegotiation for clients that don't send any subnegotiation data (like telnet) by setting a 1 second time window in which the client can send their packet before the RASocket will begin actual authentication.
Closes #2471
2011-08-02 01:55:18 +02:00
Machiavelli fc52f0846e Core/Spells: Fix Soul Preserver trinket 2011-08-01 23:57:16 +02:00
Machiavelli ff3c988ee7 Core/Entities: Allow Shaman totems to crit with spells, and add a temp workaround to make Fire Elemental Totem spawn crit with spells also.
Closes #252
Closes #1846
2011-08-01 18:30:00 +02:00
Machiavelli acc2e88c31 Core/RA: Fix RA usage, properly filter out RFC 854 / 855 subnegotiate data 2011-08-01 04:02:08 +02:00
Machiavelli 9efcf82db2 Core/Spells: Update comment 2011-08-01 00:48:11 +02:00
Machiavelli 6732cbbde5 Core/Spells: Fix Shaman Wind Shear (Threat reduction part)
Closes #860
2011-07-31 23:49:29 +02:00
Machiavelli c074be2944 Core/Spells: Small update to TriggeredFlags and fix Glyph of Totem of Wrath with it.
Closes #2458
2011-07-31 23:47:11 +02:00
Machiavelli f26edf09d3 Fix gcc build and remove redundant check from 0afc3c 2011-07-31 22:27:57 +02:00
Machiavelli 0711746b57 Core/Visibility: Send object destroy packets to dead players. Fixes persistent visuals of no longer existing entities while dead.
Closes #2458
2011-07-31 21:58:28 +02:00
Machiavelli d4a68025c7 Core/Spells: Fix Shaman talent Storm, Earth, Fire (Earthgrab part) in case of using Earthbind totem trough Call of the Elements etc. 2011-07-31 21:58:27 +02:00
Machiavelli 58f10c74f7 Core/Spells: Change low level bool triggered with bitmask TriggerCastFlags to better manipulate the behaviour of certain triggered spells. 2011-07-31 21:58:25 +02:00
Machiavelli 0afc3cf110 Core/ChatLog: Properly filter out addon messages in whisper, party, raid and battleground.
Original patch by tassader1000
2011-07-31 14:40:15 +02:00
Machiavelli 8ceb780213 Core/Spells: Fix Shaman totem bar exploit that would allow the player to cast any spell when using Call of the Elements etc.
Original patch by 3kids

Closes #2356
2011-07-31 14:12:53 +02:00
Machiavelli b2d37062a0 Core/Vehicles: Allow damaging NPC passengers.
+ Forgotten change from 2effb7
2011-07-30 21:55:06 +02:00
Machiavelli 0ecb47bc8a Core/Spells & Vehicles: Define and implement SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE and VEHICLE_SEAT_FLAG_CAN_CAST_MOUNT_SPELL.
Research done by QAston
2011-07-30 20:36:19 +02:00