aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/LootHandler.cpp4
-rw-r--r--src/game/Spell.cpp8
2 files changed, 12 insertions, 0 deletions
diff --git a/src/game/LootHandler.cpp b/src/game/LootHandler.cpp
index 172a6ef46c2..6b5f22b6a6b 100644
--- a/src/game/LootHandler.cpp
+++ b/src/game/LootHandler.cpp
@@ -259,6 +259,10 @@ void WorldSession::HandleLootOpcode( WorldPacket & recv_data )
uint64 guid;
recv_data >> guid;
+ // Check possible cheat
+ if(!_player->isAlive())
+ return;
+
GetPlayer()->SendLoot(guid, LOOT_CORPSE);
}
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 610e6af6b06..84bd533a406 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -4713,6 +4713,14 @@ SpellCastResult Spell::CheckCast(bool strict)
break;
}
+ case SPELL_EFFECT_APPLY_GLYPH:
+ {
+ uint32 glyphId = m_spellInfo->EffectMiscValue[i];
+ if(GlyphPropertiesEntry const *gp = sGlyphPropertiesStore.LookupEntry(glyphId))
+ if(m_caster->HasAura(gp->SpellId))
+ return SPELL_FAILED_UNIQUE_GLYPH;
+ break;
+ }
case SPELL_EFFECT_FEED_PET:
{
if (m_caster->GetTypeId() != TYPEID_PLAYER)