Skip to content

Commit

Permalink
roblox death sound
Browse files Browse the repository at this point in the history
  • Loading branch information
HbmMods committed Dec 23, 2024
1 parent e04e5af commit d7776b5
Show file tree
Hide file tree
Showing 72 changed files with 238 additions and 9,479 deletions.
6 changes: 6 additions & 0 deletions changelog
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,25 @@
* AJR armor plating now uses niobium instead of saturnite, and yields twice as many items per recipe
* Due to the gating change, the saturnite anvil now has a tier equivalent to a bronze anvil
* Doubled the liberator's base damage to be on-par with the lever action shotgun in order to offset its poor performance due to the reload speed
* Decreased the explosive 12 gauge's damage from x5 to x2.5
* All non black powder shotgun shells now have some amount of damage threshold negation in order to not immediately become useless when used against early power armor
* Obviously shot will always fare worse against higher tier armor, in those cases either use flechettes, slugs, any of the high tier rounds or a different caliber entirely
* Bombers and cargo planes now use interpolation, making their movement smoother and fixing potential desyncs due to TPS
* Trenchmaster armor no longer displays benefits that no longer exist
* Legendaries are no longer found in red rooms, rather they have a whole new system of being discovered and crafted
* "Recipes" are still subject to change, but the base system is final
* There will some day be a completely new dungeon for those, but for now I used what I had
* Mayhaps a new legendary has appeared?
* Glyphids now make use of the same resistance system as armors, their armor is no longer completely ignored by the new guns
* Different damage types have different resistances
* Damage resistance remains the same, while damage threshold is determined by the glyphid's armor - breaking the armor off will decrease the damage threshold
* Balancing might still be off, however glyhids shouldn't be too tanky
* I still haven't bothered to fix the bolter. It's like the son I don't love
* Changed some of the sounds of the guns that still used the default black powder noise
* The flamethrower turret now uses the new flamethrower projectiles
* The now unused old gun items have been completely obliterated
* Headhot mulitpliers now apply for most conventional projectiles, by default the bonus for headshots is +25% damage
* JHP adds +50%

## Fixed
* Fixed 9mm soft points being called ".9mm"
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
mod_version=1.0.27
# Empty build number makes a release type
mod_build_number=5180
mod_build_number=5188

credits=HbMinecraft,\
\ rodolphito (explosion algorithms),\
Expand Down
1 change: 1 addition & 0 deletions src/main/java/api/hbm/entity/IResistanceProvider.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@
public interface IResistanceProvider {

public float[] getCurrentDTDR(DamageSource damage, float amount, float pierceDT, float pierce);
public void onDamageDealt(DamageSource damage, float amount);
}
4 changes: 2 additions & 2 deletions src/main/java/com/hbm/crafting/ConsumableRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import com.hbm.config.GeneralConfig;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ItemAmmoEnums.AmmoFatman;
import com.hbm.items.machine.ItemCircuit.EnumCircuitType;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.items.ItemEnums;
import com.hbm.items.ModItems;
import com.hbm.main.CraftingManager;
Expand All @@ -31,7 +31,7 @@ public static void register() {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 1), new Object[] { "TTT", "TRT", "TTT", 'T', ModItems.grenade_gascan, 'R', ModItems.detonator_laser });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 2), new Object[] { "TTT", "TRT", "TTT", 'T', ModItems.pellet_gas, 'R', ModItems.detonator_laser });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 3), new Object[] { "TRT", 'T', ModItems.grenade_cloud, 'R', ModItems.detonator_laser });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 4), new Object[] { "TR", 'T', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH), 'R', ModItems.detonator_laser });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 4), new Object[] { "TR", 'T', DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_HIGH), 'R', ModItems.detonator_laser });

//Food
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_waffle, 1), new Object[] { "WEW", "MPM", "WEW", 'W', Items.wheat, 'E', Items.egg, 'M', Items.milk_bucket, 'P', ModItems.man_core });
Expand Down
7 changes: 2 additions & 5 deletions src/main/java/com/hbm/crafting/WeaponRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.OreDictManager;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.material.Mats;

