Ambrosia Garden Archive
    • Mission problem: repeating


      MIssion is repeating even though bits are set not to!

      Hi,
      I'm creating a storyline using MissionComputer, and so far I made 3 'misn's. My first mission is offered at a bar 30 days after the "Launch Exploration Probe" mission, and everything works fine so far. Then I get to my second mission, and it triggers properly. However, if I go to a bar, then my first mission is offered again (so now both missions are active). This is what my first mission bits look like:

      Offer the mission if (NCB test): b7781 & b238 & !(b447 & b378 & b612 & b97)
      When the player accepts (NCB set): b612
      When the player refuses (NCB set): b378
      When the mission completes (NCB set): b447
      When the player fails the mission (NCB set): b97
      When the player aborts the mission (NCB set): b97

      Note: b7781 is set upon completion of "Launch Exploration Probe"
      b238 is set upon ending of the 30 day cron

      Can anyone help me with this problem? The bits seem to make sense, and no bits conflict with others already used in the default game. I also tried different pilots, but nothing seems to work.

      Thanks!

    • Nova doesn't like it when operators are used to refer to multiple bits. Also, I think you've gotten your boolean algebra a little confused. Your offer expression is:

      b7781 & b238 & !(b447 & b378 & b612 & b97)

      Nova would prefer you write it as

      (b7781 & b238) & !((b447 & b378) & (b612 & b97))

      But I suspect what you MEANT to write is

      (b7781 & b238) & !((b447 | b378) | (b612 | b97))

      Note that each set of parenthises only contains two variables, as it should be, since AND and OR are technically binary operators. Regarding your original string, you've set it to NOT offer the mission if b447 AND b378 AND b612 AND b97 are set, that is, you require all four bits to be set for the mission to not be offered. If any one of the bits IS set, then the calculation in the brackets becomes 0, and !0=1, meaning the mission will be offered. Using the OR operator instead means the mission will not be offered if any one (or more) of the mission bits is set (rather than all of them).

      On a side note, why have you used such widely-spaced mission bits? Surely it'd be more simple to put the extra mission bits you're using closer to each other. It's not like you're running short so you have to find gaps where you can. Most of the 4000-series bits are free, if memory serves... though I'd have to check to be sure.

    • Thanks for the help, it worked!