- msg = malloc(strlen(hit_dsc) + strlen(monster_dsc) + 3);
- sprintf(msg, "\n%s%s.", hit_dsc, monster_dsc);
- update_log(world, msg);
- free(msg);
- struct MonsterDef * md = (struct MonsterDef * ) mod;
- struct Item * corpse = malloc(sizeof(struct Item));
- corpse->map_obj.type = md->corpse_id;
- corpse->map_obj.pos = monster->map_obj.pos;
- corpse->map_obj.next = world->item;
- world->item = corpse;
- if (world->monster == monster)
- {
- world->monster = world->monster->map_obj.next;
- }
- else
- {
- struct Monster * m_prev;
- for (m_prev = world->monster;
- m_prev->map_obj.next != monster;
- m_prev = m_prev->map_obj.next);
- {
- m_prev->map_obj.next = monster->map_obj.next;
- }
- }
- uint8_t score = md->hitpoints_start;
+ char kill_msg[strlen(hit_dsc) + strlen(monster_dsc) + 3];
+ sprintf(kill_msg, "\n%s%s.", hit_dsc, monster_dsc);
+ update_log(world, kill_msg);
+ struct MapObjDef * md = mod;
+ monster->type = md->corpse_id;
+ uint8_t score = md->lifepoints;