i cast: testicular contortion

This commit is contained in:
Boblet 2025-03-21 15:21:32 +01:00
parent fc716379c9
commit 3ac7a8cdd6
39 changed files with 377 additions and 249 deletions

View File

@ -10,6 +10,14 @@
* Explosive 10 gauge buckshot (unlike 12 gauge which has explosive slugs)
* Lincoln's repeater, a b-side to the lever action rifle
* Weapon modification table
* All weapon tiers have generic upgrades for increasing damage and durability
* Many guns have specialized attachments. Some examples:
* The assault rifle can use silencers, scopes, can have its stock removed and has two different polymer furnitures
* .44 revolvers can use scopes
* All full-length shotguns can have their barrel sawed off
* Most shotguns can make use of a choke to decrease projectile spread (does not work with sawed-offs)
* The grease gun has a modernization package, replacing most parts and increasing most stats
* Some guns have special mod combos that will change the name
## Changed
* Fat mines now use the standardized mini nuke code
@ -31,6 +39,10 @@
* Removed the gemothermal, ZPE and ambient radiation generators from the creative menu
* Disabled the horrid flicker on the quad rocket launcher's antenna, making steered mode look less terrible
* All non-legendary .357 revolvers now fire a quarter of a second faster
* Changed the detonator's recipe to be less archaic
* Crates can now be opened when held
* Crates will not longer show their contents when locked
* Crates found in structures will sometimes contain things that aren't items
## Fixed
* Fixed animation errors on the MAS-36

View File

@ -19,7 +19,6 @@ import com.hbm.handler.threading.PacketThreading;
import com.hbm.items.ModItems;
import com.hbm.lib.ModDamageSource;
import com.hbm.main.ResourceManager;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.AuxParticlePacketNT;
import com.hbm.util.DamageResistanceHandler.DamageClass;

View File

@ -13,7 +13,6 @@ import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard;
import com.hbm.handler.threading.PacketThreading;
import com.hbm.main.MainRegistry;
import com.hbm.main.ResourceManager;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.AuxParticlePacketNT;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;

View File

@ -1509,6 +1509,7 @@ public class ModItems {
public static Item weapon_mod_test;
public static Item weapon_mod_generic;
public static Item weapon_mod_special;
public static Item weapon_mod_caliber;
public static Item crucible;
@ -6493,6 +6494,7 @@ public class ModItems {
GameRegistry.registerItem(weapon_mod_test, weapon_mod_test.getUnlocalizedName());
GameRegistry.registerItem(weapon_mod_generic, weapon_mod_generic.getUnlocalizedName());
GameRegistry.registerItem(weapon_mod_special, weapon_mod_special.getUnlocalizedName());
GameRegistry.registerItem(weapon_mod_caliber, weapon_mod_caliber.getUnlocalizedName());
//Ammo
GameRegistry.registerItem(gun_b92_ammo, gun_b92_ammo.getUnlocalizedName());

View File

@ -4,7 +4,6 @@ import java.util.List;
import com.hbm.extprop.HbmPlayerProps;
import com.hbm.handler.threading.PacketThreading;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.AuxParticlePacketNT;
import com.hbm.render.model.ModelArmorBJ;
import com.hbm.util.ArmorUtil;

View File

@ -5,21 +5,15 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.GeneralConfig;
import com.hbm.explosion.vanillant.ExplosionVNT;
import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsSingle;
import com.hbm.lib.HbmWorldGen;
import com.hbm.lib.Library;
import com.hbm.main.MainRegistry;
import com.hbm.particle.helper.ExplosionCreator;
import com.hbm.tileentity.machine.storage.TileEntityCrateBase;
import com.hbm.tileentity.machine.storage.TileEntitySafe;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.WeightedRandomChestContent;
import net.minecraft.world.World;

View File

@ -7,6 +7,7 @@ import java.util.List;
import java.util.Locale;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.BiConsumer;
import java.util.function.Function;
import com.hbm.config.GeneralConfig;
import com.hbm.handler.HbmKeybinds.EnumKeybind;
@ -42,6 +43,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.MathHelper;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
@ -103,6 +105,7 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IEquipRecei
/** NEVER ACCESS DIRECTLY - USE GETTER */
protected GunConfig[] configs_DNA;
public Function<ItemStack, String> LAMBDA_NAME_MUTATOR;
public WeaponQuality quality;
public GunConfig getConfig(ItemStack stack, int index) {
@ -143,6 +146,21 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IEquipRecei
JAMMED, //forced delay due to jamming
}
public ItemGunBaseNT setNameMutator(Function<ItemStack, String> lambda) {
this.LAMBDA_NAME_MUTATOR = lambda;
return this;
}
public String getItemStackDisplayName(ItemStack stack) {
if(this.LAMBDA_NAME_MUTATOR != null) {
String unloc = this.LAMBDA_NAME_MUTATOR.apply(stack);
if(unloc != null) return (StatCollector.translateToLocal(unloc + ".name")).trim();
}
return super.getItemStackDisplayName(stack);
}
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
@ -174,7 +192,7 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IEquipRecei
case DEBUG: list.add((BobMathUtil.getBlink() ? EnumChatFormatting.YELLOW : EnumChatFormatting.GOLD) + "DEBUG"); break;
}
if(Minecraft.getMinecraft().currentScreen instanceof GUIWeaponTable) {
if(Minecraft.getMinecraft().currentScreen instanceof GUIWeaponTable && !this.recognizedMods.isEmpty()) {
list.add(EnumChatFormatting.RED + "Accepts:");
for(ComparableStack comp : this.recognizedMods) list.add(EnumChatFormatting.RED + " " + comp.toStack().getDisplayName());
}

View File

@ -66,10 +66,12 @@ public class GunFactory {
XFactoryTurret.init();
XFactory10ga.init();
XFactory35800.init();
XFactory45.init();
ModItems.weapon_mod_test = new ItemEnumMulti(EnumModTest.class, true, true).setUnlocalizedName("weapon_mod_test").setMaxStackSize(1);
ModItems.weapon_mod_generic = new ItemEnumMulti(EnumModGeneric.class, true, true).setUnlocalizedName("weapon_mod_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab);
ModItems.weapon_mod_special = new ItemEnumMulti(EnumModSpecial.class, true, true).setUnlocalizedName("weapon_mod_special").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab);
ModItems.weapon_mod_caliber = new ItemEnumMulti(EnumModCaliber.class, true, true).setUnlocalizedName("weapon_mod_caliber").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab);
/// PROXY BULLSHIT ///
MainRegistry.proxy.registerGunCfg();
@ -155,6 +157,11 @@ public class GunFactory {
public static enum EnumModSpecial {
SILENCER, SCOPE, SAW, GREASEGUN, SLOWDOWN,
SPEEDUP, CHOKE, SPEEDLOADER,
FURNITURE_GREEN, FURNITURE_BLACK, BAYONET
FURNITURE_GREEN, FURNITURE_BLACK, BAYONET,
STACK_MAG,
}
public static enum EnumModCaliber {
P9, P45, P22, M357, M44, R556, R762, BMG50,
}
}

View File

@ -8,6 +8,7 @@ import static com.hbm.items.weapon.sedna.factory.XFactory357.*;
import static com.hbm.items.weapon.sedna.factory.XFactory35800.*;
import static com.hbm.items.weapon.sedna.factory.XFactory40mm.*;
import static com.hbm.items.weapon.sedna.factory.XFactory44.*;
import static com.hbm.items.weapon.sedna.factory.XFactory45.*;
import static com.hbm.items.weapon.sedna.factory.XFactory50.*;
import static com.hbm.items.weapon.sedna.factory.XFactory556mm.*;
import static com.hbm.items.weapon.sedna.factory.XFactory75Bolt.*;
@ -122,6 +123,12 @@ public class GunFactoryClient {
p9_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET);
p9_jhp.setRenderer(LegoClient.RENDER_STANDARD_BULLET);
p9_ap.setRenderer(LegoClient.RENDER_AP_BULLET);
p45_sp.setRenderer(LegoClient.RENDER_STANDARD_BULLET);
p45_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET);
p45_jhp.setRenderer(LegoClient.RENDER_STANDARD_BULLET);
p45_ap.setRenderer(LegoClient.RENDER_AP_BULLET);
p45_du.setRenderer(LegoClient.RENDER_DU_BULLET);
r556_sp.setRenderer(LegoClient.RENDER_STANDARD_BULLET);
r556_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET);