Expand Down Expand Up @@ -101,7 +101,7 @@ public static void register() {

//Missiles
CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_taint, 1), new Object[] { ModItems.missile_assembly, ModItems.bucket_mud, ModItems.powder_spark_mix, ModItems.powder_magic });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_micro, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH) });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_micro, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_HIGH) });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_bhole, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.grenade_black_hole });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_schrabidium, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.cell_anti_schrabidium, ANY_HARDPLASTIC.ingot() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_emp, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModBlocks.emp_bomb });
Expand Down Expand Up @@ -153,9 +153,6 @@ public static void register() {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_claws, 1), new Object[] { " X ", "X X", " XX", 'X', STEEL.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nuke, 1), new Object[] { " WP", "SEP", " WP", 'W', GOLD.wireFine(), 'P', STEEL.plate(), 'S', STEEL.shell(), 'E', ModItems.ball_tatb });

FluidType[] chainsawTypes = new FluidType[] {Fluids.DIESEL, Fluids.DIESEL_CRACK, Fluids.PETROIL, Fluids.PETROIL_LEADED, Fluids.GASOLINE, Fluids.GASOLINE_LEADED, Fluids.BIOFUEL};
for(FluidType type : chainsawTypes) CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(2, AmmoRocket.RPC), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', type.getDict(1000), 'H', STEEL.shell(), 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket });

//240mm Shells
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', ModBlocks.tnt, 'G', Items.gunpowder, 'H', STEEL.shell(), 'C', CU.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', ModBlocks.tnt, 'G', ModItems.ballistite, 'H', STEEL.shell(), 'C', CU.ingot() });
Expand Down
2 changes: 0 additions & 2 deletions src/main/java/com/hbm/entity/EntityMappings.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ public static void writeMappings() {
addEntity(EntityMissileMirv.class, "entity_missile_mirv", 1000);
addEntity(EntityMIRV.class, "entity_mirvlet", 1000);
addEntity(EntityGrenadeNuclear.class, "entity_grenade_nuclear", 1000);
addEntity(EntityBSmokeFX.class, "entity_b_smoke_fx", 1000);
addEntity(EntityGrenadePlasma.class, "entity_grenade_plasma", 500);
addEntity(EntityGrenadeTau.class, "entity_grenade_tau", 500);
addEntity(EntityChopperMine.class, "entity_chopper_mine", 1000);
Expand All @@ -86,7 +85,6 @@ public static void writeMappings() {
addEntity(EntityGrenadeASchrab.class, "entity_grenade_aschrab", 500);
addEntity(EntityFalloutRain.class, "entity_fallout", 1000);
addEntity(EntityEMPBlast.class, "entity_emp_blast", 1000);
addEntity(EntityLN2.class, "entity_LN2", 1000);
addEntity(EntityGrenadePulse.class, "entity_grenade_pulse", 1000);
addEntity(EntityLaserBeam.class, "entity_laser_beam", 1000);
addEntity(EntityMinerBeam.class, "entity_miner_beam", 1000);
Expand Down
5 changes: 3 additions & 2 deletions src/main/java/com/hbm/entity/missile/EntityMissileTier0.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.explosion.ExplosionNukeGeneric;
import com.hbm.explosion.ExplosionNukeSmall;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.material.Mats;
import com.hbm.items.ModItems;

import com.hbm.items.ItemAmmoEnums.AmmoFatman;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;

import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
Expand Down Expand Up @@ -81,7 +82,7 @@ public static class EntityMissileMicro extends EntityMissileTier0 {
public EntityMissileMicro(World world) { super(world); }
public EntityMissileMicro(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); }
@Override public void onImpact() { ExplosionNukeSmall.explode(worldObj, posX, posY + 0.5, posZ, ExplosionNukeSmall.PARAMS_HIGH); }
@Override public ItemStack getDebrisRareDrop() { return ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH); }
@Override public ItemStack getDebrisRareDrop() { return DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_HIGH); }
@Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_micro); }
}

