FANDOM


Currently copied shamelessly straight from the source.  Needs to be cleaned up. Also look for properties that are not listed.

Below is a list of every Custom Enemy property in Mari0: SE.

Properties are formatted in the manner below, though note that the values given are only examples, and not meant to be used in earnest.

"integer": 2 (Can be any whole number)
"decimal": 0.2 (Can be any number with a decimal point)
"boolean": true/false
"string": "text"
"array": [value, "value"]
"^_comment": "ignored by the game"

Although the properties are listed in camel-case, they are case insensitive when used in-game.

Graphics Edit

  • "quadCount": integer Number of frames in enemy.png. Default: 1
  • "noSpriteSets": boolean Graphic will not be vertically split for the 4 spritesets. Default: false
  • "animationType": string Type of animation.
    • "frames"
      • "animationStart": integer First frame from the quads used in normal-state animation
      • "animationFrames": integer Number of frames used in normal-state animation
      • "animationSpeed": decimal (seconds/frame) Frame duration in seconds
    • "mirror"
      • "animationSpeed": decimal (seconds) Time between each mirror of the image
      • "quadNo": integer Frame to use. Default: 1
    • "none"
      • "quadNo": integer Frame to use. Default: 1
  • "dontMirror": boolean Graphic will not get mirrored when moving left
  • "facesPlayer": boolean Graphic will get mirrored to look at the player
  • *"rotateTowardsPlayer": boolean Faces player in all directions

Positioning Edit

  • "spawnOffsetX": decimal (blocks) X-axis offset from in-editor spawn placement or center of ancestor
  • "spawnOffsetY": decimal (blocks) Y-axis offset from in-editor spawn placement or center of ancestor
  • "width": decimal (blocks) Collision width of the enemy
  • "height": decimal (blocks) Collision height of the enemy
  • "offsetX": decimal (pixels) X-axis offset for the image
  • "offsetY": decimal (pixels) Y-axis offset for the image
  • "quadCenterX": decimal (pixels) X-axis center of quads for rotation
  • "quadCenterY": decimal (pixels) Y-axis center of quads for rotation
  • "customScissor": array[decimal] (blocks) Only draw parts of an enemy. The coordinates are set from top-left of the enemy's block and in blocks.
    • [X start, Y start, width, height]
  • "invertedScissor": boolean The enemy can be seen anywhere but the scissor region

InteractionEdit

  • "speedX": decimal (blocks/second) Horizontal speed
  • "speedY": decimal (blocks/second) Vertical speed
  • "gravity": decimal (blocks/second2) Negative vertical acceleration
  • "lifetime": decimal (seconds) Lifetime before this enemy is killed
  • "static": boolean Object won't move or be affected by gravity (better performance)
  • "active": boolean Object is updated and can collide (Usually true!)
  • "spawnSound": string Sound that gets played when this enemy is created
    • Filename of the in-game sound, minus file extension. Custom sounds are not supported
  • "autoDelete": boolean Enemy will be auto deleted if too low or behind the screen

Collisions Edit

  • "category": integer ID used with Masks to determine which entities the enemy collides with
  • "mask": array[boolean] Array of categories masked with this enemy. If enemy.mask[otherenemy.category] is true, the two will not collide.
  • "noCollideStops": boolean Whether this enemy continues motion after collision (useful with bullets for example)
  • "portalable": boolean Whether the enemy goes through portals. Default: true
  • "emancipateCheck": boolean Whether this enemy is emancipated by emancipation grills
  • "ignoreFaithPlates": boolean The enemy will not get launched by Aerial Faith Plates.

Items and Powerups Edit

  • "makesMarioStar": boolean Makes Mario starred on contact
  • "makesMarioGrow": boolean Makes Mario grow into Big or Fire Mario on contact
  • "removeOnMarioContact": boolean Will get removed when Mario touches it
  • *"giveCoinWhenStomped": boolean Gives a coin when stomped
  • *"giveCoinWhenShot": boolean Gives a coin when shot with a fireball

Kills Edit

  • "kills": boolean Whether Mario dies upon any contact with this enemy
  • "killsOnSides": boolean Whether Mario dies upon contact with the sides of this enemy
  • "killsOnBottom": boolean Whether Mario dies upon contact with the bottom of this enemy
  • "killsOnTop": boolean Whether Mario dies upon contact with the top of this enemy
  • "killsEnemies": boolean Kills other enemies on contact
  • "killsEnemiesAfterPortal": boolean Turns on killsEnemies after going through a portal
  • *"breaksBlocks": boolean Whether the enemy will break break bricks
  • *"breakBlockSide": string What side to break
    • "global"
    • "sides"
    • "left"
    • "ceil"

