Commit Graph

302 Commits

Author SHA1 Message Date
thenecromancer
8dd67e8bb3 Allow state/effect immunities ignore whole spell when one effect is immuned
(Fixes getting part of CC auras with some immunities)

--HG--
branch : trunk
2010-01-13 10:20:00 +01:00
XTZGZoReX
a66152215e * Add support for base armor values in creature_classlevelstats.
* Change the table structure to be more core-friendly.
* Remove armor field in creature_template and add Armor_mod field.
* Also add static CreatureBaseStats::GetBaseStats() function for scripts.

--HG--
branch : trunk
2010-01-10 22:02:03 +01:00
QAston
8e9d2cdf01 Update aura system:
* Change system logic - unify Auras, AreaAuras and PersistentAreaAuras:
  * Aura has now its owner - which is the WorldObject, which applies aura (creates AuraApplication object) dependant on aura radius, and effect type
  * Owner can be Dynobj (DynObjAura class) for PersistentAreaAuras, or Unit (UnitAura class) for Area and nonArea auras
  * Aura data is shared for all units which have AuraApplication of the Aura
   * Because of that AuraEffect handlers , and periodic tick functions can't modify AuraEffect object (they are const now)
  * Remove spell source and AreaAuraEffect classes
  * Add AuraEffect::UpdatePeriodic function, to allow periodic aura object modification (target independant)
  * Add AuraEffect::CalculateAmount and AuraEffect::CalculateSpellMod function, to allow non-default amount calculation
  * AreaAura updates are done in owner _UpdateSpells cycle
  * Since now you don't need to wait an aura update cycle to get area aura applied on it's correct target list
  * And you can access area aura target list
  * Add basic support for aura amount recalculation
  * Save recalculation state and base amount of auras to db
  * Add AuraEffect::CalculatePeriodic function to determine if aura is periodic, and to set correct tick number after aura is loaded from db
  * Add ChangeAmount function in addition to SetAmount function, to allow easy reapplication of AuraEffect handlers on all targets
  * Sort aura effect handlers in SpellAuras.cpp and .h by their use
  * Add check for already existing aura of that type to some AuraEffect handlers, to prevent incorrect effect removal
  * SPELL_AURA_CONVERT_RUNE and MOD_POWER_REGEN and MOD_REGEN hacky handlers are now implemented correctly
  * Send aura application client update only once per unit update - prevent unnecesary packet spam
 * Fix ByteBuffer::appendPackGUID function - it added additionall 0s at the end of the packet
 * Fix memory leak at player creation (not deleted auras)
 * Updated some naming conventions (too many to mention)
 * Added Unit::GetAuraOfRankedSpell() function
 * Remove procflags on aura remove, use Aura::HandleAuraSpecificMods instead
 * Added functions to maintain owned auras (GetOwnedAuras, GetOwnedAura, RemoveOwnedAura, etc)
 * Implement AURA_INTERRUPT_FLAG_LANDING
 * Implement EffectPlayerNotification (thanks to Spp)
 * Remove wrong aura 304 handler
 * Add better handler for death runes
 * Remove unnecesary variables from DynamicObject class, and cleanup related code, link dynobj duration with aura
 * Add GetAuraEffectTriggerTarget function in CreatureAi for special target selection for periodic trigger auras used in a script
 * Add many assert() procection from idiots using some functions in wrong way
 * I am to lazy to write here anything more
Thanks to Visagalis for testing this patch
PS: Do not make patches like this, please

--HG--
branch : trunk
2010-01-10 01:23:15 +01:00
Brian
fd26ad5611 * Hopefully fix creature so they swim if InhabitType|2
--HG--
branch : trunk
2010-01-07 22:49:06 -07:00
silver1ce
f82d5cb3fc fixed the bug that GetVmapHeight returns incorrect height on terrains(flying units fall below map etc)
also unlocked max ray lenght for getHeight, by default it's 10 yards

--HG--
branch : trunk
2010-01-06 12:15:02 +02:00
_manuel_
0e18bc37c2 Removed moveflags column from creature_addon and creature_template_addon. Thanks to Zor and raczman.
--HG--
branch : trunk
2010-01-02 19:52:08 -03:00
_manuel_
57206499fb The core should add the movementflags depending on the InhabitType.
--HG--
branch : trunk
2010-01-02 13:15:29 -03:00
n0n4m3
250a00cc1c Temporary revert 6743 commit. I fix this patch across 1-2 days.
--HG--
branch : trunk
2009-12-24 10:20:15 +01:00
n0n4m3
3fe0bc5254 Replaced time(NULL) on sGameTime.GetGameTime() this is used for better performance.
Original Timer.h divided into 2 parts. Shared project has no need to know about GameTime Singleton.
2 Identical structures with different types are now replaced with one generic templated structure and 2 typedefs.

--HG--
branch : trunk
2009-12-23 08:04:10 +01:00
Brian
36d30faabf * Add support for RewSpellCast=-1. If -1 remove all auras applied to player at
* quest start.
* Patch by Kudlaty -- THANK YOU!

