- hit_desc = "You kill the ";
- msg = malloc(strlen(hit_desc) + strlen(monster_desc) + 3);
- sprintf(msg, "\n%s%s.", hit_desc, monster_desc);
- update_log(world, msg);
- free(msg);
+ hit_dsc = "You kill the ";
+ 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 MonsterDef * md = (struct MonsterDef * ) mod;
+ struct Item * corpse = try_malloc(sizeof(struct Item), world, f_name);
+ corpse->map_obj.type = md->corpse_id;
+ corpse->map_obj.pos = monster->map_obj.pos;
+ corpse->map_obj.next = world->item;
+ world->item = corpse;