summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2013-12-26 16:03:59 +0100
committerMattes D <github@xoft.cz>2013-12-26 16:03:59 +0100
commit2450a3aee28d06b0d39262941f10272b408c037c (patch)
tree6875113e09d39729732b733ae53e220c155cf410
parentMerge pull request #472 from mc-server/Extreme_Hills_M (diff)
parentServer now handles death messages (diff)
downloadcuberite-2450a3aee28d06b0d39262941f10272b408c037c.tar
cuberite-2450a3aee28d06b0d39262941f10272b408c037c.tar.gz
cuberite-2450a3aee28d06b0d39262941f10272b408c037c.tar.bz2
cuberite-2450a3aee28d06b0d39262941f10272b408c037c.tar.lz
cuberite-2450a3aee28d06b0d39262941f10272b408c037c.tar.xz
cuberite-2450a3aee28d06b0d39262941f10272b408c037c.tar.zst
cuberite-2450a3aee28d06b0d39262941f10272b408c037c.zip
-rw-r--r--src/Entities/Player.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Entities/Player.cpp b/src/Entities/Player.cpp
index 0fa8254ce..67d5a47ef 100644
--- a/src/Entities/Player.cpp
+++ b/src/Entities/Player.cpp
@@ -820,6 +820,22 @@ void cPlayer::KilledBy(cEntity * a_Killer)
m_Inventory.Clear();
m_World->SpawnItemPickups(Pickups, GetPosX(), GetPosY(), GetPosZ(), 10);
SaveToDisk(); // Save it, yeah the world is a tough place !
+
+ if (a_Killer == NULL)
+ {
+ GetWorld()->BroadcastChat(Printf("%s[DEATH] %s%s was killed by environmental damage", cChatColor::Red.c_str(), cChatColor::White.c_str(), GetName().c_str()));
+ }
+ else if (a_Killer->IsPlayer())
+ {
+ GetWorld()->BroadcastChat(Printf("%s[DEATH] %s%s was killed by %s", cChatColor::Red.c_str(), cChatColor::White.c_str(), GetName().c_str(), ((cPlayer *)a_Killer)->GetName().c_str()));
+ }
+ else
+ {
+ AString KillerClass = a_Killer->GetClass();
+ KillerClass.erase(KillerClass.begin()); // Erase the 'c' of the class (e.g. "cWitch" -> "Witch")
+
+ GetWorld()->BroadcastChat(Printf("%s[DEATH] %s%s was killed by a %s", cChatColor::Red.c_str(), cChatColor::White.c_str(), GetName().c_str(), KillerClass.c_str()));
+ }
}