mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
"i was in the war" congratulations, i'm gonna be in the next one and
they have laser beams now
This commit is contained in:
parent
5e57c86f57
commit
d66b75b76c
@ -35,6 +35,8 @@ public class EntityBulletBeamBase extends Entity implements IEntityAdditionalSpa
|
||||
this.setSize(0.5F, 0.5F);
|
||||
}
|
||||
|
||||
public EntityLivingBase getThrower() { return this.thrower; }
|
||||
|
||||
public EntityBulletBeamBase(EntityLivingBase entity, BulletConfig config, float baseDamage, float angularInaccuracy, double sideOffset, double heightOffset, double frontOffset) {
|
||||
this(entity.worldObj);
|
||||
|
||||
|
||||
@ -211,6 +211,31 @@ public class BulletConfig implements Cloneable {
|
||||
}
|
||||
};
|
||||
|
||||
public static BiConsumer<EntityBulletBeamBase, MovingObjectPosition> LAMBDA_STANDARD_BEAM_HIT = (bullet, mop) -> {
|
||||
|
||||
if(mop.typeOfHit == mop.typeOfHit.ENTITY) {
|
||||
Entity entity = mop.entityHit;
|
||||
|
||||
if(entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHealth() <= 0) return;
|
||||
|
||||
DamageSource damageCalc = bullet.config.getDamage(bullet, bullet.getThrower(), false);
|
||||
|
||||
if(!(entity instanceof EntityLivingBase)) {
|
||||
EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, damageCalc, bullet.damage);
|
||||
return;
|
||||
}
|
||||
|
||||
EntityLivingBase living = (EntityLivingBase) entity;
|
||||
|
||||
if(bullet.config.armorPiercingPercent == 0) {
|
||||
EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, damageCalc, bullet.damage);
|
||||
} else {
|
||||
DamageSource damagePiercing = bullet.config.getDamage(bullet, bullet.getThrower(), true);
|
||||
EntityDamageUtil.attackArmorPiercing(living, damageCalc, damagePiercing, bullet.damage, bullet.config.armorPiercingPercent);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public static BiConsumer<EntityBulletBeamBase, MovingObjectPosition> LAMBDA_BEAM_HIT = (beam, mop) -> {
|
||||
|
||||
if(mop.typeOfHit == mop.typeOfHit.ENTITY) {
|
||||
|
||||
@ -1034,5 +1034,24 @@ public class Orchestras {
|
||||
if(entity.worldObj.isRemote) return;
|
||||
AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
|
||||
int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex);
|
||||
|
||||
if(type == AnimType.RELOAD) {
|
||||
if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F);
|
||||
if(timer == 18) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.impact", 0.25F, 1F);
|
||||
if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F);
|
||||
if(timer == 38) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F);
|
||||
}
|
||||
|
||||
if(type == AnimType.INSPECT) {
|
||||
if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F);
|
||||
if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F);
|
||||
if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F);
|
||||
}
|
||||
|
||||
if(type == AnimType.JAMMED) {
|
||||
if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F);
|
||||
if(timer == 22) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F);
|
||||
if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@ -91,9 +91,9 @@ public class XFactoryEnergy {
|
||||
energy_tesla_blacklightning = new BulletConfig().setItem(EnumAmmo.CAPACITOR_BLACKLIGHTNING).setSpread(0.0F).setLife(5).setRenderRotations(false).setDoesPenetrate(true)
|
||||
.setDamage(5F).setOnBeamImpact(LAMBDA_LIGHTNING_HIT);
|
||||
|
||||
energy_las = new BulletConfig().setItem(EnumAmmo.CAPACITOR).setSpread(0.0F).setLife(5).setRenderRotations(false).setDoesPenetrate(true);
|
||||
energy_las_overcharge = new BulletConfig().setItem(EnumAmmo.CAPACITOR_OVERCHARGE).setSpread(0.0F).setLife(5).setRenderRotations(false).setDoesPenetrate(true);
|
||||
energy_las_blacklightning = new BulletConfig().setItem(EnumAmmo.CAPACITOR_BLACKLIGHTNING).setSpread(0.0F).setLife(5).setRenderRotations(false).setDoesPenetrate(true);
|
||||
energy_las = new BulletConfig().setItem(EnumAmmo.CAPACITOR).setSpread(0.0F).setLife(5).setRenderRotations(false).setOnBeamImpact(BulletConfig.LAMBDA_STANDARD_BEAM_HIT);
|
||||
energy_las_overcharge = new BulletConfig().setItem(EnumAmmo.CAPACITOR_OVERCHARGE).setSpread(0.0F).setLife(5).setRenderRotations(false).setDoesPenetrate(true).setOnBeamImpact(BulletConfig.LAMBDA_STANDARD_BEAM_HIT);
|
||||
energy_las_blacklightning = new BulletConfig().setItem(EnumAmmo.CAPACITOR_BLACKLIGHTNING).setSpread(0.0F).setLife(5).setRenderRotations(false).setDoesPenetrate(true).setOnBeamImpact(BulletConfig.LAMBDA_STANDARD_BEAM_HIT);
|
||||
|
||||
ModItems.gun_tesla_cannon = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
|
||||
.dura(2_000).draw(10).inspect(33).reloadSequential(true).crosshair(Crosshair.CIRCLE)
|
||||
@ -107,9 +107,9 @@ public class XFactoryEnergy {
|
||||
).setUnlocalizedName("gun_tesla_cannon");
|
||||
|
||||
ModItems.gun_lasrifle = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
|
||||
.dura(2_000).draw(10).inspect(33).reloadSequential(true).crosshair(Crosshair.CIRCLE)
|
||||
.dura(2_000).draw(10).inspect(26).reloadSequential(true).crosshair(Crosshair.CIRCLE)
|
||||
.rec(new Receiver(0)
|
||||
.dmg(15F).delay(10).reload(20).jam(19).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
|
||||
.dmg(15F).delay(8).reload(44).jam(36).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
|
||||
.mag(new MagazineFullReload(0, 24).addConfigs(energy_las, energy_las_overcharge, energy_las_blacklightning))
|
||||
.offset(0.75, -0.0625 * 1.5, -0.1875)
|
||||
.setupBeamFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
|
||||
@ -143,7 +143,7 @@ public class XFactoryEnergy {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN));
|
||||
case CYCLE: return new BusAnimation()
|
||||
.addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.5 : -1, 50, IType.SIN_DOWN).addPos(0, 0, 0, 150, IType.SIN_FULL))
|
||||
.addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -0.5, 50, IType.SIN_DOWN).addPos(0, 0, 0, 150, IType.SIN_FULL))
|
||||
.addBus("CYCLE", new BusAnimationSequence().addPos(0, 0, 0, 150).addPos(0, 0, 22.5, 350))
|
||||
.addBus("COUNT", new BusAnimationSequence().addPos(amount, 0, 0, 0));
|
||||
case RELOAD: return new BusAnimation()
|
||||
|
||||
@ -2024,58 +2024,58 @@ vt 0.024036 0.230847
|
||||
vt 0.030765 0.259434
|
||||
vt 0.028962 0.275939
|
||||
vt 0.024036 0.288021
|
||||
vt 0.338462 0.169811
|
||||
vt 0.261538 0.169811
|
||||
vt 0.030769 0.150943
|
||||
vt 0.338462 0.150943
|
||||
vt 0.338462 0.075472
|
||||
vt 0.261538 0.150943
|
||||
vt 0.261538 0.075472
|
||||
vt 0.030769 0.056604
|
||||
vt 0.338462 0.056604
|
||||
vt 0.338462 0.018868
|
||||
vt 0.261538 0.056604
|
||||
vt 0.261538 0.018868
|
||||
vt 0.030769 -0.000000
|
||||
vt 0.338462 -0.000000
|
||||
vt 0.338462 0.188679
|
||||
vt 0.261538 -0.000000
|
||||
vt 0.261538 0.188679
|
||||
vt 0.030769 0.169811
|
||||
vt 0.338462 0.094340
|
||||
vt 0.261538 0.094340
|
||||
vt 0.030769 0.075472
|
||||
vt 0.338462 0.132075
|
||||
vt 0.261538 0.132075
|
||||
vt 0.030769 0.113208
|
||||
vt 0.338462 0.113208
|
||||
vt 0.338462 0.037736
|
||||
vt 0.261538 0.113208
|
||||
vt 0.261538 0.037736
|
||||
vt 0.030769 0.018868
|
||||
vt 0.338462 0.207547
|
||||
vt 0.261538 0.207547
|
||||
vt 0.030769 0.188679
|
||||
vt 0.030769 0.094340
|
||||
vt 0.030769 0.132075
|
||||
vt 0.030769 0.037736
|
||||
vt 0.338462 0.226415
|
||||
vt 0.261538 0.226415
|
||||
vt 0.030769 0.207547
|
||||
vt 0.030769 0.415094
|
||||
vt 0.338462 0.433962
|
||||
vt 0.261538 0.433962
|
||||
vt 0.030769 0.433962
|
||||
vt 0.030769 0.320755
|
||||
vt 0.338462 0.339623
|
||||
vt 0.261538 0.339623
|
||||
vt 0.030769 0.339623
|
||||
vt 0.030769 0.358491
|
||||
vt 0.338462 0.377358
|
||||
vt 0.261538 0.377358
|
||||
vt 0.030769 0.377358
|
||||
vt 0.030769 0.264151
|
||||
vt 0.338462 0.283019
|
||||
vt 0.261538 0.283019
|
||||
vt 0.030769 0.283019
|
||||
vt 0.338462 0.452830
|
||||
vt 0.261538 0.452830
|
||||
vt 0.030769 0.452830
|
||||
vt 0.338462 0.396226
|
||||
vt 0.261538 0.396226
|
||||
vt 0.030769 0.396226
|
||||
vt 0.338462 0.301887
|
||||
vt 0.261538 0.301887
|
||||
vt 0.030769 0.301887
|
||||
vt 0.030769 0.226415
|
||||
vt 0.338462 0.245283
|
||||
vt 0.261538 0.245283
|
||||
vt 0.030769 0.245283
|
||||
vt 0.338462 0.415094
|
||||
vt 0.338462 0.320755
|
||||
vt 0.338462 0.358491
|
||||
vt 0.338462 0.264151
|
||||
vt 0.261538 0.415094
|
||||
vt 0.261538 0.320755
|
||||
vt 0.261538 0.358491
|
||||
vt 0.261538 0.264151
|
||||
vt 0.030769 0.226415
|
||||
vt 0.338462 0.226415
|
||||
vt 0.261538 0.226415
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn -0.8660 0.5000 0.0000
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 4.4 KiB |
Loading…
x
Reference in New Issue
Block a user