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.