it's funny because the gun that's called "broken" is unbreakable

This commit is contained in:
Boblet 2024-10-25 15:01:12 +02:00
parent b57102e4ce
commit f8de5314f6
34 changed files with 299 additions and 94 deletions

View File

@ -77,7 +77,7 @@ public class ItemEnums {
}
public static enum EnumSecretType {
CANISTER, CONTROLLER
CANISTER, CONTROLLER, SELENIUM_STEEL
}
public static enum EnumCasingType {

View File

@ -1598,6 +1598,7 @@ public class ModItems {
public static Item gun_greasegun;
public static Item gun_maresleg;
public static Item gun_maresleg_akimbo;
public static Item gun_maresleg_broken;
public static Item gun_flaregun;
public static Item gun_heavy_revolver;
public static Item gun_carbine;
@ -6941,6 +6942,7 @@ public class ModItems {
GameRegistry.registerItem(gun_greasegun, gun_greasegun.getUnlocalizedName());
GameRegistry.registerItem(gun_maresleg, gun_maresleg.getUnlocalizedName());
GameRegistry.registerItem(gun_maresleg_akimbo, gun_maresleg_akimbo.getUnlocalizedName());
GameRegistry.registerItem(gun_maresleg_broken, gun_maresleg_broken.getUnlocalizedName());
GameRegistry.registerItem(gun_flaregun, gun_flaregun.getUnlocalizedName());
GameRegistry.registerItem(gun_heavy_revolver, gun_heavy_revolver.getUnlocalizedName());
GameRegistry.registerItem(gun_carbine, gun_carbine.getUnlocalizedName());

View File

@ -1,5 +1,6 @@
package com.hbm.items.weapon.sedna;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.BiConsumer;
@ -9,6 +10,8 @@ import com.hbm.interfaces.IItemHUD;
import com.hbm.items.IEquipReceiver;
import com.hbm.items.IKeybindReceiver;
import com.hbm.items.weapon.sedna.hud.IHUDComponent;
import com.hbm.items.weapon.sedna.mags.IMagazine;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.AuxParticlePacketNT;
@ -16,6 +19,7 @@ import com.hbm.packet.toclient.GunAnimationPacket;
import com.hbm.render.anim.HbmAnimations.AnimType;
import com.hbm.render.util.RenderScreenOverlay;
import com.hbm.sound.AudioWrapper;
import com.hbm.util.BobMathUtil;
import com.hbm.util.EnumUtil;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
@ -30,6 +34,7 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
@ -72,16 +77,29 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IEquipRecei
/** NEVER ACCESS DIRECTLY - USE GETTER */
protected GunConfig[] configs_DNA;
public WeaponQuality quality;
public GunConfig getConfig(ItemStack stack, int index) {
GunConfig cfg = configs_DNA[index];
return WeaponUpgradeManager.eval(cfg, stack, O_GUNCONFIG + index, this);
}
public ItemGunBaseNT(GunConfig... cfg) {
public ItemGunBaseNT(WeaponQuality quality, GunConfig... cfg) {
this.setMaxStackSize(1);
this.configs_DNA = cfg;
this.quality = quality;
this.lastShot = new long[cfg.length];
this.setCreativeTab(MainRegistry.weaponTab);
this.setTextureName(RefStrings.MODID + ":gun_darter");
}
public static enum WeaponQuality {
A_SIDE,
B_SIDE,
LEGENDARY,
SEPCIAL,
SECRET,
DEBUG
}
public static enum GunState {
@ -93,6 +111,29 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IEquipRecei
JAMMED, //gun is jammed, either after reloading or while firing
}
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
int configs = this.configs_DNA.length;
for(int i = 0; i < configs; i++) {
GunConfig config = getConfig(stack, i);
for(Receiver rec : config.getReceivers(stack)) {
IMagazine mag = rec.getMagazine(stack);
list.add("Ammo: " + mag.getIconForHUD(stack).getDisplayName() + " " + mag.reportAmmoStateForHUD(stack));
list.add("Base Damage: " + rec.getBaseDamage(stack));
}
}
switch(this.quality) {
case A_SIDE: list.add(EnumChatFormatting.YELLOW + "Standard Arsenal"); break;
case B_SIDE: list.add(EnumChatFormatting.GOLD + "B-Side"); break;
case LEGENDARY: list.add(EnumChatFormatting.RED + "Legendary Weapon"); break;
case SEPCIAL: list.add(EnumChatFormatting.AQUA + "Special Weapon"); break;
case SECRET: list.add(EnumChatFormatting.DARK_RED + "SECRET"); break;
case DEBUG: list.add((BobMathUtil.getBlink() ? EnumChatFormatting.YELLOW : EnumChatFormatting.GOLD) + "DEBUG"); break;
}
}
@Override
public boolean canHandleKeybind(EntityPlayer player, ItemStack stack, EnumKeybind keybind) {
return keybind == EnumKeybind.GUN_PRIMARY || keybind == EnumKeybind.GUN_SECONDARY || keybind == EnumKeybind.GUN_TERTIARY || keybind == EnumKeybind.RELOAD;

View File

@ -7,6 +7,7 @@ import com.hbm.items.weapon.sedna.Crosshair;
import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
@ -33,7 +34,7 @@ public class GunFactory {
ammo_debug_buckshot = new BulletConfig().setItem(ModItems.ammo_12gauge).setSpread(0.1F).setRicochetAngle(45).setProjectiles(6, 6).setCasing(CASING44.clone().register("DEBUG1"));
/// GUNS ///
ModItems.gun_debug = new ItemGunBaseNT(new GunConfig()
ModItems.gun_debug = new ItemGunBaseNT(WeaponQuality.DEBUG, new GunConfig()
.dura(600F).draw(15).inspect(23).crosshair(Crosshair.L_CLASSIC).smoke(Lego.LAMBDA_STANDARD_SMOKE).orchestra(Orchestras.DEBUG_ORCHESTRA)
.rec(new Receiver(0)
.dmg(10F).delay(14).reload(46).jam(23).sound("hbm:weapon.44Shoot", 1.0F, 1.0F)
@ -43,7 +44,7 @@ public class GunFactory {
.pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY) .pr(Lego.LAMBDA_STANDARD_RELOAD) .pt(Lego.LAMBDA_TOGGLE_AIM)
.decider(GunStateDecider.LAMBDA_STANDARD_DECIDER)
.anim(Lego.LAMBDA_DEBUG_ANIMS)
).setUnlocalizedName("gun_debug").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_debug");
XFactoryBlackPowder.init();
XFactory357.init();
@ -75,5 +76,6 @@ public class GunFactory {
G40_FLARE, G40,
ROCKET_HE, ROCKET_HEAT,
FLAME_DIESEL,
M44_EQUESTRIAN, G12_EQUESTRIAN, BMG50_EQUESTRIAN
}
}

View File

@ -14,6 +14,7 @@ import static com.hbm.items.weapon.sedna.factory.XFactoryRocket.*;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.weapon.sedna.*;
import net.minecraftforge.client.MinecraftForgeClient;
@ -28,8 +29,9 @@ public class GunFactoryClient {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_light_revolver_dani, new ItemRenderDANI());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_henry, new ItemRenderHenry());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_greasegun, new ItemRenderGreasegun());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg, new ItemRenderMaresleg());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg, new ItemRenderMaresleg(ResourceManager.maresleg_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg_akimbo, new ItemRenderMareslegAkimbo());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg_broken, new ItemRenderMaresleg(ResourceManager.maresleg_broken_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_flaregun, new ItemRenderFlaregun());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_heavy_revolver, new ItemRenderHeavyRevolver());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_carbine, new ItemRenderCarbine());
@ -105,6 +107,7 @@ public class GunFactoryClient {
((ItemGunBaseNT) ModItems.gun_henry) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_greasegun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_maresleg) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_maresleg_broken) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_flaregun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_heavy_revolver) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
((ItemGunBaseNT) ModItems.gun_carbine) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);