View File

@ -920,8 +920,11 @@ public class Orchestras {
if(type == AnimType.CYCLE) {
if(timer == 0) {
SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory);
if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, aiming ? 0.125 : 0.5, aiming ? -0.125 : -0.25, aiming ? -0.25 : -0.5D, 0, 0.18, -0.12, 0.01, (float)entity.getRNG().nextGaussian() * 15F, (float)entity.getRNG().nextGaussian() * 15F, casing.getName());
int rounds = WeaponModManager.hasUpgrade(stack, ctx.configIndex, 208) ? 2 : 1;
for(int i = 0; i < rounds; i++) {
SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory);
if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, aiming ? 0.125 : 0.5, aiming ? -0.125 : -0.25, aiming ? -0.25 : -0.5D, 0, 0.18, -0.12, 0.01, (float)entity.getRNG().nextGaussian() * 15F, (float)entity.getRNG().nextGaussian() * 15F, casing.getName());
}
}
if(timer == (WeaponModManager.hasUpgrade(stack, 0, 207) ? 3 : 1)) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 0.75F);
}

View File

@ -3,6 +3,7 @@ package com.hbm.items.weapon.sedna.factory;
import java.util.List;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Function;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.bomb.BlockDetonatable;
@ -24,6 +25,7 @@ import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret;
import com.hbm.items.weapon.sedna.mags.MagazineBelt;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
import com.hbm.items.weapon.sedna.mods.WeaponModManager;
import com.hbm.main.MainRegistry;
import com.hbm.main.ResourceManager;
import com.hbm.packet.PacketDispatcher;
@ -296,7 +298,8 @@ public class XFactory12ga {
.setupStandardFire().recoil(LAMBDA_RECOIL_MARESLEG))
.setupStandardConfiguration()
.anim(LAMBDA_MARESLEG_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG)
).setUnlocalizedName("gun_maresleg");
).setNameMutator(LAMBDA_NAME_MARESLEG)
.setUnlocalizedName("gun_maresleg");
ModItems.gun_maresleg_akimbo = new ItemGunBaseNT(WeaponQuality.B_SIDE,
new GunConfig().dura(600).draw(5).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
@ -382,6 +385,11 @@ public class XFactory12ga {
).setUnlocalizedName("gun_autoshotgun_sexy");
}
public static Function<ItemStack, String> LAMBDA_NAME_MARESLEG = (stack) -> {
if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SAWED_OFF)) return stack.getUnlocalizedName() + "_short";
return null;
};
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_RECOIL_MARESLEG = (stack, ctx) -> {
ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5));
};

View File

@ -2,6 +2,7 @@ package com.hbm.items.weapon.sedna.factory;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Function;
import com.hbm.entity.projectile.EntityBoxcar;
import com.hbm.entity.projectile.EntityBulletBaseMK4;
@ -20,6 +21,7 @@ import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
import com.hbm.items.weapon.sedna.mods.WeaponModManager;
import com.hbm.lib.RefStrings;
import com.hbm.particle.SpentCasing;
import com.hbm.particle.SpentCasing.CasingType;
@ -114,7 +116,8 @@ public class XFactory44 {
.setupStandardFire().recoil(LAMBDA_RECOIL_NOPIP))
.setupStandardConfiguration()
.anim(LAMBDA_NOPIP_ANIMS).orchestra(Orchestras.ORCHESTRA_NOPIP)
).setUnlocalizedName("gun_heavy_revolver");
).setNameMutator(LAMBDA_NAME_NOPIP)
.setUnlocalizedName("gun_heavy_revolver");
ModItems.gun_heavy_revolver_lilmac = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig()
.dura(31_000).draw(10).inspect(23).crosshair(Crosshair.L_CLASSIC).scopeTexture(scope_lilmac).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0)
@ -148,6 +151,11 @@ public class XFactory44 {
).setUnlocalizedName("gun_hangman");
}
public static Function<ItemStack, String> LAMBDA_NAME_NOPIP = (stack) -> {
if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SCOPE)) return stack.getUnlocalizedName() + "_scoped";
return null;
};
public static BiConsumer<ItemStack, LambdaContext> SMACK_A_FUCKER = (stack, ctx) -> {
if(ItemGunBaseNT.getState(stack, ctx.configIndex) == GunState.IDLE || ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) == AnimType.CYCLE) {
ItemGunBaseNT.setIsAiming(stack, false);

View File

@ -0,0 +1,30 @@
package com.hbm.items.weapon.sedna.factory;
import com.hbm.items.ItemEnums.EnumCasingType;
import com.hbm.items.weapon.sedna.BulletConfig;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.particle.SpentCasing;
import com.hbm.particle.SpentCasing.CasingType;
public class XFactory45 {
public static BulletConfig p45_sp;
public static BulletConfig p45_fmj;
public static BulletConfig p45_jhp;
public static BulletConfig p45_ap;
public static BulletConfig p45_du;
public static void init() {
SpentCasing casing9 = new SpentCasing(CasingType.STRAIGHT).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(1F, 1F, 0.75F);
p45_sp = new BulletConfig().setItem(EnumAmmo.P45_SP).setCasing(EnumCasingType.SMALL, 8)
.setCasing(casing9.clone().register("p45"));
p45_fmj = new BulletConfig().setItem(EnumAmmo.P45_FMJ).setCasing(EnumCasingType.SMALL, 8).setDamage(0.8F).setThresholdNegation(2F).setArmorPiercing(0.1F)
.setCasing(casing9.clone().register("p45fmj"));
p45_jhp = new BulletConfig().setItem(EnumAmmo.P45_JHP).setCasing(EnumCasingType.SMALL, 8).setDamage(1.5F).setHeadshot(1.5F).setArmorPiercing(-0.25F)
.setCasing(casing9.clone().register("p45jhp"));
p45_ap = new BulletConfig().setItem(EnumAmmo.P45_AP).setCasing(EnumCasingType.SMALL_STEEL, 8).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setThresholdNegation(5F).setArmorPiercing(0.15F)
.setCasing(casing9.clone().setColor(SpentCasing.COLOR_CASE_44).register("p45ap"));
p45_du = new BulletConfig().setItem(EnumAmmo.P45_DU).setCasing(EnumCasingType.SMALL_STEEL, 8).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(2.5F).setThresholdNegation(15F).setArmorPiercing(0.25F)
.setCasing(casing9.clone().setColor(SpentCasing.COLOR_CASE_44).register("p45du"));
}
}

View File

@ -2,6 +2,7 @@ package com.hbm.items.weapon.sedna.factory;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Function;
import com.hbm.config.ClientConfig;
import com.hbm.items.ModItems;
@ -16,6 +17,7 @@ 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.mods.WeaponModManager;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.main.ResourceManager;
@ -58,7 +60,7 @@ public class XFactory556mm {
.setupStandardFire().recoil(LAMBDA_RECOIL_G3))
.setupStandardConfiguration().ps(Lego.LAMBDA_STANDARD_CLICK_SECONDARY)
.anim(LAMBDA_G3_ANIMS).orchestra(Orchestras.ORCHESTRA_G3)
).setUnlocalizedName("gun_g3");
).setNameMutator(LAMBDA_NAME_G3).setUnlocalizedName("gun_g3");
ModItems.gun_stg77 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(3_000).draw(10).inspect(125).crosshair(Crosshair.CIRCLE).scopeTexture(scope_lilmac).smoke(LAMBDA_SMOKE)
@ -73,6 +75,16 @@ public class XFactory556mm {
).setUnlocalizedName("gun_stg77");
}
public static Function<ItemStack, String> LAMBDA_NAME_G3 = (stack) -> {
if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SILENCER) &&
WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_NO_STOCK) &&
WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_FURNITURE_BLACK) &&
WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SCOPE)) return stack.getUnlocalizedName() + "_infiltrator";
if(!WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_NO_STOCK) &&
WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_FURNITURE_GREEN)) return stack.getUnlocalizedName() + "_a3";
return null;
};
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_SMOKE = (stack, ctx) -> {
Lego.handleStandardSmoke(ctx.entity, stack, 1500, 0.075D, 1.1D, 0);
};

