typed-adventureland
Version:
Strong TypeScript declarations for the game AdventureLand
99 lines (98 loc) • 3.78 kB
TypeScript
import type { ClassKey } from "../classes/Classes";
import type { ProjectileKey } from "../projectiles/Projectiles";
import type { SetKey } from "../sets/Sets";
import type { WeaponType } from "./index";
export type WeaponKey = "axe3" | "basher" | "bataxe" | "blade" | "bow" | "bow4" | "bowofthedead" | "broom" | "candycanesword" | "carrotsword" | "cclaw" | "claw" | "crossbow" | "cupid" | "dagger" | "daggerofthedead" | "dartgun" | "dragondagger" | "fclaw" | "fireblade" | "firebow" | "firestaff" | "firestars" | "frostbow" | "froststaff" | "fsword" | "gbow" | "glolipop" | "gstaff" | "hammer" | "harbringer" | "harpybow" | "hbow" | "hdagger" | "heartwood" | "lmace" | "mace" | "maceofthedead" | "merry" | "mushroomstaff" | "ololipop" | "oozingterror" | "ornamentstaff" | "pinkie" | "pmace" | "pmaceofthedead" | "pouchbow" | "rapier" | "scythe" | "slimestaff" | "snowflakes" | "spear" | "spearofthedead" | "staff" | "staff2" | "staff3" | "staff4" | "staffofthedead" | "stinger" | "swifty" | "sword" | "swordofthedead" | "t2bow" | "t3bow" | "throwingstars" | "vdagger" | "vhammer" | "vstaff" | "vsword" | "wand" | "wbasher" | "wblade" | "weaver" | "woodensword" | "xmace";
export interface GWeapon {
a?: boolean | number;
ability?: string;
apiercing?: number;
armor?: number;
attack: number;
attr0?: number;
attr1?: number;
awesomeness?: number;
blast?: number;
charisma?: number;
/** An array of classes that can use this item. */
class?: [ClassKey];
crit?: number;
critdamage?: number;
cx?: {
accent?: string;
border?: number;
extension?: boolean;
large?: boolean;
lightborder?: boolean;
scale?: number;
};
damage_type: string;
delia?: string;
dex?: number;
evasion?: number;
event?: boolean;
exclusive?: boolean;
explanation?: string;
explosion?: number;
firesistance?: number;
for?: number;
/** Cost of the item in gold, if an NPC were to sell this item. */
g: number;
/** The first number refers to what level the item begins being `high` grade, the second for `rare`. */
grades: [number, number, number, number];
ignore?: boolean;
int?: number;
lifesteal?: number;
luck?: number;
mp_cost?: number;
mp_reduction?: number;
/** The full display name of an item. */
name: string;
nopo?: string;
projectile?: ProjectileKey;
projectile_test?: ProjectileKey;
range: number;
reflection?: number;
resistance?: number;
rpiercing?: number;
/** The set this item is part of `G.sets.wanderers`. */
set?: SetKey;
/** The skin of the item. */
skin: string;
skin_c?: string;
skin_r?: string;
speed?: number;
str?: number;
stun?: number;
/** The tier of the item. */
tier: number;
trex?: string;
/** The type of item, `shield`, `weapon`, `gloves`... */
type: "weapon";
/** Contains information about what stats the item will gain with each upgrade level. Set if the item is upgradable. */
upgrade: {
apiercing?: number;
armor?: number;
attack: number;
attr0?: number;
attr1?: number;
awesomeness?: number;
blast?: number;
crit?: number;
dex?: number;
evasion?: number;
explosion?: number;
int?: number;
range: number;
reflection?: number;
resistance?: number;
rpiercing?: number;
speed?: number;
str?: number;
stun?: number;
vit?: number;
};
vit?: number;
/** The type of `weapon` `wand` `axe` `mace`... */
wtype: WeaponType;
}