Commit Graph
240 Commits
Author SHA1 Message Date
XTZGZoReX a038772b3e * Remove Player::SetSession (obsolete and dangerous function).
* Speed up map script searches (avoid redundant loops).
* Fix linking errors for ScriptObject::RegisterSelf.

--HG--
branch : trunk
extra : rebase_source : 2ba48fdab4e119c6de7fe64e47c5b8115fdac1b5
2010-08-09 11:07:23 +02:00
QAston 617a56ba29 *Implement spell casting on transports (no more out of range error, etc)
*Add MO transports to ObjectAccessor storage
*Add functions Position::RelocateOffset and Position::GetPositionOffsetTo to help offset manipulations - BIG thanks to azazelkon for creating formulas!
*Add function to output debug info for MovementInfo and SpellCastTargets
*Throw ByteBufferException on incorrect packGUID read
*Add rfinish function to finish bytebuffer read.

--HG--
branch : trunk
2010-08-08 20:32:14 +02:00
click 1f80c7b3c0 Sourcefile sleanups -> tabs to spaces, remove whitespace - also update the cleanupscripts very slightly
--HG--
branch : trunk
2010-08-08 19:45:53 +02:00
azazel 590199d8e1 * Rename InstanceData to InstanceScript
* Rename *mgr to their new names in scripts project
* Mass convert all the scripts (NEEDS THOROUGH TESTING, because it was done automatically) Please, report bugs on issue tracker.

--HG--
branch : trunk
rename : src/server/game/Instances/InstanceData.cpp => src/server/game/Instances/InstanceScript.cpp
rename : src/server/game/Instances/InstanceData.h => src/server/game/Instances/InstanceScript.h
2010-08-08 22:54:58 +06:00
XTZGZoReX 9083271a2f * Some singleton renames for consistency:
accmgr -> AccountMgr
objmgr -> ObjectMgr
auctionmgr -> sAuctionMgr
spellmgr -> sSpellMgr
CreatureEAI_Mgr -> sEventAIMgr
achievementmgr -> sAchievementMgr
gameeventmgr -> sGameEventMgr
sInstanceSaveManager -> sInstanceSaveMgr
poolhandler -> sPoolMgr

--HG--
branch : trunk
2010-08-08 05:25:45 +02:00
XTZGZoReX e03c873bcf * Move weather management to new WeatherMgr (yes, I care that much about the weather - I really do).
--HG--
branch : trunk
2010-08-08 05:06:13 +02:00
XTZGZoReX 909e332579 * Rename: BattleGround -> Battleground.
--HG--
branch : trunk
2010-08-08 04:37:24 +02:00
silinoron 36fffd9550 Properly fix problems with applying/removing mods on disarmed items.
--HG--
branch : trunk
2010-08-07 16:40:33 -07:00
silinoron 5aa6bb2169 Fix an exploit allowing druids to gain substantial stat increases.
Fixes issue #3316

--HG--
branch : trunk
2010-08-07 16:19:52 -07:00
XTZGZoReX 14aeb09945 * This should help with the Linux build; thanks to Machiavelli/click.
* VehicleScript is now bound to the database (`creature_template`.`ScriptName`) and only works for creature vehicles.

--HG--
branch : trunk
2010-08-07 15:26:24 +02:00
XTZGZoReX 360e028331 * Add new TransportScript::OnRelocate hook.
* TransportScript::OnUpdate is now called on every tick, not just on movement update.

--HG--
branch : trunk
2010-08-07 14:17:32 +02:00
XTZGZoReX 946adf469c *** New core <-> script library interface - complete rewrite of the old one.
* Removed the misdesigned on_events script/hooks.
* Lots of related cleanups and assertions.
* The interface is now fully object-oriented.
** Scripts no longer use function pointers.
** Scripts no longer use the general-purpose Script struct for everything.
** Script types are split into separate classes which must be inherited depending on what functionality is desired.
* Several script types have been added to allow extending functionality in a code-only manner (some script types require
  assignment in the recently added ScriptName columns in the database, though).
** SpellHandlerScript: Wrapper around spell scripts (returns new SpellScript objects (`spell_script_names`.`ScriptName`)).
** ServerScript: Allows scripting events that occur in the network layer.
** WorldScript: Allows scripting certain world-global events.
** FormulaScript: Allows hooking and interfering with core formulas.
** *MapScript: Allows hooking different map types (including world, instance, and battleground maps (`instance_template`.`ScriptName`)).
** ItemScript: Allows scripting of items (like the old interface (`item_template`.`ScriptName`)).
** CreatureScript: Allows scripting of creatures/AI (like the old interface (`creature_template`.`ScriptName`)).
** GameObjectScript: Allows scripting of gameobjects (like the old interface (`gameobject_template`.`ScriptName`)).
** AreaTriggerScript: Allows scripting triggered area triggers (like the old interface (`areatrigger_scripts`.`ScriptName`)).
** OutdoorPvPScript: Script which should return OutdoorPvP objects for use by OutdoorPvPMgr (`outdoorpvp_template`.`ScriptName`).
** CommandScript: Allows extending the in-core command table.
** WeatherScript: Allows scripting of weather changes (`game_weather`.`ScriptName`).
** AuctionHouseScript: Allows scripting of auction events.
** ConditionScript: Allows scripting of conditions (`conditions`.`ScriptName`).
** DynamicObjectScript: Allows scripting of dynamicobjects.
** TransportScript: Allows scripting of transport events (`transports`.`ScriptName`).
* OutdoorPvP objects are now created through scripts. This effectively means that they'll need to be moved to scripts
  before the they're functional again.
