BolEdit - The Bolo Level Editor --> Homepage Intro (Frames) | Commands | Coord. | Object creat. | Objects | Figures | Textures | Com. ref. | Obj. ref. | License
SourceForge.net Logo
Objects and Parameters
Table of contents
1. Object basics

Objects in Bolo can be devided into 4 categories:

  • Figures: the beater, the balls and killerdisks (see the figure page on this topic)
  • Passive stone types (simple stones, pins, bonus, ...)
  • Stone types that do something when hit by the ball
    (i.e. connecting the ball to a rubber band, changing gravity, switching the light off, releasing a rotor) or run automatically (magnets and timer)
  • Holes

Objects can be created by the following commands (links jump to the object creation page):
Stone, Hole, Fig and the object array commands.

There are some general parameters that can be set for all stone objects, see the following commands at the end of this page:
Points, Fix, SuperFix, NoFix, Activate, Deactivate

Some of the objects can have additional parameters. These can be set with special commands that are desribed at the appropriate object type on this page.

jump to table of contents jump to begin of topic

2. Passive stone types
oNone An empty stone, useful only in conjunction with the object array creation commands.
oSimple Simple stone type - uses only the basic stone textures for it's look.
oRing1
oRing2
oRing3
oRing4


oRing1 .. 4 have to be hit 2, 3, 4 or 5 times to destroy.

oPin like an oSimple stone with a slowly flashing bulb on it.
oRedLED
oGreenLED
When hit, it switches the color of its bulbs. All stones of a group of stones of this type have to be switched to green to destroy them. Groups can be defined by using the oTyp command (see Bolo level 43 for an example).
oLukas A stone that has to be hit with much power to destroy.

To set parameters for the oLukas stone use the following command right before the appropriate Stone or oTyp command that create the oLukas stone / stone type:

LukasFactor(power)
power = defines how much power the oLukas gets from the ball. With a low value (say 50) much power is necessary to destroy the stone and with a high value (say 400), less power is necessary to destroy it.
oQuest

oAddBonus05
oAddBonus10
oAddBonus20
oAddBonus50


When destroyed, these stones add 50, 100, 200 or 500 bonus points.
oIncBonus
oDecBonus
Bonus multiplicator increment / decrement stones
oBonus2
oBonus3
oBonus4
oBonus5
Bonus multiplicator stones

jump to table of contents jump to begin of topic


3. Stone types that do something when hit

These stones can be devided into 5 categories:

3.1. Stones that affect the beater
Can be used as parameter for the commands Stone and oType and additionally as paramter for the Use command. When the Use command is called, no actual stone is created, but the result is the same as if a stone of the appropriate type would be hit. See the Figure page --> Beater parameters for an example.

oNormalBeater
oBeater
(same as oShortBeater)
oShortBeater
oLongBeater
oCircleBeater
oCrossBeater
oTwinBeater

When hit by the ball, a stone of one of this types changes the type of the beater.

See the Figure page on how the different types of beaters look like.

oShieldOption Enables a shield for the beater, useful against killerdisks and rotors.
oShootOption Enables the beater to shoot, useful against killerdisks and rotors.
oShrinkOption Enables the shrink option for the beater.
oTurnOption Enables the beater to turn at 90 degrees.
oMagOption Enables the beater magnet option.

Parameters for the beater magnet can be set with the command:

BeaterMagnetPara
(force)(range)
Good values for force range from 0 (no force at all) to 100 (high magnetic force).
range
= size (in screen pixels) of a circular region around the magnet where the force is active. If the ball is outside this region, it won't get attracted by the magnet.

Example:
BeaterMagnetPara(100)(300)
Stone(oMagOption)(dgBskt2)(5)(256)(100)
oBreakOption Enables the beater break option
oNoneOption Disables any beater options

jump to table of contents jump to begin of topic


3.2. Stones that affect the balls / killerdisks
oGravity When hit, change the gravity in the level that effects balls and killerdisks.

