修改perk效果

This commit is contained in:
17146 2024-10-16 17:38:37 +08:00
parent 31c8d09c55
commit 3ac44b5a4b
5 changed files with 12 additions and 6 deletions

View file

@ -6,6 +6,7 @@ import net.mcreator.superbwarfare.entity.DroneEntity;
import net.mcreator.superbwarfare.entity.ICannonEntity; import net.mcreator.superbwarfare.entity.ICannonEntity;
import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModMobEffects; import net.mcreator.superbwarfare.init.ModMobEffects;
import net.mcreator.superbwarfare.init.ModPerks;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.network.message.ShootMessage; import net.mcreator.superbwarfare.network.message.ShootMessage;
@ -232,7 +233,8 @@ public class ClientEventHandler {
} }
if (stack.getOrCreateTag().getInt("DesperadoTimePost") > 0) { if (stack.getOrCreateTag().getInt("DesperadoTimePost") > 0) {
rpm *= 1.3; int perkLevel = PerkHelper.getItemPerkLevel(ModPerks.DESPERADO.get(), stack);
rpm *= 1.25 + 0.05 * perkLevel;
} }
double rps = rpm / 60; double rps = rpm / 60;
@ -556,7 +558,7 @@ public class ClientEventHandler {
fireRotTimer += 0.18 * (1.9 - fireRotTimer) * times; fireRotTimer += 0.18 * (1.9 - fireRotTimer) * times;
} }
float[] shake = {0,0}; float[] shake = {0, 0};
shake[0] = (float) (1.3 * amplitude * (1 / 6.3 * (fireRotTimer - 0.5)) * Math.sin(6.3 * (fireRotTimer - 0.5)) * (3 - Math.pow(fireRotTimer, 2)) + 1 * Mth.clamp(0.3 - fireRotTimer, 0, 1) * (2 * Math.random() - 1)); shake[0] = (float) (1.3 * amplitude * (1 / 6.3 * (fireRotTimer - 0.5)) * Math.sin(6.3 * (fireRotTimer - 0.5)) * (3 - Math.pow(fireRotTimer, 2)) + 1 * Mth.clamp(0.3 - fireRotTimer, 0, 1) * (2 * Math.random() - 1));
shake[1] = (float) (4.2 * amplitude * (1 / 6.3 * (fireRotTimer - 0.5)) * Math.sin(6.3 * (fireRotTimer - 0.5)) * (3 - Math.pow(fireRotTimer, 2)) + 3 * Mth.clamp(0.5 - fireRotTimer, 0, 0.5) * (2 * Math.random() - 1)); shake[1] = (float) (4.2 * amplitude * (1 / 6.3 * (fireRotTimer - 0.5)) * Math.sin(6.3 * (fireRotTimer - 0.5)) * (3 - Math.pow(fireRotTimer, 2)) + 3 * Mth.clamp(0.5 - fireRotTimer, 0, 0.5) * (2 * Math.random() - 1));
@ -615,7 +617,7 @@ public class ClientEventHandler {
if (recoilHorizon > 0) { if (recoilHorizon > 0) {
recoilHorizon = recoilHorizon - Math.min(Math.pow(recoilHorizon, 2), 6) * times + recoilY; recoilHorizon = recoilHorizon - Math.min(Math.pow(recoilHorizon, 2), 6) * times + recoilY;
} else { } else {
recoilHorizon = recoilHorizon + Math.min(Math.pow(recoilHorizon, 2), 6) * times + recoilY ; recoilHorizon = recoilHorizon + Math.min(Math.pow(recoilHorizon, 2), 6) * times + recoilY;
} }
recoilY = 0; recoilY = 0;

View file

@ -54,7 +54,6 @@ public class ModPerks {
public static final RegistryObject<Perk> FIELD_DOCTOR = FUNC_PERKS.register("field_doctor", () -> new Perk("field_doctor", Perk.Type.FUNCTIONAL)); public static final RegistryObject<Perk> FIELD_DOCTOR = FUNC_PERKS.register("field_doctor", () -> new Perk("field_doctor", Perk.Type.FUNCTIONAL));
public static final RegistryObject<Perk> SUPER_RECHARGE = FUNC_PERKS.register("super_recharge", () -> new Perk("super_recharge", Perk.Type.FUNCTIONAL)); public static final RegistryObject<Perk> SUPER_RECHARGE = FUNC_PERKS.register("super_recharge", () -> new Perk("super_recharge", Perk.Type.FUNCTIONAL));
public static final RegistryObject<Perk> DIMENSION_MAGAZINE = FUNC_PERKS.register("dimension_magazine", () -> new Perk("dimension_magazine", Perk.Type.FUNCTIONAL)); public static final RegistryObject<Perk> DIMENSION_MAGAZINE = FUNC_PERKS.register("dimension_magazine", () -> new Perk("dimension_magazine", Perk.Type.FUNCTIONAL));
public static final RegistryObject<Perk> DESPERADO = FUNC_PERKS.register("desperado", () -> new Perk("desperado", Perk.Type.FUNCTIONAL));
/** /**
* Damage Perks * Damage Perks
@ -67,6 +66,7 @@ public class ModPerks {
public static final RegistryObject<Perk> HEAD_SEEKER = DAMAGE_PERKS.register("head_seeker", () -> new Perk("head_seeker", Perk.Type.DAMAGE)); public static final RegistryObject<Perk> HEAD_SEEKER = DAMAGE_PERKS.register("head_seeker", () -> new Perk("head_seeker", Perk.Type.DAMAGE));
public static final RegistryObject<Perk> MONSTER_HUNTER = DAMAGE_PERKS.register("monster_hunter", () -> new Perk("monster_hunter", Perk.Type.DAMAGE)); public static final RegistryObject<Perk> MONSTER_HUNTER = DAMAGE_PERKS.register("monster_hunter", () -> new Perk("monster_hunter", Perk.Type.DAMAGE));
public static final RegistryObject<Perk> VOLT_OVERLOAD = DAMAGE_PERKS.register("volt_overload", () -> new Perk("volt_overload", Perk.Type.DAMAGE)); public static final RegistryObject<Perk> VOLT_OVERLOAD = DAMAGE_PERKS.register("volt_overload", () -> new Perk("volt_overload", Perk.Type.DAMAGE));
public static final RegistryObject<Perk> DESPERADO = DAMAGE_PERKS.register("desperado", () -> new Perk("desperado", Perk.Type.DAMAGE));
public static void registerCompatPerks() { public static void registerCompatPerks() {
if (ModList.get().isLoaded(CompatHolder.DMV)) { if (ModList.get().isLoaded(CompatHolder.DMV)) {

View file

@ -203,11 +203,11 @@ public class PerkHelper {
} }
case FUNCTIONAL -> { case FUNCTIONAL -> {
return perk == ModPerks.HEAL_CLIP.get() || perk == ModPerks.FIELD_DOCTOR.get() || return perk == ModPerks.HEAL_CLIP.get() || perk == ModPerks.FIELD_DOCTOR.get() ||
perk == ModPerks.FOURTH_TIMES_CHARM.get() || perk == ModPerks.SUBSISTENCE.get() || perk == ModPerks.DESPERADO.get(); perk == ModPerks.FOURTH_TIMES_CHARM.get() || perk == ModPerks.SUBSISTENCE.get();
} }
case DAMAGE -> { case DAMAGE -> {
return perk == ModPerks.KILL_CLIP.get() || perk == ModPerks.GUTSHOT_STRAIGHT.get() || return perk == ModPerks.KILL_CLIP.get() || perk == ModPerks.GUTSHOT_STRAIGHT.get() ||
perk == ModPerks.MONSTER_HUNTER.get() || perk == ModPerks.HEAD_SEEKER.get(); perk == ModPerks.MONSTER_HUNTER.get() || perk == ModPerks.HEAD_SEEKER.get() || perk == ModPerks.DESPERADO.get();
} }
default -> { default -> {
return false; return false;

View file

@ -272,6 +272,8 @@
"des.superbwarfare.monster_hunter": "Increases the damage of weapon against monsters", "des.superbwarfare.monster_hunter": "Increases the damage of weapon against monsters",
"item.superbwarfare.volt_overload": "Volt Overload", "item.superbwarfare.volt_overload": "Volt Overload",
"des.superbwarfare.volt_overload": "Increases the shock damage of Taser Gun", "des.superbwarfare.volt_overload": "Increases the shock damage of Taser Gun",
"item.superbwarfare.desperado": "Desperado",
"des.superbwarfare.desperado": "精准击杀后进行换弹,可暂时提升射速",
"item.superbwarfare.empty_perk": "Empty Perk", "item.superbwarfare.empty_perk": "Empty Perk",
"item.superbwarfare.shortcut_pack": "Shortcut Pack", "item.superbwarfare.shortcut_pack": "Shortcut Pack",

View file

@ -272,6 +272,8 @@
"des.superbwarfare.monster_hunter": "增加武器对怪物的伤害", "des.superbwarfare.monster_hunter": "增加武器对怪物的伤害",
"item.superbwarfare.volt_overload": "电压过载", "item.superbwarfare.volt_overload": "电压过载",
"des.superbwarfare.volt_overload": "增加泰瑟枪电击的伤害", "des.superbwarfare.volt_overload": "增加泰瑟枪电击的伤害",
"item.superbwarfare.desperado": "亡命之徒",
"des.superbwarfare.desperado": "精准击杀后进行换弹,可暂时提升射速",
"item.superbwarfare.empty_perk": "空白模组", "item.superbwarfare.empty_perk": "空白模组",
"item.superbwarfare.shortcut_pack": "捷径包", "item.superbwarfare.shortcut_pack": "捷径包",