Commit graph

99 commits

Author SHA1 Message Date
Lightguard
9c98bd92e2 [9077] Fixes for pet work in case mounted owner.
* No unsummon temporary pet at non-fly mounting.
* Implement client side disable pet's action bar for mountted owner time

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

* implement server side action disabled case (action bar modify, aggro reaction and autocast)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-12-28 16:00:55 +03:00
Arthorius
4e55757a94 [8987] Allow swap spell and command/reaction in pet action bar.
* Also prevent command/action drop from action bar
* Pet action bar will recetn at this revision use single time for all pets.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-12-13 23:04:12 +03:00
VladimirMangos
fe70af7b5d [8889] Allow non-permanent pets have auras from spell_pet_auras.
Also add one from related cases to DB.
2009-11-29 17:31:54 +03:00
VladimirMangos
663038c7c7 [8870] Fix problem with max pet distance from owner.
* Avoid use hardcoded and different max distance from owner for pet (more at contienets and less in instances)
  Use instaed max visibility for map as expected.
* Explicitly pet remove at move pet to non-visible distance for player owner.

Original patch provided by Lightguard.
2009-11-24 19:10:38 +03:00
XTZGZoReX
0734adb746 [8789] Rename several singleton macros to use more consistent names.
* objmgr -> sObjectMgr
 * spellmgr -> sSpellMgr
 * WaypointMgr -> sWaypointMgr
 * poolhandler -> sPoolMgr
 * objaccessor -> sObjectAccessor
 * mapmgr -> sMapMgr
 * sInstanceSaveManager -> sInstanceSaveMgr
 * ticketmgr -> sTicketMgr
 * CreatureEAI_Mgr -> sEventAIMgr
 * auctionmgr -> sAuctionMgr
 * achievementmgr -> sAchievementMgr
2009-11-08 12:11:34 +01:00
XTZGZoReX
1f23884757 Don't use singleton to access static functions.
* This affects especially ObjectMgr functions:
   - GetCreatureInfo
   - GetGameObjectInfo
   - GetInstanceTemplate
   These are in fact static functions.
2009-11-08 03:54:27 +01:00
VladimirMangos
15ab6794d3 [8742] Avoid aura remove triggered casts and packets send at logout/delete
This is must speedup logout and solve some crash cases or unexpected effects.

Also fix some nonsense code with memory lost possibility.
2009-10-27 04:20:11 +03:00
VladimirMangos
d7ae5e3af0 [8718] Remove most GetObjectInWorld functions and move some map local to Map
Also mape pet guid counter per-map (in different expecte to be global pet number)
2009-10-24 01:16:40 +04:00
VladimirMangos
012b54a63d [8695] Fix negative auras remain time calculation at loading for pets.
In similar ways as recently fixed for players.
2009-10-21 04:50:42 +04:00
ApoC
45c9c136ba [8653] Implemented per map guids store.
This patch implements storing guid->object pairs on per map level, this leads
to less locking in ObjectAccessor in case of further multithreaded map update.

For case of cross map guid looking (auras cases) all maps are linked into
ObjectAccessor and can be traversed for this lookup.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-10-17 00:12:31 +02:00
VladimirMangos
344c03fc03 [8419] Allow updating pet stats at loading more early (before InitStatsForLevel). 2009-08-25 15:34:23 +04:00
VladimirMangos
7ac4dc6f13 [8251] Store in some DB tables only data for first rank.
* Allow add to DB data only for first rank in table `mangos_spell_bonus_data` and `mangos_spell_proc_event`.
* Copy data for other ranks for speedup use at loading for this data and data from `spell_proc_item_enchant`.
2009-07-26 10:46:36 +04:00
freghar
cd17ada2e5 [8221] Removed trailing whitespaces
With excluded dep/ - as usual.

