mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-08-20 09:57:09 +00:00
Fix
This commit is contained in:
parent
1036b7368e
commit
3896c7d8a0
|
|
@ -223,6 +223,8 @@ const WCHAR *ConsoleSoundEngine::wchSoundNames[eSoundType_MAX]=
|
||||||
// 4J-PB - Some sounds were updated, but we can't do that for the 360 or we have to do a new sound bank
|
// 4J-PB - Some sounds were updated, but we can't do that for the 360 or we have to do a new sound bank
|
||||||
// instead, we'll add the sounds as new ones and change the code to reference them
|
// instead, we'll add the sounds as new ones and change the code to reference them
|
||||||
L"fire.new_ignite",
|
L"fire.new_ignite",
|
||||||
|
|
||||||
|
L"damage.critical", //eSoundType_DAMAGE_CRITICAL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define VER_PRODUCTBUILD 560
|
#define VER_PRODUCTBUILD 560
|
||||||
#define VER_PRODUCTVERSION_STR_W L"DEV (unknown version)"
|
#define VER_PRODUCTVERSION_STR_W L""
|
||||||
#define VER_FILEVERSION_STR_W VER_PRODUCTVERSION_STR_W
|
#define VER_FILEVERSION_STR_W VER_PRODUCTVERSION_STR_W
|
||||||
#define VER_BRANCHVERSION_STR_W L"UNKNOWN BRANCH"
|
#define VER_BRANCHVERSION_STR_W L"UNKNOWN/"
|
||||||
#define VER_NETWORK VER_PRODUCTBUILD
|
#define VER_NETWORK VER_PRODUCTBUILD
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -124,6 +124,7 @@ DamageSource::DamageSource(ChatPacket::EChatPacketMessage msgId, ChatPacket::ECh
|
||||||
_isProjectile = false;
|
_isProjectile = false;
|
||||||
_isMagic = false;
|
_isMagic = false;
|
||||||
_isExplosion = false;
|
_isExplosion = false;
|
||||||
|
_isCritical = false;
|
||||||
|
|
||||||
//this->msgId = msgId;
|
//this->msgId = msgId;
|
||||||
m_msgId = msgId;
|
m_msgId = msgId;
|
||||||
|
|
@ -153,7 +154,15 @@ DamageSource *DamageSource::bypassInvul()
|
||||||
_bypassInvul = true;
|
_bypassInvul = true;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
bool DamageSource::isCritical()
|
||||||
|
{
|
||||||
|
return _isCritical;
|
||||||
|
}
|
||||||
|
DamageSource *DamageSource::setIsCritical()
|
||||||
|
{
|
||||||
|
_isCritical = true;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
DamageSource *DamageSource::setIsFire()
|
DamageSource *DamageSource::setIsFire()
|
||||||
{
|
{
|
||||||
isFireSource = true;
|
isFireSource = true;
|
||||||
|
|
|
||||||
|
|
@ -47,8 +47,11 @@ private:
|
||||||
bool _scalesWithDifficulty;
|
bool _scalesWithDifficulty;
|
||||||
bool _isMagic;
|
bool _isMagic;
|
||||||
bool _isExplosion;
|
bool _isExplosion;
|
||||||
|
bool _isCritical;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
bool isCritical();
|
||||||
|
DamageSource *setIsCritical();
|
||||||
bool isProjectile();
|
bool isProjectile();
|
||||||
DamageSource *setProjectile();
|
DamageSource *setProjectile();
|
||||||
bool isExplosion();
|
bool isExplosion();
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ class EntityEvent
|
||||||
public:
|
public:
|
||||||
static const BYTE JUMP = 1;
|
static const BYTE JUMP = 1;
|
||||||
static const BYTE HURT = 2;
|
static const BYTE HURT = 2;
|
||||||
|
//New
|
||||||
|
static const BYTE HURT_CRITICAL = 19;
|
||||||
static const BYTE DEATH = 3;
|
static const BYTE DEATH = 3;
|
||||||
static const BYTE START_ATTACKING = 4;
|
static const BYTE START_ATTACKING = 4;
|
||||||
static const BYTE STOP_ATTACKING = 5;
|
static const BYTE STOP_ATTACKING = 5;
|
||||||
|
|
|
||||||
|
|
@ -831,7 +831,12 @@ bool LivingEntity::hurt(DamageSource *source, float dmg)
|
||||||
|
|
||||||
if (sound)
|
if (sound)
|
||||||
{
|
{
|
||||||
level->broadcastEntityEvent(shared_from_this(), EntityEvent::HURT);
|
if (source->isCritical()) {
|
||||||
|
level->broadcastEntityEvent(shared_from_this(), EntityEvent::HURT_CRITICAL);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
level->broadcastEntityEvent(shared_from_this(), EntityEvent::HURT);
|
||||||
|
}
|
||||||
if (source != DamageSource::drown) markHurt();
|
if (source != DamageSource::drown) markHurt();
|
||||||
if (sourceEntity != nullptr)
|
if (sourceEntity != nullptr)
|
||||||
{
|
{
|
||||||
|
|
@ -859,7 +864,10 @@ bool LivingEntity::hurt(DamageSource *source, float dmg)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (sound) playSound(getHurtSound(), getSoundVolume(), getVoicePitch());
|
if (sound) {
|
||||||
|
if (source->isCritical()) playSound(getCriticalSound(), getSoundVolume(), getVoicePitch());
|
||||||
|
playSound(getHurtSound(), getSoundVolume(), getVoicePitch());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
MemSect(0);
|
MemSect(0);
|
||||||
|
|
||||||
|
|
@ -959,7 +967,10 @@ int LivingEntity::getHurtSound()
|
||||||
{
|
{
|
||||||
return eSoundType_DAMAGE_HURT;
|
return eSoundType_DAMAGE_HURT;
|
||||||
}
|
}
|
||||||
|
int LivingEntity::getCriticalSound()
|
||||||
|
{
|
||||||
|
return eSoundType_DAMAGE_CRITICAL;
|
||||||
|
}
|
||||||
int LivingEntity::getDeathSound()
|
int LivingEntity::getDeathSound()
|
||||||
{
|
{
|
||||||
return eSoundType_DAMAGE_HURT;
|
return eSoundType_DAMAGE_HURT;
|
||||||
|
|
@ -1181,7 +1192,8 @@ void LivingEntity::swing()
|
||||||
|
|
||||||
void LivingEntity::handleEntityEvent(byte id)
|
void LivingEntity::handleEntityEvent(byte id)
|
||||||
{
|
{
|
||||||
if (id == EntityEvent::HURT)
|
//These gotta be in parentheses
|
||||||
|
if ((id == EntityEvent::HURT) || (id == EntityEvent::HURT_CRITICAL))
|
||||||
{
|
{
|
||||||
walkAnimSpeed = 1.5f;
|
walkAnimSpeed = 1.5f;
|
||||||
|
|
||||||
|
|
@ -1191,11 +1203,16 @@ void LivingEntity::handleEntityEvent(byte id)
|
||||||
|
|
||||||
MemSect(31);
|
MemSect(31);
|
||||||
// 4J-PB -added because villagers have no sounds
|
// 4J-PB -added because villagers have no sounds
|
||||||
int iHurtSound=getHurtSound();
|
int iHurtSound = getHurtSound();
|
||||||
|
int iCritSound = getCriticalSound();
|
||||||
if(iHurtSound!=-1)
|
if(iHurtSound!=-1)
|
||||||
{
|
{
|
||||||
playSound(iHurtSound, getSoundVolume(), (random->nextFloat() - random->nextFloat()) * 0.2f + 1.0f);
|
playSound(iHurtSound, getSoundVolume(), (random->nextFloat() - random->nextFloat()) * 0.2f + 1.0f);
|
||||||
}
|
}
|
||||||
|
if(iCritSound!=-1 && id == EntityEvent::HURT_CRITICAL)
|
||||||
|
{
|
||||||
|
playSound(iCritSound, getSoundVolume(), (random->nextFloat() - random->nextFloat()) * 0.2f + 1.0f);
|
||||||
|
}
|
||||||
MemSect(0);
|
MemSect(0);
|
||||||
hurt(DamageSource::genericSource, 0);
|
hurt(DamageSource::genericSource, 0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -185,6 +185,7 @@ public:
|
||||||
virtual void knockback(shared_ptr<Entity> source, float dmg, double xd, double zd);
|
virtual void knockback(shared_ptr<Entity> source, float dmg, double xd, double zd);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
virtual int getCriticalSound();
|
||||||
virtual int getHurtSound();
|
virtual int getHurtSound();
|
||||||
virtual int getDeathSound();
|
virtual int getDeathSound();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1631,6 +1631,10 @@ void Player::attack(shared_ptr<Entity> entity)
|
||||||
}
|
}
|
||||||
|
|
||||||
DamageSource *damageSource = DamageSource::playerAttack(dynamic_pointer_cast<Player>(shared_from_this()));
|
DamageSource *damageSource = DamageSource::playerAttack(dynamic_pointer_cast<Player>(shared_from_this()));
|
||||||
|
|
||||||
|
if (bCrit) {
|
||||||
|
damageSource->setIsCritical();
|
||||||
|
}
|
||||||
bool wasHurt = entity->hurt(damageSource, dmg);
|
bool wasHurt = entity->hurt(damageSource, dmg);
|
||||||
delete damageSource;
|
delete damageSource;
|
||||||
if (wasHurt)
|
if (wasHurt)
|
||||||
|
|
|
||||||
|
|
@ -213,6 +213,8 @@ enum eSOUND_TYPE
|
||||||
|
|
||||||
eSoundType_FIRE_NEWIGNITE,
|
eSoundType_FIRE_NEWIGNITE,
|
||||||
|
|
||||||
|
eSoundType_DAMAGE_CRITICAL,
|
||||||
|
|
||||||
eSoundType_MAX
|
eSoundType_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue