Is there an object specification like P.B.'s documents for advanced elements (falling walls, bombs, acid, sweets etc.)? Or how did you implement these objects? The help file from gdash already gave me an idea, how some elements work. And what do you think, which elements are mostly used?
It seems for me, that there exists a lot of nice elements that are barely uses in fanmade games. For me, the following additional elements are the most important:
Growing walls (Hexpanding, Vexpanding and Expanding walls)
Rockford dolls
Animated: no; Impact explosive: no; Chain explosion action: consumed;
Explosion type: n/a; Rounded: no (objects don't roll off the Growing wall);
Graphics: Same graphic as the Brick wall
b) Interactions with other objects:
It doesn't interact with any other object
c) Specification:
If the field to the left or to the right contains space, this field will be replaced by the Growing wall element. Preference is given to expanding to the left over expanding to the right. The Growing wall is not able to expand to both sides during one scan! Make sure that you set the new Growing wall element to the delayed state to prevent an activity of the new element during the same scan routine.
Graphics: Same graphic as the Amoeba but with interchanged colors
b) Interactions with other objects:
Check...
- if the Slime is permeable or not
- if there's Empty space underneath it
- If the object above is a Boulder or a Diamond
- if this object above is "not falling"
Note that the order of these performed checks is important. Under these conditions, the element falls through the Slime.
c) Specification:
Slime checks whether it is permeable or not. Note that this check is always performed during a scan, regardless of the elements lying on it. If the Slime is permeable, the object above may fall through it under certain conditions. According to the Magic wall element, the object that falls through the Slime moves two squares down (it will never be "inside" the Slime) and is set to the falling and delayed state.
As Slime can't move, it is not necessary to set its delayed state.
3) Voodoo doll (Mrs. Rockford)
Introduced in PLCK. The following description is for PLCK-games.
Graphics: Same as a Rockford standing still (Graphics have been changed in later engines)
b) Interactions with other objects:
It doesn't interact with any other object
c) Specification:
Other objects interact with the Voodoo doll. The Voodoo doll actually does nothing.
The "flag" indicates that Rockford (the player) has to explode to Empty space.
During the scan of the following objects...
- a Butterfly explodes on contact with a Voodoo doll to Diamonds and the "flag" is set.
- a Firefly explodes on contact with a Voodoo doll to Empty space and the "flag" is set.
- Rockford (the player) will explode to Empty space when the "flag" is set
If the "flag" is set before the scan of Rockford (the player), then Rockford will explode during the same frame. Otherwise, Rockford (the player) will explode in the next frame.
If a Voodoo doll is consumed by an explosion, nothing special will happen.
c) Additional properties and specification for the CrLi-Engine:
Properties: Impact explosive: yes; Chain explosion action: turn to Gravestone; Explosion type: explode to Steel wall;
Specification:
During the scan of the following objects...
- a Falling Diamond that has a Voodoo doll underneath it is replaced by a Glued Diamond
- a Falling Boulder that has a Voodoo doll underneath it is replaced by a Glued Boulder
- a Voodoo doll
=> If there is a Glued Diamond lying on it, this Glued Diamond will be collected by the Voodoo doll as a normal Diamond can be collected by Rockford.
=> If there is a Glued Boulder lying on it, the Voodoo doll will explode to a "Gravestone with time penalty" surrounded by Steel walls. Be aware that the time penalty of this element will not be performed before the next frame (The "Gravestone with time penalty" will be replaced by a normal Gravestone in the next frame)!
If a Voodoo doll is consumed by an explosion, it will turn to a "Gravestone with time penalty" immediately.
- a "Gravestone with time penalty"
=> will turn to a normal Gravestone and the time penalty is performed.
------------------------------------------
These are the default properties of the described elements. Different behaviours may occur in fan made games.
I hope that my description is correct, and maybe it's helpful.
subotai
EDIT: I just edited the "Additional properties and specification for the CrLi-Engine" to keep everything together and correct. If you want to see what I wrote before, you can check LogicDeLuxe's posting. I hope you don't mind.
Last edited by subotai on Sat Sep 25, 2010 5:23 pm, edited 1 time in total.
subotai wrote:- a Falling Diamond or a Falling Boulder
=> If it has a Voodoo doll underneath it, a "flag" is set.
- a Voodoo doll
=> If the "flag" is set, the Diamond will be collected or the Boulder will cause an explosion of the Voodoo doll to a Gravestone surrounded by Steel walls.
Actually, this "flag" is a separate element. Namely, the glued versions of Diamonds and Boulders. The Gravestone is actually the Time Penalty element, which is turned to the Gravestone element when the time discount happens.
At least, this is how 1stB and CrLi works. GDash does it a bit different, but I'm not aware of any cave for which the difference causes any problems.
Thanks Logic. You are great! I just have to say this This helps me to improve my own implementation.
LogicDeLuxe wrote:The Gravestone is actually the Time Penalty element, which is turned to the Gravestone element when the time discount happens.
So a Voodoo doll that is consumed by an explosion will turn into the "Gravestone with time penalty" ($6F) and a "Gravestone with time penalty" will cause the penalty and turn into a "Gravestone" ($6A).
The Voodoo doll with a Glued Boulder lying on it will turn into a "Gravestone with time penalty" which will be transformed to a normal "Gravestone" during the next scan. This means that the time penalty for this element will be performed during the next scan routine. Is this correct?
LogicDeLuxe wrote:GDash does it a bit different, but I'm not aware of any cave for which the difference causes any problems.
Yes, I know. But changing this shouldn't be too complicated. And I hope, cirix will. I'm a bit stuck in my own remake cause there is no end in sight.