SpacedArmorSceneComponent

This commit is contained in:
tresabhi committed 2026-09-30 17:41:46 -05:00
1 parent 22aff6188a
commit 5d7482b158
2 files changed
+21 -13

No files matched your search

@@ -13,11 +13,11 @@ import {
Vector3,
} from "three";
import { degToRad } from "three/src/math/MathUtils.js";
import { hasEquipment } from "../core/blitzkit/hasEquipment";
import { defaultEqualizer } from "../config/equalizer";
import { jsxTree } from "../core/blitzkit/jsxTree";
import { defaultEqualizer } from "../core/blitzkit/tankToDuelMember";
import { discardClippingPlane } from "../core/three/discardClippingPlane";
import { Duel } from "../stores/duel";
import { DuelModule, getDuel } from "../hooks/useDuel";
import { hasEquipment } from "../hooks/useEquipment";
import {
type Shot,
type ShotLayerBase,
@@ -83,15 +83,16 @@ export function SpacedArmorSceneComponent({
allowRicochet: boolean,
remainingPenetrationInput?: number,
) => {
const protagonist = getDuel("protagonist", DuelModule.Tank);
const antagonist = getDuel("antagonist", DuelModule.Tank);
const { customShell } = Tankopedia.state;
const shell = customShell ?? Duel.state.antagonist.shell;
const { equalize } = Duel.state;
const shell = customShell ?? getDuel("protagonist", DuelModule.Shell);
const { equalize } = Tankopedia.state;
const protagonistEqualizer =
(equalize ? Duel.state.protagonist.tank.equalizer : undefined) ??
defaultEqualizer;
(equalize ? protagonist.equalizer : undefined) ?? defaultEqualizer;
const antagonistEqualizer =
(equalize ? Duel.state.antagonist.tank.equalizer : undefined) ??
defaultEqualizer;
(equalize ? antagonist.equalizer : undefined) ?? defaultEqualizer;
const cameraNormal = camera.position.clone().sub(point).normalize();
const shot: Shot = {
splashRadius:
@@ -109,13 +110,13 @@ export function SpacedArmorSceneComponent({
const hasCalibratedShells = hasEquipment(
103,
Duel.state.antagonist.tank.equipment_preset,
Duel.state.antagonist.equipmentMatrix,
antagonist.equipment_preset,
Tankopedia.state.antagonist.equipment,
);
const hasEnhancedArmor = hasEquipment(
110,
Duel.state.protagonist.tank.equipment_preset,
Duel.state.protagonist.equipmentMatrix,
protagonist.equipment_preset,
Tankopedia.state.protagonist.equipment,
);
const penetration =
shell.penetration!.near *
+7
View File
@@ -0,0 +1,7 @@
export const defaultEqualizer: Equalizer = {
armor: 1,
damage: 1,
health: 1,
module_health: 1,
penetration: 1,
};