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 = {
|
export const allElement: TeamElement = {
|
||||||
id: -1,
|
id: -1,
|
||||||
|
opposite_id: -1,
|
||||||
name: {
|
name: {
|
||||||
en: 'All',
|
en: 'All',
|
||||||
ja: '全s',
|
ja: '全s',
|
||||||
|
|
@ -9,6 +10,7 @@ export const allElement: TeamElement = {
|
||||||
export const elements: TeamElement[] = [
|
export const elements: TeamElement[] = [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
|
opposite_id: 0,
|
||||||
name: {
|
name: {
|
||||||
en: 'Null',
|
en: 'Null',
|
||||||
ja: '無',
|
ja: '無',
|
||||||
|
|
@ -16,6 +18,7 @@ export const elements: TeamElement[] = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
|
opposite_id: 4,
|
||||||
name: {
|
name: {
|
||||||
en: 'Wind',
|
en: 'Wind',
|
||||||
ja: '風',
|
ja: '風',
|
||||||
|
|
@ -23,6 +26,7 @@ export const elements: TeamElement[] = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
|
opposite_id: 1,
|
||||||
name: {
|
name: {
|
||||||
en: 'Fire',
|
en: 'Fire',
|
||||||
ja: '火',
|
ja: '火',
|
||||||
|
|
@ -30,6 +34,7 @@ export const elements: TeamElement[] = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
|
opposite_id: 2,
|
||||||
name: {
|
name: {
|
||||||
en: 'Water',
|
en: 'Water',
|
||||||
ja: '水',
|
ja: '水',
|
||||||
|
|
@ -37,6 +42,7 @@ export const elements: TeamElement[] = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 4,
|
id: 4,
|
||||||
|
opposite_id: 3,
|
||||||
name: {
|
name: {
|
||||||
en: 'Earth',
|
en: 'Earth',
|
||||||
ja: '土',
|
ja: '土',
|
||||||
|
|
@ -44,6 +50,7 @@ export const elements: TeamElement[] = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 5,
|
id: 5,
|
||||||
|
opposite_id: 6,
|
||||||
name: {
|
name: {
|
||||||
en: 'Dark',
|
en: 'Dark',
|
||||||
ja: '闇',
|
ja: '闇',
|
||||||
|
|
@ -51,6 +58,7 @@ export const elements: TeamElement[] = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 6,
|
id: 6,
|
||||||
|
opposite_id: 5,
|
||||||
name: {
|
name: {
|
||||||
en: 'Light',
|
en: 'Light',
|
||||||
ja: '光',
|
ja: '光',
|
||||||
|
|
|
||||||
1
types/TeamElement.d.ts
vendored
1
types/TeamElement.d.ts
vendored
|
|
@ -1,5 +1,6 @@
|
||||||
interface TeamElement {
|
interface TeamElement {
|
||||||
id: number
|
id: number
|
||||||
|
opposite_id: number
|
||||||
name: {
|
name: {
|
||||||
en: string
|
en: string
|
||||||
ja: 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