UNPKG

typed-adventureland

Version:
198 lines (197 loc) 7.49 kB
import type { ConditionKey } from "../conditions/Conditions"; import type { ProjectileKey } from "../projectiles/Projectiles"; import type { WeaponKey } from "../items/Weapon"; export type MonsterKey = "a1" | "a2" | "a3" | "a4" | "a5" | "a6" | "a7" | "a8" | "arcticbee" | "armadillo" | "bat" | "bbpompom" | "bee" | "bgoo" | "bigbird" | "bluefairy" | "boar" | "booboo" | "bscorpion" | "cgoo" | "chestm" | "crab" | "crabx" | "crabxx" | "croc" | "cutebee" | "d_wiz" | "dknight2" | "dragold" | "dryad" | "eelemental" | "ent" | "felemental" | "fieldgen0" | "fireroamer" | "franky" | "frog" | "fvampire" | "gbluepro" | "ggreenpro" | "ghost" | "goblin" | "goldenbat" | "goldenbot" | "goo" | "gpurplepro" | "gredpro" | "greenfairy" | "greenjr" | "grinch" | "gscorpion" | "harpy" | "hen" | "icegolem" | "iceroamer" | "jr" | "jrat" | "kitty1" | "kitty2" | "kitty3" | "kitty4" | "ligerx" | "mechagnome" | "minimush" | "mole" | "mrgreen" | "mrpumpkin" | "mummy" | "mvampire" | "nelemental" | "nerfedbat" | "nerfedmummy" | "odino" | "oneeye" | "osnake" | "phoenix" | "pinkgoblin" | "pinkgoo" | "plantoid" | "poisio" | "porcupine" | "pppompom" | "prat" | "puppy1" | "puppy2" | "puppy3" | "puppy4" | "rat" | "redfairy" | "rgoo" | "rharpy" | "rooster" | "rudolph" | "scorpion" | "skeletor" | "slenderman" | "snake" | "snowman" | "sparkbot" | "spider" | "spiderbl" | "spiderbr" | "spiderr" | "squig" | "squigtoad" | "stompy" | "stoneworm" | "target" | "target_a500" | "target_a750" | "target_ar500red" | "target_ar900" | "target_r500" | "target_r750" | "targetron" | "tiger" | "tinyp" | "tortoise" | "vbat" | "wabbit" | "welemental" | "wolf" | "wolfie" | "xmagefi" | "xmagefz" | "xmagen" | "xmagex" | "xscorpion" | "zapper0"; export type MonsterName = "Angel" | "Angry Chest" | "Arctic Bee" | "Armadillo" | "Bat" | "Bee" | "Bill" | "Black Scorpion" | "Black Spider Queen" | "Boo Boo" | "Brawl Goo" | "Brown Spider Queen" | "Chicken" | "Croc" | "Cute Bee" | "Dark Hound" | "Dark Knight" | "Dark Mage" | "Dark Wizard" | "Dino" | "Dracul" | "Dragold" | "Dryad" | "Earth Elemental" | "Elena" | "Ent" | "Fairy" | "Field Generator" | "Fire Elemental" | "Fire Spirit" | "Franky" | "Froggie" | "Ghost" | "Giga Crab" | "Golden Bat" | "Golden Bot" | "Goo" | "Green Jr." | "Grinch" | "Harpy" | "Hawk" | "Huge Crab" | "Ice Golem" | "Irradiated Goo" | "Jr." | "Kitty" | "Lestat" | "Liger X" | "Love Goo" | "Lucinda" | "Mage" | "Marceline" | "Mech-a Gnome" | "Mole" | "Mr. Green" | "Mr. Pumpkin" | "Ms. Dracul" | "Mummy" | "Nature Elemental" | "One Eye" | "Orlok" | "Phoenix" | "Pink Goblin" | "Poisio" | "Pom Pom" | "Porcupine" | "Protector of Darkness" | "Protector of Fire" | "Protector of Frost" | "Protector of Nature" | "Puppy" | "Rainbow Goo" | "Rat" | "Rebel Harpy" | "Red Spider Queen" | "Reindeer" | "Scorpion" | "Skeletor" | "Slenderman" | "Snake" | "Sneaky Goblin" | "Snowman" | "Spark Bot" | "Spider" | "Spike" | "Sprawling" | "Squig" | "Squigtoad" | "Stompy" | "Stone Worm" | "Target Automatron" | "Targetron" | "Tiger" | "Tiny Crab" | "Tortoise" | "Vampire Rat" | "Vampireling" | "Wabbit" | "Water Elemental" | "Water Spirit" | "White Wolf" | "Wild Boar" | "Zapper"; export type GMonsterAbilities = { anger?: { cooldown: number; radius: number; }; burn?: { attr0: number; unlimited: boolean; }; curse_aura?: { aura: boolean; condition: ConditionKey; cooldown: number; radius: number; }; dampening_aura?: { aura: boolean; condition: ConditionKey; cooldown: number; radius: number; }; deepfreeze?: { cooldown: number; radius: number; }; degen?: { amount: number; cooldown: number; }; heal?: { cooldown: number; heal: number; }; healing?: { cooldown: number; heal: number; }; mlight?: { cooldown: number; }; mtangle?: { cooldown: number; }; multi_burn?: { cooldown: number; damage: number; }; multi_freeze?: { cooldown: number; damage: number; }; portal?: { cooldown: number; }; putrid?: { curse: boolean; poison: boolean; }; self_healing?: { cooldown: number; heal: number; }; stone?: { cooldown: number; }; tangle?: { cooldown: number; }; warp_on_hit?: { attr0: number; unlimited: boolean; }; warpstomp?: { cooldown: number; radius: number; stun: number; }; weakness_aura?: { aura: boolean; condition: ConditionKey; cooldown: number; radius: number; }; zap?: { amount: number; cooldown: number; pure: boolean; radius: number; }; }; export interface GMonster { "1hp"?: boolean; abilities?: GMonsterAbilities; achievements?: Array<[kills: number, effectType: "stat", stat: string, amount: number]>; aggro: number; announce?: string | boolean; apiercing?: number; armor?: number; article?: string; attack: number; avoidance?: number; balance?: string; cbuff?: Array<[number, ConditionKey]>; charge?: number; charge_skin?: string; cooperative?: boolean; crit?: number; cute?: boolean; damage_type: string; /** A multiplier for monsters' gold drops */ difficulty?: number; dreturn?: number; drop_on_hit?: boolean; escapist?: boolean; evasion?: number; explanation?: string; explosion?: number; frequency: number; global?: boolean; goldsteal?: number; hide?: boolean; hit?: string; hp: number; humanoid?: boolean; immune?: boolean; lifesteal?: number; mp: number; max_hp: number; name: MonsterName; operator?: boolean; orientation?: number; passive?: boolean; peaceful?: boolean; pet?: { aggression: [number, number]; brightness: number; chatter: [number, number]; courage: [number, number]; exponential: boolean; level: { armor: number; attack: number; charge: number; evasion: number; hp: number; resistance: number; speed: number; }; obedience: [number, number]; passion: [number, number]; xp: number; }; phresistance?: number; poisonous?: boolean; prefix?: string; projectile?: ProjectileKey; rage: number; range: number; rbuff?: ConditionKey; reflection?: number; resistance?: number; respawn: number; respawn_as?: MonsterKey; roam?: boolean; rpiercing?: number; s?: { [K in ConditionKey]?: { ms: number; }; }; size?: number; skin: string; slots?: { mainhand: { level: number; name: WeaponKey; }; offhand?: { level: number; name: WeaponKey; }; }; spawns?: [[number, MonsterKey]]; special?: boolean; speed: number; stationary?: boolean; supporter?: boolean; trap?: boolean; unlist?: boolean; xp: number; aa?: number; }