diff options
author | STRWarrior <niels.breuker@hotmail.nl> | 2013-11-10 20:12:30 +0100 |
---|---|---|
committer | STRWarrior <niels.breuker@hotmail.nl> | 2013-11-10 20:12:30 +0100 |
commit | e62858ec3d027de8c5c4605913ab6261ec19d624 (patch) | |
tree | d1e3427af68ac13f35af69bf53bff2005a21e664 /source/Mobs/Wolf.cpp | |
parent | The owner object isn't stored anymore. Instead we use the name of the player. (diff) | |
download | cuberite-e62858ec3d027de8c5c4605913ab6261ec19d624.tar cuberite-e62858ec3d027de8c5c4605913ab6261ec19d624.tar.gz cuberite-e62858ec3d027de8c5c4605913ab6261ec19d624.tar.bz2 cuberite-e62858ec3d027de8c5c4605913ab6261ec19d624.tar.lz cuberite-e62858ec3d027de8c5c4605913ab6261ec19d624.tar.xz cuberite-e62858ec3d027de8c5c4605913ab6261ec19d624.tar.zst cuberite-e62858ec3d027de8c5c4605913ab6261ec19d624.zip |
Diffstat (limited to 'source/Mobs/Wolf.cpp')
-rw-r--r-- | source/Mobs/Wolf.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/source/Mobs/Wolf.cpp b/source/Mobs/Wolf.cpp index 6d1c5565c..9880a3442 100644 --- a/source/Mobs/Wolf.cpp +++ b/source/Mobs/Wolf.cpp @@ -16,7 +16,8 @@ cWolf::cWolf(void) : m_bIsTame(false), m_bIsSitting(false), m_bIsBegging(false), - m_bOwner("") + m_bOwner(""), + m_bCollar(14) { } @@ -66,7 +67,15 @@ void cWolf::OnRightClicked(cPlayer & a_Player) { if (a_Player.GetName() == m_bOwner) // Is the player the owner of the dog? { - if (IsSitting()) + if (a_Player.GetEquippedItem().m_ItemType == E_ITEM_DYE) + { + m_bCollar = 15 - a_Player.GetEquippedItem().m_ItemDamage; + if (!a_Player.IsGameModeCreative()) + { + a_Player.GetInventory().RemoveOneEquippedItem(); + } + } + else if (IsSitting()) { SetIsSitting(false); } @@ -144,7 +153,7 @@ void cWolf::Tick(float a_Dt, cChunk & a_Chunk) Vector3f OwnerCoords; } ; cCallback Callback; - m_World->FindAndDoWithPlayer(m_bOwner, Callback); + m_World->DoWithPlayer(m_bOwner, Callback); Vector3f OwnerCoords = Callback.OwnerCoords; if (IsTame()) |