import { AchievementType , AchievementRewardType , Achievement } from '../../../../shared/interfaces' ; import { Player } from '../../../../shared/models' ; export class DungeonMaster extends Achievement { static readonly statWatches = [ 'Item/Collectible/Touch' ] ; static readonly type = AchievementType . Special ; static descriptionForTier ( tier ) { const baseStr = `Gain a title (Dungeon Master) and a gender (sentient sword) for getting the Sword in the Stone.` ; return baseStr ; } static calculateTier ( player ) { return player . $collectibles . has ( 'Sword in the Stones' ) ? 1 : 0 ; } static rewardsForTier ( tier ) { const baseRewards = [ { type : AchievementRewardType . Title , title : 'Dungeon Master' } , { type : AchievementRewardType . Gender , gender : 'sentient sword' } ] ; return baseRewards ; } }