mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 18:57:03 +02:00
SpacedArmorSceneComponent
This commit is contained in:
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 *
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
export const defaultEqualizer: Equalizer = {
|
||||
armor: 1,
|
||||
damage: 1,
|
||||
health: 1,
|
||||
module_health: 1,
|
||||
penetration: 1,
|
||||
};
|
||||
Reference in new issue
Block a user