public WeaponShot createShot(ItemStack weapon, EntityLivingBase shooter, boolean zoomed) { WeaponShot shot = new WeaponShot( itemRand.nextInt(), getWeaponScaledDamage(weapon, shooter), getAccuracy(weapon, shooter, zoomed), WeaponHelper.getColor(weapon), getRange(weapon)); shot.setCount(getShotCount(weapon, shooter)); return shot; }
public PlasmaBolt[] spawnProjectile( ItemStack weapon, EntityLivingBase shooter, Vec3 position, Vec3 dir, WeaponShot shot) { // PlasmaBolt fire = new PlasmaBolt(entityPlayer.worldObj, entityPlayer,position,dir, // getWeaponScaledDamage(weapon), 2, getAccuracy(weapon, zoomed), getRange(weapon), // WeaponHelper.getColor(weapon).getColor(), zoomed,seed); PlasmaBolt[] bolts = new PlasmaBolt[shot.getCount()]; for (int i = 0; i < shot.getCount(); i++) { WeaponShot newShot = new WeaponShot(shot); newShot.setSeed(shot.getSeed() + i); newShot.setDamage(shot.getDamage() / shot.getCount()); bolts[i] = new PlasmaBolt( shooter.worldObj, shooter, position, dir, newShot, getShotSpeed(weapon, shooter)); bolts[i].setWeapon(weapon); bolts[i].setRenderSize((getShotCount(weapon, shooter) / shot.getCount()) * 0.5f); bolts[i].setFireDamageMultiply(WeaponHelper.modifyStat(Reference.WS_FIRE_DAMAGE, weapon, 0)); bolts[i].setKnockBack(0.5f); shooter.worldObj.spawnEntityInWorld(bolts[i]); } return bolts; }