All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.com.bselzer.gw2.v2.model.achievement.Achievement.kt Maven / Gradle / Ivy

The newest version!
package com.bselzer.gw2.v2.model.achievement

import com.bselzer.gw2.v2.model.achievement.bit.AchievementBit
import com.bselzer.gw2.v2.model.achievement.reward.AchievementReward
import com.bselzer.gw2.v2.model.achievement.tier.AchievementTier
import com.bselzer.gw2.v2.model.enumeration.wrapper.AchievementFlag
import com.bselzer.gw2.v2.model.enumeration.wrapper.AchievementType
import com.bselzer.gw2.v2.model.wrapper.ImageLink
import com.bselzer.ktx.value.identifier.Identifiable
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class Achievement(
    @SerialName("id")
    override val id: AchievementId = AchievementId(),

    @SerialName("icon")
    val iconLink: ImageLink = ImageLink(),

    @SerialName("name")
    val name: String = "",

    /**
     * The description of the achievement.
     */
    @SerialName("description")
    val description: String = "",

    /**
     * The requirement(s) to unlock the achievement.
     */
    @SerialName("requirement")
    val requirements: String = "",

    /**
     * The description of the achievement before it is unlocked.
     */
    @SerialName("locked_text")
    val lockedDescription: String = "",

    @SerialName("type")
    val type: AchievementType = AchievementType(),

    /**
     * The flags indicating the categories this achievement belongs to.
     */
    @SerialName("flags")
    val flags: List = emptyList(),

    /**
     * The progression tiers.
     */
    @SerialName("tiers")
    val tiers: List = emptyList(),

    /**
     * The ids of achievements needed to progress this achievement.
     */
    @SerialName("prerequisites")
    val prerequisites: List = emptyList(),

    /**
     * The rewards for completing this achievement.
     */
    @SerialName("rewards")
    val rewards: List = emptyList(),

    /**
     * Related information about progressing the achievement.
     */
    @SerialName("bits")
    val bits: List = emptyList(),

    /**
     * The maximum number of achievement points that can be rewarded by repeatable achievements.
     */
    @SerialName("point_cap")
    val pointCap: AchievementPoints = AchievementPoints()
) : Identifiable




© 2015 - 2024 Weber Informatics LLC | Privacy Policy