Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Harlowe 1.1.1 bug reports

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

  • And when submitting bug reports, please note your OS, browser, and browser version. Thanks.
  • I am working on an RPG and relied on looping in order to automate several turns of combat. The looping aborts once you or the enemy die. It worked fine in the last version I was using.

    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.
  • ...
    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?...
    Could you supply an example of the code you are using for looping that is now failing?

  • I figure the problem (due to this working in past versions) will probably just boil down to:

    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")
  • edited July 2015
    I tried to improve the problem by just writing all the code into one passage that repeats until hero or enemy death, but it still wants to abort the loop if too many rounds of combat pass. It appears to be the 8th loop of combat that breaks it.
  • @noahmarshall
    I have sent you a PM about your nested passage contents depth issue.
Sign In or Register to comment.