注册宏伟之嚎perk
This commit is contained in:
parent
816d617848
commit
e10b227cce
10 changed files with 61 additions and 6 deletions
|
@ -493,8 +493,8 @@ public class LivingEventHandler {
|
|||
for (Perk.Type type : Perk.Type.values()) {
|
||||
var instance = data.perk.getInstance(type);
|
||||
if (instance != null) {
|
||||
instance.perk().onHit(damage, data, instance, event.getEntity(), source);
|
||||
damage = instance.perk().getModifiedDamage(damage, data, instance, event.getEntity(), source);
|
||||
instance.perk().onHit(damage, data, instance, event.getEntity(), source);
|
||||
if (instance.perk().shouldCancelHurtEvent(damage, data, instance, event.getEntity(), source)) {
|
||||
event.setCanceled(true);
|
||||
return;
|
||||
|
|
|
@ -72,6 +72,7 @@ public class ModPerks {
|
|||
public static final DeferredHolder<Perk, Perk> VOLT_OVERLOAD = DAMAGE_PERKS.register("volt_overload", VoltOverload::new);
|
||||
public static final DeferredHolder<Perk, Perk> DESPERADO = DAMAGE_PERKS.register("desperado", Desperado::new);
|
||||
public static final DeferredHolder<Perk, Perk> VORPAL_WEAPON = DAMAGE_PERKS.register("vorpal_weapon", VorpalWeapon::new);
|
||||
public static final DeferredHolder<Perk, Perk> MAGNIFICENT_HOWL = DAMAGE_PERKS.register("magnificent_howl", MagnificentHowl::new);
|
||||
|
||||
// public static void registerCompatPerks() {
|
||||
// if (ModList.get().isLoaded(CompatHolder.DMV)) {
|
||||
|
|
|
@ -207,6 +207,8 @@ public class ModVillagers {
|
|||
new ItemStack(getItemHolder("monster_hunter"), 1), 4, 25, 0.05f));
|
||||
trades.get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 40),
|
||||
new ItemStack(getItemHolder("vorpal_weapon"), 1), 4, 25, 0.05f));
|
||||
trades.get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 42),
|
||||
new ItemStack(getItemHolder("magnificent_howl"), 1), 4, 25, 0.05f));
|
||||
|
||||
trades.get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
|
||||
new ItemStack(ModItems.HUNTING_RIFLE_BLUEPRINT.get()), 10, 30, 0.05f));
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
package com.atsuishio.superbwarfare.perk.damage;
|
||||
|
||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||
import com.atsuishio.superbwarfare.perk.Perk;
|
||||
import com.atsuishio.superbwarfare.perk.PerkInstance;
|
||||
import com.atsuishio.superbwarfare.tools.DamageTypeTool;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class MagnificentHowl extends Perk {
|
||||
|
||||
public MagnificentHowl() {
|
||||
super("magnificent_howl", Perk.Type.DAMAGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onKill(GunData data, PerkInstance instance, LivingEntity target, DamageSource source) {
|
||||
if (DamageTypeTool.isHeadshotDamage(source)) {
|
||||
data.perk.getTag(this).putInt("MagnificentHowlCount",
|
||||
Math.min(data.perk.getTag(this).getInt("MagnificentHowlCount") + 1 + instance.level() / 5, 9 + instance.level()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preReload(GunData data, PerkInstance instance, @Nullable LivingEntity living) {
|
||||
data.perk.getTag(this).putInt("MagnificentHowlDamageCount", data.perk.getTag(this).getInt("MagnificentHowlCount"));
|
||||
data.perk.getTag(this).remove("MagnificentHowlCount");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHit(float damage, GunData data, PerkInstance instance, LivingEntity target, DamageSource source) {
|
||||
if (data.perk.getTag(this).getInt("MagnificentHowlDamageCount") > 0) {
|
||||
data.perk.reduceCooldown(this, "MagnificentHowlDamageCount");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getModifiedDamage(float damage, GunData data, PerkInstance instance, @Nullable LivingEntity target, DamageSource source) {
|
||||
if (data.perk.getTag(this).getInt("MagnificentHowlDamageCount") > 0) {
|
||||
return damage * 1.5f;
|
||||
}
|
||||
return super.getModifiedDamage(damage, data, instance, target, source);
|
||||
}
|
||||
}
|
|
@ -322,6 +322,8 @@
|
|||
"des.superbwarfare.butterfly_bullet": "Replace fired bullets with Rain Shower Butterflies.",
|
||||
"item.superbwarfare.bread_bullet": "Bread Bullet",
|
||||
"des.superbwarfare.bread_bullet": "Deals extreme knockback and slowness to stuck mobs.",
|
||||
"item.superbwarfare.micro_missile": "Micro Missile",
|
||||
"des.superbwarfare.micro_missile": "Fires a high-speed projectile without gravity.",
|
||||
|
||||
"item.superbwarfare.heal_clip": "Heal Clip",
|
||||
"des.superbwarfare.heal_clip": "Reloading after defeating a mob will heal you and your nearby allies.",
|
||||
|
@ -356,8 +358,8 @@
|
|||
"des.superbwarfare.desperado": "Reload after a headshot-kill will increase rate of fire.",
|
||||
"item.superbwarfare.vorpal_weapon": "Vorpal Weapon",
|
||||
"des.superbwarfare.vorpal_weapon": "Increases damage against bosses.",
|
||||
"item.superbwarfare.micro_missile": "Micro Missile",
|
||||
"des.superbwarfare.micro_missile": "Fires a high-speed projectile without gravity",
|
||||
"item.superbwarfare.magnificent_howl": "Magnificent Howl",
|
||||
"des.superbwarfare.magnificent_howl": "The number of precision final blows before reloading affects the total rounds granted with increased damage.",
|
||||
|
||||
"item.superbwarfare.empty_perk": "Empty Perk",
|
||||
"item.superbwarfare.shortcut_pack": "Shortcut Pack",
|
||||
|
|
|
@ -320,6 +320,8 @@
|
|||
"des.superbwarfare.butterfly_bullet": "将子弹替换成骤雨之蝶",
|
||||
"item.superbwarfare.bread_bullet": "面包弹",
|
||||
"des.superbwarfare.bread_bullet": "命中后会使目标移速下降,并造成强大的击退",
|
||||
"item.superbwarfare.micro_missile": "微型导弹",
|
||||
"des.superbwarfare.micro_missile": "使武器发射无视重力前进的高速弹药",
|
||||
|
||||
"item.superbwarfare.heal_clip": "治疗弹匣",
|
||||
"des.superbwarfare.heal_clip": "最后一击后短时间内填装,可治疗自身和附近队友",
|
||||
|
@ -354,8 +356,8 @@
|
|||
"des.superbwarfare.desperado": "精准击杀后进行换弹,可暂时提升射速",
|
||||
"item.superbwarfare.vorpal_weapon": "斩首武器",
|
||||
"des.superbwarfare.vorpal_weapon": "提升对强大敌人造成的伤害",
|
||||
"item.superbwarfare.micro_missile": "微型导弹",
|
||||
"des.superbwarfare.micro_missile": "使武器发射无视重力前进的高速弹药",
|
||||
"item.superbwarfare.magnificent_howl": "宏伟之嚎",
|
||||
"des.superbwarfare.magnificent_howl": "填装前精准最后一击的次数会影响伤害增加的子弹总数",
|
||||
|
||||
"item.superbwarfare.empty_perk": "空白模组",
|
||||
"item.superbwarfare.shortcut_pack": "捷径包",
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
"superbwarfare:kill_clip",
|
||||
"superbwarfare:monster_hunter",
|
||||
"superbwarfare:vorpal_weapon",
|
||||
"superbwarfare:magnificent_howl",
|
||||
"!superbwarfare:micro_missile",
|
||||
"!superbwarfare:longer_wire",
|
||||
"!superbwarfare:butterfly_bullet"
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
"superbwarfare:head_seeker",
|
||||
"superbwarfare:desperado",
|
||||
"superbwarfare:vorpal_weapon",
|
||||
"superbwarfare:magnificent_howl",
|
||||
"!superbwarfare:micro_missile",
|
||||
"!superbwarfare:longer_wire"
|
||||
]
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
"superbwarfare:gutshot_straight",
|
||||
"superbwarfare:monster_hunter",
|
||||
"superbwarfare:head_seeker",
|
||||
"superbwarfare:desperado",
|
||||
"superbwarfare:vorpal_weapon",
|
||||
"superbwarfare:magnificent_howl",
|
||||
"!superbwarfare:micro_missile",
|
||||
"!superbwarfare:longer_wire"
|
||||
]
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
"superbwarfare:gutshot_straight",
|
||||
"superbwarfare:monster_hunter",
|
||||
"superbwarfare:vorpal_weapon",
|
||||
"superbwarfare:magnificent_howl",
|
||||
"!superbwarfare:micro_missile",
|
||||
"!superbwarfare:longer_wire",
|
||||
"!superbwarfare:butterfly_bullet"
|
||||
|
|
Loading…
Add table
Reference in a new issue