To set parameters for the oGravity stone use the following command right before the appropriate Stone or oTyp command that create the oGravity stone / stone type:

Gravity
(x)(y)
x and y set the strength of the gravity in both directions. Possible values for x and y range from -3 to 3, where 0 means no gravity at all and a negative number indicates the opposite direction.

examples:
Gravity(0)(1) Stone(oGravity)(dgStck3)(1)(140)(50)
Gravity(0)(1) oTyp(1)(oGravity)(dgStck3)(1)
Gravity(0)(0)

Line 1 places a gravity stone at position x=140, y=50. when the stone is hit, gravity is activated in the y-direction (down the screen).
The 2nd line creates a gravity stone type for the commands ObjLine and NxtLine
The 3rd line is useful when placed after the last gravity stone commands - it sets the normal level gravity.
oFriction When hit, changes the amount of friction that affects the beater.

To set parameters for the oFriction stone use the following command right before the appropriate Stone or oTyp command that create the oFriction stone / stone type:

Friction(n)
Possible values for n range from 0 to 3, 0 means very low friction (like on ice) and 3 a high friction (like on sand). The default friction value is 2.

Example:
Friction(0) Stone(oFriction)(dgStck3)(1)(140)(50)
Friction(3) oTyp(1)(oFriction)(dgStck3)(1)
Friction(2)

Line 1 creates a friction stone that will activate "ice friction" on hit.
Line 2 creates a friction stone type with "sand friction" effect.
The 3rd line is useful when placed after the last friction stone commands - it sets the normal level friction.
oLittleBall
oNormalBall
oBigBall
These stones change the size of the black ball.
See Figures.
oLittleExtra
oNormalExtra
oBigExtra
These stones release the white extra balls of various sizes when hit.
See Figures.
oMagnet

The magnet stone attracts nearby balls and killerdisks.

To set parameters for the oMagnet stone use the following command right before the appropriate Stone or oTyp command that create the oMagnet stone / stone type:

MagnetPara(force)(range)
force = the power of the magnet. Good values range from 10 (low magnetism) to 500 (very high magnetism). Negative values cause repulsion instead of attraction.
range = size (in screen pixels) of a circular region around the magnet where the force is active. If the ball / killerdisk is outside this region, it won't get attracted by the magnet.

oAcc

Accellerator stone - when hit, it accelerates the Ball in a specific direction.

To set parameters for the oAcc stone use the following command right before the appropriate Stone or oTyp command that create the oAcc stone / stone type:

Acc
(x)(y)
x, y = direction and power of acceleration.

Examples:
Acc(0)(-20) oTyp(3)(oAcc)(dgWood2)(1)
Acc(30)(30) Stone(oAcc)(dgWood2)(1)(50)(40)
oDonner When hit, the ball suddenly gets a random speed and direction of movement.
oBeam Teleports the ball to another random oBeam stone.
oBumper The ball bounces off the oBumper when it hits it.
The dgBump texture set is made for this kind of stone.
oStop Stops the movement of the ball immediately, when hit
oExtra Get an extra live, when this stone is destroyed.
oGummi Connects the ball and itself with a rubber band.
The rubber band parameters of that line can be set up when the LinePara command is placed right before the appropriate Stone or oType command that create the oGummi stone / stone type.
See the commands page --> Line to see how LinePara is used.
oJumper Cuts off any existing rubber band from the ball, then connects itself and the ball with a rubber band.
The rubber band parameters of that line can be set up when the LinePara command is placed right before the appropriate Stone or oType command that create the oJumper stone / stone type.
See the commands page --> Line to see how LinePara is used.
oCut Cuts the rubber band between the ball that hits it and an oGummi or oJumper stone.
oFigCut When hit by the ball, it cuts the rubber band between the ball and another Figure.

jump to table of contents jump to begin of topic


