summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'data/examples/monster_battle/include')
-rw-r--r--data/examples/monster_battle/include/attacks.fate3
-rw-r--r--data/examples/monster_battle/include/creatures.fate30
-rw-r--r--data/examples/monster_battle/include/events.fate3
-rw-r--r--data/examples/monster_battle/include/items.fate13
-rw-r--r--data/examples/monster_battle/include/player.fate5
-rw-r--r--data/examples/monster_battle/include/progress.fate5
-rw-r--r--data/examples/monster_battle/include/text_effects.fate5
-rw-r--r--data/examples/monster_battle/include/types/attack.fate11
-rw-r--r--data/examples/monster_battle/include/types/creature.fate17
-rw-r--r--data/examples/monster_battle/include/types/element.fate13
-rw-r--r--data/examples/monster_battle/include/types/item.fate9
-rw-r--r--data/examples/monster_battle/include/types/player.fate10
-rw-r--r--data/examples/monster_battle/include/types/tag.fate5
13 files changed, 129 insertions, 0 deletions
diff --git a/data/examples/monster_battle/include/attacks.fate b/data/examples/monster_battle/include/attacks.fate
new file mode 100644
index 0000000..8104727
--- /dev/null
+++ b/data/examples/monster_battle/include/attacks.fate
@@ -0,0 +1,3 @@
+(fate_version 1)
+
+(require types/attack.fate)
diff --git a/data/examples/monster_battle/include/creatures.fate b/data/examples/monster_battle/include/creatures.fate
new file mode 100644
index 0000000..2ce30c9
--- /dev/null
+++ b/data/examples/monster_battle/include/creatures.fate
@@ -0,0 +1,30 @@
+(fate_version 1)
+
+(require types/creature.fate)
+
+(declare_variable creature monster_0)
+(declare_variable creature monster_1)
+(declare_variable creature monster_2)
+(declare_variable creature monster_3)
+(declare_variable creature monster_4)
+(declare_variable creature monster_5)
+
+(declare_variable int i)
+
+(define_macro generate_random_creature
+ (
+ (creature creature)
+ )
+
+ (set i (rand 0 5))
+ (set (param creature)
+ (cond
+ ((= (var i) 0) (var monster_0))
+ ((= (var i) 1) (var monster_1))
+ ((= (var i) 2) (var monster_2))
+ ((= (var i) 3) (var monster_3))
+ ((= (var i) 4) (var monster_4))
+ ((= (var i) 5) (var monster_5))
+ )
+ )
+)
diff --git a/data/examples/monster_battle/include/events.fate b/data/examples/monster_battle/include/events.fate
new file mode 100644
index 0000000..3749427
--- /dev/null
+++ b/data/examples/monster_battle/include/events.fate
@@ -0,0 +1,3 @@
+(fate_version 1)
+
+(declare_event_type pause)
diff --git a/data/examples/monster_battle/include/items.fate b/data/examples/monster_battle/include/items.fate
new file mode 100644
index 0000000..3ddca93
--- /dev/null
+++ b/data/examples/monster_battle/include/items.fate
@@ -0,0 +1,13 @@
+(fate_version 1)
+
+(require types/item.fate)
+(require player.fate)
+
+(declare_variable item potion)
+
+(define_macro get_item
+ (
+ (item_ptr item)
+ )
+ (add (param item) player.inventory)
+)
diff --git a/data/examples/monster_battle/include/player.fate b/data/examples/monster_battle/include/player.fate
new file mode 100644
index 0000000..18e46dc
--- /dev/null
+++ b/data/examples/monster_battle/include/player.fate
@@ -0,0 +1,5 @@
+(fate_version 1)
+
+(require types/player.fate)
+
+(define_variable player player)
diff --git a/data/examples/monster_battle/include/progress.fate b/data/examples/monster_battle/include/progress.fate
new file mode 100644
index 0000000..ee08320
--- /dev/null
+++ b/data/examples/monster_battle/include/progress.fate
@@ -0,0 +1,5 @@
+(fate_version 1)
+
+(require types/tag.fate)
+
+(define_variable tag_collection progress)
diff --git a/data/examples/monster_battle/include/text_effects.fate b/data/examples/monster_battle/include/text_effects.fate
new file mode 100644
index 0000000..22ed582
--- /dev/null
+++ b/data/examples/monster_battle/include/text_effects.fate
@@ -0,0 +1,5 @@
+(fate_version 1)
+
+(declare_text_effect narrator)
+(declare_text_effect note_reading)
+(declare_text_effect surprise)
diff --git a/data/examples/monster_battle/include/types/attack.fate b/data/examples/monster_battle/include/types/attack.fate
new file mode 100644
index 0000000..da273ad
--- /dev/null
+++ b/data/examples/monster_battle/include/types/attack.fate
@@ -0,0 +1,11 @@
+(fate_version 1)
+
+(require element.fate)
+
+(declare_dict_type attack
+ (string name)
+ (element_ptr element)
+ (int power)
+)
+
+(declare_ref_type attack attack_ptr)
diff --git a/data/examples/monster_battle/include/types/creature.fate b/data/examples/monster_battle/include/types/creature.fate
new file mode 100644
index 0000000..ad7c957
--- /dev/null
+++ b/data/examples/monster_battle/include/types/creature.fate
@@ -0,0 +1,17 @@
+(fate_version 1)
+
+(require element.fate)
+(require attack.fate)
+
+(declare_dict_type creature
+ (string name)
+ (int current_health)
+ (int max_health)
+ (element_ptr element)
+ (attack_ptr attack_0)
+ (attack_ptr attack_1)
+ (attack_ptr attack_2)
+ (attack_ptr attack_3)
+)
+
+(declare_ref_type creature creature_ptr)
diff --git a/data/examples/monster_battle/include/types/element.fate b/data/examples/monster_battle/include/types/element.fate
new file mode 100644
index 0000000..7500b16
--- /dev/null
+++ b/data/examples/monster_battle/include/types/element.fate
@@ -0,0 +1,13 @@
+(fate_version 1)
+
+(declare_subtype string element_name)
+
+(declare_set_type element_name element_name_set)
+
+(declare_dict_type element
+ (element_name name)
+ (element_name_set strong_against)
+ (element_name_set weak_against)
+)
+
+(declare_ref_type element element_ptr)
diff --git a/data/examples/monster_battle/include/types/item.fate b/data/examples/monster_battle/include/types/item.fate
new file mode 100644
index 0000000..0b50475
--- /dev/null
+++ b/data/examples/monster_battle/include/types/item.fate
@@ -0,0 +1,9 @@
+(fate_version 1)
+
+(declare_dict_type item
+ (string name)
+ (int price)
+)
+
+(declare_ref_type item item_ptr)
+(declare_list_type item_ptr item_ptr_list)
diff --git a/data/examples/monster_battle/include/types/player.fate b/data/examples/monster_battle/include/types/player.fate
new file mode 100644
index 0000000..2573c38
--- /dev/null
+++ b/data/examples/monster_battle/include/types/player.fate
@@ -0,0 +1,10 @@
+(fate_version 1)
+
+(require item.fate)
+(require creature.fate)
+
+(define_dict_type player
+ (creature creature)
+ (item_ptr_list inventory)
+ (int money)
+)
diff --git a/data/examples/monster_battle/include/types/tag.fate b/data/examples/monster_battle/include/types/tag.fate
new file mode 100644
index 0000000..8cca7fe
--- /dev/null
+++ b/data/examples/monster_battle/include/types/tag.fate
@@ -0,0 +1,5 @@
+(fate_version 1)
+
+(define_subtype string tag)
+
+(define_set_type tag tag_collection)