--HG--
branch : trunk
2009-12-21 14:48:30 -07:00
Brian
5300226fee * Added support for using a lookup table for creature mana / health
* As long as creature level, class, and the proper expansion they are from are
* set in creature_template, you will have 100% accurate health and mana.
* Research and base stats table done by Malcrom -- THANK YOU!
* Original patch by Kudlaty -- THANK YOU!
* Updated and enhanced by Machiavelli - THANK YOU!
* Optimizations by w12x, MrSmite, and XTZGZoReX -- THANK YOU!
* Final code updating for current rev by XTZGZoReX -- THANK YOU!

--HG--
branch : trunk
2009-12-20 20:23:18 -07:00
Rat
6fe36efe0f *apply trinity style to whole source
*comment out all mangos to trinity defines
*this will make merging a little harder, but code will be more clear

--HG--
branch : trunk
2009-12-20 15:20:04 +01:00
win32
7c9f6b4bc3 Merge MaNGOS, Gossip System. Autor NoFantasy.
* DB support required
* Closes #859

--HG--
branch : trunk
2009-12-20 13:35:08 +02:00
n0n4m3
12dd4b709c Set creatures PvP state flag based on creature faction and renamerelated enum. by NoFantasy
--HG--
branch : trunk
2009-12-19 19:10:14 +01:00
n0n4m3
2925dfcfc4 Add own function to send AI_Reaction packet. by NoFantasy
--HG--
branch : trunk
2009-12-19 17:43:47 +01:00
n0n4m3
7971bda0ea Now TrinityCore2 support 3.2.2a client, need extract new maps and dbc files. thx TOM_RUS, Win32, Machiavelli, VladimirMangos and all trinitycore team
--HG--
branch : trunk
2009-12-18 08:01:29 +01:00
n0n4m3
304f59f2bb [8667] Correctly respawn pooled object in case the same object is selected for respawn
[8701] Fixes and inprovements in pool system. thx Frankir

--HG--
branch : trunk
2009-12-18 06:54:49 +01:00
n0n4m3
40255a660b Some fixes for GameObject, Chat, Creature, update DuelHandler for 322a
--HG--
branch : trunk
2009-12-17 11:06:50 +01:00
spp
bf595a0fe3 Fix a crash in creature respawn, closes #566
--HG--
branch : trunk
2009-12-06 16:41:05 +01:00
maximius
2582fa289c *Fix the insane ghoul/vehicle power regen, by MetaphysicalDrama, closes #108
--HG--
branch : trunk
2009-11-17 23:56:54 -08:00
maximius
b257a28fa9 *Cleanup, fix many cases of unoptimized loops, potential crashes, excessively large data types, unnecessary or wrong casts, non-standardized function calls, and so on..
*Proper Maexxna Web Spray locations (old locations sent players flying into the air)

--HG--
branch : trunk
2009-11-01 17:53:07 -08:00
maximius
52bab5854f *Fix a crash in Object.h
*Fix action button saving
*Fix a crash on item swap in guild bank
*Fix exploit moving after death in Unit.cpp
*Fix assert fail at grid load in Creature.cpp
Thanks Sisif for these! :)

--HG--
branch : trunk
2009-10-31 02:14:25 -07:00
maximius
f4d76b8216 *Implement new LootMode system, and add some basic support in boss_sartharion.cpp. Requires database support.
--HG--
branch : trunk
2009-10-28 16:31:19 -07:00
maximius
19ea9b8de4 *Disregard visibility state when evaluating a potential target.
--HG--
branch : trunk
2009-10-24 14:53:03 -07:00
maximius
431ddb7991 *Minor optimization
--HG--
branch : trunk
2009-10-23 23:29:45 -07:00
maximius
c9cd2f2dbe *Cleanup Creature::_IsTargetAcceptable.
--HG--
branch : trunk
2009-10-23 23:26:04 -07:00
maximius
ecef2642f4 *Use some more standard functions in _IsTargetAcceptable. Should also fix the perma-unattackable boss issue.
--HG--
branch : trunk
2009-10-23 20:01:15 -07:00
maximius
2a7ca1c87e *Ignore unattackables, they are not suitable attackers or victims.
--HG--
branch : trunk
2009-10-22 02:19:30 -07:00
maximius
3f338cc1c3 *Massive cleanup redux.
--HG--
branch : trunk
2009-10-17 16:20:24 -07:00
maximius
e585187b24 *Backed out changeset 3be01fb200a5
--HG--
branch : trunk
2009-10-17 15:51:44 -07:00
maximius
26b5e033ff *Massive cleanup (\n\n -> \n, *\n -> \n, cleanup for(...) to for (...), and some other cleanups by hand)
*Fix a possible crash in Spell::DoAllEffectOnTarget

