| Name | Value | Description |
|---|---|---|
| behaviour | "wander" | behaviours |
| avoidsPits | true | |
| jumps_pits | true | |
| ignores_pits | false | |
| move_speed | noone | gets defaulted in step code on first frame |
| jump_speed | -4.8 | the speed they jump up with |
| walk_sprite | sprNPCKnightmanWalk | sets the sprite that's used for their walking animation (default is the same as the idle animation) |
| jump_sprite | sprNPCKnightmanJump | sets the sprite that's use for their jumping animation (default is the same as the idle animation) |
| walk_start | 0 | the starting frame of their walking animation |
| walk_end | sprite_get_number(walk_sprite) - walk_start | the ending frame of their walking animation |
| walk_speed | idle_speed | the speed of the walk animation |
| jump_start | 0 | the only frame for their jump animation (can't have it animated) |
| only_jumps | false | |
| mode | 0 | private: |
| mode_timer | 0 | |
| mode_timer_end | 0 |
variable names in bold are safe to set in creation code.
| Name | Value | Description |
|---|---|---|
| active | false | |
| name | 'Knight Man' (*) | sets the name in their dialogue box Notes for objNPCMobile:
Same as objNPC but in motion option[0-4] = "string here" (sets the option you can choose, anywhere between 1 to 5) option_text[0-4] = "string here" (sets the text they will say after choosing this option) |
| name_color | c_white | sets the color of the name in their dialogue box |
| text | 'I have nothing to say.' | sets the text in their dialogue box |
| mugshot_sprite | sprMugshots | sets the sprite used for the mugshot in the dialogue box |
| mugshot_start | 0 | the starting frame of the mugshot animation |
| mugshot_end | 0 | the ending frame of the mugshot animation |
| mugshot_speed | 0 | the speed of the mugshot animation |
| idle_sprite | sprNPCKnightmanIdle (*) | sets the sprite they use for their idle animation) (becomes the default of all of the other animations if the rest aren't set Notes for objNPCMobile:
animation: |
| idle_start | 0 | the starting frame of their idle animation |
| idle_end | sprite_get_number(idle_sprite) - idle_start | the ending frame of their idle animation |
| idle_speed | 0.1 | the speed of the idle animation |
| talk_sprite | idle_sprite (*) | sets the sprite of their talking animation (default is the same as the idle animation) |
| talk_start | 0 | the starting frame of their talking animation |
| talk_end | sprite_get_number(talk_sprite) - talk_start | the ending frame of their talking animation |
| talk_speed | idle_speed | the speed of the talk animation |
| mask | maskNPC | sets the mask used for collision (default: knight man) |
| standardPhysics | false (*) | |
| talk_distance | 12 | distance ahead that mega man checks when pressing up to talk |
| face_player | false | constantly turns to face the player as the player moves around |
| face_player_distance | 8 | even if face_player is true, will not turn to face if player is closer than this |
| face_player_on_talk | true | if true, turns towards the player when talked to, and returns to previous direction when done [unless face_player is true] |
| script_on_talk_start | 0 | script to execute when talked to |
| script_on_talk_end | 0 | script to execute when finished talking |
| code_on_talk_start | "" | code to execute when talked to |
| code_on_talk_end | "" | code to execute when finished talking |
| _prev_direction | 1 | private: |
| prev_index | 0 | Used for mugshots |
| option_chosen | -1 | |
| option_spoken | false | |
| _im | 0 | |
| showarrow | 0 | |
| npcID | id |
* value is modified from the default for objNPC.
variable names in bold are safe to set in creation code.
| Name | Value | Description |
|---|---|---|
| frozen | 0 | |
| boss | 0 | boolean, is it a boss |
| 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 | healthpointsStart | |
| contactDamage | 0 | the amount of damage the Entity does to the player on collision. |
| canHit | false (*) | 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 | true | 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 | 700000 (*) | 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 | 0 | This object will be spawned once the entity dies |
| stopOnFlash | true | |
| iceTimer | 0 | is iced (frozen cold), and how much remaining time to spend iced |
| canIce | true | is it possible to ice this object (usually doesn't matter if canHit is false) |
| 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 | 0 | 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 | false | |
| facePlayer | false | |
| specialDamageValuesTotal | 0 |
* value is modified from the default for prtEntity.
variable names in bold are safe to set in creation code.