修改维持生计效果

This commit is contained in:
17146 2025-04-12 22:27:27 +08:00 committed by Light_Quanta
parent 233bdf6998
commit cc78351b2f
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
2 changed files with 26 additions and 1 deletions

View file

@ -665,7 +665,32 @@ public class LivingEventHandler {
cap.handgunAmmo -= ammoFinal; cap.handgunAmmo -= ammoFinal;
} }
data.ammo.set(Math.min(mag, ammo + ammoFinal)); data.ammo.set(Math.min(mag, ammo + ammoFinal));
} else if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) {
int ammoFinal = Math.min(cap.handgunAmmo, ammoNeed);
if (flag) {
ammoFinal = ammoNeed;
} else {
cap.shotgunAmmo -= ammoFinal;
} }
data.ammo.set(Math.min(mag, ammo + ammoFinal));
} else if (stack.is(ModTags.Items.USE_SNIPER_AMMO)) {
int ammoFinal = Math.min(cap.handgunAmmo, ammoNeed);
if (flag) {
ammoFinal = ammoNeed;
} else {
cap.sniperAmmo -= ammoFinal;
}
data.ammo.set(Math.min(mag, ammo + ammoFinal));
} else if (stack.is(ModTags.Items.USE_HEAVY_AMMO)) {
int ammoFinal = Math.min(cap.heavyAmmo, ammoNeed);
if (flag) {
ammoFinal = ammoNeed;
} else {
cap.heavyAmmo -= ammoFinal;
}
data.ammo.set(Math.min(mag, ammo + ammoFinal));
}
data.save(); data.save();
player.setData(ModAttachments.PLAYER_VARIABLE, cap); player.setData(ModAttachments.PLAYER_VARIABLE, cap);
cap.sync(player); cap.sync(player);

View file

@ -48,10 +48,10 @@ public class PerkHelper {
case AMMO -> !perk.descriptionId.equals("butterfly_bullet") && perk != ModPerks.MICRO_MISSILE.get() case AMMO -> !perk.descriptionId.equals("butterfly_bullet") && perk != ModPerks.MICRO_MISSILE.get()
&& perk != ModPerks.LONGER_WIRE.get(); && perk != ModPerks.LONGER_WIRE.get();
case FUNCTIONAL -> perk == ModPerks.HEAL_CLIP.get() case FUNCTIONAL -> perk == ModPerks.HEAL_CLIP.get()
|| perk == ModPerks.SUBSISTENCE.get()
|| perk == ModPerks.FOURTH_TIMES_CHARM.get() || perk == ModPerks.FOURTH_TIMES_CHARM.get()
|| perk == ModPerks.POWERFUL_ATTRACTION.get() || perk == ModPerks.POWERFUL_ATTRACTION.get()
|| perk == ModPerks.INTELLIGENT_CHIP.get(); || perk == ModPerks.INTELLIGENT_CHIP.get();
case DAMAGE -> perk == ModPerks.KILL_CLIP.get() case DAMAGE -> perk == ModPerks.KILL_CLIP.get()
|| perk == ModPerks.MONSTER_HUNTER.get() || perk == ModPerks.MONSTER_HUNTER.get()
|| perk == ModPerks.VORPAL_WEAPON.get(); || perk == ModPerks.VORPAL_WEAPON.get();