Adds damage immunities to the monster editor.
This commit is contained in:
@@ -51,6 +51,7 @@ class MonsterViewModel: ObservableObject {
|
|||||||
@Published var charismaSavingThrowProficiency: ProficiencyType
|
@Published var charismaSavingThrowProficiency: ProficiencyType
|
||||||
@Published var charismaSavingThrowAdvantage: AdvantageType
|
@Published var charismaSavingThrowAdvantage: AdvantageType
|
||||||
@Published var skills: [SkillViewModel]
|
@Published var skills: [SkillViewModel]
|
||||||
|
@Published var damageImmunities: [DamageTypeViewModel]
|
||||||
@Published var conditionImmunities: [DamageTypeViewModel]
|
@Published var conditionImmunities: [DamageTypeViewModel]
|
||||||
|
|
||||||
init(_ rawMonster: Monster?) {
|
init(_ rawMonster: Monster?) {
|
||||||
@@ -93,6 +94,7 @@ class MonsterViewModel: ObservableObject {
|
|||||||
self.charismaSavingThrowAdvantage = .none
|
self.charismaSavingThrowAdvantage = .none
|
||||||
self.charismaSavingThrowProficiency = .none
|
self.charismaSavingThrowProficiency = .none
|
||||||
self.skills = []
|
self.skills = []
|
||||||
|
self.damageImmunities = []
|
||||||
self.conditionImmunities = []
|
self.conditionImmunities = []
|
||||||
|
|
||||||
if (rawMonster != nil) {
|
if (rawMonster != nil) {
|
||||||
@@ -141,6 +143,10 @@ class MonsterViewModel: ObservableObject {
|
|||||||
self.charismaSavingThrowAdvantage = monster.charismaSavingThrowAdvantageEnum
|
self.charismaSavingThrowAdvantage = monster.charismaSavingThrowAdvantageEnum
|
||||||
self.charismaSavingThrowProficiency = monster.charismaSavingThrowProficiencyEnum
|
self.charismaSavingThrowProficiency = monster.charismaSavingThrowProficiencyEnum
|
||||||
self.skills = (monster.skills?.allObjects.map {SkillViewModel(($0 as! Skill))})!.sorted()
|
self.skills = (monster.skills?.allObjects.map {SkillViewModel(($0 as! Skill))})!.sorted()
|
||||||
|
|
||||||
|
self.damageImmunities = monster.damageImmunitiesArray
|
||||||
|
.map {DamageTypeViewModel($0)}
|
||||||
|
.sorted()
|
||||||
|
|
||||||
self.conditionImmunities = monster.conditionImmunitiesArray
|
self.conditionImmunities = monster.conditionImmunitiesArray
|
||||||
.map {DamageTypeViewModel($0)}
|
.map {DamageTypeViewModel($0)}
|
||||||
|
|||||||
@@ -44,6 +44,10 @@ struct EditMonster: View {
|
|||||||
"Skills",
|
"Skills",
|
||||||
destination: EditSkills(monsterViewModel: monsterViewModel))
|
destination: EditSkills(monsterViewModel: monsterViewModel))
|
||||||
|
|
||||||
|
NavigationLink(
|
||||||
|
"Damage Immunities",
|
||||||
|
destination: EditDamageTypes(viewModel: monsterViewModel, path: \.damageImmunities))
|
||||||
|
|
||||||
NavigationLink(
|
NavigationLink(
|
||||||
"Condition Immunities",
|
"Condition Immunities",
|
||||||
destination: EditDamageTypes(viewModel: monsterViewModel, path: \.conditionImmunities))
|
destination: EditDamageTypes(viewModel: monsterViewModel, path: \.conditionImmunities))
|
||||||
|
|||||||
Reference in New Issue
Block a user