OpenBoR Manual - Entity HeaderThese commands go in the header of the entity .txt file.
name {name} ~{name} is the name given to the entity by default.
~It is a string of 1 to 21 characters. You can actually use up to 40 characters, but the name will stretch off the screen or under the timer, making it look silly. You can also make the name even longer than that, but anything past 40 won't be displayed, so you'll really just be making your life harder.
~Program will crash on accessing the entity if you try to put a space in the name. You can safely use an underscore (_) instead.
~It is required- program crashes on access without it.
~Used for Players, Enemies, Items, Projectiles, and obstacles. Basically, everything.
type {type} ~{type}:
player: The entity is a human-controlled player.
enemy: The entity is a CPU controlled enemy or enemy projectile.
npc: The entity is a CPU controlled ally that will seek out and attack enemies. The entity is otherwise functionally identical to enemy entities with the chase subtype. You can change the NPC allegiance via hostile setting. Npc types do not count toward groups.
item: The entity is a stationary item which can be picked up. Items can only give one bonus per item. In other words, you can't make one item that both gives 2000 points AND gives a 1-up.
none: The entity is a useless decoration.
steamer: The entity constantly spews the object called Steam upwards with alpha transparency.
obstacle: The entity is a stationary blockade which can (normally) be destroyed.
text: The entity is a message object. When spawned, it will freeze all objects in play and show it's IDLE animation, then dissapear. It can be sped up by pressing attack or jump. Can be used for level intros, mid-level cutscenes, etc.
trap: The entity is an obstacle which cannot be attacked. It can be made to attack, though, and will hit both players and enemies. If a trap is not set up to knock the entity down, the trap will only damage the entity one time. To hit them again, the target entity must take damage from another entity.
endlevel: The entity is an item which, when touched by a player, will end the stage. It can be given a score value to be awarded for level completion.
pshot: The type is outdated and does nothing. You can still use it, but it's ignored.
subtype {type} ~{type}:
arrow: The entity flies from right to left off the screen. You can use the "flip" command when spawning it to make it fly left-to-right.
noskip: Used with text-type entities. It prohibits the player from using attack or jump to skip through text.
weapon: Used for player weapons which can be picked up and used.
biker: Used for Biker enemies. They fly left and right across the screen and must be knocked off their bikes to be stopped.
notgrab: Does the same thing as the cantgrab command: the entity can't be grabbed.
touch: For items. The item will be collected just by touching it. You won't need to press the attack button.
flydie: For obstacles. When hit, the obstacle will fly horizontally offscreen while playing it's FALL animation.
both: For endlevel items. If there are two players, both must be touching this item to end the stage.
project: For items. When picked up, this entity is treated like a weapon which doesn't actually change any of the character's attributes except for their projectiles. Works for both players and enemies (if they have a GET animation).
chase: For enemies and projectiles. If given to an enemy, he/she will walk towards player all the time. If player is far from the enemy, he/she will run instead. If given to projectile, it will become homing projectile.
follow: For npcs. Will cause an npc to attempt to follow the entity that spawned or summoned it (see below). Uses range setting in idle animation to determine how close it will follow. If the npc exceeds the minimum range and no entities it is hostile towards are nearby, it will move to the spawning entity normally. If it exceeds maximum range, the npc will instantly warp to the spawning entity regardless of what it is currently doing and play it?s respawn animation if it has one. An npc without this subtype will behave exactly like an enemy with the chase subtype. It can potentially follow a hostile across the entire level, and will wander randomly if no hostiles are available.
health {int} ~{int} is an integer, a number from -2147483647 to 2147483647 (which also happens to be (2^31)-1, if you're a math fan).
~This is the total amount of damage this entity can take before they die.
~Do not actually put a boss with 2147483647 health in your game. It's not funny.
~You can use decimal numbers, but it will always round down, so there's no real point.
~If you use a value less than one or greater than 2147483647, the enemy starts off dead. Now that IS funny, but not neccessarily useful.
~If the number is greater than the width of the life bar, the meter will "double up" the display. This can make it hard to tell how much life an enemy has remaining sometimes.
~Not required, but it defaults to zero if it's not there, so that's kind of useless if you don't set it in the level's spawn point.
~Used for players, enemies, items, projectiles, obstacles.
~For items, this tells you how much life you regain when you pick it up.
mp {int} ~{int} is an integer.
~This is the total amount of MP this entity begins with.
~MP is drained by attacks set to drain MP. It can be recovered in several ways.
~You can use decimal numbers, but it will always round down, so there's no real point.
~If the number is greater than the width of the life bar, the meter will "double up" the display. Since the MP bar is already pretty thin, this can make it hard to tell how much MP you have remaining sometimes.
~Not required. If a player doesn't have it, they won't have an MP bar displayed.
~Used for players and items.
~For items, this tells you how much MP you regain when you pick it up.
credit {int} ~For items.
~If an item has this set, it will give player credit when player take it.
~Keep in mind that only one bonus can be given to an item.
alpha {int} ~If set to 1, this entity will be displayed with alpha transparency.
~If set to 2, this entity will use negative alpha transparency (the darker colors are stronger, like shadows).
~If set to 3, this entity will overlay transparency. It's described in the engine as being a combination of alpha and negative alpha, and the formula is "bg<128 ? multiply(bg*2,fg) : screen((bg-128)*2,fg)".
~If set to 4, this entity will use hardlight transparency. Seems to be the opposite of overlay. The formula is "fg<128 ? multiply(fg*2,bg) : screen((fg-128)*2,bg)".
~If set to 5, this entity uses dodge transparency. Described in the code as being "Very nice for a colourful boost of light."
~If set to 6, this entity will use 50% transparency. The entire entity will be 50% transparent: every pixel will be averaged with the pixel right behind it.
~This setting DOES NOT work with remaps.
speed {int} ~{int} is a number from 5 to 300.
~You can use numbers less than 5, but the entity will still move at the same speed. Same with using more than 300.
~Somewhere between 100 and 300, the entity will gain the ability to run off the screen edges and out of the play area, killing it instantly. So that might not be a good idea.
~Setting this to 0 will not stop an enemy from moving. You must use 'nomove' to do that.
~Used for players, enemies, projectiles, and arrows.
running {speed} {height} {length} {move} {land} ~Determines the character's running abilities.
~Used for players and enemies with subtype chase.
~If present, players can run by pressing left or right twice and holding the button. The free special attack's input also changes to left, right, attack and right, left, attack.
~If this is not present, the character will be unable to run.
~{speed} is an integer value which works just like speed.
~Actually, unlike normal speed, running speed can be greater than 300. Of course, you'd still run off an edge into oblivion if you tried to set a running speed that high.
~{height} determines how high a character can jump (if at all) while running. It works like jumpheight.
~{length} is an integer value which changes how far a character can jump while running. It is multiplied by the current jump length.
~{move} is a binary value. It defaults to 0, which means the character stops running if they press up or down. If set to 1, the character will continue running, but will also move up or down at an angle.
~{land} is a binary value. 0 means they stop running after landing from a running jump. 1 means they can continue running if the player holds forward during the jump.
nomove {move} {flip} ~Can be used to make a stationary enemy (one who does not move).
~{move} is a binary value which determines if the enemy can or can't move. Setting it to 0 doesn't do anything, but setting it to 1 stops the enemy from moving.
~{flip} is a binary value which determines if enemies can turn around to face players behind them.
~If {move} is set to 1, the enemy's speed will default to 0.
jumpheight {int} ~{int} is an integer value which determines how high an entity jumps.
~The default value is 4.
~An entity's jumpheight also affects how far it flys when knocked down, and how high and far jumpframe moves you.
~For Bomb entities, this controls how high the bomb arcs into the air.
grabdistance {int} ~{int} determines many things:
~How close this entity must be to another to grab it.
~How far away this entity will stand while holding an enemy.
~How deep this character's attack range is (the range which can be changed with 'z' in LEVELS.txt).
~How close this entity must get to be stopped by obstacles or pick up items.
~How close other entities must be to be damaged or blocked by this trap/obstacle.
~The default value is 36.
throwdamage {int} ~Changes the amount of damage this entity recieves if it gets thrown.
~Defaults to 21.
throw {dist} {height} ~Controls the angle at which this player or enemy flies if they get thrown.
~{dist} is the distance that this entity will fly.
~{height} controls how high off the ground this entity will get before it starts falling back down.
throwframewait {frame} ~Sets at which frame in character's throwing animation, throwing will start.
height {alt} ~Affects an entity's ability to walk under platforms.
~If the platform is higher off the ground than this entity's height, this entity can move under it. Otherwise, it will get pushed out.
~Measured from the offset point up.
~This can only be set once per entity, so test it under multiple animations to make sure nothing goes wrong.
secret {bi} ~Used to make a 'secret' character who must be unlocked.
~Secret characters are unlocked after beating any difficulty setting once, and can only be used in 'secret' difficulty levels.
shadow {int} ~{int} is a number from 0 to 6.
~Each number corresponds to a specific shadow in the SPRITES folder.
~Normally, the lower numbers are smaller.
~This determines which shadow graphic will appear centered at this entity's offset point.
~0 means there won't be a shadow.
fmap {int} ~{int} is a number from 1 to 14 which tells the game what color to make the entity if it gets frozen by an attac
~{int} is the number of a remap palette
load {name} ~{name} is the name of an enemy which will be shot as a projectile.
~The projectile's type should be "enemy".
~The projectile must be named "shot", "knife", or "star". If you don't want to use those names (or they're already used), use the knife, star, and fireb commands.
project {name} ~For subtype "project" items.
~{name} is the name of the new projectile the player or enemy who grabs this can use.
shootnum {int} ~For items which can be used as weapons.
~This is the maximum number of times a weapon can be fired.
counter {int} ~For items which can be used as weapons.
~This is the maximum number of times a weapon can be dropped before it dissapears forever.
~To make weapons hang around basically forever, give them a high value like 100,000 or something. If somebody can drop it that many times, they probably don't deserve to hold onto it!
reload {int} ~For items.
~If a player picks up an item that has this command, it will restore their ammunition by {int}.
~Does nothing if a player doesn't have a weapon.
~Should be used with 'shootnum'.
~Don't forget that items can only give one bonus.
typeshot {bi} ~For weapons.
~Determines if the weapon is a gun or a knife.
~0 means a knife, and ammunition will not be displayed, since you can only throw knives once.
~1 means a gun, so ammunition will be displayed. It will also appear on the ground if you run out of ammunition while using it.
animal {bi} ~For players with a weapon.
~Determines if the weapon is actually an animal to be ridden.
~Animals will run away if they are knocked down enough times.
~Players on an animal can't be grabbed.
playshot {name} ~{name} is the name of an entity.
~The player shoots this with pshotframe #.
~This does exactly the same thing as a specifying {name} as a knife. Note: As of version 2.0691, playshot is no longer supported. Use knife instead.
playshotno {name} ~{name} is the name of an entity.
~The player shoots this with 'pshotframe #'.
~Difference with 'playshot' is that the shot entity won't fly forward or in other word, it will stay on ground and not moving. That means it can fall to holes.
~That also means setting a in 'pshotframe' is useless.
knife {name} ~Used like "load". {name} will be thrown like a knife.
~You'll need to use "load {name} {path}" instead of "know {name} {path}" when declaring the projectile in models.txt.
~Knives can't be used by enemies during a jump. Stars are currently thrown instead.
star {name} ~Used like "load". {name} will be flung like a ninja star in a jump.
~This command actually causes three stars to be thrown at three different angles.
~You'll need to use "load {name} {path}" instead of "know {name} {path}" when declaring the projectile in models.txt.
~Stars can only be used during a jump.
bomb {name} pbomb {name} ~This command is different for players and enemies. Players should use "pbomb" and enemies should use "bomb".
~Used like "load". {name} will be tossed out like a grenade.
~Bombs start off playing their IDLE animation until one of three things happens:
1: The bomb touches an entity
2: The bomb is hit by an attack
3: The bomb touches the ground
~After 1 or 2, the bomb will play it's ATTACK2 animation.
~After 3, the bomb will play it's ATTACK1 animation.
~After playing it's attack animation, the bomb will disappear.
~Bombs are thrown in an arc determined by their speed and their jumpheight.
~You'll need to use "load {name} {path}" instead of "know {name} {path}" when declaring the projectile in models.txt.
hitenemy {canhit} {alt} ~For enemy's projectile entities.
~If {canhit} is 1, this entity can hit other enemies, even if they threw this. Obviously, it still can hit players as well.
~If {canhit} is 0 or left out, this entity can only hit heros.
~If this entity is thrown as a bomb, it won't be able to hit the enemy who threw it until AFTER it explodes.
~{alt} determines when this entity can hit other enemies: 0 means it can hit either while in air or on the ground. 1 means the attack can only hit on the ground.
rider {name} ~For 'subtype biker' enemies.
~{name} should be the name of an enemy in MODELS.txt.
~When the bike is attacked, this entity will fall off.
~Defaults to "K'" (Yes, with an apostrophe ')
~If the rider is only loaded with 'know' in models.txt, you should add 'load {name} {path}' in this biker text to ensure that the 'rider' will fall off.
flash {name} ~{name} is the name of flash animation this entity will use. Defaults to "Flash".
~This is played when this entity is hit, not when it hits another entity.
~'noatflash' is required to make this command is activated.
bflash {name} ~{name} is the name of flash animation this entity will use. Defaults to "Flash".
~This is played when this entity blocks an attack.
dust {name} ~{name} is the name of flash animation this entity will use.
~This is played when this entity lands on the ground after being knocked down by an attack or after jumping.
~If it's not specified, nothing will be shown.
nolife {bi} ~Determines whether or not the player can see the entity's life when they make contact.
0 = they CAN see it. Defaults to 0.
1 = they CANNOT see it.
noquake {bi} ~Determines whether or not the screen shakes if the entity hits the ground after being thrown.
0 = it shakes. Defaults to 0.
1 = it doesn't shake.
nopain {bi} ~Used to make the character not playing his/her PAIN animation when hit by a non-knockdown attack. He will continue what he is doing when attacked.
nodrop {bi} ~Set it to 1 to stop this entity from falling unless he/she/it dies and:
1: There's no DEATH animation
2: There's a DEATH animation, and its 'falldie' flag is set to 1.
~This entity will play corresponding PAIN animation if knockdown attack hits him/her/it. For instance, attack3 will make this entity play PAIN3 even if it's a knockdown attack.
nodieblink {int} ~If set to 3, the entity, when killed, will play it's death animation without blinking, and will not disappear until scrolled offscreen. The enemy won't count towards 'group's after dying, even though they don't disappear. This setting only works for enemies, but the others work for players.
~Set to 2 to prevent the entity from blinking at all during death, and they will disappear after the last frame of their death animation.
~Set to 1 to prevent dead entities from blinking until after the last frame of their FALL or DEATH animation when killed.
~0 means they start blinking as soon as they die
makeinv {int} ~Determines whether or not the character is briefly invincible after being respawned. Otherwise, traps and enemies may be able to attack the player as they reappear- not nice.
~{int} is how many seconds the player will be invincible for.
~{int} also controls how long the parrow and parrow2 are visible.
~You can also use makeinv in item type entities. This will create an item that gives the player {int} seconds of invincibility , much like a star in Mario.
blockodds {int} ~{int} is a number from 1 to 2147483647. It determines how often an enemy will block an attack.
~1 means they'll block almost all attacks. 2147483647 means they pretty much never, ever, ever block, ever.
~Enemies can't block during attacks so don't hesitate using this
.
thold {int} ~{int} is the threshold for an entity's blocking ability.
~If the entity tries to block an attack with an attack power higher than {int}, they will not be able to do so and will get hit anyway.
~If {int} is 0, an entity will have infinite threshold. In other words, they can block any attacks.
~Regardless of threshold, if an attack is set to be unblockable, it can't be blocked.
blockpain {bi} ~Determines whether the entity plays pain animation during blocking or not.
0 = No pain animation during block.
1 = Pain animation is played during block.
falldie {value} or death {value} ~Determines how DEATH animation will be played when the character dies.
0 = fall, blink on ground then disappear without playing DEATH at all (default).
1 = No FALL animation, DEATH animation will be played right after final blow
2 = Fall first then play DEATH animation. This only applies to enemies.
~MAKE SURE that the character have DEATH animation when using this!
sleepwait {value} ~Determines how long player must stand still in IDLE animation before SLEEP animation is played in centiseconds. Default value is 10 seconds.
aironly {bi} ~If set to 1, this character's shadow will only be visible when it is off the ground (jumping, falling, etc.)
setlayer {int} ~This entity will be displayed as if it were at z position {int}, regardless of it's actual position.
grabback {bi} ~If set to 1, when grabbing, this entity will be displayed behind the other entity being grabbed.
icon {path} ~The graphic normally shown next to the entity's life bar.
~Normally a 16 x 16 box with a picture of the entity's head.
~{path} is the location relative to OpenBoR of the icon's .gif.
~The position of the graphic can be changed in LEVELS.txt.
~You can use a longer image to change the appearence of your character's lifebar, but remember that the box and shadow around it appear on top if you don't turn them off in LEVELS.txt.
~Dimensions of the life bar relative to the icon in bbox format (if you haven't changed it in LEVELS.txt): 18 8 103 9
iconpain {path} ~Same as icon, except this appears instead if the entity is being injured.
~This only works for players.
icondie {path} ~Same as icon, except this appears instead if the entity is dead.
~This only works for players.
iconget {path} ~Same as icon, except this appears instead if the entity is picking up an item.
~This only works for players. Not like anything else has a GET animation.
iconw {path} ~For players with a weapon.
~{path} should point to a .gif file.
~If a player has weapon with a limited number of uses, this icon will appear with a counter for the remaining uses.
iconmphigh {path} ~Same as icon, except this appears when the entity's MP is full.
~This only works for players. Other entities doesn't have MP.
iconmphalf {path} ~Same as icon, except this appears when the entity's MP is half.
~This only works for players. Other entities doesn't have MP.
iconmplow {path} ~Same as icon, except this appears when the entity's MP is low.
~This only works for players. Other entities doesn't have MP.
diesound {path} ~{path} points to a .wav file that plays if the entity is defeated.
~As with all .wav files, MAKE SURE TO KEEP THE FILE SIZE DOWN! Open the file with Microsoft Sound Recorder and cut off any blank or unneeded sections of the file. .wav is a large file format, don't waste all your mod's memory on it!
parrow {path} {x} {y} ~When a player respawns, the image at {path} will flash over the player at {x},{y} compared to their offset.
~The image will be visible for as long as the player is invincible after respawning (determined with makeinv).
~I use -48 -130 for mine. You'll probably want yours to be somewhere around there, but I doubt you're using the exact same image and entity, so experiment.
parrow2 {path} {x} {y} ~If player 2 is playing, and respawns, this will appear instead of parrow. You could just use parrow over again, or you could use something to mark that this is Player 2, not Player 1.
score {onkill} {multiplier} ~Changes the score earned by killing this entity. Both {onkill} and {multiplier} are {int}s.
~When the entity dies, the player who killed him/her/it will get {onkill} bonus points to their score.
~Any hits landed on this entity by a player which would increase the player's score is multiplied by {multiplier}.
~The default value is 5 for the multiplier. Setting {multiplier} to 0 makes it use default setting. Use -1 if you want to set 0 multiplier.
~When used with an item, {onkill} changes the amount of score added when the item is picked up and {multiplier} is not used.
smartbomb (power) (type) (pause) (length} ~This is for players. Enemies use the 'bomb' command for something else. Don't mix the two up!
~If this is present, the player's special will work differently: it will become a "smart bomb" which damages all onscreen enemies, regardless of position.
~{power} is an integer value which determines attack damage.
~{type} is the attack's effect type:
0 knockdown1 (based on attack1)
1 knockdown2 (based on attack2)
2 knockdown3 (based on attack3)
3 knockdown4 (based on attack4)
4 blast
5 burn
6 freeze
7 shock
8 steal
~{pause} is a binary value which determines whether or not all action onscreen pauses when you use your special. Used for a dramatic effect.
~If {type} was set to 6 (freeze), {length} can be used to determine how long the enemies will remain frozen.
~This command can also be used for items. In this way you can make "smart bomb" items to clear the screen. If you do use it with an item, {length} will replace {pause}
~Exactly what is so smart about a bomb that just hits everything, anyway?
toflip {bi} ~Used for hitflashes.
~If {bi} is 0, this hitflash will always face the same direction when spawned. If set to 1, the hitflash will flip when the attack comes from the other side.
cantgrab {bi} ~{bi} determines whether or not an entity can be grabbed and held (or thrown).
~If set to 1, opponent who stand close to this entity will simply pass through.
paingrab {bi} ~For enemies.
~Determines whether the enemy can be grabbed normally or only in pain animation.
0 (default) = enemy can be grabbed normally, if the enemy is grabbable that is.
1 = enemy can only be grabbed in pain animation, if the enemy is grabbable that is.
noatflash {bi} ~When {bi} is 1, this entity will always play it's personal 'flash' when hit, instead of the attacker's. Useful for obstacles.
remove {bi} ~Only works for projectiles. Defaults to 1.
1 = the projectile will be destroyed when it hits an enemy.
0 = the projectile continues flying even after hitting an enemy.
escapehits {int} ~For enemies
~If you give this to an enemy, the enemy will perform SPECIAL2 when they get hit by int+1 hits. Don't forget to give the enemy anim SPECIAL2 if you're using this.
~In case you haven't figured out, this feature is to make enemy counter attacks after they get certain number of consecutive hits.
~The counter will reset if enemy plays any animation EXCEPT IDLE, FAINT and PAIN. The counter works even with grabattacks.
com {dir1} {dir2} {action} freespecial{#} ~Allows you to customize freespecial input commands.
~The {#} should be the number of the freespecial you want to change. You can leave it blank for 1 or use 2 though 8 for 2 through 8.
~There is no space between freespecial and {#}.
~The input will become {dir1}, {dir2}, {action}.
~{dir1} or {dir2}: U: Up
D: Down
B: Back (The direction opposite your current direction. If used, the character will turn around.)
F: Forward
~{action}:
A: Attack button
J: Jump button
S: Special attack button
K: Alternate special attack button
~You can use either S or K for the special attack button commond. You can only use one or the other, so pick one and stick with it. This was done so that modders who use the special key for blocking can remember the key is used to blocK, not use Specials. (B would have been used, for Block, but B is already used for Back.)
~Make sure that you don't have any conflicts with other commands. RUN, DODGE, and the directional ATTACKs all have inputs which can be the same as freespecials.
~If you use B for {dir1}, flip the next input. The player changes direction, remember? So B, F, A would be 'turn around, move forward, attack', but since you turned around first, moving forward would mean moving in the direction you just turned to. If you wanted to have an input like Street Fighter's Guile or Charlie's Sonic Boom, you'd need to use B, B, A instead of B, F, A.
remap {path1} {path2} ~Allows you to create alternate palletes for entities.
~Each entity can have up to 14 palletes.
~{path1} is a sprite of an entity in their normal pallete. {path2} is a sprite of the entity in an alternate pallete.
~You should not change the file's pallete. The only changes should be to the pixels in the image, not the pallete data.
~Player 2 normally uses the first alternate pallete, but both players can select their color when choosing a character with up and down if the colourselect option is on.
~If your entity has sprites with incorrect colors in alternate palletes, the entity may use colors which are not in {path1}. Check the frames with incorrect colors and compare them. Then just add the colors somewhere in {path1} and the new colors in the same position in {path2}. If that sounds confusing, look at K9999's remaps. That's what I mean.
atchain {number} {number} {number} {number} {number} ~Determines the attack chain order for player. The attack chain only starts if the first attack hits.
~{number} can be either 1, 2, 3 or 4. 1 refers to ATTACK1, 2 to ATTACK2 and so on.
~You can repeat the same number if you need to.
~You don't have to use all 5 of them. Setting something like 'atchain 1 3 2' works.
~Default combo is 'atchain 1 1 2 3'.
chargerate {int} ~Determines how fast MP recharge with CHARGE animation would be. Default value is 2.
mprate {int} ~This sets how many MP player recovers (by time and by hitting enemy)
~If typemp = 1, this is the amount MP player recover from hitting enemy.
~If typemp = 2, this is the amount MP player recover on regular intervals.
risetime {value} ~This is for altering risetime (wait time for character while lying down after falling before rising).
~Positive value reduces risetime making the character rises earlier.
~Negative value increase risetime making the character rises more late.
turndelay {int} ~ This sets how long the character performs BACKWALK before turning back.
~ {int} is time in centiseconds.
~ This is used together with TURN and BACKWALK.
facing {int} ~ This is for forcing the entity to face certain direction regardless where he/she is going.
0 = no force (default).
1 = force the entity to face right.
2 = force the entity to face left.
3 = force the entity to face same direction with level's direction.
~ Setting this allows players to play BACKWALK.
weaploss {flag} ~Determines how weapon could be lost when the character is wielding a weapon.
0 (default) -> weapon is lost and dropped on any hit.
1 -> weapon is lost only on knockdown hit.
2 -> weapon is lost only on death.
3 -> weapon is lost only when level ends or character is changed during continue. This depends on the level settings and whether players had weapons on start or not.
~This setting can also be declared in weapon text. If you do so, the setting will override similar setting in character's text and it will only be used for that weapon.
branch {name} ~This is used to make endlevel entity warps players to certain level instead of the next level in a level set if player touch it.
~{name} is name of the destination in a level set.
~In case you haven't figure it out, this feature is to make branch for multiple paths.
fireb {name} ~This was used like "load". {name} was launched like a shot.
~This command has been removed. Use knives instead.
hostile {type1} {type2} ... ~Optional.
~Specifies what types an AI controlled entity will attack and what entities a projectile with the chase subtype will seek (this does not determine what the entity can hit, only what it will intentionally attack).
~Available types are enemy, player, npc, obstacle, shot and you can use as many as you need.
~Be aware if you use this setting, you must provide all types you wish this entity to be hostile towards. That is to say, an enemy with ?hostile npc obstacle? will only attack npc and obstacle types, not players.
candamage {type1} {type2} ... ~Optional.
~Specifies what types this entity can hit (very similar to hostile, but determines what entity may hit, not what it will intentionally target).
~Available types are enemy, player, npc, obstacle, shot and you can use as many as you need.
~Be aware if you use this setting, you must provide all types you wish this entity to be able to hit. That is to say, an enemy with ?candamage npc obstacle? will be able to hit npc and obstacle types, not players.
projectilehit {type1} {type2} ... ~Optional.
~Do not let the name confuse you, this is not for projectiles. This setting specifies what types this entity will hit when thrown from a grab.
~Available types are enemy, player, npc, obstacle, shot and you can use as many as you need.
~Be aware if you use this setting, you must provide all types you wish this entity to be able to hit when thrown. That is to say, an enemy with ?projectilehit player? will only hit players when thrown, not other enemies.
aggression {value} ~For enemies, this command modifies pausetime for enemy before they attack after player is within attack range.
~Positive value reduces pausetime making the enemy reacts faster.
~Negative value increase pausetime making the enemy reacts slower.
antigrab {value} ~This command sets entity's resistance to grabbing attempt by opponent. To grab this entity, opponent's 'grabforce' must equal or more than {value}.
~Used in conjuction with 'grabforce'.
grabforce {value} ~This command sets entity's power to grab an opponent. This entity will have success grab if opponent's 'antigrab' is equal or less than {value}.
~Used in conjuction with 'antigrab'.
offense {type} {%} ~Increases or decreases damage output of given attack type by %.
~For example, "offense shock 50%" will increase shock attacks by 50%, whereas "offense burn -75%" will decrease burn attacks 75%.
~ % could go more than 100 and -100. -100% makes the attack to give HP to opponent instead.
~ Possible types are:
all (all default attacktypes are affected)
normal# (replace # with appropriate attacktype number)
shock
burn
steal
blast
freeze (only affects damage, freeze effect remains)
~If you use attacktypes more than 10, setting 'all' won't affect attack11 and next attacks. You gonna have to set for each extra attack if you want to affect them too.
defense {type} {%} ~Increases or decreases damage received by given attack type by %.
~For example, "defense attack3 60%" will decrease attack3 damage by 60%, whereas "offense blast -45%" will increase blast damage by 45%.
~ % could go more than 100 and -100. -100% makes the entity regains HP from the respective attack instead.
~ Possible types are exactly sames with 'offense' (see above).
hmap {a} {b} ~Hides entity's remap from being selected (in select screen for heroes and in levels for enemies).
~Hidden remaps are from ath remap to bth remap.
~For example 'hmap 3 6', hides 3th, 4th, 5th and 6th remap.
~Normally used with scripts.
bounce {int} ~Determines whether entity will bounce or not after touches ground after falling.
0 = No bounce effect
1 = Bounce effect is set