@Override
	public CMMsg postWeaponAttackResult(MOB source, MOB target, Item item, boolean success)
	{
		if(source==null)
			return null;
		if(!source.mayIFight(target))
			return null;
		Weapon weapon=null;
		int damageInt = 0;
		if(item instanceof Weapon)
		{
			weapon=(Weapon)item;
			damageInt=adjustedDamage(source,weapon,target,0,true);
		}
		if(success)
			postWeaponDamage(source,target,item,damageInt);
		else
		{
			final String missString="^F^<FIGHT^>"+((weapon!=null)?
								weapon.missString():
								standardMissString(Weapon.TYPE_BASHING,Weapon.CLASS_BLUNT,item.name(),false))+"^</FIGHT^>^?";
			final CMMsg msg=CMClass.getMsg(source,
									target,
									weapon,
									CMMsg.MSG_ATTACKMISS,
									missString);
			CMLib.color().fixSourceFightColor(msg);
			// why was there no okaffect here?
			final Room R=source.location();
			if(R!=null)
			if(R.okMessage(source,msg) && (!source.amDead()) && (!source.amDestroyed()))
			{
				R.send(source,msg);
				return msg;
			}
		}
		return null;
	}