Persuasion rule for asking an orc to try singing: persuasion succeeds.
Singing is an action applying to nothing. Understand “sing” as singing.
Carry out singing:
If the actor is not an orc:
Say “Only orcs sing.”;
Else:
Say “[The actor] sing a very pretty song.”;
The Arena is a room.
Barffy is an orc in the Arena.
Gobba is an orc in the Arena.[/code]
But it gives the results below - when I try to get the orc to sing, it simply doesn’t do anything:
Persuasion rule for asking an orc to try singing: persuasion succeeds.
To sing is a verb.
Singing is an action applying to nothing. Understand “sing” as singing.
Carry out an actor singing: say “[The actor] [sing] a very pretty song.”;
Check an actor singing when the actor is not an orc: say “Only orcs sing.” instead.[/code]
The issue here was the “carry out” rule. “Carry out” only governs the player, while “carry out actor” affects both the player and non-player characters.
“Carry out an actor singing” should be NPC and player. Look at section 12.14 of Writing with Inform; if you write “carry out singing” it only applies to the PC, if you write “carry out a person singing” (or some other description) it only applies to NPCs, but if you try “carry out an actor singing” it should apply to both PC and NPCs.
However, as Eleas wrote it, the “Carry out an actor singing” rule won’t run for the PC if the PC isn’t an orc, because the check rule stops the action before the carry out rule runs – as it should. What is your code where “carry out an actor” isn’t running for the player?