Signed-off-by: freghar <compmancz@gmail.com>
2009-07-20 17:53:14 +02:00
Ambal
58209ee79a [8182] Store and use Map* pointer in WorldObject instead map ids for speedup
Also some code logic cleanups.
Changes let make more cleanups in base map access and other places,
but this chnages not inlcuded in patch.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-15 02:13:52 +04:00
VladimirMangos
8d2dab1093 [8119] Speedup code and prevent crash at pet stats reset in time owner not in world. 2009-07-05 13:58:16 +04:00
ApoC
aab121fcb2 [8111] Implemented support for implicit specify owner when initializing stats for summoned pets.
* Speedup of summoning pets (no need to seach owner by guid)
* Fixed problem that summond pets from NPC had not initialized stats
  (pet was not in world in time of stat init thus owner was not found)

Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-03 19:28:22 +02:00
VladimirMangos
9f41772828 [8102] Simplify code base at new root method WorldObject::CleanupsBeforeDelete
* Call it from Map::AddObjectToRemoveList and remove now not needed explcit calls
* Create Gameobject version to make GO with owner more safe for remove
2009-07-01 11:09:34 +04:00
VladimirMangos
1baec77845 [8098] Support uint32 spell ids in code.
* Propertly work with uint32 spell ids in player action bar
* Fix in same time bug with not save equipment set button with id==0
* Merge misc field in character_action and playercreateinfo_action to action field as 3 byte
* Propertly load uint32 spell ids from character_spell
* Fixed types for some pet/creature related structure for spell id storing.
2009-06-30 11:25:32 +04:00
VladimirMangos
d56de2cd77 [8053] At character talents reset using chat command also reset talents for all character pets.
This applied to .reset talents and .reset all talents commands.
2009-06-21 00:29:46 +04:00
VladimirMangos
cb2df3028f Fixed pet talent show after loading. 2009-06-10 20:51:39 +04:00
tomrus88
1f87157edf Merge commit 'origin/master' into 310
Conflicts:
	src/game/UpdateData.cpp
2009-06-07 21:42:02 +04:00
VladimirMangos
5ac6b2f34b [7971] Implement support exotic pets limtations related to hunter telent 53270.
Note: before this commit hunters can tame exotic pets like any other.
      After patch like not propertly contriolled pets will auto-dismiss at loading
      if talent not learned.
2009-06-06 21:21:27 +04:00
tomrus88
b9b2e254b5 Merge branch 'master' into 310 2009-06-03 16:03:44 +04:00
NoFantasy
be6e3923d1 [7948] Use SetFaction instead explcit field set, other cleanups.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-06-03 15:35:33 +04:00
tomrus88
cffbb8661b Merge commit 'origin/master' into 310
Conflicts:
	src/game/Player.cpp
	src/game/SpellAuras.cpp
2009-06-02 15:01:26 +04:00
VladimirMangos
65657533ab [7941] Restore autocast pet spell state at load/resummon
* Revert partly "[7903] Load and save for pets only talents."
* Avoid use enum with bit size limit field (with unexpected work in cases use values negative for related biz size int type)
2009-06-02 11:26:55 +04:00
VladimirMangos
7d6bf1fdbf [7932] Store in DB only spell part of pet action bar, set other to default state (reaction saved). 2009-06-01 04:44:02 +04:00
tomrus88
cae3f0a532 Merge commit 'origin/master' into 310
Conflicts:
	src/game/SpellAuras.cpp
2009-05-31 12:16:25 +04:00
VladimirMangos
2a27a44e2a [7918] Improve portability in work with uint64 string format specifiers and in code literals.
* Replace platform seelction MaNGOS code for select format descriptor for uint64 by using ACE define.
  I64FMTD renamed to UI64FMTD for more clear name.
* Add new define UI64LIT (base at ACE seelction) for build portables uint64 literals.
  Please always use UI64LIT(0x00001) instead less portable 0x00001LL
2009-05-30 22:44:20 +04:00
tomrus88
84ed071e16 Merged and fixed some whitespaces. 2009-05-29 10:40:13 +04:00
VladimirMangos
b83f32fc19 [7905] Implement ACTION_T_SET_SHEATH for creature event ai make possibility set ranged fire state.
Also related cleanup code in field cases and player Player::SetSheath.
2009-05-29 01:05:39 +04:00
tomrus88
f6e2b55e2c Merge branch 'master' into 310
Conflicts:
	src/game/Player.cpp
2009-05-28 10:16:02 +04:00
VladimirMangos
0614a9eb75 [7903] Load and save for pets only talents. Not store unused (in fact) free talent point amount.
* Other pet spell types auto-learned at level setup/load.
* Code will cleanup pet_spell table from non-talents spell if detect any at load.
* Free talents points recalculated at loading and levelup so store its in DB useless.