3.3. Stones that affect holes
Can be used as parameter for the commands Stone and oType and additionally for the Use command. When the Use command is called, no actual stone is created, but the result is the same as if a stone of the appropriate type would be hit. See the Figure page --> Beater parameters for an example.

oCloseBlueHoles
oCloseRedHoles
oOpenBlueHoles
oOpenRedHoles


Opens / closes red / blue holes.
Blue holes are the big, red holes the small ones.

jump to table of contents jump to begin of topic


3.4. Stones that affect other stones
oDynamo

Rotates on hit. The duration of rotation depends on hit power. As long as it rotates, it inverses the fixed / unfixed state and the activated / deactivated state of stones that match the texture set and the color of the oDynamo stone.
For example, if the oDynamo stone has the texture dgBskt2(4) , it affects all stones that have one of the following textures: dgBskt2(4), dgBskt2(0) , dgBskt1(0) , dgBskt1(5) .

oDynamo stones are automatically created in the superfixed state (pinned with golden pins) so that they can't get destroyed.

The following command is used to set parameters for all oDynamo stones in a level. It's not possible to set different parameters for different oDynamo stones.

DynamoPara
(energyAbsorption)(durationFactor)
energyAbsorption = good values range from 5 to around 300, where a low value means that a higher speed of the ball is necessary to get the same duration of rotation compared to a high value.
durationFactor = defines how long it takes until the dynamo stops again after beeing hit.
Good values range from 800 to 1000 where at 800 the dynamo stops quickly, at 900 it needs more time whereas at 1000 it never stops its rotation.

Complete example level:

Reset
Fig(fNormalBall)(256)(330)
Fig(fBeater)(256)(360)
DynamoPara(200)(950)
oTyp(0)(oNone)
oTyp(1)(oDynamo)(dgTile1)(5)
oTyp(2)(oDynamo)(dgMamo3)(3)
Fix(3) oTyp(3)(oSimple)(dgTile1)(1)
Fix(4) oTyp(4)(oSimple)(dgTile1)(0)
Deactivate(5) Fix(5) oTyp(5)(oAddBonus10)(dgMamo3)(0)
Deactivate(6) Fix(6) oTyp(6)(oAddBonus50)(dgMamo1)(0)
Offset(256)(50) Factor(35)(25)
Pos(-6)(0) XYInc(1)(1)
ObjLine(13)"3434.1.2.5656"
oPincers
oHammer
When hit, the oPincers unfix aswhere the oHammer fixes stones that match the texture set and the color of the oPincers / oHammer (see the oDynamo stone on how excactly the matching is done).
oEyes When hit, it opens its eyes. When all oEyes stones of the same texture set and color have their eyes open, they unfix themself and unfix / activate any other fixed and/or deactivated stones that match the texture set and color of the oEyes stones (see the oDynamo stone on how excactly the matching is done).
Should be created as fixed stones (see commands Fix and SuperFix).
oSwitchFix
oSwitchAct
oSwitchFixAct

When touched by the beater, these stones inverse the fixed and/or activated states for group of stones that match the texture set and the color of the oSwitchFix / oSwitchAct / oSwitchFixAct (see the oDynamo stone on how excactly the matching is done).

oSwitchFix
inverses the fixed state.
oSwitchAct inverses the activated state.
oSwitchFixAct inverses both the fixed and the activated state.

See the commands Fix, SuperFix and Activate, Deactivate on how to set the initial fixed/unfixed and activated/deactivated state for a stone.

oTimer

The timer runs automatically when the level starts. After a predefined time, it switches the activated / deactivated state for all stones that match the texture set and the color of the oTimer stone (see the oDynamo stone on how excactly the matching is done; see the commands Activate and Deactivate on how to set the initial activated/deactivated state for a stone).

TimerSpeed(seconds)

This command sets how long (in seconds) it takes until the timer runs off.


jump to table of contents jump to begin of topic