Expand Down
5 changes: 3 additions & 2 deletions src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
import com.hbm.entity.logic.EntityNukeExplosionMK5;
import com.hbm.explosion.ExplosionNukeGeneric;
import com.hbm.explosion.ExplosionNukeSmall;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.items.ModItems;
import com.hbm.items.ItemAmmoEnums.AmmoFatman;
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
import com.hbm.lib.ModDamageSource;
import com.hbm.main.MainRegistry;
import com.hbm.packet.PacketDispatcher;
Expand Down Expand Up @@ -81,7 +82,7 @@ public void onDeath(DamageSource p_70645_1_) {
}

if(p_70645_1_.getEntity() instanceof EntitySkeleton || (p_70645_1_.isProjectile() && p_70645_1_.getEntity() instanceof EntityArrow && ((EntityArrow) (p_70645_1_.getEntity())).shootingEntity == null)) {
this.entityDropItem(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.STOCK), 1);
this.entityDropItem(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_STANDARD), 1);
}
}

Expand Down
8 changes: 4 additions & 4 deletions src/main/java/com/hbm/entity/mob/EntityFBI.java
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,8 @@ protected void addRandomArmor() {
int equip = rand.nextInt(2);

switch(equip) {
case 0: this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_revolver_nopip)); break;
case 1: this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_ks23)); break;
case 0: this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_heavy_revolver)); break;
case 1: this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_spas12)); break;
}