Note: bug with not highlighting learned pet talents (except first line) until learn one more talent not fixed.
2009-05-28 03:36:28 +04:00
VladimirMangos
4d8adefe70 [7901] Refactoting pet action bar related code. Fixed some related bugs.
* Correctly update action bar at loading and other cases when listed unlearned/not existed spells
* Avoid send data by PetSpellInitialize() many times while pet loading
2009-05-27 19:43:57 +04:00
tomrus88
afd82229d7 Merge commit 'origin/master' into 310
Conflicts:
	src/game/SpellAuras.cpp
	src/game/SpellEffects.cpp
2009-05-24 10:11:26 +04:00
VladimirMangos
c56ef09fa3 [7887] Drop pet spell teaching code, including field in character_pet. 2009-05-24 07:20:13 +04:00
VladimirMangos
8171bb57dd [7886] Drop use table petcreateinfo_spell
This is first commit in chain for remove oudated and not used pet functionality.

* Use instead dropped table CreatureSpellData.dbc if creature_template.PetSpellDataId set (mostly hunter pets)
* Use creature_template.spellN if not set creature_template.PetSpellDataId (mostly different summon creatures)
* Fixed bug with not removing from action bar spell icon for not ranked unlearned spells.

Note: summoned controllable creatures without PetSpellDataId must have expected spells in spellN feilds for creature_template.
2009-05-24 06:39:29 +04:00
VladimirMangos
f72a8bc6dc Merge commit 'origin/master' into 310 2009-05-23 01:55:33 +04:00
VladimirMangos
bc4611e8c0 [7877] Correctly set totem PvP state at loading and owner PvP state change, including GM totem case.
* Also set PvP state in proper way at pet loading if owner in PvP state.
2009-05-23 00:37:49 +04:00
tomrus88
ebb03b7b9f Merge commit 'origin/master' into 310
Hope it works with live 3.1.2.9901 client
2009-05-20 10:53:55 +04:00
Naicisum
53699e1aa3 [7840] Fixed unexpected rounding in pet size scale calculation.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-05-17 19:04:27 +04:00
VladimirMangos
122c9c5785 [7838] More fixes in pet's levelup spells.
* Fixed not updating levelup spells at warlock pet summon firsy time (overwriting by default original ranks in fact)
* Correctly upgrade/doungrade spell ranks in action bar.
* Fixed spell learning spam at warlock pet re-summon in some cases.

TODO: currently (before this commit and in it) PetSpellInitialize() called too oftern. Maybe possible cache update flag and do it one time somewhere in Pet::Update....
2009-05-16 17:15:45 +04:00
tomrus88
6734694a90 Merge commit 'origin/master' into 310
Conflicts:
	src/game/Player.cpp
2009-05-16 00:47:37 +04:00
VladimirMangos
7a7ee86f97 [7835] Store structures (with size = uint32) insteed pointer to structure in PetSpellMap. 2009-05-15 17:22:44 +04:00
VladimirMangos
a1f4549862 [7833] Implement levelup spells for non-hunter pets.
* Use less hacky way to prepare data in SpellMgr::LoadPetLevelupSpellMap.
* Fill data for all pet families including not hunter pets.
* Fixed bug with lost/unexpected learned spells for some hunter pet families.

Use less hackky way for
2009-05-15 06:26:19 +04:00
VladimirMangos
e134b5383b [7831] Prevent have hunter pet with level greater player levels at level changes. Propertly set hunter pet xp values at level update. 2009-05-15 05:33:46 +04:00
tomrus88
c9f5062955 Merge commit 'origin/master' into 310 2009-05-08 15:31:27 +04:00
Astellar
55392c3417 [7794] Add DK pet type support for proper show it in client Pet tab.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-05-07 13:19:49 +04:00
tomrus88
6821c24268 Merge commit 'origin/master' into 310
Conflicts:
	src/game/Player.cpp
2009-05-06 09:40:35 +04:00
Astellar
7355eb2f52 [7785] Allow regenerate energy for pets if this current power type.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-05-06 07:30:08 +04:00