NPC

sprVoltIdle

objNPC

objects / Level Objects / objNPC
prtEntity > objNPC

Description

for tweaking its physics, use the creation code variables of prtEntity

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)

option_script_on_talk_start[0-4] (script to execute after their dialogue starts upon choosing this option)

option_script_on_talk_end[0-4] (script to execute after their dialogue finishes upon choosing this option)

Variables

NameValueDescription
activefalse
name'Volt Man'

sets the name in their dialogue box

name_colorc_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_spritesprMugshots

sets the sprite used for the mugshot in the dialogue box

mugshot_start0

the starting frame of the mugshot animation

mugshot_end0

the ending frame of the mugshot animation

mugshot_speed0

the speed of the mugshot animation

idle_spritesprite_index

sets the sprite they use for their idle animation) (becomes the default of all of the other animations if the rest aren't set

idle_start0

the starting frame of their idle animation

idle_endsprite_get_number(idle_sprite) - idle_start

the ending frame of their idle animation

idle_speed0.1

the speed of the idle animation

talk_spritesprVoltThrowShield

sets the sprite of their talking animation (default is the same as the idle animation)

talk_start0

the starting frame of their talking animation

talk_endsprite_get_number(talk_sprite) - talk_start

the ending frame of their talking animation

talk_speedidle_speed

the speed of the talk animation

maskmaskNPC

sets the mask used for collision (default: knight man)

standardPhysicstrue
talk_distance12

distance ahead that mega man checks when pressing up to talk

face_playerfalse

constantly turns to face the player as the player moves around

face_player_distance8

even if face_player is true, will not turn to face if player is closer than this

face_player_on_talktrue

if true, turns towards the player when talked to, and returns to previous direction when done [unless face_player is true]

script_on_talk_start0

script to execute when talked to

script_on_talk_end0

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_direction1

private:

prev_index0

Used for mugshots

option_chosen-1
option_spokenfalse
_im0
showarrow0
npcIDid

variable names in bold are safe to set in creation code.

Inherited from prtEntity

NameValueDescription
frozen0
boss0

boolean, is it a boss

faction3

Used for entities colliding with each other

healthpointsStart1

the amount of damage that must be dealt to the Entity before it dies.

healthpointshealthpointsStart
contactDamage0

the amount of damage the Entity does to the player on collision.

canHitfalse (*)

Boolean. If false, the entity won't take damage.

canDamagetrue

If false, the entity won't deal damage

isTargetabletrue

If false this object will be ignored by the targeting system

spawnEnabledtrue

if this is false, object will never spawn, but will remain dead instead.

pierces2

0: destroyed when hits. 1: destroyed unless kills. 2: never destroyed

penetrate0

0: reflectable. 1: not reflectable, but no damage. 2: bypasses shields

attackDelay0
category""
hitTimer0

counts how long it has been since the last time it took damage

iFrames0
ignoreBullet0

special case for ignoring a bullet when reflecting it (thunder beam)

killOverridetrue

special case for special kill effects ala BHB or Tornado Blow

hitterID0

the ID of the object that last hit this entity

respawntrue

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.

deadfalse
shiftVisible0
noFlickerfalse

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

beenOutsideViewfalse

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.

inWater0
bubbleTimer0
xspeed0
yspeed0
grav0.25
groundtrue
blockCollisiontrue

should the movement scripts block this object's movement at walls? If false, this object will be able to phase through walls.

dieToSpikesfalse
sinkin1
xcoll0
ycoll0
epIsOnPlat0
itemDrop0

This object will be spawned once the entity dies

stopOnFlashtrue
iceTimer0

is iced (frozen cold), and how much remaining time to spend iced

canIcetrue

is it possible to ice this object (usually doesn't matter if canHit is false)

invinciblefalse

set this to true to make this enemy invincible no matter what

sparkleTimer0
doesTransitiontrue

carries mega man through transitions

isSolid0

do other entities see this entity as a solid (i.e. a moving platform).

0: not solid. 1: fully solid. 2: top-solid.

fnsolid0

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

deadTimer0
targetnoone

the enemy object this entity currently sees as its primary target. Useful for programming any kind of enemy AI which responds to the player.

behaviourType0

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

facePlayerOnSpawnfalse

facePlayerfalse

specialDamageValuesTotal0

* value is modified from the default for prtEntity.

variable names in bold are safe to set in creation code.

Descendents of objNPC