- memset(dmess, 0, sizeof(dmess));
- eff -= dam;
- if (eff < 0)
- eff = 0;
- if (eff < PLANE_MINEFF) {
- sprintf(dmess, " -- shot down");
- disp = 1;
- } else if (eff < 80 && chance((80 - eff) / 100.0)) {
- sprintf(dmess, " -- aborted @%d%%", eff);
- disp = 2;
- }
- PR(plane_owner, " Flak! %s %s takes %d%s.\n",
- cname(pp->pln_own), prplane(pp), dam, dmess);
-
- pp->pln_effic = eff;
- pp->pln_mobil -= MIN(32 + pp->pln_mobil, dam / 2);
- if (disp == 1) {
- if (from != 0)
- nreport(from, N_DOWN_PLANE, pp->pln_own, 1);
- }
- putplane(pp->pln_uid, pp);
+ disp = ac_damage_plane(pp, from, dam, 1, dmess);
+ PR(pp->pln_own, " Flak! %s %s takes %d%s%s.\n",
+ cname(pp->pln_own), prplane(pp), dam, *dmess ? " --" : "", dmess);