// Kirby ability table
if not(kirbyabilitytable)
	rawset(_G, "kirbyabilitytable", {})
end
// Fireball (MF_FIRE guarantees this)
kirbyabilitytable[MT_ELEMENTAL_BOX] = 1
kirbyabilitytable[MT_FLAMEAURA_BOX] = 1
kirbyabilitytable[MT_JETTGUNNER] = 1
kirbyabilitytable[MT_PYREFLY] = 1
kirbyabilitytable[MT_SPINBOBERT] = 1
// Ice
kirbyabilitytable[MT_CANARIVORE] = 2
kirbyabilitytable[MT_PENGUINATOR] = 2
kirbyabilitytable[MT_POPHAT] = 2
// Stone (MF_PUSHABLE guarantees this)
kirbyabilitytable[MT_FORCE_BOX] = 3
kirbyabilitytable[MT_GSNAPPER] = 3
kirbyabilitytable[MT_MINUS] = 3
// Bomb
kirbyabilitytable[MT_THROWNEXPLOSION] = 4
kirbyabilitytable[MT_THROWNGRENADE] = 4
kirbyabilitytable[MT_ARMAGEDDON_BOX] = 4
kirbyabilitytable[MT_JETTBOMBER] = 4
kirbyabilitytable[MT_SKIM] = 4
kirbyabilitytable[MT_BIGMINE] = 4
kirbyabilitytable[MT_DRAGONBOMBER] = 4
kirbyabilitytable[MT_TNTBARREL] = 4		// ACZ TNT
kirbyabilitytable[MT_PROXIMITYTNT] = 4	// ACZ Eggman TNT
// Spark
kirbyabilitytable[MT_THROWNAUTOMATIC] = 5
kirbyabilitytable[MT_ATTRACT_BOX] = 5
kirbyabilitytable[MT_THUNDERCOIN_BOX] = 5
kirbyabilitytable[MT_SNAILER] = 5
kirbyabilitytable[MT_CACOLANTERN] = 5
// Needle
kirbyabilitytable[MT_THROWNAUTOMATIC] = 6
kirbyabilitytable[MT_SPINCUSHION] = 6
kirbyabilitytable[MT_POINTY] = 6
kirbyabilitytable[MT_UNIDUS] = 6
kirbyabilitytable[MT_BUMBLEBORE] = 6
// Tornado
kirbyabilitytable[MT_WHIRLWIND_BOX] = 7
kirbyabilitytable[MT_VULTURE] = 7
// Wheel
kirbyabilitytable[MT_SNEAKERS_BOX] = 8
kirbyabilitytable[MT_REDCRAWLA] = 8
// Ball
kirbyabilitytable[MT_THROWNBOUNCE] = 9
kirbyabilitytable[MT_BUBBLEWRAP_BOX] = 9
kirbyabilitytable[MT_SPRINGSHELL] = 9
kirbyabilitytable[MT_YELLOWSHELL] = 9
kirbyabilitytable[MT_BANPYURA] = 9
// Sword
kirbyabilitytable[MT_FACESTABBER] = 10
// Hammer
kirbyabilitytable[MT_CRUSHSTACEAN] = 11
kirbyabilitytable[MT_ROSY] = 11
// Mike
kirbyabilitytable[MT_DETON] = 12
kirbyabilitytable[MT_EGGROBO1] = 12
// Sleep
kirbyabilitytable[MT_EGGMAN_BOX] = 15
kirbyabilitytable[MT_GFZFISH] = 15
// UFO
kirbyabilitytable[MT_CRAWLACOMMANDER] = 16
// Skins
kirbyabilitytable["sonic"] = 8			// Wheel
kirbyabilitytable["tails"] = 7			// Tornado
kirbyabilitytable["knuckles"] = 6		// Needle
kirbyabilitytable["amy"] = 11			// Hammer
kirbyabilitytable["fang"] = 4			// Bomb
kirbyabilitytable["metalsonic"] = 5		// Spark
// Kirby characters
kirbyabilitytable["dedede"] = 11		// Hammer
kirbyabilitytable["metaknight"] = 10	// Sword
// Add-on characters
kirbyabilitytable["flicky"] = 7			// Tornado
kirbyabilitytable["shadow"] = -5		// Ow the edge
kirbyabilitytable["silver"] = -1001		// ITS NO USE
kirbyabilitytable["blaze"] = 1			// Fireball
kirbyabilitytable["metalknuckles"] = 5	// Spark
kirbyabilitytable["crawla"] = 8			// Wheel
kirbyabilitytable["uglyknux"] = -6		// Oh no
kirbyabilitytable["sms"] = -7			// Crash
kirbyabilitytable["hms123311"] = -7		// Crash
kirbyabilitytable["tailsguy"] = -4		// Gun
kirbyabilitytable["mario"] = 1			// Fireball
kirbyabilitytable["luigi"] = 5			// Spark
kirbyabilitytable["yoshi"] = -1000		// Normal (doesn't give no good)
kirbyabilitytable["link"] = 10			// Sword
kirbyabilitytable["simpleflips"] = -8	// Yahoo
kirbyabilitytable["zfg"] = 4			// Bomb (so you can commit HESS)
kirbyabilitytable["hinote"] = 1			// Fireball
kirbyabilitytable["inazuma"] = 5		// Spark
kirbyabilitytable["inachair"] = 15		// Sleep
kirbyabilitytable["dirk"] = 2			// Ice
kirbyabilitytable["flare"] = 7			// Tornado
// Why in god's name would you ever port these characters
kirbyabilitytable["ssnsonic"] = -9
kirbyabilitytable["handdrawn"] = -9		// Is there any reason there's 2 versions?
kirbyabilitytable["ssntails"] = -9
kirbyabilitytable["nochuckles"] = -9	// This is probably the worst offender
kirbyabilitytable["rosy"] = -9			// This takes second place for worst offender
kirbyabilitytable["metalknux"] = -9		// Actually maybe this one is the worst... these are *all* bad
kirbyabilitytable["earlysonic"] = -9	// Its him. Sonic Robo Blast ii. I'm still not sure how this got into releases, its just copy pasted sprites...
kirbyabilitytable["ssnsonichd"] = -9	// This one at least gets a pass for being HD
kirbyabilitytable["legacyhinote"] = -9	// Hinote.
kirbyabilitytable["ssnmighty"] = -9
// Orange Juices (may or may not exist)
kirbyabilitytable["qp"] = -1			// QP Shu
kirbyabilitytable["suguri"] = -2		// Suguri
kirbyabilitytable["sora"] = -3			// Idol		Coming soon: last time I wrote something even as vauge as a year it never came out so you don't get anything.
kirbyabilitytable["hime"] = -2			// Suguri
kirbyabilitytable["sham"] = -3			// Idol
// SANS UNDERTALE
kirbyabilitytable["sansundertale"] = -7	// Crash

// Enemies that do not give abilities:
/*
MT_BLUECRAWLA	// GFZ

MT_GOLDBUZZ		// THZ
MT_REDBUZZ

MT_JETJAW		// DSZ

MT_ROBOHOOD		// CEZ
MT_EGGGUARD

MT_PTERABYTE	// RVZ

MT_POPUPTURRET	// ERZ

MT_TURRET

MT_HANGSTER		// HHZ

MT_BUGGLE		// AGZ

MT_AQUABUZZ		// ATZ
*/