more coilgun ammo

This commit is contained in:
Bob 2023-07-16 20:39:28 +02:00
parent ea8dcd9508
commit 0ff16c1a6c
17 changed files with 169 additions and 44 deletions

View File

@ -10,6 +10,9 @@
* Assemblers will insert their loaded template into the template crate after doing one operation with it
* Assemblers will also pull templates from template crates if no template is currently loaded
* This hopefully makes certain types of automation like AE2 easier as the template is therefore treated like a crafting ingredient that is returned afterwards
* More coilgun ammo
* Ferrouranium ball that has higher damage, higher wear and breaks blocks with higher resistance
* Rubber ball that deals immense knockback to entities and bounces around
## Changed
* Making LPG in the compressor now requires two compression steps

View File

@ -1,6 +1,6 @@
mod_version=1.0.27
# Empty build number makes a release type
mod_build_number=4655
mod_build_number=4662
credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\
\ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\

View File

@ -160,7 +160,9 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_benelli), new Object[] { "HHP", "SSM", "AAP", 'H', ModItems.ingot_dura_steel, 'S', ModItems.hull_small_steel, 'A', ModItems.hull_small_aluminium, 'P', ModItems.ingot_polymer, 'M', ModItems.mechanism_rifle_2 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_lunatic_marksman), new Object[] { " GN", "SSM", " A", 'G', KEY_ANYPANE, 'N', ModItems.powder_nitan_mix, 'S', BIGMT.plate(), 'M', ModItems.mechanism_special, 'A', ANY_RESISTANTALLOY.plateCast() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_coilgun), new Object[] { "CCC", "SSM", " P", 'C', ModBlocks.capacitor_copper, 'S', BIGMT.plate(), 'M', ModItems.mechanism_special, 'P', ANY_PLASTIC.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_coilgun_ammo, 16), new Object[] { " T ", "TST", " T ", 'T', W.ingot(), 'S', BIGMT.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 0), new Object[] { " T ", "TST", " T ", 'T', W.ingot(), 'S', BIGMT.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 1), new Object[] { " T ", "TST", " T ", 'T', FERRO.ingot(), 'S', BIGMT.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 2), new Object[] { " T ", "TST", " T ", 'T', RUBBER.ingot(), 'S', ANY_PLASTIC.ingot() });
//Ammo assemblies
CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_flechette, 1), new Object[] { " L ", " L ", "LLL", 'L', PB.nugget() });

View File

@ -294,7 +294,10 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet
if(config.plink == 2)
worldObj.playSoundAtEntity(this, "hbm:weapon.gBounce", 1.0F, 1.0F);
this.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord);
onRicochet(mop.blockX, mop.blockY, mop.blockZ);
//worldObj.setBlock((int) Math.floor(posX), (int) Math.floor(posY), (int) Math.floor(posZ), Blocks.dirt);
} else {
if(!worldObj.isRemote) {
@ -303,10 +306,10 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet
}
}
this.posX += (mop.hitVec.xCoord - this.posX) * 0.6;
/*this.posX += (mop.hitVec.xCoord - this.posX) * 0.6;
this.posY += (mop.hitVec.yCoord - this.posY) * 0.6;
this.posZ += (mop.hitVec.zCoord - this.posZ) * 0.6;
this.posZ += (mop.hitVec.zCoord - this.posZ) * 0.6;*/
this.motionX *= config.bounceMod;
this.motionY *= config.bounceMod;
this.motionZ *= config.bounceMod;
@ -522,6 +525,11 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet
return this.config.isSpectral;
}
@Override
public int selfDamageDelay() {
return this.config.selfDamageDelay;
}
@Override
protected double headingForceMult() {
return 1D;

View File

@ -172,7 +172,7 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile {
if(mop != null) {
nextPos = Vec3.createVectorHelper(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord);
}
if(!this.worldObj.isRemote) {
Entity hitEntity = null;
@ -182,8 +182,8 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile {
for(int j = 0; j < list.size(); ++j) {
Entity entity = (Entity) list.get(j);
if(entity.canBeCollidedWith() && (entity != thrower || this.ticksInAir >= 5)) {
if(entity.canBeCollidedWith() && (entity != thrower || this.ticksInAir >= this.selfDamageDelay())) {
double hitbox = 0.3F;
AxisAlignedBB aabb = entity.boundingBox.expand(hitbox, hitbox, hitbox);
MovingObjectPosition hitMop = aabb.calculateIntercept(pos, nextPos);
@ -212,6 +212,10 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile {
}
}
this.posX += this.motionX * motionMult();
this.posY += this.motionY * motionMult();
this.posZ += this.motionZ * motionMult();
if(mop != null) {
if(mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && this.worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ) == Blocks.portal) {
this.setInPortal();
@ -219,10 +223,6 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile {
this.onImpact(mop);
}
}
this.posX += this.motionX * motionMult();
this.posY += this.motionY * motionMult();
this.posZ += this.motionZ * motionMult();
float hyp = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
@ -274,6 +274,10 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile {
return false;
}
public int selfDamageDelay() {
return 5;
}
public void getStuck(int x, int y, int z) {
this.stuckBlockX = x;
this.stuckBlockY = y;

View File

@ -159,7 +159,10 @@ public class BulletConfigSyncingUtil {
public static int SPECIAL_GAUSS = i++;
public static int SPECIAL_GAUSS_CHARGED = i++;
public static int SPECIAL_EMP = i++;
public static int SPECIAL_COIL = i++;
public static int COIL_NORMAL = i++;
public static int COIL_DU = i++;
public static int COIL_RUBBER = i++;
public static int FLAMER_NORMAL = i++;
public static int FLAMER_NAPALM = i++;
@ -452,7 +455,10 @@ public class BulletConfigSyncingUtil {
configSet.put(SPECIAL_GAUSS, GunGaussFactory.getGaussConfig());
configSet.put(SPECIAL_GAUSS_CHARGED, GunGaussFactory.getAltConfig());
configSet.put(SPECIAL_EMP, GunEnergyFactory.getOrbusConfig());
configSet.put(SPECIAL_COIL, GunEnergyFactory.getCoilConfig());
configSet.put(COIL_NORMAL, GunEnergyFactory.getCoilConfig());
configSet.put(COIL_DU, GunEnergyFactory.getCoilDUConfig());
configSet.put(COIL_RUBBER, GunEnergyFactory.getCoilRubberConfig());
configSet.put(FLAMER_NORMAL, GunEnergyFactory.getFlameConfig());
configSet.put(FLAMER_NAPALM, GunEnergyFactory.getNapalmConfig());

View File

@ -54,6 +54,8 @@ public class BulletConfiguration implements Cloneable {
public int HBRC;
//how much of the initial velocity is kept after bouncing
public double bounceMod;
//how many ticks until the projectile can hurt the shooter
public int selfDamageDelay = 5;
//whether or not the bullet should penetrate mobs
public boolean doesPenetrate;

View File

@ -12,6 +12,7 @@ import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.handler.BulletConfiguration;
import com.hbm.handler.GunConfiguration;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.items.ItemAmmoEnums.AmmoCoilgun;
import com.hbm.items.ItemAmmoEnums.AmmoFireExt;
import com.hbm.items.ItemAmmoEnums.AmmoFlamethrower;
import com.hbm.items.ModItems;
@ -19,6 +20,7 @@ import com.hbm.lib.HbmCollection.EnumGunManufacturer;
import com.hbm.lib.ModDamageSource;
import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.ExplosionKnockbackPacket;
import com.hbm.packet.PacketDispatcher;
import com.hbm.potion.HbmPotion;
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
@ -29,6 +31,7 @@ import com.hbm.util.CompatExternal;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Blocks;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
@ -204,7 +207,9 @@ public class GunEnergyFactory {
config.manufacturer = EnumGunManufacturer.DRG;
config.config = new ArrayList<Integer>();
config.config.add(BulletConfigSyncingUtil.SPECIAL_COIL);
config.config.add(BulletConfigSyncingUtil.COIL_NORMAL);
config.config.add(BulletConfigSyncingUtil.COIL_DU);
config.config.add(BulletConfigSyncingUtil.COIL_RUBBER);
return config;
}
@ -278,9 +283,9 @@ public class GunEnergyFactory {
BulletConfiguration bullet = new BulletConfiguration();
bullet.ammo = new ComparableStack(ModItems.gun_coilgun_ammo);
bullet.ammo = new ComparableStack(ModItems.ammo_coilgun, 1, AmmoCoilgun.STOCK.ordinal());
bullet.velocity = 5F;
bullet.velocity = 7.5F;
bullet.spread = 0.0F;
bullet.wear = 10;
bullet.bulletsMin = 1;
@ -288,7 +293,7 @@ public class GunEnergyFactory {
bullet.dmgMin = 35;
bullet.dmgMax = 45;
bullet.gravity = 0D;
bullet.maxAge = 100;
bullet.maxAge = 50;
bullet.doesPenetrate = true;
bullet.isSpectral = true;
@ -296,33 +301,105 @@ public class GunEnergyFactory {
bullet.trail = bullet.BOLT_NIGHTMARE;
bullet.vPFX = "fireworks";
bullet.bntUpdate = (entity) -> {
if(entity.worldObj.isRemote) return;
Vec3 vec = Vec3.createVectorHelper(entity.posX - entity.prevPosX, entity.posY - entity.prevPosY, entity.posZ - entity.prevPosZ);
double motion = Math.max(vec.lengthVector(), 0.1);
vec = vec.normalize();
for(double d = 0; d < motion; d += 0.5) {
bullet.bntUpdate = (entity) -> breakInPath(entity, 1.25F);
return bullet;
}
public static BulletConfiguration getCoilDUConfig() {
BulletConfiguration bullet = new BulletConfiguration();
bullet.ammo = new ComparableStack(ModItems.ammo_coilgun, 1, AmmoCoilgun.DU.ordinal());
bullet.velocity = 7.5F;
bullet.spread = 0.0F;
bullet.wear = 25;
bullet.bulletsMin = 1;
bullet.bulletsMax = 1;
bullet.dmgMin = 65;
bullet.dmgMax = 80;
bullet.gravity = 0D;
bullet.maxAge = 50;
bullet.doesPenetrate = true;
bullet.isSpectral = true;
int x = (int) Math.floor(entity.posX - vec.xCoord * d);
int y = (int) Math.floor(entity.posY - vec.yCoord * d);
int z = (int) Math.floor(entity.posZ - vec.zCoord * d);
Block b = entity.worldObj.getBlock(x, y, z);
float hardness = b.getBlockHardness(entity.worldObj, x, y, z);
if(b.getMaterial() != Material.air && hardness >= 0 && hardness < 1.25) {
System.out.println(b.getUnlocalizedName() + " " + hardness);
entity.worldObj.func_147480_a(x, y, z, false);
}
bullet.style = bullet.STYLE_BOLT;
bullet.trail = bullet.BOLT_NIGHTMARE;
bullet.vPFX = "fireworks";
bullet.bntUpdate = (entity) -> breakInPath(entity, 2.5F);
return bullet;
}
public static BulletConfiguration getCoilRubberConfig() {
BulletConfiguration bullet = new BulletConfiguration();
bullet.ammo = new ComparableStack(ModItems.ammo_coilgun, 1, AmmoCoilgun.RUBBER.ordinal());
bullet.velocity = 5F;
bullet.spread = 0.0F;
bullet.wear = 10;
bullet.bulletsMin = 1;
bullet.bulletsMax = 1;
bullet.dmgMin = 10;
bullet.dmgMax = 20;
bullet.gravity = 0D;
bullet.maxAge = 50;
bullet.doesPenetrate = false;
bullet.isSpectral = false;
bullet.doesRicochet = true;
bullet.ricochetAngle = 30;
bullet.HBRC = 90;
bullet.LBRC = 100;
bullet.bounceMod = 1;
bullet.selfDamageDelay = 2;
bullet.style = bullet.STYLE_PELLET;
bullet.bntHurt = (entity, hit) -> {
Vec3 vec = Vec3.createVectorHelper(entity.motionX, entity.motionY, entity.motionZ);
vec = vec.normalize();
vec.xCoord *= 10;
vec.yCoord *= 10;
vec.zCoord *= 10;
hit.motionX += vec.xCoord;
hit.motionY += vec.yCoord;
hit.motionZ += vec.zCoord;
if(hit instanceof EntityPlayerMP) {
PacketDispatcher.wrapper.sendTo(new ExplosionKnockbackPacket(vec), (EntityPlayerMP) hit);
}
};
return bullet;
}
public static void breakInPath(EntityBulletBaseNT entity, float threshold) {
if(entity.worldObj.isRemote) return;
Vec3 vec = Vec3.createVectorHelper(entity.posX - entity.prevPosX, entity.posY - entity.prevPosY, entity.posZ - entity.prevPosZ);
double motion = Math.max(vec.lengthVector(), 0.1);
vec = vec.normalize();
for(double d = 0; d < motion; d += 0.5) {
int x = (int) Math.floor(entity.posX - vec.xCoord * d);
int y = (int) Math.floor(entity.posY - vec.yCoord * d);
int z = (int) Math.floor(entity.posZ - vec.zCoord * d);
Block b = entity.worldObj.getBlock(x, y, z);
float hardness = b.getBlockHardness(entity.worldObj, x, y, z);
if(b.getMaterial() != Material.air && hardness >= 0 && hardness < threshold) {
entity.worldObj.func_147480_a(x, y, z, false);
}
}
}
public static BulletConfiguration getFlameConfig() {
BulletConfiguration bullet = new BulletConfiguration();

View File

@ -748,6 +748,23 @@ public class ItemAmmoEnums {
}
}
public enum AmmoCoilgun implements IAmmoItemEnum {
STOCK("ammo_coilgun"),
DU("ammo_coilgun_du", AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.CON_HEAVY_WEAR),
RUBBER("ammo_coilgun_rubber", AmmoItemTrait.NEU_MORE_BOUNCY, AmmoItemTrait.CON_DAMAGE);
private final Set<AmmoItemTrait> traits;
private final String unloc;
private AmmoCoilgun(String unloc, AmmoItemTrait... traits) {
this.traits = safeAssign(traits);
this.unloc = unloc;
}
@Override public Set<AmmoItemTrait> getTraits() { return traits; }
@Override public String getInternalName() { return unloc; }
}
public interface IAmmoItemEnum {
public Set<AmmoItemTrait> getTraits();
public String getInternalName();

View File

@ -1506,6 +1506,7 @@ public class ModItems {
public static ItemEnumMulti ammo_dart;
public static ItemEnumMulti ammo_stinger_rocket;
public static ItemEnumMulti ammo_luna_sniper;
public static ItemEnumMulti ammo_coilgun;
public static Item ammo_cell;
@ -1574,7 +1575,6 @@ public class ModItems {
public static Item gun_b92_ammo;
public static Item gun_b93;
public static Item gun_coilgun;
public static Item gun_coilgun_ammo;
public static Item gun_xvl1456;
public static Item gun_xvl1456_ammo;
public static Item gun_osipr;
@ -4135,6 +4135,7 @@ public class ModItems {
ammo_fuel = new ItemAmmo(AmmoFlamethrower.class).setUnlocalizedName("ammo_fuel");
ammo_fireext = new ItemAmmo(AmmoFireExt.class).setUnlocalizedName("ammo_fireext");
ammo_cell = new ItemCustomLore().setCreativeTab(MainRegistry.weaponTab).setUnlocalizedName("ammo_cell").setMaxStackSize(16);
ammo_coilgun = new ItemAmmo(AmmoCoilgun.class).setUnlocalizedName("ammo_coilgun");
ammo_dart = (ItemEnumMulti) new ItemAmmo(AmmoDart.class).setUnlocalizedName("ammo_dart").setMaxStackSize(16);
ammo_stinger_rocket = new ItemAmmo(AmmoStinger.class).setUnlocalizedName("ammo_stinger_rocket");
ammo_luna_sniper = new ItemAmmo(AmmoLunaticSniper.class).setUnlocalizedName("ammo_luna_sniper");
@ -4202,7 +4203,6 @@ public class ModItems {
gun_b92_ammo = new GunB92Cell().setUnlocalizedName("gun_b92_ammo").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b92_ammo_alt");
gun_b92 = new GunB92().setUnlocalizedName("gun_b92").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b92");
gun_b93 = new GunB93().setUnlocalizedName("gun_b93").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b93");
gun_coilgun_ammo = new Item().setUnlocalizedName("gun_coilgun_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_coilgun_ammo");
gun_coilgun = new ItemCoilgun(GunEnergyFactory.getCoilgunConfig()).setUnlocalizedName("gun_coilgun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_coilgun");
gun_xvl1456_ammo = new Item().setUnlocalizedName("gun_xvl1456_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_xvl1456_ammo");
gun_xvl1456 = new ItemGunGauss(GunGaussFactory.getXVLConfig(), GunGaussFactory.getChargedConfig()).setUnlocalizedName("gun_xvl1456").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_xvl1456");
@ -7083,7 +7083,6 @@ public class ModItems {
//GameRegistry.registerItem(gun_uboinik_ammo, gun_uboinik_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_lever_action_ammo, gun_lever_action_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_bolt_action_ammo, gun_bolt_action_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_coilgun_ammo, gun_coilgun_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_xvl1456_ammo, gun_xvl1456_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_osipr_ammo, gun_osipr_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_osipr_ammo2, gun_osipr_ammo2.getUnlocalizedName());
@ -7118,6 +7117,7 @@ public class ModItems {
GameRegistry.registerItem(ammo_rocket, ammo_rocket.getUnlocalizedName());
GameRegistry.registerItem(ammo_stinger_rocket, ammo_stinger_rocket.getUnlocalizedName());
GameRegistry.registerItem(ammo_luna_sniper, ammo_luna_sniper.getUnlocalizedName());
GameRegistry.registerItem(ammo_coilgun, ammo_coilgun.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade, ammo_grenade.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell, ammo_shell.getUnlocalizedName());
@ -8161,6 +8161,8 @@ public class ModItems {
addRemap("gas_petroleum", gas_full, Fluids.PETROLEUM.getID());
addRemap("gas_biogas", gas_full, Fluids.BIOGAS.getID());
addRemap("gas_lpg", gas_full, Fluids.LPG.getID());
addRemap("gun_coilgun_ammo", ammo_coilgun, AmmoCoilgun.STOCK);
}
public static void addRemap(String unloc, Item item, Enum sub) {

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (4655)";
public static final String VERSION = "1.0.27 BETA (4662)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -983,6 +983,9 @@ item.ammo_arty_phosgene.name=16" Artilleriegranate (Phosgen)
item.ammo_arty_phosphorus.name=16" Phosphor-Artilleriegranate
item.ammo_arty_phosphorus_multi.name=16" Mehrfach-Phosphor-Artilleriegranate
item.ammo_cell.name=Energiezelle
item.ammo_coilgun.name=Wolframkugel
item.ammo_coilgun_du.name=Ferrourankugel
item.ammo_coilgun_rubber.name=Gummikugel
item.ammo_container.name=Munitionsbehälter
item.ammo_dart.name=Plastikdart (Withernd)
item.ammo_dart_nerf.name=NERF-Dart
@ -1876,7 +1879,6 @@ item.gun_calamity_ammo.name=.50 BMG Patrone (LEGACY)
item.gun_calamity_dual.name=Sattelkanone
item.gun_chemthrower.name=Chemowerfer
item.gun_coilgun.name=Gaußpistole
item.gun_coilgun_ammo.name=Wolframkugel
item.gun_cryolator.name=Der Cryolator
item.gun_cryolator_ammo.name=Kryozelle
item.gun_dampfmaschine.name=Garantiert keine Scherzwaffe

View File

@ -1609,6 +1609,9 @@ item.ammo_arty_phosgene.name=16" Phosgene Artillery Shell
item.ammo_arty_phosphorus.name=16" Phosphorus Shell
item.ammo_arty_phosphorus_multi.name=16" Multi Phosphorus Shell
item.ammo_cell.name=Energy Cell
item.ammo_coilgun.name=Coilgun Tungsten Ball
item.ammo_coilgun_du.name=Coilgun Ferrouranium Ball
item.ammo_coilgun_rubber.name=Coilgun Rubber Ball
item.ammo_container.name=Ammo Container
item.ammo_dart.name=Plastic Dart (Withering)
item.ammo_dart_nerf.name=NERF Dart
@ -2567,7 +2570,6 @@ item.gun_calamity_ammo.name=.50 BMG Round (LEGACY)
item.gun_calamity_dual.name=Saddle Gun
item.gun_chemthrower.name=Chemthrower
item.gun_coilgun.name=Coilgun
item.gun_coilgun_ammo.name=Coilgun Tungsten Ball
item.gun_cryolator.name=The Cryolator
item.gun_cryolator_ammo.name=Cryo Cell
item.gun_dampfmaschine.name=Totally Not a Joke Weapon

View File

Before

Width:  |  Height:  |  Size: 451 B

After

Width:  |  Height:  |  Size: 451 B

View File

Before

Width:  |  Height:  |  Size: 253 B

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B