diff options
author | n0n4m3 <none@none> | 2010-01-16 19:11:32 +0300 |
---|---|---|
committer | n0n4m3 <none@none> | 2010-01-16 19:11:32 +0300 |
commit | 706718b28c8f028d39ec3ca7d3bfefb9f9a62add (patch) | |
tree | 5d77bf0ad56126f028f4635096530112bd082b0a /src/game/Pet.cpp | |
parent | e031df23fc77716b9e4e10cf6084d1f60ffa11ef (diff) |
Fixed some problems with pets, port from tc1, by krz, thx Frankir.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Pet.cpp')
-rw-r--r-- | src/game/Pet.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp index 261eca21701..0819ee845e3 100644 --- a/src/game/Pet.cpp +++ b/src/game/Pet.cpp @@ -262,8 +262,13 @@ bool Pet::LoadPetFromDB( Player* owner, uint32 petentry, uint32 petnumber, bool { uint32 savedhealth = fields[10].GetUInt32(); uint32 savedmana = fields[11].GetUInt32(); - SetHealth(savedhealth > GetMaxHealth() ? GetMaxHealth() : savedhealth); - SetPower(POWER_MANA, savedmana > GetMaxPower(POWER_MANA) ? GetMaxPower(POWER_MANA) : savedmana); + if(!savedhealth && getPetType() == HUNTER_PET) + setDeathState(JUST_DIED); + else + { + SetHealth(savedhealth > GetMaxHealth() ? GetMaxHealth() : savedhealth); + SetPower(POWER_MANA, savedmana > GetMaxPower(POWER_MANA) ? GetMaxPower(POWER_MANA) : savedmana); + } } // set current pet as current @@ -433,7 +438,7 @@ void Pet::SavePetToDB(PetSaveMode mode) << uint32(mode) << ", '" << name.c_str() << "', " << uint32((GetByteValue(UNIT_FIELD_BYTES_2, 2) == UNIT_RENAME_ALLOWED)?0:1) << ", " - << (curhealth<1?1:curhealth) << ", " + << curhealth << ", " << curmana << ", " << GetPower(POWER_HAPPINESS) << ", '"; |