diff --git a/ATL/Pooh/objects.atl b/ATL/Pooh/objects.atl index 2b97f84..b1463ac 100644 --- a/ATL/Pooh/objects.atl +++ b/ATL/Pooh/objects.atl @@ -110,7 +110,7 @@ define-npc "Kanga" description "Kanga is Roo's mother. She is very responsible, but also very loving and affectionate. Don't disobey her, though!" - says "Hello Pooh, have you come to play with Roo?" + says "Hello Pooh, have you come to play with Roo? He's at the sandy pit." interaction-hook "kanga-healing" define-npc "Roo" @@ -123,6 +123,7 @@ constant bouncing can be incredibly irritating, but he is very loyal and too friendly to really dislike." says "Watch out, HERE I COME!!!" + interaction-hook "bouncy-tigger" define-npc "Owl" description "Owl is a wise, old bird. He is ever so clever and uses many diff --git a/ATL/Pooh/objects.atl b/ATL/Pooh/objects.atl index 2b97f84..b1463ac 100644 --- a/ATL/Pooh/objects.atl +++ b/ATL/Pooh/objects.atl @@ -110,7 +110,7 @@ define-npc "Kanga" description "Kanga is Roo's mother. She is very responsible, but also very loving and affectionate. Don't disobey her, though!" - says "Hello Pooh, have you come to play with Roo?" + says "Hello Pooh, have you come to play with Roo? He's at the sandy pit." interaction-hook "kanga-healing" define-npc "Roo" @@ -123,6 +123,7 @@ constant bouncing can be incredibly irritating, but he is very loyal and too friendly to really dislike." says "Watch out, HERE I COME!!!" + interaction-hook "bouncy-tigger" define-npc "Owl" description "Owl is a wise, old bird. He is ever so clever and uses many diff --git a/ATL/Pooh/pooh-extensions.lisp b/ATL/Pooh/pooh-extensions.lisp index a50ac34..4e5026e 100644 --- a/ATL/Pooh/pooh-extensions.lisp +++ b/ATL/Pooh/pooh-extensions.lisp @@ -23,9 +23,9 @@ "Jump off Pooh's branch onto his porch." (format t "~&You look down nervously, then jump off the branch.") (if (> 50 (random 100)) - (progn (format t "~&You land safely. That was fun!") + (progn (format t "~&You land safely. That was fun! You gain 3 XP.") (add-player-experience player 3)) - (progn (format t "~&Ouch! That hurt! You take 3 fall damage.") + (progn (format t "~&Ouch! That hurt! You take 3 HP fall damage.") (change-player-health player -3))) (read-line) (goto player "Pooh's porch")) @@ -37,6 +37,18 @@ (format t "~&~%Kanga bandages your wounds. You feel better.") (setf (player-health player) (player-max-health player)))) +(defun bouncy-tigger (player) + "Tigger bounces the player, then moves on to a random location" + (let* ((place (get-game-object 'place (player-place player))) + (neighbour (get-game-object 'place + (random-elt (place-neighbour place))))) + (format t "~&~%A large yellow-and-black object comes flying out of nowhere") + (format t "~&and knocks you over. When you sit up again, you see Tigger") + (format t "~&grinning widely at you.") + (format t "~&~%Tigger bounces away toward ~A." (place-name neighbour)) + (remove-object-attribute place 'npc "Tigger") + (set-object-attribute neighbour 'npc "Tigger"))) + (let ((lost-in NIL)) (defun lost-in-the-forest (player place prob) "Walking through a forest, it's easy to end up going in circles..." diff --git a/ATL/Pooh/objects.atl b/ATL/Pooh/objects.atl index 2b97f84..b1463ac 100644 --- a/ATL/Pooh/objects.atl +++ b/ATL/Pooh/objects.atl @@ -110,7 +110,7 @@ define-npc "Kanga" description "Kanga is Roo's mother. She is very responsible, but also very loving and affectionate. Don't disobey her, though!" - says "Hello Pooh, have you come to play with Roo?" + says "Hello Pooh, have you come to play with Roo? He's at the sandy pit." interaction-hook "kanga-healing" define-npc "Roo" @@ -123,6 +123,7 @@ constant bouncing can be incredibly irritating, but he is very loyal and too friendly to really dislike." says "Watch out, HERE I COME!!!" + interaction-hook "bouncy-tigger" define-npc "Owl" description "Owl is a wise, old bird. He is ever so clever and uses many diff --git a/ATL/Pooh/pooh-extensions.lisp b/ATL/Pooh/pooh-extensions.lisp index a50ac34..4e5026e 100644 --- a/ATL/Pooh/pooh-extensions.lisp +++ b/ATL/Pooh/pooh-extensions.lisp @@ -23,9 +23,9 @@ "Jump off Pooh's branch onto his porch." (format t "~&You look down nervously, then jump off the branch.") (if (> 50 (random 100)) - (progn (format t "~&You land safely. That was fun!") + (progn (format t "~&You land safely. That was fun! You gain 3 XP.") (add-player-experience player 3)) - (progn (format t "~&Ouch! That hurt! You take 3 fall damage.") + (progn (format t "~&Ouch! That hurt! You take 3 HP fall damage.") (change-player-health player -3))) (read-line) (goto player "Pooh's porch")) @@ -37,6 +37,18 @@ (format t "~&~%Kanga bandages your wounds. You feel better.") (setf (player-health player) (player-max-health player)))) +(defun bouncy-tigger (player) + "Tigger bounces the player, then moves on to a random location" + (let* ((place (get-game-object 'place (player-place player))) + (neighbour (get-game-object 'place + (random-elt (place-neighbour place))))) + (format t "~&~%A large yellow-and-black object comes flying out of nowhere") + (format t "~&and knocks you over. When you sit up again, you see Tigger") + (format t "~&grinning widely at you.") + (format t "~&~%Tigger bounces away toward ~A." (place-name neighbour)) + (remove-object-attribute place 'npc "Tigger") + (set-object-attribute neighbour 'npc "Tigger"))) + (let ((lost-in NIL)) (defun lost-in-the-forest (player place prob) "Walking through a forest, it's easy to end up going in circles..." diff --git a/ATL/Pooh/woods.atl b/ATL/Pooh/woods.atl index dd11382..64314e4 100644 --- a/ATL/Pooh/woods.atl +++ b/ATL/Pooh/woods.atl @@ -74,6 +74,7 @@ neighbour "Rabbit's friends and relations" neighbour "Rapids" neighbour "Stream" + npc "Tigger" define-place "Southern woods" description "You can feel the ground becoming soft underneath your feet as @@ -180,6 +181,7 @@ neighbour "Northern woods" neighbour "Kanga's house" neighbour "Misty forest" + npc "Roo" define-place "Six pine trees" description "The Six Pine Trees are a group of particularly tall pines diff --git a/ATL/Pooh/objects.atl b/ATL/Pooh/objects.atl index 2b97f84..b1463ac 100644 --- a/ATL/Pooh/objects.atl +++ b/ATL/Pooh/objects.atl @@ -110,7 +110,7 @@ define-npc "Kanga" description "Kanga is Roo's mother. She is very responsible, but also very loving and affectionate. Don't disobey her, though!" - says "Hello Pooh, have you come to play with Roo?" + says "Hello Pooh, have you come to play with Roo? He's at the sandy pit." interaction-hook "kanga-healing" define-npc "Roo" @@ -123,6 +123,7 @@ constant bouncing can be incredibly irritating, but he is very loyal and too friendly to really dislike." says "Watch out, HERE I COME!!!" + interaction-hook "bouncy-tigger" define-npc "Owl" description "Owl is a wise, old bird. He is ever so clever and uses many diff --git a/ATL/Pooh/pooh-extensions.lisp b/ATL/Pooh/pooh-extensions.lisp index a50ac34..4e5026e 100644 --- a/ATL/Pooh/pooh-extensions.lisp +++ b/ATL/Pooh/pooh-extensions.lisp @@ -23,9 +23,9 @@ "Jump off Pooh's branch onto his porch." (format t "~&You look down nervously, then jump off the branch.") (if (> 50 (random 100)) - (progn (format t "~&You land safely. That was fun!") + (progn (format t "~&You land safely. That was fun! You gain 3 XP.") (add-player-experience player 3)) - (progn (format t "~&Ouch! That hurt! You take 3 fall damage.") + (progn (format t "~&Ouch! That hurt! You take 3 HP fall damage.") (change-player-health player -3))) (read-line) (goto player "Pooh's porch")) @@ -37,6 +37,18 @@ (format t "~&~%Kanga bandages your wounds. You feel better.") (setf (player-health player) (player-max-health player)))) +(defun bouncy-tigger (player) + "Tigger bounces the player, then moves on to a random location" + (let* ((place (get-game-object 'place (player-place player))) + (neighbour (get-game-object 'place + (random-elt (place-neighbour place))))) + (format t "~&~%A large yellow-and-black object comes flying out of nowhere") + (format t "~&and knocks you over. When you sit up again, you see Tigger") + (format t "~&grinning widely at you.") + (format t "~&~%Tigger bounces away toward ~A." (place-name neighbour)) + (remove-object-attribute place 'npc "Tigger") + (set-object-attribute neighbour 'npc "Tigger"))) + (let ((lost-in NIL)) (defun lost-in-the-forest (player place prob) "Walking through a forest, it's easy to end up going in circles..." diff --git a/ATL/Pooh/woods.atl b/ATL/Pooh/woods.atl index dd11382..64314e4 100644 --- a/ATL/Pooh/woods.atl +++ b/ATL/Pooh/woods.atl @@ -74,6 +74,7 @@ neighbour "Rabbit's friends and relations" neighbour "Rapids" neighbour "Stream" + npc "Tigger" define-place "Southern woods" description "You can feel the ground becoming soft underneath your feet as @@ -180,6 +181,7 @@ neighbour "Northern woods" neighbour "Kanga's house" neighbour "Misty forest" + npc "Roo" define-place "Six pine trees" description "The Six Pine Trees are a group of particularly tall pines diff --git a/doc/TODO b/doc/TODO index c8e37b6..a4ca23d 100644 --- a/doc/TODO +++ b/doc/TODO @@ -5,3 +5,4 @@ * require XP minimum to finish game? * think of more quests * integrate the quests to lead the player through the game +* integrate monster aggression diff --git a/ATL/Pooh/objects.atl b/ATL/Pooh/objects.atl index 2b97f84..b1463ac 100644 --- a/ATL/Pooh/objects.atl +++ b/ATL/Pooh/objects.atl @@ -110,7 +110,7 @@ define-npc "Kanga" description "Kanga is Roo's mother. She is very responsible, but also very loving and affectionate. Don't disobey her, though!" - says "Hello Pooh, have you come to play with Roo?" + says "Hello Pooh, have you come to play with Roo? He's at the sandy pit." interaction-hook "kanga-healing" define-npc "Roo" @@ -123,6 +123,7 @@ constant bouncing can be incredibly irritating, but he is very loyal and too friendly to really dislike." says "Watch out, HERE I COME!!!" + interaction-hook "bouncy-tigger" define-npc "Owl" description "Owl is a wise, old bird. He is ever so clever and uses many diff --git a/ATL/Pooh/pooh-extensions.lisp b/ATL/Pooh/pooh-extensions.lisp index a50ac34..4e5026e 100644 --- a/ATL/Pooh/pooh-extensions.lisp +++ b/ATL/Pooh/pooh-extensions.lisp @@ -23,9 +23,9 @@ "Jump off Pooh's branch onto his porch." (format t "~&You look down nervously, then jump off the branch.") (if (> 50 (random 100)) - (progn (format t "~&You land safely. That was fun!") + (progn (format t "~&You land safely. That was fun! You gain 3 XP.") (add-player-experience player 3)) - (progn (format t "~&Ouch! That hurt! You take 3 fall damage.") + (progn (format t "~&Ouch! That hurt! You take 3 HP fall damage.") (change-player-health player -3))) (read-line) (goto player "Pooh's porch")) @@ -37,6 +37,18 @@ (format t "~&~%Kanga bandages your wounds. You feel better.") (setf (player-health player) (player-max-health player)))) +(defun bouncy-tigger (player) + "Tigger bounces the player, then moves on to a random location" + (let* ((place (get-game-object 'place (player-place player))) + (neighbour (get-game-object 'place + (random-elt (place-neighbour place))))) + (format t "~&~%A large yellow-and-black object comes flying out of nowhere") + (format t "~&and knocks you over. When you sit up again, you see Tigger") + (format t "~&grinning widely at you.") + (format t "~&~%Tigger bounces away toward ~A." (place-name neighbour)) + (remove-object-attribute place 'npc "Tigger") + (set-object-attribute neighbour 'npc "Tigger"))) + (let ((lost-in NIL)) (defun lost-in-the-forest (player place prob) "Walking through a forest, it's easy to end up going in circles..." diff --git a/ATL/Pooh/woods.atl b/ATL/Pooh/woods.atl index dd11382..64314e4 100644 --- a/ATL/Pooh/woods.atl +++ b/ATL/Pooh/woods.atl @@ -74,6 +74,7 @@ neighbour "Rabbit's friends and relations" neighbour "Rapids" neighbour "Stream" + npc "Tigger" define-place "Southern woods" description "You can feel the ground becoming soft underneath your feet as @@ -180,6 +181,7 @@ neighbour "Northern woods" neighbour "Kanga's house" neighbour "Misty forest" + npc "Roo" define-place "Six pine trees" description "The Six Pine Trees are a group of particularly tall pines diff --git a/doc/TODO b/doc/TODO index c8e37b6..a4ca23d 100644 --- a/doc/TODO +++ b/doc/TODO @@ -5,3 +5,4 @@ * require XP minimum to finish game? * think of more quests * integrate the quests to lead the player through the game +* integrate monster aggression diff --git a/lisp/ui.lisp b/lisp/ui.lisp index a4ca94a..713b833 100644 --- a/lisp/ui.lisp +++ b/lisp/ui.lisp @@ -215,7 +215,7 @@ (items (place-item place)) (hidden (place-hidden place))) (dolist (h hidden) - (when (> 33 (random 100)) + (when (> 50 (random 100)) (format t "~&You find: ~A" (item-name (get-game-object 'item h))) (set-object-attribute place 'item h)