diff --git a/ATL/ATL-item-conversion.ods b/ATL/ATL-item-conversion.ods deleted file mode 100644 index a5442c2..0000000 --- a/ATL/ATL-item-conversion.ods +++ /dev/null Binary files differ diff --git a/ATL/ATL-item-conversion.ods b/ATL/ATL-item-conversion.ods deleted file mode 100644 index a5442c2..0000000 --- a/ATL/ATL-item-conversion.ods +++ /dev/null Binary files differ diff --git a/ATL/Lugwey/items.atl b/ATL/Lugwey/items.atl index 63b407e..9abf21d 100644 --- a/ATL/Lugwey/items.atl +++ b/ATL/Lugwey/items.atl @@ -23,4 +23,27 @@ define-weapon "Dagger" description "A long, sharp knife, useful for self defence." type "Knife" - damage 3 \ No newline at end of file + damage 3 + +define-item "Signet ring" + description "A heavy gold ring, bearing the seal of the Monastery of Lugwey." + cost 100 + +define-item "Whip" + description "A horse-whip." + weapon "yes" + cost 10 + +define-weapon "Whip" + description "A plain old leather horse-whip." + type "Whip" + damage 1 + +define-item "Saddle" + description "If you want to ride a horse, a saddle certainly helps." + cost 20 + +define-item "Lantern" + description "An oil lantern, the glass casing nearly black with soot." + cost 10 + function "light" diff --git a/ATL/ATL-item-conversion.ods b/ATL/ATL-item-conversion.ods deleted file mode 100644 index a5442c2..0000000 --- a/ATL/ATL-item-conversion.ods +++ /dev/null Binary files differ diff --git a/ATL/Lugwey/items.atl b/ATL/Lugwey/items.atl index 63b407e..9abf21d 100644 --- a/ATL/Lugwey/items.atl +++ b/ATL/Lugwey/items.atl @@ -23,4 +23,27 @@ define-weapon "Dagger" description "A long, sharp knife, useful for self defence." type "Knife" - damage 3 \ No newline at end of file + damage 3 + +define-item "Signet ring" + description "A heavy gold ring, bearing the seal of the Monastery of Lugwey." + cost 100 + +define-item "Whip" + description "A horse-whip." + weapon "yes" + cost 10 + +define-weapon "Whip" + description "A plain old leather horse-whip." + type "Whip" + damage 1 + +define-item "Saddle" + description "If you want to ride a horse, a saddle certainly helps." + cost 20 + +define-item "Lantern" + description "An oil lantern, the glass casing nearly black with soot." + cost 10 + function "light" diff --git a/ATL/Lugwey/npcs.atl b/ATL/Lugwey/npcs.atl index e69de29..72ab03a 100644 --- a/ATL/Lugwey/npcs.atl +++ b/ATL/Lugwey/npcs.atl @@ -0,0 +1,12 @@ +; The Monastery of Lugwey is the first "real" world I am creating with ATL. +; Its purpose (apart from being playable) is to help with the development of +; Atlantis by showing potential deficits, bringing up new ideas, etc. +; +; This file describes all the NPCs in this world. +; +; @author Daniel Vedder +; @date 09/07/2015 + +define-npc "Gatekeeper" + description "An old monk, slightly hard of hearing, and looking very bored." + says "Welcome, stranger! Good to see somebody here! Come on in!" \ No newline at end of file diff --git a/ATL/ATL-item-conversion.ods b/ATL/ATL-item-conversion.ods deleted file mode 100644 index a5442c2..0000000 --- a/ATL/ATL-item-conversion.ods +++ /dev/null Binary files differ diff --git a/ATL/Lugwey/items.atl b/ATL/Lugwey/items.atl index 63b407e..9abf21d 100644 --- a/ATL/Lugwey/items.atl +++ b/ATL/Lugwey/items.atl @@ -23,4 +23,27 @@ define-weapon "Dagger" description "A long, sharp knife, useful for self defence." type "Knife" - damage 3 \ No newline at end of file + damage 3 + +define-item "Signet ring" + description "A heavy gold ring, bearing the seal of the Monastery of Lugwey." + cost 100 + +define-item "Whip" + description "A horse-whip." + weapon "yes" + cost 10 + +define-weapon "Whip" + description "A plain old leather horse-whip." + type "Whip" + damage 1 + +define-item "Saddle" + description "If you want to ride a horse, a saddle certainly helps." + cost 20 + +define-item "Lantern" + description "An oil lantern, the glass casing nearly black with soot." + cost 10 + function "light" diff --git a/ATL/Lugwey/npcs.atl b/ATL/Lugwey/npcs.atl index e69de29..72ab03a 100644 --- a/ATL/Lugwey/npcs.atl +++ b/ATL/Lugwey/npcs.atl @@ -0,0 +1,12 @@ +; The Monastery of Lugwey is the first "real" world I am creating with ATL. +; Its purpose (apart from being playable) is to help with the development of +; Atlantis by showing potential deficits, bringing up new ideas, etc. +; +; This file describes all the NPCs in this world. +; +; @author Daniel Vedder +; @date 09/07/2015 + +define-npc "Gatekeeper" + description "An old monk, slightly hard of hearing, and looking very bored." + says "Welcome, stranger! Good to see somebody here! Come on in!" \ No newline at end of file diff --git a/ATL/Lugwey/places.atl b/ATL/Lugwey/places.atl index c11f1a2..46c3991 100644 --- a/ATL/Lugwey/places.atl +++ b/ATL/Lugwey/places.atl @@ -20,8 +20,8 @@ define-place "Monastery grounds" description "Paths criss-cross well-kept lawns. Here and there, roses bloom - in a flower bed. On one side stand the monastery buildings with - their calm, ancient dignity. On the other, the gardens, stables + in a flower bed. On one side stands the main monastery building + with its calm, ancient dignity. On the other, the gardens, stables and agricultural outhouses speak of a simple working life." neighbour "Gate" neighbour "Chapel" @@ -33,4 +33,56 @@ description "A rutted track, scarred by the wheels of many carts, leads through the forest from the monastery to the village." neighbour "Gate" - item "Signet ring" \ No newline at end of file + item "Signet ring" + +define-place "Chapel" + description "" + neighbour "Monastery grounds" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Dormitory" + description "" + neighbour "Monastery grounds" + neighbour "Chapel" + neighbour "Dining hall" + neighbour "Cloister" + +define-place "Cloister" + description "Inside the main monastery building, a colonnade surrounds a + rectangular courtyard. Neatly laid out flower beds are arranged + around the central well. Some monks are walking about, deep in + conversation." + neighbour "Chapel" + neighbour "Dormitory" + neighbour "Dining hall" + neighbour "Infirmary" + neighbour "Scriptorium" + +define-place "Dining hall" + description "" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Infirmary" + description "" + neighbour "Cloister" + +define-place "Scriptorium" + description "" + neighbour "Cloister" + +define-place "Gardens" + description "" + neighbour "Monastery grounds" + neighbour "Stable" + +define-place "Stable" + description "A rickety old wood building, dark and smelling of animals. + Two cart horses stand in their boxes near the entrance, a + mare with her foal and a couple of donkeys are further back." + neighbour "Monastery grounds" + neighbour "Gardens" + item "Whip" + item "Saddle" + item "Lantern" \ No newline at end of file diff --git a/ATL/ATL-item-conversion.ods b/ATL/ATL-item-conversion.ods deleted file mode 100644 index a5442c2..0000000 --- a/ATL/ATL-item-conversion.ods +++ /dev/null Binary files differ diff --git a/ATL/Lugwey/items.atl b/ATL/Lugwey/items.atl index 63b407e..9abf21d 100644 --- a/ATL/Lugwey/items.atl +++ b/ATL/Lugwey/items.atl @@ -23,4 +23,27 @@ define-weapon "Dagger" description "A long, sharp knife, useful for self defence." type "Knife" - damage 3 \ No newline at end of file + damage 3 + +define-item "Signet ring" + description "A heavy gold ring, bearing the seal of the Monastery of Lugwey." + cost 100 + +define-item "Whip" + description "A horse-whip." + weapon "yes" + cost 10 + +define-weapon "Whip" + description "A plain old leather horse-whip." + type "Whip" + damage 1 + +define-item "Saddle" + description "If you want to ride a horse, a saddle certainly helps." + cost 20 + +define-item "Lantern" + description "An oil lantern, the glass casing nearly black with soot." + cost 10 + function "light" diff --git a/ATL/Lugwey/npcs.atl b/ATL/Lugwey/npcs.atl index e69de29..72ab03a 100644 --- a/ATL/Lugwey/npcs.atl +++ b/ATL/Lugwey/npcs.atl @@ -0,0 +1,12 @@ +; The Monastery of Lugwey is the first "real" world I am creating with ATL. +; Its purpose (apart from being playable) is to help with the development of +; Atlantis by showing potential deficits, bringing up new ideas, etc. +; +; This file describes all the NPCs in this world. +; +; @author Daniel Vedder +; @date 09/07/2015 + +define-npc "Gatekeeper" + description "An old monk, slightly hard of hearing, and looking very bored." + says "Welcome, stranger! Good to see somebody here! Come on in!" \ No newline at end of file diff --git a/ATL/Lugwey/places.atl b/ATL/Lugwey/places.atl index c11f1a2..46c3991 100644 --- a/ATL/Lugwey/places.atl +++ b/ATL/Lugwey/places.atl @@ -20,8 +20,8 @@ define-place "Monastery grounds" description "Paths criss-cross well-kept lawns. Here and there, roses bloom - in a flower bed. On one side stand the monastery buildings with - their calm, ancient dignity. On the other, the gardens, stables + in a flower bed. On one side stands the main monastery building + with its calm, ancient dignity. On the other, the gardens, stables and agricultural outhouses speak of a simple working life." neighbour "Gate" neighbour "Chapel" @@ -33,4 +33,56 @@ description "A rutted track, scarred by the wheels of many carts, leads through the forest from the monastery to the village." neighbour "Gate" - item "Signet ring" \ No newline at end of file + item "Signet ring" + +define-place "Chapel" + description "" + neighbour "Monastery grounds" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Dormitory" + description "" + neighbour "Monastery grounds" + neighbour "Chapel" + neighbour "Dining hall" + neighbour "Cloister" + +define-place "Cloister" + description "Inside the main monastery building, a colonnade surrounds a + rectangular courtyard. Neatly laid out flower beds are arranged + around the central well. Some monks are walking about, deep in + conversation." + neighbour "Chapel" + neighbour "Dormitory" + neighbour "Dining hall" + neighbour "Infirmary" + neighbour "Scriptorium" + +define-place "Dining hall" + description "" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Infirmary" + description "" + neighbour "Cloister" + +define-place "Scriptorium" + description "" + neighbour "Cloister" + +define-place "Gardens" + description "" + neighbour "Monastery grounds" + neighbour "Stable" + +define-place "Stable" + description "A rickety old wood building, dark and smelling of animals. + Two cart horses stand in their boxes near the entrance, a + mare with her foal and a couple of donkeys are further back." + neighbour "Monastery grounds" + neighbour "Gardens" + item "Whip" + item "Saddle" + item "Lantern" \ No newline at end of file diff --git a/ATL/creator-test.atl b/ATL/creator-test.atl deleted file mode 100644 index 6209e7c..0000000 --- a/ATL/creator-test.atl +++ /dev/null @@ -1,185 +0,0 @@ -;; This code has been automatically generated by the -;; Atlantis world creator. - -define-item "Rope (20m)" - cost 5 - -define-item "Backpack" - cost 5 - -define-item "Knife" - cost 10 - -define-item "Short sword" - cost 40 - -define-item "Long sword" - cost 80 - -define-item "Dagger" - cost 20 - -define-item "Spear" - cost 25 - -define-item "Short bow" - cost 30 - -define-item "Longbow" - cost 60 - -define-item "Slingshot" - cost 15 - -define-item "Throwing knife" - cost 15 - -define-item "Quiver of arrows" - cost 20 - -define-item "Leather armour" - cost 60 - -define-item "Chain mail" - cost 120 - -define-item "Plate armour" - cost 200 - -define-item "Buckler" - cost 35 - -define-item "Full shield" - cost 45 - -define-item "Candles (3x)" - cost 5 - -define-item "Matches" - cost 1 - -define-item "Food rations (5x)" - cost 10 - -define-item "Grappling hook" - cost 15 - -define-item "Fishing net" - cost 25 - -define-item "Fishing rod" - cost 15 - -define-item "Tent (2 people)" - cost 30 - -define-item "Cloak" - cost 15 - -define-item "Hat" - cost 10 - -define-item "Water bottle" - cost 5 - -define-item "Compass" - cost 20 - -define-item "Quill and ink" - cost 5 - -define-item "Parchment" - cost 5 - -define-item "Blanket" - cost 5 - -define-item "Book of Legends" - cost 55 - -define-item "Book of Lore" - cost 55 - -define-item "Medicinal herbs" - cost 10 - -define-item "Bandages (3x)" - cost 5 - -define-item "Tea leaves" - cost 5 - -define-item "Sleeping potion" - cost 15 - -define-item "Leather pouch" - cost 2 - -define-item "Face mask" - cost 10 - -define-item "Dye" - cost 5 - -define-item "Cloth" - cost 5 - -define-item "Scissors" - cost 15 - -define-item "Needle and thread" - cost 3 - -define-item "Canvas" - cost 8 - -define-item "String" - cost 2 - -define-item "Hatchet" - cost 20 - -define-item "Map" - cost 35 - -define-item "Pony" - cost 100 - -define-item "Horse" - cost 180 - -define-item "Saddle and bridle" - cost 45 - -define-item "Saddlebag" - cost 35 - -define-item "Handmirror" - cost 20 - -define-item "Magnifying glass" - cost 20 - -define-item "Telescope" - cost 40 - -define-item "Rope ladder" - cost 15 - -define-item "Torches (3x)" - cost 10 - -define-item "Staff" - cost 10 - -define-item "Cooking pot" - cost 8 - -define-item "Soap" - cost 2 - -define-item "Towel" - cost 5 - -define-item "Boots" - cost 10 \ No newline at end of file diff --git a/ATL/ATL-item-conversion.ods b/ATL/ATL-item-conversion.ods deleted file mode 100644 index a5442c2..0000000 --- a/ATL/ATL-item-conversion.ods +++ /dev/null Binary files differ diff --git a/ATL/Lugwey/items.atl b/ATL/Lugwey/items.atl index 63b407e..9abf21d 100644 --- a/ATL/Lugwey/items.atl +++ b/ATL/Lugwey/items.atl @@ -23,4 +23,27 @@ define-weapon "Dagger" description "A long, sharp knife, useful for self defence." type "Knife" - damage 3 \ No newline at end of file + damage 3 + +define-item "Signet ring" + description "A heavy gold ring, bearing the seal of the Monastery of Lugwey." + cost 100 + +define-item "Whip" + description "A horse-whip." + weapon "yes" + cost 10 + +define-weapon "Whip" + description "A plain old leather horse-whip." + type "Whip" + damage 1 + +define-item "Saddle" + description "If you want to ride a horse, a saddle certainly helps." + cost 20 + +define-item "Lantern" + description "An oil lantern, the glass casing nearly black with soot." + cost 10 + function "light" diff --git a/ATL/Lugwey/npcs.atl b/ATL/Lugwey/npcs.atl index e69de29..72ab03a 100644 --- a/ATL/Lugwey/npcs.atl +++ b/ATL/Lugwey/npcs.atl @@ -0,0 +1,12 @@ +; The Monastery of Lugwey is the first "real" world I am creating with ATL. +; Its purpose (apart from being playable) is to help with the development of +; Atlantis by showing potential deficits, bringing up new ideas, etc. +; +; This file describes all the NPCs in this world. +; +; @author Daniel Vedder +; @date 09/07/2015 + +define-npc "Gatekeeper" + description "An old monk, slightly hard of hearing, and looking very bored." + says "Welcome, stranger! Good to see somebody here! Come on in!" \ No newline at end of file diff --git a/ATL/Lugwey/places.atl b/ATL/Lugwey/places.atl index c11f1a2..46c3991 100644 --- a/ATL/Lugwey/places.atl +++ b/ATL/Lugwey/places.atl @@ -20,8 +20,8 @@ define-place "Monastery grounds" description "Paths criss-cross well-kept lawns. Here and there, roses bloom - in a flower bed. On one side stand the monastery buildings with - their calm, ancient dignity. On the other, the gardens, stables + in a flower bed. On one side stands the main monastery building + with its calm, ancient dignity. On the other, the gardens, stables and agricultural outhouses speak of a simple working life." neighbour "Gate" neighbour "Chapel" @@ -33,4 +33,56 @@ description "A rutted track, scarred by the wheels of many carts, leads through the forest from the monastery to the village." neighbour "Gate" - item "Signet ring" \ No newline at end of file + item "Signet ring" + +define-place "Chapel" + description "" + neighbour "Monastery grounds" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Dormitory" + description "" + neighbour "Monastery grounds" + neighbour "Chapel" + neighbour "Dining hall" + neighbour "Cloister" + +define-place "Cloister" + description "Inside the main monastery building, a colonnade surrounds a + rectangular courtyard. Neatly laid out flower beds are arranged + around the central well. Some monks are walking about, deep in + conversation." + neighbour "Chapel" + neighbour "Dormitory" + neighbour "Dining hall" + neighbour "Infirmary" + neighbour "Scriptorium" + +define-place "Dining hall" + description "" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Infirmary" + description "" + neighbour "Cloister" + +define-place "Scriptorium" + description "" + neighbour "Cloister" + +define-place "Gardens" + description "" + neighbour "Monastery grounds" + neighbour "Stable" + +define-place "Stable" + description "A rickety old wood building, dark and smelling of animals. + Two cart horses stand in their boxes near the entrance, a + mare with her foal and a couple of donkeys are further back." + neighbour "Monastery grounds" + neighbour "Gardens" + item "Whip" + item "Saddle" + item "Lantern" \ No newline at end of file diff --git a/ATL/creator-test.atl b/ATL/creator-test.atl deleted file mode 100644 index 6209e7c..0000000 --- a/ATL/creator-test.atl +++ /dev/null @@ -1,185 +0,0 @@ -;; This code has been automatically generated by the -;; Atlantis world creator. - -define-item "Rope (20m)" - cost 5 - -define-item "Backpack" - cost 5 - -define-item "Knife" - cost 10 - -define-item "Short sword" - cost 40 - -define-item "Long sword" - cost 80 - -define-item "Dagger" - cost 20 - -define-item "Spear" - cost 25 - -define-item "Short bow" - cost 30 - -define-item "Longbow" - cost 60 - -define-item "Slingshot" - cost 15 - -define-item "Throwing knife" - cost 15 - -define-item "Quiver of arrows" - cost 20 - -define-item "Leather armour" - cost 60 - -define-item "Chain mail" - cost 120 - -define-item "Plate armour" - cost 200 - -define-item "Buckler" - cost 35 - -define-item "Full shield" - cost 45 - -define-item "Candles (3x)" - cost 5 - -define-item "Matches" - cost 1 - -define-item "Food rations (5x)" - cost 10 - -define-item "Grappling hook" - cost 15 - -define-item "Fishing net" - cost 25 - -define-item "Fishing rod" - cost 15 - -define-item "Tent (2 people)" - cost 30 - -define-item "Cloak" - cost 15 - -define-item "Hat" - cost 10 - -define-item "Water bottle" - cost 5 - -define-item "Compass" - cost 20 - -define-item "Quill and ink" - cost 5 - -define-item "Parchment" - cost 5 - -define-item "Blanket" - cost 5 - -define-item "Book of Legends" - cost 55 - -define-item "Book of Lore" - cost 55 - -define-item "Medicinal herbs" - cost 10 - -define-item "Bandages (3x)" - cost 5 - -define-item "Tea leaves" - cost 5 - -define-item "Sleeping potion" - cost 15 - -define-item "Leather pouch" - cost 2 - -define-item "Face mask" - cost 10 - -define-item "Dye" - cost 5 - -define-item "Cloth" - cost 5 - -define-item "Scissors" - cost 15 - -define-item "Needle and thread" - cost 3 - -define-item "Canvas" - cost 8 - -define-item "String" - cost 2 - -define-item "Hatchet" - cost 20 - -define-item "Map" - cost 35 - -define-item "Pony" - cost 100 - -define-item "Horse" - cost 180 - -define-item "Saddle and bridle" - cost 45 - -define-item "Saddlebag" - cost 35 - -define-item "Handmirror" - cost 20 - -define-item "Magnifying glass" - cost 20 - -define-item "Telescope" - cost 40 - -define-item "Rope ladder" - cost 15 - -define-item "Torches (3x)" - cost 10 - -define-item "Staff" - cost 10 - -define-item "Cooking pot" - cost 8 - -define-item "Soap" - cost 2 - -define-item "Towel" - cost 5 - -define-item "Boots" - cost 10 \ No newline at end of file diff --git a/ATL/example.atl b/ATL/example.atl deleted file mode 100644 index 3101edd..0000000 --- a/ATL/example.atl +++ /dev/null @@ -1,72 +0,0 @@ -# This is an example Atlantis file - I use it to explore what the language -# should end up looking like. - -load races.atl -load classes.atl - - -define-quest Kill hellhound - objective kill hellhound - reward gold 300 - - -define-spell Ray of death - type kill - min-intelligence 12 - success-rate 35 - - -define-npc Hades - say Oh, amazing, you actually got here! Who did you bribe? - sell 30 Ambrosia - quest Kill hellhound - - -define-item Scroll of light - value 80 - add-experience 20 - add-spell Ray of death - -define-item Ambrosia - category Food - add-health 5 - - -define-monster Hellhound - armor-class 8 - strength 10 - melee-weapon 2 claws - experience 50 - spawn 2 - aggression 60 - -define-monster Fury - armor-class 5 - strength 8 - melee-weapon 10 fire whip - experience 74 - spawn 0.8 - aggression 30 - - -define-place Nowhere - description Welcome to Nowhere! You are in the void, the space between \ -the worlds. Around you is black. Black, except for one tiny pin-prick of light \ -to the north. - neighbour Elysium - -define-place Elysium - description Congratulations! You have achieved Elysium! - neighbour Nowhere - neighbour Fields of punishment - npc Hades - item Scroll of light - -define-place Fields of punishment - description You really, really don't want to end up here... - neighbour Elysium - monster Hellhound - monster Fury - - -start-place Elysium \ No newline at end of file diff --git a/ATL/ATL-item-conversion.ods b/ATL/ATL-item-conversion.ods deleted file mode 100644 index a5442c2..0000000 --- a/ATL/ATL-item-conversion.ods +++ /dev/null Binary files differ diff --git a/ATL/Lugwey/items.atl b/ATL/Lugwey/items.atl index 63b407e..9abf21d 100644 --- a/ATL/Lugwey/items.atl +++ b/ATL/Lugwey/items.atl @@ -23,4 +23,27 @@ define-weapon "Dagger" description "A long, sharp knife, useful for self defence." type "Knife" - damage 3 \ No newline at end of file + damage 3 + +define-item "Signet ring" + description "A heavy gold ring, bearing the seal of the Monastery of Lugwey." + cost 100 + +define-item "Whip" + description "A horse-whip." + weapon "yes" + cost 10 + +define-weapon "Whip" + description "A plain old leather horse-whip." + type "Whip" + damage 1 + +define-item "Saddle" + description "If you want to ride a horse, a saddle certainly helps." + cost 20 + +define-item "Lantern" + description "An oil lantern, the glass casing nearly black with soot." + cost 10 + function "light" diff --git a/ATL/Lugwey/npcs.atl b/ATL/Lugwey/npcs.atl index e69de29..72ab03a 100644 --- a/ATL/Lugwey/npcs.atl +++ b/ATL/Lugwey/npcs.atl @@ -0,0 +1,12 @@ +; The Monastery of Lugwey is the first "real" world I am creating with ATL. +; Its purpose (apart from being playable) is to help with the development of +; Atlantis by showing potential deficits, bringing up new ideas, etc. +; +; This file describes all the NPCs in this world. +; +; @author Daniel Vedder +; @date 09/07/2015 + +define-npc "Gatekeeper" + description "An old monk, slightly hard of hearing, and looking very bored." + says "Welcome, stranger! Good to see somebody here! Come on in!" \ No newline at end of file diff --git a/ATL/Lugwey/places.atl b/ATL/Lugwey/places.atl index c11f1a2..46c3991 100644 --- a/ATL/Lugwey/places.atl +++ b/ATL/Lugwey/places.atl @@ -20,8 +20,8 @@ define-place "Monastery grounds" description "Paths criss-cross well-kept lawns. Here and there, roses bloom - in a flower bed. On one side stand the monastery buildings with - their calm, ancient dignity. On the other, the gardens, stables + in a flower bed. On one side stands the main monastery building + with its calm, ancient dignity. On the other, the gardens, stables and agricultural outhouses speak of a simple working life." neighbour "Gate" neighbour "Chapel" @@ -33,4 +33,56 @@ description "A rutted track, scarred by the wheels of many carts, leads through the forest from the monastery to the village." neighbour "Gate" - item "Signet ring" \ No newline at end of file + item "Signet ring" + +define-place "Chapel" + description "" + neighbour "Monastery grounds" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Dormitory" + description "" + neighbour "Monastery grounds" + neighbour "Chapel" + neighbour "Dining hall" + neighbour "Cloister" + +define-place "Cloister" + description "Inside the main monastery building, a colonnade surrounds a + rectangular courtyard. Neatly laid out flower beds are arranged + around the central well. Some monks are walking about, deep in + conversation." + neighbour "Chapel" + neighbour "Dormitory" + neighbour "Dining hall" + neighbour "Infirmary" + neighbour "Scriptorium" + +define-place "Dining hall" + description "" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Infirmary" + description "" + neighbour "Cloister" + +define-place "Scriptorium" + description "" + neighbour "Cloister" + +define-place "Gardens" + description "" + neighbour "Monastery grounds" + neighbour "Stable" + +define-place "Stable" + description "A rickety old wood building, dark and smelling of animals. + Two cart horses stand in their boxes near the entrance, a + mare with her foal and a couple of donkeys are further back." + neighbour "Monastery grounds" + neighbour "Gardens" + item "Whip" + item "Saddle" + item "Lantern" \ No newline at end of file diff --git a/ATL/creator-test.atl b/ATL/creator-test.atl deleted file mode 100644 index 6209e7c..0000000 --- a/ATL/creator-test.atl +++ /dev/null @@ -1,185 +0,0 @@ -;; This code has been automatically generated by the -;; Atlantis world creator. - -define-item "Rope (20m)" - cost 5 - -define-item "Backpack" - cost 5 - -define-item "Knife" - cost 10 - -define-item "Short sword" - cost 40 - -define-item "Long sword" - cost 80 - -define-item "Dagger" - cost 20 - -define-item "Spear" - cost 25 - -define-item "Short bow" - cost 30 - -define-item "Longbow" - cost 60 - -define-item "Slingshot" - cost 15 - -define-item "Throwing knife" - cost 15 - -define-item "Quiver of arrows" - cost 20 - -define-item "Leather armour" - cost 60 - -define-item "Chain mail" - cost 120 - -define-item "Plate armour" - cost 200 - -define-item "Buckler" - cost 35 - -define-item "Full shield" - cost 45 - -define-item "Candles (3x)" - cost 5 - -define-item "Matches" - cost 1 - -define-item "Food rations (5x)" - cost 10 - -define-item "Grappling hook" - cost 15 - -define-item "Fishing net" - cost 25 - -define-item "Fishing rod" - cost 15 - -define-item "Tent (2 people)" - cost 30 - -define-item "Cloak" - cost 15 - -define-item "Hat" - cost 10 - -define-item "Water bottle" - cost 5 - -define-item "Compass" - cost 20 - -define-item "Quill and ink" - cost 5 - -define-item "Parchment" - cost 5 - -define-item "Blanket" - cost 5 - -define-item "Book of Legends" - cost 55 - -define-item "Book of Lore" - cost 55 - -define-item "Medicinal herbs" - cost 10 - -define-item "Bandages (3x)" - cost 5 - -define-item "Tea leaves" - cost 5 - -define-item "Sleeping potion" - cost 15 - -define-item "Leather pouch" - cost 2 - -define-item "Face mask" - cost 10 - -define-item "Dye" - cost 5 - -define-item "Cloth" - cost 5 - -define-item "Scissors" - cost 15 - -define-item "Needle and thread" - cost 3 - -define-item "Canvas" - cost 8 - -define-item "String" - cost 2 - -define-item "Hatchet" - cost 20 - -define-item "Map" - cost 35 - -define-item "Pony" - cost 100 - -define-item "Horse" - cost 180 - -define-item "Saddle and bridle" - cost 45 - -define-item "Saddlebag" - cost 35 - -define-item "Handmirror" - cost 20 - -define-item "Magnifying glass" - cost 20 - -define-item "Telescope" - cost 40 - -define-item "Rope ladder" - cost 15 - -define-item "Torches (3x)" - cost 10 - -define-item "Staff" - cost 10 - -define-item "Cooking pot" - cost 8 - -define-item "Soap" - cost 2 - -define-item "Towel" - cost 5 - -define-item "Boots" - cost 10 \ No newline at end of file diff --git a/ATL/example.atl b/ATL/example.atl deleted file mode 100644 index 3101edd..0000000 --- a/ATL/example.atl +++ /dev/null @@ -1,72 +0,0 @@ -# This is an example Atlantis file - I use it to explore what the language -# should end up looking like. - -load races.atl -load classes.atl - - -define-quest Kill hellhound - objective kill hellhound - reward gold 300 - - -define-spell Ray of death - type kill - min-intelligence 12 - success-rate 35 - - -define-npc Hades - say Oh, amazing, you actually got here! Who did you bribe? - sell 30 Ambrosia - quest Kill hellhound - - -define-item Scroll of light - value 80 - add-experience 20 - add-spell Ray of death - -define-item Ambrosia - category Food - add-health 5 - - -define-monster Hellhound - armor-class 8 - strength 10 - melee-weapon 2 claws - experience 50 - spawn 2 - aggression 60 - -define-monster Fury - armor-class 5 - strength 8 - melee-weapon 10 fire whip - experience 74 - spawn 0.8 - aggression 30 - - -define-place Nowhere - description Welcome to Nowhere! You are in the void, the space between \ -the worlds. Around you is black. Black, except for one tiny pin-prick of light \ -to the north. - neighbour Elysium - -define-place Elysium - description Congratulations! You have achieved Elysium! - neighbour Nowhere - neighbour Fields of punishment - npc Hades - item Scroll of light - -define-place Fields of punishment - description You really, really don't want to end up here... - neighbour Elysium - monster Hellhound - monster Fury - - -start-place Elysium \ No newline at end of file diff --git a/ATL/game-objects.atl b/ATL/game-objects.atl deleted file mode 100644 index 19a648a..0000000 --- a/ATL/game-objects.atl +++ /dev/null @@ -1,51 +0,0 @@ -; This module defines items, NPCs, monsters and weapons for my -; Atlantis test world. -; @author Daniel Vedder -; @date 02/06/2015 - -define-monster "Fury" - description "Hades' messengers, torturers, assassins. Beware!" - health 10 - dexterity 20 - strength 10 - aggression 30 - armour-class 3 - weapon "fire-whip" - -define-weapon "fire-whip" - description "A 10-foot long whip, blazing with magical fire" - type "whip" - damage 2 - -define-item "Anaklusmos" - description "Riptide, a sword for heroes!" - weapon "yes" - -define-item "Lightning bolt" - description "Zeus lightning bolt - the most powerful weapon of the universe!" - weapon "yes" - -define-weapon "Anaklusmos" - description "Riptide, a sword for heroes!" - type "sword" - damage 4 - -define-weapon "Lightning bolt" ; primarily for debugging - description "Zeus lightning bolt - the most powerful weapon of the universe!" - type "magic" - damage 40 - -define-npc "Hades" - description "Hades, Lord of the Dead!" - says "Beware, mortal - do not tempt me!" - -define-npc "Charon" - description "A robe-clad ghoul, dread ferryman of the Styx." - says "..." - -define-npc "Persephone" ;testing the shop system - description "Hades' beautiful wife, bringer of summer." - says "Welcome, my friend from the upper world!" - sells "Sleeping potion" - sells "Handmirror" - sells "Book of Lore" \ No newline at end of file diff --git a/ATL/ATL-item-conversion.ods b/ATL/ATL-item-conversion.ods deleted file mode 100644 index a5442c2..0000000 --- a/ATL/ATL-item-conversion.ods +++ /dev/null Binary files differ diff --git a/ATL/Lugwey/items.atl b/ATL/Lugwey/items.atl index 63b407e..9abf21d 100644 --- a/ATL/Lugwey/items.atl +++ b/ATL/Lugwey/items.atl @@ -23,4 +23,27 @@ define-weapon "Dagger" description "A long, sharp knife, useful for self defence." type "Knife" - damage 3 \ No newline at end of file + damage 3 + +define-item "Signet ring" + description "A heavy gold ring, bearing the seal of the Monastery of Lugwey." + cost 100 + +define-item "Whip" + description "A horse-whip." + weapon "yes" + cost 10 + +define-weapon "Whip" + description "A plain old leather horse-whip." + type "Whip" + damage 1 + +define-item "Saddle" + description "If you want to ride a horse, a saddle certainly helps." + cost 20 + +define-item "Lantern" + description "An oil lantern, the glass casing nearly black with soot." + cost 10 + function "light" diff --git a/ATL/Lugwey/npcs.atl b/ATL/Lugwey/npcs.atl index e69de29..72ab03a 100644 --- a/ATL/Lugwey/npcs.atl +++ b/ATL/Lugwey/npcs.atl @@ -0,0 +1,12 @@ +; The Monastery of Lugwey is the first "real" world I am creating with ATL. +; Its purpose (apart from being playable) is to help with the development of +; Atlantis by showing potential deficits, bringing up new ideas, etc. +; +; This file describes all the NPCs in this world. +; +; @author Daniel Vedder +; @date 09/07/2015 + +define-npc "Gatekeeper" + description "An old monk, slightly hard of hearing, and looking very bored." + says "Welcome, stranger! Good to see somebody here! Come on in!" \ No newline at end of file diff --git a/ATL/Lugwey/places.atl b/ATL/Lugwey/places.atl index c11f1a2..46c3991 100644 --- a/ATL/Lugwey/places.atl +++ b/ATL/Lugwey/places.atl @@ -20,8 +20,8 @@ define-place "Monastery grounds" description "Paths criss-cross well-kept lawns. Here and there, roses bloom - in a flower bed. On one side stand the monastery buildings with - their calm, ancient dignity. On the other, the gardens, stables + in a flower bed. On one side stands the main monastery building + with its calm, ancient dignity. On the other, the gardens, stables and agricultural outhouses speak of a simple working life." neighbour "Gate" neighbour "Chapel" @@ -33,4 +33,56 @@ description "A rutted track, scarred by the wheels of many carts, leads through the forest from the monastery to the village." neighbour "Gate" - item "Signet ring" \ No newline at end of file + item "Signet ring" + +define-place "Chapel" + description "" + neighbour "Monastery grounds" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Dormitory" + description "" + neighbour "Monastery grounds" + neighbour "Chapel" + neighbour "Dining hall" + neighbour "Cloister" + +define-place "Cloister" + description "Inside the main monastery building, a colonnade surrounds a + rectangular courtyard. Neatly laid out flower beds are arranged + around the central well. Some monks are walking about, deep in + conversation." + neighbour "Chapel" + neighbour "Dormitory" + neighbour "Dining hall" + neighbour "Infirmary" + neighbour "Scriptorium" + +define-place "Dining hall" + description "" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Infirmary" + description "" + neighbour "Cloister" + +define-place "Scriptorium" + description "" + neighbour "Cloister" + +define-place "Gardens" + description "" + neighbour "Monastery grounds" + neighbour "Stable" + +define-place "Stable" + description "A rickety old wood building, dark and smelling of animals. + Two cart horses stand in their boxes near the entrance, a + mare with her foal and a couple of donkeys are further back." + neighbour "Monastery grounds" + neighbour "Gardens" + item "Whip" + item "Saddle" + item "Lantern" \ No newline at end of file diff --git a/ATL/creator-test.atl b/ATL/creator-test.atl deleted file mode 100644 index 6209e7c..0000000 --- a/ATL/creator-test.atl +++ /dev/null @@ -1,185 +0,0 @@ -;; This code has been automatically generated by the -;; Atlantis world creator. - -define-item "Rope (20m)" - cost 5 - -define-item "Backpack" - cost 5 - -define-item "Knife" - cost 10 - -define-item "Short sword" - cost 40 - -define-item "Long sword" - cost 80 - -define-item "Dagger" - cost 20 - -define-item "Spear" - cost 25 - -define-item "Short bow" - cost 30 - -define-item "Longbow" - cost 60 - -define-item "Slingshot" - cost 15 - -define-item "Throwing knife" - cost 15 - -define-item "Quiver of arrows" - cost 20 - -define-item "Leather armour" - cost 60 - -define-item "Chain mail" - cost 120 - -define-item "Plate armour" - cost 200 - -define-item "Buckler" - cost 35 - -define-item "Full shield" - cost 45 - -define-item "Candles (3x)" - cost 5 - -define-item "Matches" - cost 1 - -define-item "Food rations (5x)" - cost 10 - -define-item "Grappling hook" - cost 15 - -define-item "Fishing net" - cost 25 - -define-item "Fishing rod" - cost 15 - -define-item "Tent (2 people)" - cost 30 - -define-item "Cloak" - cost 15 - -define-item "Hat" - cost 10 - -define-item "Water bottle" - cost 5 - -define-item "Compass" - cost 20 - -define-item "Quill and ink" - cost 5 - -define-item "Parchment" - cost 5 - -define-item "Blanket" - cost 5 - -define-item "Book of Legends" - cost 55 - -define-item "Book of Lore" - cost 55 - -define-item "Medicinal herbs" - cost 10 - -define-item "Bandages (3x)" - cost 5 - -define-item "Tea leaves" - cost 5 - -define-item "Sleeping potion" - cost 15 - -define-item "Leather pouch" - cost 2 - -define-item "Face mask" - cost 10 - -define-item "Dye" - cost 5 - -define-item "Cloth" - cost 5 - -define-item "Scissors" - cost 15 - -define-item "Needle and thread" - cost 3 - -define-item "Canvas" - cost 8 - -define-item "String" - cost 2 - -define-item "Hatchet" - cost 20 - -define-item "Map" - cost 35 - -define-item "Pony" - cost 100 - -define-item "Horse" - cost 180 - -define-item "Saddle and bridle" - cost 45 - -define-item "Saddlebag" - cost 35 - -define-item "Handmirror" - cost 20 - -define-item "Magnifying glass" - cost 20 - -define-item "Telescope" - cost 40 - -define-item "Rope ladder" - cost 15 - -define-item "Torches (3x)" - cost 10 - -define-item "Staff" - cost 10 - -define-item "Cooking pot" - cost 8 - -define-item "Soap" - cost 2 - -define-item "Towel" - cost 5 - -define-item "Boots" - cost 10 \ No newline at end of file diff --git a/ATL/example.atl b/ATL/example.atl deleted file mode 100644 index 3101edd..0000000 --- a/ATL/example.atl +++ /dev/null @@ -1,72 +0,0 @@ -# This is an example Atlantis file - I use it to explore what the language -# should end up looking like. - -load races.atl -load classes.atl - - -define-quest Kill hellhound - objective kill hellhound - reward gold 300 - - -define-spell Ray of death - type kill - min-intelligence 12 - success-rate 35 - - -define-npc Hades - say Oh, amazing, you actually got here! Who did you bribe? - sell 30 Ambrosia - quest Kill hellhound - - -define-item Scroll of light - value 80 - add-experience 20 - add-spell Ray of death - -define-item Ambrosia - category Food - add-health 5 - - -define-monster Hellhound - armor-class 8 - strength 10 - melee-weapon 2 claws - experience 50 - spawn 2 - aggression 60 - -define-monster Fury - armor-class 5 - strength 8 - melee-weapon 10 fire whip - experience 74 - spawn 0.8 - aggression 30 - - -define-place Nowhere - description Welcome to Nowhere! You are in the void, the space between \ -the worlds. Around you is black. Black, except for one tiny pin-prick of light \ -to the north. - neighbour Elysium - -define-place Elysium - description Congratulations! You have achieved Elysium! - neighbour Nowhere - neighbour Fields of punishment - npc Hades - item Scroll of light - -define-place Fields of punishment - description You really, really don't want to end up here... - neighbour Elysium - monster Hellhound - monster Fury - - -start-place Elysium \ No newline at end of file diff --git a/ATL/game-objects.atl b/ATL/game-objects.atl deleted file mode 100644 index 19a648a..0000000 --- a/ATL/game-objects.atl +++ /dev/null @@ -1,51 +0,0 @@ -; This module defines items, NPCs, monsters and weapons for my -; Atlantis test world. -; @author Daniel Vedder -; @date 02/06/2015 - -define-monster "Fury" - description "Hades' messengers, torturers, assassins. Beware!" - health 10 - dexterity 20 - strength 10 - aggression 30 - armour-class 3 - weapon "fire-whip" - -define-weapon "fire-whip" - description "A 10-foot long whip, blazing with magical fire" - type "whip" - damage 2 - -define-item "Anaklusmos" - description "Riptide, a sword for heroes!" - weapon "yes" - -define-item "Lightning bolt" - description "Zeus lightning bolt - the most powerful weapon of the universe!" - weapon "yes" - -define-weapon "Anaklusmos" - description "Riptide, a sword for heroes!" - type "sword" - damage 4 - -define-weapon "Lightning bolt" ; primarily for debugging - description "Zeus lightning bolt - the most powerful weapon of the universe!" - type "magic" - damage 40 - -define-npc "Hades" - description "Hades, Lord of the Dead!" - says "Beware, mortal - do not tempt me!" - -define-npc "Charon" - description "A robe-clad ghoul, dread ferryman of the Styx." - says "..." - -define-npc "Persephone" ;testing the shop system - description "Hades' beautiful wife, bringer of summer." - says "Welcome, my friend from the upper world!" - sells "Sleeping potion" - sells "Handmirror" - sells "Book of Lore" \ No newline at end of file diff --git a/ATL/lisp-test.atl b/ATL/lisp-test.atl deleted file mode 100644 index b68d944..0000000 --- a/ATL/lisp-test.atl +++ /dev/null @@ -1,51 +0,0 @@ -; This is a simple ATL file to test whatever I have implemented so far. -; @author Daniel Vedder -; @date 04/05/2015 - -name-world "Underworld" - -define-player "Start" - money 200 - place "Fields of Punishment" - max-health 50 - health 50 - -define-place "Nowhere" - description "Welcome to Nowhere! -You are in the void, the space between the worlds. Around you is black. -Black, except for one tiny pin-prick of light to the north." - neighbour "Styx" - -define-place "Elysium" - description "This is where you want to be when you are six feet under..." - neighbour "Styx" - neighbour "Fields of Punishment" - neighbour "Fields of Asphodel" - npc "Persephone" - -define-place "Fields of Punishment" - description "Precisely where you do NOT want to end up..." - neighbour "Styx" - neighbour "Elysium" - neighbour "Fields of Asphodel" - monster "Fury" - -define-place "Fields of Asphodel" - description "Nothing special. Really, nothing special at all. -Just a whole load of dead people..." - neighbour "Fields of Punishment" - neighbour "Elysium" - npc "Hades" - -define-place "Styx" - description "The great river that all must cross - but woe to those who do!" - neighbour "Fields of Punishment" - neighbour "Elysium" - neighbour "Nowhere" - item "Anaklusmos" - npc "Charon" - -load-file lisp-test.atl ;Testing whether recursive loading is prevented -load-file races-classes.atl -load-file game-objects.atl -load-file creator-test.atl diff --git a/ATL/ATL-item-conversion.ods b/ATL/ATL-item-conversion.ods deleted file mode 100644 index a5442c2..0000000 --- a/ATL/ATL-item-conversion.ods +++ /dev/null Binary files differ diff --git a/ATL/Lugwey/items.atl b/ATL/Lugwey/items.atl index 63b407e..9abf21d 100644 --- a/ATL/Lugwey/items.atl +++ b/ATL/Lugwey/items.atl @@ -23,4 +23,27 @@ define-weapon "Dagger" description "A long, sharp knife, useful for self defence." type "Knife" - damage 3 \ No newline at end of file + damage 3 + +define-item "Signet ring" + description "A heavy gold ring, bearing the seal of the Monastery of Lugwey." + cost 100 + +define-item "Whip" + description "A horse-whip." + weapon "yes" + cost 10 + +define-weapon "Whip" + description "A plain old leather horse-whip." + type "Whip" + damage 1 + +define-item "Saddle" + description "If you want to ride a horse, a saddle certainly helps." + cost 20 + +define-item "Lantern" + description "An oil lantern, the glass casing nearly black with soot." + cost 10 + function "light" diff --git a/ATL/Lugwey/npcs.atl b/ATL/Lugwey/npcs.atl index e69de29..72ab03a 100644 --- a/ATL/Lugwey/npcs.atl +++ b/ATL/Lugwey/npcs.atl @@ -0,0 +1,12 @@ +; The Monastery of Lugwey is the first "real" world I am creating with ATL. +; Its purpose (apart from being playable) is to help with the development of +; Atlantis by showing potential deficits, bringing up new ideas, etc. +; +; This file describes all the NPCs in this world. +; +; @author Daniel Vedder +; @date 09/07/2015 + +define-npc "Gatekeeper" + description "An old monk, slightly hard of hearing, and looking very bored." + says "Welcome, stranger! Good to see somebody here! Come on in!" \ No newline at end of file diff --git a/ATL/Lugwey/places.atl b/ATL/Lugwey/places.atl index c11f1a2..46c3991 100644 --- a/ATL/Lugwey/places.atl +++ b/ATL/Lugwey/places.atl @@ -20,8 +20,8 @@ define-place "Monastery grounds" description "Paths criss-cross well-kept lawns. Here and there, roses bloom - in a flower bed. On one side stand the monastery buildings with - their calm, ancient dignity. On the other, the gardens, stables + in a flower bed. On one side stands the main monastery building + with its calm, ancient dignity. On the other, the gardens, stables and agricultural outhouses speak of a simple working life." neighbour "Gate" neighbour "Chapel" @@ -33,4 +33,56 @@ description "A rutted track, scarred by the wheels of many carts, leads through the forest from the monastery to the village." neighbour "Gate" - item "Signet ring" \ No newline at end of file + item "Signet ring" + +define-place "Chapel" + description "" + neighbour "Monastery grounds" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Dormitory" + description "" + neighbour "Monastery grounds" + neighbour "Chapel" + neighbour "Dining hall" + neighbour "Cloister" + +define-place "Cloister" + description "Inside the main monastery building, a colonnade surrounds a + rectangular courtyard. Neatly laid out flower beds are arranged + around the central well. Some monks are walking about, deep in + conversation." + neighbour "Chapel" + neighbour "Dormitory" + neighbour "Dining hall" + neighbour "Infirmary" + neighbour "Scriptorium" + +define-place "Dining hall" + description "" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Infirmary" + description "" + neighbour "Cloister" + +define-place "Scriptorium" + description "" + neighbour "Cloister" + +define-place "Gardens" + description "" + neighbour "Monastery grounds" + neighbour "Stable" + +define-place "Stable" + description "A rickety old wood building, dark and smelling of animals. + Two cart horses stand in their boxes near the entrance, a + mare with her foal and a couple of donkeys are further back." + neighbour "Monastery grounds" + neighbour "Gardens" + item "Whip" + item "Saddle" + item "Lantern" \ No newline at end of file diff --git a/ATL/creator-test.atl b/ATL/creator-test.atl deleted file mode 100644 index 6209e7c..0000000 --- a/ATL/creator-test.atl +++ /dev/null @@ -1,185 +0,0 @@ -;; This code has been automatically generated by the -;; Atlantis world creator. - -define-item "Rope (20m)" - cost 5 - -define-item "Backpack" - cost 5 - -define-item "Knife" - cost 10 - -define-item "Short sword" - cost 40 - -define-item "Long sword" - cost 80 - -define-item "Dagger" - cost 20 - -define-item "Spear" - cost 25 - -define-item "Short bow" - cost 30 - -define-item "Longbow" - cost 60 - -define-item "Slingshot" - cost 15 - -define-item "Throwing knife" - cost 15 - -define-item "Quiver of arrows" - cost 20 - -define-item "Leather armour" - cost 60 - -define-item "Chain mail" - cost 120 - -define-item "Plate armour" - cost 200 - -define-item "Buckler" - cost 35 - -define-item "Full shield" - cost 45 - -define-item "Candles (3x)" - cost 5 - -define-item "Matches" - cost 1 - -define-item "Food rations (5x)" - cost 10 - -define-item "Grappling hook" - cost 15 - -define-item "Fishing net" - cost 25 - -define-item "Fishing rod" - cost 15 - -define-item "Tent (2 people)" - cost 30 - -define-item "Cloak" - cost 15 - -define-item "Hat" - cost 10 - -define-item "Water bottle" - cost 5 - -define-item "Compass" - cost 20 - -define-item "Quill and ink" - cost 5 - -define-item "Parchment" - cost 5 - -define-item "Blanket" - cost 5 - -define-item "Book of Legends" - cost 55 - -define-item "Book of Lore" - cost 55 - -define-item "Medicinal herbs" - cost 10 - -define-item "Bandages (3x)" - cost 5 - -define-item "Tea leaves" - cost 5 - -define-item "Sleeping potion" - cost 15 - -define-item "Leather pouch" - cost 2 - -define-item "Face mask" - cost 10 - -define-item "Dye" - cost 5 - -define-item "Cloth" - cost 5 - -define-item "Scissors" - cost 15 - -define-item "Needle and thread" - cost 3 - -define-item "Canvas" - cost 8 - -define-item "String" - cost 2 - -define-item "Hatchet" - cost 20 - -define-item "Map" - cost 35 - -define-item "Pony" - cost 100 - -define-item "Horse" - cost 180 - -define-item "Saddle and bridle" - cost 45 - -define-item "Saddlebag" - cost 35 - -define-item "Handmirror" - cost 20 - -define-item "Magnifying glass" - cost 20 - -define-item "Telescope" - cost 40 - -define-item "Rope ladder" - cost 15 - -define-item "Torches (3x)" - cost 10 - -define-item "Staff" - cost 10 - -define-item "Cooking pot" - cost 8 - -define-item "Soap" - cost 2 - -define-item "Towel" - cost 5 - -define-item "Boots" - cost 10 \ No newline at end of file diff --git a/ATL/example.atl b/ATL/example.atl deleted file mode 100644 index 3101edd..0000000 --- a/ATL/example.atl +++ /dev/null @@ -1,72 +0,0 @@ -# This is an example Atlantis file - I use it to explore what the language -# should end up looking like. - -load races.atl -load classes.atl - - -define-quest Kill hellhound - objective kill hellhound - reward gold 300 - - -define-spell Ray of death - type kill - min-intelligence 12 - success-rate 35 - - -define-npc Hades - say Oh, amazing, you actually got here! Who did you bribe? - sell 30 Ambrosia - quest Kill hellhound - - -define-item Scroll of light - value 80 - add-experience 20 - add-spell Ray of death - -define-item Ambrosia - category Food - add-health 5 - - -define-monster Hellhound - armor-class 8 - strength 10 - melee-weapon 2 claws - experience 50 - spawn 2 - aggression 60 - -define-monster Fury - armor-class 5 - strength 8 - melee-weapon 10 fire whip - experience 74 - spawn 0.8 - aggression 30 - - -define-place Nowhere - description Welcome to Nowhere! You are in the void, the space between \ -the worlds. Around you is black. Black, except for one tiny pin-prick of light \ -to the north. - neighbour Elysium - -define-place Elysium - description Congratulations! You have achieved Elysium! - neighbour Nowhere - neighbour Fields of punishment - npc Hades - item Scroll of light - -define-place Fields of punishment - description You really, really don't want to end up here... - neighbour Elysium - monster Hellhound - monster Fury - - -start-place Elysium \ No newline at end of file diff --git a/ATL/game-objects.atl b/ATL/game-objects.atl deleted file mode 100644 index 19a648a..0000000 --- a/ATL/game-objects.atl +++ /dev/null @@ -1,51 +0,0 @@ -; This module defines items, NPCs, monsters and weapons for my -; Atlantis test world. -; @author Daniel Vedder -; @date 02/06/2015 - -define-monster "Fury" - description "Hades' messengers, torturers, assassins. Beware!" - health 10 - dexterity 20 - strength 10 - aggression 30 - armour-class 3 - weapon "fire-whip" - -define-weapon "fire-whip" - description "A 10-foot long whip, blazing with magical fire" - type "whip" - damage 2 - -define-item "Anaklusmos" - description "Riptide, a sword for heroes!" - weapon "yes" - -define-item "Lightning bolt" - description "Zeus lightning bolt - the most powerful weapon of the universe!" - weapon "yes" - -define-weapon "Anaklusmos" - description "Riptide, a sword for heroes!" - type "sword" - damage 4 - -define-weapon "Lightning bolt" ; primarily for debugging - description "Zeus lightning bolt - the most powerful weapon of the universe!" - type "magic" - damage 40 - -define-npc "Hades" - description "Hades, Lord of the Dead!" - says "Beware, mortal - do not tempt me!" - -define-npc "Charon" - description "A robe-clad ghoul, dread ferryman of the Styx." - says "..." - -define-npc "Persephone" ;testing the shop system - description "Hades' beautiful wife, bringer of summer." - says "Welcome, my friend from the upper world!" - sells "Sleeping potion" - sells "Handmirror" - sells "Book of Lore" \ No newline at end of file diff --git a/ATL/lisp-test.atl b/ATL/lisp-test.atl deleted file mode 100644 index b68d944..0000000 --- a/ATL/lisp-test.atl +++ /dev/null @@ -1,51 +0,0 @@ -; This is a simple ATL file to test whatever I have implemented so far. -; @author Daniel Vedder -; @date 04/05/2015 - -name-world "Underworld" - -define-player "Start" - money 200 - place "Fields of Punishment" - max-health 50 - health 50 - -define-place "Nowhere" - description "Welcome to Nowhere! -You are in the void, the space between the worlds. Around you is black. -Black, except for one tiny pin-prick of light to the north." - neighbour "Styx" - -define-place "Elysium" - description "This is where you want to be when you are six feet under..." - neighbour "Styx" - neighbour "Fields of Punishment" - neighbour "Fields of Asphodel" - npc "Persephone" - -define-place "Fields of Punishment" - description "Precisely where you do NOT want to end up..." - neighbour "Styx" - neighbour "Elysium" - neighbour "Fields of Asphodel" - monster "Fury" - -define-place "Fields of Asphodel" - description "Nothing special. Really, nothing special at all. -Just a whole load of dead people..." - neighbour "Fields of Punishment" - neighbour "Elysium" - npc "Hades" - -define-place "Styx" - description "The great river that all must cross - but woe to those who do!" - neighbour "Fields of Punishment" - neighbour "Elysium" - neighbour "Nowhere" - item "Anaklusmos" - npc "Charon" - -load-file lisp-test.atl ;Testing whether recursive loading is prevented -load-file races-classes.atl -load-file game-objects.atl -load-file creator-test.atl diff --git a/ATL/races-classes.atl b/ATL/races-classes.atl deleted file mode 100644 index 659310f..0000000 --- a/ATL/races-classes.atl +++ /dev/null @@ -1,40 +0,0 @@ -; A file to define all the races and character classes in my test world. -; @author Daniel Vedder -; @date 18/05/2015 - -;;; RACES - -define-race "Elf" - description "The oldest and wisest race of Middle Earth" - -define-race "Dwarf" - description "Sons of the Earth, descendants of Durin" - -define-race "Hobbit" - description "Peace-loving and kind, true gentlemen" - -define-race "Human" - description "Boring, exciting, ever-changing, never-changing man..." - - -;;; CLASSES - -define-class "Warrior" - description "Fighting as a passion!" - special-item "Sword" - -define-class "Wizard" - description "Ancient, powerful, keepers of the Knowledge..." - special-item "staff" - -define-class "Burglar" - description "Breaking and entering taken to the max!" - special-item "lockpick" - special-item "torch" - -define-class "Craftsman" - description "Maker of all things beautiful and useful" - special-item "hammer" - -load-file lisp-test.atl ;Again, a test for recursive loading -load-file test-extension.lisp ;Testing whether Lisp extensions are loaded \ No newline at end of file diff --git a/ATL/ATL-item-conversion.ods b/ATL/ATL-item-conversion.ods deleted file mode 100644 index a5442c2..0000000 --- a/ATL/ATL-item-conversion.ods +++ /dev/null Binary files differ diff --git a/ATL/Lugwey/items.atl b/ATL/Lugwey/items.atl index 63b407e..9abf21d 100644 --- a/ATL/Lugwey/items.atl +++ b/ATL/Lugwey/items.atl @@ -23,4 +23,27 @@ define-weapon "Dagger" description "A long, sharp knife, useful for self defence." type "Knife" - damage 3 \ No newline at end of file + damage 3 + +define-item "Signet ring" + description "A heavy gold ring, bearing the seal of the Monastery of Lugwey." + cost 100 + +define-item "Whip" + description "A horse-whip." + weapon "yes" + cost 10 + +define-weapon "Whip" + description "A plain old leather horse-whip." + type "Whip" + damage 1 + +define-item "Saddle" + description "If you want to ride a horse, a saddle certainly helps." + cost 20 + +define-item "Lantern" + description "An oil lantern, the glass casing nearly black with soot." + cost 10 + function "light" diff --git a/ATL/Lugwey/npcs.atl b/ATL/Lugwey/npcs.atl index e69de29..72ab03a 100644 --- a/ATL/Lugwey/npcs.atl +++ b/ATL/Lugwey/npcs.atl @@ -0,0 +1,12 @@ +; The Monastery of Lugwey is the first "real" world I am creating with ATL. +; Its purpose (apart from being playable) is to help with the development of +; Atlantis by showing potential deficits, bringing up new ideas, etc. +; +; This file describes all the NPCs in this world. +; +; @author Daniel Vedder +; @date 09/07/2015 + +define-npc "Gatekeeper" + description "An old monk, slightly hard of hearing, and looking very bored." + says "Welcome, stranger! Good to see somebody here! Come on in!" \ No newline at end of file diff --git a/ATL/Lugwey/places.atl b/ATL/Lugwey/places.atl index c11f1a2..46c3991 100644 --- a/ATL/Lugwey/places.atl +++ b/ATL/Lugwey/places.atl @@ -20,8 +20,8 @@ define-place "Monastery grounds" description "Paths criss-cross well-kept lawns. Here and there, roses bloom - in a flower bed. On one side stand the monastery buildings with - their calm, ancient dignity. On the other, the gardens, stables + in a flower bed. On one side stands the main monastery building + with its calm, ancient dignity. On the other, the gardens, stables and agricultural outhouses speak of a simple working life." neighbour "Gate" neighbour "Chapel" @@ -33,4 +33,56 @@ description "A rutted track, scarred by the wheels of many carts, leads through the forest from the monastery to the village." neighbour "Gate" - item "Signet ring" \ No newline at end of file + item "Signet ring" + +define-place "Chapel" + description "" + neighbour "Monastery grounds" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Dormitory" + description "" + neighbour "Monastery grounds" + neighbour "Chapel" + neighbour "Dining hall" + neighbour "Cloister" + +define-place "Cloister" + description "Inside the main monastery building, a colonnade surrounds a + rectangular courtyard. Neatly laid out flower beds are arranged + around the central well. Some monks are walking about, deep in + conversation." + neighbour "Chapel" + neighbour "Dormitory" + neighbour "Dining hall" + neighbour "Infirmary" + neighbour "Scriptorium" + +define-place "Dining hall" + description "" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Infirmary" + description "" + neighbour "Cloister" + +define-place "Scriptorium" + description "" + neighbour "Cloister" + +define-place "Gardens" + description "" + neighbour "Monastery grounds" + neighbour "Stable" + +define-place "Stable" + description "A rickety old wood building, dark and smelling of animals. + Two cart horses stand in their boxes near the entrance, a + mare with her foal and a couple of donkeys are further back." + neighbour "Monastery grounds" + neighbour "Gardens" + item "Whip" + item "Saddle" + item "Lantern" \ No newline at end of file diff --git a/ATL/creator-test.atl b/ATL/creator-test.atl deleted file mode 100644 index 6209e7c..0000000 --- a/ATL/creator-test.atl +++ /dev/null @@ -1,185 +0,0 @@ -;; This code has been automatically generated by the -;; Atlantis world creator. - -define-item "Rope (20m)" - cost 5 - -define-item "Backpack" - cost 5 - -define-item "Knife" - cost 10 - -define-item "Short sword" - cost 40 - -define-item "Long sword" - cost 80 - -define-item "Dagger" - cost 20 - -define-item "Spear" - cost 25 - -define-item "Short bow" - cost 30 - -define-item "Longbow" - cost 60 - -define-item "Slingshot" - cost 15 - -define-item "Throwing knife" - cost 15 - -define-item "Quiver of arrows" - cost 20 - -define-item "Leather armour" - cost 60 - -define-item "Chain mail" - cost 120 - -define-item "Plate armour" - cost 200 - -define-item "Buckler" - cost 35 - -define-item "Full shield" - cost 45 - -define-item "Candles (3x)" - cost 5 - -define-item "Matches" - cost 1 - -define-item "Food rations (5x)" - cost 10 - -define-item "Grappling hook" - cost 15 - -define-item "Fishing net" - cost 25 - -define-item "Fishing rod" - cost 15 - -define-item "Tent (2 people)" - cost 30 - -define-item "Cloak" - cost 15 - -define-item "Hat" - cost 10 - -define-item "Water bottle" - cost 5 - -define-item "Compass" - cost 20 - -define-item "Quill and ink" - cost 5 - -define-item "Parchment" - cost 5 - -define-item "Blanket" - cost 5 - -define-item "Book of Legends" - cost 55 - -define-item "Book of Lore" - cost 55 - -define-item "Medicinal herbs" - cost 10 - -define-item "Bandages (3x)" - cost 5 - -define-item "Tea leaves" - cost 5 - -define-item "Sleeping potion" - cost 15 - -define-item "Leather pouch" - cost 2 - -define-item "Face mask" - cost 10 - -define-item "Dye" - cost 5 - -define-item "Cloth" - cost 5 - -define-item "Scissors" - cost 15 - -define-item "Needle and thread" - cost 3 - -define-item "Canvas" - cost 8 - -define-item "String" - cost 2 - -define-item "Hatchet" - cost 20 - -define-item "Map" - cost 35 - -define-item "Pony" - cost 100 - -define-item "Horse" - cost 180 - -define-item "Saddle and bridle" - cost 45 - -define-item "Saddlebag" - cost 35 - -define-item "Handmirror" - cost 20 - -define-item "Magnifying glass" - cost 20 - -define-item "Telescope" - cost 40 - -define-item "Rope ladder" - cost 15 - -define-item "Torches (3x)" - cost 10 - -define-item "Staff" - cost 10 - -define-item "Cooking pot" - cost 8 - -define-item "Soap" - cost 2 - -define-item "Towel" - cost 5 - -define-item "Boots" - cost 10 \ No newline at end of file diff --git a/ATL/example.atl b/ATL/example.atl deleted file mode 100644 index 3101edd..0000000 --- a/ATL/example.atl +++ /dev/null @@ -1,72 +0,0 @@ -# This is an example Atlantis file - I use it to explore what the language -# should end up looking like. - -load races.atl -load classes.atl - - -define-quest Kill hellhound - objective kill hellhound - reward gold 300 - - -define-spell Ray of death - type kill - min-intelligence 12 - success-rate 35 - - -define-npc Hades - say Oh, amazing, you actually got here! Who did you bribe? - sell 30 Ambrosia - quest Kill hellhound - - -define-item Scroll of light - value 80 - add-experience 20 - add-spell Ray of death - -define-item Ambrosia - category Food - add-health 5 - - -define-monster Hellhound - armor-class 8 - strength 10 - melee-weapon 2 claws - experience 50 - spawn 2 - aggression 60 - -define-monster Fury - armor-class 5 - strength 8 - melee-weapon 10 fire whip - experience 74 - spawn 0.8 - aggression 30 - - -define-place Nowhere - description Welcome to Nowhere! You are in the void, the space between \ -the worlds. Around you is black. Black, except for one tiny pin-prick of light \ -to the north. - neighbour Elysium - -define-place Elysium - description Congratulations! You have achieved Elysium! - neighbour Nowhere - neighbour Fields of punishment - npc Hades - item Scroll of light - -define-place Fields of punishment - description You really, really don't want to end up here... - neighbour Elysium - monster Hellhound - monster Fury - - -start-place Elysium \ No newline at end of file diff --git a/ATL/game-objects.atl b/ATL/game-objects.atl deleted file mode 100644 index 19a648a..0000000 --- a/ATL/game-objects.atl +++ /dev/null @@ -1,51 +0,0 @@ -; This module defines items, NPCs, monsters and weapons for my -; Atlantis test world. -; @author Daniel Vedder -; @date 02/06/2015 - -define-monster "Fury" - description "Hades' messengers, torturers, assassins. Beware!" - health 10 - dexterity 20 - strength 10 - aggression 30 - armour-class 3 - weapon "fire-whip" - -define-weapon "fire-whip" - description "A 10-foot long whip, blazing with magical fire" - type "whip" - damage 2 - -define-item "Anaklusmos" - description "Riptide, a sword for heroes!" - weapon "yes" - -define-item "Lightning bolt" - description "Zeus lightning bolt - the most powerful weapon of the universe!" - weapon "yes" - -define-weapon "Anaklusmos" - description "Riptide, a sword for heroes!" - type "sword" - damage 4 - -define-weapon "Lightning bolt" ; primarily for debugging - description "Zeus lightning bolt - the most powerful weapon of the universe!" - type "magic" - damage 40 - -define-npc "Hades" - description "Hades, Lord of the Dead!" - says "Beware, mortal - do not tempt me!" - -define-npc "Charon" - description "A robe-clad ghoul, dread ferryman of the Styx." - says "..." - -define-npc "Persephone" ;testing the shop system - description "Hades' beautiful wife, bringer of summer." - says "Welcome, my friend from the upper world!" - sells "Sleeping potion" - sells "Handmirror" - sells "Book of Lore" \ No newline at end of file diff --git a/ATL/lisp-test.atl b/ATL/lisp-test.atl deleted file mode 100644 index b68d944..0000000 --- a/ATL/lisp-test.atl +++ /dev/null @@ -1,51 +0,0 @@ -; This is a simple ATL file to test whatever I have implemented so far. -; @author Daniel Vedder -; @date 04/05/2015 - -name-world "Underworld" - -define-player "Start" - money 200 - place "Fields of Punishment" - max-health 50 - health 50 - -define-place "Nowhere" - description "Welcome to Nowhere! -You are in the void, the space between the worlds. Around you is black. -Black, except for one tiny pin-prick of light to the north." - neighbour "Styx" - -define-place "Elysium" - description "This is where you want to be when you are six feet under..." - neighbour "Styx" - neighbour "Fields of Punishment" - neighbour "Fields of Asphodel" - npc "Persephone" - -define-place "Fields of Punishment" - description "Precisely where you do NOT want to end up..." - neighbour "Styx" - neighbour "Elysium" - neighbour "Fields of Asphodel" - monster "Fury" - -define-place "Fields of Asphodel" - description "Nothing special. Really, nothing special at all. -Just a whole load of dead people..." - neighbour "Fields of Punishment" - neighbour "Elysium" - npc "Hades" - -define-place "Styx" - description "The great river that all must cross - but woe to those who do!" - neighbour "Fields of Punishment" - neighbour "Elysium" - neighbour "Nowhere" - item "Anaklusmos" - npc "Charon" - -load-file lisp-test.atl ;Testing whether recursive loading is prevented -load-file races-classes.atl -load-file game-objects.atl -load-file creator-test.atl diff --git a/ATL/races-classes.atl b/ATL/races-classes.atl deleted file mode 100644 index 659310f..0000000 --- a/ATL/races-classes.atl +++ /dev/null @@ -1,40 +0,0 @@ -; A file to define all the races and character classes in my test world. -; @author Daniel Vedder -; @date 18/05/2015 - -;;; RACES - -define-race "Elf" - description "The oldest and wisest race of Middle Earth" - -define-race "Dwarf" - description "Sons of the Earth, descendants of Durin" - -define-race "Hobbit" - description "Peace-loving and kind, true gentlemen" - -define-race "Human" - description "Boring, exciting, ever-changing, never-changing man..." - - -;;; CLASSES - -define-class "Warrior" - description "Fighting as a passion!" - special-item "Sword" - -define-class "Wizard" - description "Ancient, powerful, keepers of the Knowledge..." - special-item "staff" - -define-class "Burglar" - description "Breaking and entering taken to the max!" - special-item "lockpick" - special-item "torch" - -define-class "Craftsman" - description "Maker of all things beautiful and useful" - special-item "hammer" - -load-file lisp-test.atl ;Again, a test for recursive loading -load-file test-extension.lisp ;Testing whether Lisp extensions are loaded \ No newline at end of file diff --git a/ATL/test-extension.lisp b/ATL/test-extension.lisp deleted file mode 100644 index f01660a..0000000 --- a/ATL/test-extension.lisp +++ /dev/null @@ -1,5 +0,0 @@ -;; This file tests whether the interpreter loads Lisp files correctly. -;; author: Daniel Vedder -;; date: 21/05/2015 - -(debugging "~&Loaded Lisp extension file.") diff --git a/ATL/ATL-item-conversion.ods b/ATL/ATL-item-conversion.ods deleted file mode 100644 index a5442c2..0000000 --- a/ATL/ATL-item-conversion.ods +++ /dev/null Binary files differ diff --git a/ATL/Lugwey/items.atl b/ATL/Lugwey/items.atl index 63b407e..9abf21d 100644 --- a/ATL/Lugwey/items.atl +++ b/ATL/Lugwey/items.atl @@ -23,4 +23,27 @@ define-weapon "Dagger" description "A long, sharp knife, useful for self defence." type "Knife" - damage 3 \ No newline at end of file + damage 3 + +define-item "Signet ring" + description "A heavy gold ring, bearing the seal of the Monastery of Lugwey." + cost 100 + +define-item "Whip" + description "A horse-whip." + weapon "yes" + cost 10 + +define-weapon "Whip" + description "A plain old leather horse-whip." + type "Whip" + damage 1 + +define-item "Saddle" + description "If you want to ride a horse, a saddle certainly helps." + cost 20 + +define-item "Lantern" + description "An oil lantern, the glass casing nearly black with soot." + cost 10 + function "light" diff --git a/ATL/Lugwey/npcs.atl b/ATL/Lugwey/npcs.atl index e69de29..72ab03a 100644 --- a/ATL/Lugwey/npcs.atl +++ b/ATL/Lugwey/npcs.atl @@ -0,0 +1,12 @@ +; The Monastery of Lugwey is the first "real" world I am creating with ATL. +; Its purpose (apart from being playable) is to help with the development of +; Atlantis by showing potential deficits, bringing up new ideas, etc. +; +; This file describes all the NPCs in this world. +; +; @author Daniel Vedder +; @date 09/07/2015 + +define-npc "Gatekeeper" + description "An old monk, slightly hard of hearing, and looking very bored." + says "Welcome, stranger! Good to see somebody here! Come on in!" \ No newline at end of file diff --git a/ATL/Lugwey/places.atl b/ATL/Lugwey/places.atl index c11f1a2..46c3991 100644 --- a/ATL/Lugwey/places.atl +++ b/ATL/Lugwey/places.atl @@ -20,8 +20,8 @@ define-place "Monastery grounds" description "Paths criss-cross well-kept lawns. Here and there, roses bloom - in a flower bed. On one side stand the monastery buildings with - their calm, ancient dignity. On the other, the gardens, stables + in a flower bed. On one side stands the main monastery building + with its calm, ancient dignity. On the other, the gardens, stables and agricultural outhouses speak of a simple working life." neighbour "Gate" neighbour "Chapel" @@ -33,4 +33,56 @@ description "A rutted track, scarred by the wheels of many carts, leads through the forest from the monastery to the village." neighbour "Gate" - item "Signet ring" \ No newline at end of file + item "Signet ring" + +define-place "Chapel" + description "" + neighbour "Monastery grounds" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Dormitory" + description "" + neighbour "Monastery grounds" + neighbour "Chapel" + neighbour "Dining hall" + neighbour "Cloister" + +define-place "Cloister" + description "Inside the main monastery building, a colonnade surrounds a + rectangular courtyard. Neatly laid out flower beds are arranged + around the central well. Some monks are walking about, deep in + conversation." + neighbour "Chapel" + neighbour "Dormitory" + neighbour "Dining hall" + neighbour "Infirmary" + neighbour "Scriptorium" + +define-place "Dining hall" + description "" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Infirmary" + description "" + neighbour "Cloister" + +define-place "Scriptorium" + description "" + neighbour "Cloister" + +define-place "Gardens" + description "" + neighbour "Monastery grounds" + neighbour "Stable" + +define-place "Stable" + description "A rickety old wood building, dark and smelling of animals. + Two cart horses stand in their boxes near the entrance, a + mare with her foal and a couple of donkeys are further back." + neighbour "Monastery grounds" + neighbour "Gardens" + item "Whip" + item "Saddle" + item "Lantern" \ No newline at end of file diff --git a/ATL/creator-test.atl b/ATL/creator-test.atl deleted file mode 100644 index 6209e7c..0000000 --- a/ATL/creator-test.atl +++ /dev/null @@ -1,185 +0,0 @@ -;; This code has been automatically generated by the -;; Atlantis world creator. - -define-item "Rope (20m)" - cost 5 - -define-item "Backpack" - cost 5 - -define-item "Knife" - cost 10 - -define-item "Short sword" - cost 40 - -define-item "Long sword" - cost 80 - -define-item "Dagger" - cost 20 - -define-item "Spear" - cost 25 - -define-item "Short bow" - cost 30 - -define-item "Longbow" - cost 60 - -define-item "Slingshot" - cost 15 - -define-item "Throwing knife" - cost 15 - -define-item "Quiver of arrows" - cost 20 - -define-item "Leather armour" - cost 60 - -define-item "Chain mail" - cost 120 - -define-item "Plate armour" - cost 200 - -define-item "Buckler" - cost 35 - -define-item "Full shield" - cost 45 - -define-item "Candles (3x)" - cost 5 - -define-item "Matches" - cost 1 - -define-item "Food rations (5x)" - cost 10 - -define-item "Grappling hook" - cost 15 - -define-item "Fishing net" - cost 25 - -define-item "Fishing rod" - cost 15 - -define-item "Tent (2 people)" - cost 30 - -define-item "Cloak" - cost 15 - -define-item "Hat" - cost 10 - -define-item "Water bottle" - cost 5 - -define-item "Compass" - cost 20 - -define-item "Quill and ink" - cost 5 - -define-item "Parchment" - cost 5 - -define-item "Blanket" - cost 5 - -define-item "Book of Legends" - cost 55 - -define-item "Book of Lore" - cost 55 - -define-item "Medicinal herbs" - cost 10 - -define-item "Bandages (3x)" - cost 5 - -define-item "Tea leaves" - cost 5 - -define-item "Sleeping potion" - cost 15 - -define-item "Leather pouch" - cost 2 - -define-item "Face mask" - cost 10 - -define-item "Dye" - cost 5 - -define-item "Cloth" - cost 5 - -define-item "Scissors" - cost 15 - -define-item "Needle and thread" - cost 3 - -define-item "Canvas" - cost 8 - -define-item "String" - cost 2 - -define-item "Hatchet" - cost 20 - -define-item "Map" - cost 35 - -define-item "Pony" - cost 100 - -define-item "Horse" - cost 180 - -define-item "Saddle and bridle" - cost 45 - -define-item "Saddlebag" - cost 35 - -define-item "Handmirror" - cost 20 - -define-item "Magnifying glass" - cost 20 - -define-item "Telescope" - cost 40 - -define-item "Rope ladder" - cost 15 - -define-item "Torches (3x)" - cost 10 - -define-item "Staff" - cost 10 - -define-item "Cooking pot" - cost 8 - -define-item "Soap" - cost 2 - -define-item "Towel" - cost 5 - -define-item "Boots" - cost 10 \ No newline at end of file diff --git a/ATL/example.atl b/ATL/example.atl deleted file mode 100644 index 3101edd..0000000 --- a/ATL/example.atl +++ /dev/null @@ -1,72 +0,0 @@ -# This is an example Atlantis file - I use it to explore what the language -# should end up looking like. - -load races.atl -load classes.atl - - -define-quest Kill hellhound - objective kill hellhound - reward gold 300 - - -define-spell Ray of death - type kill - min-intelligence 12 - success-rate 35 - - -define-npc Hades - say Oh, amazing, you actually got here! Who did you bribe? - sell 30 Ambrosia - quest Kill hellhound - - -define-item Scroll of light - value 80 - add-experience 20 - add-spell Ray of death - -define-item Ambrosia - category Food - add-health 5 - - -define-monster Hellhound - armor-class 8 - strength 10 - melee-weapon 2 claws - experience 50 - spawn 2 - aggression 60 - -define-monster Fury - armor-class 5 - strength 8 - melee-weapon 10 fire whip - experience 74 - spawn 0.8 - aggression 30 - - -define-place Nowhere - description Welcome to Nowhere! You are in the void, the space between \ -the worlds. Around you is black. Black, except for one tiny pin-prick of light \ -to the north. - neighbour Elysium - -define-place Elysium - description Congratulations! You have achieved Elysium! - neighbour Nowhere - neighbour Fields of punishment - npc Hades - item Scroll of light - -define-place Fields of punishment - description You really, really don't want to end up here... - neighbour Elysium - monster Hellhound - monster Fury - - -start-place Elysium \ No newline at end of file diff --git a/ATL/game-objects.atl b/ATL/game-objects.atl deleted file mode 100644 index 19a648a..0000000 --- a/ATL/game-objects.atl +++ /dev/null @@ -1,51 +0,0 @@ -; This module defines items, NPCs, monsters and weapons for my -; Atlantis test world. -; @author Daniel Vedder -; @date 02/06/2015 - -define-monster "Fury" - description "Hades' messengers, torturers, assassins. Beware!" - health 10 - dexterity 20 - strength 10 - aggression 30 - armour-class 3 - weapon "fire-whip" - -define-weapon "fire-whip" - description "A 10-foot long whip, blazing with magical fire" - type "whip" - damage 2 - -define-item "Anaklusmos" - description "Riptide, a sword for heroes!" - weapon "yes" - -define-item "Lightning bolt" - description "Zeus lightning bolt - the most powerful weapon of the universe!" - weapon "yes" - -define-weapon "Anaklusmos" - description "Riptide, a sword for heroes!" - type "sword" - damage 4 - -define-weapon "Lightning bolt" ; primarily for debugging - description "Zeus lightning bolt - the most powerful weapon of the universe!" - type "magic" - damage 40 - -define-npc "Hades" - description "Hades, Lord of the Dead!" - says "Beware, mortal - do not tempt me!" - -define-npc "Charon" - description "A robe-clad ghoul, dread ferryman of the Styx." - says "..." - -define-npc "Persephone" ;testing the shop system - description "Hades' beautiful wife, bringer of summer." - says "Welcome, my friend from the upper world!" - sells "Sleeping potion" - sells "Handmirror" - sells "Book of Lore" \ No newline at end of file diff --git a/ATL/lisp-test.atl b/ATL/lisp-test.atl deleted file mode 100644 index b68d944..0000000 --- a/ATL/lisp-test.atl +++ /dev/null @@ -1,51 +0,0 @@ -; This is a simple ATL file to test whatever I have implemented so far. -; @author Daniel Vedder -; @date 04/05/2015 - -name-world "Underworld" - -define-player "Start" - money 200 - place "Fields of Punishment" - max-health 50 - health 50 - -define-place "Nowhere" - description "Welcome to Nowhere! -You are in the void, the space between the worlds. Around you is black. -Black, except for one tiny pin-prick of light to the north." - neighbour "Styx" - -define-place "Elysium" - description "This is where you want to be when you are six feet under..." - neighbour "Styx" - neighbour "Fields of Punishment" - neighbour "Fields of Asphodel" - npc "Persephone" - -define-place "Fields of Punishment" - description "Precisely where you do NOT want to end up..." - neighbour "Styx" - neighbour "Elysium" - neighbour "Fields of Asphodel" - monster "Fury" - -define-place "Fields of Asphodel" - description "Nothing special. Really, nothing special at all. -Just a whole load of dead people..." - neighbour "Fields of Punishment" - neighbour "Elysium" - npc "Hades" - -define-place "Styx" - description "The great river that all must cross - but woe to those who do!" - neighbour "Fields of Punishment" - neighbour "Elysium" - neighbour "Nowhere" - item "Anaklusmos" - npc "Charon" - -load-file lisp-test.atl ;Testing whether recursive loading is prevented -load-file races-classes.atl -load-file game-objects.atl -load-file creator-test.atl diff --git a/ATL/races-classes.atl b/ATL/races-classes.atl deleted file mode 100644 index 659310f..0000000 --- a/ATL/races-classes.atl +++ /dev/null @@ -1,40 +0,0 @@ -; A file to define all the races and character classes in my test world. -; @author Daniel Vedder -; @date 18/05/2015 - -;;; RACES - -define-race "Elf" - description "The oldest and wisest race of Middle Earth" - -define-race "Dwarf" - description "Sons of the Earth, descendants of Durin" - -define-race "Hobbit" - description "Peace-loving and kind, true gentlemen" - -define-race "Human" - description "Boring, exciting, ever-changing, never-changing man..." - - -;;; CLASSES - -define-class "Warrior" - description "Fighting as a passion!" - special-item "Sword" - -define-class "Wizard" - description "Ancient, powerful, keepers of the Knowledge..." - special-item "staff" - -define-class "Burglar" - description "Breaking and entering taken to the max!" - special-item "lockpick" - special-item "torch" - -define-class "Craftsman" - description "Maker of all things beautiful and useful" - special-item "hammer" - -load-file lisp-test.atl ;Again, a test for recursive loading -load-file test-extension.lisp ;Testing whether Lisp extensions are loaded \ No newline at end of file diff --git a/ATL/test-extension.lisp b/ATL/test-extension.lisp deleted file mode 100644 index f01660a..0000000 --- a/ATL/test-extension.lisp +++ /dev/null @@ -1,5 +0,0 @@ -;; This file tests whether the interpreter loads Lisp files correctly. -;; author: Daniel Vedder -;; date: 21/05/2015 - -(debugging "~&Loaded Lisp extension file.") diff --git a/lisp/interpreter.lisp b/lisp/interpreter.lisp index bdc3cac..bd1f1ed 100644 --- a/lisp/interpreter.lisp +++ b/lisp/interpreter.lisp @@ -89,6 +89,7 @@ (position #\space line)))))) (error "~&ERROR: unrecognized syntax: '~A'" line)))) ;; interpret an option command + ;; TODO allow binary options (options without an argument) ((or (eql (aref line 0) #\Space) (eql (aref line 0) #\Tab)) (setf line (trim-whitespace line)) diff --git a/ATL/ATL-item-conversion.ods b/ATL/ATL-item-conversion.ods deleted file mode 100644 index a5442c2..0000000 --- a/ATL/ATL-item-conversion.ods +++ /dev/null Binary files differ diff --git a/ATL/Lugwey/items.atl b/ATL/Lugwey/items.atl index 63b407e..9abf21d 100644 --- a/ATL/Lugwey/items.atl +++ b/ATL/Lugwey/items.atl @@ -23,4 +23,27 @@ define-weapon "Dagger" description "A long, sharp knife, useful for self defence." type "Knife" - damage 3 \ No newline at end of file + damage 3 + +define-item "Signet ring" + description "A heavy gold ring, bearing the seal of the Monastery of Lugwey." + cost 100 + +define-item "Whip" + description "A horse-whip." + weapon "yes" + cost 10 + +define-weapon "Whip" + description "A plain old leather horse-whip." + type "Whip" + damage 1 + +define-item "Saddle" + description "If you want to ride a horse, a saddle certainly helps." + cost 20 + +define-item "Lantern" + description "An oil lantern, the glass casing nearly black with soot." + cost 10 + function "light" diff --git a/ATL/Lugwey/npcs.atl b/ATL/Lugwey/npcs.atl index e69de29..72ab03a 100644 --- a/ATL/Lugwey/npcs.atl +++ b/ATL/Lugwey/npcs.atl @@ -0,0 +1,12 @@ +; The Monastery of Lugwey is the first "real" world I am creating with ATL. +; Its purpose (apart from being playable) is to help with the development of +; Atlantis by showing potential deficits, bringing up new ideas, etc. +; +; This file describes all the NPCs in this world. +; +; @author Daniel Vedder +; @date 09/07/2015 + +define-npc "Gatekeeper" + description "An old monk, slightly hard of hearing, and looking very bored." + says "Welcome, stranger! Good to see somebody here! Come on in!" \ No newline at end of file diff --git a/ATL/Lugwey/places.atl b/ATL/Lugwey/places.atl index c11f1a2..46c3991 100644 --- a/ATL/Lugwey/places.atl +++ b/ATL/Lugwey/places.atl @@ -20,8 +20,8 @@ define-place "Monastery grounds" description "Paths criss-cross well-kept lawns. Here and there, roses bloom - in a flower bed. On one side stand the monastery buildings with - their calm, ancient dignity. On the other, the gardens, stables + in a flower bed. On one side stands the main monastery building + with its calm, ancient dignity. On the other, the gardens, stables and agricultural outhouses speak of a simple working life." neighbour "Gate" neighbour "Chapel" @@ -33,4 +33,56 @@ description "A rutted track, scarred by the wheels of many carts, leads through the forest from the monastery to the village." neighbour "Gate" - item "Signet ring" \ No newline at end of file + item "Signet ring" + +define-place "Chapel" + description "" + neighbour "Monastery grounds" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Dormitory" + description "" + neighbour "Monastery grounds" + neighbour "Chapel" + neighbour "Dining hall" + neighbour "Cloister" + +define-place "Cloister" + description "Inside the main monastery building, a colonnade surrounds a + rectangular courtyard. Neatly laid out flower beds are arranged + around the central well. Some monks are walking about, deep in + conversation." + neighbour "Chapel" + neighbour "Dormitory" + neighbour "Dining hall" + neighbour "Infirmary" + neighbour "Scriptorium" + +define-place "Dining hall" + description "" + neighbour "Dormitory" + neighbour "Cloister" + +define-place "Infirmary" + description "" + neighbour "Cloister" + +define-place "Scriptorium" + description "" + neighbour "Cloister" + +define-place "Gardens" + description "" + neighbour "Monastery grounds" + neighbour "Stable" + +define-place "Stable" + description "A rickety old wood building, dark and smelling of animals. + Two cart horses stand in their boxes near the entrance, a + mare with her foal and a couple of donkeys are further back." + neighbour "Monastery grounds" + neighbour "Gardens" + item "Whip" + item "Saddle" + item "Lantern" \ No newline at end of file diff --git a/ATL/creator-test.atl b/ATL/creator-test.atl deleted file mode 100644 index 6209e7c..0000000 --- a/ATL/creator-test.atl +++ /dev/null @@ -1,185 +0,0 @@ -;; This code has been automatically generated by the -;; Atlantis world creator. - -define-item "Rope (20m)" - cost 5 - -define-item "Backpack" - cost 5 - -define-item "Knife" - cost 10 - -define-item "Short sword" - cost 40 - -define-item "Long sword" - cost 80 - -define-item "Dagger" - cost 20 - -define-item "Spear" - cost 25 - -define-item "Short bow" - cost 30 - -define-item "Longbow" - cost 60 - -define-item "Slingshot" - cost 15 - -define-item "Throwing knife" - cost 15 - -define-item "Quiver of arrows" - cost 20 - -define-item "Leather armour" - cost 60 - -define-item "Chain mail" - cost 120 - -define-item "Plate armour" - cost 200 - -define-item "Buckler" - cost 35 - -define-item "Full shield" - cost 45 - -define-item "Candles (3x)" - cost 5 - -define-item "Matches" - cost 1 - -define-item "Food rations (5x)" - cost 10 - -define-item "Grappling hook" - cost 15 - -define-item "Fishing net" - cost 25 - -define-item "Fishing rod" - cost 15 - -define-item "Tent (2 people)" - cost 30 - -define-item "Cloak" - cost 15 - -define-item "Hat" - cost 10 - -define-item "Water bottle" - cost 5 - -define-item "Compass" - cost 20 - -define-item "Quill and ink" - cost 5 - -define-item "Parchment" - cost 5 - -define-item "Blanket" - cost 5 - -define-item "Book of Legends" - cost 55 - -define-item "Book of Lore" - cost 55 - -define-item "Medicinal herbs" - cost 10 - -define-item "Bandages (3x)" - cost 5 - -define-item "Tea leaves" - cost 5 - -define-item "Sleeping potion" - cost 15 - -define-item "Leather pouch" - cost 2 - -define-item "Face mask" - cost 10 - -define-item "Dye" - cost 5 - -define-item "Cloth" - cost 5 - -define-item "Scissors" - cost 15 - -define-item "Needle and thread" - cost 3 - -define-item "Canvas" - cost 8 - -define-item "String" - cost 2 - -define-item "Hatchet" - cost 20 - -define-item "Map" - cost 35 - -define-item "Pony" - cost 100 - -define-item "Horse" - cost 180 - -define-item "Saddle and bridle" - cost 45 - -define-item "Saddlebag" - cost 35 - -define-item "Handmirror" - cost 20 - -define-item "Magnifying glass" - cost 20 - -define-item "Telescope" - cost 40 - -define-item "Rope ladder" - cost 15 - -define-item "Torches (3x)" - cost 10 - -define-item "Staff" - cost 10 - -define-item "Cooking pot" - cost 8 - -define-item "Soap" - cost 2 - -define-item "Towel" - cost 5 - -define-item "Boots" - cost 10 \ No newline at end of file diff --git a/ATL/example.atl b/ATL/example.atl deleted file mode 100644 index 3101edd..0000000 --- a/ATL/example.atl +++ /dev/null @@ -1,72 +0,0 @@ -# This is an example Atlantis file - I use it to explore what the language -# should end up looking like. - -load races.atl -load classes.atl - - -define-quest Kill hellhound - objective kill hellhound - reward gold 300 - - -define-spell Ray of death - type kill - min-intelligence 12 - success-rate 35 - - -define-npc Hades - say Oh, amazing, you actually got here! Who did you bribe? - sell 30 Ambrosia - quest Kill hellhound - - -define-item Scroll of light - value 80 - add-experience 20 - add-spell Ray of death - -define-item Ambrosia - category Food - add-health 5 - - -define-monster Hellhound - armor-class 8 - strength 10 - melee-weapon 2 claws - experience 50 - spawn 2 - aggression 60 - -define-monster Fury - armor-class 5 - strength 8 - melee-weapon 10 fire whip - experience 74 - spawn 0.8 - aggression 30 - - -define-place Nowhere - description Welcome to Nowhere! You are in the void, the space between \ -the worlds. Around you is black. Black, except for one tiny pin-prick of light \ -to the north. - neighbour Elysium - -define-place Elysium - description Congratulations! You have achieved Elysium! - neighbour Nowhere - neighbour Fields of punishment - npc Hades - item Scroll of light - -define-place Fields of punishment - description You really, really don't want to end up here... - neighbour Elysium - monster Hellhound - monster Fury - - -start-place Elysium \ No newline at end of file diff --git a/ATL/game-objects.atl b/ATL/game-objects.atl deleted file mode 100644 index 19a648a..0000000 --- a/ATL/game-objects.atl +++ /dev/null @@ -1,51 +0,0 @@ -; This module defines items, NPCs, monsters and weapons for my -; Atlantis test world. -; @author Daniel Vedder -; @date 02/06/2015 - -define-monster "Fury" - description "Hades' messengers, torturers, assassins. Beware!" - health 10 - dexterity 20 - strength 10 - aggression 30 - armour-class 3 - weapon "fire-whip" - -define-weapon "fire-whip" - description "A 10-foot long whip, blazing with magical fire" - type "whip" - damage 2 - -define-item "Anaklusmos" - description "Riptide, a sword for heroes!" - weapon "yes" - -define-item "Lightning bolt" - description "Zeus lightning bolt - the most powerful weapon of the universe!" - weapon "yes" - -define-weapon "Anaklusmos" - description "Riptide, a sword for heroes!" - type "sword" - damage 4 - -define-weapon "Lightning bolt" ; primarily for debugging - description "Zeus lightning bolt - the most powerful weapon of the universe!" - type "magic" - damage 40 - -define-npc "Hades" - description "Hades, Lord of the Dead!" - says "Beware, mortal - do not tempt me!" - -define-npc "Charon" - description "A robe-clad ghoul, dread ferryman of the Styx." - says "..." - -define-npc "Persephone" ;testing the shop system - description "Hades' beautiful wife, bringer of summer." - says "Welcome, my friend from the upper world!" - sells "Sleeping potion" - sells "Handmirror" - sells "Book of Lore" \ No newline at end of file diff --git a/ATL/lisp-test.atl b/ATL/lisp-test.atl deleted file mode 100644 index b68d944..0000000 --- a/ATL/lisp-test.atl +++ /dev/null @@ -1,51 +0,0 @@ -; This is a simple ATL file to test whatever I have implemented so far. -; @author Daniel Vedder -; @date 04/05/2015 - -name-world "Underworld" - -define-player "Start" - money 200 - place "Fields of Punishment" - max-health 50 - health 50 - -define-place "Nowhere" - description "Welcome to Nowhere! -You are in the void, the space between the worlds. Around you is black. -Black, except for one tiny pin-prick of light to the north." - neighbour "Styx" - -define-place "Elysium" - description "This is where you want to be when you are six feet under..." - neighbour "Styx" - neighbour "Fields of Punishment" - neighbour "Fields of Asphodel" - npc "Persephone" - -define-place "Fields of Punishment" - description "Precisely where you do NOT want to end up..." - neighbour "Styx" - neighbour "Elysium" - neighbour "Fields of Asphodel" - monster "Fury" - -define-place "Fields of Asphodel" - description "Nothing special. Really, nothing special at all. -Just a whole load of dead people..." - neighbour "Fields of Punishment" - neighbour "Elysium" - npc "Hades" - -define-place "Styx" - description "The great river that all must cross - but woe to those who do!" - neighbour "Fields of Punishment" - neighbour "Elysium" - neighbour "Nowhere" - item "Anaklusmos" - npc "Charon" - -load-file lisp-test.atl ;Testing whether recursive loading is prevented -load-file races-classes.atl -load-file game-objects.atl -load-file creator-test.atl diff --git a/ATL/races-classes.atl b/ATL/races-classes.atl deleted file mode 100644 index 659310f..0000000 --- a/ATL/races-classes.atl +++ /dev/null @@ -1,40 +0,0 @@ -; A file to define all the races and character classes in my test world. -; @author Daniel Vedder -; @date 18/05/2015 - -;;; RACES - -define-race "Elf" - description "The oldest and wisest race of Middle Earth" - -define-race "Dwarf" - description "Sons of the Earth, descendants of Durin" - -define-race "Hobbit" - description "Peace-loving and kind, true gentlemen" - -define-race "Human" - description "Boring, exciting, ever-changing, never-changing man..." - - -;;; CLASSES - -define-class "Warrior" - description "Fighting as a passion!" - special-item "Sword" - -define-class "Wizard" - description "Ancient, powerful, keepers of the Knowledge..." - special-item "staff" - -define-class "Burglar" - description "Breaking and entering taken to the max!" - special-item "lockpick" - special-item "torch" - -define-class "Craftsman" - description "Maker of all things beautiful and useful" - special-item "hammer" - -load-file lisp-test.atl ;Again, a test for recursive loading -load-file test-extension.lisp ;Testing whether Lisp extensions are loaded \ No newline at end of file diff --git a/ATL/test-extension.lisp b/ATL/test-extension.lisp deleted file mode 100644 index f01660a..0000000 --- a/ATL/test-extension.lisp +++ /dev/null @@ -1,5 +0,0 @@ -;; This file tests whether the interpreter loads Lisp files correctly. -;; author: Daniel Vedder -;; date: 21/05/2015 - -(debugging "~&Loaded Lisp extension file.") diff --git a/lisp/interpreter.lisp b/lisp/interpreter.lisp index bdc3cac..bd1f1ed 100644 --- a/lisp/interpreter.lisp +++ b/lisp/interpreter.lisp @@ -89,6 +89,7 @@ (position #\space line)))))) (error "~&ERROR: unrecognized syntax: '~A'" line)))) ;; interpret an option command + ;; TODO allow binary options (options without an argument) ((or (eql (aref line 0) #\Space) (eql (aref line 0) #\Tab)) (setf line (trim-whitespace line)) diff --git a/lisp/util.lisp b/lisp/util.lisp index b47dc68..827b42a 100644 --- a/lisp/util.lisp +++ b/lisp/util.lisp @@ -135,6 +135,7 @@ (defun cut-string (s i) "Cut string s in two at index i and return the two substrings in a list" + ;; FIXME (cut-string "43" 2) => ("4" "3") ?! (do* ((c 0 (1+ c)) (letter (aref s c) (aref s c)) (letter-list-1 NIL) (letter-list-2 NIL)) ((= c (1- (length s)))