Commit Graph
64 Commits
Author SHA1 Message Date
QAston 6c3015a7e6 *Fix issues with negative dmg of periodic power burn and periodic power leech effects added recently.
*Minor cleanup.

--HG--
branch : trunk
2010-08-27 20:51:29 +02:00
QAston 36640c263a *Consistent parameter names of spell effect handlers - use effIndex instead of i or eff_idx or variations of it.
--HG--
branch : trunk
2010-08-27 19:36:27 +02:00
QAston f1d4933dcb *Fix combat logging of many spell effects - thanks to kiper, Ssp, Cyrax, and manuel for providing data and to Zor for inspecting opcodes.
--HG--
branch : trunk
2010-08-27 17:49:32 +02:00
QAston c1ac063ba1 *Remove m_currentBasePoints from spell class, use m_spellValue instead.
--HG--
branch : trunk
2010-08-27 06:40:23 +02:00
QAston 1d3deae555 *Send to client periodic heal absorbtion.
*Heal over time spells are updating healing achievement progress now.

--HG--
branch : trunk
2010-08-27 01:13:27 +02:00
QAston 30d31ca40a *Fix usage of EffectValueMultiplier in spell code.
*Remove some obsolete code from spell class.
*Rename some spellmod and dbc column names to be more accurate.

--HG--
branch : trunk
2010-08-26 19:07:55 +02:00
Shauren 73d3f210a9 Scripts/Icecrown Citadel: Add script for Deathbringer Saurfang (only missing alliance outro due to need of spawning and moving a transport)
Scripts/Icecrown Citadel: Corrected Lord Marrowgar, should no longer target tanks with Bone Spike Graveyard, his Coldflame should now spread properly
Core/Scripts: Moved Lady Deathwhisper Mana Barrier handler to scripts
Core/Scripts: Allow AuraScript to prevent default effects by effect index
Core/Scripts: Added Is25ManRaid() method to ScriptedAI, obviously used to check if raid is 25man
Core/Achievements: Pass m_caster to UpdateAchievementCriteria for ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET

--HG--
branch : trunk
2010-08-21 20:50:38 +02:00
azazel 5fa14f58dc Core/Cleanup:
* move repeating code into separate method for storing locale strings in ObjectMgr (copy/paste sucks, you know)
* fix 'signed/unsigned' warnings (at least in VS)
* fix some other warnings and cleanup relative code

--HG--
branch : trunk
2010-08-26 15:54:56 +06:00
azazel 341e6303ef Core:
* add helping methods for manipulating unit's health and use it where applicable
* fix some conversion warnings and cleanup code (formatting, CRLF, tabs to spaces)

--HG--
branch : trunk
2010-08-26 01:20:57 +06:00
Shocker bd2ffab07a * Move Paladin Judgement bonuses to spell_bonus_data, thanks deltapower.inc
* Avoid code duplication by moving spell interrupt code for jump effects to a common function for both EffectJump and EffectJumpDest, thanks devthenecro

--HG--
branch : trunk
2010-08-25 18:24:40 +03:00
Shocker 020211bb31 Fix seal unleash damage for Seal of Wisdom / Light / Justice / Vengeance
--HG--
branch : trunk
2010-08-25 06:17:12 +03:00
Shocker c741163313 Knockback (ex: Thunderstorm) and Jump (ex: Death Grip) effects must instantly interrupt spellcasting on victim. Fixes issue 1973
--HG--
branch : trunk
2010-08-25 05:14:16 +03:00
Shocker d3c6edeb4a Correct usage of basePoints in various locations
--HG--
branch : trunk
2010-08-25 03:21:22 +03:00
silinoron 8649bee17f Replace World::getConfig with World::getFloatConfig, World::getIntConfig, and World::getBoolConfig.
Also fix a warning from a previous commit.

--HG--
branch : trunk
2010-08-23 19:56:47 -07:00
silinoron 34384a3832 Spell 62124 should allow critical hits.
Based on patch by Toni.Shocker (yes, again).
Fixes issue #3554
Also get rid of GuildScript in TODO, as it already exists.

--HG--
branch : trunk
2010-08-23 15:51:34 -07:00
silinoron ccc2a83510 * Some consistency changes.
* Move spell 6962 to spell scripts and make sure to set deathstate.

--HG--
branch : trunk
2010-08-22 21:07:18 -07:00
silinoron 5cbae843d5 Core/Game: fix all warnings related to converting doubles and floats.
--HG--
branch : trunk
2010-08-22 12:39:39 -07:00
azazel 399e35f8f5 Core:
* fix "warning C4305: 'initializing' : truncation from 'double' to 'float'" warnings
* fix some other warnings here and there

--HG--
branch : trunk
2010-08-22 23:46:40 +06:00
click 670964803f Core: Fix more warnings, add new function sLog.outStaticDebug() that replaces DEBUG_LOG
--HG--
branch : trunk
2010-08-22 01:57:04 +02:00
Spp 572f7bbd1d Core: Remove "may be used uninitialized in this function", "unused parameter ‘xxx’" and "'xxx' defined but not used" warnings
--HG--
branch : trunk
2010-08-21 23:08:54 +02:00
QAston 77bd968c63 *Remove some unused containers from Spell class.
--HG--
branch : trunk
2010-08-21 21:00:06 +02:00
Shauren 71a5320eda Scripts: Added script for Lord Marrowgar
Added base script for Icecrown Citadel instance

--HG--
branch : trunk
2010-08-18 17:19:47 +02:00
QAston 5e78e222c1 Core/Spells: Implement TARGET_DEST_CHANNEL_CASTER(106) and TARGET_GAMEOBJECT_AREA_PATH(108). Rename TARGET_UNIT_CHANNEL to TARGET_UNIT_CHANNEL_TARGET, TARGET_DEST_CHANNEL to TARGET_DEST_CHANNEL_TARGET
--HG--
branch : trunk
2010-08-18 15:04:00 +02:00
azazel 66fcd52106 Add more methods to SpellScript.
Spells cleanup: move spells from the core to scripts.

* Shaman spells: 39610 Mana Tide Totem, 1535 Fire Nova (and ranks)
* Death Knight spells: 55090 Scourge Strike (and ranks), 49158 Corpse Explosion (and ranks), 50524 Runic Power Feed
* Druid spells: 54846 Glyph of Starfire
* Warlock spells: 6201 Create Healthstone (and ranks), 47422 Everlasting Affliction, 47193 Demonic Empowerment, 63521 Guarded by The Light
* Hunter spells: 37506 Scatter Shot, 53412 Invigoration, 53209 Chimera Shot
* Quest spells: 45449 Arcane Prisoner Rescue (quest 11587), 46023 The Ultrasonic Screwdriver (quest 11730). Closes issue #3068

Clean old code for hunter's Heart of the Phoenix, move script effect of hunter's Master's Call to corresponding script.
Move DK's Hungering Cold to spell_scripts table (needs DB support)

--HG--
branch : trunk
2010-08-18 00:20:23 +06:00
Brian 1f52153410 Backed out changeset f751065ec933
Spell rep rate was already implemented by QAston

--HG--
branch : trunk
2010-08-09 11:33:31 -06:00
azazel f5399618d9 Implement reputation rates and aura effects for Spell::EffectReputation() (thanks Lynx3d)
--HG--
branch : trunk
2010-08-09 23:22:31 +06:00
QAston fa8a826656 *(More) correct implementation of SPELL_EFFECT_PULL_TOWARDS_DEST(145)
--HG--
branch : trunk
2010-08-09 02:31:42 +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
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 909e332579 * Rename: BattleGround -> Battleground.
--HG--
branch : trunk
2010-08-08 04:37:24 +02:00
silinoron 443226c562 Unholy Blight should prevent the dispelling of diseases.
Fixes issue #2609
Fixes issue #2982

--HG--
branch : trunk
2010-08-06 21:32:42 -07:00
azazel f413d60908 * Move all movable spell effects from core to DB. Needs DB support.
* Fix some compile errors made in previous commits.

--HG--
branch : trunk
2010-08-07 01:02:09 +06: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
azazel 2562a4651f Moved Pain and Suffering (47948) script effect to spell script.
--HG--
branch : trunk
2010-08-06 23:03:43 +06: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 705de07e7e Fixed Carrion Feeder pet talent
Removed useless code for Wolverine Bite

--HG--
branch : trunk
2010-08-04 12:12:58 +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
click 049865129a Fix build
--HG--
branch : trunk
2010-08-03 13:18:13 +02:00
Shauren 4e624a1a8d Fixed Wolverine Bite damage (pet talent)
--HG--
branch : trunk
2010-08-03 12:31:51 +02:00
silinoron e798097ae3 Move a couple of warrior spell dummy effect handlers to spell scripts.
--HG--
branch : trunk
2010-08-02 13:18:45 -07:00
silinoron 9d93ebc8b7 Move SPELLFAMILY_PALADIN dummy spell effects for Holy Shock, Blessing of Faith, and Judgement of Command to spell scripts.
--HG--
branch : trunk
2010-07-31 10:46:33 -07:00
QAston 48b360097c *use ASSERT macro instead of regular assert for better output.
--HG--
branch : trunk
2010-07-30 20:04:28 +02:00
QAston d666ba26c1 *Thread safe player searcher in scripts.
--HG--
branch : trunk
2010-07-30 15:51:07 +02:00
Shauren 045bf5163b Fixed spellpower coef for Lifebloom final heal
--HG--
branch : trunk
2010-07-28 12:57:00 +02:00
silinoron c173e84f25 Move dummy effect handlers for all SPELLFAMILY_HUNTER dummy effect handlers but Scatter Shot to spell scripts.
--HG--
branch : trunk
2010-07-27 22:12:50 -07:00
silinoron e7e49c56cf Cleanup the mage spell scripts, and move SPELLFAMILY_PRIEST and SPELLFAMILY_ROGUE dummy effect handlers to spell scripts.
--HG--
branch : trunk
2010-07-27 21:12:40 -07:00
Shauren 51400a4e15 Moved few dummy spell handlers to database
--HG--
branch : trunk
2010-07-27 19:32:21 +02:00
silinoron 297b7aac1b Move SPELLFAMILY_MAGE dummy effect handlers to spell scripts.
--HG--
branch : trunk
2010-07-26 19:05:20 -07:00
QAston dd8d6701b8 *Implement RepRewardRate for spells.
--HG--
branch : trunk
2010-07-27 02:25:22 +02:00