mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-02-23 22:40:46 +00:00
slight musky man nerf
This commit is contained in:
parent
18074097c7
commit
e20d28f1d6
10
changelog
10
changelog
@ -2,6 +2,14 @@
|
|||||||
* Target pistol
|
* Target pistol
|
||||||
* Weapon steel tier pistol that holds 15 rounds and shoots .22 LR
|
* Weapon steel tier pistol that holds 15 rounds and shoots .22 LR
|
||||||
* Accepts silencers
|
* Accepts silencers
|
||||||
|
* NCR Ranger Power Armor
|
||||||
|
* Legendary set, like the remnants power armor
|
||||||
|
* Stats are largely similar, but has a speed boost when sprinting
|
||||||
|
* Comes with the power armor - melee controller item
|
||||||
|
* If the full set is equipped, the melee controller allows for powerful melee attacks
|
||||||
|
* Left click does two rapid swings, right click causes both arms to swing at once
|
||||||
|
* The NCRPA's blades are armor-piercing and gib enemies on death
|
||||||
|
* The blades do 250% damage on large enemies, i.e. ones with 100 or more max health
|
||||||
|
|
||||||
## Changed
|
## Changed
|
||||||
* Reworked the industrial turbine
|
* Reworked the industrial turbine
|
||||||
@ -24,6 +32,8 @@
|
|||||||
* Cleaned up a ton of unused assets
|
* Cleaned up a ton of unused assets
|
||||||
* The old crucible smelting rules when not using a template can be restores with the `/ntmserver` value `LEGACY_CRUCIBLE_RULES`
|
* The old crucible smelting rules when not using a template can be restores with the `/ntmserver` value `LEGACY_CRUCIBLE_RULES`
|
||||||
* Due to repeated complaints, power armor sounds are now generally more quiet, with 25% volume for steps and 50% volume for jumping and landing
|
* Due to repeated complaints, power armor sounds are now generally more quiet, with 25% volume for steps and 50% volume for jumping and landing
|
||||||
|
* Reduced mask man's projectile resistance from 75% to 50%
|
||||||
|
* Reduced maskman's resistance to damage above 50 from 75% to 50%
|
||||||
|
|
||||||
# Fixed
|
# Fixed
|
||||||
* Fixed proxy tiles that do not use electricity at all visually connecting to cables
|
* Fixed proxy tiles that do not use electricity at all visually connecting to cables
|
||||||
|
|||||||
@ -66,17 +66,13 @@ public class EntityMaskMan extends EntityMob implements IBossDisplayData, IRadia
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(source.isFireDamage())
|
if(source.isFireDamage()) amount = 0;
|
||||||
amount = 0;
|
if(source.isMagicDamage()) amount = 0;
|
||||||
if(source.isMagicDamage())
|
if(source.isProjectile()) amount *= 0.5F;
|
||||||
amount = 0;
|
if(source.isExplosion()) amount *= 0.5F;
|
||||||
if(source.isProjectile())
|
|
||||||
amount *= 0.25F;
|
|
||||||
if(source.isExplosion())
|
|
||||||
amount *= 0.5F;
|
|
||||||
|
|
||||||
if(amount > 50) {
|
if(amount > 50) {
|
||||||
amount = 50 + (amount - 50) * 0.25F;
|
amount = 50 + (amount - 50) * 0.5F;
|
||||||
}
|
}
|
||||||
|
|
||||||
return super.attackEntityFrom(source, amount);
|
return super.attackEntityFrom(source, amount);
|
||||||
|
|||||||
@ -1,7 +1,12 @@
|
|||||||
package com.hbm.items.armor;
|
package com.hbm.items.armor;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import com.google.common.collect.Multimap;
|
||||||
|
import com.hbm.extprop.HbmPlayerProps;
|
||||||
|
import com.hbm.items.ModItems;
|
||||||
import com.hbm.main.ResourceManager;
|
import com.hbm.main.ResourceManager;
|
||||||
import com.hbm.render.item.ItemRenderBase;
|
import com.hbm.render.item.ItemRenderBase;
|
||||||
import com.hbm.render.model.ModelArmorNCRPA;
|
import com.hbm.render.model.ModelArmorNCRPA;
|
||||||
@ -11,9 +16,12 @@ import cpw.mods.fml.relauncher.Side;
|
|||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import net.minecraft.client.model.ModelBiped;
|
import net.minecraft.client.model.ModelBiped;
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.entity.SharedMonsterAttributes;
|
||||||
|
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.client.IItemRenderer;
|
import net.minecraftforge.client.IItemRenderer;
|
||||||
|
|
||||||
public class ArmorNCRPA extends ArmorFSBPowered implements IItemRendererProvider, IPAWeaponsProvider {
|
public class ArmorNCRPA extends ArmorFSBPowered implements IItemRendererProvider, IPAWeaponsProvider {
|
||||||
@ -29,13 +37,34 @@ public class ArmorNCRPA extends ArmorFSBPowered implements IItemRendererProvider
|
|||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) {
|
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) {
|
||||||
|
|
||||||
if(models == null) { models = new ModelArmorNCRPA[4];
|
if(models == null) {
|
||||||
|
models = new ModelArmorNCRPA[4];
|
||||||
for(int i = 0; i < 4; i++) models[i] = new ModelArmorNCRPA(i);
|
for(int i = 0; i < 4; i++) models[i] = new ModelArmorNCRPA(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
return models[armorSlot];
|
return models[armorSlot];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final UUID speed = UUID.fromString("6ab858ba-d712-485c-bae9-e5e765fc555a");
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onArmorTick(World world, EntityPlayer player, ItemStack stack) {
|
||||||
|
super.onArmorTick(world, player, stack);
|
||||||
|
|
||||||
|
if(this != ModItems.ncrpa_plate) return;
|
||||||
|
|
||||||
|
HbmPlayerProps props = HbmPlayerProps.getData(player);
|
||||||
|
|
||||||
|
/// SPEED ///
|
||||||
|
Multimap multimap = super.getAttributeModifiers(stack);
|
||||||
|
multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(speed, "NCRPA SPEED", 0.1, 0));
|
||||||
|
player.getAttributeMap().removeAttributeModifiers(multimap);
|
||||||
|
|
||||||
|
if(player.isSprinting()) {
|
||||||
|
player.getAttributeMap().applyAttributeModifiers(multimap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override public Item getItemForRenderer() { return this; }
|
@Override public Item getItemForRenderer() { return this; }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -23,8 +23,8 @@ import net.minecraft.util.MovingObjectPosition;
|
|||||||
|
|
||||||
public class ArmorNCRPAMelee implements IPAMelee {
|
public class ArmorNCRPAMelee implements IPAMelee {
|
||||||
|
|
||||||
@Override public void clickPrimary(ItemStack stack, LambdaContext ctx) { XFactoryPA.doSwing(stack, ctx, GunAnimation.CYCLE, 30); }
|
@Override public void clickPrimary(ItemStack stack, LambdaContext ctx) { XFactoryPA.doSwing(stack, ctx, GunAnimation.CYCLE, 25); }
|
||||||
@Override public void clickSecondary(ItemStack stack, LambdaContext ctx) { XFactoryPA.doSwing(stack, ctx, GunAnimation.ALT_CYCLE, 40); }
|
@Override public void clickSecondary(ItemStack stack, LambdaContext ctx) { XFactoryPA.doSwing(stack, ctx, GunAnimation.ALT_CYCLE, 30); }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void orchestra(ItemStack stack, LambdaContext ctx) {
|
public void orchestra(ItemStack stack, LambdaContext ctx) {
|
||||||
@ -48,6 +48,7 @@ public class ArmorNCRPAMelee implements IPAMelee {
|
|||||||
|
|
||||||
if(mop.entityHit instanceof EntityLivingBase) {
|
if(mop.entityHit instanceof EntityLivingBase) {
|
||||||
EntityLivingBase living = (EntityLivingBase) mop.entityHit;
|
EntityLivingBase living = (EntityLivingBase) mop.entityHit;
|
||||||
|
if(living.getMaxHealth() >= 100) damage *= 2.5;
|
||||||
EntityDamageUtil.attackEntityFromNT((EntityLivingBase) mop.entityHit, DamageSource.causePlayerDamage(ctx.getPlayer()), damage, true, false, knockback, dt, pierce);
|
EntityDamageUtil.attackEntityFromNT((EntityLivingBase) mop.entityHit, DamageSource.causePlayerDamage(ctx.getPlayer()), damage, true, false, knockback, dt, pierce);
|
||||||
if(!living.isEntityAlive()) ConfettiUtil.gib(living);
|
if(!living.isEntityAlive()) ConfettiUtil.gib(living);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user