添加穿甲比例显示,添加翻译项,削弱整体穿甲比例
This commit is contained in:
parent
bc64d6ed78
commit
eb2a56d325
28 changed files with 120 additions and 96 deletions
|
@ -7,6 +7,7 @@ import net.mcreator.superbwarfare.init.ModItems;
|
|||
import net.mcreator.superbwarfare.tools.TraceTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.GameRenderer;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
@ -68,22 +69,51 @@ public class DroneUIOverlay {
|
|||
|
||||
|
||||
if (distance > MAX_DISTANCE - 48) {
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, "WARNING", w / 2 + -18, h / 2 + -47, -65536, false);
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.warning")
|
||||
, w / 2 + -18, h / 2 + -47, -65536, false);
|
||||
color = -65536;
|
||||
}
|
||||
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, "Distance:" + new DecimalFormat("##.#").format(distance) + "M", w / 2 + 10, h / 2 + 33, color, false);
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, "Health:" + new DecimalFormat("##.#").format(entity.getHealth()) + "/" + new DecimalFormat("##").format(entity.getMaxHealth()), w / 2 - 77, h / 2 + 33, -1, false);
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.distance")
|
||||
.append(Component.literal(new DecimalFormat("##.#").format(distance) + "M"))
|
||||
, w / 2 + 10, h / 2 + 33, color, false);
|
||||
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.health")
|
||||
.append(Component.literal(new DecimalFormat("##.#").format(entity.getHealth()) + "/" + new DecimalFormat("##.#").format(entity.getMaxHealth())))
|
||||
, w / 2 - 77, h / 2 + 33, -1, false);
|
||||
|
||||
if (!entity.getEntityData().get(KAMIKAZE)) {
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, "AMMO:" + new DecimalFormat("##.#").format(entity.getEntityData().get(AMMO)) + " / 6", w / 2 + 12, h / 2 + -37, -1, false);
|
||||
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.ammo")
|
||||
.append(Component.literal(new DecimalFormat("##.#").format(entity.getEntityData().get(AMMO)) + " / 6"))
|
||||
, w / 2 + 12, h / 2 + -37, -1, false);
|
||||
|
||||
} else {
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, "KAMIKAZE", w / 2 + 12, h / 2 + -37, -65536, false);
|
||||
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.kamikaze")
|
||||
, w / 2 + 12, h / 2 + -37, -65536, false);
|
||||
|
||||
}
|
||||
|
||||
if (lookAtEntity) {
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, "Range:" + new DecimalFormat("##.#").format(entity_range) + "M " + lookingEntity.getDisplayName().getString(), w / 2 + 12, h / 2 - 28, color, false);
|
||||
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.range")
|
||||
.append(Component.literal(new DecimalFormat("##.#").format(entity_range) + "M " + lookingEntity.getDisplayName().getString()))
|
||||
, w / 2 + 12, h / 2 - 28, color, false);
|
||||
|
||||
} else {
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, block_range > 512 ? "Range:---M" : "Range:" + new DecimalFormat("##.#").format(block_range) + "M", w / 2 + 12, h / 2 - 28, color, false);
|
||||
if (block_range > 512) {
|
||||
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.range")
|
||||
.append(Component.literal("---M"))
|
||||
, w / 2 + 12, h / 2 - 28, color, false);
|
||||
|
||||
} else {
|
||||
event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.range")
|
||||
.append(Component.literal(new DecimalFormat("##.#").format(block_range) + "M"))
|
||||
, w / 2 + 12, h / 2 - 28, color, false);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -356,6 +356,13 @@ public class DroneEntity extends PathfinderMob implements GeoEntity {
|
|||
ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.MORTAR_SHELLS.get()));
|
||||
}
|
||||
|
||||
player.getInventory().items.stream().filter(stack_ -> stack_.getItem() == ModItems.MONITOR.get())
|
||||
.forEach(stack_ -> {
|
||||
if (stack_.getOrCreateTag().getString(Monitor.LINKED_DRONE).equals(this.getStringUUID())) {
|
||||
Monitor.disLink(stack_);
|
||||
}
|
||||
});
|
||||
|
||||
if (!this.level().isClientSide()) this.discard();
|
||||
} else if (stack.getItem() == ModItems.RGO_GRENADE.get() && !this.entityData.get(KAMIKAZE)) {
|
||||
if (this.entityData.get(AMMO) < 6) {
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package net.mcreator.superbwarfare.entity;
|
||||
|
||||
import net.mcreator.superbwarfare.ModUtils;
|
||||
import net.mcreator.superbwarfare.headshot.BoundingBoxManager;
|
||||
import net.mcreator.superbwarfare.headshot.IHeadshotBox;
|
||||
import net.mcreator.superbwarfare.init.ModDamageTypes;
|
||||
import net.mcreator.superbwarfare.init.ModEntities;
|
||||
import net.mcreator.superbwarfare.init.ModItems;
|
||||
|
@ -27,7 +25,6 @@ import net.minecraft.world.entity.projectile.ThrowableItemProjectile;
|
|||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.level.Explosion;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
import net.minecraft.world.phys.EntityHitResult;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
|
@ -43,8 +40,6 @@ import software.bernie.geckolib.core.animation.RawAnimation;
|
|||
import software.bernie.geckolib.core.object.PlayState;
|
||||
import software.bernie.geckolib.util.GeckoLibUtil;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class RpgRocketEntity extends ThrowableItemProjectile implements GeoEntity, AnimatedEntity{
|
||||
|
||||
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(CannonShellEntity.class, EntityDataSerializers.STRING);
|
||||
|
@ -99,51 +94,10 @@ public class RpgRocketEntity extends ThrowableItemProjectile implements GeoEntit
|
|||
entity.invulnerableTime = 0;
|
||||
}
|
||||
|
||||
AABB boundingBox = entity.getBoundingBox();
|
||||
Vec3 startVec = this.position();
|
||||
Vec3 endVec = startVec.add(this.getDeltaMovement());
|
||||
Vec3 hitPos = boundingBox.clip(startVec, endVec).orElse(null);
|
||||
/* Check for headshot */
|
||||
boolean headshot = false;
|
||||
if (entity instanceof LivingEntity) {
|
||||
IHeadshotBox<LivingEntity> headshotBox = (IHeadshotBox<LivingEntity>) BoundingBoxManager.getHeadshotBoxes(entity.getType());
|
||||
if (headshotBox != null) {
|
||||
AABB box = headshotBox.getHeadshotBox((LivingEntity) entity);
|
||||
if (box != null) {
|
||||
box = box.move(boundingBox.getCenter().x, boundingBox.minY, boundingBox.getCenter().z);
|
||||
Optional<Vec3> headshotHitPos = box.clip(startVec, endVec);
|
||||
if (headshotHitPos.isEmpty()) {
|
||||
box = box.inflate(0.2, 0.2, 0.2);
|
||||
headshotHitPos = box.clip(startVec, endVec);
|
||||
}
|
||||
if (headshotHitPos.isPresent() && (hitPos == null || headshotHitPos.get().distanceTo(hitPos) < 0.55)) {
|
||||
headshot = true;
|
||||
}
|
||||
if (headshot) {
|
||||
if (this.getOwner() instanceof LivingEntity living) {
|
||||
if (!living.level().isClientSide() && living instanceof ServerPlayer player) {
|
||||
living.playSound(ModSounds.HEADSHOT.get(), 1, 1);
|
||||
|
||||
ModUtils.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> player), new ClientIndicatorMessage(1, 5));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (headshot) {
|
||||
if (entity instanceof Monster monster) {
|
||||
monster.hurt(ModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this, this.getOwner()), this.damage * 5f * damageMultiplier);
|
||||
monster.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage * damageMultiplier);
|
||||
} else {
|
||||
entity.hurt(ModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this, this.getOwner()), this.damage * 5f);
|
||||
}
|
||||
} else {
|
||||
if (entity instanceof Monster monster) {
|
||||
monster.hurt(ModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this, this.getOwner()), this.damage * damageMultiplier);
|
||||
} else {
|
||||
entity.hurt(ModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this, this.getOwner()), this.damage);
|
||||
}
|
||||
entity.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage);
|
||||
}
|
||||
|
||||
if (this.tickCount > 1) {
|
||||
|
|
|
@ -344,7 +344,7 @@ public class GunEventHandler {
|
|||
if (!player.level().isClientSide()) {
|
||||
float headshot = (float) heldItem.getOrCreateTag().getDouble("headshot");
|
||||
int monsterMultiple = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.MONSTER_HUNTER.get(), heldItem);
|
||||
float damage = (float) (heldItem.getOrCreateTag().getDouble("damage") + heldItem.getOrCreateTag().getDouble("add_damage")) * (float) heldItem.getOrCreateTag().getDouble("damageadd");
|
||||
float damage = (float) (heldItem.getOrCreateTag().getDouble("damage") + heldItem.getOrCreateTag().getDouble("sentinelChargeDamage")) * (float) heldItem.getOrCreateTag().getDouble("levelDamageMultiple");
|
||||
float bypassArmorRate = (float) heldItem.getOrCreateTag().getDouble("BypassesArmor");
|
||||
|
||||
boolean zoom = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zoom;
|
||||
|
|
|
@ -232,9 +232,9 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
|
|||
if (energyStored > 0) {
|
||||
energy.extractEnergy(5, false);
|
||||
|
||||
tag.putDouble("add_damage", 0.2857142857142857 * tag.getDouble("damage") * tag.getDouble("damageadd"));
|
||||
tag.putDouble("sentinelChargeDamage", 0.2857142857142857 * tag.getDouble("damage") * tag.getDouble("levelDamageMultiple"));
|
||||
} else {
|
||||
tag.putDouble("add_damage", 0);
|
||||
tag.putDouble("sentinelChargeDamage", 0);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
|
|
@ -228,7 +228,7 @@ public class FireMessage {
|
|||
|
||||
projectile.setPos(player.getX() - 0.1 * player.getLookAngle().x, player.getEyeY() - 0.1 - 0.1 * player.getLookAngle().y, player.getZ() + -0.1 * player.getLookAngle().z);
|
||||
|
||||
damage = 0.008333333 * tag.getDouble("damage") * tag.getDouble("speed") * tag.getDouble("damageadd");
|
||||
damage = 0.008333333 * tag.getDouble("damage") * tag.getDouble("speed") * tag.getDouble("levelDamageMultiple");
|
||||
projectile.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, velocity, 2.5f);
|
||||
projectile.damage((float) damage);
|
||||
player.level().addFreshEntity(projectile);
|
||||
|
@ -281,7 +281,7 @@ public class FireMessage {
|
|||
Level level = player.level();
|
||||
if (!level.isClientSide()) {
|
||||
int monsterMultiple = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.MONSTER_HUNTER.get(), stack);
|
||||
GunGrenadeEntity gunGrenadeEntity = new GunGrenadeEntity(player, level, (float) stack.getOrCreateTag().getDouble("damage") * (float) stack.getOrCreateTag().getDouble("damageadd"), monsterMultiple);
|
||||
GunGrenadeEntity gunGrenadeEntity = new GunGrenadeEntity(player, level, (float) stack.getOrCreateTag().getDouble("damage") * (float) stack.getOrCreateTag().getDouble("levelDamageMultiple"), monsterMultiple);
|
||||
|
||||
gunGrenadeEntity.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ());
|
||||
gunGrenadeEntity.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) stack.getOrCreateTag().getDouble("velocity"),
|
||||
|
@ -323,7 +323,7 @@ public class FireMessage {
|
|||
|
||||
if (!level.isClientSide()) {
|
||||
int monsterMultiple = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.MONSTER_HUNTER.get(), mainHandItem);
|
||||
RpgRocketEntity rocketEntity = new RpgRocketEntity(player, level, (float) tag.getDouble("damage") * (float) tag.getDouble("damageadd"), monsterMultiple);
|
||||
RpgRocketEntity rocketEntity = new RpgRocketEntity(player, level, (float) tag.getDouble("damage") * (float) tag.getDouble("levelDamageMultiple"), monsterMultiple);
|
||||
rocketEntity.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ());
|
||||
rocketEntity.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) tag.getDouble("velocity"),
|
||||
(float) (mainHandItem.getOrCreateTag().getDouble("dev") * ZoomMessage.zoom_spread));
|
||||
|
|
|
@ -67,12 +67,12 @@ public class GunsTool {
|
|||
public static void pvpModeCheck(ItemStack stack, Level level) {
|
||||
if (!ModVariables.MapVariables.get(level).pvpMode) {
|
||||
if (stack.getOrCreateTag().getInt("level") >= 10) {
|
||||
stack.getOrCreateTag().putDouble("damageadd", 1 + 0.05 * (stack.getOrCreateTag().getInt("level") - 10));
|
||||
stack.getOrCreateTag().putDouble("levelDamageMultiple", 1 + 0.05 * (stack.getOrCreateTag().getInt("level") - 10));
|
||||
} else {
|
||||
stack.getOrCreateTag().putDouble("damageadd", 1);
|
||||
stack.getOrCreateTag().putDouble("levelDamageMultiple", 1);
|
||||
}
|
||||
} else {
|
||||
stack.getOrCreateTag().putDouble("damageadd", 1);
|
||||
stack.getOrCreateTag().putDouble("levelDamageMultiple", 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -24,29 +24,29 @@ public class TooltipTool {
|
|||
public static void addGunTips(List<Component> tooltip, ItemStack stack) {
|
||||
tooltip.add(Component.literal(""));
|
||||
|
||||
double damage = (ItemNBTTool.getDouble(stack, "damage", 0) +
|
||||
ItemNBTTool.getDouble(stack, "add_damage", 0))
|
||||
* ItemNBTTool.getDouble(stack, "damageadd", 1);
|
||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0)
|
||||
* ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1);
|
||||
|
||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||
.append(Component.literal(new DecimalFormat("##.#").format(damage)).withStyle(ChatFormatting.GREEN)));
|
||||
|
||||
addLevelTips(tooltip, stack);
|
||||
addBypassTips(tooltip, stack);
|
||||
}
|
||||
|
||||
public static void addShotgunTips(List<Component> tooltip, ItemStack stack, int count) {
|
||||
tooltip.add(Component.literal(""));
|
||||
|
||||
double damage = (ItemNBTTool.getDouble(stack, "damage", 0) +
|
||||
ItemNBTTool.getDouble(stack, "add_damage", 0))
|
||||
* ItemNBTTool.getDouble(stack, "damageadd", 1);
|
||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0)
|
||||
* ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1);
|
||||
|
||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||
.append(Component.literal(new DecimalFormat("##.#").format(damage) + " * " + count).withStyle(ChatFormatting.GREEN)));
|
||||
|
||||
addLevelTips(tooltip, stack);
|
||||
addBypassTips(tooltip, stack);
|
||||
}
|
||||
|
||||
private static void addLevelTips(List<Component> tooltip, ItemStack stack) {
|
||||
|
@ -72,10 +72,19 @@ public class TooltipTool {
|
|||
|
||||
}
|
||||
|
||||
private static void addBypassTips(List<Component> tooltip, ItemStack stack) {
|
||||
double byPassRate = ItemNBTTool.getDouble(stack, "BypassesArmor", 0);
|
||||
|
||||
tooltip.add(Component.translatable("des.superbwarfare.tips.bypass").withStyle(ChatFormatting.GRAY)
|
||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||
.append(Component.literal(new DecimalFormat("##.##").format(byPassRate * 100) + "%").withStyle(ChatFormatting.GOLD).withStyle(ChatFormatting.BOLD)));
|
||||
|
||||
}
|
||||
|
||||
public static void addBocekTips(List<Component> tooltip, ItemStack stack) {
|
||||
tooltip.add(Component.literal(""));
|
||||
|
||||
double total = ItemNBTTool.getDouble(stack, "damage", 0) * ItemNBTTool.getDouble(stack, "damageadd", 1);
|
||||
double total = ItemNBTTool.getDouble(stack, "damage", 0) * ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1);
|
||||
|
||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||
|
@ -84,6 +93,7 @@ public class TooltipTool {
|
|||
.append(Component.literal(new DecimalFormat("##.#").format(total)).withStyle(ChatFormatting.GREEN)));
|
||||
|
||||
addLevelTips(tooltip, stack);
|
||||
addBypassTips(tooltip, stack);
|
||||
}
|
||||
|
||||
public static void addSentinelTips(List<Component> tooltip, ItemStack stack) {
|
||||
|
@ -97,14 +107,14 @@ public class TooltipTool {
|
|||
|
||||
if (flag.get()) {
|
||||
double damage = (ItemNBTTool.getDouble(stack, "damage", 0) +
|
||||
ItemNBTTool.getDouble(stack, "add_damage", 0))
|
||||
* ItemNBTTool.getDouble(stack, "damageadd", 1);
|
||||
ItemNBTTool.getDouble(stack, "sentinelChargeDamage", 0))
|
||||
* ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1);
|
||||
|
||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||
.append(Component.literal(new DecimalFormat("##.#").format(damage)).withStyle(ChatFormatting.AQUA).withStyle(ChatFormatting.BOLD)));
|
||||
} else {
|
||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * ItemNBTTool.getDouble(stack, "damageadd", 1);
|
||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1);
|
||||
|
||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||
|
@ -112,6 +122,7 @@ public class TooltipTool {
|
|||
}
|
||||
|
||||
addLevelTips(tooltip, stack);
|
||||
addBypassTips(tooltip, stack);
|
||||
|
||||
stack.getCapability(ForgeCapabilities.ENERGY).ifPresent(
|
||||
e -> tooltip.add(Component.literal(e.getEnergyStored() + " / " + e.getMaxEnergyStored() + " FE").withStyle(ChatFormatting.GRAY))
|
||||
|
@ -129,6 +140,8 @@ public class TooltipTool {
|
|||
|
||||
if (entity == null) return;
|
||||
|
||||
tooltip.add(Component.literal("Distance:" + new DecimalFormat("##.#").format(player.distanceTo(entity)) + "M").withStyle(ChatFormatting.GRAY));
|
||||
tooltip.add(Component.translatable("des.superbwarfare.tips.distance").withStyle(ChatFormatting.GRAY)
|
||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||
.append(Component.literal("Distance:" + new DecimalFormat("##.#").format(player.distanceTo(entity)) + "M").withStyle(ChatFormatting.GRAY)));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,6 +41,8 @@
|
|||
|
||||
"des.superbwarfare.tips.damage": "Damage: ",
|
||||
"des.superbwarfare.tips.level": "Level: ",
|
||||
"des.superbwarfare.tips.bypass": "Armor Piercing: ",
|
||||
"des.superbwarfare.tips.distance": "Drone Distance: ",
|
||||
|
||||
"item.superbwarfare.vector_blueprint": "VECTOR Blueprint",
|
||||
"item.superbwarfare.m_60_blueprint": "M60 Blueprint",
|
||||
|
@ -272,5 +274,12 @@
|
|||
"des.superbwarfare.monitor.linked": "Connect!",
|
||||
"des.superbwarfare.monitor.monitor_already_linked": "This monitor has been connected!",
|
||||
"des.superbwarfare.monitor.already_linked": "This device has been connected!",
|
||||
"des.superbwarfare.monitor.unlinked": "Disconnect!"
|
||||
"des.superbwarfare.monitor.unlinked": "Disconnect!",
|
||||
|
||||
"des.superbwarfare.drone.distance": "DISTANCE:",
|
||||
"des.superbwarfare.drone.health": "HEALTH:",
|
||||
"des.superbwarfare.drone.ammo": "AMMO:",
|
||||
"des.superbwarfare.drone.range": "RANGE:",
|
||||
"des.superbwarfare.drone.kamikaze": "KAMIKAZE",
|
||||
"des.superbwarfare.drone.warning": "WARNING!"
|
||||
}
|
|
@ -41,6 +41,8 @@
|
|||
|
||||
"des.superbwarfare.tips.damage": "伤害: ",
|
||||
"des.superbwarfare.tips.level": "等级: ",
|
||||
"des.superbwarfare.tips.bypass": "护甲穿透: ",
|
||||
"des.superbwarfare.tips.distance": "无人机距离你: ",
|
||||
|
||||
"item.superbwarfare.vector_blueprint": "短剑冲锋枪蓝图",
|
||||
"item.superbwarfare.m_60_blueprint": "M60通用机枪蓝图",
|
||||
|
@ -272,5 +274,12 @@
|
|||
"des.superbwarfare.monitor.linked": "连接成功!",
|
||||
"des.superbwarfare.monitor.monitor_already_linked": "这个遥控器已连接到一个设备!",
|
||||
"des.superbwarfare.monitor.already_linked": "这个设备已被连接!",
|
||||
"des.superbwarfare.monitor.unlinked": "断开连接!"
|
||||
"des.superbwarfare.monitor.unlinked": "断开连接!",
|
||||
|
||||
"des.superbwarfare.drone.distance": "飞手距离:",
|
||||
"des.superbwarfare.drone.health": "耐久值:",
|
||||
"des.superbwarfare.drone.ammo": "弹药:",
|
||||
"des.superbwarfare.drone.range": "测距:",
|
||||
"des.superbwarfare.drone.kamikaze": "自爆模式",
|
||||
"des.superbwarfare.drone.warning": "警告!"
|
||||
}
|
|
@ -5,6 +5,7 @@
|
|||
"superbwarfare:gunfire_headshot_absolute",
|
||||
"superbwarfare:arrow_in_knee_absolute",
|
||||
"superbwarfare:arrow_in_brain_absolute",
|
||||
"superbwarfare:shock"
|
||||
"superbwarfare:shock",
|
||||
"superbwarfare:cannon_fire"
|
||||
]
|
||||
}
|
|
@ -18,5 +18,5 @@
|
|||
"burst_size": 1,
|
||||
"normal_reload_time": 64,
|
||||
"empty_reload_time": 85,
|
||||
"BypassesArmor": 0.1
|
||||
"BypassesArmor": 0.05
|
||||
}
|
||||
|
|
|
@ -18,5 +18,5 @@
|
|||
"burst_size": 1,
|
||||
"normal_reload_time": 66,
|
||||
"empty_reload_time": 83,
|
||||
"BypassesArmor": 0
|
||||
"BypassesArmor": 0.01
|
||||
}
|
|
@ -18,5 +18,5 @@
|
|||
"burst_size": 1,
|
||||
"normal_reload_time": 54,
|
||||
"empty_reload_time": 69,
|
||||
"BypassesArmor": 0.3
|
||||
"BypassesArmor": 0.2
|
||||
}
|
|
@ -19,5 +19,5 @@
|
|||
"burst_size": 1,
|
||||
"normal_reload_time": 73,
|
||||
"empty_reload_time": 95,
|
||||
"BypassesArmor": 0.4
|
||||
"BypassesArmor": 0.25
|
||||
}
|
|
@ -18,5 +18,5 @@
|
|||
"burst_size": 1,
|
||||
"normal_reload_time": 56,
|
||||
"empty_reload_time": 64,
|
||||
"BypassesArmor": 0.4
|
||||
"BypassesArmor": 0.25
|
||||
}
|
|
@ -16,5 +16,5 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"empty_reload_time": 64,
|
||||
"BypassesArmor": 0.5
|
||||
"BypassesArmor": 0.7
|
||||
}
|
|
@ -18,5 +18,5 @@
|
|||
"burst_size": 1,
|
||||
"normal_reload_time": 56,
|
||||
"empty_reload_time": 64,
|
||||
"BypassesArmor": 0.4
|
||||
"BypassesArmor": 0.25
|
||||
}
|
|
@ -19,5 +19,5 @@
|
|||
"burst_size": 1,
|
||||
"normal_reload_time": 114,
|
||||
"empty_reload_time": 133,
|
||||
"BypassesArmor": 0.4
|
||||
"BypassesArmor": 0.25
|
||||
}
|
|
@ -21,5 +21,5 @@
|
|||
"prepare_load_time": 36,
|
||||
"iterative_time": 16,
|
||||
"finish_time": 12,
|
||||
"BypassesArmor": 0.1
|
||||
"BypassesArmor": 0.05
|
||||
}
|
|
@ -10,5 +10,5 @@
|
|||
"weight": 2,
|
||||
"fire_mode": 2,
|
||||
"projectile_amount": 1,
|
||||
"BypassesArmor": 0.35
|
||||
"BypassesArmor": 0.3
|
||||
}
|
|
@ -21,5 +21,5 @@
|
|||
"burst_size": 1,
|
||||
"normal_reload_time": 58,
|
||||
"empty_reload_time": 81,
|
||||
"BypassesArmor": 0.55
|
||||
"BypassesArmor": 0.4
|
||||
}
|
|
@ -13,5 +13,6 @@
|
|||
"burst": 0,
|
||||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"empty_reload_time": 100
|
||||
"empty_reload_time": 100,
|
||||
"BypassesArmor": 1
|
||||
}
|
|
@ -19,5 +19,5 @@
|
|||
"burst_size": 1,
|
||||
"normal_reload_time": 73,
|
||||
"empty_reload_time": 95,
|
||||
"BypassesArmor": 0.35
|
||||
"BypassesArmor": 0.23
|
||||
}
|
|
@ -19,5 +19,5 @@
|
|||
"burst_size": 1,
|
||||
"normal_reload_time": 59,
|
||||
"empty_reload_time": 89,
|
||||
"BypassesArmor": 0.7
|
||||
"BypassesArmor": 0.8
|
||||
}
|
|
@ -18,5 +18,5 @@
|
|||
"burst_size": 1,
|
||||
"normal_reload_time": 54,
|
||||
"empty_reload_time": 75,
|
||||
"BypassesArmor": 0.35
|
||||
"BypassesArmor": 0.23
|
||||
}
|
|
@ -18,5 +18,5 @@
|
|||
"burst_size": 1,
|
||||
"normal_reload_time": 56,
|
||||
"empty_reload_time": 70,
|
||||
"BypassesArmor": 0.6
|
||||
"BypassesArmor": 0.45
|
||||
}
|
|
@ -17,5 +17,5 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"empty_reload_time": 65,
|
||||
"BypassesArmor": 0.25
|
||||
"BypassesArmor": 0.2
|
||||
}
|
Loading…
Add table
Reference in a new issue