* The whole idea with this new interface is to allow expanding core functionality without touching core code. If further
  hooks are needed to expand functionality of the core, let us know; we'll add them, if we agree that it is appropriate
  to do so.
*** NOTE: The scripts project will _not_ build before it has been adapted to the new interface.
*** Thanks to everyone who helped out with related preparations and suggestions!

--HG--
branch : trunk
2010-08-06 19:23:43 +02:00
Shauren 9b22ad006b Removed unused access_id from instance_template table (obsolete since access_requirement rewrite)
Fixed build issues with my previous commit

--HG--
branch : trunk
2010-08-06 13:12:18 +02:00
Liberate c0df111bb0 Fixes an exploit to get 65k spell power.
Fixes issue #3212

--HG--
branch : trunk
2010-08-06 13:00:16 +02:00
Shauren 7cae47210e Added ScriptName to transports table for script system rewrite
--HG--
branch : trunk
2010-08-06 12:13:13 +02:00
azazel eb5fb3664b * Add NULL-pointer check to CharmInfo destructor. Closes issue #3287.
* Remove references to AuctionHouseBot files from win project.

--HG--
branch : trunk
2010-08-06 15:50:12 +06:00
azazel 4fb3098d18 * Add NULL-pointer check to CharmInfo destructor. Closes issue #3287.
* Remove references to AuctionHouseBot files from win project.

--HG--
branch : trunk
2010-08-06 12:28:37 +06:00
click 0caaa3e478 Revert changes done in r0074e32c2f and r4d86e4199a - fixes buildissues ( if()+reinterpret_cast is faster than dynamic_casts btw )
--HG--
branch : trunk
2010-08-06 03:00:39 +02:00
silinoron 71ef21de21 Add helper Player::GetAverageItemLevel() function for future use in Dungeon Finder and vehicle scaling.
--HG--
branch : trunk
2010-08-05 14:18:33 -07:00
azazel 309970936c Remove phasing when player enters/leaves instance (by 2010phenix)
Closes issue #3279

--HG--
branch : trunk
2010-08-06 00:24:11 +06:00
azazel f9a51dc214 * Corpse related cleanup (author: Hunuza)
* Avoid saving of the corpse in arenas (author: VladimirMangos)

--HG--
branch : trunk
2010-08-06 00:15:29 +06:00
Shauren 4773aad26b Make use of new ToItem() casts
--HG--
branch : trunk
2010-08-05 18:43:30 +02:00
Shauren c94046b065 Make typecasting methods *really* safe and get rid of redundant typeId/Typemask checks, thanks Zor and Machiavelli for help
--HG--
branch : trunk
2010-08-05 17:01:25 +02:00
azazel 885fc368fd * Implement item limit category (based on changes by VladimirMangos)
* Additional check for HandleAutoBankItemOpcode (thanks to VladimitMangos)
* Properly show empty vendor list for empty item list (author: a1ien)
* More stricted checks for store operations (thanks to VladimirMangos)
* Prevent autostoring of not empty bags (thanks to L1ghtGu4rd)

Changes need testing. Please post bugs on our tracker.

--HG--
branch : trunk
2010-08-05 22:08:07 +06:00
Shauren a042b972ed Fixed pet talents amount exploit
Closes issue #3273.

--HG--
branch : trunk
2010-08-05 11:33:54 +02:00
QAston 96eb7c513f *Some more research about spell target flags - thanks to Zor for info.
--HG--
branch : trunk
2010-08-04 19:16:44 +02:00
azazel 40e16bbbdb Add gender field to SMSG_WHO packet (author: MaS0n)
Fix compile error

--HG--
branch : trunk
2010-08-04 22:12:43 +06:00
Shauren 362ae2d4c6 Fixed pet talents: Guard Dog and Silverback
Removed pre-3.3.0 code for Improved Cower

Closes issue #3198.

--HG--
branch : trunk
2010-08-04 17:49:23 +02:00
QAston 6353e7dd8c *Update movement enums - thanks to Zor for info.
*Add functions for position data streaming.

--HG--
branch : trunk
2010-08-04 14:39:45 +02:00
Shauren 850868c8a3 Fixed issues with taking items from mail
Closes issue #3263.

