Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,57 @@ final class Skill: Hashable {
return Double(baseGold + multiplier * level)
}

/// 레벨업 시 획득 재화량 (스킬에 국한된 스탯)
var gainGoldAfterUpgrade: Double {
let baseGold: Int
let multiplier: Int

switch key.game {
case .tap:
baseGold = Policy.Skill.Tap.baseGold
switch key.tier {
case .beginner:
multiplier = Policy.Skill.Tap.beginnerGoldMultiplier
case .intermediate:
multiplier = Policy.Skill.Tap.intermediateGoldMultiplier
case .advanced:
multiplier = Policy.Skill.Tap.advancedGoldMultiplier
}
case .language:
baseGold = Policy.Skill.Language.baseGold
switch key.tier {
case .beginner:
multiplier = Policy.Skill.Language.beginnerGoldMultiplier
case .intermediate:
multiplier = Policy.Skill.Language.intermediateGoldMultiplier
case .advanced:
multiplier = Policy.Skill.Language.advancedGoldMultiplier
}
case .dodge:
baseGold = Policy.Skill.Dodge.baseGold
switch key.tier {
case .beginner:
multiplier = Policy.Skill.Dodge.beginnerGoldMultiplier
case .intermediate:
multiplier = Policy.Skill.Dodge.intermediateGoldMultiplier
case .advanced:
multiplier = Policy.Skill.Dodge.advancedGoldMultiplier
}
case .stack:
baseGold = Policy.Skill.Stack.baseGold
switch key.tier {
case .beginner:
multiplier = Policy.Skill.Stack.beginnerGoldMultiplier
case .intermediate:
multiplier = Policy.Skill.Stack.intermediateGoldMultiplier
case .advanced:
multiplier = Policy.Skill.Stack.advancedGoldMultiplier
}
}

return Double(baseGold + multiplier * (level + 1))
}

/// 이미지 리소스
var imageName: String {
let gameName: String = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,11 @@ struct SkillView: View {
ForEach(skillSystem.skillList(), id: \.skill) { skillState in
ItemRow(
title: skillState.skill.title,
description: "액션당 \(Int(skillState.skill.gainGold).formatted()) 골드 획득",
description: {
let current = skillState.skill.gainGold
let after = skillState.skill.gainGoldAfterUpgrade
return "레벨업시 골드 획득 \(Int(current).formatted) -> \(Int(after).formatted)"
}(),
imageName: skillState.skill.imageName,
cost: skillState.skill.upgradeCost,
state: skillState.itemState,
Expand Down