summaryrefslogtreecommitdiff |
diff options
-rw-r--r-- | src/battle/btl_handler.erl | 12 | ||||
-rw-r--r-- | src/battle/btl_shim.erl | 279 | ||||
-rw-r--r-- | src/battle/reply/btl_add_char.erl | 3 | ||||
-rw-r--r-- | src/battle/struct/btl_character.erl | 18 | ||||
-rw-r--r-- | src/login/query/lgn_sign_up.erl | 49 | ||||
-rw-r--r-- | src/query/qry_handler.erl | 1 | ||||
-rw-r--r-- | src/query/qry_shim.erl | 21 | ||||
-rw-r--r-- | src/shared/struct/shr_portrait.erl.m4 | 2 | ||||
-rw-r--r-- | src/special/spe_battle.erl | 2 | ||||
-rw-r--r-- | src/special/spe_player.erl | 70 |
10 files changed, 104 insertions, 353 deletions
diff --git a/src/battle/btl_handler.erl b/src/battle/btl_handler.erl index 0bcd40a..750c1f2 100644 --- a/src/battle/btl_handler.erl +++ b/src/battle/btl_handler.erl @@ -18,17 +18,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -spec start (pid()) -> 'ok'. start (TimedCachesManagerPid) -> - case shr_database:fetch(battle_db, <<"0">>, admin) of - {ok, _} -> ok; - not_found -> - shr_database:insert_at - ( - battle_db, - <<"0">>, - any, - any, - btl_shim:generate_random_battle() - ) - end, shr_timed_caches_manager:new_cache(TimedCachesManagerPid, battle_db, none), ok. 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. diff --git a/src/battle/reply/btl_add_char.erl b/src/battle/reply/btl_add_char.erl index a6fb60c..6cd2157 100644 --- a/src/battle/reply/btl_add_char.erl +++ b/src/battle/reply/btl_add_char.erl @@ -41,8 +41,7 @@ generate (IX, Character, PlayerIX) -> {<<"ix">>, IX}, {<<"nam">>, btl_character:get_name(Character)}, {<<"rnk">>, rank_to_string(btl_character:get_rank(Character))}, - {<<"ico">>, btl_character:get_icon(Character)}, - {<<"prt">>, btl_character:get_portrait(Character)}, + {<<"prt">>, btl_character:get_portrait_id(Character)}, { <<"hea">>, btl_character:get_current_health(Character) diff --git a/src/battle/struct/btl_character.erl b/src/battle/struct/btl_character.erl index 1b90141..84eecfb 100644 --- a/src/battle/struct/btl_character.erl +++ b/src/battle/struct/btl_character.erl @@ -12,8 +12,7 @@ player_ix :: non_neg_integer(), name :: binary(), rank :: rank(), - icon :: binary(), - portrait :: binary(), + portrait_id :: shr_portrait:id(), weapon_ids :: {shr_weapon:id(), shr_weapon:id()}, armor_id :: shr_armor:id(), location :: {non_neg_integer(), non_neg_integer()}, @@ -26,7 +25,7 @@ -opaque type() :: #character{}. --export_type([type/0, rank/0, id/0]). +-export_type([type/0, rank/0]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37,7 +36,7 @@ get_player_index/1, get_name/1, get_rank/1, - get_portrait/1, + get_portrait_id/1, get_weapon_ids/1, get_armor_id/1, get_location/1, @@ -67,7 +66,7 @@ -export ( [ - new/10 + new/9 ] ). @@ -88,11 +87,8 @@ get_name (Char) -> Char#character.name. -spec get_rank (type()) -> rank(). get_rank (Char) -> Char#character.rank. --spec get_icon (type()) -> binary(). -get_icon (Char) -> Char#character.icon. - --spec get_portrait (type()) -> binary(). -get_portrait (Char) -> Char#character.portrait. +-spec get_portrait_id (type()) -> shr_portrait:id(). +get_portrait_id (Char) -> Char#character.portrait_id. -spec get_armor_id (type()) -> shr_armor:id(). get_armor_id (Char) -> Char#character.armor_id. @@ -245,7 +241,7 @@ new player_ix = PlayerIX, name = Name, rank = Rank, - portrait = PortraitID, + portrait_id = PortraitID, weapon_ids = WeaponIDs, armor_id = ArmorID, location = Location, diff --git a/src/login/query/lgn_sign_up.erl b/src/login/query/lgn_sign_up.erl index 4111597..0632ac1 100644 --- a/src/login/query/lgn_sign_up.erl +++ b/src/login/query/lgn_sign_up.erl @@ -54,56 +54,11 @@ register_user (Input) -> Password = Input#input.password, Email = Input#input.email, - UsernameLC = string:lowercase(Username), - EmailLC = string:lowercase(Email), - - shr_janitor:new(login_db, UsernameLC), - shr_janitor:new(login_db, EmailLC), - - ok = shr_database:reserve(login_db, UsernameLC, janitor), - ok = shr_database:reserve(login_db, EmailLC, janitor), - - Player = shr_player:new(<<"">>, Username, Password, Email), - - {ok, PlayerID} = shr_database:insert(player_db, janitor, janitor, Player), - - shr_janitor:new(player_db, PlayerID), - - LoginUpdateQueryOps = - [ - shr_db_query:set_value(PlayerID), - shr_db_query:set_read_permission(any), - shr_db_query:set_write_permission([{user, PlayerID}]) - ], - - PlayerUpdateQueryOps = - [ - shr_db_query:set_field(shr_player:get_id_field(), PlayerID), - shr_db_query:set_read_permission(any), - shr_db_query:set_write_permission([{user, PlayerID}]) - ], - - ok = - shr_database:commit - ( - shr_db_query:new(login_db, UsernameLC, janitor, LoginUpdateQueryOps) - ), - - ok = - shr_database:commit - ( - shr_db_query:new(login_db, EmailLC, janitor, LoginUpdateQueryOps) - ), - - ok = - shr_database:commit - ( - shr_db_query:new(player_db, PlayerID, janitor, PlayerUpdateQueryOps) - ), + GeneratedPlayer = spe_player:generate(Username, Password, Email), #query_state { - player = shr_player:set_id(PlayerID, Player) + player = GeneratedPlayer }. -spec generate_reply(query_state()) -> binary(). diff --git a/src/query/qry_handler.erl b/src/query/qry_handler.erl index deb4e33..8cab69f 100644 --- a/src/query/qry_handler.erl +++ b/src/query/qry_handler.erl @@ -24,4 +24,5 @@ start (_YawsParams) -> ok = btl_handler:start(TimedCachesManagerPid), ok = map_handler:start(TimedCachesManagerPid), ok = rst_handler:start(TimedCachesManagerPid), + ok = qry_shim:fill_db(), ok. diff --git a/src/query/qry_shim.erl b/src/query/qry_shim.erl new file mode 100644 index 0000000..666f7ec --- /dev/null +++ b/src/query/qry_shim.erl @@ -0,0 +1,21 @@ +-module(qry_shim). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-export([fill_db/0]). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec fill_db () -> 'ok'. +fill_db () -> + ok. diff --git a/src/shared/struct/shr_portrait.erl.m4 b/src/shared/struct/shr_portrait.erl.m4 index 2ea3ca0..e009527 100644 --- a/src/shared/struct/shr_portrait.erl.m4 +++ b/src/shared/struct/shr_portrait.erl.m4 @@ -66,4 +66,4 @@ get_icon_id (Pt) -> Pt#portrait.icon_id. m4_include(__MAKEFILE_DATA_DIR/portrait/global.m4.conf)m4_dnl m4_include(__MAKEFILE_DATA_DIR/portrait/basic.m4d)m4_dnl from_id(_) -> - from_id(0). + from_id(<<"cat">>). diff --git a/src/special/spe_battle.erl b/src/special/spe_battle.erl index 31f844a..4836fd2 100644 --- a/src/special/spe_battle.erl +++ b/src/special/spe_battle.erl @@ -48,7 +48,7 @@ get_equipment_ids (Characters) -> {UsedWeaponIDs, UsedArmorIDs}. --spec get_tile_ids (array:array(shr_tile:type())) -> sets:set(binary()). +-spec get_tile_ids (array:array(shr_tile:instance())) -> sets:set(binary()). get_tile_ids (TileInstances) -> UsedTileIDs = array:sparse_foldl diff --git a/src/special/spe_player.erl b/src/special/spe_player.erl new file mode 100644 index 0000000..9cf3fea --- /dev/null +++ b/src/special/spe_player.erl @@ -0,0 +1,70 @@ +-module(spe_player). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-export([generate/3]). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec generate (binary(), binary(), binary()) -> shr_player:type(). +generate (Username, Password, Email) -> + UsernameLC = string:lowercase(Username), + EmailLC = string:lowercase(Email), + + shr_janitor:new(login_db, UsernameLC), + shr_janitor:new(login_db, EmailLC), + + ok = shr_database:reserve(login_db, UsernameLC, janitor), + ok = shr_database:reserve(login_db, EmailLC, janitor), + + Player = shr_player:new(<<"">>, Username, Password, Email), + + {ok, PlayerID} = shr_database:insert(player_db, janitor, janitor, Player), + + shr_janitor:new(player_db, PlayerID), + + LoginUpdateQueryOps = + [ + shr_db_query:set_value(PlayerID), + shr_db_query:set_read_permission(any), + shr_db_query:set_write_permission([{user, PlayerID}]) + ], + + PlayerUpdateQueryOps = + [ + shr_db_query:set_field(shr_player:get_id_field(), PlayerID), + shr_db_query:set_read_permission(any), + shr_db_query:set_write_permission([{user, PlayerID}]) + ], + + ok = + shr_database:commit + ( + shr_db_query:new(login_db, UsernameLC, janitor, LoginUpdateQueryOps) + ), + + ok = + shr_database:commit + ( + shr_db_query:new(login_db, EmailLC, janitor, LoginUpdateQueryOps) + ), + + ok = + shr_database:commit + ( + shr_db_query:new(player_db, PlayerID, janitor, PlayerUpdateQueryOps) + ), + + Result = shr_player:set_id(PlayerID, Player), + + Result. |