| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'data/examples/monster_battle')
13 files changed, 42 insertions, 60 deletions
| diff --git a/data/examples/monster_battle/battle.fate b/data/examples/monster_battle/battle.fate index 9674b95..1bc023a 100644 --- a/data/examples/monster_battle/battle.fate +++ b/data/examples/monster_battle/battle.fate @@ -1,5 +1,5 @@  (fate_version 1) -(define_sequence start_battle +(define_sequence start_battle ()     (end)  ) diff --git a/data/examples/monster_battle/in_your_room.fate b/data/examples/monster_battle/in_your_room.fate index 8f30a00..5ca456b 100644 --- a/data/examples/monster_battle/in_your_room.fate +++ b/data/examples/monster_battle/in_your_room.fate @@ -9,7 +9,7 @@  (require battle.fate) -(define_sequence in_your_room +(define_sequence in_your_room ()     (ifelse        (is_member visited_your_room progress)        (text_effect narrator @@ -29,16 +29,16 @@     (player_choice        (           ( Look for healing items ) -         (sequence look_for_healing_items) +         (jump_to look_for_healing_items)        )        (           ( No time! Let's go adventuring! ) -         (sequence leave_your_room) +         (jump_to leave_your_room)        )     )  ) -(define_sequence look_for_healing_items +(define_sequence look_for_healing_items ()     (text_effect narrator        You anxiously alternate between looking at the clock and looking at piles        of mess for healing items. @@ -52,16 +52,16 @@                 Oh! You found something!              )           ) -         (macro get_item (ref (var potion))) +         (call get_item (ref (var potion)))        )        (text_effect narrator           No, you don't find anything.        )     ) -   (sequence in_your_room) +   (jump_to in_your_room)  ) -(define_sequence leave_your_room +(define_sequence leave_your_room ()     (text_effect narrator        As you rush through the door of your room, you fail to notice the obstacle        in your path and trip on something that was clearly meant for you. @@ -70,7 +70,7 @@     (text_effect narrator        It's a monster-holder! There's a note, too.     ) -   (macro generate_random_creature (var player.creature)) +   (set player.creature (eval random_creature))     (event pause)     (text_effect note_reading        Hey sleepyhead. I couldn't wake you up for your big day, but lucky you, @@ -88,5 +88,5 @@        immediately get challenged by some grinning kid who clearly knew you        haven't had time to train and wants to score an easy victory.     ) -   (sequence start_battle) +   (jump_to start_battle)  ) diff --git a/data/examples/monster_battle/include/creatures.fate b/data/examples/monster_battle/include/creatures.fate index 2ce30c9..393473e 100644 --- a/data/examples/monster_battle/include/creatures.fate +++ b/data/examples/monster_battle/include/creatures.fate @@ -2,29 +2,24 @@  (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) +(global creature monster_0) +(global creature monster_1) +(global creature monster_2) +(global creature monster_3) +(global creature monster_4) +(global creature monster_5) -(declare_variable int i) +(global (lambda creature ()) random_creature) -(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)) +(set random_creature +   (lambda () +      (switch (rand 0 5) +         (0 (var monster_0)) +         (1 (var monster_0)) +         (2 (var monster_0)) +         (3 (var monster_0)) +         (4 (var monster_0)) +         (var monster_5)        )     )  ) diff --git a/data/examples/monster_battle/include/items.fate b/data/examples/monster_battle/include/items.fate index 3ddca93..b5100ba 100644 --- a/data/examples/monster_battle/include/items.fate +++ b/data/examples/monster_battle/include/items.fate @@ -3,11 +3,11 @@  (require types/item.fate)  (require player.fate) -(declare_variable item potion) +(global item potion) -(define_macro get_item +(define_procedure get_item     ( -      (item_ptr item) +      ((ptr item) item)     ) -   (add (param item) player.inventory) +   (add (var item) player.inventory)  ) diff --git a/data/examples/monster_battle/include/player.fate b/data/examples/monster_battle/include/player.fate index 18e46dc..1d1a1ef 100644 --- a/data/examples/monster_battle/include/player.fate +++ b/data/examples/monster_battle/include/player.fate @@ -2,4 +2,4 @@  (require types/player.fate) -(define_variable player player) +(global player player) diff --git a/data/examples/monster_battle/include/progress.fate b/data/examples/monster_battle/include/progress.fate index ee08320..3db8884 100644 --- a/data/examples/monster_battle/include/progress.fate +++ b/data/examples/monster_battle/include/progress.fate @@ -2,4 +2,4 @@  (require types/tag.fate) -(define_variable tag_collection progress) +(global (list tag) progress) diff --git a/data/examples/monster_battle/include/types/attack.fate b/data/examples/monster_battle/include/types/attack.fate index da273ad..2e35187 100644 --- a/data/examples/monster_battle/include/types/attack.fate +++ b/data/examples/monster_battle/include/types/attack.fate @@ -4,8 +4,6 @@  (declare_dict_type attack     (string name) -   (element_ptr element) +   ((ptr element) 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 index ad7c957..72237c3 100644 --- a/data/examples/monster_battle/include/types/creature.fate +++ b/data/examples/monster_battle/include/types/creature.fate @@ -7,11 +7,9 @@     (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) +   ((ptr element) element) +   ((ptr attack) attack_0) +   ((ptr attack) attack_1) +   ((ptr attack) attack_2) +   ((ptr attack) 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 index 7500b16..75ff2e0 100644 --- a/data/examples/monster_battle/include/types/element.fate +++ b/data/examples/monster_battle/include/types/element.fate @@ -2,12 +2,8 @@  (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) +   ((set element_name) strong_against) +   ((set element_name) 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 index 0b50475..3062861 100644 --- a/data/examples/monster_battle/include/types/item.fate +++ b/data/examples/monster_battle/include/types/item.fate @@ -4,6 +4,3 @@     (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 index 2573c38..83a9c36 100644 --- a/data/examples/monster_battle/include/types/player.fate +++ b/data/examples/monster_battle/include/types/player.fate @@ -5,6 +5,6 @@  (define_dict_type player     (creature creature) -   (item_ptr_list inventory) +   ((list (ptr item)) inventory)     (int money)  ) diff --git a/data/examples/monster_battle/include/types/tag.fate b/data/examples/monster_battle/include/types/tag.fate index 8cca7fe..04a6b00 100644 --- a/data/examples/monster_battle/include/types/tag.fate +++ b/data/examples/monster_battle/include/types/tag.fate @@ -1,5 +1,3 @@  (fate_version 1)  (define_subtype string tag) - -(define_set_type tag tag_collection) diff --git a/data/examples/monster_battle/main.fate b/data/examples/monster_battle/main.fate index e77e734..a10fd48 100644 --- a/data/examples/monster_battle/main.fate +++ b/data/examples/monster_battle/main.fate @@ -22,4 +22,4 @@  (text_effect narrator     You stand in your room, having just dressed.  ) -(sequence in_your_room) +(jump_to in_your_room) | 


