summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'data/examples/the_thief/include')
-rw-r--r--data/examples/the_thief/include/characters.fate61
-rw-r--r--data/examples/the_thief/include/locations.fate2
-rw-r--r--data/examples/the_thief/include/type/character.fate12
-rw-r--r--data/examples/the_thief/include/type/location.fate3
-rw-r--r--data/examples/the_thief/include/type/stat.fate3
5 files changed, 81 insertions, 0 deletions
diff --git a/data/examples/the_thief/include/characters.fate b/data/examples/the_thief/include/characters.fate
new file mode 100644
index 0000000..4c36a8e
--- /dev/null
+++ b/data/examples/the_thief/include/characters.fate
@@ -0,0 +1,61 @@
+(fate_version 1)
+
+(require include/type/character.fate)
+
+(declare_variable local character oscar)
+(declare_variable local character carla)
+(declare_variable local character simon)
+(declare_variable local character julie)
+(declare_variable local character statue)
+
+(require include/locations.fate)
+
+(set_fields
+ (name Oscar)
+ (agility 50)
+ (perception 50)
+ (money 20)
+ (location room0)
+ (variable oscar)
+)
+
+(set_fields
+ (name Carla)
+ (agility 75)
+ (perception 35)
+ (money 7)
+ (location room1)
+ (variable carla)
+)
+
+(set_fields
+ (name Simon)
+ (agility 35)
+ (perception 75)
+ (money 80)
+ (location room1)
+ (variable simon)
+)
+
+(set_fields
+ (name Julie)
+ (agility 60)
+ (perception 60)
+ (money 90)
+ (location room2)
+ (variable julie)
+)
+
+(set_fields
+ (name ( A oddly human shaped statue, with clothes adorned ))
+ (agility 0)
+ (perception 0)
+ (money 30)
+ (location corridor)
+ (variable statue)
+)
+
+;; Alright, but we clearly need to be able to point to variables using a type.
+;; like (pointer (variable carla)) -> pointer to variable of type character
+;; (a string, really) resolves to (variable carla), but allows characters to be
+;; put in a set, for example.
diff --git a/data/examples/the_thief/include/locations.fate b/data/examples/the_thief/include/locations.fate
new file mode 100644
index 0000000..d7beb18
--- /dev/null
+++ b/data/examples/the_thief/include/locations.fate
@@ -0,0 +1,2 @@
+(fate_version 1)
+
diff --git a/data/examples/the_thief/include/type/character.fate b/data/examples/the_thief/include/type/character.fate
new file mode 100644
index 0000000..e3b1b7b
--- /dev/null
+++ b/data/examples/the_thief/include/type/character.fate
@@ -0,0 +1,12 @@
+(fate_version 1)
+
+(require include/type/stat.fate)
+(require include/type/location.fate)
+
+(declare_dict_type character
+ (string name)
+ (stat agility)
+ (stat perception)
+ (int money)
+ (location location)
+)
diff --git a/data/examples/the_thief/include/type/location.fate b/data/examples/the_thief/include/type/location.fate
new file mode 100644
index 0000000..faec74a
--- /dev/null
+++ b/data/examples/the_thief/include/type/location.fate
@@ -0,0 +1,3 @@
+(fate_version 1)
+
+(declare_set_type string location)
diff --git a/data/examples/the_thief/include/type/stat.fate b/data/examples/the_thief/include/type/stat.fate
new file mode 100644
index 0000000..c2e0feb
--- /dev/null
+++ b/data/examples/the_thief/include/type/stat.fate
@@ -0,0 +1,3 @@
+(fate_version 1)
+
+(declare_subtype int stat)