#pragma mapfile "utils/th11.eclm" meta {} void BBoss1Girl() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 2d000000"); pushi(@nargs=1, @blob="6d000000"); seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); call( @nargs=3, @blob="0c000000 426f7373 31476972 6c000000 69690000 00000000 69690000 01000000", ); delete(@blob=""); } void BBoss2Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 2d000000"); call( @nargs=3, @blob="10000000 426f7373 32506861 6e746f6d 00000000 69690000 62000000 69690000 01000000", ); delete(@blob=""); } void BBoss3Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 2d000000"); call( @nargs=3, @blob="10000000 426f7373 33506861 6e746f6d 00000000 69690000 62000000 69690000 01000000", ); delete(@blob=""); } void BBossCard2Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="00000000"); anmSetSprite(@nargs=2, @blob="01000000 2d000000"); call( @nargs=3, @blob="14000000 426f7373 43617264 32506861 6e746f6d 00000000 69690000 62000000 69690000 01000000", ); delete(@blob=""); } void BBossCard3Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 2d000000"); call( @nargs=3, @blob="14000000 426f7373 43617264 33506861 6e746f6d 00000000 69690000 62000000 69690000 01000000", ); delete(@blob=""); } void BBossCard4Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 2d000000"); call( @nargs=3, @blob="14000000 426f7373 43617264 34506861 6e746f6d 00000000 69690000 62000000 69690000 01000000", ); delete(@blob=""); } void Boss() { stackAlloc(@nargs=1, @blob="04000000"); playSound(@nargs=1, @blob="35000000"); setBoss(@nargs=1, @blob="00000000"); anmSelect(@nargs=1, @blob="02000000"); anmSetMain(@nargs=2, @blob="00000000 0b000000"); flagSet(@nargs=1, @blob="40000000"); setHurtbox(@nargs=2, @blob="00004042 00004042"); setHitbox(@nargs=2, @blob="00004042 00004042"); setInvuln(@nargs=1, @blob="3c000000"); lifeSet(@nargs=1, @blob="d4300000"); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); fog(@nargs=2, @blob="00002043 00ff8000"); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); setChapter(@nargs=1, @blob="18000000"); +60: // 60 dialogWait(@blob=""); setChapter(@nargs=1, @blob="18000000"); playSound(@nargs=1, @blob="29000000"); anmSetSprite(@nargs=2, @blob="00000000 08000000"); +1: // 61 dialogWait(@blob=""); anmSetMain(@nargs=2, @blob="00000000 00000000"); setChapter(@nargs=1, @blob="18000000"); moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 0000c042"); lifeSet(@nargs=1, @blob="d4300000"); anmSelect(@nargs=1, @blob="00000000"); anmSetSprite(@nargs=2, @blob="01000000 5c000000"); anmSelect(@nargs=1, @blob="02000000"); call(@nargs=1, @blob="08000000 426f7373 31000000"); delete(@blob=""); } void Boss1() { stackAlloc(@nargs=1, @blob="00000000"); timerReset(@blob=""); lifeMarker(@nargs=3, @blob="00000000 0080bb44 80a0ffff"); setChapter(@nargs=1, @blob="18000000"); setInterrupt( @nargs=4, @blob="00000000 dc050000 b80b0000 0c000000 426f7373 43617264 31000000", ); setChapter(@nargs=1, @blob="18000000"); stars(@nargs=1, @blob="03000000"); moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); callAsync(@nargs=1, @blob="0c000000 426f7373 3141744e 65617200"); callAsync(@nargs=1, @blob="0c000000 426f7373 31417432 00000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); playSound(@nargs=1, @blob="29000000"); wait(@nargs=1, @blob="3c000000"); callAsync( @nargs=3, @blob="0c000000 426f7373 31417431 00000000 66660000 fdad003d 69690000 06000000", ); anmSelectedPlay(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="3c000000"); playSound(@nargs=1, @blob="29000000"); wait(@nargs=1, @blob="3c000000"); callAsync( @nargs=3, @blob="0c000000 426f7373 31417431 00000000 66660000 fdad00bd 69690000 0a000000", ); wait(@nargs=1, @blob="a0000000"); jmp(@nargs=2, @blob="48010000 00000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); playSound(@nargs=1, @blob="29000000"); wait(@nargs=1, @blob="3c000000"); callAsync( @nargs=3, @blob="0c000000 426f7373 31417431 00000000 66660000 fdad003d 69690000 06000000", ); anmSelectedPlay(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="3c000000"); playSound(@nargs=1, @blob="29000000"); wait(@nargs=1, @blob="3c000000"); callAsync( @nargs=3, @blob="0c000000 426f7373 31417431 00000000 66660000 fdad00bd 69690000 0a000000", ); wait(@nargs=1, @blob="78000000"); moveRand(@nargs=3, @blob="3c000000 04000000 0000803f"); wait(@nargs=1, @blob="3c000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="bcfeffff 00000000"); ret(@blob=""); } void Boss1At1() { stackAlloc(@nargs=1, @blob="1c000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@mask=0b100, @nargs=3, @blob="00000000 05000000 04000000"); etCountD( @nargs=9, @blob="00000000 18000000 20000000 24000000 30000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 00040000 14000000 c1bdf0ff f02374c9 f02374c9", ); diffF( @mask=0b1, @nargs=5, @blob="00008041 cdcc4c3d abaaaa3d abaaaa3d abaaaa3d", ); etEx( @mask=0b1000000, @nargs=8, @blob="00000000 03000000 00000000 04000000 3c000000 c1bdf0ff 00008041 f02374c9", ); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="18000000"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="14000000"); addf(@blob=""); etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 000080bf 000080bf"); etProtectRange(@nargs=1, @blob="00004042"); pushi(@nargs=1, @blob="0e000000"); seti(@mask=0b1, @nargs=1, @blob="14000000"); pushi(@nargs=1, @blob="20000000"); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@nargs=1, @blob="8c000000"); seti(@mask=0b1, @nargs=1, @blob="18000000"); jmp(@nargs=2, @blob="9c010000 00000000"); etEx( @mask=0b10000, @nargs=8, @blob="00000000 02000000 00000000 00100000 18000000 c1bdf0ff f02374c9 f02374c9", ); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@nargs=1, @blob="00000042"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@mask=0b1, @nargs=1, @blob="18000000"); pushi(@nargs=1, @blob="08000000"); subi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="18000000"); validRad(@mask=0b1, @nargs=1, @blob="00004041"); wait(@nargs=1, @blob="03000000"); deci(@mask=0b1, @nargs=1, @blob="14000000"); jmpNeq(@nargs=2, @blob="68feffff 00000000"); ret(@blob=""); } void Boss1At2() { stackAlloc(@nargs=1, @blob="08000000"); diffI( @mask=0b1, @nargs=5, @blob="04000000 08000000 10000000 11000000 12000000", ); pushf(@nargs=1, @blob="db0f4940"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="01000000"); subi(@blob=""); divf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="00000000"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); jmp(@nargs=2, @blob="c0000000 00000000"); enmCreate( @nargs=6, @blob="0c000000 52426f73 73314769 726c0000 00000000 00000000 64000000 e8030000 02000000", ); playSound(@nargs=1, @blob="0f000000"); pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); wait(@nargs=1, @blob="03000000"); deci(@mask=0b1, @nargs=1, @blob="04000000"); jmpNeq(@nargs=2, @blob="44ffffff 00000000"); ret(@blob=""); } void Boss1AtNear() { stackAlloc(@nargs=1, @blob="04000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000000"); wait(@nargs=1, @blob="78000000"); jmp(@nargs=2, @blob="04060000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00601bc6"); pushf(@nargs=1, @blob="0000c042"); lessf(@blob=""); jmpEq(@nargs=2, @blob="8c020000 00000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 18000000 06000000"); etCount(@nargs=3, @blob="02000000 01000000 01000000"); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeed(@nargs=3, @blob="02000000 00000000 0000c03f"); etEx( @nargs=8, @blob="02000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="18000000"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="14000000"); addf(@blob=""); etOffsetAbs(@mask=0b110, @nargs=3, @blob="02000000 000080bf 000080bf"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="20000000"); divf(@blob=""); addf(@blob=""); etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="0000803f"); mulf(@blob=""); pushf(@nargs=1, @blob="0000003f"); addf(@blob=""); etSpeed(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); etOn(@nargs=1, @blob="02000000"); jmp(@nargs=2, @blob="e0020000 00000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 18000000 06000000"); etCount(@nargs=3, @blob="02000000 01000000 01000000"); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeed(@nargs=3, @blob="02000000 00000000 0000c03f"); etEx( @nargs=8, @blob="02000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="18000000"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="14000000"); addf(@blob=""); etOffsetAbs(@mask=0b110, @nargs=3, @blob="02000000 000080bf 000080bf"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="20000000"); divf(@blob=""); addf(@blob=""); etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="0000803f"); mulf(@blob=""); pushf(@nargs=1, @blob="0000003f"); addf(@blob=""); etSpeed(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); etOn(@nargs=1, @blob="02000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="a60a063e"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); diffWait(@nargs=4, @blob="03000000 03000000 01000000 01000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="730f493d"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="00faffff 00000000"); ret(@blob=""); } void Boss1Girl() { stackAlloc(@nargs=1, @blob="10000000"); ins_278(@nargs=1, @blob="02000000"); anmSelect(@nargs=1, @blob="01000000"); anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); flagSet(@nargs=1, @blob="4c040000"); setHurtbox(@nargs=2, @blob="0000c041 0000c041"); setHitbox(@nargs=2, @blob="00008041 00008041"); setInterrupt( @nargs=4, @blob="00000000 00000000 ffffffff 10000000 426f7373 31476972 6c446561 64000000", ); moveVel(@mask=0b1, @nargs=2, @blob="00f41bc6 0000a040"); moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000"); +60: // 60 nop(@blob=""); jmp(@nargs=2, @blob="2c000000 3c000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); ret(@blob=""); } void Boss1Girl2() { stackAlloc(@nargs=1, @blob="08000000"); pushi(@nargs=1, @blob="71000000"); seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); anmSelect(@nargs=1, @blob="01000000"); flagSet(@nargs=1, @blob="03000000"); anmSetSprite(@nargs=2, @blob="02000000 77000000"); wait(@nargs=1, @blob="3c000000"); setInterrupt( @nargs=4, @blob="00000000 00000000 ffffffff 10000000 426f7373 31476972 6c446561 64320000", ); anmSetMain(@nargs=2, @blob="00000000 14000000"); anmSetSprite(@nargs=2, @blob="01000000 30000000"); lifeSet(@nargs=1, @blob="64000000"); flagSet(@nargs=1, @blob="00040000"); flagClear(@nargs=1, @blob="03000000"); setHurtbox(@nargs=2, @blob="0000c041 0000c041"); setHitbox(@nargs=2, @blob="00008041 00008041"); callAsync(@nargs=1, @blob="10000000 426f7373 31476972 6c325f61 74000000"); jmp(@nargs=2, @blob="fc000000 00000000"); pushf(@nargs=1, @blob="0000003f"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="0000003f"); mulf(@blob=""); addf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="20000000"); divf(@blob=""); addf(@blob=""); moveVel(@mask=0b11, @nargs=2, @blob="000080bf 000080bf"); wait(@nargs=1, @blob="3c000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="08ffffff 00000000"); ret(@blob=""); } void Boss1Girl2_at() { stackAlloc(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="f4010000"); jmp(@nargs=2, @blob="28010000 00000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 00000000"); etSprite(@nargs=3, @blob="00000000 00000000 06000000"); etCount(@nargs=3, @blob="00000000 03000000 01000000"); etAngle(@nargs=3, @blob="00000000 00000000 db0f493e"); etSpeed(@nargs=3, @blob="00000000 0000803f 0000803f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); etOn(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="3c000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="dcfeffff 00000000"); ret(@blob=""); } void Boss1GirlDead() { stackAlloc(@nargs=1, @blob="00000000"); anmPlay(@nargs=2, @blob="00000000 4e000000"); playSound(@nargs=1, @blob="02000000"); moveVelTime(@nargs=4, @blob="01000000 00000000 f02374c9 00000000"); anmReset(@blob=""); anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 ffd8ffff"); flagSet(@nargs=1, @blob="03040000"); lifeSet(@nargs=1, @blob="a0860100"); anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); pushf(@nargs=1, @blob="db0f4940"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="02000000"); divf(@blob=""); addf(@blob=""); moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00000040"); moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); pushi(@nargs=1, @blob="3c000000"); pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); pushi(@nargs=1, @blob="5a000000"); modi(@blob=""); addi(@blob=""); wait(@mask=0b1, @nargs=1, @blob="ffffffff"); pushi(@nargs=1, @blob="00000000"); seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); jmp(@nargs=2, @blob="9c000000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="38000000 00000000"); call(@nargs=1, @blob="0c000000 426f7373 31476972 6c320000"); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="68ffffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); ret(@blob=""); } void Boss1GirlDead2() { stackAlloc(@nargs=1, @blob="00000000"); anmPlay(@nargs=2, @blob="00000000 4e000000"); playSound(@nargs=1, @blob="02000000"); moveVelTime(@nargs=4, @blob="01000000 00000000 f02374c9 00000000"); anmReset(@blob=""); anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 ffd8ffff"); flagSet(@nargs=1, @blob="03040000"); lifeSet(@nargs=1, @blob="a0860100"); anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); unknown450(@nargs=1, @blob="e8030000"); pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); pushf(@nargs=1, @blob="db0f4940"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="02000000"); divf(@blob=""); addf(@blob=""); moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00002040"); moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 08000000"); etSprite(@nargs=3, @blob="00000000 00000000 06000000"); etCountD( @nargs=9, @blob="00000000 05000000 0c000000 0c000000 14000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="00000000 db0f49c0 db0f4940"); etSpeedD( @nargs=9, @blob="00000000 00000040 00000040 00000040 00004040 9a99193f 9a99193f 9a99193f 9a99193f", ); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etOn(@nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="a0000000"); pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); pushi(@nargs=1, @blob="5a000000"); modi(@blob=""); addi(@blob=""); wait(@mask=0b1, @nargs=1, @blob="ffffffff"); pushi(@nargs=1, @blob="00000000"); seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); jmp(@nargs=2, @blob="9c000000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="38000000 00000000"); call(@nargs=1, @blob="0c000000 426f7373 31476972 6c320000"); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="68ffffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); ret(@blob=""); } void Boss2() { stackAlloc(@nargs=1, @blob="00000000"); timerReset(@blob=""); funcCall(@nargs=1, @blob="04000000"); enmKillAll(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="44000000 00000000"); etCancel(@nargs=1, @blob="00002044"); jmp(@nargs=2, @blob="2c000000 00000000"); etClear(@nargs=1, @blob="00002044"); spellEnd(@blob=""); killAllAsync(@blob=""); lifeSet(@nargs=1, @blob="08200000"); setInterrupt( @nargs=4, @blob="00000000 98080000 34080000 0c000000 426f7373 43617264 32000000", ); lifeMarker(@nargs=3, @blob="00000000 00800945 80a0ffff"); setChapter(@nargs=1, @blob="19000000"); stars(@nargs=1, @blob="02000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="f8000000 00000000"); setInvuln(@nargs=1, @blob="3c000000"); dropClear(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="2c000000 00000000"); dropMain(@nargs=1, @blob="05000000"); dropExtra(@nargs=2, @blob="01000000 0a000000"); dropExtra(@nargs=2, @blob="02000000 0f000000"); dropArea(@nargs=2, @blob="00004042 00004042"); dropItems(@blob=""); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); playSound(@nargs=1, @blob="0f000000"); wait(@nargs=1, @blob="3c000000"); movePosTime(@nargs=4, @blob="3c000000 04000000 0000f042 00000043"); +60: // 60 nop(@blob=""); moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); jmp(@nargs=2, @blob="28020000 3c000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 32417431 00000000"); wait(@nargs=1, @blob="14000000"); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); wait(@nargs=1, @blob="3c000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); callAsync( @nargs=3, @blob="0c000000 426f7373 32417432 00000000 69690000 06000000 66660000 5077d6bc", ); wait(@nargs=1, @blob="3c000000"); movePosTime(@nargs=4, @blob="3c000000 04000000 000000c3 00000043"); wait(@nargs=1, @blob="3c000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 32417431 00000000"); wait(@nargs=1, @blob="14000000"); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); wait(@nargs=1, @blob="3c000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); callAsync( @nargs=3, @blob="0c000000 426f7373 32417432 00000000 69690000 06000000 66660000 5077d63c", ); wait(@nargs=1, @blob="3c000000"); movePosTime(@nargs=4, @blob="3c000000 04000000 0000f042 00000043"); wait(@nargs=1, @blob="3c000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="dcfdffff 3c000000"); ret(@blob=""); } void Boss2At1() { stackAlloc(@nargs=1, @blob="14000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000041"); diffI( @mask=0b1, @nargs=5, @blob="10000000 05000000 05000000 05000000 09000000", ); pushf(@nargs=1, @blob="db0fc940"); pushi(@mask=0b1, @nargs=1, @blob="10000000"); divf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); jmp(@nargs=2, @blob="2c010000 00000000"); circlePos( @mask=0b111, @nargs=4, @blob="00000000 00008040 00000041 00004042", ); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="18000000"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="16000000"); addf(@blob=""); enmCreate( @mask=0b110, @nargs=6, @blob="10000000 42426f73 73325068 616e746f 6d000000 000080bf 000080bf c8000000 e8030000 02000000", ); pushf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); deci(@mask=0b1, @nargs=1, @blob="10000000"); jmpNeq(@nargs=2, @blob="d8feffff 00000000"); ret(@blob=""); } void Boss2At2() { stackAlloc(@nargs=1, @blob="18000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@mask=0b100, @nargs=3, @blob="00000000 05000000 00000000"); etCountD( @nargs=9, @blob="00000000 0c000000 18000000 20000000 28000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 00040000 14000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 03000000 00000000 04000000 3c000000 c1bdf0ff abaaaa3d f02374c9", ); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="18000000"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="14000000"); addf(@blob=""); etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 000080bf 000080bf"); etProtectRange(@nargs=1, @blob="00004042"); pushi(@nargs=1, @blob="0e000000"); seti(@mask=0b1, @nargs=1, @blob="10000000"); pushi(@nargs=1, @blob="20000000"); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@nargs=1, @blob="8c000000"); seti(@mask=0b1, @nargs=1, @blob="14000000"); jmp(@nargs=2, @blob="9c010000 00000000"); etEx( @mask=0b10000, @nargs=8, @blob="00000000 02000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", ); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@nargs=1, @blob="00008041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@mask=0b1, @nargs=1, @blob="14000000"); pushi(@nargs=1, @blob="08000000"); subi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="14000000"); validRad(@mask=0b1, @nargs=1, @blob="00004041"); wait(@nargs=1, @blob="03000000"); deci(@mask=0b1, @nargs=1, @blob="10000000"); jmpNeq(@nargs=2, @blob="68feffff 00000000"); ret(@blob=""); } void Boss2Phantom() { stackAlloc(@nargs=1, @blob="08000000"); anmSelect(@nargs=1, @blob="01000000"); anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); flagSet(@nargs=1, @blob="03000000"); playSound(@nargs=1, @blob="2e000000"); setHurtbox(@nargs=2, @blob="0000c041 0000c041"); setHitbox(@nargs=2, @blob="00008041 00008041"); wait(@nargs=1, @blob="0c000000"); flagSet(@nargs=1, @blob="40000000"); flagClear(@nargs=1, @blob="03000000"); setInterrupt( @nargs=4, @blob="00000000 00000000 ffffffff 10000000 426f7373 32506861 6e746f6d 5f617400", ); moveVel(@mask=0b1, @nargs=2, @blob="00381cc6 00000000"); moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 cdccccbd"); +160: // 160 nop(@blob=""); call( @nargs=1, @blob="14000000 426f7373 32506861 6e746f6d 5f617432 00000000", ); ret(@blob=""); } void Boss2Phantom_at() { stackAlloc(@nargs=1, @blob="00000000"); call( @nargs=1, @blob="14000000 426f7373 32506861 6e746f6d 5f617442 00000000", ); dropClear(@blob=""); dropExtra(@nargs=2, @blob="02000000 01000000"); dropArea(@nargs=2, @blob="00004042 00004042"); dropItems(@blob=""); anmPlay(@nargs=2, @blob="00000000 4e000000"); playSound(@nargs=1, @blob="02000000"); delete(@blob=""); ret(@blob=""); } void Boss2Phantom_at2() { stackAlloc(@nargs=1, @blob="00000000"); call( @nargs=1, @blob="14000000 426f7373 32506861 6e746f6d 5f617442 00000000", ); anmPlay(@nargs=2, @blob="00000000 4e000000"); playSound(@nargs=1, @blob="02000000"); delete(@blob=""); ret(@blob=""); } void Boss2Phantom_atB() { stackAlloc(@nargs=1, @blob="00000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 02000000"); etSprite(@nargs=3, @blob="00000000 02000000 06000000"); etCountD( @nargs=9, @blob="00000000 0c000000 10000000 10000000 10000000 01000000 03000000 04000000 05000000", ); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeedD( @nargs=9, @blob="00000000 00004040 00004040 00008040 0000a040 0000c03f 0000c03f 0000c03f 0000c03f", ); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", ); etOn(@nargs=1, @blob="00000000"); ret(@blob=""); } void Boss3() { stackAlloc(@nargs=1, @blob="04000000"); timerReset(@blob=""); funcCall(@nargs=1, @blob="04000000"); enmKillAll(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="44000000 00000000"); etCancel(@nargs=1, @blob="00002044"); jmp(@nargs=2, @blob="2c000000 00000000"); etClear(@nargs=1, @blob="00002044"); spellEnd(@blob=""); killAllAsync(@blob=""); lifeSet(@nargs=1, @blob="f4330000"); setInterrupt( @nargs=4, @blob="00000000 fc080000 34080000 0c000000 426f7373 43617264 33000000", ); lifeMarker(@nargs=3, @blob="00000000 00c00f45 80a0ffff"); setChapter(@nargs=1, @blob="1a000000"); stars(@nargs=1, @blob="01000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="f8000000 00000000"); setInvuln(@nargs=1, @blob="3c000000"); dropClear(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="2c000000 00000000"); dropMain(@nargs=1, @blob="05000000"); dropExtra(@nargs=2, @blob="01000000 0a000000"); dropExtra(@nargs=2, @blob="02000000 0f000000"); dropArea(@nargs=2, @blob="00004042 00004042"); dropItems(@blob=""); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); playSound(@nargs=1, @blob="0f000000"); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); +60: // 60 nop(@blob=""); moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); jmp(@nargs=2, @blob="b8000000 3c000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="0b000000"); seti(@mask=0b1, @nargs=1, @blob="00000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 33417431 00000000"); wait(@nargs=1, @blob="64000000"); moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); wait(@nargs=1, @blob="46000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="4cffffff 3c000000"); ret(@blob=""); } void Boss3At1() { stackAlloc(@nargs=1, @blob="14000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000041"); diffI( @mask=0b1, @nargs=5, @blob="10000000 03000000 07000000 09000000 0c000000", ); pushf(@nargs=1, @blob="db0fc940"); pushi(@mask=0b1, @nargs=1, @blob="10000000"); divf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); jmp(@nargs=2, @blob="54010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000041"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); circlePos( @mask=0b111, @nargs=4, @blob="00000000 00008040 00f41bc6 00004042", ); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="18000000"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="16000000"); addf(@blob=""); enmCreate( @mask=0b110, @nargs=6, @blob="10000000 42426f73 73335068 616e746f 6d000000 000080bf 000080bf c8000000 e8030000 02000000", ); pushf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); deci(@mask=0b1, @nargs=1, @blob="10000000"); jmpNeq(@nargs=2, @blob="b0feffff 00000000"); ret(@blob=""); } void Boss3At2() { stackAlloc(@nargs=1, @blob="18000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@mask=0b100, @nargs=3, @blob="00000000 05000000 00000000"); etCountD( @nargs=9, @blob="00000000 0c000000 18000000 18000000 18000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 00040000 14000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 03000000 00000000 04000000 3c000000 c1bdf0ff 8988883c f02374c9", ); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="18000000"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="14000000"); addf(@blob=""); etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 000080bf 000080bf"); etProtectRange(@nargs=1, @blob="00004042"); pushi(@nargs=1, @blob="0e000000"); seti(@mask=0b1, @nargs=1, @blob="10000000"); pushi(@nargs=1, @blob="20000000"); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@nargs=1, @blob="8c000000"); seti(@mask=0b1, @nargs=1, @blob="14000000"); jmp(@nargs=2, @blob="9c010000 00000000"); etEx( @mask=0b10000, @nargs=8, @blob="00000000 02000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", ); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@nargs=1, @blob="00008041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@mask=0b1, @nargs=1, @blob="14000000"); pushi(@nargs=1, @blob="08000000"); subi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="14000000"); validRad(@mask=0b1, @nargs=1, @blob="00004041"); wait(@nargs=1, @blob="03000000"); deci(@mask=0b1, @nargs=1, @blob="10000000"); jmpNeq(@nargs=2, @blob="68feffff 00000000"); ret(@blob=""); } void Boss3Phantom() { stackAlloc(@nargs=1, @blob="08000000"); anmSelect(@nargs=1, @blob="01000000"); anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); flagSet(@nargs=1, @blob="0d020000"); playSound(@nargs=1, @blob="2e000000"); setHurtbox(@nargs=2, @blob="0000c041 0000c041"); setHitbox(@nargs=2, @blob="00008041 00008041"); wait(@nargs=1, @blob="0c000000"); flagSet(@nargs=1, @blob="40000000"); moveVel(@mask=0b1, @nargs=2, @blob="00f41bc6 00000000"); callAsync(@nargs=1, @blob="10000000 426f7373 33506861 6e746f6d 5f617400"); moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 cdcc8c3f"); wait(@nargs=1, @blob="a0000000"); delete(@blob=""); ret(@blob=""); } void Boss3Phantom_at() { stackAlloc(@nargs=1, @blob="0c000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 02000000 06000000"); etCount(@nargs=3, @blob="00000000 07000000 01000000"); etAngle(@mask=0b110, @nargs=3, @blob="00000000 00f41bc6 00f41bc6"); etSpeed(@nargs=3, @blob="00000000 0000803f 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff 8988083d f02374c9", ); jmp(@nargs=2, @blob="40000000 00000000"); etOn(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="14000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); ret(@blob=""); } void BossCard1() { stackAlloc(@nargs=1, @blob="10000000"); etProtectRange(@nargs=1, @blob="00000000"); enmKillAll(@blob=""); spellEnd(@blob=""); killAllAsync(@blob=""); funcSet(@nargs=1, @blob="00000000"); laserCancel(@blob=""); playSound(@nargs=1, @blob="0f000000"); enmCreate( @nargs=6, @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", ); setInvuln(@nargs=1, @blob="3c000000"); setInterrupt( @nargs=4, @blob="00000000 00000000 100e0000 08000000 426f7373 32000000", ); {"014567"}: spell( @nargs=4, @blob="7a000000 100e0000 20a10700 1c000000 f98a0504 724f12a5 ec650e46 68c60a36 e42f0626 6271009e 5fe67d24", ); {"234567"}: spell( @nargs=4, @blob="7a000000 100e0000 20a10700 18000000 f98a0504 724f187d f81a11eb 63791e14 f7d604da e32a81e8", ); setChapter(@nargs=1, @blob="2b000000"); killAllAsync(@blob=""); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00002043"); moveLimit(@nargs=4, @blob="00000000 00000043 0000c043 00008043"); pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="3c000000 00000000"); dropMain(@nargs=1, @blob="05000000"); dropItems(@blob=""); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); funcCall(@nargs=1, @blob="02000000"); +60: // 60 anmPlay(@nargs=2, @blob="00000000 83000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); +60: // 120 funcSet(@nargs=1, @blob="03000000"); anmPlay(@nargs=2, @blob="00000000 b0000000"); +30: // 150 nop(@blob=""); callAsync(@nargs=1, @blob="0c000000 426f7373 43617264 31417400"); jmp(@nargs=2, @blob="2c000000 96000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 96000000"); ret(@blob=""); } void BossCard1At() { stackAlloc(@nargs=1, @blob="04000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000000"); wait(@nargs=1, @blob="78000000"); jmp(@nargs=2, @blob="70030000 00000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 01000000 06000000"); etCountD( @nargs=9, @blob="02000000 01000000 01000000 02000000 03000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeed(@nargs=3, @blob="02000000 00000000 0000c03f"); etEx( @nargs=8, @blob="02000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="18000000"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="14000000"); addf(@blob=""); etOffsetAbs(@mask=0b110, @nargs=3, @blob="02000000 000080bf 000080bf"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="20000000"); divf(@blob=""); addf(@blob=""); etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="0000003f"); mulf(@blob=""); pushf(@nargs=1, @blob="9a99993f"); addf(@blob=""); etSpeed(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); {"34567"}: pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); {"34567"}: pushf(@nargs=1, @blob="0000003f"); {"34567"}: mulf(@blob=""); {"34567"}: pushf(@nargs=1, @blob="cdcc0c40"); {"34567"}: addf(@blob=""); {"34567"}: etSpeed( @mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000", ); etOn(@nargs=1, @blob="02000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="a60a063e"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); diffWait(@nargs=4, @blob="06000000 03000000 03000000 03000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="94fcffff 00000000"); ret(@blob=""); } void BossCard2() { stackAlloc(@nargs=1, @blob="04000000"); {"014567"}: spell( @nargs=4, @blob="7e000000 b80b0000 20a10700 1c000000 fad80250 724f12a0 ec800ebe 6ae90ae3 e42d04f7 607400b3 de907d24", ); {"234567"}: spell( @nargs=4, @blob="7e000000 b80b0000 20a10700 14000000 f90c0250 724f01b0 ff9a04b1 7c5e0806 676e85ac", ); setInterrupt( @nargs=4, @blob="00000000 00000000 b80b0000 08000000 426f7373 33000000", ); enmKillAll(@blob=""); killAllAsync(@blob=""); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); setInvuln(@nargs=1, @blob="3c000000"); playSound(@nargs=1, @blob="07000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="64000000 00000000"); enmCreate( @nargs=6, @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", ); jmp(@nargs=2, @blob="50000000 00000000"); enmCreate( @nargs=6, @blob="10000000 45636c5f 45744272 65616b5f 6e690000 00000000 00000000 0f270000 00000000 00000000", ); pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="3c000000 00000000"); dropMain(@nargs=1, @blob="05000000"); dropItems(@blob=""); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); setChapter(@nargs=1, @blob="2c000000"); +120: // 120 nop(@blob=""); jmp(@nargs=2, @blob="a0000000 78000000"); call(@nargs=1, @blob="10000000 426f7373 43617264 325f6174 00000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="3c000000"); moveRand(@nargs=3, @blob="3c000000 00000000 0000c03f"); diffWait(@nargs=4, @blob="54010000 54010000 f0000000 a0000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="64ffffff 78000000"); ret(@blob=""); } void BossCard2Phantom() { stackAlloc(@nargs=1, @blob="10000000"); anmSelect(@nargs=1, @blob="01000000"); anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); flagSet(@nargs=1, @blob="0f000000"); flagSet(@nargs=1, @blob="00020000"); moveCircle( @mask=0b11, @nargs=4, @blob="00f41bc6 00f01bc6 00000043 00000000", ); pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); pushi(@nargs=1, @blob="04000000"); divf(@blob=""); moveCircleTime( @mask=0b100, @nargs=5, @blob="3c000000 04000000 000080bf 00004043 f02374c9", ); playSound(@nargs=1, @blob="2e000000"); setHurtbox(@nargs=2, @blob="0000c041 0000c041"); setHitbox(@nargs=2, @blob="00008041 00008041"); wait(@nargs=1, @blob="0c000000"); flagSet(@nargs=1, @blob="40000000"); flagClear(@nargs=1, @blob="03000000"); callAsync( @nargs=1, @blob="14000000 426f7373 43617264 32506861 6e746f6d 5f617400", ); wait(@nargs=1, @blob="3c000000"); pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); pushi(@nargs=1, @blob="04000000"); divf(@blob=""); moveCircleTime( @mask=0b100, @nargs=5, @blob="f0000000 01000000 000080bf 000080c1 f02374c9", ); +240: // 240 nop(@blob=""); flagSet(@nargs=1, @blob="01000000"); movePos(@mask=0b11, @nargs=2, @blob="00341cc6 00301cc6"); anmSelect(@nargs=1, @blob="00000000"); anmSetSprite(@nargs=2, @blob="01000000 b2000000"); +20: // 260 anmSetSprite(@nargs=2, @blob="00000000 ffffffff"); playSound(@nargs=1, @blob="36000000"); flagSet(@nargs=1, @blob="00020000"); pushi(@nargs=1, @blob="04000000"); setf(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@nargs=1, @blob="0a000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 04010000"); setHitbox(@mask=0b11, @nargs=2, @blob="00004041 00004041"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@nargs=1, @blob="08000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 04010000"); pushi(@nargs=1, @blob="2d000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 04010000"); setHitbox(@mask=0b11, @nargs=2, @blob="00004041 00004041"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@nargs=1, @blob="9a99993e"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 04010000"); flagSet(@nargs=1, @blob="03000000"); wait(@nargs=1, @blob="28000000"); delete(@blob=""); ret(@blob=""); } void BossCard2Phantom_at() { stackAlloc(@nargs=1, @blob="0c000000"); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="01000000"); leqi(@blob=""); jmpEq(@nargs=2, @blob="cc000000 00000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 03000000 06000000"); etCount(@nargs=3, @blob="00000000 01000000 01000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); jmp(@nargs=2, @blob="b4000000 00000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 05000000 02000000"); etCount(@nargs=3, @blob="00000000 01000000 01000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 00000000 00040000 90010000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 00100000 b4000000 c1bdf0ff f02374c9 f02374c9", ); diffF( @mask=0b1, @nargs=5, @blob="00008040 8988083c 8988083c 8988883c cdcccc3c", ); etEx( @mask=0b1000000, @nargs=8, @blob="00000000 02000000 00000000 04000000 78000000 c1bdf0ff 00008040 f02374c9", ); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="78000000 00000000"); etEx( @nargs=8, @blob="00000000 03000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 04000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", ); pushi(@nargs=1, @blob="28000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="94000000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00cc1bc6"); pushf(@nargs=1, @blob="db0f4940"); addf(@blob=""); etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); etOn(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="02000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="70ffffff 00000000"); ret(@blob=""); } void BossCard2Phantom_at2() { stackAlloc(@nargs=1, @blob="0c000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 02000000"); etSprite(@nargs=3, @blob="00000000 02000000 06000000"); etCount(@nargs=3, @blob="00000000 10000000 03000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", ); etOn(@nargs=1, @blob="00000000"); anmPlay(@nargs=2, @blob="00000000 4e000000"); playSound(@nargs=1, @blob="02000000"); delete(@blob=""); ret(@blob=""); } void BossCard2_at() { stackAlloc(@nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="08000000"); seti(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@nargs=1, @blob="7077563d"); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); jmp(@nargs=2, @blob="a0000000 00000000"); enmCreateA( @mask=0b110, @nargs=6, @blob="14000000 47426f73 73436172 64325068 616e746f 6d000000 00b41bc6 00b01bc6 c8000000 e8030000 02000000", ); pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@nargs=1, @blob="d80f493f"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); deci(@mask=0b1, @nargs=1, @blob="00000000"); jmpNeq(@nargs=2, @blob="64ffffff 00000000"); ret(@blob=""); } void BossCard3() { stackAlloc(@nargs=1, @blob="08000000"); setInvuln(@nargs=1, @blob="64000000"); enmKillAll(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="44000000 00000000"); etCancel(@nargs=1, @blob="00002044"); jmp(@nargs=2, @blob="2c000000 00000000"); etClear(@nargs=1, @blob="00002044"); spellEnd(@blob=""); killAllAsync(@blob=""); setInterrupt( @nargs=4, @blob="00000000 00000000 b80b0000 0c000000 426f7373 43617264 34000000", ); setChapter(@nargs=1, @blob="2d000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="f8000000 00000000"); setInvuln(@nargs=1, @blob="3c000000"); dropClear(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="2c000000 00000000"); dropMain(@nargs=1, @blob="05000000"); dropExtra(@nargs=2, @blob="01000000 0a000000"); dropExtra(@nargs=2, @blob="02000000 05000000"); dropArea(@nargs=2, @blob="00004042 00004042"); dropItems(@blob=""); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); playSound(@nargs=1, @blob="0f000000"); {"014567"}: spell( @nargs=4, @blob="82000000 b80b0000 20a10700 18000000 91a21863 724f1a74 fd9800a2 697e191a e93c04da e32a81e8", ); {"234567"}: spell( @nargs=4, @blob="82000000 b80b0000 20a10700 20000000 91a21863 724f0134 e1680ff8 7bd80bb6 f5a70706 61c3086d c80afc52 dba27960", ); anmSelectedPlay(@nargs=1, @blob="00000000"); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); +60: // 60 nop(@blob=""); moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); jmp(@nargs=2, @blob="58030000 3c000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); diffI( @mask=0b1, @nargs=5, @blob="04000000 04000000 07000000 07000000 07000000", ); pushf(@nargs=1, @blob="db0f4940"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="01000000"); subi(@blob=""); divf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); pushf(@nargs=1, @blob="db0fc93f"); subf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); pushf(@nargs=1, @blob="f90f493e"); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); jmp(@nargs=2, @blob="e8000000 3c000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 33417431 00000000"); wait(@nargs=1, @blob="05000000"); pushf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); pushi(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); subf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); deci(@mask=0b1, @nargs=1, @blob="04000000"); jmpNeq(@nargs=2, @blob="1cffffff 3c000000"); diffWait(@nargs=4, @blob="64000000 64000000 50000000 3c000000"); {"014567"}: callAsync( @nargs=3, @blob="10000000 426f7373 43617264 33417432 00000000 69690000 04000000 66660000 db0fc93d", ); {"234567"}: callAsync( @nargs=3, @blob="10000000 426f7373 43617264 33417432 00000000 69690000 02000000 66660000 db0fc93d", ); diffWait(@nargs=4, @blob="64000000 64000000 50000000 3c000000"); {"014567"}: callAsync( @nargs=3, @blob="10000000 426f7373 43617264 33417432 00000000 69690000 03000000 66660000 db0fc9bd", ); {"234567"}: callAsync( @nargs=3, @blob="10000000 426f7373 43617264 33417432 00000000 69690000 01000000 66660000 db0fc9bd", ); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="acfcffff 3c000000"); ret(@blob=""); } void BossCard3At1() { stackAlloc(@nargs=1, @blob="10000000"); pushi(@nargs=1, @blob="05000000"); seti(@mask=0b1, @nargs=1, @blob="0c000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000041"); jmp(@nargs=2, @blob="c8000000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000041"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); enmCreate( @nargs=6, @blob="14000000 42426f73 73436172 64335068 616e746f 6d000000 0000b041 0000c0c1 c8000000 e8030000 02000000", ); pushf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@nargs=1, @blob="7bd9a03f"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); deci(@mask=0b1, @nargs=1, @blob="0c000000"); jmpNeq(@nargs=2, @blob="3cffffff 00000000"); ret(@blob=""); } void BossCard3At2() { stackAlloc(@nargs=1, @blob="1c000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@mask=0b100, @nargs=3, @blob="00000000 05000000 00000000"); etCountD( @nargs=9, @blob="00000000 12000000 14000000 18000000 18000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 00040000 14000000 c1bdf0ff f02374c9 f02374c9", ); diffF( @mask=0b1, @nargs=5, @blob="00008041 8988883c 8988883c cdcccc3c 8988083d", ); etEx( @mask=0b1000000, @nargs=8, @blob="00000000 03000000 00000000 04000000 3c000000 c1bdf0ff 00008041 f02374c9", ); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="18000000"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="14000000"); addf(@blob=""); etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 000080bf 000080bf"); etProtectRange(@nargs=1, @blob="00004042"); pushi(@nargs=1, @blob="0e000000"); seti(@mask=0b1, @nargs=1, @blob="14000000"); pushi(@nargs=1, @blob="20000000"); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@nargs=1, @blob="8c000000"); seti(@mask=0b1, @nargs=1, @blob="18000000"); jmp(@nargs=2, @blob="9c010000 00000000"); etEx( @mask=0b10000, @nargs=8, @blob="00000000 02000000 00000000 00100000 18000000 c1bdf0ff f02374c9 f02374c9", ); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@nargs=1, @blob="00008041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@mask=0b1, @nargs=1, @blob="18000000"); pushi(@nargs=1, @blob="08000000"); subi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="18000000"); validRad(@mask=0b1, @nargs=1, @blob="00004041"); wait(@nargs=1, @blob="03000000"); deci(@mask=0b1, @nargs=1, @blob="14000000"); jmpNeq(@nargs=2, @blob="68feffff 00000000"); ret(@blob=""); } void BossCard3Phantom() { stackAlloc(@nargs=1, @blob="08000000"); anmSelect(@nargs=1, @blob="01000000"); anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); flagSet(@nargs=1, @blob="0d020000"); playSound(@nargs=1, @blob="2e000000"); setHurtbox(@nargs=2, @blob="0000c041 0000c041"); setHitbox(@nargs=2, @blob="00008041 00008041"); wait(@nargs=1, @blob="0c000000"); flagSet(@nargs=1, @blob="40000000"); moveVel(@mask=0b1, @nargs=2, @blob="00ec1bc6 00000000"); moveVelTime(@nargs=4, @blob="2c010000 00000000 f02374c9 00008040"); moveCircleRel( @mask=0b11, @nargs=4, @blob="00f41bc6 00f01bc6 00000000 00000000", ); moveCircleRelTime( @mask=0b100, @nargs=5, @blob="3c000000 01000000 00f01bc6 00004042 00000000", ); wait(@nargs=1, @blob="f0000000"); delete(@blob=""); ret(@blob=""); } void BossCard3Phantom_at() { stackAlloc(@nargs=1, @blob="0c000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 02000000"); etSprite(@nargs=3, @blob="00000000 02000000 06000000"); etCount(@nargs=3, @blob="00000000 10000000 03000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", ); etOn(@nargs=1, @blob="00000000"); dropClear(@blob=""); dropExtra(@nargs=2, @blob="02000000 01000000"); dropArea(@nargs=2, @blob="00004042 00004042"); dropItems(@blob=""); anmPlay(@nargs=2, @blob="00000000 4e000000"); playSound(@nargs=1, @blob="02000000"); delete(@blob=""); ret(@blob=""); } void BossCard3Phantom_at2() { stackAlloc(@nargs=1, @blob="0c000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 02000000"); etSprite(@nargs=3, @blob="00000000 02000000 06000000"); etCount(@nargs=3, @blob="00000000 10000000 03000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", ); etOn(@nargs=1, @blob="00000000"); anmPlay(@nargs=2, @blob="00000000 4e000000"); playSound(@nargs=1, @blob="02000000"); delete(@blob=""); ret(@blob=""); } void BossCard4() { stackAlloc(@nargs=1, @blob="04000000"); timerReset(@blob=""); enmKillAll(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="44000000 00000000"); etCancel(@nargs=1, @blob="00002044"); jmp(@nargs=2, @blob="2c000000 00000000"); etClear(@nargs=1, @blob="00002044"); spellEnd(@blob=""); killAllAsync(@blob=""); setInvuln(@nargs=1, @blob="a0000000"); lifeSet(@nargs=1, @blob="dc050000"); setInterrupt( @nargs=4, @blob="00000000 00000000 100e0000 0c000000 426f7373 44656164 00000000", ); lifeMarker(@nargs=3, @blob="00000000 0080bb44 80a0ffff"); setChapter(@nargs=1, @blob="1b000000"); stars(@nargs=1, @blob="00000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="f8000000 00000000"); setInvuln(@nargs=1, @blob="3c000000"); dropClear(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="2c000000 00000000"); dropMain(@nargs=1, @blob="05000000"); dropExtra(@nargs=2, @blob="01000000 0a000000"); dropExtra(@nargs=2, @blob="02000000 0f000000"); dropArea(@nargs=2, @blob="00004042 00004042"); dropItems(@blob=""); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); playSound(@nargs=1, @blob="0f000000"); flagSet(@nargs=1, @blob="02000000"); moveLimit(@nargs=4, @blob="00000000 00006043 00008c43 0000a043"); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00006043"); +60: // 60 nop(@blob=""); {"014567"}: spell( @nargs=4, @blob="86000000 100e0000 20a10700 10000000 f60b1b3c 797e0464 fba40c42 ebb28970", ); {"234567"}: spell( @nargs=4, @blob="86000000 100e0000 20a10700 14000000 f60b1a10 7b910614 fa6a07bc 690b0bc5 e61885ac", ); setChapter(@nargs=1, @blob="2e000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 34417431 00000000"); wait(@nargs=1, @blob="78000000"); playSound(@nargs=1, @blob="29000000"); anmPlay(@nargs=2, @blob="00000000 b0000000"); wait(@nargs=1, @blob="3c000000"); funcCall(@nargs=1, @blob="02000000"); funcSet(@nargs=1, @blob="03000000"); {"1234567"}: callAsync( @nargs=1, @blob="0c000000 426f7373 43617264 35417400", ); jmp(@nargs=2, @blob="2c000000 3c000000"); wait(@nargs=1, @blob="64000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); ret(@blob=""); } void BossCard4At1() { stackAlloc(@nargs=1, @blob="10000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushi(@nargs=1, @blob="08000000"); seti(@mask=0b1, @nargs=1, @blob="0c000000"); pushi(@nargs=1, @blob="c0010000"); setf(@mask=0b1, @nargs=1, @blob="00008040"); jmp(@nargs=2, @blob="1c020000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000041"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushi(@nargs=1, @blob="40ffffff"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); enmCreateA( @mask=0b110, @nargs=6, @blob="14000000 42426f73 73436172 64345068 616e746f 6d000000 000080bf 00008040 204e0000 e8030000 02000000", ); pushi(@nargs=1, @blob="c0000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); subf(@blob=""); enmCreateA( @mask=0b110, @nargs=6, @blob="14000000 42426f73 73436172 64345068 616e746f 6d000000 000080bf 00008040 204e0000 e8030000 02000000", ); pushf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@nargs=1, @blob="7bd9a03f"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="40000000"); subf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="08000000"); deci(@mask=0b1, @nargs=1, @blob="0c000000"); jmpNeq(@nargs=2, @blob="e8fdffff 00000000"); ret(@blob=""); } void BossCard4At2() { stackAlloc(@nargs=1, @blob="18000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@mask=0b100, @nargs=3, @blob="00000000 05000000 00000000"); etCount(@nargs=3, @blob="00000000 18000000 01000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 00040000 14000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 03000000 00000000 04000000 3c000000 c1bdf0ff 8988883c f02374c9", ); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="18000000"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="14000000"); addf(@blob=""); etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 000080bf 000080bf"); etProtectRange(@nargs=1, @blob="00004042"); pushi(@nargs=1, @blob="0e000000"); seti(@mask=0b1, @nargs=1, @blob="10000000"); pushi(@nargs=1, @blob="20000000"); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@nargs=1, @blob="8c000000"); seti(@mask=0b1, @nargs=1, @blob="14000000"); jmp(@nargs=2, @blob="9c010000 00000000"); etEx( @mask=0b10000, @nargs=8, @blob="00000000 02000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", ); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@nargs=1, @blob="00008041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@mask=0b1, @nargs=1, @blob="14000000"); pushi(@nargs=1, @blob="08000000"); subi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="14000000"); validRad(@mask=0b1, @nargs=1, @blob="00004041"); wait(@nargs=1, @blob="03000000"); deci(@mask=0b1, @nargs=1, @blob="10000000"); jmpNeq(@nargs=2, @blob="68feffff 00000000"); ret(@blob=""); } void BossCard4Girl() { stackAlloc(@nargs=1, @blob="0c000000"); pushi(@nargs=1, @blob="71000000"); seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); anmSelect(@nargs=1, @blob="01000000"); flagSet(@nargs=1, @blob="03000000"); anmSetSprite(@nargs=2, @blob="02000000 77000000"); wait(@nargs=1, @blob="3c000000"); setInterrupt( @nargs=4, @blob="00000000 00000000 ffffffff 14000000 426f7373 43617264 34476972 6c446561 64320000", ); anmSetMain(@nargs=2, @blob="00000000 14000000"); anmSetSprite(@nargs=2, @blob="01000000 30000000"); lifeSet(@nargs=1, @blob="c8000000"); flagSet(@nargs=1, @blob="00040000"); flagClear(@nargs=1, @blob="03000000"); setHurtbox(@nargs=2, @blob="0000c041 0000c041"); setHitbox(@nargs=2, @blob="00008041 00008041"); callAsync( @nargs=1, @blob="14000000 426f7373 43617264 34476972 6c5f6174 00000000", ); pushi(@nargs=1, @blob="00000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="f8060000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="08000000"); pushi(@nargs=1, @blob="02000000"); lessi(@blob=""); jmpEq(@nargs=2, @blob="d0050000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="08000000"); pushi(@nargs=1, @blob="01000000"); lessi(@blob=""); jmpEq(@nargs=2, @blob="58000000 00000000"); pushi(@nargs=1, @blob="12000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); jmp(@nargs=2, @blob="40000000 00000000"); pushi(@nargs=1, @blob="19000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); pushf(@mask=0b1, @nargs=1, @blob="00601bc6"); pushi(@nargs=1, @blob="00010000"); greaterf(@blob=""); jmpEq(@nargs=2, @blob="1c010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00b41bc6"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); movePosTime( @mask=0b1100, @nargs=4, @blob="c8000000 00000000 000080bf 000080bf", ); wait(@nargs=1, @blob="f0000000"); jmp(@nargs=2, @blob="ac030000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00601bc6"); pushi(@nargs=1, @blob="c0000000"); greaterf(@blob=""); jmpEq(@nargs=2, @blob="1c010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00b41bc6"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); movePosTime( @mask=0b1100, @nargs=4, @blob="96000000 00000000 000080bf 000080bf", ); wait(@nargs=1, @blob="be000000"); jmp(@nargs=2, @blob="58020000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00601bc6"); pushi(@nargs=1, @blob="80000000"); greaterf(@blob=""); jmpEq(@nargs=2, @blob="1c010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00b41bc6"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); movePosTime( @mask=0b1100, @nargs=4, @blob="64000000 00000000 000080bf 000080bf", ); wait(@nargs=1, @blob="8c000000"); jmp(@nargs=2, @blob="04010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00b41bc6"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); movePosTime( @mask=0b1100, @nargs=4, @blob="3c000000 00000000 000080bf 000080bf", ); wait(@nargs=1, @blob="28000000"); jmp(@nargs=2, @blob="90000000 00000000"); pushi(@nargs=1, @blob="12000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); call( @nargs=1, @blob="14000000 426f7373 43617264 34476972 6c5f6174 32000000", ); pushi(@nargs=1, @blob="ffffffff"); seti(@mask=0b1, @nargs=1, @blob="08000000"); pushi(@mask=0b1, @nargs=1, @blob="08000000"); pushi(@nargs=1, @blob="01000000"); addi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="08000000"); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="0cf9ffff 00000000"); ret(@blob=""); } void BossCard4GirlDead() { stackAlloc(@nargs=1, @blob="00000000"); anmPlay(@nargs=2, @blob="00000000 4e000000"); playSound(@nargs=1, @blob="02000000"); moveVelTime(@nargs=4, @blob="01000000 00000000 f02374c9 00000000"); anmReset(@blob=""); anmSetSprite(@nargs=2, @blob="00000000 6d000000"); flagSet(@nargs=1, @blob="03040000"); lifeSet(@nargs=1, @blob="a0860100"); anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); pushf(@nargs=1, @blob="db0f4940"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="02000000"); divf(@blob=""); addf(@blob=""); moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00000040"); pushi(@nargs=1, @blob="00000000"); seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); jmp(@nargs=2, @blob="a0000000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="3c000000 00000000"); call(@nargs=1, @blob="10000000 426f7373 43617264 34476972 6c000000"); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="64ffffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); ret(@blob=""); } void BossCard4GirlDead2() { stackAlloc(@nargs=1, @blob="00000000"); anmPlay(@nargs=2, @blob="00000000 4e000000"); playSound(@nargs=1, @blob="02000000"); movePosTime( @mask=0b1100, @nargs=4, @blob="01000000 00000000 00341cc6 00301cc6", ); anmReset(@blob=""); anmSetSprite(@nargs=2, @blob="00000000 71000000"); flagSet(@nargs=1, @blob="03040000"); lifeSet(@nargs=1, @blob="a0860100"); anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); pushi(@nargs=1, @blob="02000000"); modi(@blob=""); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="24010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008040"); mulf(@blob=""); pushf(@nargs=1, @blob="00008040"); addf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); pushf(@nargs=1, @blob="db0fc93f"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="08000000"); divf(@blob=""); addf(@blob=""); moveVel(@mask=0b11, @nargs=2, @blob="000080bf 000080bf"); jmp(@nargs=2, @blob="0c010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008040"); mulf(@blob=""); pushf(@nargs=1, @blob="00008040"); addf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); pushf(@nargs=1, @blob="db0fc93f"); addf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="08000000"); divf(@blob=""); addf(@blob=""); moveVel(@mask=0b11, @nargs=2, @blob="000080bf 000080bf"); moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); pushi(@nargs=1, @blob="78000000"); pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); pushi(@nargs=1, @blob="5a000000"); modi(@blob=""); addi(@blob=""); wait(@mask=0b1, @nargs=1, @blob="ffffffff"); pushi(@nargs=1, @blob="00000000"); seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); jmp(@nargs=2, @blob="a0000000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="3c000000 00000000"); call(@nargs=1, @blob="10000000 426f7373 43617264 34476972 6c000000"); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="64ffffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); ret(@blob=""); } void BossCard4Girl_at() { stackAlloc(@nargs=1, @blob="08000000"); pushi(@nargs=1, @blob="5a000000"); seti(@mask=0b1, @nargs=1, @blob="04000000"); pushf(@nargs=1, @blob="0000803f"); setf(@mask=0b1, @nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="28030000 00000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@mask=0b10, @nargs=3, @blob="00000000 01d9ffff 00000000"); etCountD( @nargs=9, @blob="00000000 01000000 01000000 02000000 04000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="00000000 db0fc93f db0f493e"); etSpeed(@nargs=3, @blob="00000000 0ad7233c 0000803f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 00100000 1e000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff 8988883c f02374c9", ); pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); lessf(@blob=""); jmpEq(@nargs=2, @blob="34000000 00000000"); etAngle(@nargs=3, @blob="00000000 db0fc9bf 00000000"); etOn(@nargs=1, @blob="00000000"); wait(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="28000000"); greateri(@blob=""); jmpEq(@nargs=2, @blob="64000000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="01000000"); subi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="04000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="00004040"); lessf(@blob=""); jmpEq(@nargs=2, @blob="64000000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="cdcc4c3e"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="dcfcffff 00000000"); ret(@blob=""); } void BossCard4Girl_at2() { stackAlloc(@nargs=1, @blob="04000000"); etNew(@nargs=1, @blob="01000000"); etAim(@nargs=2, @blob="01000000 03000000"); etSprite(@nargs=3, @blob="01000000 11000000 00000000"); etCountD( @nargs=9, @blob="01000000 04000000 06000000 09000000 07000000 01000000 01000000 01000000 01000000", ); etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 db0f493e"); etSpeedD( @nargs=9, @blob="01000000 6666a63f cdcccc3f 66662640 66662640 0000803f 0000803f 0000803f 0000803f", ); etEx( @nargs=8, @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); etOn(@nargs=1, @blob="01000000"); wait(@nargs=1, @blob="c8000000"); ret(@blob=""); } void BossCard4Phantom() { stackAlloc(@nargs=1, @blob="08000000"); anmSelect(@nargs=1, @blob="01000000"); anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); flagSet(@nargs=1, @blob="0d040000"); playSound(@nargs=1, @blob="2e000000"); setHurtbox(@nargs=2, @blob="0000c041 0000c041"); setHitbox(@nargs=2, @blob="00008041 00008041"); wait(@nargs=1, @blob="0c000000"); flagSet(@nargs=1, @blob="40000000"); flagClear(@nargs=1, @blob="03000000"); setInterrupt( @nargs=4, @blob="00000000 00000000 ffffffff 14000000 426f7373 43617264 34476972 6c446561 64000000", ); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); moveVel(@mask=0b1, @nargs=2, @blob="00ec1bc6 00000000"); moveVelTime(@nargs=4, @blob="2c010000 00000000 f02374c9 00008040"); moveCircleRel( @mask=0b11, @nargs=4, @blob="00f41bc6 00f01bc6 00000000 00000000", ); moveCircleRelTime( @mask=0b100, @nargs=5, @blob="3c000000 01000000 00f01bc6 00004042 00000000", ); wait(@nargs=1, @blob="f0000000"); delete(@blob=""); ret(@blob=""); } void BossCard4Phantom_at() { stackAlloc(@nargs=1, @blob="0c000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 02000000"); etSprite(@nargs=3, @blob="00000000 02000000 06000000"); etCount(@nargs=3, @blob="00000000 10000000 03000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", ); etOn(@nargs=1, @blob="00000000"); dropClear(@blob=""); dropExtra(@nargs=2, @blob="02000000 01000000"); dropArea(@nargs=2, @blob="00004042 00004042"); dropItems(@blob=""); anmPlay(@nargs=2, @blob="00000000 4e000000"); playSound(@nargs=1, @blob="02000000"); delete(@blob=""); ret(@blob=""); } void BossCard4Phantom_at2() { stackAlloc(@nargs=1, @blob="0c000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 02000000"); etSprite(@nargs=3, @blob="00000000 02000000 06000000"); etCount(@nargs=3, @blob="00000000 10000000 03000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", ); etOn(@nargs=1, @blob="00000000"); anmPlay(@nargs=2, @blob="00000000 4e000000"); playSound(@nargs=1, @blob="02000000"); delete(@blob=""); ret(@blob=""); } void BossCard5At() { stackAlloc(@nargs=1, @blob="04000000"); pushf(@nargs=1, @blob="00000000"); setf(@mask=0b1, @nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="ec020000 00000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 18000000 06000000"); etCount(@nargs=3, @blob="02000000 02000000 01000000"); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeed(@nargs=3, @blob="02000000 00000000 0000c03f"); etEx( @nargs=8, @blob="02000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="18000000"); subf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="14000000"); addf(@blob=""); etOffsetAbs(@mask=0b110, @nargs=3, @blob="02000000 000080bf 000080bf"); etDist(@nargs=2, @blob="00000000 00000042"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="20000000"); divf(@blob=""); addf(@blob=""); etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="9a99993f"); mulf(@blob=""); pushf(@nargs=1, @blob="cdcc4c3f"); addf(@blob=""); etSpeed(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); etOn(@nargs=1, @blob="02000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="66f7e43d"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); wait(@nargs=1, @blob="0a000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="18fdffff 00000000"); ret(@blob=""); } void BossDead() { stackAlloc(@nargs=1, @blob="04000000"); flagSet(@nargs=1, @blob="8c000000"); anmPlay(@nargs=2, @blob="00000000 4c000000"); playSound(@nargs=1, @blob="12000000"); anmPlay(@nargs=2, @blob="00000000 8d000000"); moveVel(@mask=0b1, @nargs=2, @blob="00381cc6 cdcccc3e"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="68000000 00000000"); enmCreate( @nargs=6, @blob="10000000 45636c5f 45744272 65616b32 00000000 00000000 00000000 0f270000 00000000 00000000", ); jmp(@nargs=2, @blob="50000000 00000000"); enmCreate( @nargs=6, @blob="10000000 45636c5f 45744272 65616b32 5f6e6900 00000000 00000000 0f270000 00000000 00000000", ); +60: // 60 etClearAll(@blob=""); spellEnd(@blob=""); funcCall(@nargs=1, @blob="04000000"); enmKillAll(@blob=""); dropMain(@nargs=1, @blob="00000000"); dropClear(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="2c000000 3c000000"); dropMain(@nargs=1, @blob="05000000"); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); dropExtra(@nargs=2, @blob="01000000 08000000"); dropExtra(@nargs=2, @blob="02000000 08000000"); dropArea(@nargs=2, @blob="00004042 00004042"); dropItems(@blob=""); setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000"); anmPlay(@nargs=2, @blob="00000000 4c000000"); anmPlay(@nargs=2, @blob="00000000 8e000000"); playSound(@nargs=1, @blob="12000000"); setBoss(@nargs=1, @blob="ffffffff"); delete(@blob=""); delete(@blob=""); } void GBoss1Girl() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="03000000"); anmSetSprite(@nargs=2, @blob="01000000 2f000000"); pushi(@nargs=1, @blob="6f000000"); seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); call( @nargs=3, @blob="0c000000 426f7373 31476972 6c000000 69690000 0a000000 69690000 01000000", ); delete(@blob=""); } void GBoss2Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 2f000000"); call( @nargs=3, @blob="10000000 426f7373 32506861 6e746f6d 00000000 69690000 60000000 69690000 01000000", ); delete(@blob=""); } void GBoss3Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 2f000000"); call( @nargs=3, @blob="10000000 426f7373 33506861 6e746f6d 00000000 69690000 60000000 69690000 01000000", ); delete(@blob=""); } void GBossCard2Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="00000000"); anmSetSprite(@nargs=2, @blob="01000000 2f000000"); call( @nargs=3, @blob="14000000 426f7373 43617264 32506861 6e746f6d 00000000 69690000 60000000 69690000 01000000", ); delete(@blob=""); } void GBossCard3Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 2f000000"); call( @nargs=3, @blob="14000000 426f7373 43617264 33506861 6e746f6d 00000000 69690000 60000000 69690000 01000000", ); delete(@blob=""); } void GBossCard4Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 2f000000"); call( @nargs=3, @blob="14000000 426f7373 43617264 34506861 6e746f6d 00000000 69690000 60000000 69690000 01000000", ); delete(@blob=""); } void RBoss1Girl() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); anmSetSprite(@nargs=2, @blob="01000000 2e000000"); dropMain(@nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="6e000000"); seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); call( @nargs=3, @blob="0c000000 426f7373 31476972 6c000000 69690000 05000000 69690000 01000000", ); delete(@blob=""); } void RBoss1Girl_at() { stackAlloc(@nargs=1, @blob="1c000000"); diffI( @mask=0b1, @nargs=5, @blob="04000000 08000000 08000000 08000000 08000000", ); pushi(@nargs=1, @blob="12000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 06000000 0a000000"); etCountD( @nargs=9, @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="00000000 00000000 920a863f"); etSpeedD( @nargs=9, @blob="00000000 cdcccc3f 00000040 66668640 66668640 00000040 00000040 00000040 00000040", ); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9", ); pushf(@nargs=1, @blob="d731e23f"); setf(@mask=0b1, @nargs=1, @blob="0000a041"); pushf(@nargs=1, @blob="e1edaf3f"); setf(@mask=0b1, @nargs=1, @blob="0000c041"); jmp(@nargs=2, @blob="7c060000 00000000"); pushf(@nargs=1, @blob="c092ab3b"); setf(@mask=0b1, @nargs=1, @blob="00008041"); pushi(@nargs=1, @blob="06000000"); seti(@mask=0b1, @nargs=1, @blob="04000000"); pushf(@mask=0b1, @nargs=1, @blob="00008041"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); mulf(@blob=""); pushi(@nargs=1, @blob="02000000"); divf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 0000a041 00000000"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="01000000"); addi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="04000000"); jmp(@nargs=2, @blob="74010000 00000000"); etEx( @mask=0b10000000, @nargs=8, @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00004041", ); etOn(@nargs=1, @blob="00000000"); etEx( @mask=0b10000000, @nargs=8, @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00004041", ); etOn(@nargs=1, @blob="00000000"); etEx( @mask=0b10000000, @nargs=8, @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 8fc275bd 00004041", ); etOn(@nargs=1, @blob="00000000"); etEx( @mask=0b10000000, @nargs=8, @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 0ad7a3bd 00004041", ); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00008041"); subf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); deci(@mask=0b1, @nargs=1, @blob="04000000"); jmpNeq(@nargs=2, @blob="90feffff 00000000"); pushf(@nargs=1, @blob="c092ab3b"); setf(@mask=0b1, @nargs=1, @blob="00008041"); pushi(@nargs=1, @blob="06000000"); seti(@mask=0b1, @nargs=1, @blob="04000000"); pushf(@mask=0b1, @nargs=1, @blob="00008041"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); mulf(@blob=""); pushi(@nargs=1, @blob="02000000"); divf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 0000c041 00000000"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="01000000"); addi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="04000000"); jmp(@nargs=2, @blob="74010000 00000000"); etEx( @mask=0b10000000, @nargs=8, @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00004041", ); etOn(@nargs=1, @blob="00000000"); etEx( @mask=0b10000000, @nargs=8, @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00004041", ); etOn(@nargs=1, @blob="00000000"); etEx( @mask=0b10000000, @nargs=8, @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 8fc275bd 00004041", ); etOn(@nargs=1, @blob="00000000"); etEx( @mask=0b10000000, @nargs=8, @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 0ad7a3bd 00004041", ); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00008041"); subf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); deci(@mask=0b1, @nargs=1, @blob="04000000"); jmpNeq(@nargs=2, @blob="90feffff 00000000"); pushf(@mask=0b1, @nargs=1, @blob="0000a041"); pushf(@nargs=1, @blob="850a863e"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="0000a041"); validRad(@mask=0b1, @nargs=1, @blob="0000a041"); pushf(@mask=0b1, @nargs=1, @blob="0000c041"); pushf(@nargs=1, @blob="850a863e"); subf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="0000c041"); validRad(@mask=0b1, @nargs=1, @blob="0000c041"); wait(@nargs=1, @blob="0a000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="88f9ffff 00000000"); ret(@blob=""); } void RBoss2Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); anmSetSprite(@nargs=2, @blob="01000000 2e000000"); dropMain(@nargs=1, @blob="01000000"); call( @nargs=3, @blob="10000000 426f7373 32506861 6e746f6d 00000000 69690000 5e000000 69690000 01000000", ); delete(@blob=""); } void RBoss3Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); anmSetSprite(@nargs=2, @blob="01000000 2e000000"); dropMain(@nargs=1, @blob="01000000"); call( @nargs=3, @blob="10000000 426f7373 33506861 6e746f6d 00000000 69690000 5e000000 69690000 01000000", ); delete(@blob=""); } void RBossCard2Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="00000000"); dropMain(@nargs=1, @blob="01000000"); call( @nargs=3, @blob="14000000 426f7373 43617264 32506861 6e746f6d 00000000 69690000 5e000000 69690000 01000000", ); delete(@blob=""); } void RBossCard3Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); anmSetSprite(@nargs=2, @blob="01000000 2e000000"); dropMain(@nargs=1, @blob="01000000"); call( @nargs=3, @blob="14000000 426f7373 43617264 33506861 6e746f6d 00000000 69690000 5e000000 69690000 01000000", ); delete(@blob=""); } void RBossCard4Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); anmSetSprite(@nargs=2, @blob="01000000 2e000000"); dropMain(@nargs=1, @blob="01000000"); call( @nargs=3, @blob="14000000 426f7373 43617264 34506861 6e746f6d 00000000 69690000 5e000000 69690000 01000000", ); delete(@blob=""); } void YBoss1Girl() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); anmSetSprite(@nargs=2, @blob="01000000 30000000"); pushi(@nargs=1, @blob="70000000"); seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); call( @nargs=3, @blob="0c000000 426f7373 31476972 6c000000 69690000 0f000000 69690000 01000000", ); delete(@blob=""); } void YBoss2Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 30000000"); call( @nargs=3, @blob="10000000 426f7373 32506861 6e746f6d 00000000 69690000 64000000 69690000 01000000", ); delete(@blob=""); } void YBoss3Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 30000000"); call( @nargs=3, @blob="10000000 426f7373 33506861 6e746f6d 00000000 69690000 64000000 69690000 01000000", ); delete(@blob=""); } void YBossCard2Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="00000000"); anmSetSprite(@nargs=2, @blob="01000000 30000000"); call( @nargs=3, @blob="14000000 426f7373 43617264 32506861 6e746f6d 00000000 69690000 64000000 69690000 01000000", ); delete(@blob=""); } void YBossCard3Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 30000000"); call( @nargs=3, @blob="14000000 426f7373 43617264 33506861 6e746f6d 00000000 69690000 64000000 69690000 01000000", ); delete(@blob=""); } void YBossCard4Phantom() { stackAlloc(@nargs=1, @blob="04000000"); anmSelect(@nargs=1, @blob="01000000"); dropMain(@nargs=1, @blob="02000000"); anmSetSprite(@nargs=2, @blob="01000000 30000000"); call( @nargs=3, @blob="14000000 426f7373 43617264 34506861 6e746f6d 00000000 69690000 64000000 69690000 01000000", ); delete(@blob=""); }