3.5. Dangerous stones / stones that release dangerous objects
oKillerDisk A stone that releases a killer disk upon impact of the ball.
See the figures page on how to set additional parameters for the killerdisk that gets released from the oKillerDisk stone.
oRotor A stone that releases a rotor upon impact of the ball. The rotor moves over the screen and kills the beater upon impact.
oMine A stone that explodes when hit by the ball. The explosion fragments can kill the beater.
oMiniMine A stone that explodes when hit by the ball. The explosion fragments can kill the beater.
oLuckyBall When hit by the ball, it releases a small green extra ball, that moves a short distance before it explodes. As long as it lives, the green extra ball can destroy other stones and the beater.
oDeath When the beater has a collision with this stone, the beater gets destroyed.
oReset Very dangerous: when hit, clears the screen and the whole game is not playable anymore. This annoying stone should really be avoided when creating custom levels.

oHole
oBigHole



These objects represent the normal and the big holes that attract and destroy nearby balls.

Parameters for the oHole and oBigHole objects can be set with the following 2 commands:

HolePower(n)
Sets the power of attraction for all holes in the level.
Good values for n range from 10 (very low attraction) to 1000 (very high attraction). 200 seems to be normal attraction.

HoleFriction(n)
Sets the friction that affects balls near holes.
Good values for n range from 500 (very high friction) to 1000 (no friction at all). Default value seems to be somewhat below 1000.
When a high hole friction is used, the ball immediately gets slower if it reaches the range of a hole. So even fast balls will be sucked into the holes and will not fly over it.
This command was never used in the original levels.

Bonus(typeNumber)(nPoints)
The Bonus command sets how much bonus points the player gets when the ball falls into a specific hole.
When using the Bonus command before a Hole command, typeNumber must be set to 0. When using it before an oTyp command (with oHole or oBigHole as parameter), typeNumber must be set to the same number as in the oTyp command.
Possible values for nPoints: 10, 50, 100, 250, 500, 1000

See the following objects on how to open/close holes:
oOpenBlueHoles, oCloseBlueHoles, oOpenRedHoles, oCloseRedHoles

Complete example level for hole creation, parameters, opening/closing holes:
Reset
Fig(fNormalBall)(256)(330)
Fig(fBeater)(256)(360)
HolePower(800)
oTyp(0)(oNone)
Bonus(1)(50) oTyp(1)(oHole)
Bonus(2)(500) oTyp(2)(oBigHole)
SuperFix(3) oTyp(3)(oCloseBlueHoles)
SuperFix(4) oTyp(4)(oCloseRedHoles)
SuperFix(5) oTyp(5)(oOpenBlueHoles)
SuperFix(6) oTyp(6)(oOpenRedHoles)
Offset(256)(50) Factor(35)(25)
Pos(-6)(0) XYInc(1)(1)
ObjLine(13)"112.34.56.211"

jump to table of contents jump to begin of topic


3.6. Stones with global effect
oOffLight
oLight
oOffLight darkens the screen when hit.
oLight has the opposite effect.
oExit advance to the next level when hit

jump to table of contents jump to begin of topic

4. General stone parameters

Parameters / options that can be set for all stone objects.

Points(typeNumber)(nPoints)

When placed before a Stone or oTyp command, the Points command sets how much points the player gets when destroying that Stone.
When using the Points command before a Stone command, typeNumber must be set to 0. When using it before an oTyp command, typeNumber must be set to the same number as in the oTyp command.
Possible values for nPoints: 10, 20, 50, 100, 150, 200, 250, 500, 1000

Example 1:
Points(0)(500)
Stone(oSimple)(dgTile1)(5)(100)(100)
Stone(oRing3)(dgTile2)(1)(-100)(100)

Example 2:
Points(0)(100) oTyp(0)(oSimple)(dgTile1)(5)(100)(100)
Points(1)(250) oTyp(1)(oRing3)(dgTile2)(1)(-100)(100)

