diff --git a/src/state.ml b/src/state.ml index 7a8ccab..a17a2fe 100644 --- a/src/state.ml +++ b/src/state.ml @@ -42,6 +42,7 @@ type t = ; mutable wheat : int ; player : [ `F ] Entity.t ; tbl : Entity.tbl + ; random_state : Random.State.t } let init () = @@ -53,7 +54,7 @@ let init () = in () done; - { map; wheat = 0; player = Entity.make_fairy ~x:0 ~y:0 tbl; tbl } + { map; wheat = 0; player = Entity.make_fairy ~x:0 ~y:0 tbl; tbl; random_state = Random.get_state ()} type action = | Meditate @@ -153,6 +154,9 @@ let perform_action state = function () let auto_update state = + (* set Random state for server and client *) + Random.set_state state.random_state; + (* mut state *) begin match check_action state Meditate with @@ -164,7 +168,7 @@ let auto_update state = let auto_update_rate = Time.mk_s 1 -let pp fmt { wheat; player; map; tbl } = +let pp fmt { wheat; player; map; tbl ; _} = (* TODO coercion huuuu *) let (Fairy player) = player in let player = Entity.Fairy player in