diff options
| author | Shauren <shauren.trinity@gmail.com> | 2014-09-12 20:26:46 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2014-09-12 20:26:46 +0200 |
| commit | 7f2cdfd166d99efdd308f0b4d195a6b972092dd9 (patch) | |
| tree | 8871e168077155d8daabca787b223940f8774af9 /src/server/game/Entities | |
| parent | be8111b0a21308e78435e9bc20bbbb2804d51c78 (diff) | |
| parent | 6dff6b74256748f182ad65634a1ab16c5989d40e (diff) | |
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/authserver/Main.cpp
src/server/authserver/Server/AuthSession.cpp
src/server/authserver/Server/AuthSession.h
src/server/game/Server/WorldSocket.cpp
src/server/game/Server/WorldSocket.h
src/server/scripts/World/npcs_special.cpp
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 7 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 6 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index ee8fee198bf..bab96b15292 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -3878,7 +3878,8 @@ bool Player::AddSpell(uint32 spellId, bool active, bool learning, bool dependent if (!pSkill) continue; - if (_spell_idx->second->AutolearnType == SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN && !HasSkill(pSkill->id)) + ///@todo: confirm if rogues start with lockpicking skill at level 1 but only receive the spell to use it at level 16 + if ((_spell_idx->second->AutolearnType == SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN && !HasSkill(pSkill->id)) || (pSkill->id == SKILL_LOCKPICKING && _spell_idx->second->max_value == 0)) LearnDefaultSkill(pSkill->id, 0); } } @@ -17943,6 +17944,7 @@ bool Player::isAllowedToLoot(const Creature* creature) switch (thisGroup->GetLootMethod()) { + case MASTER_LOOT: case FREE_FOR_ALL: return true; case ROUND_ROBIN: @@ -17952,7 +17954,6 @@ bool Player::isAllowedToLoot(const Creature* creature) return true; return loot->hasItemFor(this); - case MASTER_LOOT: case GROUP_LOOT: case NEED_BEFORE_GREED: // may only loot if the player is the loot roundrobin player @@ -23664,6 +23665,8 @@ void Player::LearnDefaultSkill(uint32 skillId, uint16 rank) skillValue = std::min(std::max<uint16>({ 1, uint16((getLevel() - 1) * 5) }), maxValue); else if (skillId == SKILL_FIST_WEAPONS) skillValue = std::max<uint16>(1, GetSkillValue(SKILL_UNARMED)); + else if (skillId == SKILL_LOCKPICKING) + skillValue = std::max<uint16>(1, GetSkillValue(SKILL_LOCKPICKING)); SetSkill(skillId, 0, skillValue, maxValue); break; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index f6615d67c99..6f37f74b607 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -14108,7 +14108,8 @@ void Unit::SetFeared(bool apply) } if (Player* player = ToPlayer()) - player->SetClientControl(this, !apply); + if(!player->HasUnitState(UNIT_STATE_POSSESSED)) + player->SetClientControl(this, !apply); } void Unit::SetConfused(bool apply) @@ -14130,7 +14131,8 @@ void Unit::SetConfused(bool apply) } if (Player* player = ToPlayer()) - player->SetClientControl(this, !apply); + if (!player->HasUnitState(UNIT_STATE_POSSESSED)) + player->SetClientControl(this, !apply); } bool Unit::SetCharmedBy(Unit* charmer, CharmType type, AuraApplication const* aurApp) |
