summaryrefslogtreecommitdiff
blob: adea11133113713d630baf852bd4d91ff2839c1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
-module(shim_battlemap_character).

-export(
   [
      generate/2
   ]
).

generate_char (N, X, Y, Team) ->
   IDAsString = list_to_binary(integer_to_list(N)),
   {
      IDAsString, % ID
      IDAsString, % Name
      IDAsString, % Icon
      IDAsString, % Portrait
      {X, Y},
      Team,
      rand:uniform(10), % Movement Points
      (rand:uniform(5) - 1) % Attack Range
   }.

generate (0, Result, _MaxX, _MaxY) ->
   Result;
generate (N, Prev, MaxX, MaxY) ->
   generate
   (
      (N - 1),
      [
         generate_char
         (
            N,
            (rand:uniform(MaxX) - 1),
            (rand:uniform(MaxY) - 1),
            (N rem 2)
         )
         | Prev
      ],
      MaxX,
      MaxY
   ).

generate (MaxX, MaxY) ->
   generate(rand:uniform(14) + 2, [], MaxX, MaxY).