The master control object for any boss.
Creation code:
healthpoints: The Boss health. Default is 28. This can be used for enemies, too, but I'm restating it here because why not.
hitInvun: the length of the hit invulnerablilty of the boss, in frames. If this is 1 or lower, they don't have any.
healthParent: Whatever instance ID this is set to, if the boss takes damage its parent(healthParent) and its brothers will also take damage, if this value is different from -1 the healthbar wont be drawn, so leave this untouched in the healthParent
syncIFrames : if using a healthParent and this is true, iFrames will be applied to the parent(healthParent) and its brothers
shareMode : Mode 0: for bosses that share the same healthbar, so if one dies all of them die;
Mode 1: for bosses with individual healthbars that are drawn as one
dieToPits : if true the boss will die if it falls into a pit
music: just the file name of the music you're using for the boss. MUST BE A STRING
musicType: Type of file to load. "OGG" loads OGGs, "VGM" loads NSFs/SPCs/VGMs/GBSs
musicTrackNumber: If musicType is "VGM", it'll use this as the track for the NSF/SPC/VGM/GBS
musicVolume: 0-1 (the volume of the music; optional)
musicLoopSecondsStart: 0-song point in seconds (the starting loop point of the music in seconds; optional)
musicLoopSecondsEnd: 0-song length in seconds (the ending of the loop of the music in seconds; if musicLoopSecondsStart is used, this one is required)
introType: Type of intro animation.
// 0 = none (healthbar only fills up when you manually set that the intro is over),
// 1 = drop in (default), 2 = pop in, 3 = dramatic MM6 animation, 4 = Tier Boss cutscene
// More info for introType 4 can be found in event user 6.
cutsceneScript: If set, introType 4 will call this code rather than event user 6.
lockTransitions: Default true, if it's true, all boss gates and screen transitons lock when the boss is onscreen.
useEndStageBehavior: Default true, if it's true, ALL music will stop and transitons stay locked on defeat. Otherwise, stage music and transitions resume.
itemDrop: Can be used for enemies, but important here. The thing the boss drops, as an object. Default objEnergyElement.
elementName: If itemDrop is objEnergyElement, this is the name of the EE they drop.
elementScript: If itemDrop is objEnergyElement, this is the script of the EE they drop.
elementCode: If itemDrop is objEnergyElement, this is the code string of the EE they drop.
stopOnFlash: If set to true, the enemy will be affected by timestopping weapons. Default false.
healthBarPrimaryColor[1]: Primary color of the boss' first healthbar. THE [1] IS IMPORTANT. Use the number of the color you want that's on the NES palette reference.
healthBarSecondaryColor[1]: Secondary color of the boss' first healthbar. THE [1] IS IMPORTANT. Use the number of the color you want that's on the NES palette reference.
healthBarColorSkip: The number that the healthbar color increments by when a new healthbar is reached, referring to the color numbers in global.nesPalette. Only applies if using automatic coloring.
manualColors: If set to true, you can define the colors of each healthbar of the boss manually. Instead of
it relying on the global.nesPalette array, you use make_color_rgb.
// Example: healthBarPrimaryColor[2] = make_color_rgb(0,0,0). The second healthbar will use that color for primary. Etc.
Name | Value | Description |
---|---|---|
blockCollisionStart | noone | |
gravStart | 0 | |
active | false | intro stuff |
startIntro | false | |
isIntro | false | |
startFight | 0 | |
isFight | false | |
wasKilled | false | |
music | "Mega_Man_2.nsf" | BOSS SETTINGS ! |
musicType | "VGM" | |
musicTrackNumber | 17 | |
musicVolume | 0.8 | |
musicLoop | true | |
musicLoopSecondsStart | 8.825 | |
musicLoopSecondsEnd | 61.575 | |
elementName | "" | |
elementScript | scrNoEffect | |
elementCode | "" | |
introType | 1 | |
introFade | 0 | |
cutsceneTimer | 0 | |
cutsceneScript | "" | |
quickSpawn | false | If true, it will spawn as a regular enemy |
destroyOnDeath | true | |
doPlayerExplosion | true | If true it will use the same death effect as the player |
dieToPits | true | |
useEndStageBehavior | true | |
lockTransitions | true | |
hitInvun | 45 | |
forceSpreadSettings | false | |
_init | 1 | |
drawBoss | false | Should we be visible? (Can't use the 'visible' variable as this prevents the Draw event from executing) |
rememberDepth | depth | for the MM6 intro fade to go under the health bar. |
maxFanOutDistance | 80 | |
drawHealthBar | false | healthbar bs |
canFillHealthBar | true | |
fillingHealthBar | false | |
healthBarTimer | 0 | timer for fillup |
healthBarTimerMax | 30 | how long will the boss wait between finishing intro and filling healthbar? |
healthBarTimerSpeed | 1 | basically health per frame |
healthBarTimerSpeedExtra | 0.25 | |
healthBarColorSkip | 1 | |
manualColors | false | |
healthBarHealth | 0 | |
healthIndex | -1 | If a boss shares a healthbar with another boss set it manually from the create event to the same value(check gemini man or rounder v2 for more details on how to share healthbars) |
healthParent | -1 | |
syncIFrames | false | |
shareMode | 0 | |
musicStore | "" | Music storage for restarting it after death |
musicTypeStore | "" | |
musicLoopStartStore | 0 | |
musicLoopEndStore | 1 | |
musicLoopStore | 0 | |
musicVolumeStore | 0.8 | |
musicTrackNumberStore | 0 | |
customPose | false | if this is true, boss performs own pre-fight posing animation. |
introLock | false | |
visible | 0 |
Name | Value | Description |
---|---|---|
frozen | 0 | |
boss | 1 (*) | boolean, is it a boss Notes for prtBoss:
used for some prtEntity control stuff |
faction | 3 | Used for entities colliding with each other |
healthpointsStart | 1 | the amount of damage that must be dealt to the Entity before it dies. |
healthpoints | 28 (*) | |
contactDamage | 0 | the amount of damage the Entity does to the player on collision. |
canHit | true | Boolean. If false, the entity won't take damage. |
canDamage | true | If false, the entity won't deal damage |
isTargetable | true | If false this object will be ignored by the targeting system |
spawnEnabled | true | if this is false, object will never spawn, but will remain dead instead. |
pierces | 2 | 0: destroyed when hits. 1: destroyed unless kills. 2: never destroyed |
penetrate | 0 | 0: reflectable. 1: not reflectable, but no damage. 2: bypasses shields |
attackDelay | 0 | |
category | "" | |
hitTimer | 0 | counts how long it has been since the last time it took damage |
iFrames | 0 | |
ignoreBullet | 0 | special case for ignoring a bullet when reflecting it (thunder beam) |
killOverride | false (*) | special case for special kill effects ala BHB or Tornado Blow |
hitterID | 0 | the ID of the object that last hit this entity |
respawn | true | If this is false, the entity will permanently be destroyed if it is ever dead. If true, it will respawn any time it scrolls on-screen. |
dead | false | |
shiftVisible | 0 | |
noFlicker | false | If set to true, depth modulating will be disabled for this object. |
respawnRange | -1 (*) | distance beyond edge of view at which entity spawns if dead. Set to -1 to make infinite |
despawnRange | -1 (*) | distance beyond edge of view at which entity despawns if alive. set to -1 to make infinite |
beenOutsideView | false | in order to respawn, this must be set to true. It is set to true when the spawn co-ordinates of the entity surpass both the despawn and respawn range. |
inWater | 0 | |
bubbleTimer | 0 | |
xspeed | 0 | |
yspeed | 0 | |
grav | 0.25 | |
ground | true | |
blockCollision | true | should the movement scripts block this object's movement at walls? If false, this object will be able to phase through walls. |
dieToSpikes | false | |
sinkin | 1 | |
xcoll | 0 | |
ycoll | 0 | |
epIsOnPlat | 0 | |
itemDrop | noone (*) | This object will be spawned once the entity dies |
stopOnFlash | false (*) | |
iceTimer | 0 | is iced (frozen cold), and how much remaining time to spend iced |
canIce | false (*) | is it possible to ice this object (usually doesn't matter if canHit is false) Notes for prtBoss:
by default, should not be able to freeze bosses |
invincible | false | set this to true to make this enemy invincible no matter what |
sparkleTimer | 0 | |
doesTransition | true | carries mega man through transitions |
isSolid | 0 | do other entities see this entity as a solid (i.e. a moving platform). 0: not solid. 1: fully solid. 2: top-solid. |
fnsolid | 0 | if set to true, will only be solid to entities of faction that it is friendly towards. set it to 2 for the opposite |
spawned | -1 | parameter for spawn event; -1 indicates never spawned |
deadTimer | 0 | |
target | noone | the enemy object this entity currently sees as its primary target. Useful for programming any kind of enemy AI which responds to the player. |
behaviourType | 2 (*) | The strategy the enemy should use to pick which player to target 0: generic 1: always nearest 2: switch every few seconds 3: custom 4: pick once, never switch |
facePlayerOnSpawn | true (*) | Notes for prtBoss:
Generic stuff |
facePlayer | false | |
specialDamageValuesTotal | 0 |
* value is modified from the default for prtEntity.
variable names in bold are safe to set in creation code.