mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-23 20:53:39 +00:00
50 lines
1.5 KiB
C++
50 lines
1.5 KiB
C++
#include "../Platform/stdafx.h"
|
|
#include "../Headers/net.minecraft.world.damagesource.h"
|
|
#include "../Headers/net.minecraft.world.entity.h"
|
|
#include "BasicTypeContainers.h"
|
|
#include "CombatEntry.h"
|
|
|
|
CombatEntry::CombatEntry(DamageSource* source, int time, float health,
|
|
float damage, CombatTracker::eLOCATION location,
|
|
float fallDistance) {
|
|
this->source = NULL;
|
|
if (source != NULL) {
|
|
// 4J: this might actually be a derived damage source so use copy func
|
|
this->source = source->copy();
|
|
}
|
|
this->time = time;
|
|
this->damage = damage;
|
|
this->health = health;
|
|
this->location = location;
|
|
this->fallDistance = fallDistance;
|
|
}
|
|
|
|
CombatEntry::~CombatEntry() { delete source; }
|
|
|
|
DamageSource* CombatEntry::getSource() { return source; }
|
|
|
|
int CombatEntry::getTime() { return time; }
|
|
|
|
float CombatEntry::getDamage() { return damage; }
|
|
|
|
float CombatEntry::getHealthBeforeDamage() { return health; }
|
|
|
|
float CombatEntry::getHealthAfterDamage() { return health - damage; }
|
|
|
|
bool CombatEntry::isCombatRelated() {
|
|
return source->getEntity() &&
|
|
source->getEntity()->instanceof(eTYPE_LIVINGENTITY);
|
|
}
|
|
|
|
CombatTracker::eLOCATION CombatEntry::getLocation() { return location; }
|
|
|
|
std::wstring CombatEntry::getAttackerName() {
|
|
return getSource()->getEntity() == NULL
|
|
? L""
|
|
: getSource()->getEntity()->getNetworkName();
|
|
}
|
|
|
|
float CombatEntry::getFallDistance() {
|
|
if (source == DamageSource::outOfWorld) return Float::MAX_VALUE;
|
|
return fallDistance;
|
|
} |