This is a new bug report thread for version 1.1.1 of Harlowe, released 7-Jul-15. As in the previous thread: when you notice bugs that cause your stories and projects to stop working or behave unlike how they did in 1.0.1 (or do something that doesn't seem to make sense given your expectations of the macros and syntax), do report them here and I will try my best to investigate the issue.
Examine the
change log first, though, to see whether the difference was intended to be deliberate (and to agree or disagree whether or not this change was valid).
Comments
It now appears to get flagged as "infinite looping" and Harlowe now self-aborts my looping. Is there any way for me to get around this?
Just in case: Windows 7, Firefox.
Thanks.
Hero attack or miss -- possible enemy death abort
Enemy attack or hero dodge -- possible hero death abort
The basic cycle I am running it through that repeats until a death:
"Miss Script Loop" -- your chance to miss
"Hero Attack Loop" -- your attack
"Dodge Script Loop" -- your chance to dodge
"Enemy Attack Loop" -- enemy attack
"Regen Loop" -- if you're a ranger, how much you regenerate
Then the possible breaks in the loop are:
"Enemy Death" and "Death"
I probably have some other stuff in there that probably don't play a role, like "absorb."
Miss Script Loop
(set: $miss to (random: 1, 20))(if: $class is "thief")[(set: $miss to 20)]
(if: $miss is 1)[(display: "Miss Flavor")
(display: "Dodge Script Loop")](else:)[(if: $miss > 1)[(display: "Hero Attack Loop")]]
Hero Attack Loop
(set: $atk to (random: 1, (round:(($str * $strmod) + ($will * $willmod) + $atkmod))))(set: $ehp to ($ehp - $atk))(set: $min to ($min + 1))(display: "Attack Flavor") You deal $atk damage!
(if: $ehp > 0)[(display:"Dodge Script Loop")](else:)[(if: $ehp < 0 or $ehp is 0)[(display: "Enemy Death") (display:"Victory")]]
Dodge Script Loop
(set: $dodge to (random: 1, 20))(if: $class is "thief")[(set: $dodge to (random: 1, 5))](if: $dodge is 1)[(display: "Dodge Flavor")
(display: "Miss Script Loop")](else:)[(if: $dodge > 1)[(display:"Enemy Attack Loop")]]
Enemy Attack Loop
(set: $eatk to (random: $emod , (30 * $emod)))(set: $min to ($min + 1))(display: "Enemy Flavor")(if: $class is "magician")[(display: "Absorb")](set: $hp to ($hp - $eatk)) You take $eatk damage.(if: $hp > 0)[ (display: "Regen Loop")](else:)[(if: $hp < 0 or $hp is 0)[ (display: "Death")]]
Regen Loop
(if: $class is "ranger")[(set: $regen to (round: (random: ($con * .8), $con)))](if: $regen > $eatk)[(set: $regen to $eatk)](set: $hp to ($hp + $regen))(if: $hp > ($con * $conmod * 10))[(set: $hp to ($con * $conmod * 10))](if: $class is "ranger")[You regenerate $regen health.]
(display:"Miss Script Loop")
I have sent you a PM about your nested passage contents depth issue.