Tripel the fox
Community GU GU GUUUUU~
Celebrating the 28th anniversary of Kirby's Dreamland, Kirby returns to SRB2 with new sprites and revamped gameplay!
Below is an explanation of Kirby's gameplay, though if you don't feel like reading this description, there's also an in game tutorial that replaces the default when you add Kirby!
Basic abilities
Kirby isn't the fastest around, but his versatility more than makes up for it!
By pressing jump mid-air, he can float around. Unlike Tails, simply holding the button will allow him to ascend, though Kirby's flight doesn't last as long. This can even be done from falling or springing!
Kirby's trademark inhale is used by pressing spin. Objects like badniks, monitors, and even some environmental objects like gargoyles can be sucked up. Kirby can spit any inhaled object as a projectile.
Kirby can also duck by pressing custom 2. While ducking, he can slide by pressing jump.
Copy abilities
Kirby, of course, also comes with his iconic copy ability! When Kirby inhales something, pressing custom 2 will allow him to swallow it and copy its ability, replacing his inhale!
There's 14 abilities in total, with a wide variety of uses ranging from speed, platforming, or combat. Copy abilities can also be discarded by pressing toss flag.
Below is an explanation of Kirby's gameplay, though if you don't feel like reading this description, there's also an in game tutorial that replaces the default when you add Kirby!
Basic abilities
Kirby isn't the fastest around, but his versatility more than makes up for it!
By pressing jump mid-air, he can float around. Unlike Tails, simply holding the button will allow him to ascend, though Kirby's flight doesn't last as long. This can even be done from falling or springing!
Kirby's trademark inhale is used by pressing spin. Objects like badniks, monitors, and even some environmental objects like gargoyles can be sucked up. Kirby can spit any inhaled object as a projectile.
Kirby can also duck by pressing custom 2. While ducking, he can slide by pressing jump.
Copy abilities
Kirby, of course, also comes with his iconic copy ability! When Kirby inhales something, pressing custom 2 will allow him to swallow it and copy its ability, replacing his inhale!
There's 14 abilities in total, with a wide variety of uses ranging from speed, platforming, or combat. Copy abilities can also be discarded by pressing toss flag.
- Fireball
Shoot off in a fiery blaze, bouncing off of enemies! - Ice
Freeze enemies with icy breath and kick them as projectiles! - Stone
Fall to the ground with a forceful thud, clearing enemies around you as an invulnerable stone! - Bomb
Explode anything that blocks your path! - Spark
An electrical hazard nobody would dare to get close to! - Needle
So prickly you can stick to walls and ceilings! - Tornado
Twirl around, gaining height and keeping pace! You can even chain it into floating! - Wheel
Roll around at the speed of sound, breaking bustable walls in your path! - Ball
Bounce around to gain height as you hold jump! - Sword
Slice straight through anything in your path! - Hammer
Crush your enemies! And bustable walls! And floors! And spikes! - Mike
Sing to your hearts content! Just, maybe not to others' content... - Sleep
Nothing better than a good night's sleep! Though, you do get left a bit vulnerable... - UFO
Fly around higher than floating can go, with a laser projectile! - ???
A secret ability acquired by collecting all 7 chaos emeralds, 50 rings, jumping, and pressing spin while holding toss flag... - ???
There may be other copy abilities hidden somewhere... Maybe try copying some other characters on the message board?
Kirby also has SRB2 Battle support! Pay 30 rings to spin the ability roulette and get a chance at a powerful copy ability!
Credits
Tripel: Programming
Maximus, KíbitoÁyame, HattyBoyo, Bendy: Sprites
Hydro, Yacker, Vinnis: Beta testing
Tripel: Programming
Maximus, KíbitoÁyame, HattyBoyo, Bendy: Sprites
Hydro, Yacker, Vinnis: Beta testing
To make skins or objects copyable by adding them to Kirby's ability table, use the following script:
For custom abilities:
Code:
if not(kirbyabilitytable)
rawset(_G, "kirbyabilitytable", {})
end
kirbyabilitytable[MT_EXAMPLEOBJECT] = 1 // Makes MT_EXAMPLEOBJECT give fireball
kirbyabilitytable["exampleskin"] = 2 // Makes the skin "exampleskin" give ice
For custom abilities:
To add a custom Kirby ability, use K_AddAbility(abilityfunction, secret, iconname)
abilityfunction is the function used for the ability. This is called every frame for the actual functionality of the ability, but it has a few other uses as well, which I'll get into later.
secret is wether or not this ability is a secret ability. The only real gameplay purpose of this is so that it has a ((1/256)/number of secret abilities) chance of appearing when the ability roulette appears.
iconname is a 7 character long name for the ability icon and name graphics. The ability icon graphic should be named I + iconname, and the name graphic N + iconname.
This will return a number for you to use in kirbyabilitytable, though keep in mind this function wont return a negative value for secret abilities!
Ability function:
The ability function should have the following arguments:
(checkflags, destroy, late, player)
If checkflags is true, the function is being called to check for ability flags. The function should immedietly return ability flags.
If destroy is true, then the ability is being discarded or otherwise lost. If you spawn an object for Kirby to hold, or mess with his flags, this is where you should restore them! Immedietly return after you're done cleaning up.
If late is true, then the function is being called at the end of Kirby's ThinkFrame hook. Once again, its a good idea to return after you do whatever you need to at this point, so normal and late functionality remain separate.
If none of the above are true, then the ability should run its normal functionality.
player is simply the player_t thats using the ability.
Custom feet sprites:
If you create custom frames for Kirby, you probably want his feet to change color like normal
To do this, call K_AddCustomFeet(kirbysprite, feetsprite)
kirbysprite is the sprite Kirby is using, and feetsprite is the sprite the feet should use when Kirby uses this sprite.
If you use a sprite2 for your ability instead of a normal sprite, then make Kirby's feet the super version and he'll automatically use them.
abilityfunction is the function used for the ability. This is called every frame for the actual functionality of the ability, but it has a few other uses as well, which I'll get into later.
secret is wether or not this ability is a secret ability. The only real gameplay purpose of this is so that it has a ((1/256)/number of secret abilities) chance of appearing when the ability roulette appears.
iconname is a 7 character long name for the ability icon and name graphics. The ability icon graphic should be named I + iconname, and the name graphic N + iconname.
This will return a number for you to use in kirbyabilitytable, though keep in mind this function wont return a negative value for secret abilities!
Ability function:
The ability function should have the following arguments:
(checkflags, destroy, late, player)
If checkflags is true, the function is being called to check for ability flags. The function should immedietly return ability flags.
If destroy is true, then the ability is being discarded or otherwise lost. If you spawn an object for Kirby to hold, or mess with his flags, this is where you should restore them! Immedietly return after you're done cleaning up.
If late is true, then the function is being called at the end of Kirby's ThinkFrame hook. Once again, its a good idea to return after you do whatever you need to at this point, so normal and late functionality remain separate.
If none of the above are true, then the ability should run its normal functionality.
player is simply the player_t thats using the ability.
Code:
Ability flags:
AF_NOFLOAT Disable Kirby's ability to float
AF_NODUCK Disable Kirby's ability to duck
AF_NOJUMP Disable Kirby's ability to jump
AF_NOSWIM Disable Kirby's ability to swim
AF_NODROP Disable dropping the ability with toss flag
AF_NOLOSE Disable dropping the ability from taking damage or dying
AF_ALLOWSUCK Allow Kirby to inhale like normal Kirby (this will not allow him to copy abilities)
AF_WALKSWIM Use walking frames for swimming, even without something inhaled
Custom feet sprites:
If you create custom frames for Kirby, you probably want his feet to change color like normal
To do this, call K_AddCustomFeet(kirbysprite, feetsprite)
kirbysprite is the sprite Kirby is using, and feetsprite is the sprite the feet should use when Kirby uses this sprite.
If you use a sprite2 for your ability instead of a normal sprite, then make Kirby's feet the super version and he'll automatically use them.
v1.1
- Custom abilities are now possible, as well as custom feet sprites! Details added to main post.
- Gold monitors are no longer inhalable.
- Kirby will now be awarded the contents of monitors after swallowing them after inhaling them, if it has no ability tied to it.
- Fixed Lua error when inhaling a monitor on a sloped surface that caused any future spawned objects to break, caused by a typo on a single line.
- Kirby can no longer duck in THZ goop.
- Kirby can no longer aim any projectiles vertically.
- Inhaled players (and objects) will no longer fall through the floor when Kirby dies.
- Players being inhaled will no longer fall through the floor when Kirby gets hurt and drops them.
- Stars and spat players now move at a speed of 60 fracunits, down from 80.
- Fixed being able to spit when in pain.
- Fixed HUD breaking when switching renderers during gameplay
- All audio is now compressed, resulting in a much smaller file size. Music in particular has been heavily compressed.
- NES sound effects have been rebalanced, and should hopefully sound better.
- Fireball can now break bustable walls.
- Fireball now recoils when hitting a solid wall.
- Fixed bug with ice not destroying parts of multi-object badniks, along with a potential crash that can be caused by this.
- Fixed being able to use stone in minecarts, ropes, and RVZ stones.
- Kirby is now forced to unstone when using springs.
- Fixed Kirby being unable to jump or inhale after entering a dust devil while using stone.
- Fixed Kirby being immune to death pits with stone.
- Bomb sparks no longer linger after exploding.
- Bomb can now destroy bustable walls.
- Tornado can now ascend by pressing jump or spin, instead of only spin.
- Fixed wheel breaking walls too early.
- Eggman TVs now give sleep instead of nothing.
- Crawla Commanders now give UFO instead of sleep.
- Canarivores now give ice instead of nothing.
- Banpyuras now gives ball instead of tornado.
- Added special interation with Silver
Supporters / CoAuthors
Attachments
Last edited by a moderator: