Commit Graph

78 Commits

Author SHA1 Message Date
Shauren 30468a106f Moved battleground achievement scripted checks into scripts
Call ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL updates in code
Implemented achievements: Save the Day, Quick Cap, Warsong Expedience

--HG--
branch : trunk
2010-08-13 13:48:59 +02:00
azazel c6b4309f1e * Unsummon pet if direct control spell expire out of visibility range from owner (base on VladimirMangos changes)
* Move repeating code to separate method

--HG--
branch : trunk
2010-08-12 12:14:32 +06:00
silinoron 0963cb3aea Implement a PlayerScript class with a handful of new hooks:
* OnPVPKill
* OnCreatureKill
* OnPlayerKilledByCreature
* OnPlayerLevelChanged
* OnPlayerFreeTalentPointsChanged
* OnPlayerTalentsReset
* More hooks may be added in the future

--HG--
branch : trunk
2010-08-11 19:52:58 -07: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
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 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
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
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
QAston 846aa12260 *Fix crashy implementation of aura type 305.
--HG--
branch : trunk
2010-08-04 08:21:58 +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
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 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
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
QAston d666ba26c1 *Thread safe player searcher in scripts.
--HG--
branch : trunk
2010-07-30 15:51:07 +02:00
QAston 272e954a70 *Lock on RemoveAllAuras till all auras and applications are removed with all linked events they may cause.
*Add assertion after error log, just in case you've missed it.

--HG--
branch : trunk
2010-07-30 03:07:34 +02:00
click c595eb8ae9 First part of petAI logic cleanup : Hunter PetAI change: Ignore attacking CC'ed targets unless explicitly asked for by player
(thanks to QAston, Shauren, Liberate for the discussions and codehelp to sort this out properly)

--HG--
branch : trunk
2010-07-28 19:39:56 +02:00
QAston e232c0e235 *Cleanup in ObjectAccessor - this should fix some crashes
--HG--
branch : trunk
2010-07-28 00:08:21 +02:00
QAston 8e7f30eb61 *Add debug log to trac reason of a crash in Spell::DoAllEffectOnTarget.
--HG--
branch : trunk
2010-07-26 22:57:25 +02:00
QAston fc4087cd98 *Resurrection sickness and similar debuffs are no longer dispelable.
--HG--
branch : trunk
2010-07-26 19:27:28 +02:00
QAston 7b87ab4de7 *Add more Player::CanUseAttackType checks in places where item bonuses are applied.
--HG--
branch : trunk
2010-07-26 16:08:55 +02:00
Shauren 687cd83bdd Fixed Thrill of the Hunt not restoring mana when Explosive Shot crits
Closes issue #2221.

--HG--
branch : trunk
2010-07-24 22:14:23 +02:00
Shauren 903a3cbe76 Shaman totem models are now different depending on race
--HG--
branch : trunk
2010-07-22 17:31:27 +02:00
_manuel_ 3f9086fb4f Fixed resist chances with Positive Auras.
BIG thanks to QAston.

--HG--
branch : trunk
2010-07-22 13:04:47 -03:00
thenecromancer 389f6084c9 Use unified code for adding remaining DoT damage to some talents.
--HG--
branch : trunk
2010-07-21 01:42:02 +02:00
thenecromancer 6ca2aa0dd7 Typo in my original code (that bool should be used).
--HG--
branch : trunk
2010-07-21 01:03:44 +02:00
thenecromancer afa27d1dbf Some fixes to proc events
* Always pass up some aura types, regardless of triggered state ( this might be CC effects touched by triggered spells )
* Allow defensive procs on Full block
* Allow defensive procs to trigger from states with PROC_EX_INTERNAL_REQ_FAMILY ( I don't remmember what that one fixes :))

--HG--
branch : trunk
2010-07-21 00:55:27 +02:00
QAston c0f9ef6059 *Implement SPELL_EFFECT_CREATE_TAMED_PET(153).
--HG--
branch : trunk
2010-07-20 22:55:28 +02:00
QAston f906976837 *Remove assertion from packet handler. Assertions should not be put in such places because we can't trust clients nor network.
*Do not allow to charm mounted units.

--HG--
branch : trunk
2010-07-20 01:42:14 +02:00
click dd92bffd24 Exclude hunters Auto Shot from casttimer-delay - should be blizzlike now (fix by Ktistay)
Closes issue 1927

--HG--
branch : trunk
2010-07-19 04:16:15 +02:00
QAston 31a3310ea1 *Fix Totem of Hex coefficient - patch by Lightguard.
--HG--
branch : trunk
2010-07-16 19:17:45 +02:00
QAston a7b7073cc5 *Item - Coliseum 25 Heroic Caster Trinket - patch by microbius51
--HG--
branch : trunk
2010-07-16 15:48:31 +02:00
QAston 7e8c61c95a *Remove hack for Divine Storm from Unit::DealDamage
*"Zip" some data in SpellMgr::LoadSpellCustomAttr
*Add MaxAffectedTargets for Divine storm heal effect
*Move Divine Storm to correct spellfamily switch-case block in Spell::EffectDummy
*Some ordering fixes of case blocks in Spell::EffectDummy

--HG--
branch : trunk
2010-07-16 14:42:24 +02:00
QAston b406321c01 *Prevent possible problems with application of negative auras with 0 duration, now only spell hits which were diminished are immuned.
*Remove old code of SPELL_AURA_MOD_AOE_DAMAGE_AVOIDANCE forgotten in c84e55b632.

--HG--
branch : trunk
2010-07-16 14:23:03 +02:00
QAston 719f13874e *Rename SPELL_AURA_RANGED_AP_ATTACKER_CREATURES_BONUS to SPELL_AURA_MOD_CREATURE_AOE_DAMAGE_AVOIDANCE, and reimplement that aura type.
*Some more research about new aura types.

--HG--
branch : trunk
2010-07-16 13:20:50 +02:00
QAston 5ca1748326 *Implement aura type SPELL_AURA_SHARE_DAMAGE_PCT(300), somewhat based on patch by joshwhedon
*Add some guess comments about unknown aura types

--HG--
branch : trunk
2010-07-16 01:08:06 +02:00
_manuel_ 3c1887aab9 Fixed problems with Sacred Cleansing, by QAston.
Fixes issue 546.

--HG--
branch : trunk
2010-07-15 19:31:40 -03:00