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