View File

@ -2,6 +2,7 @@ package com.hbm.items.weapon.sedna.factory;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Function;
import com.hbm.items.ModItems;
import com.hbm.items.ItemEnums.EnumCasingType;
@ -15,6 +16,7 @@ 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.mods.WeaponModManager;
import com.hbm.main.MainRegistry;
import com.hbm.main.ResourceManager;
import com.hbm.particle.SpentCasing;
@ -53,7 +55,8 @@ public class XFactory9mm {
.setupStandardFire().recoil(LAMBDA_RECOIL_GREASEGUN))
.setupStandardConfiguration()
.anim(LAMBDA_GREASEGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_GREASEGUN)
).setUnlocalizedName("gun_greasegun");
).setNameMutator(LAMBDA_NAME_GREASEGUN)
.setUnlocalizedName("gun_greasegun");
ModItems.gun_lag = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
.dura(1_700).draw(7).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE)
@ -75,7 +78,8 @@ public class XFactory9mm {
.setupStandardFire().recoil(LAMBDA_RECOIL_UZI))
.setupStandardConfiguration()
.anim(LAMBDA_UZI_ANIMS).orchestra(Orchestras.ORCHESTRA_UZI)
).setUnlocalizedName("gun_uzi");
).setNameMutator(LAMBDA_NAME_UZI)
.setUnlocalizedName("gun_uzi");
ModItems.gun_uzi_akimbo = new ItemGunBaseNT(WeaponQuality.B_SIDE,
new GunConfig().dura(3_000).draw(15).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE)
.rec(new Receiver(0)
@ -98,6 +102,16 @@ public class XFactory9mm {
).setUnlocalizedName("gun_uzi_akimbo");
}
public static Function<ItemStack, String> LAMBDA_NAME_GREASEGUN = (stack) -> {
if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_GREASEGUN_CLEAN)) return stack.getUnlocalizedName() + "_m3";
return null;
};
public static Function<ItemStack, String> LAMBDA_NAME_UZI = (stack) -> {
if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SILENCER)) return stack.getUnlocalizedName() + "_richter";
return null;
};
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_RECOIL_GREASEGUN = (stack, ctx) -> {
ItemGunBaseNT.setupRecoil(2, (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.5));
};

View File