--HG--
branch : trunk
2010-08-04 14:31:47 +02:00
Shauren 1058d7b37d Fixed timer displaying for timed quests
--HG--
branch : trunk
2010-08-04 13:17:33 +02:00
Shauren b7d34dcb53 Cleaned up item flags: separated item proto flags and item field flags
Implemented use of:
ITEM_PROTO_FLAG_PROSPECTABLE and ITEM_PROTO_FLAG_MILLABLE now checked instead of bag family mask
ITEM_PROTO_FLAG_SMART_LOOT for profession recipes, player has to have skillline and not know the recipe
ITEM_PROTO_FLAG_OPENABLE item has to have it set to use item_loot_template
ITEM_PROTO_FLAG_NOT_USEABLE_IN_ARENA if this is set item can never be used in arena
ITEM_FLAG_UNLOCKED marks unlocked items

Simplified BoA check for mail sending
Stackable items are no longer refundable
Removed useless code that always set ITEM_FIELD_FLAGS equal to proto flags
Unlocking items (lockpicking) is now blizzlike

--HG--
branch : trunk
2010-08-04 10:34:30 +02:00
QAston 846aa12260 *Fix crashy implementation of aura type 305.
--HG--
branch : trunk
2010-08-04 08:21:58 +02:00
Shauren 682ebafdc0 Removed useless code setting gameobject flag locked with each use of gameobject type 22
--HG--
branch : trunk
2010-08-03 17:00:02 +02:00
QAston e7ee828fe1 *Update spell_bonus_data for Garrote - by svetilo12.
*Fix build.

--HG--
branch : trunk
2010-08-03 06:36:25 +02:00
QAston 12c339f421 *Add missing Bestial wrath and The Beast Withing immunities after client change. Original patch by Visagalis.
*Little typo from prev rev.

--HG--
branch : trunk
2010-08-03 06:16:59 +02:00
QAston c5a9d3b463 *Add m_duringRemoveFromWorld lock to prevent adding single target auras during or after remove from world process.
--HG--
branch : trunk
2010-08-03 06:11:03 +02:00
silinoron 14827321bf Add support for CreatureAI::DamageDealt used in a Zul'Aman script. Thanks joshwhedon.
--HG--
branch : trunk
2010-08-02 14:18:30 -07:00
Shauren 46c1a4640d Groups are now stored by low guid in map
Creatures and gameobjects also store looting group by low guid instead of full guid

--HG--
branch : trunk
2010-08-02 17:28:47 +02:00
QAston 2212eb604d *Add helpers for checking auras present on unit by type and spell affect mask
*Add linked SPELL_AURA_PERIODIC_HASTE to shadowform spell - by dr.tenma

--HG--
branch : trunk
2010-08-01 01:22:13 +02:00
QAston 73b481073d *Fix talent Will of the NEcropolis
*Backout unintentional change from ra299f0b248.

--HG--
branch : trunk
2010-07-31 23:39:03 +02:00
thenecromancer 270367abfc Prevent players from gaining rest state in hostile capital zones.
Fix a bug where PvP status never resets when not moving to another zone.
Reset PvP status at Taxi node end/worldport when moving into friendly territory.

--HG--
branch : trunk
2010-07-31 13:55:23 +02:00
thenecromancer bdf20fa420 Fix exploit with Shiv giving 100% chance to apply any enchant on offhand items
--HG--
branch : trunk
2010-07-31 13:49:13 +02:00
thenecromancer 99efabdbd3 Remove crude check in proc system preventing charges drop in proc system for absorbs.
To preserve effect, code must be placed for charge handler to skip procs with 0 damage.
This code is preventing procs that should happen (like Savage Defense, or CCs)

--HG--
branch : trunk
2010-07-31 13:45:00 +02:00
thenecromancer 06caa4a945 Typo in some function usage
--HG--
branch : trunk
2010-07-31 13:40:32 +02:00
silinoron 71b1c781e3 Add basic support for NPCs on transports; DB data required.
Currently no support for combat while the transport is in motion.
Based on a patch by Socolin.
Fixes issue #168

--HG--
branch : trunk
2010-07-30 21:54:46 -07:00
click c298bdb662 Remove duplicate "Error:" from some outError messages...
--HG--
branch : trunk
2010-07-31 03:12:51 +02:00
QAston e5881d9590 *Cleanup in single target auras (thanks to JuliuSZS some useable debug info)
*Add ToInstanceMap() and ToMapInstanced() typecast functions and CAST_INST macro to use in scripts.

--HG--
branch : trunk
2010-07-31 01:41:32 +02:00
QAston 48b360097c *use ASSERT macro instead of regular assert for better output.
--HG--
branch : trunk
2010-07-30 20:04:28 +02:00
Shauren 3dc29732b7 Fixed a very silly mistake at item loading
--HG--
branch : trunk
2010-07-30 17:54:01 +02:00