View File

@ -171,15 +171,19 @@ public class Lego {
/** Spawns an EntityBulletBaseMK4 with the loaded bulletcfg */
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_STANDARD_FIRE = (stack, ctx) -> {
doStandardFire(stack, ctx, AnimType.CYCLE);
doStandardFire(stack, ctx, AnimType.CYCLE, true);
};
/** Spawns an EntityBulletBaseMK4 with the loaded bulletcfg, ignores wear */
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_NOWEAR_FIRE = (stack, ctx) -> {
doStandardFire(stack, ctx, AnimType.CYCLE, false);
};
/** Spawns an EntityBulletBaseMK4 with the loaded bulletcfg, then resets lockon progress */
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_LOCKON_FIRE = (stack, ctx) -> {
doStandardFire(stack, ctx, AnimType.CYCLE);
doStandardFire(stack, ctx, AnimType.CYCLE, true);
ItemGunBaseNT.setIsLockedOn(stack, false);
};
public static void doStandardFire(ItemStack stack, LambdaContext ctx, AnimType anim) {
public static void doStandardFire(ItemStack stack, LambdaContext ctx, AnimType anim, boolean calcWear) {
EntityLivingBase entity = ctx.entity;
EntityPlayer player = ctx.getPlayer();
int index = ctx.configIndex;
@ -203,15 +207,15 @@ public class Lego {
if(config.projectilesMax > config.projectilesMin) projectiles += entity.getRNG().nextInt(config.projectilesMax - config.projectilesMin + 1);
for(int i = 0; i < projectiles; i++) {
float damage = primary.getBaseDamage(stack) * getStandardWearDamage(stack, ctx.config, index);
float spread = primary.getGunSpread(stack) * aim + getStandardWearSpread(stack, ctx.config, index) * 0.125F;
float damage = primary.getBaseDamage(stack) * (calcWear ? getStandardWearDamage(stack, ctx.config, index) : 1);
float spread = primary.getGunSpread(stack) * aim + (calcWear ? getStandardWearSpread(stack, ctx.config, index) * 0.125F : 0F);
EntityBulletBaseMK4 mk4 = new EntityBulletBaseMK4(entity, config, damage, spread, sideOffset, heightOffset, forwardOffset);
if(ItemGunBaseNT.getIsLockedOn(stack)) mk4.lockonTarget = entity.worldObj.getEntityByID(ItemGunBaseNT.getLockonTarget(stack));
entity.worldObj.spawnEntityInWorld(mk4);
}
mag.setAmount(stack, mag.getAmount(stack) - 1);
ItemGunBaseNT.setWear(stack, index, Math.min(ItemGunBaseNT.getWear(stack, index) + config.wear, ctx.config.getDurability(stack)));
if(calcWear) ItemGunBaseNT.setWear(stack, index, Math.min(ItemGunBaseNT.getWear(stack, index) + config.wear, ctx.config.getDurability(stack)));
}
public static float getStandardWearSpread(ItemStack stack, GunConfig config, int index) {

View File

@ -244,7 +244,7 @@ public class Orchestras {
}
};
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_MARESLEG_AKIMBO = (stack, ctx) -> {
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_MARESLEG_SHORT = (stack, ctx) -> {
EntityLivingBase entity = ctx.entity;
if(entity.worldObj.isRemote) return;
AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
@ -268,9 +268,8 @@ public class Orchestras {
}
if(type == AnimType.CYCLE) {
if(timer == 14) {
int offset = ctx.configIndex == 0 ? -1 : 1;
SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack);
if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.3125, -0.125, aiming ? -0.125 * offset : -0.375D * offset, 0, -0.08, 0, 0.01, casing.getName(), true, 60, 0.5D, 20);
if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.3125, -0.125, aiming ? -0.125 : -0.375D, 0, -0.08, 0, 0.01, casing.getName(), true, 60, 0.5D, 20);
}
if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F);
}
@ -280,6 +279,26 @@ public class Orchestras {
}
};
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_MARESLEG_AKIMBO = (stack, ctx) -> {
EntityLivingBase entity = ctx.entity;
if(entity.worldObj.isRemote) return;
AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex);
boolean aiming = ItemGunBaseNT.getIsAiming(stack);
if(type == AnimType.CYCLE) {
if(timer == 14) {
int offset = ctx.configIndex == 0 ? -1 : 1;
SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack);
if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.3125, -0.125, aiming ? -0.125 * offset : -0.375D * offset, 0, -0.08, 0, 0.01, casing.getName(), true, 60, 0.5D, 20);
}
if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F);
return;
}
ORCHESTRA_MARESLEG_SHORT.accept(stack, ctx);
};
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_FLAREGUN = (stack, ctx) -> {
EntityLivingBase entity = ctx.entity;
if(entity.worldObj.isRemote) return;

View File

@ -11,10 +11,10 @@ import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
import com.hbm.lib.RefStrings;
import com.hbm.main.ResourceManager;
import com.hbm.particle.SpentCasing;
import com.hbm.particle.SpentCasing.CasingType;
@ -55,7 +55,7 @@ public class XFactory12ga {
BulletConfig[] all = new BulletConfig[] {g12_bp, g12_bp_magnum, g12_bp_slug, g12, g12_slug, g12_flechette, g12_magnum, g12_explosive, g12_phosphorus, g12_anthrax};
ModItems.gun_maresleg = new ItemGunBaseNT(new GunConfig()
ModItems.gun_maresleg = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(600).draw(20).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(12F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -64,8 +64,8 @@ public class XFactory12ga {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_MARESLEG_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG)
).setUnlocalizedName("gun_maresleg").setTextureName(RefStrings.MODID + ":gun_darter");
ModItems.gun_maresleg_akimbo = new ItemGunBaseNT(
).setUnlocalizedName("gun_maresleg");
ModItems.gun_maresleg_akimbo = new ItemGunBaseNT(WeaponQuality.B_SIDE,
new GunConfig().dura(600).draw(20).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(12F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -84,9 +84,19 @@ public class XFactory12ga {
.ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD)
.decider(GunStateDecider.LAMBDA_STANDARD_DECIDER)
.anim(LAMBDA_MARESLEG_SHORT_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG_AKIMBO)
).setUnlocalizedName("gun_maresleg_akimbo").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_maresleg_akimbo");
ModItems.gun_maresleg_broken = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig()
.dura(0).draw(20).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(12F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
.mag(new MagazineSingleReload(0, 6).addConfigs(all))
.offset(0.75, -0.0625, -0.1875)
.canFire(Lego.LAMBDA_STANDARD_CAN_FIRE).fire(Lego.LAMBDA_NOWEAR_FIRE).recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_MARESLEG_SHORT_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG_SHORT)
).setUnlocalizedName("gun_maresleg_broken");
ModItems.gun_liberator = new ItemGunBaseNT(new GunConfig()
ModItems.gun_liberator = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(200).draw(20).inspect(21).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(12F).delay(20).rounds(4).reload(25, 15, 7, 0).jam(45).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -95,9 +105,9 @@ public class XFactory12ga {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_LIBERATOR_ANIMS).orchestra(Orchestras.ORCHESTRA_LIBERATOR)
).setUnlocalizedName("gun_liberator").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_liberator");
ModItems.gun_spas12 = new ItemGunBaseNT(new GunConfig()
ModItems.gun_spas12 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(600).draw(20).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(12F).delay(20).reload(5, 10, 10, 10, 0).jam(24).sound("hbm:weapon.shotgunShoot", 1.0F, 1.0F)
@ -106,9 +116,9 @@ public class XFactory12ga {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration().ps(LAMBDA_SPAS_SECONDARY).pt(null)
.anim(LAMBDA_SPAS_ANIMS).orchestra(Orchestras.ORCHESTRA_SPAS)
).setUnlocalizedName("gun_spas12").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_spas12");
ModItems.gun_autoshotgun = new ItemGunBaseNT(new GunConfig()
ModItems.gun_autoshotgun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(2_000).draw(10).inspect(33).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(15F).delay(10).auto(true).autoAfterDry(true).dryfireAfterAuto(true).reload(44).jam(19).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -117,7 +127,7 @@ public class XFactory12ga {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_SHREDDER_ANIMS).orchestra(Orchestras.ORCHESTRA_SHREDDER)
).setUnlocalizedName("gun_autoshotgun").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_autoshotgun");
}
//TODO: make generic code for this crap
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_SPAS_SECONDARY = (stack, ctx) -> {

View File

@ -11,9 +11,9 @@ import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.lib.RefStrings;
import com.hbm.main.ResourceManager;
import com.hbm.particle.SpentCasing;
import com.hbm.particle.SpentCasing.CasingType;
@ -42,7 +42,7 @@ public class XFactory22lr {
p22_ap = new BulletConfig().setItem(EnumAmmo.P22_AP).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setArmorPiercing(0.15F)
.setCasing(casing22.clone().setColor(SpentCasing.COLOR_CASE_44).register("p22ap"));
ModItems.gun_am180 = new ItemGunBaseNT(new GunConfig()
ModItems.gun_am180 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(177 * 25).draw(15).inspect(38).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
.dmg(5F).delay(1).dry(10).auto(true).spread(0.02F).reload(66).jam(30).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -51,7 +51,7 @@ public class XFactory22lr {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_AM180_ANIMS).orchestra(Orchestras.ORCHESTRA_AM180)
).setUnlocalizedName("gun_am180").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_am180");
}
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_SMOKE = (stack, ctx) -> {

View File

@ -8,9 +8,9 @@ import com.hbm.items.weapon.sedna.Crosshair;
import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.lib.RefStrings;
import com.hbm.render.anim.BusAnimation;
import com.hbm.render.anim.BusAnimationKeyframe.IType;
import com.hbm.render.anim.BusAnimationSequence;
@ -33,7 +33,7 @@ public class XFactory357 {
m357_ap = new BulletConfig().setItem(EnumAmmo.M357_AP).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setArmorPiercing(0.15F);
m357_express = new BulletConfig().setItem(EnumAmmo.M357_EXPRESS).setDoesPenetrate(true).setDamage(1.5F).setArmorPiercing(0.1F).setWear(1.5F);
ModItems.gun_light_revolver = new ItemGunBaseNT(new GunConfig()
ModItems.gun_light_revolver = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(300).draw(4).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(10F).delay(16).reload(55).jam(45).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -42,9 +42,9 @@ public class XFactory357 {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_ATLAS_ANIMS).orchestra(Orchestras.ORCHESTRA_ATLAS)
).setUnlocalizedName("gun_light_revolver").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_light_revolver");
ModItems.gun_light_revolver_dani = new ItemGunBaseNT(
ModItems.gun_light_revolver_dani = new ItemGunBaseNT(WeaponQuality.LEGENDARY,
new GunConfig().dura(30_000).draw(20).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(10F).delay(11).reload(55).jam(45).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -63,7 +63,7 @@ public class XFactory357 {
.ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD)
.decider(GunStateDecider.LAMBDA_STANDARD_DECIDER)
.anim(LAMBDA_DANI_ANIMS).orchestra(Orchestras.ORCHESTRA_DANI)
).setUnlocalizedName("gun_light_revolver_dani").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_light_revolver_dani");
}
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_ATLAS_ANIMS = (stack, type) -> {

View File

@ -11,9 +11,9 @@ import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
import com.hbm.lib.RefStrings;
import com.hbm.main.ResourceManager;
import com.hbm.particle.SpentCasing;
import com.hbm.particle.SpentCasing.CasingType;
@ -39,7 +39,7 @@ public class XFactory40mm {
g40_flare = new BulletConfig().setItem(EnumAmmo.G40_FLARE).setLife(100).setVel(2F).setGrav(0.035D).setRenderRotations(false).setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(0x9E1616).setScale(2F).register("G40Flare"));
g40 = new BulletConfig().setItem(EnumAmmo.G40).setLife(200).setOnImpact(LAMBDA_STANDARD_EXPLODE).setVel(2F).setGrav(0.035D).setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(SpentCasing.COLOR_CASE_40MM).setScale(2, 2F, 1.5F).register("G40"));
ModItems.gun_flaregun = new ItemGunBaseNT(new GunConfig()
ModItems.gun_flaregun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(100).draw(7).inspect(39).crosshair(Crosshair.L_CIRCUMFLEX).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
.dmg(15F).delay(20).reload(28).jam(33).sound("hbm:weapon.hkShoot", 1.0F, 1.0F)
@ -48,9 +48,9 @@ public class XFactory40mm {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_FLAREGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_FLAREGUN)
).setUnlocalizedName("gun_flaregun").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_flaregun");
ModItems.gun_congolake = new ItemGunBaseNT(new GunConfig()
ModItems.gun_congolake = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(400).draw(7).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCUMFLEX).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
.dmg(30F).delay(24).reload(16, 16, 16, 0).jam(0).sound("hbm:weapon.glShoot", 1.0F, 1.0F)
@ -59,7 +59,7 @@ public class XFactory40mm {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_CONGOLAKE_ANIMS).orchestra(Orchestras.ORCHESTRA_CONGOLAKE)
).setUnlocalizedName("gun_congolake").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_congolake");
}
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_SMOKE = (stack, ctx) -> {

View File

@ -8,10 +8,10 @@ import com.hbm.items.weapon.sedna.Crosshair;
import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
import com.hbm.lib.RefStrings;
import com.hbm.particle.SpentCasing;
import com.hbm.particle.SpentCasing.CasingType;
import com.hbm.render.anim.BusAnimation;
@ -42,7 +42,7 @@ public class XFactory44 {
m44_express = new BulletConfig().setItem(EnumAmmo.M44_EXPRESS).setDoesPenetrate(true).setDamage(1.5F).setArmorPiercing(0.1F).setWear(1.5F)
.setCasing(casing44.clone().register("m44express"));
ModItems.gun_henry = new ItemGunBaseNT(new GunConfig()
ModItems.gun_henry = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(300).draw(15).inspect(23).reloadSequential(true).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(12F).delay(20).reload(25, 11, 14, 8).jam(45).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -51,9 +51,9 @@ public class XFactory44 {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_HENRY_ANIMS).orchestra(Orchestras.ORCHESTRA_HENRY)
).setUnlocalizedName("gun_henry").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_henry");
ModItems.gun_heavy_revolver = new ItemGunBaseNT(new GunConfig()
ModItems.gun_heavy_revolver = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(600F).draw(10).inspect(23).crosshair(Crosshair.L_CLASSIC).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(10F).delay(14).reload(46).jam(23).sound("hbm:weapon.44Shoot", 1.0F, 1.0F)
@ -63,7 +63,7 @@ public class XFactory44 {
.pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY) .pr(Lego.LAMBDA_STANDARD_RELOAD) .pt(Lego.LAMBDA_TOGGLE_AIM)
.decider(GunStateDecider.LAMBDA_STANDARD_DECIDER)
.anim(LAMBDA_NOPIP_ANIMS).orchestra(Orchestras.ORCHESTRA_NOPIP)
).setUnlocalizedName("gun_heavy_revolver").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_heavy_revolver");
}
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_HENRY_ANIMS = (stack, type) -> {

View File

@ -10,9 +10,9 @@ import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.lib.RefStrings;
import com.hbm.particle.SpentCasing;
import com.hbm.particle.SpentCasing.CasingType;
import com.hbm.render.anim.BusAnimation;
@ -43,7 +43,7 @@ public class XFactory50 {
bmg50_du = new BulletConfig().setItem(EnumAmmo.BMG50_DU).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(2.5F).setArmorPiercing(0.25F)
.setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50du"));
ModItems.gun_m2 = new ItemGunBaseNT(new GunConfig()
ModItems.gun_m2 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(3_000).draw(10).inspect(31).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
.dmg(5F).delay(2).dry(10).auto(true).spread(0.005F).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -52,7 +52,7 @@ public class XFactory50 {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_M2_ANIMS).orchestra(Orchestras.ORCHESTRA_M2)
).setUnlocalizedName("gun_m2").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_m2");
}
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_SMOKE = (stack, ctx) -> {

View File

@ -10,9 +10,9 @@ import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.lib.RefStrings;
import com.hbm.particle.SpentCasing;
import com.hbm.particle.SpentCasing.CasingType;
import com.hbm.render.anim.BusAnimation;
@ -40,7 +40,7 @@ public class XFactory556mm {
r556_ap = new BulletConfig().setItem(EnumAmmo.R556_AP).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setArmorPiercing(0.15F)
.setCasing(casing556.clone().setColor(SpentCasing.COLOR_CASE_44).register("r556ap"));
ModItems.gun_g3 = new ItemGunBaseNT(new GunConfig()
ModItems.gun_g3 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(3_000).draw(10).inspect(33).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
.dmg(15F).delay(2).auto(true).dry(15).spread(0.0F).reload(50).jam(47).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -49,7 +49,7 @@ public class XFactory556mm {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration().ps(Lego.LAMBDA_STANDARD_CLICK_SECONDARY)
.anim(LAMBDA_G3_ANIMS).orchestra(Orchestras.ORCHESTRA_G3)
).setUnlocalizedName("gun_g3").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_g3");
}
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_SMOKE = (stack, ctx) -> {

View File

@ -10,9 +10,9 @@ import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.lib.RefStrings;
import com.hbm.particle.SpentCasing;
import com.hbm.particle.SpentCasing.CasingType;
import com.hbm.render.anim.BusAnimation;
@ -43,7 +43,7 @@ public class XFactory762mm {
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"));
ModItems.gun_carbine = new ItemGunBaseNT(new GunConfig()
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)
.rec(new Receiver(0)
.dmg(5F).delay(5).dry(15).spread(0.0F).reload(30, 0, 15, 0).jam(60).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -52,7 +52,7 @@ public class XFactory762mm {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_CARBINE_ANIMS).orchestra(Orchestras.ORCHESTRA_CARBIBE)
).setUnlocalizedName("gun_carbine").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_carbine");
}
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_SMOKE = (stack, ctx) -> {

View File

@ -10,9 +10,9 @@ import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.lib.RefStrings;
import com.hbm.particle.SpentCasing;
import com.hbm.particle.SpentCasing.CasingType;
import com.hbm.render.anim.BusAnimation;
@ -40,7 +40,7 @@ public class XFactory9mm {
p9_ap = new BulletConfig().setItem(EnumAmmo.P9_AP).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setArmorPiercing(0.15F)
.setCasing(casing9.clone().setColor(SpentCasing.COLOR_CASE_44).register("p9ap"));
ModItems.gun_greasegun = new ItemGunBaseNT(new GunConfig()
ModItems.gun_greasegun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(3_000).draw(15).inspect(31).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
.dmg(5F).delay(4).dry(40).auto(true).spread(0.015F).reload(60).jam(55).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -49,9 +49,9 @@ public class XFactory9mm {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_GREASEGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_GREASEGUN)
).setUnlocalizedName("gun_greasegun").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_greasegun");
ModItems.gun_lag = new ItemGunBaseNT(new GunConfig()
ModItems.gun_lag = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(1_700).draw(15).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
.dmg(15F).delay(4).dry(40).spread(0.005F).reload(60).jam(55).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -60,9 +60,9 @@ public class XFactory9mm {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_LAG_ANIMS).orchestra(Orchestras.ORCHESTRA_LAG)
).setUnlocalizedName("gun_lag").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_lag");
ModItems.gun_uzi = new ItemGunBaseNT(new GunConfig()
ModItems.gun_uzi = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(3_000).draw(15).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
.dmg(7.5F).delay(2).dry(25).auto(true).spread(0.005F).reload(55).jam(50).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -71,7 +71,7 @@ public class XFactory9mm {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_UZI_ANIMS).orchestra(Orchestras.ORCHESTRA_UZI)
).setUnlocalizedName("gun_uzi").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_uzi");
}
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_SMOKE = (stack, ctx) -> {

View File

@ -8,9 +8,9 @@ import com.hbm.items.weapon.sedna.Crosshair;
import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.lib.RefStrings;
import com.hbm.render.anim.BusAnimation;
import com.hbm.render.anim.BusAnimationSequence;
import com.hbm.render.anim.BusAnimationKeyframe.IType;
@ -27,7 +27,7 @@ public class XFactoryBlackPowder {
BulletConfig iron = new BulletConfig().setItem(EnumAmmo.STONE_IRON).setSpread(0F).setRicochetAngle(90).setRicochetCount(5).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(2F);
BulletConfig shot = new BulletConfig().setItem(EnumAmmo.STONE_SHOT).setSpread(0.1F).setRicochetAngle(45).setProjectiles(6, 6).setDamage(0.5F);
ModItems.gun_pepperbox = new ItemGunBaseNT(new GunConfig()
ModItems.gun_pepperbox = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(300).draw(4).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(5F).delay(27).reload(67).jam(58).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
@ -35,7 +35,7 @@ public class XFactoryBlackPowder {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_PEPPERBOX_ANIMS).orchestra(Orchestras.ORCHESTRA_PEPPERBOX)
).setUnlocalizedName("gun_pepperbox").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_pepperbox");
}
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_PEPPERBOX_ANIMS = (stack, type) -> {

View File

@ -8,11 +8,11 @@ import com.hbm.items.weapon.sedna.Crosshair;
import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.impl.ItemGunChemthrower;
import com.hbm.items.weapon.sedna.mags.MagazineFluid;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.main.ResourceManager;
import com.hbm.render.anim.BusAnimation;
@ -40,7 +40,7 @@ public class XFactoryFlamer {
}
});
ModItems.gun_flamer = new ItemGunBaseNT(new GunConfig()
ModItems.gun_flamer = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(20_000).draw(10).inspect(17).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.dmg(10F).delay(1).auto(true).reload(90).jam(17)
@ -49,9 +49,9 @@ public class XFactoryFlamer {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_FLAMER_ANIMS).orchestra(Orchestras.ORCHESTRA_FLAMER)
).setUnlocalizedName("gun_flamer").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_flamer");
ModItems.gun_chemthrower = new ItemGunChemthrower(new GunConfig()
ModItems.gun_chemthrower = new ItemGunChemthrower(WeaponQuality.A_SIDE, new GunConfig()
.dura(90_000).draw(10).inspect(17).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
.delay(1).auto(true)
@ -60,7 +60,7 @@ public class XFactoryFlamer {
.canFire(ItemGunChemthrower.LAMBDA_CAN_FIRE).fire(ItemGunChemthrower.LAMBDA_FIRE))
.pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).decider(GunStateDecider.LAMBDA_STANDARD_DECIDER)
.anim(LAMBDA_CHEMTHROWER_ANIMS).orchestra(Orchestras.ORCHESTRA_CHEMTHROWER)
).setUnlocalizedName("gun_chemthrower").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_chemthrower");
}
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_FLAMER_ANIMS = (stack, type) -> {

View File

@ -12,12 +12,12 @@ import com.hbm.items.weapon.sedna.GunConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.impl.ItemGunStinger;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
import com.hbm.lib.Library;
import com.hbm.lib.RefStrings;
import com.hbm.render.anim.BusAnimation;
import com.hbm.render.anim.BusAnimationSequence;
import com.hbm.render.anim.BusAnimationKeyframe.IType;
@ -80,7 +80,7 @@ public class XFactoryRocket {
rocket_qd_heat = new BulletConfig().setItem(EnumAmmo.ROCKET_HEAT).setLife(400).setDamage(1.5F).setSelfDamageDelay(10).setVel(0F).setGrav(0D)
.setOnImpact(LAMBDA_STANDARD_EXPLODE_HEAT).setOnEntityHit(null).setOnRicochet(null).setOnUpdate(LAMBDA_STEERING_ACCELERATE);
ModItems.gun_panzerschreck = new ItemGunBaseNT(new GunConfig()
ModItems.gun_panzerschreck = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(300).draw(7).inspect(40).crosshair(Crosshair.L_CIRCUMFLEX)
.rec(new Receiver(0)
.dmg(25F).delay(5).reload(50).jam(40).sound("hbm:weapon.rpgShoot", 1.0F, 1.0F)
@ -89,9 +89,9 @@ public class XFactoryRocket {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_PANZERSCHRECK_ANIMS).orchestra(Orchestras.ORCHESTRA_PANERSCHRECK)
).setUnlocalizedName("gun_panzerschreck").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_panzerschreck");
ModItems.gun_stinger = new ItemGunStinger(new GunConfig()
ModItems.gun_stinger = new ItemGunStinger(WeaponQuality.A_SIDE, new GunConfig()
.dura(300).draw(7).inspect(40).crosshair(Crosshair.L_BOX_OUTLINE)
.rec(new Receiver(0)
.dmg(25F).delay(5).reload(50).jam(40).sound("hbm:weapon.rpgShoot", 1.0F, 1.0F)
@ -100,9 +100,9 @@ public class XFactoryRocket {
.setupLockonFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration().ps(LAMBDA_STINGER_SECONDARY_PRESS).rs(LAMBDA_STINGER_SECONDARY_RELEASE)
.anim(LAMBDA_PANZERSCHRECK_ANIMS).orchestra(Orchestras.ORCHESTRA_STINGER)
).setUnlocalizedName("gun_stinger").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_stinger");
ModItems.gun_quadro = new ItemGunBaseNT(new GunConfig()
ModItems.gun_quadro = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(300).draw(7).inspect(40).crosshair(Crosshair.L_CIRCUMFLEX).hideCrosshair(false)
.rec(new Receiver(0)
.dmg(25F).delay(10).reload(55).jam(40).sound("hbm:weapon.rpgShoot", 1.0F, 1.0F)
@ -111,7 +111,7 @@ public class XFactoryRocket {
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
.setupStandardConfiguration()
.anim(LAMBDA_QUADRO_ANIMS).orchestra(Orchestras.ORCHESTRA_QUADRO)
).setUnlocalizedName("gun_quadro").setTextureName(RefStrings.MODID + ":gun_darter");
).setUnlocalizedName("gun_quadro");
}
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_STINGER_SECONDARY_PRESS = (stack, ctx) -> { ItemGunStinger.setIsLockingOn(stack, true); };

View File

@ -23,8 +23,8 @@ public class ItemGunChemthrower extends ItemGunBaseNT implements IFillableItem {
public static final int CONSUMPTION = 3;
public ItemGunChemthrower(GunConfig... cfg) {
super(cfg);
public ItemGunChemthrower(WeaponQuality quality, GunConfig... cfg) {
super(quality, cfg);
}
@Override

View File

@ -27,8 +27,8 @@ public class ItemGunStinger extends ItemGunBaseNT {
public static float prevLockon;
public static float lockon;
public ItemGunStinger(GunConfig... cfg) {
super(cfg);
public ItemGunStinger(WeaponQuality quality, GunConfig... cfg) {
super(quality, cfg);
}
@Override

View File

@ -137,6 +137,13 @@ public class ClientProxy extends ServerProxy {
public RenderInfoSystem theInfoSystem = new RenderInfoSystem();
/** Runs just before item an block init */
@Override
public void registerPreRenderInfo() {
AdvancedModelLoader.registerModelHandler(new HmfModelLoader());
}
/** Runs right after item and block init */
@Override
public void registerRenderInfo() {
@ -145,8 +152,6 @@ public class ClientProxy extends ServerProxy {
registerClientEventHandler(new EventHandlerParticleEngine());
registerClientEventHandler(theInfoSystem);
AdvancedModelLoader.registerModelHandler(new HmfModelLoader());
registerTileEntitySpecialRenderer();
registerItemRenderer();
registerEntityRenderer();

View File

@ -273,6 +273,7 @@ public class MainRegistry {
* This "fix" just makes sure that the material system is loaded first no matter what. */
Mats.MAT_STONE.getUnlocalizedName();
Fluids.init();
proxy.registerPreRenderInfo();
ModBlocks.mainRegistry();
ModItems.mainRegistry();
proxy.registerRenderInfo();

View File

@ -974,6 +974,7 @@ public class ResourceManager {
public static final ResourceLocation henry_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/henry.png");
public static final ResourceLocation greasegun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/greasegun.png");
public static final ResourceLocation maresleg_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/maresleg.png");
public static final ResourceLocation maresleg_broken_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/maresleg_broken.png");
public static final ResourceLocation flaregun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flaregun.png");
public static final ResourceLocation heavy_revolver_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/heavy_revolver.png");
public static final ResourceLocation carbine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/huntsman.png");

View File

@ -28,7 +28,8 @@ public class ServerProxy {
public static final int ID_TOOLABILITY = 9;
public static final int ID_GUN_MODE = 10;
public static final int ID_GAS_HAZARD = 11;
public void registerPreRenderInfo() { }
public void registerRenderInfo() { }
public void registerTileEntitySpecialRenderer() { }
public void registerItemRenderer() { }

View File

@ -2,14 +2,22 @@ package com.hbm.render.item.weapon.sedna;
import org.lwjgl.opengl.GL11;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.main.ResourceManager;
import com.hbm.render.anim.HbmAnimations;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
public class ItemRenderMaresleg extends ItemRenderWeaponBase {
public ResourceLocation texture;
public ItemRenderMaresleg(ResourceLocation texture) {
this.texture = texture;
}
@Override
protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; }
@ -28,14 +36,17 @@ public class ItemRenderMaresleg extends ItemRenderWeaponBase {
public void renderFirstPerson(ItemStack stack) {
ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem();
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.maresleg_tex);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
double scale = 0.375D;
GL11.glScaled(scale, scale, scale);
boolean shortened = getShort(stack);
double[] equip = HbmAnimations.getRelevantTransformation("EQUIP");
double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL");
double[] lever = HbmAnimations.getRelevantTransformation("LEVER");
double[] turn = HbmAnimations.getRelevantTransformation("TURN");
double[] flip = HbmAnimations.getRelevantTransformation("FLIP");
double[] lift = HbmAnimations.getRelevantTransformation("LIFT");
double[] shell = HbmAnimations.getRelevantTransformation("SHELL");
double[] flag = HbmAnimations.getRelevantTransformation("FLAG");
@ -54,16 +65,23 @@ public class ItemRenderMaresleg extends ItemRenderWeaponBase {
GL11.glRotated(equip[0], -1, 0, 0);
GL11.glTranslated(0, 0, 4);
GL11.glTranslated(0, 0, -2);
GL11.glRotated(flip[0], -1, 0, 0);
GL11.glTranslated(0, 0, 2);
GL11.glPushMatrix();
GL11.glTranslated(0, 1, 8);
GL11.glTranslated(0, 1, shortened ? 3.75 : 8);
GL11.glRotated(turn[2], 0, 0, -1);
GL11.glRotated(flip[0], 1, 0, 0);
GL11.glRotated(90, 0, 1, 0);
this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.25D);
GL11.glPopMatrix();
ResourceManager.maresleg.renderPart("Gun");
ResourceManager.maresleg.renderPart("Stock");
ResourceManager.maresleg.renderPart("Barrel");
if(!shortened) {
ResourceManager.maresleg.renderPart("Stock");
ResourceManager.maresleg.renderPart("Barrel");
}
GL11.glPushMatrix();
GL11.glTranslated(0, 0.125, -2.875);
@ -87,7 +105,7 @@ public class ItemRenderMaresleg extends ItemRenderWeaponBase {
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPushMatrix();
GL11.glTranslated(0, 1, 8);
GL11.glTranslated(0, 1, shortened ? 3.75 : 8);
GL11.glRotated(90, 0, 1, 0);
GL11.glRotated(90 * gun.shotRand, 1, 0, 0);
this.renderMuzzleFlash(gun.lastShot[0], 75, 5);
@ -106,23 +124,39 @@ public class ItemRenderMaresleg extends ItemRenderWeaponBase {
@Override
public void setupInv(ItemStack stack) {
super.setupInv(stack);
double scale = 1.4375D;
GL11.glScaled(scale, scale, scale);
GL11.glRotated(25, 1, 0, 0);
GL11.glRotated(45, 0, 1, 0);
GL11.glTranslated(-0.5, 0.5, 0);
if(getShort(stack)) {
double scale = 2.5D;
GL11.glScaled(scale, scale, scale);
GL11.glRotated(25, 1, 0, 0);
GL11.glRotated(45, 0, 1, 0);
GL11.glTranslated(-1, 0, 0);
} else {
double scale = 1.4375D;
GL11.glScaled(scale, scale, scale);
GL11.glRotated(25, 1, 0, 0);
GL11.glRotated(45, 0, 1, 0);
GL11.glTranslated(-0.5, 0.5, 0);
}
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.maresleg_tex);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
ResourceManager.maresleg.renderPart("Gun");
ResourceManager.maresleg.renderPart("Stock");
ResourceManager.maresleg.renderPart("Barrel");
ResourceManager.maresleg.renderPart("Lever");
if(!getShort(stack)) {
ResourceManager.maresleg.renderPart("Stock");
ResourceManager.maresleg.renderPart("Barrel");
}
GL11.glShadeModel(GL11.GL_FLAT);
}
public boolean getShort(ItemStack stack) {
return stack.getItem() == ModItems.gun_maresleg_broken;
}
}

View File

@ -1150,16 +1150,56 @@ item.ammo_shell.name=240mm Geschoss
item.ammo_shell_apfsds_du.name=240mm APFSDS-DU
item.ammo_shell_apfsds_t.name=240mm APFSDS-T
item.ammo_shell_explosive.name=240mm HE-Geschoss
item.ammo_standard.bmg50_ap.name=.50 BMG Patrone (Panzerbrechend)
item.ammo_standard.bmg50_du.name=.50 BMG Patrone (Urangeschoss)
item.ammo_standard.bmg50_equestrian.name=.50 BMG Zerstörer
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.flame_diesel.name=Dieseltank
item.ammo_standard.g12.name=Kaliber 12 Schrot
item.ammo_standard.g12_anthrax.name=Kaliber 12 Anthrax
item.ammo_standard.g12_bp.name=Kaliber 12 Schwarzpulver
item.ammo_standard.g12_bp_magnum.name=Kaliber 12 Schwarzpulver Magnum
item.ammo_standard.g12_bp_slug.name=Kaliber 12 Schwarzpulver Laufgeschoss
item.ammo_standard.g12_equestrian.name=Kaliber 12 Gleisnägel
item.ammo_standard.g12_explosive.name=Kaliber 12 Explosivgeschoss
item.ammo_standard.g12_flechette.name=Kaliber 12 Flechett
item.ammo_standard.g12_magnum.name=Kaliber 12 Magnum
item.ammo_standard.g12_phosphorus.name=Kaliber 12 Phosphor
item.ammo_standard.g12_slug.name=Kaliber 12 Laufgeschoss
item.ammo_standard.g40.name=40mm Granate
item.ammo_standard.g40_flare.name=Signalpatrone
item.ammo_standard.m357_ap.name=.357 Magnumkugel (Panzerbrechend)
item.ammo_standard.m357_express.name=.357 Magnumkugel (VMG Express)
item.ammo_standard.m357_fmj.name=.357 Magnumkugel (Vollmantelgeschoss)
item.ammo_standard.m357_jhp.name=.357 Magnumkugel (Hohlspitz)
item.ammo_standard.m357_sp.name=.357 Magnumkugel (Teilmantelgeschoss)
item.ammo_standard.m44_ap.name=.44 Magnumkugel (Panzerbrechend)
item.ammo_standard.m44_equestrian.name=.44 Magnum Schädelsprenger
item.ammo_standard.m44_express.name=.44 Magnumkugel (VMG Express)
item.ammo_standard.m44_fmj.name=.44 Magnumkugel (Vollmantelgeschoss)
item.ammo_standard.m44_jhp.name=.44 Magnumkugel (Hohlspitz)
item.ammo_standard.m44_sp.name=.44 Magnumkugel (Teilmantelgeschoss)
item.ammo_standard.p22_ap.name=.22 lfB Patrone (Panzerbrechend)
item.ammo_standard.p22_fmj.name=.22 lfB Patrone (Vollmantelgeschoss)
item.ammo_standard.p22_jhp.name=.22 lfB Patrone (Hohlspitz)
item.ammo_standard.p22_sp.name=.22 lfB Patrone (Teilmantelgeschoss)
item.ammo_standard.p9_ap.name=9mm Patrone (Panzerbrechend)
item.ammo_standard.p9_fmj.name=9mm Patrone (Vollmantelgeschoss)
item.ammo_standard.p9_jhp.name=9mm Patrone (Hohlspitz)
item.ammo_standard.p9_sp.name=.9mm Patrone (Teilmantelgeschoss)
item.ammo_standard.r556_ap.name=5,56mm Patrone (Panzerbrechend)
item.ammo_standard.r556_fmj.name=5,56mm Patrone (Vollmantelgeschoss)
item.ammo_standard.r556_jhp.name=5,56mm Patrone (Hohlspitz)
item.ammo_standard.r556_sp.name=5,56mm Patrone (Teilmantelgeschoss)
item.ammo_standard.r762_ap.name=7,62mm Patrone (Panzerbrechend)
item.ammo_standard.r762_du.name=7,62mm Patrone (Urangeschoss)
item.ammo_standard.r762_fmj.name=7,62mm Patrone (Vollmantelgeschoss)
item.ammo_standard.r762_jhp.name=7,62mm Patrone (Hohlspitz)
item.ammo_standard.r762_sp.name=7,62mm Patrone (Teilmantelgeschoss)
item.ammo_standard.rocket_he.name=Explosivrakete
item.ammo_standard.rocket_heat.name=Hohlladungsrakete
item.ammo_standard.stone.name=Kugel und Pulver
item.ammo_standard.stone_ap.name=Feuerstein und Pulver
item.ammo_standard.stone_iron.name=Eisenkugel und Pulver
@ -2358,6 +2398,7 @@ item.insert_xsapi.name=XSAPI-Einlage
item.insert_yharonite.name=Yharoniteinlage
item.item_secret.canister.name=Komposit SB-26
item.item_secret.controller.name=Proprietäre Steuereinheit
item.item_secret.selenium_steel.name=Selen-Stahl
item.iv_blood.name=Blutbeutel
item.iv_empty.name=Infusionsbeutel
item.iv_xp.name=Erfahrungsbeutel

View File

@ -1873,16 +1873,56 @@ item.ammo_shell_apfsds_du.name=240mm APFSDS-DU
item.ammo_shell_apfsds_t.name=240mm APFSDS-T
item.ammo_shell_explosive.name=240mm HE Shell
item.ammo_shell_w9.name=240mm W9 Nuclear Shell
item.ammo_standard.bmg50_ap.name=.50 BMG Round (Armor Piercing)
item.ammo_standard.bmg50_du.name=.50 BMG Round (Depleted Uranium)
item.ammo_standard.bmg50_equestrian.name=.50 BMG Demolisher
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.flame_diesel.name=Diesel Tank
item.ammo_standard.g12.name=12 Gauge Buckshot
item.ammo_standard.g12_anthrax.name=12 Gauge Anthrax Shell
item.ammo_standard.g12_bp.name=12 Gauge Black Powder Buckshot
item.ammo_standard.g12_bp_magnum.name=12 Gauge Black Powder Magnum Shell
item.ammo_standard.g12_bp_slug.name=12 Gauge Black Powder Slug
item.ammo_standard.g12_equestrian.name=12 Gauge Railway Spike Shot
item.ammo_standard.g12_explosive.name=12 Gauge Explosive Shell
item.ammo_standard.g12_flechette.name=12 Gauge Flechette Shell
item.ammo_standard.g12_magnum.name=12 Gauge Magnum Shell
item.ammo_standard.g12_phosphorus.name=12 Gauge Phosphorus Shell
item.ammo_standard.g12_slug.name=12 Gauge Slug
item.ammo_standard.g40.name=40mm Grenade
item.ammo_standard.g40_flare.name=Signal Flare
item.ammo_standard.m357_ap.name=.357 Magnum Round (Armor Piercing)
item.ammo_standard.m357_express.name=.357 Magnum Round (FMJ Express)
item.ammo_standard.m357_fmj.name=.357 Magnum Round (Full Metal Jacket)
item.ammo_standard.m357_jhp.name=.357 Magnum Round (Jacketed Hollow Point)
item.ammo_standard.m357_sp.name=.357 Magnum Round (Soft Point)
item.ammo_standard.m44_ap.name=.44 Magnum Round (Armor Piercing)
item.ammo_standard.m44_equestrian.name=.44 Magnum Head-Exploder
item.ammo_standard.m44_express.name=.44 Magnum Round (FMJ Express)
item.ammo_standard.m44_fmj.name=.44 Magnum Round (Full Metal Jacket)
item.ammo_standard.m44_jhp.name=.44 Magnum Round (Jacketed Hollow Point)
item.ammo_standard.m44_sp.name=.44 Magnum Round (Soft Point)
item.ammo_standard.p22_ap.name=.22 LR Round (Armor Piercing)
item.ammo_standard.p22_fmj.name=.22 LR Round (Full Metal Jacket)
item.ammo_standard.p22_jhp.name=.22 LR Round (Jacketed Hollow Point)
item.ammo_standard.p22_sp.name=.22 LR Round (Soft Point)
item.ammo_standard.p9_ap.name=9mm Round (Armor Piercing)
item.ammo_standard.p9_fmj.name=9mm Round (Full Metal Jacket)
item.ammo_standard.p9_jhp.name=9mm Round (Jacketed Hollow Point)
item.ammo_standard.p9_sp.name=.9mm Round (Soft Point)
item.ammo_standard.r556_ap.name=5.56mm Round (Armor Piercing)
item.ammo_standard.r556_fmj.name=5.56mm Round (Full Metal Jacket)
item.ammo_standard.r556_jhp.name=5.56mm Round (Jacketed Hollow Point)
item.ammo_standard.r556_sp.name=5.56mm Round (Soft Point)
item.ammo_standard.r762_ap.name=7.62mm Round (Armor Piercing)
item.ammo_standard.r762_du.name=7.62mm Round (Depleted Uranium)
item.ammo_standard.r762_fmj.name=7.62mm Round (Full Metal Jacket)
item.ammo_standard.r762_jhp.name=7.62mm Round (Jacketed Hollow Point)
item.ammo_standard.r762_sp.name=7.62mm Round (Soft Point)
item.ammo_standard.rocket_he.name=Rocket, High-Explosive
item.ammo_standard.rocket_heat.name=Rocket, Shaped Charge
item.ammo_standard.stone.name=Ball and Powder
item.ammo_standard.stone_ap.name=Flint and Powder
item.ammo_standard.stone_iron.name=Iron Ball and Powder
@ -3183,6 +3223,7 @@ item.insert_xsapi.name=XSAPI Insert
item.insert_yharonite.name=Yharonite Insert
item.item_secret.canister.name=Composition SB-26
item.item_secret.controller.name=Proprietary Control Unit
item.item_secret.selenium_steel.name=Selenium Steel
item.iv_blood.name=Blood Bag
item.iv_empty.name=IV Bag
item.iv_xp.name=Experience Bag

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB