AbstractAttributeMap attributes = newHorse.getAttributeMap(); IAttributeInstance movementSpeed = attributes.getAttributeInstance(SharedMonsterAttributes.MOVEMENT_SPEED); movementSpeed.setBaseValue(oldAttributes.getAttributeInstance(SharedMonsterAttributes.MOVEMENT_SPEED).getBaseValue()); movementSpeed.applyModifier(new AttributeModifier("Ermergerd Virus D:", movementSpeed.getBaseValue(), 0)); IAttributeInstance health = attributes.getAttributeInstance(SharedMonsterAttributes.MAX_HEALTH); health.setBaseValue(oldAttributes.getAttributeInstance(SharedMonsterAttributes.MAX_HEALTH).getBaseValue()); health.applyModifier(new AttributeModifier("Ermergerd Virus D:", health.getBaseValue(), 0)); IAttributeInstance jumpHeight = attributes.getAttributeInstance(AbstractHorse.JUMP_STRENGTH); jumpHeight.setBaseValue(oldAttributes.getAttributeInstance(AbstractHorse.JUMP_STRENGTH).getBaseValue()); jumpHeight.applyModifier(new AttributeModifier("Ermergerd Virus D:", jumpHeight.getBaseValue() * 0.5, 0));
e.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(MAX_HP * playerCount); if (hard) e.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.ARMOR).setBaseValue(15);
protected double getFollowRange() { return dragon.getAttributeMap().getAttributeInstance(FOLLOW_RANGE) .getAttributeValue(); } }
@Override public void onEnable(EntityTameableDragon dragon) { dragon.getAttributeMap().getAttributeInstance(EntityTameableDragon.MOVEMENT_SPEED_AIR).applyModifier(MODIFIER); }
@Override public void onDisable(EntityTameableDragon dragon) { dragon.getAttributeMap().getAttributeInstance(EntityTameableDragon.MOVEMENT_SPEED_AIR).removeModifier(MODIFIER); }
default void applyAttributes(@Nonnull EntityLivingBase entity, @Nonnull IValue<Double> baseHealth, @Nonnull IValue<Double> baseAttack) { entity.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(baseHealth.get()); IAttributeInstance ai = entity.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.ATTACK_DAMAGE); if (NullHelper.untrust(ai) == null) { entity.getAttributeMap().registerAttribute(SharedMonsterAttributes.ATTACK_DAMAGE); ai = entity.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.ATTACK_DAMAGE); } ai.setBaseValue(baseAttack.get()); }
public boolean hasEnoughEnergyScaled(int energy) { double percent = getPlayer().getAttributeMap().getAttributeInstance(AndroidAttributes.attributeBatteryUse).getAttributeValue(); int newEnergy = (int) Math.ceil(energy * percent); return extractEnergyRaw(energy, true) >= newEnergy; }
private static boolean clearModifiers(@Nonnull EntityPlayer player) { IAttributeInstance moveInst = player.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.MOVEMENT_SPEED); UUID uuid = DarkSteelAttributeModifiers.getWalkSpeed(false, 1, 0).getID(); AttributeModifier modifier = moveInst.getModifier(uuid); if (modifier != null) { moveInst.removeModifier(modifier); return true; } return false; }
public void extractEnergyScaled(int amount) { double percent = getPlayer().getAttributeMap().getAttributeInstance(AndroidAttributes.attributeBatteryUse).getAttributeValue(); extractEnergyRaw((int) (amount * percent), false); }
private void applyEntityAttributes() { //Checking if already registered, since this method has to be called multiple times due to SpongeForge not recreating the player, but resetting the attribute map if (player.getAttributeMap().getAttributeInstance(VReference.sunDamage) == null) { player.getAttributeMap().registerAttribute(VReference.sunDamage).setBaseValue(Balance.vp.SUNDAMAGE_DAMAGE); } if (player.getAttributeMap().getAttributeInstance(VReference.bloodExhaustion) == null) { player.getAttributeMap().registerAttribute(VReference.bloodExhaustion).setBaseValue(Balance.vp.BLOOD_EXHAUSTION_BASIC_MOD); } if (player.getAttributeMap().getAttributeInstance(VReference.biteDamage) == null) { player.getAttributeMap().registerAttribute(VReference.biteDamage).setBaseValue(Balance.vp.BITE_DMG); } }
@Override public void setRevengeTarget(@Nullable EntityLivingBase target) { EntityLivingBase curTarget = getRevengeTarget(); super.setRevengeTarget(target); if (curTarget == target || world.isRemote || target == null) { return; } float distToSrc = getDistance(target); if (distToSrc > getNavigator().getPathSearchRange() && distToSrc < 50) { getAttributeMap().getAttributeInstance(SharedMonsterAttributes.FOLLOW_RANGE).setBaseValue(distToSrc + 2); } }
private static void setModifiers(@Nonnull EntityPlayer player) { SpeedUpgrade speedUpgrade = getActiveSpeedUpgrade(player); if (speedUpgrade != null) { EnergyUpgrade energyUpgrade = getActiveEnergyUpgrade(player); if (energyUpgrade != null) { IAttributeInstance moveInst = player.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.MOVEMENT_SPEED); AttributeModifier modifier = DarkSteelAttributeModifiers.getWalkSpeed(player.isSprinting(), speedUpgrade.getLevel(), energyUpgrade.getLevel()); moveInst.applyModifier(modifier); } } }
private static void handleAttributes(@Nonnull EntityEvent event) { if (event.getEntity() instanceof EntityPlayer) { final AbstractAttributeMap map = ((EntityLivingBase) event.getEntity()).getAttributeMap(); if (NullHelper.untrust(map.getAttributeInstance(AOE_XZ)) == null) { map.registerAttribute(AOE_XZ).setBaseValue(0); map.registerAttribute(AOE_Y).setBaseValue(0); map.registerAttribute(AOE_XYZ).setBaseValue(0); } } }
public float getWeaponScaledDamage(ItemStack weapon, EntityLivingBase shooter) { float damage = getCustomFloatStat(weapon, CUSTOM_DAMAGE_TAG, getWeaponBaseDamage(weapon)); damage = modifyStatFromModules(WeaponStats.DAMAGE, weapon, damage); damage += damage * EnchantmentHelper.getEnchantmentLevel(MatterOverdriveEnchantments.overclock, weapon) * 0.04f; damage *= getCustomFloatStat(weapon, CUSTOM_DAMAGE_MULTIPLY_TAG, 1); damage += shooter.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue(); return damage; }
@Override public void setSlimeSize(int size, boolean doFullHeal) { super.setSlimeSize(size, doFullHeal); SlimeConf conf = SlimeConf.getConfForSize(size); getAttributeMap().getAttributeInstance(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(conf.getAttackDamage()); getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(conf.getHealth()); setHealth(getMaxHealth()); }
@Override public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { super.onBlockStartBreak(itemstack, pos, player); PlayerData data = PlayerDataHandler.get(player); ItemStack playerCad = PsiAPI.getPlayerCAD(player); if(!playerCad.isEmpty()) { ItemStack bullet = getBulletInSocket(itemstack, getSelectedSlot(itemstack)); ItemCAD.cast(player.getEntityWorld(), player, data, bullet, playerCad, 5, 10, 0.05F, (SpellContext context) -> { context.tool = itemstack; context.positionBroken = raytraceFromEntity(player.getEntityWorld(), player, false, player.getAttributeMap().getAttributeInstance(EntityPlayer.REACH_DISTANCE).getAttributeValue()); }); } return false; }
this.getAttackTarget().attackEntityFrom(DamageSource.causeMobDamage(this), (float) this.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue()); this.getAttackTarget().attackEntityFrom(DamageSource.causeMobDamage(this), (float) this.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue()); float f1 = 0.5F; float f2 = this.getAttackTarget().moveForward;
this.getAttackTarget().attackEntityFrom(DamageSource.causeMobDamage(this), (float)this.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue()); this.getAttackTarget().attackEntityFrom(DamageSource.causeMobDamage(this), (float)this.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue()); this.getAttackTarget().knockBack(this.getAttackTarget(), 2, 1, 1);
double energyMultiply = androidPlayer.getPlayer().getAttributeMap().getAttributeInstance(AndroidAttributes.attributeBatteryUse).getAttributeValue(); energyReqired *= energyMultiply; int energyExtracted = androidPlayer.extractEnergy(energyReqired, true);
this.getAttackTarget().attackEntityFrom(DamageSource.causeMobDamage(this), (float) this.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue()); this.getAttackTarget().attackEntityFrom(DamageSource.causeMobDamage(this), (float) this.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue()); this.getAttackTarget().motionX += (Math.signum(this.posX - this.getAttackTarget().posX) * 0.5D - this.getAttackTarget().motionX) * 0.100000000372529 * 5; this.getAttackTarget().motionY += (Math.signum(this.posY - this.getAttackTarget().posY + 1) * 0.5D - this.getAttackTarget().motionY) * 0.100000000372529 * 5;