Here's the code for my inventory screen:
(if: $inv's length > 0)[You have (print: $inv.join(", ")) in your backpack, and $money dollars in your pocket.](else:)[You have nothing in your backpack, but you do have $money dollars in your pocket.]
(if: $inv contains "your shotgun")[(click: “shotgun”)[(print: $shotguntext)]]
I've also tried the expression with putting the text from $shotguntext into its own passage, and trying to display that passage instead, but it still has the same problem. What's puzzling me is that it worked previously, and in a sepparate instance where I use nearly identical code to display "Messages" in an array that is the cell phone. The only difference here is that I use (click-replace:) for that section, and I tried using that here as well, and it didn't do me any good.
Here's the code that puts the shotgun into the inventory, and sets it's properties:
(set: $sgowner to "Mr. Gilmore")
(set: $inv to $inv + (a: "your shotgun"))
(set: $sgammo to 20)
(set: $shotguntext to "The shotgun you got from $sgowner's office. Simple, effective, and deadly, this weapon will undoubtedly save your life multiple times.
Am I missing something simple here?