添加役医师perk

This commit is contained in:
17146 2024-08-10 23:37:09 +08:00
parent cd701e8abf
commit 0a2557751a
4 changed files with 21 additions and 0 deletions

View file

@ -295,6 +295,10 @@ public class LivingEventHandler {
handleFourthTimesCharm(stack);
}
}
if (!projectile.isZoom()) {
handleFieldDoctor(stack, event, attacker);
}
}
}
@ -427,4 +431,16 @@ public class LivingEventHandler {
);
}
private static void handleFieldDoctor(ItemStack stack, LivingHurtEvent event, Player player) {
int level = PerkHelper.getItemPerkLevel(ModPerks.FIELD_DOCTOR.get(), stack);
if (level == 0) {
return;
}
if (event.getEntity().isAlliedTo(player)) {
event.getEntity().heal(event.getAmount() * Math.min(1.0f, 0.25f + 0.05f * level));
event.setCanceled(true);
}
}
}

View file

@ -46,6 +46,7 @@ public class ModPerks {
public static final RegistryObject<Perk> HEAL_CLIP = FUNC_PERKS.register("heal_clip", () -> new Perk("heal_clip", Perk.Type.FUNCTIONAL));
public static final RegistryObject<Perk> FOURTH_TIMES_CHARM = FUNC_PERKS.register("fourth_times_charm", () -> new Perk("fourth_times_charm", Perk.Type.FUNCTIONAL));
public static final RegistryObject<Perk> SUBSISTENCE = FUNC_PERKS.register("subsistence", () -> new Perk("subsistence", Perk.Type.FUNCTIONAL));
public static final RegistryObject<Perk> FIELD_DOCTOR = FUNC_PERKS.register("field_doctor", () -> new Perk("field_doctor", Perk.Type.FUNCTIONAL));
/**
* Damage Perks

View file

@ -193,6 +193,8 @@
"des.superbwarfare.fourth_times_charm": "Rapidly landing precision hits will return two rounds to the magazine",
"item.superbwarfare.subsistence": "Subsistence",
"des.superbwarfare.subsistence": "Defeating targets partially reloads the magazine from reserves",
"item.superbwarfare.field_doctor": "Field Doctor",
"des.superbwarfare.field_doctor": "腰射时发射的子弹可以治疗队友",
"item.superbwarfare.kill_clip": "Kill Clip",
"des.superbwarfare.kill_clip": "Increases the damage of weapon after dealing a final blow",

View file

@ -193,6 +193,8 @@
"des.superbwarfare.fourth_times_charm": "快速精准命中目标会向弹匣中返还两枚弹药",
"item.superbwarfare.subsistence": "维持生计",
"des.superbwarfare.subsistence": "消灭目标会使弹药从备弹中转移并填装部分弹匣",
"item.superbwarfare.field_doctor": "役医师",
"des.superbwarfare.field_doctor": "腰射时发射的子弹可以治疗队友",
"item.superbwarfare.kill_clip": "杀戮弹匣",
"des.superbwarfare.kill_clip": "完成击杀后填装可提升武器伤害",