Example 1 sets the points for the two stones to 500.
Example 2 creates two stone types for later use in ObjLine and NxtLine. Points for the 1st type are set two 100, points for the 2nd one to 250.

jump to table of contents jump to begin of topic

Fix(typeNumber)

When placed before a Stone or oTyp command, the Fix command makes the following stone a fixed one that is pinned on the screen with silver pins. Fixed stones cannot be destroyed as long as they are fixed.

When using the Fix command before a Stone command, typeNumber must be set to 0. All stones that are created with the following Stone commands will be fixed ones until the NoFix(0) command is called.

When calling the Fix command before an oTyp command, typeNumber must be set to the same number as in the oTyp command. All oTyp commands that follow the Fix command and use the same typeNumber will create fixed stone types until NoFix(typeNumber) is called.

Note: As long as there are fixed stones in the level that were created by the Fix command, the level is not finishable.
Use the SuperFix command to create fixed stones that do not need to be destroyed to finish the level.

The following stone objects can fix / unfix other stones when hit by the ball:
oEyes
, oPincers, oHammer, oDynamo, oSwitchFix, oSwitchFixAct, oTimer

Complete example level 1:
Reset
Fix(0)
Stone(oSimple)(dgTile1)(5)(100)(100)
Stone(oRing3)(dgTile2)(7)(150)(100)
NoFix(0)
Stone(oSimple)(dgTile1)(4)(200)(100)
Stone(oRing3)(dgWood1)(5)(250)(100)
Fig(fBeater)(256)(370) Fig(fLittleBall)(256)(330)

Complete example level 2:
Reset
XYInc(40)(0)
(* --- create a row with both fixed and unfixed stones --- *)
Fix(1) oTyp(1)(oSimple)(dgTile1)(5)
oTyp(2)(oRing3)(dgTile2)(7)
Pos(100)(50) ObjLine(5)"12121"
(* --- create another row with both fixed and unfixed stones--- *)
oTyp(1)(oSimple)(dgTile1)(4)
Pos(100)(100) ObjLine(5)"12121"
(* --- create a row with unfixed stones only --- *)
NoFix(1) oTyp(1)(oSimple)(dgWood1)(5)
Pos(100)(150) ObjLine(5)"12121"
Fig(fBeater)(256)(370) Fig(fLittleBall)(256)(330)

Example 1 creates 4 stones. The first 2 stones are fixed, the last 2 not.
Example 2 creates 3 rows with 5 stones in each row. In the first two rows, the stones with type number 1 are fixed, in the 2nd row the stones with type number 1 are all unfixed because NoFix(1) is called before oTyp(1).

jump to table of contents jump to begin of topic

SuperFix(typeNumber)

Superfixed stones do the same as fixed stones except that they can never be unfixed. The level finishes when all other stones except the superfixed ones are destroyed.

Parameter and usage are the same as with the Fix command.

jump to table of contents jump to begin of topic

NoFix(typeNumber)

Ends series of fixed stone creation.
Works together with the Fix and SuperFix commands.

jump to table of contents
jump to begin of topic

Deactivate(typeNumber)

When placed before a Stone or oTyp command, the Deactivate command makes the following stone a deactivated one that can be destroyed but doesn't have any effect - the player gets no points and stones that would normally do something, do nothing.

When using the Deactivate command before a Stone command, typeNumber must be set to 0. All stones that are created with the following Stone commands will be fixed ones until the Activate(0) command is called.

When calling the Deactivate command before an oTyp command, typeNumber must be set to the same number as in the oTyp command. All oTyp commands that follow the Deactivate command and use the same typeNumber will create deactivated stone types until Activate(typeNumber) is called.

The following stone objects can activate / deactivate other stones when hit by the ball:
oEyes
, oDynamo, oSwitchAct, oSwitchFixAct, oTimer

jump to table of contents jump to begin of topic

Activate(typeNumber)

Ends series of deactivated stone creation.
Works together with the Deactivate command.

jump to table of contents jump to begin of topic