@ -13,7 +13,7 @@ import net.minecraft.item.ItemStack;
public class MagazineBelt implements IMagazine<BulletConfig> {
protected List<BulletConfig> acceptedBullets = new ArrayList();
public List<BulletConfig> acceptedBullets = new ArrayList();
public MagazineBelt addConfigs(BulletConfig... cfgs) { for(BulletConfig cfg : cfgs) acceptedBullets.add(cfg); return this; }

View File

@ -2,6 +2,7 @@ package com.hbm.items.weapon.sedna.mods;
public abstract class WeaponModBase implements IWeaponMod {
public static final int PRIORITY_SET = Integer.MAX_VALUE;
public static final int PRIORITY_MULTIPLICATIVE = 1_000;
public static final int PRIORITY_ADDITIVE = 500;
public static final int PRIORITY_MULT_FINAL = -1;

View File

@ -0,0 +1,59 @@
package com.hbm.items.weapon.sedna.mods;
import java.util.ArrayList;
import java.util.List;
import com.hbm.items.weapon.sedna.BulletConfig;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.mags.MagazineBelt;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
import net.minecraft.item.ItemStack;
public class WeaponModCaliber extends WeaponModBase {
protected static MagazineSingleReload DUMMY_SINGLE = new MagazineSingleReload(0, 0);
protected static MagazineFullReload DUMMY_FULL = new MagazineFullReload(0, 0);
protected static MagazineBelt DUMMY_BELT = new MagazineBelt();
protected final List<BulletConfig> cfg = new ArrayList();
protected final int count;
protected final float baseDamage;
public WeaponModCaliber(int id, int count, float baseDamage, BulletConfig... cfg) {
super(id, "CALIBER");
this.setPriority(PRIORITY_SET);
for(BulletConfig conf : cfg) this.cfg.add(conf);
this.count = count;
this.baseDamage = baseDamage;
}
@Override
public <T> T eval(T base, ItemStack gun, String key, Object parent) {
if(key == Receiver.O_MAGAZINE) {
if(base instanceof MagazineSingleReload) {
MagazineSingleReload original = (MagazineSingleReload) base;
DUMMY_SINGLE.acceptedBullets = cfg;
DUMMY_SINGLE.capacity = count;
DUMMY_SINGLE.index = original.index;
return (T) DUMMY_SINGLE;
}
if(base instanceof MagazineFullReload) {
MagazineFullReload original = (MagazineFullReload) base;
DUMMY_FULL.acceptedBullets = cfg;
DUMMY_FULL.capacity = count;
DUMMY_FULL.index = original.index;
return (T) DUMMY_FULL;
}
if(base instanceof MagazineBelt) {
MagazineBelt original = (MagazineBelt) base;
DUMMY_BELT.acceptedBullets = cfg;
return (T) DUMMY_BELT;
}
}
if(key == Receiver.F_BASEDAMAGE) {
return cast(baseDamage, base);
}
return base;
}
}

View File

@ -8,10 +8,20 @@ import java.util.List;
import com.google.common.collect.HashBiMap;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.sedna.BulletConfig;
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
import com.hbm.items.weapon.sedna.factory.XFactory9mm;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumModCaliber;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumModGeneric;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumModSpecial;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumModTest;
import com.hbm.items.weapon.sedna.factory.XFactory22lr;
import com.hbm.items.weapon.sedna.factory.XFactory357;
import com.hbm.items.weapon.sedna.factory.XFactory44;
import com.hbm.items.weapon.sedna.factory.XFactory45;
import com.hbm.items.weapon.sedna.factory.XFactory50;
import com.hbm.items.weapon.sedna.factory.XFactory556mm;
import com.hbm.items.weapon.sedna.factory.XFactory762mm;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@ -52,13 +62,11 @@ public class WeaponModManager {
new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.IRON_DURA.ordinal())).addMod(ModItems.gun_pepperbox, new WeaponModGenericDurability(101));
Item[] steelGuns = new Item[] {
ModItems.gun_light_revolver,
ModItems.gun_light_revolver_atlas,
ModItems.gun_light_revolver, ModItems.gun_light_revolver_atlas,
ModItems.gun_henry,
ModItems.gun_henry_lincoln,
ModItems.gun_greasegun,
ModItems.gun_maresleg,
ModItems.gun_maresleg_akimbo,
ModItems.gun_maresleg, ModItems.gun_maresleg_akimbo,
ModItems.gun_flaregun };
Item[] duraGuns = new Item[] {
ModItems.gun_am180,
@ -69,8 +77,7 @@ public class WeaponModManager {
Item[] deshGuns = new Item[] {
ModItems.gun_heavy_revolver,
ModItems.gun_carbine,
ModItems.gun_uzi,
ModItems.gun_uzi_akimbo,
ModItems.gun_uzi, ModItems.gun_uzi_akimbo,
ModItems.gun_spas12,
ModItems.gun_panzerschreck };
Item[] wsteelGuns = new Item[] {
@ -79,8 +86,7 @@ public class WeaponModManager {
ModItems.gun_chemthrower };
Item[] ferroGuns = new Item[] {
ModItems.gun_m2,
ModItems.gun_autoshotgun,
ModItems.gun_autoshotgun_shredder,
ModItems.gun_autoshotgun, ModItems.gun_autoshotgun_shredder,
ModItems.gun_quadro };
Item[] tcalloyGuns = new Item[] {
ModItems.gun_lag,
@ -127,6 +133,43 @@ public class WeaponModManager {
new WeaponModDefinition(EnumModSpecial.FURNITURE_GREEN).addMod(ModItems.gun_g3, new WeaponModPolymerFurniture(ID_FURNITURE_GREEN));
new WeaponModDefinition(EnumModSpecial.FURNITURE_BLACK).addMod(ModItems.gun_g3, new WeaponModPolymerFurniture(ID_FURNITURE_BLACK));
new WeaponModDefinition(EnumModSpecial.BAYONET).addMod(ModItems.gun_mas36, new WeaponModMASBayonet(ID_MAS_BAYONET));
new WeaponModDefinition(EnumModSpecial.STACK_MAG).addMod(new Item[] {ModItems.gun_greasegun, ModItems.gun_uzi, ModItems.gun_uzi_akimbo, ModItems.gun_aberrator, ModItems.gun_aberrator_eott}, new WeaponModStackMag(214));
BulletConfig[] p9 = new BulletConfig[] {XFactory9mm.p9_sp, XFactory9mm.p9_fmj, XFactory9mm.p9_jhp, XFactory9mm.p9_ap};
BulletConfig[] p45 = new BulletConfig[] {XFactory45.p45_sp, XFactory45.p45_fmj, XFactory45.p45_jhp, XFactory45.p45_ap, XFactory45.p45_du};
BulletConfig[] p22 = new BulletConfig[] {XFactory22lr.p22_sp, XFactory22lr.p22_fmj, XFactory22lr.p22_jhp, XFactory22lr.p22_ap};
BulletConfig[] m357 = new BulletConfig[] {XFactory357.m357_sp, XFactory357.m357_fmj, XFactory357.m357_jhp, XFactory357.m357_ap, XFactory357.m357_express};
BulletConfig[] m44 = new BulletConfig[] {XFactory44.m44_sp, XFactory44.m44_fmj, XFactory44.m44_jhp, XFactory44.m44_ap, XFactory44.m44_express};
BulletConfig[] r556 = new BulletConfig[] {XFactory556mm.r556_sp, XFactory556mm.r556_fmj, XFactory556mm.r556_jhp, XFactory556mm.r556_ap};
BulletConfig[] r762 = new BulletConfig[] {XFactory762mm.r762_sp, XFactory762mm.r762_fmj, XFactory762mm.r762_jhp, XFactory762mm.r762_ap, XFactory762mm.r762_du, XFactory762mm.r762_he};
BulletConfig[] bmg50 = new BulletConfig[] {XFactory50.bmg50_sp, XFactory50.bmg50_fmj, XFactory50.bmg50_jhp, XFactory50.bmg50_ap, XFactory50.bmg50_du, XFactory50.bmg50_he};
new WeaponModDefinition(EnumModCaliber.P9)
.addMod(ModItems.gun_henry, new WeaponModCaliber(300, 28, 10F, p9));
new WeaponModDefinition(EnumModCaliber.P45)
.addMod(ModItems.gun_henry, new WeaponModCaliber(310, 28, 10F, p45))
.addMod(ModItems.gun_greasegun, new WeaponModCaliber(311, 24, 3F, p45))
.addMod(ModItems.gun_uzi, new WeaponModCaliber(312, 24, 3F, p45))
.addMod(ModItems.gun_uzi_akimbo, new WeaponModCaliber(313, 24, 3F, p45))
.addMod(ModItems.gun_lag, new WeaponModCaliber(314, 24, 25F, p45));
new WeaponModDefinition(EnumModCaliber.P22)
.addMod(ModItems.gun_henry, new WeaponModCaliber(320, 28, 10F, p22))
.addMod(ModItems.gun_uzi, new WeaponModCaliber(321, 40, 3F, p22))
.addMod(ModItems.gun_uzi_akimbo, new WeaponModCaliber(322, 40, 3F, p22));
new WeaponModDefinition(EnumModCaliber.M357)
.addMod(ModItems.gun_henry, new WeaponModCaliber(330, 20, 10F, m357))
.addMod(ModItems.gun_lag, new WeaponModCaliber(331, 15, 25F, m357));
new WeaponModDefinition(EnumModCaliber.M44)
.addMod(ModItems.gun_lag, new WeaponModCaliber(340, 13, 25F, m44));
new WeaponModDefinition(EnumModCaliber.R556)
.addMod(ModItems.gun_henry, new WeaponModCaliber(350, 10, 10F, r556))
.addMod(ModItems.gun_carbine, new WeaponModCaliber(351, 20, 15F, r556))
.addMod(ModItems.gun_minigun, new WeaponModCaliber(352, 0, 6F, r556));
new WeaponModDefinition(EnumModCaliber.R762)
.addMod(ModItems.gun_henry, new WeaponModCaliber(360, 8, 10F, r762))
.addMod(ModItems.gun_g3, new WeaponModCaliber(361, 24, 5F, r762));
new WeaponModDefinition(EnumModCaliber.BMG50)
.addMod(ModItems.gun_henry, new WeaponModCaliber(370, 5, 10F, bmg50))
.addMod(ModItems.gun_minigun, new WeaponModCaliber(371, 0, 6F, bmg50));
}
public static final int ID_SILENCER = 201;
@ -250,13 +293,15 @@ public class WeaponModManager {
}
public WeaponModDefinition(EnumModGeneric num) {
this.stack = new ItemStack(ModItems.weapon_mod_generic, 1, num.ordinal());
stackToMod.put(new ComparableStack(stack), this);
this(new ItemStack(ModItems.weapon_mod_generic, 1, num.ordinal()));
}
public WeaponModDefinition(EnumModSpecial num) {
this.stack = new ItemStack(ModItems.weapon_mod_special, 1, num.ordinal());
stackToMod.put(new ComparableStack(stack), this);
this(new ItemStack(ModItems.weapon_mod_special, 1, num.ordinal()));
}
public WeaponModDefinition(EnumModCaliber num) {
this(new ItemStack(ModItems.weapon_mod_caliber, 1, num.ordinal()));
}
public WeaponModDefinition addMod(ItemStack gun, IWeaponMod mod) { return addMod(new ComparableStack(gun), mod); }

View File

@ -0,0 +1,41 @@
package com.hbm.items.weapon.sedna.mods;
import com.hbm.items.weapon.sedna.Receiver;
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
import net.minecraft.item.ItemStack;
public class WeaponModStackMag extends WeaponModBase {
// we can get away with reusing and re-adjusting these single instances because magazines
// aren't permanent objects, they are not cached anywhere, a magazine is only relevant
// for accessing the itemstack's ammo info and for the state machine's reload operation
protected static MagazineSingleReload DUMMY_SINGLE = new MagazineSingleReload(0, 0);
protected static MagazineFullReload DUMMY_FULL = new MagazineFullReload(0, 0);
public WeaponModStackMag(int id) {
super(id, "MAG");
}
@Override
public <T> T eval(T base, ItemStack gun, String key, Object parent) {
if(key == Receiver.O_MAGAZINE) {
if(base instanceof MagazineSingleReload) {
MagazineSingleReload original = (MagazineSingleReload) base;
DUMMY_SINGLE.acceptedBullets = original.acceptedBullets;
DUMMY_SINGLE.capacity = original.capacity * 3 / 2;
DUMMY_SINGLE.index = original.index;
return (T) DUMMY_SINGLE;
}
if(base instanceof MagazineFullReload) {
MagazineFullReload original = (MagazineFullReload) base;
DUMMY_FULL.acceptedBullets = original.acceptedBullets;
DUMMY_FULL.capacity = original.capacity * 3 / 2;
DUMMY_FULL.index = original.index;
return (T) DUMMY_FULL;
}
}
return base;
}
}

View File

@ -310,7 +310,7 @@ public class CraftingManager {
addRecipeAuto(DictFrame.fromOne(ModItems.arc_electrode, EnumElectrodeType.DESH), new Object[] { "C", "T", "C", 'C', DESH.ingot(), 'T', W.ingot() });
addRecipeAuto(DictFrame.fromOne(ModItems.arc_electrode, EnumElectrodeType.SATURNITE), new Object[] { "C", "T", "C", 'C', BIGMT.ingot(), 'T', NB.ingot() });
addRecipeAuto(new ItemStack(ModItems.detonator, 1), new Object[] { " W", "SC", "CE", 'S', STEEL.plate(), 'W', MINGRADE.wireFine(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'E', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModItems.detonator, 1), new Object[] { "C", "S", 'S', STEEL.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), });
addShapelessAuto(new ItemStack(ModItems.detonator_multi, 1), new Object[] { ModItems.detonator, DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) });
addRecipeAuto(new ItemStack(ModItems.detonator_laser, 1), new Object[] { "RRD", "PIC", " P", 'P', STEEL.plate(), 'R', REDSTONE.dust(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'D', DIAMOND.gem(), 'I', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModItems.detonator_laser, 1), new Object[] { "RRD", "PIC", " P", 'P', STEEL.plate(), 'R', REDSTONE.dust(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'D', EMERALD.gem(), 'I', STEEL.ingot() });

View File

@ -3,8 +3,6 @@ package com.hbm.main;
import com.hbm.blocks.ILookOverlay;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockAshes;
import com.hbm.blocks.generic.BlockCrate;
import com.hbm.blocks.generic.BlockStorageCrate;
import com.hbm.config.ClientConfig;
import com.hbm.config.GeneralConfig;
import com.hbm.entity.mob.EntityHunterChopper;
@ -61,7 +59,6 @@ import com.hbm.tileentity.bomb.TileEntityNukeCustom;
import com.hbm.tileentity.bomb.TileEntityNukeCustom.CustomNukeEntry;
import com.hbm.tileentity.bomb.TileEntityNukeCustom.EnumEntryType;
import com.hbm.tileentity.machine.TileEntityNukeFurnace;
import com.hbm.tileentity.machine.storage.TileEntityCrateBase;
import com.hbm.util.*;
import com.hbm.util.ArmorRegistry.HazardClass;
import com.hbm.wiaj.GuiWorldInAJar;
@ -103,7 +100,6 @@ import net.minecraft.init.Items;
import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.client.C03PacketPlayer;
import net.minecraft.network.play.client.C0CPacketInput;
@ -121,7 +117,6 @@ import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
import net.minecraftforge.client.event.sound.PlaySoundEvent17;
import net.minecraftforge.common.ForgeHooks;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;

View File

@ -1,7 +1,5 @@
package com.hbm.packet.threading;
import io.netty.buffer.ByteBuf;
/**
* Abstract class for precompiled packets.
* Contains no content of its own; purely for distinction between precompiling and normal packets.

View File

@ -22,7 +22,6 @@ import com.hbm.inventory.recipes.RotaryFurnaceRecipes.RotaryFurnaceRecipe;
import com.hbm.lib.Library;
import com.hbm.main.MainRegistry;
import com.hbm.module.ModuleBurnTime;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.AuxParticlePacketNT;
import com.hbm.tileentity.*;
import com.hbm.util.CrucibleUtil;

View File

@ -1267,6 +1267,11 @@ 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.p45_ap.name=.45 Patrone (Panzerbrechend)
item.ammo_standard.p45_du.name=.45 Patrone (Urangeschoss)
item.ammo_standard.p45_fmj.name=.45 Patrone (Vollmantelgeschoss)
item.ammo_standard.p45_jhp.name=.45 Patrone (Hohlspitz)
item.ammo_standard.p45_sp.name=.45 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)
@ -2207,162 +2212,67 @@ item.grenade_zomg.name=Negativenergie-Paarvernichtungsgranate
item.gun_aberrator.name=Aberrator
item.gun_aberrator_eott.name=Eyes Of The Tempest
item.gun_am180.name=Schallgedämpfte Maschinenpistole
item.gun_ar15.name=Josh
item.gun_autoshotgun.name=Auto-Flinte
item.gun_autoshotgun_sexy.name=Sexy
item.gun_autoshotgun_shredder.name=Shredder
item.gun_avenger.name=CZ57 Avenger-Minigun
item.gun_b92.name=§9B92 Energiepistole§r
item.gun_b92_ammo.name=§9B92-Energiezelle§r
item.gun_b93.name=§cB93 Energiemod§r
item.gun_bf.name=BEL
item.gun_bf_ammo.name=Balefire-Geschoss
item.gun_bio_revolver.name=Atlas
item.gun_bolt_action.name=Dream-Repetiergewehr (Original)
item.gun_bolt_action_ammo.name=12x74 Brenneke (LEGACY)
item.gun_bolt_action_green.name=Dream-Repetiergewehr (Grün)
item.gun_bolt_action_saturnite.name=Saturnitbüchse
item.gun_bolter.name=Boltergewehr
item.gun_bolter_digamma.name=Digammagewehr
item.gun_calamity.name=Knochensäge
item.gun_calamity_ammo.name=.50 BMG Patrone (LEGACY)
item.gun_calamity_dual.name=Sattelkanone
item.gun_carbine.name=Karabiner
item.gun_chemthrower.name=Chemowerfer
item.gun_coilgun.name=Gaußpistole
item.gun_cryocannon.name=Kyro-Kanone
item.gun_cryolator.name=Der Cryolator
item.gun_cryolator_ammo.name=Kryozelle
item.gun_dampfmaschine.name=Garantiert keine Scherzwaffe
item.gun_darter.name=Dartgewehr
item.gun_deagle.name=Großes Eisen
item.gun_defabricator.name=Defabrikator
item.gun_defabricator_ammo.name=Defabrikator-Energiezelle
item.gun_detonator.name=Laserzünder
item.gun_double_barrel.name=Ein alter Klassiker
item.gun_double_barrel_sacred_dragon.name=Sacred Dragon
item.gun_emp.name=EMP-Waffe
item.gun_emp_ammo.name=Energiezelle
item.gun_euthanasia.name=Euthanasia
item.gun_euthanasia_ammo.name=Spritze
item.gun_fatman.name=M42 Nukleares Katapult "Fat Man"
item.gun_fatman_ammo.name=Miniatombombe (LEGACY)
item.gun_fatman.name=Fat Man
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
item.gun_folly.name=Folly
item.gun_g3.name=Sturmgewehr
item.gun_g3_a3.name=G3A3
item.gun_g3_infiltrator.name=Infiltrierer
item.gun_greasegun.name=Grease Gun
item.gun_greasegun_m3.name=M3
item.gun_hangman.name=Hangman
item.gun_heavy_revolver.name=Schwerer Revolver
item.gun_heavy_revolver_lilmac.name=Little Macintosh
item.gun_heavy_revolver_protege.name=Protège
item.gun_heavy_revolver_scoped.name=.44er Magnum mit Zielvorrichtung
item.gun_henry.name=Repetiergewehr
item.gun_henry_lincoln.name=Lincolns Repetiergewehr
item.gun_hk69.name=Granatenpistole
item.gun_hp.name=HPP Lazerjet
item.gun_hp_ammo.name=Tintenpatrone
item.gun_immolator.name=Der Immolator
item.gun_immolator_ammo.name=Immolatorkraftstoff
item.gun_jack.name=Jackhammer
item.gun_jack_ammo.name=Vierfache Schrotpatrone
item.gun_karl.name=Karl
item.gun_kit_1.name=Waffenöl
item.gun_kit_2.name=Waffenreparatursatz
item.gun_ks23.name=Samuel die dicke Flinte
item.gun_lacunae.name=CZ33 Abaddon
item.gun_lacunae_ammo.name=5mm Patrone (LEGACY)
item.gun_lag.name=Komisch lange Pistole
item.gun_lasrifle.name=Lasergewehr
item.gun_lever_action.name=Mare's Leg (Original)
item.gun_lever_action_ammo.name=12x74 Schrotmunition (LEGACY)
item.gun_lever_action_dark.name=Mare's Leg (Dunkel)
item.gun_lever_action_sonata.name=Verkehrter Mare's Leg
item.gun_lever_action_sonata_2.name=§cSonatas Mikrophon§r
item.gun_liberator.name=Liberator
item.gun_light_revolver.name=Kipplaufrevolver
item.gun_light_revolver_atlas.name=Atlas
item.gun_light_revolver_dani.name=Tag und Nacht
item.gun_lunatic_marksman.name=Lunatic-Scharfschützengewehr
item.gun_m2.name=üsMG
item.gun_maresleg.name=Repetierflinte
item.gun_maresleg_akimbo.name=Repetierflinten
item.gun_maresleg_broken.name=Broken
item.gun_maresleg_short.name=Mare's Leg
item.gun_mas36.name=Südstern
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
item.gun_moist_nugget.name=Mosin-Nagant
item.gun_mp.name=Maschinengewehr des Pazifisten
item.gun_mp40.name=Maschinenpistole
item.gun_mp40_ammo.name=SMG-Patrone (LEGACY)
item.gun_pepperbox.name=Bündelrevolver
item.gun_pm_ammo.name=Kleine treibmittellose MG-Patrone
item.gun_mymy.name=Nietes
item.gun_osipr.name=Standartausrüstung für Sicherheitskräfte
item.gun_osipr_ammo.name=Dunkler Energiepuls-Plug
item.gun_osipr_ammo2.name=Combine Ball
item.gun_panzerschreck.name=Panzerschreck
item.gun_proto.name=M42 Nukleares Katapult "Proto MIRV"
item.gun_quadro.name=Vierfachraketenwerfer
item.gun_remington.name=バイデン ブラスト [BIDEN BLAST]
item.gun_revolver.name=Verbesserter Revolver
item.gun_revolver_ammo.name=Bleipatrone
item.gun_revolver_blackjack.name=Blackjack Five-Shooter
item.gun_revolver_cursed.name=Verfluchte Pistole
item.gun_revolver_cursed_ammo.name=Stahlpatrone
item.gun_revolver_gold.name=Goldener Revolver
item.gun_revolver_gold_ammo.name=Goldene Kugel
item.gun_revolver_inverted.name=Umgedrehter Revolver
item.gun_revolver_iron.name=Einfacher Revolver
item.gun_revolver_iron_ammo.name=Patrone
item.gun_revolver_lead.name=Nuka-Revolver
item.gun_revolver_lead_ammo.name=Mit Glas umhüllte Atompatrone
item.gun_revolver_nightmare.name=Nightmare-Revolver (Original)
item.gun_revolver_nightmare2.name=Nightmare-Revolver (Dunkel)
item.gun_revolver_nightmare2_ammo.name=Laserschrot
item.gun_revolver_nightmare_ammo.name=Nightmare-Kugel
item.gun_revolver_nopip.name=Schwerer Revolver
item.gun_revolver_nopip_ammo.name=.44 Magnumpatrone (LEGACY)
item.gun_revolver_pip.name=Lil' Pipsqueak
item.gun_revolver_pip_ammo.name=Verdorbene Patrone (LEGACY)
item.gun_revolver_red.name=Roter Schlüssel-Revolver
item.gun_revolver_saturnite.name=Saturnitknarre
item.gun_revolver_schrabidium.name=Schrabidiumrevolver
item.gun_revolver_schrabidium_ammo.name=Schrabidiumpatrone
item.gun_revolver_silver.name=Geliehene Kanone
item.gun_rpg.name=Carl Gustav Reaktive Panzerbüchse
item.gun_rpg_ammo.name=Rakete
item.gun_sauer.name=Stan Sauers Schrotflinte
item.gun_skystinger.name=The One Sky Stinger
item.gun_spark.name=Die Zündkerze
item.gun_spark_ammo.name=Elektromagnetische Katusche
item.gun_spas12.name=SPAS-12
item.gun_stg77.name=StG 77
item.gun_stinger.name=FIM-92 Stinger
item.gun_stinger_ammo.name=Stinger-Rakete (LEGACY)
item.gun_super_shotgun.name=Super Shotgun
item.gun_supershotgun.name=Super Shotgun
item.gun_tau.name=Taukanone
item.gun_tesla_cannon.name=Teslakanone
item.gun_thompson.name=Thompson Maschinenpistole
item.gun_uac_pistol.name=UAC .45 Pistole
item.gun_uboinik.name=Ubojnik
item.gun_uboinik_ammo.name=12x70 Schrotmunition (LEGACY)
item.gun_uzi.name=Uzi
item.gun_uzi_richter.name=Richter
item.gun_uzi_akimbo.name=Uzis
item.gun_uzi_ammo.name=.22 lfB Patrone (LEGACY)
item.gun_uzi_saturnite.name=Saturnit-Uzi
item.gun_uzi_saturnite_silencer.name=Saturnit-Uzi mit Schalldämpfer
item.gun_uzi_silencer.name=IMI Uzi mit Schalldämpfer
item.gun_xvl1456.name=XVL1456 Tau-Kanone Prototyp
item.gun_xvl1456_ammo.name=Kiste mit erschöpftem Uran-235
item.gun_zomg.name=ZOMG Kanone
item.hand_drill.name=Handbohrer
item.hand_drill_desh.name=Desh-Handbohrer
item.hazmat_boots.name=Strahlenschutzstiefel
@ -3783,14 +3693,44 @@ item.watz_pellet_depleted.nqd.name=Angereichertes Naquadah-Watzpellet (Erschöpf
item.watz_pellet_depleted.nqr.name=Naquadria-Watzpellet (Erschöpft)
item.watz_pellet_depleted.hen.name=HEN-Watzpellet (Erschöpft)
item.watz_pellet_depleted.schrabidium.name=Schrabidium-Watzpellet (Erschöpft)
item.wd40.name=VT-40
item.weapon_bat.name=Richards Standard
item.weapon_bat_nail.name=Das Klischee
item.weapon_golf_club.name=Schläger des russischen Mafiosos
item.weapon_mod_generic.bigmt_damage.name=Optimierter Saturnit-Verschluss
item.weapon_mod_generic.bigmt_dura.name=Langlebige Saturnit-Teile
item.weapon_mod_generic.bronze_damage.name=Optimierter Bronzeverschluss
item.weapon_mod_generic.bronze_dura.name=Langlebige Bronzeteile
item.weapon_mod_generic.desh_damage.name=Optimierter Deshverschluss
item.weapon_mod_generic.desh_dura.name=Langlebige Deshteile
item.weapon_mod_generic.dura_damage.name=Optimierter HSS-Verschluss
item.weapon_mod_generic.dura_dura.name=Langlebige HSS-Teile
item.weapon_mod_generic.ferro_damage.name=Optimierter Ferrouranverschluss
item.weapon_mod_generic.ferro_dura.name=Langlebige Ferrouranteile
item.weapon_mod_generic.iron_damage.name=Optimierter Eisenverschluss
item.weapon_mod_generic.iron_dura.name=Langlebige Eisenteile
item.weapon_mod_generic.steel_damage.name=Optimierter Stahlverschluss
item.weapon_mod_generic.steel_dura.name=Langlebige Stahlteile
item.weapon_mod_generic.tcalloy_damage.name=Optimierter Legierungsverschluss
item.weapon_mod_generic.tcalloy_dura.name=Langlebige Legierungsteile
item.weapon_mod_generic.wsteel_damage.name=Optimierter Waffenstahl-Verschluss
item.weapon_mod_generic.wsteel_dura.name=Langlebige Waffenstahl-Teile
item.weapon_mod_special.bayonet.name=Bayonet
item.weapon_mod_special.choke.name=Choke
item.weapon_mod_special.furniture_black.name=Polymergriff (Schwarz)
item.weapon_mod_special.furniture_green.name=Polymergriff (Grün)
item.weapon_mod_special.greasegun.name=Grease Gun Modernisierungskit
item.weapon_mod_special.saw.name=Bügelsäge
item.weapon_mod_special.scope.name=Ziehlvorrichtung
item.weapon_mod_special.silencer.name=Schalldämpfer
item.weapon_mod_special.slowdown.name=Rädergetriebe
item.weapon_mod_special.speedloader.name=Schnelllader
item.weapon_mod_special.speedup.name=Elektrischer Servomotor
item.weapon_mod_special.stack_mag.name=Zweistapel-Magazin
item.weapon_pipe_lead.name=Die Handüberbrückung
item.weapon_pipe_rusty.name=Der Einstellungskorrigierer
item.weapon_saw.name=Ärztlich autorisierter Mord
item.weaponized_starblaster_cell.name=§cManipulierte Sternenblaster-Energiezelle§r
item.wd40.name=VT-40
item.wild_p.name=Wild Pegasus Trockener Whisky
item.wings_limp.name=Schlaffe Flügel
item.wings_murk.name=Trübe Flügel

View File

@ -1991,6 +1991,11 @@ 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.p45_ap.name=.45 Round (Armor Piercing)
item.ammo_standard.p45_du.name=.45 Round (Depleted Uranium)
item.ammo_standard.p45_fmj.name=.45 Round (Full Metal Jacket)
item.ammo_standard.p45_jhp.name=.45 Round (Jacketed Hollow Point)
item.ammo_standard.p45_sp.name=.45 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)
@ -3014,166 +3019,68 @@ item.glyphid_gland_empty.name= Glyphid's Fluid Gland
item.gun_aberrator.name=Aberrator
item.gun_aberrator_eott.name=Eyes Of The Tempest
item.gun_am180.name=Silenced Submachine Gun
item.gun_ar15.name=Josh
item.gun_autoshotgun.name=Auto Shotgun
item.gun_autoshotgun_sexy.name=Sexy
item.gun_autoshotgun_shredder.name=Shredder
item.gun_avenger.name=CZ57 Avenger Minigun
item.gun_b92.name=§9B92 Energy Pistol§r
item.gun_b92_ammo.name=§9B92 Energy Cell§r
item.gun_b93.name=§cB93 Energy Mod§r
item.gun_benelli.name=Benelli Autoshotgun (Drum Mod)
item.gun_bf.name=BEL
item.gun_bf_ammo.name=Balefire Shell
item.gun_bio_revolver.name=Atlas
item.gun_bolt_action.name=Dream Bolt-Action Rifle (Original)
item.gun_bolt_action_ammo.name=12x74 Slug (LEGACY)
item.gun_bolt_action_green.name=Dream Bolt-Action Rifle (Green)
item.gun_bolt_action_saturnite.name=Saturnite Rifle
item.gun_bolter.name=Bolter
item.gun_bolter_digamma.name=Digamma Gun
item.gun_calamity.name=Buzzsaw
item.gun_calamity_ammo.name=.50 BMG Round (LEGACY)
item.gun_calamity_dual.name=Saddle Gun
item.gun_carbine.name=Carbine
item.gun_chemthrower.name=Chemthrower
item.gun_coilgun.name=Coilgun
item.gun_congolake.name=Congo Lake
item.gun_cryocannon.name=Cryo Cannon
item.gun_cryolator.name=The Cryolator
item.gun_cryolator_ammo.name=Cryo Cell
item.gun_dampfmaschine.name=Totally Not a Joke Weapon
item.gun_darter.name=Dart Gun
item.gun_deagle.name=Big Iron
item.gun_defabricator.name=Defabricator
item.gun_defabricator_ammo.name=Defabricator Energy Cell
item.gun_detonator.name=Laser Detonator
item.gun_double_barrel.name=An Old Classic
item.gun_double_barrel_sacred_dragon.name=Sacred Dragon
item.gun_emp.name=EMP Gun
item.gun_emp_ammo.name=Energy Cell
item.gun_euthanasia.name=Euthanasia
item.gun_euthanasia_ammo.name=Syringe
item.gun_fatman.name=M42 Nuclear Catapult "Fat Man"
item.gun_fatman_ammo.name=Mini Nuke (LEGACY)
item.gun_fatman.name=Fat Man
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
item.gun_folly.name=Folly
item.gun_g3.name=Assault Rifle
item.gun_glass_cannon.name=The Glass Cannon
item.gun_g3_a3.name=G3A3
item.gun_g3_infiltrator.name=Infiltrator
item.gun_greasegun.name=Grease Gun
item.gun_greasegun_m3.name=M3
item.gun_hangman.name=Hangman
item.gun_heavy_revolver.name=Heavy Revolver
item.gun_heavy_revolver_lilmac.name=Little Macintosh
item.gun_heavy_revolver_protege.name=Protège
item.gun_heavy_revolver_scoped.name=Scoped .44 Magnum
item.gun_henry.name=Lever Action Rifle
item.gun_henry_lincoln.name=Lincoln's Repeater
item.gun_hk69.name=Grenade Pistol
item.gun_hp.name=HPP Lazerjet
item.gun_hp_ammo.name=Ink Cartridge
item.gun_immolator.name=The Immolator
item.gun_immolator_ammo.name=Immolator Fuel
item.gun_jack.name=Jackhammer
item.gun_jack_ammo.name=Quadruple Shotgun Shell
item.gun_karl.name=Karl
item.gun_kit_1.name=Gun Oil
item.gun_kit_2.name=Gun Repair Kit
item.gun_ks23.name=Samuel the Big Shotgun
item.gun_lacunae.name=CZ33 Abaddon
item.gun_lacunae_ammo.name=5mm Round (LEGACY)
item.gun_lag.name=Comically Long Pistol
item.gun_lasrifle.name=Laser Rifle
item.gun_lever_action.name=Mare's Leg (Original)
item.gun_lever_action_ammo.name=12x74 Buckshot (LEGACY)
item.gun_lever_action_dark.name=Mare's Leg (Dark)
item.gun_lever_action_sonata.name=Flipped Mare's Leg
item.gun_lever_action_sonata_2.name=§cSonata's Microphone§r
item.gun_liberator.name=Liberator
item.gun_light_revolver.name=Break-Action Revolver
item.gun_light_revolver_atlas.name=Atlas
item.gun_light_revolver_dani.name=Day And Night
item.gun_lunatic_marksman.name=Lunatic Sniper Rifle
item.gun_m2.name=Ma Deuce
item.gun_maresleg.name=Lever Action Shotgun
item.gun_maresleg_akimbo.name=Lever Action Shotguns
item.gun_maresleg_broken.name=Broken
item.gun_maresleg_short.name=Mare's Leg
item.gun_mas36.name=South Star
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
item.gun_moist_nugget.name=Mosin-Nagant
item.gun_mp.name=Pacifist's Machine Gun
item.gun_mp40.name=Submachine Gun
item.gun_mp40_ammo.name=Submachine Gun Round (LEGACY)
item.gun_pepperbox.name=Pepperbox
item.gun_pm_ammo.name=Small Propellantless Machine Gun Round
item.gun_mymy.name=Nietes
item.gun_osipr.name=Overwatch Standard Issue Pulse Rifle
item.gun_osipr_ammo.name=Dark Energy Pulse Plug
item.gun_osipr_ammo2.name=Combine Ball
item.gun_panzerschreck.name=Panzerschreck
item.gun_proto.name=M42 Nuclear Catapult "Proto MIRV"
item.gun_quadro.name=Quad Rocket Launcher
item.gun_remington.name=バイデン ブラスト [BIDEN BLAST]
item.gun_revolver.name=Enhanced Revolver
item.gun_revolver_ammo.name=Lead Bullet
item.gun_revolver_blackjack.name=Blackjack Five-Shooter
item.gun_revolver_cursed.name=Cursed Revolver
item.gun_revolver_cursed_ammo.name=Steel Bullet
item.gun_revolver_gold.name=Golden Revolver
item.gun_revolver_gold_ammo.name=Golden Bullet
item.gun_revolver_inverted.name=Flipped Revolver
item.gun_revolver_iron.name=Simple Revolver
item.gun_revolver_iron_ammo.name=Bullet
item.gun_revolver_lead.name=Nuka Revolver
item.gun_revolver_lead_ammo.name=Glass Covered Nuclear Bullet
item.gun_revolver_nightmare.name=Nightmare Revolver (Original)
item.gun_revolver_nightmare2.name=Nightmare Revolver (Dark)
item.gun_revolver_nightmare2_ammo.name=Laser Buckshot
item.gun_revolver_nightmare_ammo.name=Nightmare Bullet
item.gun_revolver_nopip.name=Heavy Revolver
item.gun_revolver_nopip_ammo.name=.44 Magnum Bullet (LEGACY)
item.gun_revolver_pip.name=Lil' Pipsqueak
item.gun_revolver_pip_ammo.name=Tainted Bullet (LEGACY)
item.gun_revolver_red.name=Red Key Revolver
item.gun_revolver_saturnite.name=Saturnite Shooter
item.gun_revolver_schrabidium.name=Schrabidium Revolver
item.gun_revolver_schrabidium_ammo.name=Schrabidium Bullet
item.gun_revolver_silver.name=Lent Gun
item.gun_rpg.name=Carl Gustav Recoilless Rifle
item.gun_rpg_ammo.name=Rocket (LEGACY)
item.gun_sauer.name=Stan Sauer's Shotgun
item.gun_skystinger.name=The One Sky Stinger
item.gun_spark.name=Spark Plug
item.gun_spark_ammo.name=Electromagnetic Cartridge
item.gun_spas12.name=SPAS-12
item.gun_stg77.name=StG 77
item.gun_stinger.name=FIM-92 Stinger
item.gun_stinger_ammo.name=Stinger Rocket (LEGACY)
item.gun_super_shotgun.name=Super Shotgun
item.gun_super_shotgun.desc=It's super broken!
item.gun_supershotgun.name=Super Shotgun
item.gun_tau.name=Tau Cannon
item.gun_tesla_cannon.name=Tesla Cannon
item.gun_thompson.name=Thompson Submachine Gun
item.gun_uac_pistol.name=UAC .45 Pistol
item.gun_uboinik.name=Uboinik
item.gun_uboinik_ammo.name=12x70 Buckshot (LEGACY)
item.gun_uzi.name=Uzi
item.gun_uzi_richter.name=Richter
item.gun_uzi_akimbo.name=Uzis
item.gun_uzi_ammo.name=.22 LR Round (LEGACY)
item.gun_uzi_saturnite.name=Saturnite Uzi
item.gun_uzi_saturnite_silencer.name=Saturnite Uzi with Silencer
item.gun_uzi_silencer.name=IMI Uzi with Silencer
item.gun_xvl1456.name=XVL1456 Tau Cannon Prototype
item.gun_xvl1456_ammo.name=Depleted Uranium-235 Box
item.gun_zomg.name=ZOMG Cannon
item.hand_drill.name=Hand Drill
item.hand_drill_desh.name=Desh Hand Drill
item.hazmat_boots.name=Hazmat Boots
@ -4812,14 +4719,44 @@ item.watz_pellet_depleted.nqd.name=Enriched Naquadah Watz Pellet (Depleted)
item.watz_pellet_depleted.nqr.name=Naquadria Watz Pellet (Depleted)
item.watz_pellet_depleted.hen.name=HEN Watz Pellet (Depleted)
item.watz_pellet_depleted.schrabidium.name=Schrabidium Watz Pellet (Depleted)
item.wd40.name=VT-40
item.weapon_bat.name=Richard's Default
item.weapon_bat_nail.name=The Cliché
item.weapon_golf_club.name=Russian Mobster's Club
item.weapon_mod_generic.bigmt_damage.name=Optimized Saturnite Receiver
item.weapon_mod_generic.bigmt_dura.name=High-Durability Saturnite Parts
item.weapon_mod_generic.bronze_damage.name=Optimized Bronze Receiver
item.weapon_mod_generic.bronze_dura.name=High-Durability Bronze Parts
item.weapon_mod_generic.desh_damage.name=Optimized Desh Receiver
item.weapon_mod_generic.desh_dura.name=High-Durability Desh Parts
item.weapon_mod_generic.dura_damage.name=Optimized HSS Receiver
item.weapon_mod_generic.dura_dura.name=High-Durability HSS Parts
item.weapon_mod_generic.ferro_damage.name=Optimized Ferrouranium Receiver
item.weapon_mod_generic.ferro_dura.name=High-Durability Ferrouranium Parts
item.weapon_mod_generic.iron_damage.name=Optimized Iron Receiver
item.weapon_mod_generic.iron_dura.name=High-Durability Iron Parts
item.weapon_mod_generic.steel_damage.name=Optimized Steel Receiver
item.weapon_mod_generic.steel_dura.name=High-Durability Steel Parts
item.weapon_mod_generic.tcalloy_damage.name=Optimized Resistant Alloy Receiver
item.weapon_mod_generic.tcalloy_dura.name=High-Durability Resistant Alloy Parts
item.weapon_mod_generic.wsteel_damage.name=Optimized Weapon Steel Receiver
item.weapon_mod_generic.wsteel_dura.name=High-Durability Weapon Steel Parts
item.weapon_mod_special.bayonet.name=Bayonet
item.weapon_mod_special.choke.name=Choke
item.weapon_mod_special.furniture_black.name=Polymer Furniture (Black)
item.weapon_mod_special.furniture_green.name=Polymer Furniture (Green)
item.weapon_mod_special.greasegun.name=Grease Gun Modernization Kit
item.weapon_mod_special.saw.name=Hacksaw
item.weapon_mod_special.scope.name=Scope
item.weapon_mod_special.silencer.name=Silencer
item.weapon_mod_special.slowdown.name=Gear Train
item.weapon_mod_special.speedloader.name=Speedloader
item.weapon_mod_special.speedup.name=Auxiliary Electric Engine
item.weapon_mod_special.stack_mag.name=Double-Stacked Magazine
item.weapon_pipe_lead.name=The Manual Override
item.weapon_pipe_rusty.name=The Attitude Adjuster
item.weapon_saw.name=Doctor Assisted Homicide
item.weaponized_starblaster_cell.name=§cRigged Star Blaster Energy Cell§r
item.wd40.name=VT-40
item.wild_p.name=Wild Pegasus Dry Whiskey
item.wings_limp.name=Limp Wings
item.wings_murk.name=Murky Wings

View File

@ -251,6 +251,7 @@
"weapon.fire.uzi": {"category": "player", "sounds": ["weapon/fire/uzi"]},
"weapon.fire.tesla": {"category": "player", "sounds": ["weapon/fire/tesla"]},
"weapon.fire.aberrator": {"category": "player", "sounds": ["weapon/fire/aberrator"]},
"weapon.fire.stab": {"category": "player", "sounds": ["weapon/fire/stab1", "weapon/fire/stab2"]},
"weapon.reload.boltClose": {"category": "player", "sounds": ["weapon/reload/boltClose"]},
"weapon.reload.boltOpen": {"category": "player", "sounds": ["weapon/reload/boltOpen"]},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 B

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 B