commonMain.com.bselzer.gw2.v2.model.profession.Profession.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of v2-model Show documentation
Show all versions of v2-model Show documentation
Guild Wars 2 API models for v2-client.
The newest version!
package com.bselzer.gw2.v2.model.profession
import com.bselzer.gw2.v2.model.enumeration.wrapper.ProfessionFlag
import com.bselzer.gw2.v2.model.enumeration.wrapper.WeaponType
import com.bselzer.gw2.v2.model.skill.SkillCode
import com.bselzer.gw2.v2.model.skill.SkillId
import com.bselzer.gw2.v2.model.specialization.SpecializationId
import com.bselzer.gw2.v2.model.wrapper.ImageLink
import com.bselzer.ktx.serialization.serializer.MapArraySerializer
import com.bselzer.ktx.value.identifier.Identifiable
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class Profession(
@SerialName("id")
override val id: ProfessionId = ProfessionId(),
@SerialName("name")
val name: String = "",
/**
* The id used in build template chat links.
* @see the wiki
*/
@SerialName("code")
val code: SkillCode = SkillCode(),
@SerialName("icon")
val iconLink: ImageLink = ImageLink(),
@SerialName("icon_big")
val iconLinkBig: ImageLink = ImageLink(),
/**
* The ids of the specializations that can be chosen.
* @see the wiki
*/
@SerialName("specializations")
val specializationIds: List = emptyList(),
@SerialName("training")
val trainings: List = emptyList(),
/**
* The weapon types mapped to its details.
*/
@SerialName("weapons")
val weapons: Map = emptyMap(),
@SerialName("flags")
val flags: List = emptyList(),
@SerialName("skills")
val skills: List = emptyList(),
/**
* A mapping of the skill ids to palette ids used in creating a build template chat link.
* @see the wiki
*/
@Serializable(with = MapArraySerializer::class)
@SerialName("skills_by_palette")
val skillPaletteIds: Map = emptyMap()
) : Identifiable