diff options
| author | Shauren <shauren.trinity@gmail.com> | 2012-08-07 17:45:10 +0200 | 
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2012-08-07 17:45:10 +0200 | 
| commit | f8cd39b2ed1056f409c2690ac8bb661fbcb68e18 (patch) | |
| tree | 6667b32a6e00d5616061245e5588341680429f4c /src/server/game/Spells/SpellEffects.cpp | |
| parent | 429130522e223c8a5cd80d6e23fda4cc30ce5132 (diff) | |
Core/Players: Improved alcohol handling, weeeeeeeeeeeeeeeee
Closes #7293
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
| -rwxr-xr-x | src/server/game/Spells/SpellEffects.cpp | 14 | 
1 files changed, 8 insertions, 6 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 484d03f1504..d30f6e593dd 100755 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -4772,16 +4772,18 @@ void Spell::EffectInebriate(SpellEffIndex /*effIndex*/)      if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)          return; -    Player* player = (Player*)unitTarget; -    uint16 currentDrunk = player->GetDrunkValue(); -    uint16 drunkMod = damage * 256; -    if (currentDrunk + drunkMod > 0xFFFF) +    Player* player = unitTarget->ToPlayer(); +    uint8 currentDrunk = player->GetDrunkValue(); +    uint8 drunkMod = damage; +    if (currentDrunk + drunkMod > 100)      { -        currentDrunk = 0xFFFF; -        player->CastSpell(player, 67468, false); +        currentDrunk = 100; +        if (rand_chance() < 25.0f) +            player->CastSpell(player, 67468, false);    // Drunken Vomit      }      else          currentDrunk += drunkMod; +      player->SetDrunkValue(currentDrunk, m_CastItem ? m_CastItem->GetEntry() : 0);  }  | 
