I'm kind of wondering if this usage of lisp in DudeFighter was intentional, in the definition for the GhostAttack Node you use a second if to test the case of not having a dagger, when you could put it in as the alternative to the selection statement. The reason this is an Issue is that the if in eval expects to unpack three values, so do we need too adjust the definition of If or can we safely move the "say fell the force of my slingshot" as the third part of the if statement?
GhostAttack
Hit the ghost
(if (have ('(dagger))) (say "Deal with this dagger, ghost!"))(if (not (have ('(dagger)))) (say "Feel the force of my slingshot!"))
> GhostAttack Your attack did not harm the ghost.
> LootGho You have defeated the the ghost. Now its time to take his stuff! :if (and (have('(dagger))) (fight "Ghost" "dagger"))
> LootGho You have defeated the the ghost. Now its time to take his stuff! :if (and (not(have('(dagger)))) (fight "Ghost" "slingshot"))