Create elementalizeAetherialMastery.tsx
This method elementalizes aetherial mastery strings based on a GridCharacter. Also add the opposite element's ID to TeamElement.
This commit is contained in:
parent
0f30c73964
commit
5fd5411bc4
3 changed files with 63 additions and 0 deletions
|
|
@ -1,5 +1,6 @@
|
|||
export const allElement: TeamElement = {
|
||||
id: -1,
|
||||
opposite_id: -1,
|
||||
name: {
|
||||
en: 'All',
|
||||
ja: '全s',
|
||||
|
|
@ -9,6 +10,7 @@ export const allElement: TeamElement = {
|
|||
export const elements: TeamElement[] = [
|
||||
{
|
||||
id: 0,
|
||||
opposite_id: 0,
|
||||
name: {
|
||||
en: 'Null',
|
||||
ja: '無',
|
||||
|
|
@ -16,6 +18,7 @@ export const elements: TeamElement[] = [
|
|||
},
|
||||
{
|
||||
id: 1,
|
||||
opposite_id: 4,
|
||||
name: {
|
||||
en: 'Wind',
|
||||
ja: '風',
|
||||
|
|
@ -23,6 +26,7 @@ export const elements: TeamElement[] = [
|
|||
},
|
||||
{
|
||||
id: 2,
|
||||
opposite_id: 1,
|
||||
name: {
|
||||
en: 'Fire',
|
||||
ja: '火',
|
||||
|
|
@ -30,6 +34,7 @@ export const elements: TeamElement[] = [
|
|||
},
|
||||
{
|
||||
id: 3,
|
||||
opposite_id: 2,
|
||||
name: {
|
||||
en: 'Water',
|
||||
ja: '水',
|
||||
|
|
@ -37,6 +42,7 @@ export const elements: TeamElement[] = [
|
|||
},
|
||||
{
|
||||
id: 4,
|
||||
opposite_id: 3,
|
||||
name: {
|
||||
en: 'Earth',
|
||||
ja: '土',
|
||||
|
|
@ -44,6 +50,7 @@ export const elements: TeamElement[] = [
|
|||
},
|
||||
{
|
||||
id: 5,
|
||||
opposite_id: 6,
|
||||
name: {
|
||||
en: 'Dark',
|
||||
ja: '闇',
|
||||
|
|
@ -51,6 +58,7 @@ export const elements: TeamElement[] = [
|
|||
},
|
||||
{
|
||||
id: 6,
|
||||
opposite_id: 5,
|
||||
name: {
|
||||
en: 'Light',
|
||||
ja: '光',
|
||||
|
|
|
|||
1
types/TeamElement.d.ts
vendored
1
types/TeamElement.d.ts
vendored
|
|
@ -1,5 +1,6 @@
|
|||
interface TeamElement {
|
||||
id: number
|
||||
opposite_id: number
|
||||
name: {
|
||||
en: string
|
||||
ja: string
|
||||
|
|
|
|||
54
utils/elementalizeAetherialMastery.tsx
Normal file
54
utils/elementalizeAetherialMastery.tsx
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
import { elements } from '~data/elements'
|
||||
import { aetherialMastery } from '~data/overMastery'
|
||||
|
||||
export default function elementalizeAetherialMastery(
|
||||
gridCharacter: GridCharacter
|
||||
) {
|
||||
const elementalized = aetherialMastery.map((modifier) => {
|
||||
const element = elements.find(
|
||||
(element) => element.id === gridCharacter.object.element
|
||||
)
|
||||
const oppositeElement = elements.find(
|
||||
(element) => element.id === element.opposite_id
|
||||
)
|
||||
const newModifier = modifier
|
||||
|
||||
if (element && oppositeElement && modifier.name.en.includes('{Element}')) {
|
||||
if (modifier.id === 3) {
|
||||
newModifier.name.en = newModifier.name.en.replace(
|
||||
'{Element}',
|
||||
element.name.en
|
||||
)
|
||||
newModifier.name.ja = newModifier.name.ja.replace(
|
||||
'{Element}',
|
||||
element.name.ja
|
||||
)
|
||||
} else if (modifier.id === 4) {
|
||||
newModifier.name.en = newModifier.name.en.replace(
|
||||
'{Element}',
|
||||
oppositeElement.name.en
|
||||
)
|
||||
newModifier.name.ja = newModifier.name.ja.replace(
|
||||
'{Element}',
|
||||
oppositeElement.name.ja
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
return newModifier
|
||||
})
|
||||
|
||||
elementalized.unshift({
|
||||
id: 0,
|
||||
name: {
|
||||
en: 'No aetherial mastery',
|
||||
ja: 'エーテリアルプラス',
|
||||
},
|
||||
slug: 'no-mastery',
|
||||
minValue: 0,
|
||||
maxValue: 0,
|
||||
fractional: false,
|
||||
})
|
||||
|
||||
return elementalized
|
||||
}
|
||||
Loading…
Reference in a new issue