if(rand.nextInt(5) == 0) {
Expand Down Expand Up @@ -143,14 +143,14 @@ public int getTotalArmorValue() {
public void attackEntityWithRangedAttack(EntityLivingBase entity, float f) {

if(this.getEquipmentInSlot(0) != null) {
if(this.getEquipmentInSlot(0).getItem() == ModItems.gun_revolver_nopip) {
if(this.getEquipmentInSlot(0).getItem() == ModItems.gun_heavy_revolver) {
EntityBullet bullet = new EntityBullet(worldObj, this, entity, 3F, 2);
bullet.damage = 10;
this.worldObj.spawnEntityInWorld(bullet);
this.playSound("hbm:weapon.revolverShootAlt", 1.0F, 1.0F);
}

if(this.getEquipmentInSlot(0).getItem() == ModItems.gun_ks23) {
if(this.getEquipmentInSlot(0).getItem() == ModItems.gun_spas12) {
for(int i = 0; i < 7; i++) {
EntityBullet bullet = new EntityBullet(worldObj, this, entity, 3F, 5);
bullet.damage = 3;
Expand Down
16 changes: 11 additions & 5 deletions src/main/java/com/hbm/entity/mob/EntityQuackos.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
package com.hbm.entity.mob;

import com.hbm.entity.particle.EntityBSmokeFX;
import com.hbm.items.ModItems;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.AuxParticlePacketNT;

import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.boss.IBossDisplayData;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
Expand Down Expand Up @@ -102,10 +105,13 @@ public void despawn() {

if(!worldObj.isRemote) {
for(int i = 0; i < 150; i++) {

EntityBSmokeFX fx = new EntityBSmokeFX(worldObj);
fx.setPositionAndRotation(posX + rand.nextDouble() * 20 - 10, posY + rand.nextDouble() * 25, posZ + rand.nextDouble() * 20 - 10, 0, 0);
worldObj.spawnEntityInWorld(fx);
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "bf");
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data,
posX + rand.nextDouble() * 20 - 10,
posY + rand.nextDouble() * 25,
posZ + rand.nextDouble() * 20 - 10),
new TargetPoint(dimension, posX, posY, posZ, 150));
}

dropItem(ModItems.spawn_duck, 3);
Expand Down
68 changes: 32 additions & 36 deletions src/main/java/com/hbm/entity/mob/EntityTaintCrab.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
import java.util.ArrayList;
import java.util.List;

import com.hbm.entity.projectile.EntityBulletBaseNT;
import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.entity.projectile.EntityBulletBaseMK4;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.sedna.factory.XFactory762mm;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.AuxParticlePacketNT;
import com.hbm.potion.HbmPotion;
Expand All @@ -28,51 +28,47 @@ public class EntityTaintCrab extends EntityCyberCrab {

public EntityTaintCrab(World p_i1733_1_) {
super(p_i1733_1_);
this.setSize(1.25F, 1.25F);
this.ignoreFrustumCheck = true;
this.setSize(1.25F, 1.25F);
this.ignoreFrustumCheck = true;
}

protected EntityAIArrowAttack arrowAI() {
return new EntityAIArrowAttack(this, 0.5D, 5, 5, 50.0F);
}

@Override
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(25.0D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5F);
}

public void onLivingUpdate() {

targets = TileEntityTesla.zap(worldObj, posX, posY + 1.25, posZ, 10, this);
protected EntityAIArrowAttack arrowAI() {
return new EntityAIArrowAttack(this, 0.5D, 5, 5, 50.0F);
}

@Override
protected void applyEntityAttributes() {
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(25.0D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5F);
}

public void onLivingUpdate() {

targets = TileEntityTesla.zap(worldObj, posX, posY + 1.25, posZ, 10, this);

List<EntityLivingBase> targets = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(posX - 5, posY - 5, posZ - 5, posX + 5, posY + 5, posZ + 5));

for(EntityLivingBase e : targets) {

if(!(e instanceof EntityCyberCrab))
e.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 10, 15));
if(!(e instanceof EntityCyberCrab)) e.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 10, 15));
}

super.onLivingUpdate();
}

@Override
protected Item getDropItem()
{
return ModItems.coil_advanced_alloy;
}
super.onLivingUpdate();
}

protected void dropRareDrop(int p_70600_1_) {
this.dropItem(ModItems.coil_magnetized_tungsten, 1);
}
@Override
protected Item getDropItem() {
return ModItems.coil_advanced_alloy;
}

protected void dropRareDrop(int p_70600_1_) {
this.dropItem(ModItems.coil_magnetized_tungsten, 1);
}

@Override
public void attackEntityWithRangedAttack(EntityLivingBase entity, float f) {

EntityBulletBaseNT bullet = new EntityBulletBaseNT(worldObj, BulletConfigSyncingUtil.BMG50_STAR, this);
EntityBulletBaseMK4 bullet = new EntityBulletBaseMK4(this, XFactory762mm.r762_fmj, 10F, 0F, 0F, 0F, 0F);
Vec3 motion = Vec3.createVectorHelper(posX - entity.posX, posY - entity.posZ - entity.height / 2, posZ - entity.posZ);
motion = motion.normalize();
NBTTagCompound data = new NBTTagCompound();
Expand All @@ -82,7 +78,7 @@ public void attackEntityWithRangedAttack(EntityLivingBase entity, float f) {
data.setDouble("mY", bullet.motionY * 0.3);
data.setDouble("mZ", bullet.motionZ * 0.3);
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(this.dimension, posX, posY, posZ, 50));
this.worldObj.spawnEntityInWorld(bullet);
this.playSound("hbm:weapon.sawShoot", 1.0F, 0.5F);
this.worldObj.spawnEntityInWorld(bullet);
this.playSound("hbm:weapon.sawShoot", 1.0F, 0.5F);
}
}
5 changes: 5 additions & 0 deletions src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphid.java
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,11 @@ public float[] getCurrentDTDR(DamageSource damage, float amount, float pierceDT,
return new float[] {threshold, stats.resistanceMult};
}

@Override
public void onDamageDealt(DamageSource damage, float amount) {
if(this.isArmorBroken(amount)) this.breakOffArmor();
}

@Override
public void onUpdate() {
super.onUpdate();
Expand Down
Loading

0 comments on commit d7776b5

Please sign in to comment.