diff --git a/src/main/java/com/hbm/entity/logic/EntityC130.java b/src/main/java/com/hbm/entity/logic/EntityC130.java index a99521945..0b0927845 100644 --- a/src/main/java/com/hbm/entity/logic/EntityC130.java +++ b/src/main/java/com/hbm/entity/logic/EntityC130.java @@ -52,6 +52,7 @@ public class EntityC130 extends EntityPlaneBase { if(this.payload == C130PayloadType.WEAPONS) { int amount = 1 + rand.nextInt(2); for(int i = 0; i < amount; i++) crate.items.add(ItemPool.getStack(ItemPoolsC130.POOL_WEAPONS, this.rand)); + for(int i = 0; i < 6; i++) crate.items.add(ItemPool.getStack(ItemPoolsC130.POOL_AMMO, this.rand)); } worldObj.spawnEntityInWorld(crate); diff --git a/src/main/java/com/hbm/itempool/ItemPoolsC130.java b/src/main/java/com/hbm/itempool/ItemPoolsC130.java index 4fbfd11ac..d7b19dc98 100644 --- a/src/main/java/com/hbm/itempool/ItemPoolsC130.java +++ b/src/main/java/com/hbm/itempool/ItemPoolsC130.java @@ -5,6 +5,7 @@ import static com.hbm.lib.HbmChestContents.weighted; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import net.minecraft.util.WeightedRandomChestContent; @@ -12,6 +13,7 @@ public class ItemPoolsC130 { public static final String POOL_SUPPLIES = "POOL_SUPPLIES"; public static final String POOL_WEAPONS = "POOL_WEAPONS"; + public static final String POOL_AMMO = "POOL_AMMO"; public static void init() { @@ -39,5 +41,19 @@ public class ItemPoolsC130 { weighted(ModItems.gun_panzerschreck, 0, 1, 1, 2), }; }}; + + new ItemPool(POOL_AMMO) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.ammo_standard, EnumAmmo.M357_SP.ordinal(), 12, 12, 10), + weighted(ModItems.ammo_standard, EnumAmmo.M357_FMJ.ordinal(), 6, 6, 10), + weighted(ModItems.ammo_standard, EnumAmmo.M44_SP.ordinal(), 12, 12, 5), + weighted(ModItems.ammo_standard, EnumAmmo.M44_FMJ.ordinal(), 6, 6, 5), + weighted(ModItems.ammo_standard, EnumAmmo.P9_SP.ordinal(), 12, 12, 10), + weighted(ModItems.ammo_standard, EnumAmmo.P9_FMJ.ordinal(), 6, 6, 10), + weighted(ModItems.ammo_standard, EnumAmmo.R762_SP.ordinal(), 6, 6, 5), + weighted(ModItems.ammo_standard, EnumAmmo.G12_BP.ordinal(), 6, 6, 10), + weighted(ModItems.ammo_standard, EnumAmmo.ROCKET_HE.ordinal(), 1, 1, 3), + }; + }}; } } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 4e94fb6a1..3ba70a540 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1617,6 +1617,7 @@ public class ModItems { public static Item gun_quadro; public static Item gun_lag; public static Item gun_minigun; + public static Item gun_minigun_lacunae; public static Item gun_missile_launcher; public static Item gun_tesla_cannon; public static Item gun_stg77; @@ -6915,6 +6916,7 @@ public class ModItems { GameRegistry.registerItem(gun_quadro, gun_quadro.getUnlocalizedName()); GameRegistry.registerItem(gun_lag, gun_lag.getUnlocalizedName()); GameRegistry.registerItem(gun_minigun, gun_minigun.getUnlocalizedName()); + GameRegistry.registerItem(gun_minigun_lacunae, gun_minigun_lacunae.getUnlocalizedName()); GameRegistry.registerItem(gun_missile_launcher, gun_missile_launcher.getUnlocalizedName()); GameRegistry.registerItem(gun_tesla_cannon, gun_tesla_cannon.getUnlocalizedName()); GameRegistry.registerItem(gun_stg77, gun_stg77.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java index f9afb903a..998133113 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java @@ -65,7 +65,8 @@ public class GunFactoryClient { MinecraftForgeClient.registerItemRenderer(ModItems.gun_autoshotgun, new ItemRenderShredder(ResourceManager.shredder_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_autoshotgun_sexy, new ItemRenderShredder(ResourceManager.sexy_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_quadro, new ItemRenderQuadro()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_minigun, new ItemRenderMinigun()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_minigun, new ItemRenderMinigun(ResourceManager.minigun_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_minigun_lacunae, new ItemRenderMinigun(ResourceManager.minigun_lacunae_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_missile_launcher, new ItemRenderMissileLauncher()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_tesla_cannon, new ItemRenderTeslaCannon()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_stg77, new ItemRenderSTG77()); @@ -161,6 +162,7 @@ public class GunFactoryClient { setRendererBulkBeam(LegoClient.RENDER_TAU, tau_uranium); setRendererBulkBeam(LegoClient.RENDER_TAU_CHARGE, tau_uranium_charge); setRendererBulkBeam(LegoClient.RENDER_LASER_RED, energy_las, energy_las_overcharge); + setRendererBulkBeam(LegoClient.RENDER_LASER_PURPLE, energy_lacunae, energy_lacunae_overcharge); setRendererBulk(LegoClient.RENDER_AP_BULLET, coil_tungsten, coil_ferrouranium); @@ -197,6 +199,7 @@ public class GunFactoryClient { ((ItemGunBaseNT) ModItems.gun_quadro) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_lag) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_minigun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_minigun_lacunae) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_missile_launcher) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_tesla_cannon) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_stg77) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/LegoClient.java b/src/main/java/com/hbm/items/weapon/sedna/factory/LegoClient.java index 464f727fc..a0a2c8bbb 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/LegoClient.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/LegoClient.java @@ -323,6 +323,10 @@ public class LegoClient { renderStandardLaser(bullet, interp, 0x80, 0x15, 0x15); }; + public static BiConsumer RENDER_LASER_PURPLE = (bullet, interp) -> { + renderStandardLaser(bullet, interp, 0x60, 0x15, 0x80); + }; + public static void renderStandardLaser(EntityBulletBeamBase bullet, float interp, int r, int g, int b) { RenderArcFurnace.fullbright(true); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java b/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java index 138ef08d1..dcacf6a52 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java @@ -895,6 +895,9 @@ public class Orchestras { if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.75F); if(timer == 1) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 0.75F); } + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 0.75F); + } if(type == AnimType.INSPECT) { if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 0.75F); } diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java index 31b227d53..de794e781 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java @@ -21,6 +21,7 @@ import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.BusAnimationKeyframe.IType; import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.DamageResistanceHandler.DamageClass; import net.minecraft.item.ItemStack; @@ -32,6 +33,9 @@ public class XFactory762mm { public static BulletConfig r762_ap; public static BulletConfig r762_du; + public static BulletConfig energy_lacunae; + public static BulletConfig energy_lacunae_overcharge; + public static void init() { SpentCasing casing762 = new SpentCasing(CasingType.BOTTLENECK).setColor(SpentCasing.COLOR_CASE_BRASS); r762_sp = new BulletConfig().setItem(EnumAmmo.R762_SP) @@ -44,6 +48,9 @@ public class XFactory762mm { .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762ap")); r762_du = new BulletConfig().setItem(EnumAmmo.R762_DU).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(2.5F).setArmorPiercing(0.25F) .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762du")); + + energy_lacunae = new BulletConfig().setItem(EnumAmmo.CAPACITOR).setupDamageClass(DamageClass.LASER).setBeam().setReloadCount(40).setSpread(0.0F).setLife(5).setRenderRotations(false).setOnBeamImpact(BulletConfig.LAMBDA_STANDARD_BEAM_HIT); + energy_lacunae_overcharge = new BulletConfig().setItem(EnumAmmo.CAPACITOR_OVERCHARGE).setupDamageClass(DamageClass.LASER).setBeam().setReloadCount(40).setSpread(0.0F).setLife(5).setRenderRotations(false).setDoesPenetrate(true).setOnBeamImpact(BulletConfig.LAMBDA_STANDARD_BEAM_HIT); ModItems.gun_carbine = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(3_000).draw(10).inspect(31).reloadSequential(true).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) @@ -55,7 +62,7 @@ public class XFactory762mm { .setupStandardConfiguration() .anim(LAMBDA_CARBINE_ANIMS).orchestra(Orchestras.ORCHESTRA_CARBIBE) ).setUnlocalizedName("gun_carbine"); - + ModItems.gun_minigun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(50_000).draw(20).inspect(20).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) .rec(new Receiver(0) @@ -66,6 +73,16 @@ public class XFactory762mm { .setupStandardConfiguration() .anim(LAMBDA_MINIGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_MINIGUN) ).setUnlocalizedName("gun_minigun"); + ModItems.gun_minigun_lacunae = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(50_000).draw(20).inspect(20).crosshair(Crosshair.L_CIRCLE) + .rec(new Receiver(0) + .dmg(10F).delay(1).auto(true).dry(15).reload(15).spread(0.01F).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 200).addConfigs(energy_lacunae, energy_lacunae_overcharge)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL)) + .setupStandardConfiguration() + .anim(LAMBDA_MINIGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_MINIGUN) + ).setUnlocalizedName("gun_minigun_lacunae"); } public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { @@ -113,6 +130,9 @@ public class XFactory762mm { .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 60, 50).addPos(0, 0, 720, 1000, IType.SIN_DOWN)); case CYCLE_DRY: return new BusAnimation() .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 60, 50).addPos(0, 0, 720, 1000, IType.SIN_DOWN)); + case RELOAD: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-15, 0, 0, 250, IType.SIN_DOWN).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 60, 50).addPos(0, 0, 720, 1000, IType.SIN_DOWN)); case INSPECT: return new BusAnimation() .addBus("EQUIP", new BusAnimationSequence().addPos(3, 0, 0, 150, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, -720, 1000, IType.SIN_DOWN)); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java index 5fdc4324f..84156627b 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java @@ -43,11 +43,9 @@ public class XFactoryEnergy { public static BulletConfig energy_tesla; public static BulletConfig energy_tesla_overcharge; - public static BulletConfig energy_tesla_blacklightning; public static BulletConfig energy_las; public static BulletConfig energy_las_overcharge; - public static BulletConfig energy_las_blacklightning; public static BiConsumer LAMBDA_LIGHTNING_HIT = (beam, mop) -> { diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index be21567f3..dffef5372 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -998,6 +998,7 @@ public class ResourceManager { public static final ResourceLocation quadro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/quadro.png"); public static final ResourceLocation quadro_rocket_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/quadro_rocket.png"); public static final ResourceLocation minigun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/minigun.png"); + public static final ResourceLocation minigun_lacunae_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/minigun_lacunae.png"); public static final ResourceLocation missile_launcher_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/missile_launcher.png"); public static final ResourceLocation tesla_cannon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/tesla_cannon.png"); public static final ResourceLocation stg77_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/stg77.png"); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigun.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigun.java index b4d55e4ca..ed44d201f 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigun.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigun.java @@ -8,8 +8,15 @@ import com.hbm.render.anim.HbmAnimations; import net.minecraft.client.Minecraft; import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; public class ItemRenderMinigun extends ItemRenderWeaponBase { + + protected ResourceLocation texture; + + public ItemRenderMinigun(ResourceLocation texture) { + this.texture = texture; + } @Override protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } @@ -34,7 +41,7 @@ public class ItemRenderMinigun extends ItemRenderWeaponBase { public void renderFirstPerson(ItemStack stack) { ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.minigun_tex); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); double scale = 0.375D; GL11.glScaled(scale, scale, scale); @@ -101,7 +108,7 @@ public class ItemRenderMinigun extends ItemRenderWeaponBase { GL11.glEnable(GL11.GL_LIGHTING); GL11.glShadeModel(GL11.GL_SMOOTH); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.minigun_tex); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); ResourceManager.minigun.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); } diff --git a/src/main/java/com/hbm/util/DamageResistanceHandler.java b/src/main/java/com/hbm/util/DamageResistanceHandler.java index 8e25d7077..b477d15cd 100644 --- a/src/main/java/com/hbm/util/DamageResistanceHandler.java +++ b/src/main/java/com/hbm/util/DamageResistanceHandler.java @@ -2,6 +2,7 @@ package com.hbm.util; import java.util.HashMap; +import com.hbm.items.ModItems; import com.hbm.util.Tuple.Quartet; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -33,6 +34,43 @@ public class DamageResistanceHandler { public static HashMap itemStats = new HashMap(); public static HashMap, ResistanceStats> setStats = new HashMap(); public static HashMap, ResistanceStats> entityStats = new HashMap(); + + public static void init() { + entityStats.put(EntityCreeper.class, new ResistanceStats().add(KEY_EXPLOSION, 2F, 0.5F)); + + setStats.put(new Quartet(ModItems.steel_helmet, ModItems.steel_plate, ModItems.steel_legs, ModItems.steel_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.titanium_helmet, ModItems.titanium_plate, ModItems.titanium_legs, ModItems.titanium_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.alloy_helmet, ModItems.alloy_plate, ModItems.alloy_legs, ModItems.alloy_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.cobalt_helmet, ModItems.cobalt_plate, ModItems.cobalt_legs, ModItems.cobalt_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.starmetal_helmet, ModItems.starmetal_plate, ModItems.starmetal_legs, ModItems.starmetal_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.zirconium_legs, ModItems.zirconium_legs, ModItems.zirconium_legs, ModItems.zirconium_legs), new ResistanceStats()); + setStats.put(new Quartet(ModItems.dnt_helmet, ModItems.dnt_plate, ModItems.dnt_legs, ModItems.dnt_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.schrabidium_helmet, ModItems.schrabidium_plate, ModItems.schrabidium_legs, ModItems.schrabidium_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.robes_helmet, ModItems.robes_plate, ModItems.robes_legs, ModItems.robes_boots), new ResistanceStats()); + + setStats.put(new Quartet(ModItems.steamsuit_helmet, ModItems.steamsuit_plate, ModItems.steamsuit_legs, ModItems.steamsuit_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.dieselsuit_helmet, ModItems.dieselsuit_plate, ModItems.dieselsuit_legs, ModItems.dieselsuit_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.ajr_helmet, ModItems.ajr_plate, ModItems.ajr_legs, ModItems.ajr_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.ajro_helmet, ModItems.ajro_plate, ModItems.ajro_legs, ModItems.ajro_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.rpa_helmet, ModItems.rpa_plate, ModItems.rpa_legs, ModItems.rpa_boots), new ResistanceStats()); + ResistanceStats bj = new ResistanceStats(); + setStats.put(new Quartet(ModItems.bj_helmet, ModItems.bj_plate, ModItems.bj_legs, ModItems.bj_boots), bj); + setStats.put(new Quartet(ModItems.bj_helmet, ModItems.bj_plate_jetpack, ModItems.bj_legs, ModItems.bj_boots), bj); + setStats.put(new Quartet(ModItems.envsuit_helmet, ModItems.envsuit_plate, ModItems.envsuit_legs, ModItems.envsuit_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.hev_helmet, ModItems.hev_plate, ModItems.hev_legs, ModItems.hev_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.bismuth_helmet, ModItems.bismuth_plate, ModItems.bismuth_legs, ModItems.bismuth_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.fau_helmet, ModItems.fau_plate, ModItems.fau_legs, ModItems.fau_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.dns_helmet, ModItems.dns_plate, ModItems.dns_legs, ModItems.dns_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.trenchmaster_helmet, ModItems.trenchmaster_plate, ModItems.trenchmaster_legs, ModItems.trenchmaster_boots), new ResistanceStats()); + + setStats.put(new Quartet(ModItems.hazmat_helmet, ModItems.hazmat_plate, ModItems.hazmat_legs, ModItems.hazmat_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.hazmat_helmet_red, ModItems.hazmat_plate_red, ModItems.hazmat_legs_red, ModItems.hazmat_boots_red), new ResistanceStats()); + setStats.put(new Quartet(ModItems.hazmat_helmet_grey, ModItems.hazmat_plate_grey, ModItems.hazmat_legs_grey, ModItems.hazmat_boots_grey), new ResistanceStats()); + setStats.put(new Quartet(ModItems.liquidator_helmet, ModItems.liquidator_plate, ModItems.liquidator_legs, ModItems.liquidator_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.hazmat_paa_helmet, ModItems.hazmat_paa_plate, ModItems.hazmat_paa_legs, ModItems.hazmat_paa_boots), new ResistanceStats()); + setStats.put(new Quartet(ModItems.asbestos_helmet, ModItems.asbestos_plate, ModItems.asbestos_legs, ModItems.asbestos_boots), new ResistanceStats()); + } public static enum DamageClass { PHYSICAL, @@ -40,11 +78,8 @@ public class DamageResistanceHandler { EXPLOSIVE, ELECTRIC, LASER, - SUBATOMIC - } - - public static void init() { - entityStats.put(EntityCreeper.class, new ResistanceStats().add(KEY_EXPLOSION, 2F, 0.5F)); + SUBATOMIC, + OTHER } public static void setup(float dt, float dr) { @@ -65,7 +100,10 @@ public class DamageResistanceHandler { float[] vals = getDTDR(e, event.source, amount, currentPDT, currentPDR); float dt = vals[0]; - if(dt > 0 && dt >= event.ammount) event.setCanceled(true); + if(dt > 0 && dt >= event.ammount) { + event.setCanceled(true); + EntityDamageUtil.damageArmorNT(e, amount); + } } @SubscribeEvent @@ -101,10 +139,10 @@ public class DamageResistanceHandler { /// SET HANDLING /// Quartet wornSet = new Quartet( - entity.getEquipmentInSlot(1) != null ? entity.getEquipmentInSlot(1).getItem() : null, - entity.getEquipmentInSlot(2) != null ? entity.getEquipmentInSlot(2).getItem() : null, + entity.getEquipmentInSlot(4) != null ? entity.getEquipmentInSlot(4).getItem() : null, entity.getEquipmentInSlot(3) != null ? entity.getEquipmentInSlot(3).getItem() : null, - entity.getEquipmentInSlot(4) != null ? entity.getEquipmentInSlot(4).getItem() : null + entity.getEquipmentInSlot(2) != null ? entity.getEquipmentInSlot(2).getItem() : null, + entity.getEquipmentInSlot(1) != null ? entity.getEquipmentInSlot(1).getItem() : null ); ResistanceStats setResistance = setStats.get(wornSet); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index a71c48bfe..5cb0aba7c 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1160,6 +1160,8 @@ item.ammo_standard.bmg50_du.name=.50 BMG Patrone (Urangeschoss) item.ammo_standard.bmg50_fmj.name=.50 BMG Patrone (Vollmantelgeschoss) item.ammo_standard.bmg50_jhp.name=.50 BMG Patrone (Hohlspitz) item.ammo_standard.bmg50_sp.name=.50 BMG Patrone (Teilmantelgeschoss) +item.ammo_standard.capacitor.name=Kondensator +item.ammo_standard.capacitor_overcharge.name=Kondensator (Überladung) item.ammo_standard.flame_balefire.name=Flammenwerferbrennstoff, Balefire item.ammo_standard.flame_diesel.name=Flammenwerferbrennstoff, Diesel item.ammo_standard.flame_gas.name=Flammenwerferbrennstoff, Gas @@ -2171,6 +2173,7 @@ item.gun_fatman.name=M42 Nukleares Katapult "Fat Man" item.gun_fatman_ammo.name=Miniatombombe (LEGACY) item.gun_fireext.name=Feuerlöscher item.gun_flamer.name=Flammenwerfer +item.gun_flamer_daybreaker.name=Daybreaker item.gun_flamer_topaz.name=Mister Topaz item.gun_flaregun.name=Signalpistole item.gun_flechette.name=Flechet-Gewehr @@ -2210,6 +2213,7 @@ item.gun_maresleg.name=Repetierflinte item.gun_maresleg_akimbo.name=Repetierflinten item.gun_maresleg_broken.name=Broken item.gun_minigun.name=Minigun +item.gun_minigun_lacunae.name=Lacunae item.gun_mirv.name=M42 Nukleares Katapult "Experimentelles MIRV" item.gun_mirv_ammo.name=Achtfaches MIRV (LEGACY) item.gun_missile_launcher.name=Raketenwerfer diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 5d217c811..b6d8a1f6f 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1883,6 +1883,8 @@ item.ammo_standard.bmg50_du.name=.50 BMG Round (Depleted Uranium) item.ammo_standard.bmg50_fmj.name=.50 BMG Round (Full Metal Jacket) item.ammo_standard.bmg50_jhp.name=.50 BMG Round (Jacketed Hollow Point) item.ammo_standard.bmg50_sp.name=.50 BMG Round (Soft Point) +item.ammo_standard.capacitor.name=Capacitor +item.ammo_standard.capacitor_overcharge.name=Capacitor (Overcharge) item.ammo_standard.flame_balefire.name=Flamer Fuel, Balefire item.ammo_standard.flame_diesel.name=Flamer Fuel, Diesel item.ammo_standard.flame_gas.name=Flamer Fuel, Gas @@ -2979,6 +2981,7 @@ item.gun_fatman.name=M42 Nuclear Catapult "Fat Man" item.gun_fatman_ammo.name=Mini Nuke (LEGACY) item.gun_fireext.name=Fire Extinguisher item.gun_flamer.name=Flamethrower +item.gun_flamer_daybreaker.name=Daybreaker item.gun_flamer_topaz.name=Mister Topaz item.gun_flaregun.name=Flare Gun item.gun_flechette.name=Flechette Rifle @@ -3019,6 +3022,7 @@ item.gun_maresleg.name=Lever Action Shotgun item.gun_maresleg_akimbo.name=Lever Action Shotguns item.gun_maresleg_broken.name=Broken item.gun_minigun.name=Minigun +item.gun_minigun_lacunae.name=Lacunae item.gun_mirv.name=M42 Nuclear Catapult "Experimental MIRV" item.gun_mirv_ammo.name=Eightfold MIRV (LEGACY) item.gun_missile_launcher.name=Missile Launcher diff --git a/src/main/resources/assets/hbm/textures/models/weapons/minigun_lacunae.png b/src/main/resources/assets/hbm/textures/models/weapons/minigun_lacunae.png new file mode 100644 index 000000000..66bfa6d81 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/minigun_lacunae.png differ