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

Function On_MONSTDAMAGE

Source/msg.cpp:2129–2149  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2127}
2128
2129DWORD On_MONSTDAMAGE(TCmd *pCmd, int pnum)
2130{
2131 TCmdParam2 *p = (TCmdParam2 *)pCmd;
2132
2133 if (gbBufferMsgs == 1)
2134 msg_send_packet(pnum, p, sizeof(*p));
2135 else if (pnum != myplr) {
2136 if (currlevel == plr[pnum].plrlevel) {
2137 monster[p->wParam1].mWhoHit |= 1 << pnum;
2138
2139 if (monster[p->wParam1]._mhitpoints) {
2140 monster[p->wParam1]._mhitpoints -= p->wParam2;
2141 if ((monster[p->wParam1]._mhitpoints >> 6) < 1)
2142 monster[p->wParam1]._mhitpoints = 1 << 6;
2143 delta_monster_hp(p->wParam1, monster[p->wParam1]._mhitpoints, plr[pnum].plrlevel);
2144 }
2145 }
2146 }
2147
2148 return sizeof(*p);
2149}
2150
2151DWORD On_PLRDEAD(TCmd *pCmd, int pnum)
2152{

Callers 1

ParseCmdFunction · 0.85

Calls 2

msg_send_packetFunction · 0.85
delta_monster_hpFunction · 0.85

Tested by

no test coverage detected