I am trying to achieve the following situation: if the player cuts a rope, and they are carrying a certain item, another item is removed from play, and a statement is printed.
I have written the code like this:
Instead of cutting rope,
if the player is carrying the glass shard,
remove oil lamp from play.
This works.
This also works:
Instead of cutting rope,
if the player is carrying the glass shard,
Say "Strand by strand, you sever the fibres of the rope until it finally snaps. The lamp falls rapidly to the ground, and splits open as it collides with the trapdoor below. Oil flies in every direction, with the lion's share soaking into the wooden planks of the trapdoor, which immediately catch fire."
However, if I try to include the ‘remove’ function AND the ‘say’ function, I7 suddenly starts playing dumb, and either says that it doesn’t understand what “say” is, as an action, or says that it doesn’t understand what “play” or “remove from play” is, despite that fact that it understands that command perfectly in isolation. Which command it refuses to understand depends on how I arrange them in the code.
This is bullshit! I get the feeling that I can make it understand both commands in the same list by altering some minor thing like a comma or semi colon, or indentation, but none of the variations I’ve tried have made a difference.
Or is it because the “instead” command can only replace something (in this case cutting the rope) with one other action? What would be a better construction to achieve what I want (basically the player cutting the rope, but only with the glass shard item)?
If somebody can provide a solution, and maybe even explain why I7 is doing this, it would be amazing.