summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2018-10-03 18:02:03 +0200 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2018-10-03 18:02:03 +0200 |
commit | 0d8e11193bf166758c2d9c46190b07b9b76f2958 (patch) | |
tree | 5c09229233c0aed54738facfe4946195bc0ae0a8 /src/special | |
parent | 00274059ed4db5b0f2be088b0098e376d836f6d2 (diff) |
(Broken) still working on it...
Diffstat (limited to 'src/special')
-rw-r--r-- | src/special/spe_battle.erl | 2 | ||||
-rw-r--r-- | src/special/spe_player.erl | 70 |
2 files changed, 71 insertions, 1 deletions
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. |