mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 07:37:01 +00:00
Merge commit 'origin/master' into 310
Conflicts: src/game/Player.cpp src/game/SpellAuras.cpp
This commit is contained in:
commit
cffbb8661b
44 changed files with 389 additions and 181 deletions
|
|
@ -633,7 +633,7 @@ bool Player::Create( uint32 guidlow, const std::string& name, uint8 race, uint8
|
|||
InitTaxiNodesForLevel();
|
||||
InitGlyphsForLevel();
|
||||
InitTalentForLevel();
|
||||
InitPrimaryProffesions(); // to max set before any spell added
|
||||
InitPrimaryProfessions(); // to max set before any spell added
|
||||
|
||||
// apply original stats mods before spell loading or item equipment that call before equip _RemoveStatsMods()
|
||||
UpdateMaxHealth(); // Update max Health (for add bonus from stamina)
|
||||
|
|
@ -2916,10 +2916,10 @@ bool Player::addSpell(uint32 spell_id, bool active, bool learning, bool dependen
|
|||
m_usedTalentCount += talentCost;
|
||||
|
||||
// update free primary prof.points (if any, can be none in case GM .learn prof. learning)
|
||||
if(uint32 freeProfs = GetFreePrimaryProffesionPoints())
|
||||
if(uint32 freeProfs = GetFreePrimaryProfessionPoints())
|
||||
{
|
||||
if(spellmgr.IsPrimaryProfessionFirstRankSpell(spell_id))
|
||||
SetFreePrimaryProffesions(freeProfs-1);
|
||||
SetFreePrimaryProfessions(freeProfs-1);
|
||||
}
|
||||
|
||||
// add dependent skills
|
||||
|
|
@ -3119,9 +3119,9 @@ void Player::removeSpell(uint32 spell_id, bool disabled, bool update_action_bar_
|
|||
// update free primary prof.points (if not overflow setting, can be in case GM use before .learn prof. learning)
|
||||
if(spellmgr.IsPrimaryProfessionFirstRankSpell(spell_id))
|
||||
{
|
||||
uint32 freeProfs = GetFreePrimaryProffesionPoints()+1;
|
||||
uint32 freeProfs = GetFreePrimaryProfessionPoints()+1;
|
||||
if(freeProfs <= sWorld.getConfig(CONFIG_MAX_PRIMARY_TRADE_SKILL))
|
||||
SetFreePrimaryProffesions(freeProfs);
|
||||
SetFreePrimaryProfessions(freeProfs);
|
||||
}
|
||||
|
||||
// remove dependent skill
|
||||
|
|
@ -3744,7 +3744,7 @@ TrainerSpellState Player::GetTrainerSpellState(TrainerSpell const* trainer_spell
|
|||
return TRAINER_SPELL_GREEN;
|
||||
|
||||
// check primary prof. limit
|
||||
if(spellmgr.IsPrimaryProfessionFirstRankSpell(spell->Id) && GetFreePrimaryProffesionPoints() == 0)
|
||||
if(spellmgr.IsPrimaryProfessionFirstRankSpell(spell->Id) && GetFreePrimaryProfessionPoints() == 0)
|
||||
return TRAINER_SPELL_GREEN_DISABLED;
|
||||
|
||||
return TRAINER_SPELL_GREEN;
|
||||
|
|
@ -13944,7 +13944,7 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder )
|
|||
return false;
|
||||
}
|
||||
|
||||
InitPrimaryProffesions(); // to max set before any spell loaded
|
||||
InitPrimaryProfessions(); // to max set before any spell loaded
|
||||
|
||||
// init saved position, and fix it later if problematic
|
||||
uint32 transGUID = fields[24].GetUInt32();
|
||||
|
|
@ -16352,7 +16352,7 @@ void Player::PetSpellInitialize()
|
|||
|
||||
CharmInfo *charmInfo = pet->GetCharmInfo();
|
||||
|
||||
WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*10+1+1);
|
||||
WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*MAX_UNIT_ACTION_BAR_INDEX+1+1);
|
||||
data << uint64(pet->GetGUID());
|
||||
data << uint16(pet->GetCreatureInfo()->family); // creature family (required for pet talents)
|
||||
data << uint32(0);
|
||||
|
|
@ -16426,7 +16426,7 @@ void Player::PossessSpellInitialize()
|
|||
return;
|
||||
}
|
||||
|
||||
WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*10+1+1);
|
||||
WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*MAX_UNIT_ACTION_BAR_INDEX+1+1);
|
||||
data << uint64(charm->GetGUID());
|
||||
data << uint16(0);
|
||||
data << uint32(0);
|
||||
|
|
@ -16470,7 +16470,7 @@ void Player::CharmSpellInitialize()
|
|||
}
|
||||
}
|
||||
|
||||
WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*10+1+4*addlist+1);
|
||||
WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*MAX_UNIT_ACTION_BAR_INDEX+1+4*addlist+1);
|
||||
data << uint64(charm->GetGUID());
|
||||
data << uint16(0);
|
||||
data << uint32(0);
|
||||
|
|
@ -17829,9 +17829,9 @@ template void Player::UpdateVisibilityOf(Corpse* target, UpdateData& data
|
|||
template void Player::UpdateVisibilityOf(GameObject* target, UpdateData& data, UpdateDataMapType& data_updates, std::set<WorldObject*>& visibleNow);
|
||||
template void Player::UpdateVisibilityOf(DynamicObject* target, UpdateData& data, UpdateDataMapType& data_updates, std::set<WorldObject*>& visibleNow);
|
||||
|
||||
void Player::InitPrimaryProffesions()
|
||||
void Player::InitPrimaryProfessions()
|
||||
{
|
||||
SetFreePrimaryProffesions(sWorld.getConfig(CONFIG_MAX_PRIMARY_TRADE_SKILL));
|
||||
SetFreePrimaryProfessions(sWorld.getConfig(CONFIG_MAX_PRIMARY_TRADE_SKILL));
|
||||
}
|
||||
|
||||
void Player::SendComboPoints()
|
||||
|
|
@ -19269,7 +19269,7 @@ void Player::EnterVehicle(Vehicle *vehicle)
|
|||
data << uint32(0); // fall time
|
||||
GetSession()->SendPacket(&data);
|
||||
|
||||
data.Initialize(SMSG_PET_SPELLS, 8+2+4+4+4*10+1+1);
|
||||
data.Initialize(SMSG_PET_SPELLS, 8+2+4+4+4*MAX_UNIT_ACTION_BAR_INDEX+1+1);
|
||||
data << uint64(vehicle->GetGUID());
|
||||
data << uint16(0);
|
||||
data << uint32(0);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue