aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/EntityDamageSource.cpp
blob: 8c7a5ee18ff2668cefc8c3245bc2f2e80b762464 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "stdafx.h"
#include "net.minecraft.world.entity.player.h"
#include "net.minecraft.world.entity.h"
#include "net.minecraft.world.damagesource.h"
#include "net.minecraft.network.packet.h"

//EntityDamageSource::EntityDamageSource(const wstring &msgId, shared_ptr<Entity> entity) : DamageSource(msgId)
EntityDamageSource::EntityDamageSource(ChatPacket::EChatPacketMessage msgId, shared_ptr<Entity> entity) : DamageSource(msgId)
{
	this->entity = entity;
}

shared_ptr<Entity> EntityDamageSource::getEntity()
{
	return entity;
}

//wstring EntityDamageSource::getLocalizedDeathMessage(shared_ptr<Player> player)
//{
//	return L"death." + msgId + player->name + entity->getAName();
//	//return I18n.get("death." + msgId, player.name, entity.getAName());
//}

shared_ptr<ChatPacket> EntityDamageSource::getDeathMessagePacket(shared_ptr<Player> player)
{
	wstring additional = L"";
	if(entity->GetType() == eTYPE_SERVERPLAYER)
	{
		shared_ptr<Player> sourcePlayer = dynamic_pointer_cast<Player>(entity);
		if(sourcePlayer != NULL) additional = sourcePlayer->name;
	}
	return shared_ptr<ChatPacket>( new ChatPacket(player->name, m_msgId, entity->GetType(), additional ) );
}

bool EntityDamageSource::scalesWithDifficulty()
{
	return entity != NULL && dynamic_pointer_cast<Mob>(entity) && !(dynamic_pointer_cast<Player>(entity));
}