Sonic Robo Blast 2 - 2.1 Bossses + Maces Resource

This text document will guide you through the steps of properly setting up these 
bosses and the "secret" 2.1 mace system.

If you plan to use anything from this PK3, please do not include this document.

(Most of this information comes from the SRB2 Wiki)

COMMONALITIES

By default, all of these bosses will cause an Egg Capsule to appear upon death, 
if it is set up. If any boss has the "Special" flag set, the stage will 
immediately end upon death, instead.

All bosses (except for Brak) use the functions A_21BossJetFume and 
A_21BossDeath, both of which are found in LUA_CMMN. This Lua file must be 
loaded before any of the other Lua boss definitions for them to work properly.
(Everything needed for Brak is in LUA_21BE, however)

EGG MOBILE (Green Flower Boss)

This boss spawns 128 fracunits above the ground, unless its Z position is 
overridden. Adding the "Ambush" flag will disable the horizontal aiming of the 
laser attack.

EGG SLIMER (Techno Hill Boss)

This boss's setup is pretty much identical to 2.2's version, so instead, here's 
a link to the current boss's object page on the wiki: 
https://wiki.srb2.org/wiki/Egg_Slimer

SEA EGG (Deep Sea Boss)

This boss behaves quite differently from its 2.2 counterpart. It requires a 
network of 6 to 16 waypoints, each numbered using their Angle value. This boss 
goes straight to the waypoint with an Angle of 0, then randomly decides on a 
waypoint with an Angle between 1 and 5. The next waypoint it goes to is 
determined by the Parameter value or Thing type number given to the current 
waypoint (The Thing type number is calculated as 292, plus the Angle of the 
next waypoint multiplied by 4096).

When this boss reaches the waypoint with Angle 0 again, it chooses another 
random waypoint with an Angle between 1 and 5, repeating the process. It will 
fire torpedoes at the player when it's stationed at a waypoint with the "Ambush" 
flag set.

EGGSCALIBUR (Castle Eggman Boss)

This boss makes use of a cage made out of FOFs that it can raise and lower 
during the fight. Please note that the FOF control sectors will need the tag 
65534 for this to work.

This boss makes use of the ported 2.1 mace system, which uses a slightly 
different setup compared to 2.2's mace system. As such, it requires LUA_OMCE to 
function properly. Look further below for an in-depth explanation on how to set 
these up.

METAL SONIC (Egg Rock Boss)

This boss will need "gather points" (same as the 2.2 version) placed on the map 
to be able to use his energy ball attacks. Otherwise, he will resort to his 
other methods of attack.

BRAK EGGMAN (Egg Rock Core Boss)

This boss gains an eletric shield when the "Ambush" flag is set.

2.1 MACE SYSTEM

Setting the "Ambush" flags on any of the chain spawn Things will make them use 
the "big" maces/chains rather than the smaller ones.

Linedef type 9 is used for setting up maces, just like 2.2. However, the 
parameters to pass in are slightly different from 2.2's maces:

	*Linedef tag*
	Should be set to the Angle of the mace/chain you are controlling.

	*Floor height*
	Determines the spinning/swinging direction of the mace/chain.
	(For swinging maces/chains, this is limited to instances where all 
	maces/chains in a control sector are given the same properties)

	*Ceiling height*
	Spinning maces/chains - Determines the maximum speed
	Swinging maces/chains - Determines the swinging angle
	Both - Setting this to 0 makes the mace/chain stationary

	*Linedef X distance*
	Determines the number of chain links in the mace/chain.
	
	*Linedef Y distance*
	Determines the speed of the mace/chain (0 is stationary).
	
	*Front texture X offset*
	Spinning maces/chains - Determines the spinning direction 
		(between 0 and 359; 0 and 180 are vertical, 90 and 270 horizontal)
	Swinging maces/chains - Determines the spawn angle
	
	*Front texture Y offset*
	Spinning maces/chains - Determines the swinging direction
		(between 0 and 359; 0 and 180 are vertical, 90 and 270 horizontal)
	Swinging maces/chains - Determines the spawn angle 
		(between 0 and 359; 0 is east)
	
	*Not Climbable lindef flag*
	When set, this lets the player change the direction of the spinning chains 
	ONLY. This has been changed from 2.1, where this flag disabled this 
	behavior, in order to stay consistent with 2.2's spinning chains.

The "Hidden Sling" chain should be used alongside a control linedef of type 442 
in order for it to appear in-stage by changing its state.
