+ monster->hitpoints--;
+ if (0 == monster->hitpoints) {
+ update_log (world, "\nYou kill the monster.");
+ if (world->monster == monster)
+ world->monster = world->monster->cmo.next;
+ else {
+ struct Monster * m_prev;
+ for (m_prev = world->monster; m_prev->cmo.next != monster; m_prev = m_prev->cmo.next);
+ m_prev->cmo.next = monster->cmo.next; }
+ free(monster); }