aboutsummaryrefslogtreecommitdiff
path: root/src/game/CreatureEventAI.cpp
AgeCommit message (Collapse)Author
2010-01-23* Remove CellLock class and all cell-level thread locking.XTZGZoReX
** It was wasting CPU power as cell-level locking is not needed. ** Our multithreading is on map-level, not cell-level. ** CellLock was just a 'proxy' between Cell and CellPair and in some cases carried redundant data. ** Some minor cleanup in Cell::Visit/Map::Visit. --HG-- branch : trunk
2010-01-16Updated copyright for new year.n0n4m3
--HG-- branch : trunk
2010-01-16Implement option to use delay in ForcedDespawn for creature, allow use ↵n0n4m3
delayed forced despawn also in EAI, by NoFantasy. --HG-- branch : trunk
2010-01-12Fix ACTION_T_RANDOM_PHASE_RANGE. Thanks Nayre and raczmanTrazom62
--HG-- branch : trunk
2010-01-10*Tabs to spacesQAston
*Fix a type in CreatureEventAI.cpp from last rev --HG-- branch : trunk
2010-01-10Update aura system:QAston
* 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-08Implemented new event for EventAI, EVENT_T_RESET._manuel_
--HG-- branch : trunk
2009-12-20*apply trinity style to whole sourceRat
*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-17Some fixes for GameObject, Chat, Creature, update DuelHandler for 322an0n4m3
--HG-- branch : trunk
2009-11-13Apply #239Kudlaty
EventAI: New Actions: *ACTION_T_MOVE_RANDOM_POINT: _param1, determines the range that can be the random point. *ACTION_T_SET_STAND_STATE: _param1, determines the stand state using the enum UnitStandStateType. *ACTION_T_SET_PHASE_MASK: _param1, determines the phase mask. *ACTION_T_SET_VISIBILITY: _param1, determines the visibility state using the enum UnitVisibility. patch by manuel --HG-- branch : trunk
2009-11-11*Destroy quest items on quest failure, and some cleanup.maximius
--HG-- branch : trunk
2009-10-17*Backed out changeset 3be01fb200a5maximius
--HG-- branch : trunk
2009-10-17*Massive cleanup (\n\n -> \n, *\n -> \n, cleanup for(...) to for (...), and ↵maximius
some other cleanups by hand) *Fix a possible crash in Spell::DoAllEffectOnTarget --HG-- branch : trunk
2009-10-15*Cleanup.maximius
--HG-- branch : trunk
2009-09-27*Merge [8524] New cell search algorithm implemented. You can now choose ↵maximius
different visibility distances on continents, in BG/Arenas and instances. Author: Ambal *Some warning cleanup --HG-- branch : trunk
2009-09-26*Replace a ton of switches with RAND(), and overload RAND() to support up to ↵maximius
16 parameters. *Add a safety check to prevent knocking players off of transports, just in case they die while on one. *Fix a couple incorrect spell defines. --HG-- branch : trunk
2009-09-18*[8475] fixed some gcc-warnings Author: balrokmaximius
*[8476] Revert some recent cleanup changes, some other fixes and cleanups. Author: VladimirMangos *[8489] Fixed player visibility update in case view point different from player itself. Author: SilverIce *[8493] Avoid unexpected multiply error messages at wrong `quest_template`.`RewSpell*` Author: VladimirMangos *[8496] Resolve some #include cycles and unsafe code. * Common.h -> Threading.h -> Errors.h -> Common.h * Remove reduncdent #include "ByteBuffer.h" in headers * Remove redundent #include "Auth/BigNumber.h" in headers * Avoid multyply data copy at use some now dropped functions in BigNumber. * Avoid copy fixed byte count from byte arrays with unknown real size created from BigNumber. * Avoid possible problems for build mangos at different platform or compilers. Author: VladimirMangos. *[8501] Apply code style and cleanups to some Player functions. Author: VladimirMangos. *[8502] Disable quests related to specific game events at startup if event not active. Also rename member boolean variable. Author: NoFantasy *[8506] Add check for IsAutoComplete() in SendPreparedQuest(). For cases where quest is repeatable but has Method!=0, QuestDetails must be sent instead of RequestItems. Some additional code cleanup. Author: NoFantasy *[8507] Check amount of spawned pools before decrement to avoid unexpected result. Also rename variable to more meaningful name. Signed-off-by: NoFantasy <nofantasy@nf.no> Thanks to Stryker and onkelz28! --HG-- branch : trunk
2009-09-14Backed out changeset d3fe2d6d504a (please test your patches thoroughly ↵maximius
before getting me to push them ogeraisi) --HG-- branch : trunk
2009-09-14*Merged MaNGOS [8458], [8475], [8476] by ogeraisi, thanks to all authors :)maximius
--HG-- branch : trunk
2009-08-29*Make position as a class;megamage
--HG-- branch : trunk
2009-08-28*Fix build in *nixmegamage
--HG-- branch : trunk
2009-08-23*Update vehicle system. Make vehicle a seperate class from creature.megamage
--HG-- branch : trunk
2009-08-20*Try to fix the bug of mobs' chain aggro.megamage
--HG-- branch : trunk
2009-07-30 [8235] Fixed typos in ACTION_T_SET_INVINCEABILITY_HP_LEVEL. Author: ↵megamage
VladimirMangos Thanks to Zor for pointing. --HG-- branch : trunk
2009-07-30 [8233] Implement new EventAI action ↵megamage
ACTION_T_SET_INVINCEABILITY_HP_LEVEL. Author: VladimirMangos Action set min. health value that can be set for creature in result damage apply. It can be used in duel like events with creatures to prevent killing creature and other cases when creature must avoid damage at some health level while it used. --HG-- branch : trunk
2009-07-23*Creature eventAI cancast power check - by smellbee.QAston
--HG-- branch : trunk
2009-07-12 [8146] Fixed handling of eventchance for CreatureEventAI. Author: ApoCmegamage
Check event chance after timers advances othewise event is not scheduled to next time period and event chance is again checked on next AI update. --HG-- branch : trunk
2009-06-27[8057] Move code from Event AI to class Creature function for reuse in other ↵megamage
scripting cases. Author: NoFantasy --HG-- branch : trunk
2009-06-19*Some cleanup of eventAI.megamage
[8046] Use float for store AttackDistance as expected by using calls. Author: NoFantasy [8045] Cleanup expression. Author: VladimirMangos --HG-- branch : trunk
2009-06-18[8040] Implement Creature::ForcedDespawn and ACTION_T_FORCE_DESPAWN for ↵megamage
EventAI. Author: NoFantasy --HG-- branch : trunk
2009-06-15 [8018] Implement EVENT_T_BUFFED and EVENT_T_TARGET_BUFFED for creature ↵megamage
EventAI. Author: VladimirMangos Its can be used for check specific spell auras stack size for event triggering. [8017] Always reset creature EventAI phase at creature death. --HG-- branch : trunk
2009-06-15*Some creature display id update. By VladimirMangos and GriffonHeartmegamage
--HG-- branch : trunk
2009-06-13[7995] Check display id correctness for creature and gameobjects. Author: ↵megamage
VladimirMangos --HG-- branch : trunk
2009-06-09*Fix a bug that creature ignore LOS in assistance case.megamage
--HG-- branch : trunk
2009-06-04[7951] Mope call for help code to function form Event AI code to allow use ↵megamage
it from C++ scripts also. Author: NoFantasy --HG-- branch : trunk
2009-05-31 [7922] Implement param2 for ACTION_T_COMBAT_MOVEMENT for allow control ↵megamage
start/stop melee combat state for creature at start/stop movement in combat. Author: VladimirMangos --HG-- branch : trunk
2009-05-31[7914] Fixed variable name typos in creature event AI code. Author: NoFantasymegamage
--HG-- branch : trunk
2009-05-31Mangos [7911]. Author: tomrus88megamage
Very big patch. May cause bugs. --HG-- branch : trunk
2009-05-28 [7905] Implement ACTION_T_SET_SHEATH for creature event ai make ↵megamage
possibility set ranged fire state. Author: VladimirMangos Also related cleanup code in field cases and player Player::SetSheath. --HG-- branch : trunk
2009-05-22*Fix a bug that owner cannot recall pet when pet is attacking target.megamage
--HG-- branch : trunk
2009-05-21[7863] Implement for EVENT_T_SPAWNED map/zone/subzone only event conditions. ↵megamage
Author: Alex --HG-- branch : trunk
2009-05-21Mobs fleeing and getting assistance feature implementaion. Author: Neo2003megamage
--HG-- branch : trunk
2009-05-21[7860] Implement creature event ai ACTION_T_CALL_FOR_HELP for explicit call ↵megamage
for help in some script cases. Author: VladimirMangos --HG-- branch : trunk
2009-05-19[7854] Fixed typo in random text selection code. Author: NoFantasymegamage
--HG-- branch : trunk
2009-05-19 [7852] Use union of per-event type structures, more checks at creature ↵megamage
event ai loading. Author: VladimirMangos Including: * Fixed check for EVENT_T_SPELLHIT school field. Add check at loading. Note: this event expect before and now schol _mask_ in param2. * In EVENT_T_RECEIVE_EMOTE use original player condition check code instead copy of related code. --HG-- branch : trunk
2009-05-18 [7847] Replace paramter unions by uniton of event ai action type ↵megamage
structures. Add/fix some loading checks. Author: VladimirMangos * Also send to process function reference to strucutre instead large amount fields. * Specially note that fixed check for first arg of action type 27 that before wrongly test as quest id, when by using code expected creature id. Possible some used data wrongly can be quest ids.... --HG-- branch : trunk
2009-05-18[7845] Implement reload support for creature eventAI tables. Author: evilstarmegamage
--HG-- branch : trunk
2009-05-15*Fix a crash caused by eventai.megamage
--HG-- branch : trunk
2009-05-14*Add some distance check functions. By VladimirMangos.megamage
--HG-- branch : trunk
2009-05-12*Move MoveFollow owner from MoveTargetedHome to enterevademode.megamage
--HG-- branch : trunk