Resistances Edit

  • "laserResistant": boolean Makes this enemy immune to lasers
  • "resistsFire": boolean Makes this enemy immune to Mario's fireballs
  • "resistsStar": boolean Makes this enemy immune to starred Mario
  • "resistsSpikes": boolean Makes this enemy immune to spikes (tile property)
  • "notKilledFromBlocksBelow": boolean Will not die if on a block that gets hit by Mario from below
  • "jumpsFromBlocksBelow": boolean Will jump if on a block that is hit by Mario from below

Movement Modifiers Edit

  • *"reflects": boolean Bounces off of tiles
  • *"staticIfSeen": boolean Becomes static when player faces the enemy
  • *"staticIfNotSeen": boolean Opposite of above

Bounces Edit

  • "bounces": boolean Whether this enemy will bounce every time it hits the floor (like a Star)
  • "bounceForce": decimal (blocks/second) How strong each bounce will make the enemy fly up

Jumps Edit

  • "jumps": boolean The enemy will leap to platforms above and below it, like a Hammer Bro.
  • "jumpTime": decimal How long to stay in the air
  • "jumpForce": decimal Force to jump up
  • "jumpForceDown": decimal Force to jump down

Shell Edit

  • "shellAnimal": boolean Whether this enemy can retract into a shell:
    • "smallMovement": string When stomped and a ShellAnimal, enemy will change to this enemy type
    • "smallSpeed": decimal (blocks/second) Speed when getting kicked or changing directions

Chase Edit

  • *"chaseTime": decimal Chase mario after a x seconds (like hammer bros in SMB)
  • *"chaseSpeed": decimal

Transforms Edit

  • "transforms": boolean The enemy will transform under some condition
  • "transformsInto": string Name of the enemy to transform into
  • *"transformsIntoRandoms": array[string] List of enemies to transform into
  • "transformTrigger": string What condition the enemy will transform under
    • "floorcollide"
    • *"rightcollide"
    • *"leftcollide"
    • *"ceilcollide"
    • *"globalcollide"
    • *"collide"
    • *"death"
    • *"shot"
    • *"lifetime"
    • *"playernear"
    • *"playernotnear"
    • *"seen"
    • *"notSeen"
  • *"transformPassedParameters": array[string?] Parameters that get passed on once the enemy transforms
  • *"playerNearDist": integer Enemy will transform when player is this near (horizontal)
  • *"playerNearDist": array[decimal] Same as above, but as a region
    • [x, y, width, height]
  • *"transformTriggerObjectCollide": string Transforms when it collides with an object
  • *"transformTriggerEnemyCollide": string Transforms when it collides with an enemy

