@Override
	public void executeMsg(final Environmental myHost, final CMMsg msg)
	{
		if((msg.source()==affected)
		&&(msg.sourceMinor()== CMMsg.TYP_FACTIONCHANGE)
		&&(msg.othersMessage()!=null)
		&&(msg.othersMessage().equalsIgnoreCase(CMLib.factions().AlignID()))
		&&(msg.value()>0)
		&&(msg.value()<Integer.MAX_VALUE))
		{
			double prof;
			if((invoker()!=affected)&&(canBeUninvoked()))
				prof=super.getXLEVELLevel(invoker());
			else
				prof=0;
			msg.setValue((int)Math.round(msg.value() * (0.5 - (prof*0.05))));
		}
		super.executeMsg(myHost, msg);
	}