Unify the ad type switches
This commit is contained in:
182
src/mhitm.c
182
src/mhitm.c
@@ -898,184 +898,10 @@ int dieroll;
|
||||
armpro = magic_negation(mdef);
|
||||
cancelled = magr->mcan || !(rn2(10) >= 3 * armpro);
|
||||
|
||||
switch (mattk->adtyp) {
|
||||
case AD_DGST:
|
||||
mhitm_ad_dgst(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_STUN:
|
||||
mhitm_ad_stun(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_LEGS:
|
||||
mhitm_ad_legs(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_WERE:
|
||||
mhitm_ad_were(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_HEAL:
|
||||
mhitm_ad_heal(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_PHYS:
|
||||
mhitm_ad_phys(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_FIRE:
|
||||
mhitm_ad_fire(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_COLD:
|
||||
mhitm_ad_cold(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_ELEC:
|
||||
mhitm_ad_elec(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_ACID:
|
||||
mhitm_ad_acid(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_RUST:
|
||||
mhitm_ad_rust(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_CORR:
|
||||
mhitm_ad_corr(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_DCAY:
|
||||
mhitm_ad_dcay(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_STON:
|
||||
mhitm_ad_ston(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_TLPT:
|
||||
mhitm_ad_tlpt(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_SLEE:
|
||||
mhitm_ad_slee(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_PLYS:
|
||||
mhitm_ad_plys(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_SLOW:
|
||||
mhitm_ad_slow(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_CONF:
|
||||
mhitm_ad_conf(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_BLND:
|
||||
mhitm_ad_blnd(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_HALU:
|
||||
mhitm_ad_halu(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_CURS:
|
||||
mhitm_ad_curs(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_SGLD:
|
||||
mhitm_ad_sgld(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_DRLI: /* drain life */
|
||||
mhitm_ad_drli(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_SSEX:
|
||||
mhitm_ad_ssex(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_SITM: /* for now these are the same */
|
||||
case AD_SEDU:
|
||||
mhitm_ad_sedu(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_DREN:
|
||||
mhitm_ad_dren(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_DRST:
|
||||
case AD_DRDX:
|
||||
case AD_DRCO:
|
||||
mhitm_ad_drst(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_DRIN:
|
||||
mhitm_ad_drin(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_SLIM:
|
||||
mhitm_ad_slim(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_STCK:
|
||||
mhitm_ad_stck(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_WRAP:
|
||||
mhitm_ad_wrap(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_ENCH:
|
||||
mhitm_ad_ench(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
case AD_POLY:
|
||||
mhitm_ad_poly(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
break;
|
||||
default:
|
||||
mhm.damage = 0;
|
||||
break;
|
||||
}
|
||||
mhitm_adtyping(magr, mattk, mdef, &mhm);
|
||||
if (mhm.done)
|
||||
return mhm.hitflags;
|
||||
|
||||
if (!mhm.damage)
|
||||
return mhm.hitflags;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user