StompEdit

  • "stompComboSuppressor": boolean These enemies won't add to the player's combo of jumping on top of many enemies in a row
  • "stompable": boolean Whether this enemy can be stomped
    • "stompAnimation": boolean Whether the enemy changes to stompedFrame when stomped
    • "stompAnimationTime": decimal Duration of stompedFrame
    • "stompedFrame": integer Frame used when stomped
    • *"fallsWhenStomped": boolean Falls when stomped, even if it has a stomped frame
  • "killedByBoxes": boolean Makes this enemy stompable by cubes (doesn't require Stompable to be true)

Health Edit

  • *"health": integer How many hits the enemy can take
  • *"shotHealth": integer How many fireballs the enemy can take
  • *"stompHealth": integer How many blows to the head the enemy can take

SpawningEdit

  • "spawnsEnemy": string Name of enemy to spawn.
  • *"spawnsEnemyRandoms": array[string] Spawns a random enemy
  • "spawnEnemyDelays": array[decimal] (seconds) A list of delays from which a random one is chosen every time
  • "throwQuadOffset": integer How much to add to the used quad (If your usual cycle is 1-2-1-2 and you want it to be 3-4-3-4 for the throwing, this is 2!) - this means the throw animation is of the same format as the normal animation
  • "throwPrepareTime": decimal Amount of time before the actual throw that the throwquad is used
  • "spawnEnemyOffsetX": decimal X-axis offset to spawn enemies
  • "spawnEnemyOffsetY": decimal Y-axis offset to spawn enemies

Possible ways to set the speed of spawned enemiesEdit

Simple speed Edit

  • "spawnEnemySpeedX": decimal (blocks/second) X-Speed of spawned enemies
  • "spawnEnemySpeedY": decimal (blocks/second) Y-Speed of spawned enemies

Random speed Edit

(Can be random for X and simple for Y for example)

  • "spawnEnemySpeedXRandomStart": decimal (blocks/second) Minimum value of horizontal speed range (negative for left)
  • "spawnEnemySpeedXRandomEnd": decimal (blocks/second) Maximum value of horizontal speed range
  • "spawnEnemySpeedYRandomStart": decimal (blocks/second) Minimum value of vertical speed range
  • "spawnEnemySpeedYRandomEnd": decimal (blocks/second) Maximum value of vertical speed range

Towards nearest player Edit

  • "spawnEnemySpeedXTowardsPlayer": boolean Override child speed X only
  • "spawnEnemyTowardsPlayer": boolean Override child SpeedX and SpeedY
  • "spawnEnemySpeed": decimal (blocks/second) Set child SpeedX and SpeedY accordingly

MovementEdit

  • "movement": string Movement type
  • "movementRandoms": array[string] List of movement types to randomly choose (Overrides Movement)
    • "none" Does not accelerate except by gravity. Use truffleshuffle at speed 0 if you want the enemy to slide to a stop.
    • "truffleshuffle" Moves left and right. Think Goombas or Koopas.
      • "truffleshuffleSpeed": decimal (blocks/second) Speed of horizontal movement
      • "truffleshuffleAcceleration": decimal (blocks/second2 ???) Acceleration of horizontal movement
      • "turnAroundOnCliff": boolean Whether horizontal speed is reversed upon arrival on cliff (like a Red Koopa)
    • "piston" Goes out and in and out and in. Think Piranha Plants.
      • "pistonDistX": decimal Horizontal distance of piston in blocks
      • "pistonDistY": decimal Vertical distance of piston in blocks
      • "pistonSpeedX": decimal Horizontal speed
      • "pistonSpeedY": decimal Vertical speed
      • "pistonExtendTime": decimal Duration of extension
      • "pistonRetractedTime": decimal Duration of retraction
      • "dontPistonNearPlayer": boolean Stay retracted when the player is near
        • "dontPistonDist": decimal Piston won't extend (but will retract) if player is this near
      • "inactiveOnRetracted": boolean Whether the enemy loses spawn and kill properties while retracted
    • "follow" Follows Mario. Think Lakitu.
      • "followSpace": decimal (blocks) The enemy will try to stay inside this many blocks from the player
      • "distanceTime": decimal Multiplied with the player speed to estimate where the player will be in this many seconds, that position is actually used then
      • *"followSpeed": decimal How fast the enemy will follow the Player
      • *"noFollowSpeedUp": boolean Will not speed up when the player is far
    • "shell" Slides all over the place. Think stomped Koopas.
      • "wakesUp": boolean Whether this enemy returns to its initial state
        • "resetTime": decimal (seconds) How long until this enemy wakes up from its shell
        • "wiggleTime": decimal (seconds) How long before waking up the enemy will wiggle
        • "wiggleDelay": decimal (seconds) Time between each wiggle
        • "chaseMarioOnWakeup": boolean Wake up facing the player
    • "squid" Moves down first, then towards player and up. Think Bloopers.
      • "squidFallSpeed": decimal Speed at which this enemy moves down (Phase 1)
      • "squidDownDistance": decimal (blocks) How far the enemy falls down
      • "squidXSpeed": decimal Speed at which this enemy moves right and left (Phase 2)
      • "squidUpSpeed": decimal Speed at which this enemy moves up (Phase 2)
      • "squidHorDistance": decimal (blocks) How far the enemy goes left/right
      • "squidAcceleration": decimal (blocks/second2) How fast the enemy accelerates
    • "rocket" Shoots up, falls down, repeat. Think Podoboos.
      • "rocketDistance": decimal (blocks) How high this enemy will get shot up every time
    • "wiggle" Jogs back and forth. Think Hammer Bros.
      • "wiggleDistance": decimal (blocks) How far to wiggle
      • "wiggleSpeed": decimal (blocks/second) How fast to wiggle
    • "verticalwiggle" Goes up and down within a margin. Think Cheep Cheeps.
      • "verticalWiggleDistance": decimal (blocks) How far this enemy will wiggle downwards
      • "verticalWiggleSpeed": decimal (blocks/second) How fast this enemy wiggles up and down
    • *"flyvertical" Flies up and down. Think Flying Red Koopas.
      • *"flyingTime": decimal Duration of flight
      • *"flyingDistance": decimal Distance of flight
    • *"flyhorizontal" Like above, but horizontally.
      • *"flyingTime": decimal Duration of flight
      • *"flyingDistance": decimal Distance of flight

Alesan99's enemy.luaEdit

*"shotJumpForce": decimal ???? (shot jumpforce duh)

*"shotSpeedX": decimal ???? (shot speedx)

*"customtimer": array[array] Put arrays in the array, the first slot is the delay, the second one is the action, the third one are the arguments ACTIONS    "bounce"    "playsound"    "setframe"    "set[PARAMETER HERE]"    "reverse[PARAMETER HERE]"   (turns positive to negative and negative to positive)    "add[PARAMETER HERE]"    "multiply[PARAMETER HERE]"

Properties to test Edit

Undocumented properties found in the game code. May or may not actually work.

"startTowardsPlayerHorizontal" "speedxtowardsplayer" "kill" "doesntunrotate" "shot"

Further ReadingEdit

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.