--HG--
branch : trunk
2009-10-17 15:35:07 -07:00
maximius
832159de12 *If my target is attacking me, my target is acceptable.
--HG--
branch : trunk
2009-10-13 22:05:40 -07:00
maximius
e490c33725 *Some cleanup, change some illogical conditions (if you can attack your target is no reason to ignore the target, o_O)
--HG--
branch : trunk
2009-10-13 19:48:35 -07:00
maximius
7a9f0a970f *Ignore react states in Creature::_IsTargetAcceptable.
--HG--
branch : trunk
2009-10-10 23:08:44 -07:00
maximius
ebe28e2870 *Having to cast this seems silly to me. Oh well, farewell, const-ness!
--HG--
branch : trunk
2009-10-10 17:09:52 -07:00
maximius
8ea2639b62 *Creature::_IsTargetAcceptable rewrite, should hopefully fix the bugs ogeraisi reported.
*Creature health regen patch, written and tested by Gyullo.

--HG--
branch : trunk
2009-10-10 16:26:00 -07:00
maximius
b4c7a2514d *Blackfathom Deeps - Event: Aku'mai, by Tartalo
*Split Personality Achivement, by Destalker
*Halls of Lightning Fixes, by Destalker
    Volkhan fixes + Achievement
    Ionar Fix - without this he resets each time he is invisible, spamming sparks
    Arcing Burn - should be a debuff (and stackable, stackable part NYI :/)
*Naxxramas - Thaddius - the aura shall affect only the character without the proper aura, by Trazom
*Naxxramas - Kelthuzad - some timer adjustments (may need verification or tweaking) by Cass
*Merges by Stryker, thanks to all authors and testers.
[8458] Re-implement SPELL_AURA_MOD_TARGET_ARMOR_PCT in more porper way for weapon dependent cases. Author: VladimirMangos
[8459] Avoid mutiply apply weapon dependent armor penetration bonus for each weapon. Author: VladimirMangos
[8529] check rune cost only if spell has PowerType == POWER_RUNE. Patch provided by yavi. Author: Ambal
[8532] Fixed situation where some items like 42947 were not giving spell power bonus. By: Ambal
[8533] Not remove timed quest and correctly fail when time runs out. Add function to remove timed quest instead of direct access to set. Author: NoFantasy
[8536] Fixed spell 62776. By: Ambal
[8539] Check pet aura range at area aura update. By: Ambal
[8546] Implement battleground bonusweekends call to arms. Also fix typo in auctionmgr. Author: balrok
[8547] Implemented scriptcall: CorpseRemoved(uint32 & /*respawnDelay*/) it will be called when the corpse of the scripted creature get's removed, it's possible to adjust the next respawn inside the script. Author: balrok
[8561] Replace another auras code call by explicit code
[8566] avoid singleton-lock when accessing BattleGroundMGR::isBGWeekend() Proposed by vladimir. Comitter: balrok

--HG--
branch : trunk
2009-10-09 20:48:55 -07:00
Machiavelli
c7ca414af8 * Prevent totems from having random models.
--HG--
branch : trunk
2009-10-06 00:16:55 +02:00
maximius
693251497a *Friends shouldn't fight friends, even if that means you have to watch your friends kill each other.
--HG--
branch : trunk
2009-09-29 22:05:49 -07:00
maximius
d5d56bc62b *Whoops, typo (creature_template_addon, not creature_addon)
--HG--
branch : trunk
2009-09-29 20:40:40 -07:00
maximius
1b168c6c9f *Add some error output for improper moveflags on flying creatures.
--HG--
branch : trunk
2009-09-29 20:39:25 -07:00
maximius
4b79217bef *Passive targets under attack by players are not ideal targets for hostile creatures, so avoid them.
--HG--
branch : trunk
2009-09-29 15:13:46 -07:00
maximius
21f08bff8e *Fix a crash in boss_svala.cpp + fix build
--HG--
branch : trunk
2009-09-29 01:36:01 -07:00
maximius
aa5e2d3b28 *The enemy of my enemy is my friend.
*Correct some reversed parameter ordering (team and vehId were swapped)

--HG--
branch : trunk
2009-09-29 01:16:08 -07:00
maximius
15dbc456bb *If our target of choice is attacking a player, only attack our target if we are friendly towards that player.
*Only regenerate quickly if polymorphed.

--HG--
branch : trunk
2009-09-27 19:11:52 -07:00
maximius
01be5d1860 *Do not regenerate the health of controlled or charmed creatures instantly out of combat
--HG--
branch : trunk
2009-09-27 15:48:30 -07:00
maximius
fd55684873 *Better method for choosing a random model on respawn (should no longer show opposite faction models)
*Attempt to make it so creatures: don't help players or units controlled or owned by players; and don't help if the unit is fleeing from the enemy player

--HG--
branch : trunk
2009-09-27 15:14:25 -07:00
maximius
f980dd9ac6 *Merge [8524] New cell search algorithm implemented. You can now choose different
visibility distances on continents, in BG/Arenas and instances. Author: Ambal
*Some warning cleanup

--HG--
branch : trunk
2009-09-27 02:24:25 -07:00
maximius
342b071d47 *Instead of checking getVictim() to determine whether or not to regen health, check if the threat list is empty
*Fix some incorrect/missing scriptname assignments, thanks Drahy

--HG--
branch : trunk
2009-09-26 21:55:47 -07:00
maximius
07084713d1 *Some better checks.. don't want to try and store a Unit* in a bool!
--HG--
branch : trunk
2009-09-26 17:16:17 -07:00