Language…
16 users online:  AmperSam, anonimzwx,  Anorakun, BUX88, DinoMom, Golden Yoshi, Green, Hiro-sofT, Kerd, LightAligns, Papangu, Pizzagamer9791, Silver_Revolver, Skewer,  Telinc1, yoshisisland - Guests: 297 - Bots: 586
Users: 64,795 (2,368 active)
Latest user: mathew

Undine Boss

SMW Sprites → Undine Boss

Submission Details

Name: Undine Boss
Author: Kickchon
Added:
Tool: PIXI
Type: Standard
Dynamic: No
Disassembly: No
Includes GFX: Yes
Description: This is Undine from Secret of Mana as a boss for Super Mario World.
She flies around the room and periodically summons frostblocks which try to hurt Mario or three icicles which try to impale Mario from below.
Additionally, a tidal wave is present which tries to push Mario around to pull him down into the water.

When the frostblocks hit the tidal wave, they become carryable and can be thrown at Undine to hurt her. The wave becomes faster each time it gets hit by a frostblock.

Make sure to read the readme before using the sprite, as setting it up can be complicated.
Tags: boss fly flying ice ice block ice blocks lorom pillar pillars sa-1 secret of mana smwcp smwcp1 stalagmite tidal tide tides undine water wave waves
Comments: 15 (jump to comments)
Rating:
5.0 (5 ratings)
No rating
Download 18.67 KiB | 1,461 downloads

Screenshots

View all

Comments (15)

Correa Link
great!
 Telinc1 Link
Converted to PIXI and added SA-1 compatibility. Added more screenshots and tags.

The palette has been included separately from the example arena.

A lot of the sprite's components have been optimized. The wave speed glitch mentioned by GreenHammerBro looks rather intentional and I couldn't get it to overflow. The first graphical glitch still exists because I couldn't quite figure out exactly what causes it.
HammerBrother Link
I also found graphical glitches with this sprite.

If you were to kick the ice block back to undine while she is preparing or launching the ice pillars, her sprite becomes garbled:
link
Please ignore the missing scenery, I accidentally disable layer 1.

Another bug is the spawning ice block glitch, if you freeze ($9D) during the first frame the ice block appears (orb-like appearence), it will also garble:
link
HammerBrother Link
2 problems:
-palette and palmask not existent, you have to extract from the lvl file.
-the wave sprite gets faster every time it is hit by the ice sprite rather than the number of times the boss is hit, not sure if this counts as a bug, but in case if the user wanted it to only move faster based on how much HP left it has.
--Speaking of that "glitch", if you keep doing that without hurting the boss (by constantly throwing the ice block away intentionally), it will eventually causes an overflow bug:
---If fast enough, can push the player towards the edge of the screen and kill the player.
---Always pushes the player to the left, regardless on which side the player is on.
---If even further, the rightwards speed value overflows to a very low negative number, causing it to go left when facing rightwards towards the player. If it goes past the left edge of the screen with this x speed bug of the sprite, it will not be there permanently.
HammerBrother Link
Note that $1504,x's bits 4-7 are the enemy's HP ([HHHHSSSS] where H is health, while S is state). Therefore, to get the amount of HP you want, simply input a value between 1 and 15, then leftshift 4 times (or multiply by 16), and that will be its HP.

In asm terms to get it work with my health bar, simply right shift 4 times (LSR #4) and use that value.

Here is the code to make it work with my enemy HP meter:
Code
;Init
	LDA !UNDINE_HITS
	LSR #4
	STA !Freeram_SprTbl_MaxHPLow,x
	LDA #$00
	STA !Freeram_SprTbl_MaxHPHi,x
	STA !Freeram_SprTbl_RecordEfft,x 
	TXA
	STA !Freeram_SprHPCurrSlot

Code
;Main, runs every frame (after the first PHB : PHK : PLB)
healthbar:
	.RemoveRecordWhenSwitchingHPs
	TXA				;>Don't worry, this copies X, not just transfer
	CMP !Freeram_SprHPCurrSlot	;>Compare with the slot the HP bar is using
	BEQ ..ItsOnThisSprite		;>If HP bar is on this current sprite, don't delete record
	JSL !SubrAddr_GetHPPercent	;>Get current percent HP
	LDA $00					;\Remove Record effect (make them the same)
	STA !Freeram_SprTbl_RecordEfft,x	;/
	..ItsOnThisSprite

	LDA $1504,x
	LSR #4
	STA !Freeram_SprTbl_CurrHPLow,x
	LDA #$00
	STA !Freeram_SprTbl_CurrHPHi,x

Code
;Damage, CTRL+F "Play sound effect" and under the SFX, add this:
		LDA.b #60
		STA !Freeram_SprTbl_RecordEffTmr,x

lion Link
this was originally from secret of mana

also by references they meant everyone else's posts not this sprite
 Sayuri Link
It's not a reference; this sprite was made for the first SMWCP, which came out in 2010, 5 years before Undertale was even a thought.
Luigi_master1 Link
*You feel the shitty references crawling on your back.
IanBoy Link
Undine x Alphis
HammerBrother Link
Undine's sibling
Chill Pingu Link
Undine the Undying
Von Fahrenheit Link
Moderator's note: To be perfectly honest I am not that big a fan of this boss because of how annoying it is to fight it. Still, it is well-programmed and easy to use. The readme should be clear enough in that regard but I'll put it here as well; you need No More Sprite Tile Limits for this boss to be displayed properly.
HammerBrother Link
Do you have permission to submit this?
Mogu94 Link
@Leomon: It's admittedly what I first thought of but how could I not? It's everywhere!
lion Link
no undertales allowed in this comment section