protected void hitTarget(boolean hit, Player owner, Selectable target) { if (hit) damageTarget(target); AttackScanFilter filter = new AttackScanFilter(owner, MAX_BOUNDS_LENGTH); owner.getWorld().getUnitGrid().scan(filter, target.getGridX(), target.getGridY()); Selectable s = filter.removeTarget(); if (s != null && owner.getWorld().getRandom().nextFloat() > .5f) { setTarget(s); } else super.hitTarget(hit, owner, target); }
public final void transform(ElementRenderState render_state) { DirectedThrowingWeapon model = (DirectedThrowingWeapon) render_state.getModel(); RenderTools.translateAndRotate(render_state.getModel()); GL11.glRotatef(-model.getZSpeed(), 0f, 1f, 0f); }