优化NBT#Damage
This commit is contained in:
parent
676d825f2e
commit
ec4e956572
42 changed files with 59 additions and 56 deletions
|
@ -1,11 +1,11 @@
|
||||||
package com.atsuishio.superbwarfare.client.tooltip;
|
package com.atsuishio.superbwarfare.client.tooltip;
|
||||||
|
|
||||||
|
import com.atsuishio.superbwarfare.client.tooltip.component.GunImageComponent;
|
||||||
import com.atsuishio.superbwarfare.perk.AmmoPerk;
|
import com.atsuishio.superbwarfare.perk.AmmoPerk;
|
||||||
import com.atsuishio.superbwarfare.perk.Perk;
|
import com.atsuishio.superbwarfare.perk.Perk;
|
||||||
import com.atsuishio.superbwarfare.perk.PerkHelper;
|
import com.atsuishio.superbwarfare.perk.PerkHelper;
|
||||||
import com.atsuishio.superbwarfare.tools.ItemNBTTool;
|
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||||
import com.atsuishio.superbwarfare.tools.TooltipTool;
|
import com.atsuishio.superbwarfare.tools.TooltipTool;
|
||||||
import com.atsuishio.superbwarfare.client.tooltip.component.GunImageComponent;
|
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ public class ClientBocekImageTooltip extends ClientGunImageTooltip {
|
||||||
slug = true;
|
slug = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
double total = ItemNBTTool.getDouble(stack, "damage", 0) * TooltipTool.perkDamage(stack);
|
double total = GunsTool.getGunDoubleTag(stack, "Damage", 0) * TooltipTool.perkDamage(stack);
|
||||||
|
|
||||||
if (slug) {
|
if (slug) {
|
||||||
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
|
|
|
@ -89,7 +89,7 @@ public class ClientGunImageTooltip implements ClientTooltipComponent {
|
||||||
* 获取武器伤害的文本组件
|
* 获取武器伤害的文本组件
|
||||||
*/
|
*/
|
||||||
protected Component getDamageComponent() {
|
protected Component getDamageComponent() {
|
||||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * TooltipTool.perkDamage(stack);
|
double damage = GunsTool.getGunDoubleTag(stack, "Damage", 0) * TooltipTool.perkDamage(stack);
|
||||||
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
.append(Component.literal(new DecimalFormat("##.#").format(damage) + (TooltipTool.heBullet(stack) ? " + "
|
.append(Component.literal(new DecimalFormat("##.#").format(damage) + (TooltipTool.heBullet(stack) ? " + "
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.atsuishio.superbwarfare.client.tooltip;
|
package com.atsuishio.superbwarfare.client.tooltip;
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.client.tooltip.component.GunImageComponent;
|
import com.atsuishio.superbwarfare.client.tooltip.component.GunImageComponent;
|
||||||
|
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||||
import com.atsuishio.superbwarfare.tools.ItemNBTTool;
|
import com.atsuishio.superbwarfare.tools.ItemNBTTool;
|
||||||
import com.atsuishio.superbwarfare.tools.TooltipTool;
|
import com.atsuishio.superbwarfare.tools.TooltipTool;
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
|
@ -16,7 +17,7 @@ public class ClientLauncherImageTooltip extends ClientGunImageTooltip {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Component getDamageComponent() {
|
protected Component getDamageComponent() {
|
||||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * TooltipTool.perkDamage(stack);
|
double damage = GunsTool.getGunDoubleTag(stack, "Damage", 0) * TooltipTool.perkDamage(stack);
|
||||||
double explosionDamage = ItemNBTTool.getDouble(stack, "ExplosionDamage", 0);
|
double explosionDamage = ItemNBTTool.getDouble(stack, "ExplosionDamage", 0);
|
||||||
|
|
||||||
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package com.atsuishio.superbwarfare.client.tooltip;
|
package com.atsuishio.superbwarfare.client.tooltip;
|
||||||
|
|
||||||
|
import com.atsuishio.superbwarfare.client.tooltip.component.GunImageComponent;
|
||||||
|
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||||
import com.atsuishio.superbwarfare.tools.ItemNBTTool;
|
import com.atsuishio.superbwarfare.tools.ItemNBTTool;
|
||||||
import com.atsuishio.superbwarfare.tools.TooltipTool;
|
import com.atsuishio.superbwarfare.tools.TooltipTool;
|
||||||
import com.atsuishio.superbwarfare.client.tooltip.component.GunImageComponent;
|
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraftforge.common.capabilities.ForgeCapabilities;
|
import net.minecraftforge.common.capabilities.ForgeCapabilities;
|
||||||
|
@ -25,7 +26,7 @@ public class ClientSentinelImageTooltip extends ClientEnergyImageTooltip {
|
||||||
);
|
);
|
||||||
|
|
||||||
if (flag.get()) {
|
if (flag.get()) {
|
||||||
double damage = (ItemNBTTool.getDouble(stack, "damage", 0) +
|
double damage = (GunsTool.getGunDoubleTag(stack, "Damage", 0) +
|
||||||
ItemNBTTool.getDouble(stack, "sentinelChargeDamage", 0))
|
ItemNBTTool.getDouble(stack, "sentinelChargeDamage", 0))
|
||||||
* TooltipTool.perkDamage(stack);
|
* TooltipTool.perkDamage(stack);
|
||||||
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
|
@ -34,7 +35,7 @@ public class ClientSentinelImageTooltip extends ClientEnergyImageTooltip {
|
||||||
.format(0.8 * damage * (1 + 0.1 * TooltipTool.heBulletLevel(stack))) : ""))
|
.format(0.8 * damage * (1 + 0.1 * TooltipTool.heBulletLevel(stack))) : ""))
|
||||||
.withStyle(ChatFormatting.AQUA).withStyle(ChatFormatting.BOLD));
|
.withStyle(ChatFormatting.AQUA).withStyle(ChatFormatting.BOLD));
|
||||||
} else {
|
} else {
|
||||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * TooltipTool.perkDamage(stack);
|
double damage = GunsTool.getGunDoubleTag(stack, "Damage", 0) * TooltipTool.perkDamage(stack);
|
||||||
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
.append(Component.literal(new DecimalFormat("##.#").format(damage) + (TooltipTool.heBullet(stack) ? new DecimalFormat("##.#")
|
.append(Component.literal(new DecimalFormat("##.#").format(damage) + (TooltipTool.heBullet(stack) ? new DecimalFormat("##.#")
|
||||||
|
|
|
@ -5,7 +5,6 @@ import com.atsuishio.superbwarfare.perk.AmmoPerk;
|
||||||
import com.atsuishio.superbwarfare.perk.Perk;
|
import com.atsuishio.superbwarfare.perk.Perk;
|
||||||
import com.atsuishio.superbwarfare.perk.PerkHelper;
|
import com.atsuishio.superbwarfare.perk.PerkHelper;
|
||||||
import com.atsuishio.superbwarfare.tools.GunsTool;
|
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||||
import com.atsuishio.superbwarfare.tools.ItemNBTTool;
|
|
||||||
import com.atsuishio.superbwarfare.tools.TooltipTool;
|
import com.atsuishio.superbwarfare.tools.TooltipTool;
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
|
@ -28,13 +27,13 @@ public class ClientShotgunImageTooltip extends ClientGunImageTooltip {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (slug) {
|
if (slug) {
|
||||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * GunsTool.getGunIntTag(stack, "ProjectileAmount", 1) * TooltipTool.perkDamage(stack);
|
double damage = GunsTool.getGunDoubleTag(stack, "Damage", 0) * GunsTool.getGunIntTag(stack, "ProjectileAmount", 1) * TooltipTool.perkDamage(stack);
|
||||||
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
.append(Component.literal(new DecimalFormat("##.#").format(damage) + (TooltipTool.heBullet(stack) ? " + " + new DecimalFormat("##.#")
|
.append(Component.literal(new DecimalFormat("##.#").format(damage) + (TooltipTool.heBullet(stack) ? " + " + new DecimalFormat("##.#")
|
||||||
.format(0.8 * damage * (1 + 0.1 * TooltipTool.heBulletLevel(stack))) : "")).withStyle(ChatFormatting.GREEN));
|
.format(0.8 * damage * (1 + 0.1 * TooltipTool.heBulletLevel(stack))) : "")).withStyle(ChatFormatting.GREEN));
|
||||||
} else {
|
} else {
|
||||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * TooltipTool.perkDamage(stack);
|
double damage = GunsTool.getGunDoubleTag(stack, "Damage", 0) * TooltipTool.perkDamage(stack);
|
||||||
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
.append(Component.literal(new DecimalFormat("##.#").format(damage) + " * " + new DecimalFormat("##").format(GunsTool.getGunIntTag(stack, "ProjectileAmount", 1))).withStyle(ChatFormatting.GREEN));
|
.append(Component.literal(new DecimalFormat("##.#").format(damage) + " * " + new DecimalFormat("##").format(GunsTool.getGunIntTag(stack, "ProjectileAmount", 1))).withStyle(ChatFormatting.GREEN));
|
||||||
|
|
|
@ -186,7 +186,7 @@ public class GunEventHandler {
|
||||||
|
|
||||||
if (!player.level().isClientSide()) {
|
if (!player.level().isClientSide()) {
|
||||||
float headshot = (float) GunsTool.getGunDoubleTag(heldItem, "Headshot", 0);
|
float headshot = (float) GunsTool.getGunDoubleTag(heldItem, "Headshot", 0);
|
||||||
float damage = (float) (heldItem.getOrCreateTag().getDouble("damage") + heldItem.getOrCreateTag().getDouble("sentinelChargeDamage")) * (float) perkDamage(heldItem);
|
float damage = (float) (GunsTool.getGunDoubleTag(heldItem, "Damage", 0) + heldItem.getOrCreateTag().getDouble("sentinelChargeDamage")) * (float) perkDamage(heldItem);
|
||||||
float velocity = (float) ((GunsTool.getGunDoubleTag(heldItem, "Velocity", 0) + heldItem.getOrCreateTag().getDouble("CustomVelocity")) * perkSpeed(heldItem));
|
float velocity = (float) ((GunsTool.getGunDoubleTag(heldItem, "Velocity", 0) + heldItem.getOrCreateTag().getDouble("CustomVelocity")) * perkSpeed(heldItem));
|
||||||
int projectileAmount = GunsTool.getGunIntTag(heldItem, "ProjectileAmount", 1);
|
int projectileAmount = GunsTool.getGunIntTag(heldItem, "ProjectileAmount", 1);
|
||||||
float bypassArmorRate = (float) heldItem.getOrCreateTag().getDouble("BypassesArmor");
|
float bypassArmorRate = (float) heldItem.getOrCreateTag().getDouble("BypassesArmor");
|
||||||
|
|
|
@ -277,12 +277,12 @@ public class Trachelium extends GunItem implements GeoItem, AnimatedItem {
|
||||||
if (scopeType > 0 || gripType > 0) {
|
if (scopeType > 0 || gripType > 0) {
|
||||||
tag.putDouble("CustomVelocity", 15);
|
tag.putDouble("CustomVelocity", 15);
|
||||||
tag.putDouble("BypassesArmor", 0.4);
|
tag.putDouble("BypassesArmor", 0.4);
|
||||||
tag.putDouble("damage", 21);
|
GunsTool.setGunDoubleTag(stack, "Damage", 21);
|
||||||
GunsTool.setGunDoubleTag(stack, "Headshot", 2.5);
|
GunsTool.setGunDoubleTag(stack, "Headshot", 2.5);
|
||||||
} else {
|
} else {
|
||||||
tag.putDouble("CustomVelocity", 0);
|
tag.putDouble("CustomVelocity", 0);
|
||||||
tag.putDouble("BypassesArmor", 0.3);
|
tag.putDouble("BypassesArmor", 0.3);
|
||||||
tag.putDouble("damage", 19);
|
GunsTool.setGunDoubleTag(stack, "Damage", 19);
|
||||||
GunsTool.setGunDoubleTag(stack, "Headshot", 2);
|
GunsTool.setGunDoubleTag(stack, "Headshot", 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -186,7 +186,7 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
int energyStored = energy.getEnergyStored();
|
int energyStored = energy.getEnergyStored();
|
||||||
if (energyStored > 0) {
|
if (energyStored > 0) {
|
||||||
energy.extractEnergy(1, false);
|
energy.extractEnergy(1, false);
|
||||||
tag.putDouble("sentinelChargeDamage", 0.2857142857142857 * tag.getDouble("damage"));
|
tag.putDouble("sentinelChargeDamage", 0.2857142857142857 * GunsTool.getGunDoubleTag(itemStack, "Damage", 0));
|
||||||
} else {
|
} else {
|
||||||
tag.putDouble("sentinelChargeDamage", 0);
|
tag.putDouble("sentinelChargeDamage", 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -248,10 +248,11 @@ public class FireMessage {
|
||||||
|
|
||||||
if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zoom) {
|
if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zoom) {
|
||||||
spread = 0.01f;
|
spread = 0.01f;
|
||||||
damage = 0.08333333 * tag.getDouble("damage") * tag.getDouble("speed") * perkDamage(heldItem);
|
damage = 0.08333333 * GunsTool.getGunDoubleTag(heldItem, "Damage", 0) * tag.getDouble("speed") * perkDamage(heldItem);
|
||||||
} else {
|
} else {
|
||||||
spread = perk instanceof AmmoPerk ammoPerk && ammoPerk.slug ? 0.5f : 2.5f;
|
spread = perk instanceof AmmoPerk ammoPerk && ammoPerk.slug ? 0.5f : 2.5f;
|
||||||
damage = (perk instanceof AmmoPerk ammoPerk && ammoPerk.slug ? 0.08333333 : 0.008333333) * tag.getDouble("damage") * tag.getDouble("speed") * perkDamage(heldItem);
|
damage = (perk instanceof AmmoPerk ammoPerk && ammoPerk.slug ? 0.08333333 : 0.008333333) *
|
||||||
|
GunsTool.getGunDoubleTag(heldItem, "Damage", 0) * tag.getDouble("speed") * perkDamage(heldItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
ProjectileEntity projectile = new ProjectileEntity(player.level())
|
ProjectileEntity projectile = new ProjectileEntity(player.level())
|
||||||
|
@ -337,7 +338,8 @@ public class FireMessage {
|
||||||
|
|
||||||
Level level = player.level();
|
Level level = player.level();
|
||||||
if (!level.isClientSide()) {
|
if (!level.isClientSide()) {
|
||||||
TaserBulletProjectileEntity taserBulletProjectile = new TaserBulletProjectileEntity(player, level, (float) stack.getOrCreateTag().getDouble("damage"), volt, wireLength);
|
TaserBulletProjectileEntity taserBulletProjectile = new TaserBulletProjectileEntity(player, level,
|
||||||
|
(float) GunsTool.getGunDoubleTag(stack, "Damage", 0), volt, wireLength);
|
||||||
|
|
||||||
taserBulletProjectile.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ());
|
taserBulletProjectile.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ());
|
||||||
taserBulletProjectile.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) GunsTool.getGunDoubleTag(stack, "Velocity", 0),
|
taserBulletProjectile.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) GunsTool.getGunDoubleTag(stack, "Velocity", 0),
|
||||||
|
@ -371,7 +373,7 @@ public class FireMessage {
|
||||||
Level level = player.level();
|
Level level = player.level();
|
||||||
if (!level.isClientSide()) {
|
if (!level.isClientSide()) {
|
||||||
GunGrenadeEntity gunGrenadeEntity = new GunGrenadeEntity(player, level,
|
GunGrenadeEntity gunGrenadeEntity = new GunGrenadeEntity(player, level,
|
||||||
(float) stack.getOrCreateTag().getDouble("damage"), (float) stack.getOrCreateTag().getDouble("ExplosionDamage"), (float) stack.getOrCreateTag().getDouble("ExplosionRadius"));
|
(float) GunsTool.getGunDoubleTag(stack, "Damage", 0), (float) stack.getOrCreateTag().getDouble("ExplosionDamage"), (float) stack.getOrCreateTag().getDouble("ExplosionRadius"));
|
||||||
|
|
||||||
var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE);
|
var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE);
|
||||||
if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) {
|
if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) {
|
||||||
|
@ -422,7 +424,7 @@ public class FireMessage {
|
||||||
|
|
||||||
if (!level.isClientSide()) {
|
if (!level.isClientSide()) {
|
||||||
RpgRocketEntity rocketEntity = new RpgRocketEntity(player, level,
|
RpgRocketEntity rocketEntity = new RpgRocketEntity(player, level,
|
||||||
(float) tag.getDouble("damage"), (float) tag.getDouble("ExplosionDamage"), (float) tag.getDouble("ExplosionRadius"));
|
(float) GunsTool.getGunDoubleTag(stack, "Damage", 0), (float) tag.getDouble("ExplosionDamage"), (float) tag.getDouble("ExplosionRadius"));
|
||||||
|
|
||||||
var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE);
|
var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE);
|
||||||
if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) {
|
if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) {
|
||||||
|
@ -486,7 +488,7 @@ public class FireMessage {
|
||||||
|
|
||||||
if (!level.isClientSide()) {
|
if (!level.isClientSide()) {
|
||||||
JavelinMissileEntity missileEntity = new JavelinMissileEntity(player, level,
|
JavelinMissileEntity missileEntity = new JavelinMissileEntity(player, level,
|
||||||
(float) tag.getDouble("damage"), (float) tag.getDouble("ExplosionDamage"), (float) tag.getDouble("ExplosionRadius"));
|
(float) GunsTool.getGunDoubleTag(stack, "Damage", 0), (float) tag.getDouble("ExplosionDamage"), (float) tag.getDouble("ExplosionRadius"));
|
||||||
|
|
||||||
var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE);
|
var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE);
|
||||||
if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) {
|
if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) {
|
||||||
|
|
|
@ -55,7 +55,7 @@ public class GunsTool {
|
||||||
|
|
||||||
// TODO 临时使用,移植完毕后删除
|
// TODO 临时使用,移植完毕后删除
|
||||||
private static final Set<String> STRING_SET = Set.of("EmptyReloadTime", "FireMode", "Weight", "SoundRadius", "BurstSize", "ProjectileAmount",
|
private static final Set<String> STRING_SET = Set.of("EmptyReloadTime", "FireMode", "Weight", "SoundRadius", "BurstSize", "ProjectileAmount",
|
||||||
"Spread", "NormalReloadTime", "Headshot", "Semi", "Burst", "Auto", "RecoilX", "RecoilY", "Velocity");
|
"Spread", "NormalReloadTime", "Headshot", "Semi", "Burst", "Auto", "RecoilX", "RecoilY", "Velocity", "Damage");
|
||||||
|
|
||||||
public static void initGun(Level level, ItemStack stack, String location) {
|
public static void initGun(Level level, ItemStack stack, String location) {
|
||||||
if (level.getServer() == null) return;
|
if (level.getServer() == null) return;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 3.5,
|
"Spread": 3.5,
|
||||||
"RecoilX": 0.006,
|
"RecoilX": 0.006,
|
||||||
"RecoilY": 0.018,
|
"RecoilY": 0.018,
|
||||||
"damage": 2.5,
|
"Damage": 2.5,
|
||||||
"Headshot": 1.5,
|
"Headshot": 1.5,
|
||||||
"Velocity": 17,
|
"Velocity": 17,
|
||||||
"mag": 25,
|
"mag": 25,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 4,
|
"Spread": 4,
|
||||||
"RecoilX": 0.005,
|
"RecoilX": 0.005,
|
||||||
"RecoilY": 0.026,
|
"RecoilY": 0.026,
|
||||||
"damage": 5,
|
"Damage": 5,
|
||||||
"Headshot": 1.5,
|
"Headshot": 1.5,
|
||||||
"Velocity": 15,
|
"Velocity": 15,
|
||||||
"mag": 2,
|
"mag": 2,
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"Spread": 3.5,
|
"Spread": 3.5,
|
||||||
"RecoilX": 0.0015,
|
"RecoilX": 0.0015,
|
||||||
"RecoilY": 0.01,
|
"RecoilY": 0.01,
|
||||||
"damage": 7.7,
|
"Damage": 7.7,
|
||||||
"Headshot": 2,
|
"Headshot": 2,
|
||||||
"Velocity": 44.5,
|
"Velocity": 44.5,
|
||||||
"mag": 30,
|
"mag": 30,
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"Spread": 4,
|
"Spread": 4,
|
||||||
"RecoilX": 0.002,
|
"RecoilX": 0.002,
|
||||||
"RecoilY": 0.012,
|
"RecoilY": 0.012,
|
||||||
"damage": 8.5,
|
"Damage": 8.5,
|
||||||
"Headshot": 2,
|
"Headshot": 2,
|
||||||
"Velocity": 36,
|
"Velocity": 36,
|
||||||
"mag": 30,
|
"mag": 30,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"CustomZoom": 0.75,
|
"CustomZoom": 0.75,
|
||||||
"Spread": 4,
|
"Spread": 4,
|
||||||
"Headshot": 2.5,
|
"Headshot": 2.5,
|
||||||
"damage": 48,
|
"Damage": 48,
|
||||||
"Weight": 3,
|
"Weight": 3,
|
||||||
"BypassesArmor": 0.25
|
"BypassesArmor": 0.25
|
||||||
}
|
}
|
|
@ -3,7 +3,7 @@
|
||||||
"Spread": 5,
|
"Spread": 5,
|
||||||
"RecoilX": 0.0018,
|
"RecoilX": 0.0018,
|
||||||
"RecoilY": 0.01,
|
"RecoilY": 0.01,
|
||||||
"damage": 9.5,
|
"Damage": 9.5,
|
||||||
"Headshot": 2,
|
"Headshot": 2,
|
||||||
"Velocity": 40,
|
"Velocity": 40,
|
||||||
"mag": 55,
|
"mag": 55,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 2.5,
|
"Spread": 2.5,
|
||||||
"RecoilX": 0.004,
|
"RecoilX": 0.004,
|
||||||
"RecoilY": 0.013,
|
"RecoilY": 0.013,
|
||||||
"damage": 5.5,
|
"Damage": 5.5,
|
||||||
"Headshot": 1.5,
|
"Headshot": 1.5,
|
||||||
"Velocity": 17,
|
"Velocity": 17,
|
||||||
"mag": 17,
|
"mag": 17,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 2.5,
|
"Spread": 2.5,
|
||||||
"RecoilX": 0.004,
|
"RecoilX": 0.004,
|
||||||
"RecoilY": 0.013,
|
"RecoilY": 0.013,
|
||||||
"damage": 5.5,
|
"Damage": 5.5,
|
||||||
"Headshot": 1.5,
|
"Headshot": 1.5,
|
||||||
"Velocity": 17,
|
"Velocity": 17,
|
||||||
"mag": 17,
|
"mag": 17,
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"Spread": 3.5,
|
"Spread": 3.5,
|
||||||
"RecoilX": 0.0016,
|
"RecoilX": 0.0016,
|
||||||
"RecoilY": 0.009,
|
"RecoilY": 0.009,
|
||||||
"damage": 7.5,
|
"Damage": 7.5,
|
||||||
"Headshot": 2,
|
"Headshot": 2,
|
||||||
"Velocity": 44,
|
"Velocity": 44,
|
||||||
"mag": 30,
|
"mag": 30,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 7,
|
"Spread": 7,
|
||||||
"RecoilX": 0.004,
|
"RecoilX": 0.004,
|
||||||
"RecoilY": 0.04,
|
"RecoilY": 0.04,
|
||||||
"damage": 65,
|
"Damage": 65,
|
||||||
"Headshot": 3,
|
"Headshot": 3,
|
||||||
"Velocity": 38,
|
"Velocity": 38,
|
||||||
"mag": 1,
|
"mag": 1,
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"mag": 1,
|
"mag": 1,
|
||||||
"Weight": 10,
|
"Weight": 10,
|
||||||
"EmptyReloadTime": 78,
|
"EmptyReloadTime": 78,
|
||||||
"damage": 300,
|
"Damage": 300,
|
||||||
"ExplosionDamage": 100,
|
"ExplosionDamage": 100,
|
||||||
"ExplosionRadius": 6
|
"ExplosionRadius": 6
|
||||||
}
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 5,
|
"Spread": 5,
|
||||||
"RecoilX": 0.002,
|
"RecoilX": 0.002,
|
||||||
"RecoilY": 0.063,
|
"RecoilY": 0.063,
|
||||||
"damage": 35,
|
"Damage": 35,
|
||||||
"Headshot": 3,
|
"Headshot": 3,
|
||||||
"Velocity": 37.75,
|
"Velocity": 37.75,
|
||||||
"mag": 5,
|
"mag": 5,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 2.5,
|
"Spread": 2.5,
|
||||||
"RecoilX": 0.006,
|
"RecoilX": 0.006,
|
||||||
"RecoilY": 0.018,
|
"RecoilY": 0.018,
|
||||||
"damage": 9.5,
|
"Damage": 9.5,
|
||||||
"Headshot": 1.5,
|
"Headshot": 1.5,
|
||||||
"Velocity": 15,
|
"Velocity": 15,
|
||||||
"mag": 7,
|
"mag": 7,
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"Spread": 4,
|
"Spread": 4,
|
||||||
"RecoilX": 0.0015,
|
"RecoilX": 0.0015,
|
||||||
"RecoilY": 0.011,
|
"RecoilY": 0.011,
|
||||||
"damage": 7,
|
"Damage": 7,
|
||||||
"Headshot": 2,
|
"Headshot": 2,
|
||||||
"Velocity": 44,
|
"Velocity": 44,
|
||||||
"mag": 30,
|
"mag": 30,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 5,
|
"Spread": 5,
|
||||||
"RecoilX": 0.004,
|
"RecoilX": 0.004,
|
||||||
"RecoilY": 0.014,
|
"RecoilY": 0.014,
|
||||||
"damage": 9,
|
"Damage": 9,
|
||||||
"Headshot": 2,
|
"Headshot": 2,
|
||||||
"Velocity": 43,
|
"Velocity": 43,
|
||||||
"mag": 100,
|
"mag": 100,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 1.5,
|
"Spread": 1.5,
|
||||||
"RecoilX": 0.004,
|
"RecoilX": 0.004,
|
||||||
"RecoilY": 0.023,
|
"RecoilY": 0.023,
|
||||||
"damage": 40,
|
"Damage": 40,
|
||||||
"ExplosionDamage": 80,
|
"ExplosionDamage": 80,
|
||||||
"ExplosionRadius": 5,
|
"ExplosionRadius": 5,
|
||||||
"Velocity": 3.75,
|
"Velocity": 3.75,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 3,
|
"Spread": 3,
|
||||||
"RecoilX": 0.009,
|
"RecoilX": 0.009,
|
||||||
"RecoilY": 0.04,
|
"RecoilY": 0.04,
|
||||||
"damage": 3,
|
"Damage": 3,
|
||||||
"Headshot": 1.5,
|
"Headshot": 1.5,
|
||||||
"Velocity": 17,
|
"Velocity": 17,
|
||||||
"mag": 8,
|
"mag": 8,
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"Spread": 6,
|
"Spread": 6,
|
||||||
"RecoilX": 0.007,
|
"RecoilX": 0.007,
|
||||||
"RecoilY": 0.013,
|
"RecoilY": 0.013,
|
||||||
"damage": 38,
|
"Damage": 38,
|
||||||
"Headshot": 3,
|
"Headshot": 3,
|
||||||
"Velocity": 47.2,
|
"Velocity": 47.2,
|
||||||
"mag": 5,
|
"mag": 5,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 2,
|
"Spread": 2,
|
||||||
"RecoilX": 0.004,
|
"RecoilX": 0.004,
|
||||||
"RecoilY": 0.031,
|
"RecoilY": 0.031,
|
||||||
"damage": 16,
|
"Damage": 16,
|
||||||
"Headshot": 2.5,
|
"Headshot": 2.5,
|
||||||
"Velocity": 38,
|
"Velocity": 38,
|
||||||
"mag": 8,
|
"mag": 8,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 1.5,
|
"Spread": 1.5,
|
||||||
"RecoilX": 0.003,
|
"RecoilX": 0.003,
|
||||||
"RecoilY": 0.02,
|
"RecoilY": 0.02,
|
||||||
"damage": 8,
|
"Damage": 8,
|
||||||
"Headshot": 2,
|
"Headshot": 2,
|
||||||
"Velocity": 46,
|
"Velocity": 46,
|
||||||
"Weight": 10,
|
"Weight": 10,
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"Spread": 5,
|
"Spread": 5,
|
||||||
"RecoilX": 0.006,
|
"RecoilX": 0.006,
|
||||||
"RecoilY": 0.014,
|
"RecoilY": 0.014,
|
||||||
"damage": 12,
|
"Damage": 12,
|
||||||
"Headshot": 2.5,
|
"Headshot": 2.5,
|
||||||
"Velocity": 42.5,
|
"Velocity": 42.5,
|
||||||
"mag": 20,
|
"mag": 20,
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"Spread": 4.8,
|
"Spread": 4.8,
|
||||||
"RecoilX": 0.002,
|
"RecoilX": 0.002,
|
||||||
"RecoilY": 0.063,
|
"RecoilY": 0.063,
|
||||||
"damage": 33,
|
"Damage": 33,
|
||||||
"Headshot": 3,
|
"Headshot": 3,
|
||||||
"Velocity": 42,
|
"Velocity": 42,
|
||||||
"mag": 5,
|
"mag": 5,
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"Spread": 8,
|
"Spread": 8,
|
||||||
"RecoilX": 0.01,
|
"RecoilX": 0.01,
|
||||||
"RecoilY": 0.038,
|
"RecoilY": 0.038,
|
||||||
"damage": 140,
|
"Damage": 140,
|
||||||
"Headshot": 3,
|
"Headshot": 3,
|
||||||
"Velocity": 36,
|
"Velocity": 36,
|
||||||
"mag": 3,
|
"mag": 3,
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"Spread": 3.7,
|
"Spread": 3.7,
|
||||||
"RecoilX": 0.0013,
|
"RecoilX": 0.0013,
|
||||||
"RecoilY": 0.009,
|
"RecoilY": 0.009,
|
||||||
"damage": 8.25,
|
"Damage": 8.25,
|
||||||
"Headshot": 2,
|
"Headshot": 2,
|
||||||
"Velocity": 46,
|
"Velocity": 46,
|
||||||
"mag": 30,
|
"mag": 30,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 5,
|
"Spread": 5,
|
||||||
"RecoilX": 0.008,
|
"RecoilX": 0.008,
|
||||||
"RecoilY": 0.018,
|
"RecoilY": 0.018,
|
||||||
"damage": 200,
|
"Damage": 200,
|
||||||
"ExplosionDamage": 150,
|
"ExplosionDamage": 150,
|
||||||
"ExplosionRadius": 10,
|
"ExplosionRadius": 10,
|
||||||
"Velocity": 4,
|
"Velocity": 4,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 5.5,
|
"Spread": 5.5,
|
||||||
"RecoilX": 0.0018,
|
"RecoilX": 0.0018,
|
||||||
"RecoilY": 0.012,
|
"RecoilY": 0.012,
|
||||||
"damage": 8.75,
|
"Damage": 8.75,
|
||||||
"Headshot": 2,
|
"Headshot": 2,
|
||||||
"Velocity": 38,
|
"Velocity": 38,
|
||||||
"mag": 75,
|
"mag": 75,
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"Spread": 6,
|
"Spread": 6,
|
||||||
"RecoilX": 0.007,
|
"RecoilX": 0.007,
|
||||||
"RecoilY": 0.018,
|
"RecoilY": 0.018,
|
||||||
"damage": 35,
|
"Damage": 35,
|
||||||
"mag": 5,
|
"mag": 5,
|
||||||
"Headshot": 3,
|
"Headshot": 3,
|
||||||
"Velocity": 70,
|
"Velocity": 70,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 4.5,
|
"Spread": 4.5,
|
||||||
"RecoilX": 0.004,
|
"RecoilX": 0.004,
|
||||||
"RecoilY": 0.015,
|
"RecoilY": 0.015,
|
||||||
"damage": 9.5,
|
"Damage": 9.5,
|
||||||
"Headshot": 2,
|
"Headshot": 2,
|
||||||
"Velocity": 36,
|
"Velocity": 36,
|
||||||
"mag": 20,
|
"mag": 20,
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"Spread": 5.5,
|
"Spread": 5.5,
|
||||||
"RecoilX": 0.004,
|
"RecoilX": 0.004,
|
||||||
"RecoilY": 0.009,
|
"RecoilY": 0.009,
|
||||||
"damage": 18,
|
"Damage": 18,
|
||||||
"Headshot": 2,
|
"Headshot": 2,
|
||||||
"Velocity": 42,
|
"Velocity": 42,
|
||||||
"mag": 10,
|
"mag": 10,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 2,
|
"Spread": 2,
|
||||||
"RecoilX": 0.0001,
|
"RecoilX": 0.0001,
|
||||||
"RecoilY": 0.002,
|
"RecoilY": 0.002,
|
||||||
"damage": 5,
|
"Damage": 5,
|
||||||
"Velocity": 3,
|
"Velocity": 3,
|
||||||
"mag": 1,
|
"mag": 1,
|
||||||
"Weight": 1,
|
"Weight": 1,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 3,
|
"Spread": 3,
|
||||||
"RecoilX": 0.005,
|
"RecoilX": 0.005,
|
||||||
"RecoilY": 0.032,
|
"RecoilY": 0.032,
|
||||||
"damage": 19,
|
"Damage": 19,
|
||||||
"Headshot": 2,
|
"Headshot": 2,
|
||||||
"Velocity": 24,
|
"Velocity": 24,
|
||||||
"mag": 6,
|
"mag": 6,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"Spread": 2.3,
|
"Spread": 2.3,
|
||||||
"RecoilX": 0.002,
|
"RecoilX": 0.002,
|
||||||
"RecoilY": 0.007,
|
"RecoilY": 0.007,
|
||||||
"damage": 6,
|
"Damage": 6,
|
||||||
"Headshot": 1.5,
|
"Headshot": 1.5,
|
||||||
"Velocity": 16,
|
"Velocity": 16,
|
||||||
"mag": 13,
|
"mag": 13,
|
||||||
|
|
Loading…
Add table
Reference in a new issue