Skip to content
Snippets Groups Projects
Commit c3579851 authored by Perttu Ahola's avatar Perttu Ahola
Browse files

Make hitting players make a visual damage flash to the player texture and the...

Make hitting players make a visual damage flash to the player texture and the screen of the local player
parent ae2b7f95
Branches
Tags
No related merge requests found
......@@ -2274,6 +2274,13 @@ class PlayerCAO : public ClientActiveObject
{
pos_translator.translate(dtime);
updateNodePos();
if(m_damage_visual_timer > 0){
m_damage_visual_timer -= dtime;
if(m_damage_visual_timer <= 0){
updateTextures("");
}
}
}
void processMessage(const std::string &data)
......@@ -2293,6 +2300,17 @@ class PlayerCAO : public ClientActiveObject
updateNodePos();
}
else if(cmd == 1) // punched
{
// damage
s16 damage = readS16(is);
if(m_is_local_player)
m_env->damageLocalPlayer(damage, false);
m_damage_visual_timer = 0.5;
updateTextures("^[brighten");
}
}
void updateTextures(const std::string &mod)
......@@ -2318,12 +2336,6 @@ class PlayerCAO : public ClientActiveObject
}
}
}
bool directReportPunch(const std::string &toolname, v3f dir)
{
updateTextures("^[brighten");
return false;
}
};
// Prototype
......
......@@ -151,10 +151,19 @@ void ServerRemotePlayer::punch(ServerActiveObject *puncher,
HittingProperties hitprop = getHittingProperties(&mp, &tp,
time_from_last_punch);
infostream<<"1. getHP()="<<getHP()<<std::endl;
setHP(getHP() - hitprop.hp);
infostream<<"2. getHP()="<<getHP()<<std::endl;
puncher->damageWieldedItem(hitprop.wear);
{
std::ostringstream os(std::ios::binary);
// command (1 = punched)
writeU8(os, 1);
// damage
writeS16(os, hitprop.hp);
// create message and add to list
ActiveObjectMessage aom(getId(), false, os.str());
m_messages_out.push_back(aom);
}
}
void ServerRemotePlayer::rightClick(ServerActiveObject *clicker)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment