running code withing a StopEventList

HELP!

Can anyone tell me why conclusion1(), in askTopic item 1, in the code below is never called? No doubt I doing something daft with the syntax although at present the code works fine.

The reason for the multiple checks is in case the player asks about the topic items in a random order, so after asking all three topics you get the end message and game over. The message texts are quite long so I thought splitting it up would help instead of putting it all in the helloTopic.

[code]#charset “us-ascii”
#include <adv3.h>
#include <en_us.h>

versionInfo: GameID
IFID = ‘5159989e-1ef5-8d2e-61db-08fe7d5c82ab’
name = ‘Your New Game Title’
byline = ‘by Your Name’
htmlByline = ‘by
Your Name

version = ‘1’
authorEmail = ‘Your Name your-email@host.com
desc = ‘Put a brief “blurb” about your game here.’
htmlDesc = ‘Put a brief “blurb” about your game here.’
;

gameMain: GameMainDef
initialPlayerChar = me
;

stJamesDining : Room ‘st James’
desc()
{
“room description”;
}
;

  • me: Actor
    end1 = 0
    end2 = 0
    end3 = 0
    ;

  • nigelIrving : Person ‘sir nigel irving’ ‘sir nigel’
    isHim = true
    isProperName = true
    conclusion()
    {
    cls();
    “end message”;
    finishGameMsg(ftGameOver,’’);
    }
    desc()
    {
    cls();
    ”;
    }
    ;

++ HelloTopic, StopEventList
[
'prompt to ask about item 1 item 2 item 3 ',
'Ask me about the information. ’
]
;

++ AskTopic, StopEventList ‘item 1’
[
new function
{
“message 1”;
me.end1 = 1;
if(me.end1==1 && me.end2==1 && me.end3==1) &conclusion1;
if(me.end1==1 && me.end2==1 && me.end3==1) nigelIrving.conclusion;
},
'You should ask me about the other information. ’
]
conclusion1()
{
“final message”;
}
;

++ AskTopic, StopEventList ‘item 2’
[
new function
{
“message 2”;
me.end2 = 1;
if(me.end1==1 && me.end2==1 && me.end3==1) nigelIrving.conclusion;
},
'You should ask me about the other information. ’
]
;

++ AskTopic, StopEventList ‘item 3’
[
new function
{
“message 3”;
me.end3 = 1;
if(me.end1==1 && me.end2==1 && me.end3==1) nigelIrving.conclusion;
},
'You should ask me about the other information. ’
]
;

  • nigelIrvingTalking : InConversationState
    ;

++ nigelIrvingReady : ConversationReadyState
isInitState = true
;
[/code]

It looks to me like the problem is here:

&conclusion1;

More specifically, it’s the stray “&” before “conclusion1”. The “&” creates a reference to conclusion1, instead of calling it. Take out the “&”, and it should work.

(I’d offer an explanation of references, but it’s too late at night and my brain won’t work. Maybe in the morning…)

Told you it would be something daft that I did. Works fine of course, thank you.