Commit graph

121 commits

Author SHA1 Message Date
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
tomrus88
395670f05a Added missing talent points update at player/pet level change. 2009-05-05 17:25:52 +04:00
Az@zel
53967893be [7752] Correctly restore autocast state for spells at spell loading.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-05-04 05:42:19 +04:00
VladimirMangos
4561dec27e [7751] Use more safe code to prevent DB errors at pet spells save and avoid unneded data save. 2009-05-04 04:55:55 +04:00
AlexDereka
27fabf7ace [7745] Fixed gcc warnings. 2009-05-03 20:25:27 +04:00
zhenya
8144f30199 [7730] Some optimizantion and code style.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-04-29 01:05:21 +04:00
AlexDereka
c9d51a6dc7 [7716] Fixed some typos and possible crashes. 2009-04-26 18:49:07 +04:00
VladimirMangos
c64bbffdd1 [7646] Revert one wrongly added line in prev commit. 2009-04-11 08:59:02 +04:00
VladimirMangos
eb198f8239 [7645] Fixed problems wit temporary unsummoned pets and cleanup code.
* Save temporary unsummoned pet to current slot (instead non_in_slot mode) and
  prevent save as current pet summoned while temporay unsummon (arena)
* Prevent overwrite temporary summoned pet data
* At player loading set temporary unsummoned pet data instead pet loading
  if pet expected to be temporary unsummoned in current player state (loading in taxi flight/etc)
* Restore proper pet at arena leave and unsummon in arena summoned.
2009-04-11 08:46:48 +04:00
VladimirMangos
263bf2ab22 [7644] Fixed pet slot values using in pet save.
Problem exist from client version switch when stable slot amount changed.
In result this has been source problems with stable use (3-4 slots) and possible pet lost in some cases
or "not save state" for summoned pets.
Use enums to avoid repeating problem, use more safe value for not-in-slot save (for summoned pets)
Fixed data preparing for MSG_LIST_STABLED_PETS.
2009-04-10 09:02:04 +04:00
VladimirMangos
2dd36d688f [7558] Implement command: .learn all_mypettalents
Also output more correct messages at use .reset talents to pet
2009-03-28 03:28:08 +03:00
VladimirMangos
695ceabe3e [7509] Use defines instead explcit value for talent rank cound (in general and for pets) 2009-03-21 20:14:30 +03:00
AlexDereka
8a5e4706bc [7506] Remove dual ERROR in logs 2009-03-21 11:47:57 +03:00
VladimirMangos
0e987bf59e [7467] Use SpellCastResult and replace CanCast by CheckCast.
Note: proper way to check: if(spell->CheckCast(...)==SPELL_CAST_OK)
2009-03-16 13:17:44 +03:00
balrok
54f2dbefa0 [7403] much more unneeded includes removed
now i extended my script:
NAME="Chat"; ack -c $NAME | ack ":1$" | sed 's/:1//' | xargs /usr/bin/ack-grep -l "include \""$NAME".h\"" | xargs /bin/sed -i '/include "'$NAME'.h"/d'

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-03-08 02:22:17 +03:00
VladimirMangos
2b9eeb782e [7362] Use IN_MILISECONDS where appropriate, other cleanups. 2009-03-01 05:22:56 +03:00
VladimirMangos
63b8d1f537 [7259] Prevent memory lost at pet spell reset. 2009-02-10 06:15:05 +03:00
VladimirMangos
aa24bd836e [7207] Phase system development continue for DB/in_game objects
* Store phase mask for creatures/gameobjects/corpse in DB
* Propertly set phase for summoned creatures/gameobjects/pets/corpses/spell related dynobjects
* Select proper phase for spawned creature/gameobjects and save it in DB

TODO: in game commands.
2009-01-31 06:11:50 +03:00
ApoC
8275ff9a36 [7163] Pet constructor cleanup.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-01-24 20:44:10 +01:00
ApoC
302dc70eab [7162] Converted some uint16 spellid parameteres to uint32. It can provide little speedup.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-01-24 18:42:14 +01:00
VladimirMangos
bbf8fd0742 Not store dependent spells in character_spell
* Mark spells learned in result character creating, another spell learning, skill grow,
  quest reward as dependent and not store its in `character_spell`.
* Prevent re-learning known spell in expected state
* Prevent re-learning low rank spell as active if higher rank known.
* New type of non-stacked ranked spells check: skill dependent spell bonuses.
* Activate (show propetly and cast if need) lesser spell rank
  for non-stackable in spellbooks spells at unlearn high rank
2009-01-24 12:03:43 +03:00
seirge
7e76c7dff2 [7148] Fixed possible crash at clone creatures without family.
Signed-off-by: zhenya <zhenya@mangos.ru>

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-01-23 01:28:24 +03:00
DiSlord
921914f87e [7125] Work under pet talents
Coorrect update Talent Points on levelup / leveldown
Unlearn other ranks of learned talent
Fix typo in Pet::HasSpell (wrong result for removed spell)
Allow .reset talents reset pet talent
Implement SPELL_AURA_MOD_PET_TALENT_POINTS aura (hunter talent)
Only reset pet talent from trainer unlearn.

Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-21 00:31:19 +03:00
DiSlord
014ab283dd [7092] Work vs XP per level data
Add new table "player_xp_for_level" for this
Fill table data 1-79 level
Remove old code

Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-16 01:00:41 +03:00
VladimirMangos
e1a4ad241d [7059] Drop spell slot fields as unused for characters and pets.
Also temporary fix spell slot setting in 7047_01_characters_character_spell.sql
2009-01-09 22:31:06 +03:00
DiSlord
daf24ce90c [7029] Some work vs aura charges
Move to protected: need use SetAuraCharges, GetAuraCharges, DropAuraCharge
Now m_procCharges == 0 if infinite charges, and > 0 for limit
Remove not need UpdateAuraCharges()

Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-05 04:16:53 +03:00
arrai
c6f48843ad [7017] Updated copyright notice for new year 2009-01-03 18:09:51 +01:00
False.Genesis
82c94b4101 [6948] Fixed unattackable NPC summoned pets.
Not set player's pet only UNIT_FLAG_PVP_ATTACKABLE flag for creature's pets.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2008-12-26 15:18:10 +03:00
VladimirMangos
3488c1fee3 Prevent using loading pet from DB code for non-player pets. 2008-12-26 12:47:03 +03:00