mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
flamethrower improvements, 12 gauge flechette fix
This commit is contained in:
parent
4fd4aa819b
commit
c636632dc3
@ -1,9 +1,14 @@
|
||||
## Changed
|
||||
* Nerfed AP and DU round damage multiplier
|
||||
* Effective damage is still much higher than on gunmetal ammo due to the armor piercing effect
|
||||
* Increased flamethrower turret detection range from 32 to 48 blocks
|
||||
* Flamethrower turrets now use the green fire effect when using balefire fuel
|
||||
* Flamethrower turret projectile damage is now capped to 20
|
||||
* Balefire fuel should no longer instantly vaporize bosses
|
||||
|
||||
## Fixed
|
||||
* Fixed a potential crash caused by cargo dropships landing on cargo docks with no satellite chip installed
|
||||
* Fixed potential crash related to hazard handling for dropped items
|
||||
* Fixed errors thrown when loading in old system bullet entities
|
||||
* Fixed dupe regarding breaking transport drones
|
||||
* Fixed dupe regarding breaking transport drones
|
||||
* Fixed 12 gauge flechette DT negation not being the intended value
|
||||
@ -69,7 +69,7 @@ public class XFactory12ga {
|
||||
public static BulletConfig g12_magnum;
|
||||
public static BulletConfig g12_explosive;
|
||||
public static BulletConfig g12_phosphorus;
|
||||
public static BulletConfig g12_anthrax;
|
||||
//public static BulletConfig g12_anthrax;
|
||||
public static BulletConfig g12_equestrian_bj;
|
||||
public static BulletConfig g12_equestrian_tkr;
|
||||
|
||||
@ -265,7 +265,7 @@ public class XFactory12ga {
|
||||
g12_bp_slug = new BulletConfig().setItem(EnumAmmo.G12_BP_SLUG).setCasing(EnumCasingType.SHOTSHELL, 12).setBlackPowder(true).setDamage(0.75F).setSpread(0.01F).setRicochetAngle(5).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(SpentCasing.COLOR_CASE_BRASS, SpentCasing.COLOR_CASE_BRASS).setScale(0.75F).register("12GA_BP_SLUG"));
|
||||
g12 = new BulletConfig().setItem(EnumAmmo.G12).setCasing(EnumCasingType.BUCKSHOT, 6).setProjectiles(8).setDamage(1F/8F).setSpread(buckshotSpread).setRicochetAngle(15).setThresholdNegation(2F).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0xB52B2B, SpentCasing.COLOR_CASE_BRASS).setScale(0.75F).register("12GA"));
|
||||
g12_slug = new BulletConfig().setItem(EnumAmmo.G12_SLUG).setCasing(EnumCasingType.BUCKSHOT, 6).setHeadshot(1.5F).setSpread(0.0F).setRicochetAngle(25).setThresholdNegation(4F).setArmorPiercing(0.15F).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x393939, SpentCasing.COLOR_CASE_BRASS).setScale(0.75F).register("12GA_SLUG"));
|
||||
g12_flechette = new BulletConfig().setItem(EnumAmmo.G12_FLECHETTE).setCasing(EnumCasingType.BUCKSHOT, 6).setProjectiles(8).setDamage(1F/8F).setThresholdNegation(5F).setThresholdNegation(3F).setArmorPiercing(0.2F).setSpread(0.025F).setRicochetAngle(5).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x3C80F0, SpentCasing.COLOR_CASE_BRASS).setScale(0.75F).register("12GA_FLECHETTE"));
|
||||
g12_flechette = new BulletConfig().setItem(EnumAmmo.G12_FLECHETTE).setCasing(EnumCasingType.BUCKSHOT, 6).setProjectiles(8).setDamage(1F/8F).setThresholdNegation(5F).setArmorPiercing(0.2F).setSpread(0.025F).setRicochetAngle(5).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x3C80F0, SpentCasing.COLOR_CASE_BRASS).setScale(0.75F).register("12GA_FLECHETTE"));
|
||||
g12_magnum = new BulletConfig().setItem(EnumAmmo.G12_MAGNUM).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 6).setProjectiles(4).setDamage(2F/4F).setSpread(magnumSpread).setRicochetAngle(15).setThresholdNegation(4F).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x278400, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12GA_MAGNUM"));
|
||||
g12_explosive = new BulletConfig().setItem(EnumAmmo.G12_EXPLOSIVE).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 6).setDamage(2.5F).setOnImpact(LAMBDA_STANDARD_EXPLODE).setSpread(0F).setRicochetAngle(15).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0xDA4127, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12GA_EXPLOSIVE"));
|
||||
g12_phosphorus = new BulletConfig().setItem(EnumAmmo.G12_PHOSPHORUS).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 6).setProjectiles(8).setDamage(1F/8F).setSpread(magnumSpread).setRicochetAngle(15).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x910001, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12GA_PHOSPHORUS"))
|
||||
|
||||
@ -41,6 +41,7 @@ import net.minecraftforge.common.util.ForgeDirection;
|
||||
public class XFactoryFlamer {
|
||||
|
||||
public static BulletConfig flame_nograv;
|
||||
public static BulletConfig flame_nograv_bf;
|
||||
|
||||
public static BulletConfig flame_diesel;
|
||||
public static BulletConfig flame_gas;
|
||||
@ -120,6 +121,7 @@ public class XFactoryFlamer {
|
||||
.setOnUpdate(LAMBDA_BALEFIRE).setOnRicochet(LAMBDA_LINGER_BALEFIRE);
|
||||
|
||||
flame_nograv = flame_diesel.clone().setGrav(0);
|
||||
flame_nograv_bf = flame_balefire.clone().setGrav(0).setLife(100);
|
||||
|
||||
flame_topaz_diesel = flame_diesel .clone().setProjectiles(2).setSpread(0.05F).setLife(60).setGrav(0.0D);
|
||||
flame_topaz_gas = flame_gas .clone().setProjectiles(2).setSpread(0.05F);
|
||||
|
||||
@ -984,11 +984,17 @@ public class ModEventHandlerClient {
|
||||
ItemDepletedFuel.class,
|
||||
ItemFluidDuct.class
|
||||
);
|
||||
|
||||
String prefix = "Gun ";
|
||||
int scale = 8;
|
||||
boolean ignoreNonNTM = true;
|
||||
|
||||
List<ItemStack> stacks = new ArrayList<ItemStack>();
|
||||
for (Object reg : Item.itemRegistry) {
|
||||
Item item = (Item) reg;
|
||||
if(ignoreNonNTM && !Item.itemRegistry.getNameForObject(item).startsWith("hbm:")) continue;
|
||||
if(ignoredItems.contains(item)) continue;
|
||||
if(!(item instanceof ItemGunBaseNT) && prefix.toLowerCase(Locale.US).startsWith("gun")) continue;
|
||||
if(collapsedClasses.contains(item.getClass())) {
|
||||
stacks.add(new ItemStack(item));
|
||||
} else {
|
||||
@ -996,7 +1002,7 @@ public class ModEventHandlerClient {
|
||||
}
|
||||
}
|
||||
|
||||
FMLCommonHandler.instance().showGuiScreen(new GUIScreenWikiRender(stacks.toArray(new ItemStack[0]), "Block ", "wiki-block-renders-256", 8));
|
||||
FMLCommonHandler.instance().showGuiScreen(new GUIScreenWikiRender(stacks.toArray(new ItemStack[0]), prefix, "wiki-block-renders-256", scale));
|
||||
}
|
||||
} else {
|
||||
isRenderingItems = false;
|
||||
|
||||
@ -5,7 +5,6 @@ import java.util.List;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.entity.projectile.EntityBulletBaseMK4;
|
||||
import com.hbm.handler.threading.PacketThreading;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
@ -16,11 +15,9 @@ import com.hbm.inventory.gui.GUITurretFritz;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.weapon.sedna.factory.XFactoryFlamer;
|
||||
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
|
||||
import com.hbm.packet.toclient.AuxParticlePacketNT;
|
||||
|
||||
import api.hbm.fluid.IFluidStandardReceiver;
|
||||
import com.hbm.tileentity.IFluidCopiable;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
@ -71,7 +68,7 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl
|
||||
|
||||
@Override
|
||||
public double getDecetorRange() {
|
||||
return 32D;
|
||||
return 48D;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -112,18 +109,12 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl
|
||||
vec.rotateAroundZ((float) -this.rotationPitch);
|
||||
vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5));
|
||||
|
||||
EntityBulletBaseMK4 proj = new EntityBulletBaseMK4(worldObj, XFactoryFlamer.flame_nograv, (float) (trait.getHeatEnergy() / 500_000F), 0.05F, (float) rotationYaw, (float) rotationPitch);
|
||||
float damage = Math.min((float) (trait.getHeatEnergy() / 500_000F), 20F);
|
||||
EntityBulletBaseMK4 proj = new EntityBulletBaseMK4(worldObj, tank.getTankType() == Fluids.BALEFIRE ? XFactoryFlamer.flame_nograv_bf : XFactoryFlamer.flame_nograv, damage, 0.05F, (float) rotationYaw, (float) rotationPitch);
|
||||
proj.setPositionAndRotation(pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord, proj.rotationYaw, proj.rotationPitch);
|
||||
worldObj.spawnEntityInWorld(proj);
|
||||
|
||||
worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:weapon.flamethrowerShoot", 2F, 1F + worldObj.rand.nextFloat() * 0.5F);
|
||||
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "vanillaburst");
|
||||
data.setString("mode", "flame");
|
||||
data.setInteger("count", 2);
|
||||
data.setDouble("motion", 0.025D);
|
||||
PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user