MCPcopy Create free account
hub / github.com/diasurgical/devilution / On_PLRDAMAGE

Function On_PLRDAMAGE

Source/msg.cpp:2165–2186  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2163}
2164
2165DWORD On_PLRDAMAGE(TCmd *pCmd, int pnum)
2166{
2167 TCmdDamage *p = (TCmdDamage *)pCmd;
2168
2169 if (p->bPlr == myplr && currlevel != 0) {
2170 if (gbBufferMsgs != 1 && currlevel == plr[pnum].plrlevel && p->dwDam <= 192000) {
2171 if ((plr[myplr]._pHitPoints >> 6) > 0) {
2172 drawhpflag = TRUE;
2173 plr[myplr]._pHitPoints -= p->dwDam;
2174 plr[myplr]._pHPBase -= p->dwDam;
2175 if (plr[myplr]._pHitPoints > plr[myplr]._pMaxHP) {
2176 plr[myplr]._pHitPoints = plr[myplr]._pMaxHP;
2177 plr[myplr]._pHPBase = plr[myplr]._pMaxHPBase;
2178 }
2179 if ((plr[myplr]._pHitPoints >> 6) <= 0)
2180 SyncPlrKill(myplr, 1);
2181 }
2182 }
2183 }
2184
2185 return sizeof(*p);
2186}
2187
2188DWORD On_OPENDOOR(TCmd *pCmd, int pnum)
2189{

Callers 1

ParseCmdFunction · 0.85

Calls 1

SyncPlrKillFunction · 0.85

Tested by

no test coverage detected