import { CardDetail } from 'splinterlands-types'; import { GameCard } from './game_card'; import { Ability, AttackType } from './types'; export declare class GameMonster extends GameCard { private cardPosition; private isOnlyMonster; private hasTurnPassed; private summonerSpeed; private summonerArmor; private summonerMelee; private summonerRanged; private summonerMagic; private hadDivineShield; constructor(cardDetail: CardDetail | number, cardLevel: number); setCardPosition(pos: number): void; addHealth(amt: number): void; setHealth(health: number): void; /** Returns remaining damage after hitting health */ hitHealth(damage: number): number; /** Initial card position */ getCardPosition(): number; isAlive(): boolean; setHasTurnPassed(hasPassed: boolean): void; getHasTurnPassed(): boolean; getIsLastStand(): boolean; isLastMonster(): boolean; setIsOnlyMonster(): void; removeAllAbilities(): void; addAbility(ability: Ability): void; hasAction(): boolean; isPureMelee(): boolean; canMeleeAttack(): boolean; addDebuff(debuff: Ability): void; hasDebuff(debuff: Ability): boolean; removeDebuff(debuff: Ability): void; removeAllDebuff(debuff: Ability): void; cleanseDebuffs(): void; getDebuffAmt(debuff: Ability): number; getBuffAmt(buff: Ability): number; addBuff(buff: Ability): void; hasBuff(buff: Ability): boolean; getAllBuffs(): Map; removeBuff(buff: Ability): void; removeStrengthenHealth(healthAmt: number): void; removeBuffHealth(healthAmt: number): void; removeAllBuff(buff: Ability): void; removeDivineShield(): void; addSummonerArmor(stat: number): void; addSummonerHealth(stat: number): void; addSummonerSpeed(stat: number): void; addSummonerMelee(stat: number): void; addSummonerRanged(stat: number): void; addSummonerMagic(stat: number): void; getSummonerArmor(): number; hasAttack(): true | undefined; /** If this monster has no attack, it will get the weapons training from an adjacent monster and return the attack */ getWeaponsTrainingDamage(): number; getPostAbilityMaxArmor(): number; getPostAbilitySpeed(): number; getPostAbilityMaxHealth(): number; getPostAbilityAttackOfType(attackType: AttackType): number; /** How much magic damage this will do */ getPostAbilityMagic(): number; /** How much ranged damage this will do */ getPostAbilityRanged(): number; /** How much melee damage this will do */ getPostAbilityMelee(): number; resurrect(): void; getCleanCard(): GameMonster; cloneWithPostAbilityEffects(): GameCard; /********************* Things regarding abilities? ********************/ private isEnraged; }