Long ago, forest sprites protected the forest from evil forces called “dark spirits”. But Thoktar had subjugated the forest sprite village, leaving the forest vulnerable to dark spirits.
But don’t worry! It’s said that there is one forest spirit left, trapped in a statue. In order to free the sprite from the statue, you must cross the dangerous forest and destroy lurking forces.
This level is still new, so please expect some bugs. The following languages are supported: Javascript, Python.
Will this level be limited to the four free warriors?
When you walk around the side, it looks like the Skeletons are triggered by the hero’s Y position which releases them when the hero is in the corner.
Confirmed. If you sneak around the edge the Skeletons will attack the Dark Spirits but the Skeletons don’t do any damage to the Dark Spirits. Although this makes it harder because you are really close to the beams when attacking the Skeletons to release Zana. Also, I noticed the top left Dark Spirit has 120 health, not 60 like the rest.
I did attack the dark spirits (enemy.type == “shaman”) before releasing the skeletons and killed them with no problem. If you don’t kill them on both ends, the beam will still operate. Two bolts of chain-lightning will take them all out, one to each side (when the top left matches the rest with 60 health)
Extra note: the defensive boots make this level pretty challenging with the timing. It can be done, but it drags out the process.
I don’t undersand how the default code is supposed to work?
If the hero.time is one of the three posibilities no need to check the two others
The level can be finished with move 2m/s + speed ring with with a single or muliple hero.wait(time) or hero.time but folowing the default code is pure luck.
The default code is:
while (true){
if(hero.time == 0.5)
// move forward
// same pattern several times
break;
}
Let’s test only the first statement with a construction equivalent to hero.wait()
var breakInstant = 0.5
while (true){
if(hero.time == breakInstant ) break;
}
// and then move the hero
while (hero.distanceTo(Vector(destinationX, destinationY))> 0)
hero.move(Vector(destinationX, destinationY));
if breakInstant is 0.4 and 0.5 the above code will work.
if breakInstant is 0.3, 0.6, 0.7 the hero will stand still and the level will fail.
if we replace