summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-10-03 18:02:03 +0200
committernsensfel <SpamShield0@noot-noot.org>2018-10-03 18:02:03 +0200
commit0d8e11193bf166758c2d9c46190b07b9b76f2958 (patch)
tree5c09229233c0aed54738facfe4946195bc0ae0a8 /src/battle/btl_shim.erl
parent00274059ed4db5b0f2be088b0098e376d836f6d2 (diff)
(Broken) still working on it...
Diffstat (limited to 'src/battle/btl_shim.erl')
-rw-r--r--src/battle/btl_shim.erl279
1 files changed, 0 insertions, 279 deletions
diff --git a/src/battle/btl_shim.erl b/src/battle/btl_shim.erl
deleted file mode 100644
index aeb4b10..0000000
--- a/src/battle/btl_shim.erl
+++ /dev/null
@@ -1,279 +0,0 @@
--module(btl_shim).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--export([generate_random_battle/0]).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec generate_random_glyph_board_omnimods () -> shr_omnimods:type().
-generate_random_glyph_board_omnimods () ->
- % TODO [DEBUG: battle][HIGH]: unimplemented.
- shr_omnimods:new([],[],[],[]).
-
--spec generate_random_characters
- (
- non_neg_integer(),
- non_neg_integer(),
- non_neg_integer(),
- non_neg_integer(),
- btl_map:type(),
- list(btl_location:type()),
- list(btl_character:type())
- )
- -> list(btl_character:type()).
-generate_random_characters
-(
- 0,
- 0,
- _CharactersPerPlayer,
- _TotalCharacterCount,
- _Map,
- _ForbiddenLocations,
- Result
-) ->
- Result;
-generate_random_characters
-(
- MaxPlayerIX,
- 0,
- CharactersPerPlayer,
- TotalCharacterCount,
- Map,
- ForbiddenLocations,
- Result
-) ->
- generate_random_characters
- (
- (MaxPlayerIX - 1),
- CharactersPerPlayer,
- CharactersPerPlayer,
- TotalCharacterCount,
- Map,
- ForbiddenLocations,
- Result
- );
-generate_random_characters
-(
- MaxPlayerIX,
- PlayerCharacterCount,
- CharactersPerPlayer,
- TotalCharacterCount,
- Map,
- ForbiddenLocations,
- Result
-) ->
- NewCharacter =
- btl_character:random
- (
- TotalCharacterCount,
- MaxPlayerIX,
- generate_random_glyph_board_omnimods(),
- Map,
- ForbiddenLocations
- ),
- Character =
- case MaxPlayerIX of
- 0 -> btl_character:set_is_active(true, NewCharacter);
- _ -> NewCharacter
- end,
-
- generate_random_characters
- (
- MaxPlayerIX,
- (PlayerCharacterCount - 1),
- CharactersPerPlayer,
- (TotalCharacterCount + 1),
- Map,
- [btl_character:get_location(Character)|ForbiddenLocations],
- [Character|Result]
- ).
-
--spec new_demo_map () -> list(list(non_neg_integer())).
-new_demo_map () ->
- [[4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [1,0,4,34], [1,0,4,36], [4,0], [1,0,4,18], [4,0],
- [4,0], [2,0,4,34], [2,0,4,36], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [1,0,4,16], [1,0,4,45],
- [1,0,4,40], [1,0,4,41], [1,0,2,12,4,40], [1,0,2,5,4,40], [2,0,4,43],
- [2,0,4,45], [2,0,4,36], [4,0], [2,0,4,34], [2,0,4,40], [2,0,4,40],
- [2,0,4,40], [1,0,2,3,4,36], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [1,0,4,18], [4,0], [4,0], [4,0], [4,0], [4,0],
- [1,0,4,34], [1,0,4,43], [1,0], [1,0], [1,0,2,12], [1,0,2,5], [2,0], [2,0],
- [2,0], [2,0,4,45], [2,0,4,40], [2,0,4,43], [2,0], [2,0], [2,0], [2,0,4,45],
- [2,0,4,40], [1,0,2,16,4,40], [1,0,4,40], [1,0,4,40], [1,0,4,36], [4,0],
- [4,0], [4,0], [1,0,4,34], [1,0,4,40], [1,0,4,29], [4,0], [4,0], [4,0],
- [4,0], [1,0,4,34], [1,0,4,43], [1,0], [1,0], [1,0,2,12], [1,0,2,5], [2,0],
- [2,0], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0],
- [1,0,2,34], [1,0,2,43], [1,0], [1,0], [1,0,4,45], [1,0,4,40],
- [1,0,2,12,4,40], [1,0,2,9,4,40], [1,0,2,9,4,43], [1,0,2,9], [1,0,2,10,4,45],
- [1,0,2,9,4,39], [1,0,2,11,4,21], [4,0], [4,0], [1,0,4,3], [1,0,4,11], [1,0],
- [1,0,2,12], [1,0,2,5], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0],
- [2,0], [2,0], [2,0], [3,0,2,34], [1,0,2,40], [1,0,2,43], [1,0], [1,0],
- [1,0], [1,0], [1,0,2,12], [1,0,2,5], [2,0], [2,0], [2,0], [1,0,2,23],
- [2,0,4,30], [4,0], [4,0], [4,0], [4,0], [1,0,4,3], [1,0,4,11], [1,0,2,30],
- [2,0], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0],
- [3,0,2,34], [3,0,2,43], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0],
- [1,0,2,30], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0,4,30], [4,0], [4,0],
- [4,0], [4,0], [4,0], [1,0,4,16], [1,0,2,30], [2,0], [2,0], [2,0], [2,0],
- [2,0], [2,0], [2,0], [2,0], [3,0,2,34], [3,0,2,40], [3,0,2,43], [3,0],
- [3,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0,2,31], [1,0,2,21], [2,0],
- [2,0], [2,0], [2,0], [2,0,4,30], [4,0], [4,0], [4,0], [4,0], [4,0],
- [1,0,4,16], [1,0,2,45], [1,0,2,36], [2,0], [2,0], [2,0], [2,0], [2,0],
- [2,0], [3,0,2,34], [3,0,2,43], [3,0], [3,0], [3,0], [1,0], [1,0], [1,0],
- [1,0], [1,0], [1,0], [1,0,2,30], [2,0], [2,0], [2,0], [2,0], [2,0,4,12],
- [1,0,2,34,4,8], [1,0,2,43,4,21], [4,0], [4,0], [4,0], [1,0,4,34],
- [1,0,4,43], [1,0], [1,0,2,45], [1,0,2,36], [2,0], [2,0], [2,0], [2,0],
- [3,0,2,34], [3,0,2,43], [3,0], [3,0], [3,0], [3,0], [1,0], [1,0], [1,0],
- [1,0], [1,0,4,12], [1,0,4,9], [1,0,2,30,4,11], [2,0], [1,0,2,34],
- [1,0,2,40,4,12], [1,0,2,40,4,9], [1,0,2,40,4,27], [4,0], [4,0], [4,0],
- [4,0], [4,0], [1,0,4,3], [1,0,4,11], [1,0], [1,0], [1,0,2,45], [1,0,2,36],
- [2,0], [2,0], [3,0,2,34], [3,0,2,43], [3,0], [3,0], [3,0], [3,0], [1,0],
- [1,0], [1,0], [1,0,4,12], [1,0,4,9], [1,0,4,5], [4,0], [1,0,2,45,4,3],
- [1,0,2,40,4,9], [1,0,2,43,4,9], [1,0,4,5], [4,0], [1,0,4,23], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [1,0,4,16], [1,0], [1,0], [1,0], [1,0,2,45],
- [1,0,2,40], [1,0,2,40], [3,0,2,43], [3,0], [3,0], [3,0], [1,0], [1,0],
- [1,0], [1,0], [1,0], [1,0,4,30], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [1,0,4,34],
- [1,0,4,43], [1,0], [1,0], [1,0], [1,0], [1,0,2,12], [1,0,2,9], [1,0,2,11],
- [1,0], [1,0], [3,0,2,12], [1,0,2,9], [1,0,2,11], [1,0], [1,0], [1,0],
- [1,0,4,45], [1,0,4,40], [1,0,4,36], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [1,0,4,3], [1,0,4,11],
- [1,0], [1,0], [1,0], [1,0], [1,0,2,30], [2,0], [1,0,2,3], [1,0,2,10],
- [1,0,2,9], [1,0,2,5], [2,0], [1,0,2,3], [1,0,2,11], [1,0], [1,0], [1,0],
- [1,0], [1,0,4,45], [1,0,4,40], [1,0,4,40], [1,0,4,36], [4,0], [2,0,4,34],
- [2,0,4,40], [2,0,4,36], [4,0], [1,0,4,18], [4,0], [4,0], [4,0], [4,0],
- [1,0,4,16], [1,0,2,12], [1,0,2,9], [1,0,2,9], [1,0,2,9], [1,0,2,5], [2,0],
- [2,0], [1,0,2,23], [2,0], [2,0], [2,0], [2,0], [1,0,2,16], [1,0], [1,0],
- [1,0], [1,0], [1,0], [1,0], [1,0], [1,0,2,12,4,45], [1,0,2,5,4,40],
- [2,0,4,43], [2,0], [2,0,4,45], [1,0,2,16,4,39], [1,0,4,4], [4,0], [4,0],
- [4,0], [4,0], [1,0,4,3], [1,0,2,30,4,11], [2,0], [2,0], [2,0], [2,0], [2,0],
- [2,0], [2,0], [2,0], [2,0], [2,0], [2,0], [1,0,2,16], [1,0], [3,0],
- [1,0,4,12], [1,0,4,9], [1,0,4,11], [1,0], [1,0], [1,0,2,30], [2,0], [2,0],
- [2,0], [1,0,2,34], [1,0,2,43,4,30], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [1,0,2,30,4,16], [2,0], [2,0], [2,0], [1,0,2,34], [1,0,2,36], [2,0],
- [1,0,2,18], [2,0], [2,0], [2,0], [1,0,2,34], [1,0,2,43], [3,0], [3,0,4,12],
- [1,0,4,5], [4,0], [1,0,4,3], [1,0,4,9], [1,0,4,11], [1,0,2,30], [2,0],
- [2,0], [2,0], [1,0,2,3], [1,0,2,9,4,30], [4,0], [4,0], [4,0], [4,0], [4,0],
- [1,0,4,34], [1,0,2,45,4,43], [1,0,2,36], [2,0], [1,0,2,34], [1,0,2,43],
- [1,0,2,45], [1,0,2,40], [1,0,2,29], [2,0], [3,0,2,18], [2,0], [3,0,2,16],
- [3,0], [3,0], [3,0,4,30], [4,0], [4,0], [4,0], [4,0], [1,0,4,16],
- [1,0,2,30], [2,0], [2,0], [2,0], [2,0], [2,0,4,31], [2,0,4,21], [4,0],
- [4,0], [4,0], [4,0], [1,0,4,16], [1,0], [1,0,2,45], [1,0,2,40], [1,0,2,43],
- [1,0,4,12], [1,0,4,9], [1,0,4,9], [1,0,2,45,4,11], [1,0,2,40], [3,0,2,41],
- [3,0,2,40], [3,0,2,43], [3,0], [3,0], [3,0,4,45], [1,0,4,36], [4,0], [4,0],
- [1,0,4,34], [1,0,4,43], [1,0,2,45], [1,0,2,36], [2,0], [2,0], [2,0,4,12],
- [2,0,4,5], [4,0], [4,0], [4,0], [4,0], [1,0,4,22], [1,0,4,17], [1,0], [1,0],
- [1,0,4,12], [1,0,4,9], [1,0,4,5], [4,0], [4,0], [1,0,4,16], [3,0], [3,0],
- [3,0], [3,0], [3,0], [3,0], [3,0,2,12], [1,0,2,9,4,45], [1,0,2,9,4,40],
- [1,0,2,9,4,40], [1,0,2,11,4,43], [1,0], [1,0], [1,0,2,45], [1,0,2,36],
- [2,0,4,12], [2,0,4,5], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [1,0,4,16],
- [1,0], [1,0], [1,0,4,30], [4,0], [4,0], [4,0], [4,0], [1,0,4,16], [3,0],
- [3,0], [3,0], [3,0,2,12], [3,0,2,9], [3,0,2,9], [3,0,2,5], [2,0], [2,0],
- [2,0], [1,0,2,16], [1,0], [1,0], [1,0], [1,0,2,45], [1,0,2,40,4,30], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [1,0,4,16], [1,0], [1,0],
- [1,0,4,30], [4,0], [4,0], [4,0], [4,0], [1,0,4,16], [1,0], [3,0,2,12],
- [3,0,2,9], [3,0,2,5], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0], [1,0,2,16],
- [1,0], [1,0], [1,0], [1,0], [1,0,4,31], [1,0,4,21], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [1,0,4,16], [1,0], [1,0], [1,0,4,30], [4,0], [4,0],
- [4,0], [4,0], [1,0,4,16], [1,0], [1,0,2,30], [2,0], [2,0], [2,0], [2,0],
- [2,0], [2,0], [2,0], [1,0,2,34], [1,0,2,43], [1,0], [1,0], [1,0],
- [1,0,4,12], [1,0,4,5], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [1,0,4,16], [1,0], [1,0], [1,0,4,30], [4,0], [4,0], [1,0,4,34], [1,0,4,40],
- [1,0,4,43], [1,0], [1,0,2,30], [2,0], [2,0], [2,0], [2,0], [2,0],
- [1,0,2,34], [1,0,2,40], [1,0,2,43], [1,0], [1,0], [1,0], [1,0], [1,0,4,30],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [1,0,4,16], [1,0],
- [1,0], [1,0,4,45], [1,0,4,40], [1,0,4,40], [1,0,2,12,4,43], [1,0,2,9],
- [1,0,2,9], [1,0,2,9], [1,0,2,44], [1,0,2,40], [1,0,2,40], [1,0,2,40],
- [1,0,2,40], [1,0,2,40], [1,0,2,43], [1,0], [1,0], [1,0], [1,0], [1,0],
- [1,0,4,12], [1,0,4,5], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [1,0,4,34], [1,0,4,43], [1,0], [1,0], [1,0,2,12], [1,0,2,9], [1,0,2,9],
- [1,0,2,5], [2,0], [2,0], [2,0], [1,0,2,3], [1,0,2,11], [1,0], [1,0], [1,0],
- [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0,4,12], [1,0,4,5], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [1,0,4,33], [1,0,4,7], [1,0,4,9],
- [1,0,4,11], [1,0], [1,0,2,30], [2,0], [2,0], [2,0], [2,0], [2,0], [2,0],
- [2,0], [1,0,2,16], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0],
- [1,0], [1,0,4,30], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [1,0,4,23], [4,0], [4,0], [1,0,4,16], [1,0], [1,0,2,45], [1,0,2,40],
- [1,0,2,36], [2,0], [2,0], [2,0], [2,0], [2,0], [1,0,2,16], [1,0],
- [1,0,4,12], [1,0,4,9], [1,0,4,11], [1,0], [1,0,4,12], [1,0,4,9], [1,0,4,9],
- [1,0,4,10], [1,0,4,8], [1,0,4,21], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [1,0,4,16], [1,0,4,12], [1,0,4,9], [1,0,4,9],
- [1,0,2,45,4,9], [1,0,2,40,4,11], [1,0,2,36], [2,0], [2,0], [1,0,2,34,4,12],
- [1,0,2,43,4,9], [1,0,4,9], [1,0,4,5], [4,0], [1,0,4,3], [1,0,4,9],
- [1,0,4,5], [4,0], [4,0], [1,0,4,26], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [1,0,4,22], [1,0,4,17],
- [1,0,4,30], [4,0], [4,0], [4,0], [1,0,4,16], [1,0,2,45,4,12],
- [1,0,2,40,4,9], [1,0,2,40,4,10], [1,0,2,43,4,5], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [1,0,4,23], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [1,0,4,3],
- [1,0,4,5], [4,0], [4,0], [1,0,4,22], [1,0,4,7], [1,0,4,5], [4,0],
- [1,0,4,23], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0],
- [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0], [4,0]].
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec generate_random_battle () -> btl_battle:type().
-generate_random_battle () ->
- %MapWidth = 32, % shr_roll:between(16, 32),
- %MapHeight = 32, %shr_roll:between(16, 32),
- %Map = btl_map:random(0, MapWidth, MapHeight),
- Map = btl_map:from_list(32, 32, new_demo_map()),
- Characters = generate_random_characters(1, 8, 8, 0, Map, [], []),
- PlayersAsList = [btl_player:new(0, 8, <<"0">>), btl_player:new(1, 0, <<"1">>)],
-
- {UsedWeaponIDs, UsedArmorIDs} =
- lists:foldl
- (
- fun (Character, {UWIDs, UAIDs}) ->
- {MWpID, SWpID} = btl_character:get_weapon_ids(Character),
- AID = btl_character:get_armor_id(Character),
- {
- sets:add_element(MWpID, sets:add_element(SWpID, UWIDs)),
- sets:add_element(AID, UAIDs)
- }
- end,
- {sets:new(), sets:new()},
- Characters
- ),
-
- UsedTileIDs =
- array:sparse_foldl
- (
- fun (_IX, TileInstance, CurrentTileIDs) ->
- sets:add_element
- (
- shr_tile:extract_main_class_id(TileInstance),
- CurrentTileIDs
- )
- end,
- sets:new(),
- btl_map:get_tile_instances(Map)
- ),
-
- Battle =
- btl_battle:new
- (
- <<"0">>,
- PlayersAsList,
- Map,
- Characters,
- sets:to_list(UsedWeaponIDs),
- sets:to_list(UsedArmorIDs),
- sets:to_list(UsedTileIDs)
- ),
-
- Battle.