diff --git a/hwe/ts/components/GeneralBasicCard.vue b/hwe/ts/components/GeneralBasicCard.vue new file mode 100644 index 00000000..68ba3922 --- /dev/null +++ b/hwe/ts/components/GeneralBasicCard.vue @@ -0,0 +1,248 @@ + + + + + diff --git a/hwe/ts/utilGame/formatGeneralTypeCall.ts b/hwe/ts/utilGame/formatGeneralTypeCall.ts new file mode 100644 index 00000000..ec5b4487 --- /dev/null +++ b/hwe/ts/utilGame/formatGeneralTypeCall.ts @@ -0,0 +1,32 @@ +import type { GameConstType } from "@/defs/GameObj"; + +export function formatGeneralTypeCall(leadership: number, strength: number, intel: number, gameConst: GameConstType): string { + if (leadership < 40) { + if (strength + intel < 40) { + return '아둔'; + } + if (intel >= gameConst.chiefStatMin && strength < intel * 0.8) { + return '학자'; + } + if (strength >= gameConst.chiefStatMin && intel < strength * 0.8) { + return '장사'; + } + return '명사'; + } + + const maxStat = Math.max(leadership, strength, intel); + const sum2Stat = Math.min(leadership + strength, strength + intel, intel + leadership); + if (maxStat >= gameConst.chiefStatMin + gameConst.statGradeLevel && sum2Stat >= maxStat * 1.7) { + return '만능'; + } + if (strength >= gameConst.chiefStatMin - gameConst.statGradeLevel && intel < strength * 0.8) { + return '용장'; + } + if (intel >= gameConst.chiefStatMin - gameConst.statGradeLevel && strength < intel * 0.8) { + return '명장'; + } + if (leadership >= gameConst.chiefStatMin - gameConst.statGradeLevel && strength + intel < leadership) { + return '차장'; + } + return '평범'; +} \ No newline at end of file diff --git a/hwe/ts/utilGame/formatInjury.ts b/hwe/ts/utilGame/formatInjury.ts new file mode 100644 index 00000000..793b6c84 --- /dev/null +++ b/hwe/ts/utilGame/formatInjury.ts @@ -0,0 +1,15 @@ +export function formatInjury(injury: number): [string, string]{ + if(injury <= 0){ + return ['건강', 'white']; + } + if(injury <= 20){ + return ['경상', 'yellow']; + } + if(injury <= 40){ + return ['중상', 'orange']; + } + if(injury <= 60){ + return ['심각', 'magenta']; + } + return ['위독', 'red']; +} \ No newline at end of file diff --git a/hwe/ts/utilGame/nextExpLevelRemain.ts b/hwe/ts/utilGame/nextExpLevelRemain.ts new file mode 100644 index 00000000..bc7c8ff9 --- /dev/null +++ b/hwe/ts/utilGame/nextExpLevelRemain.ts @@ -0,0 +1,9 @@ +export function nextExpLevelRemain(exp: number, expLevel: number): [number, number] { + if (exp < 1000) { + return [exp - expLevel * 100, 100] + } + + const expBase = 10 * expLevel ** 2; + const expNext = 10 * (expLevel + 1) ** 2; + return [exp - expBase, expNext - expBase]; +} \ No newline at end of file