diff --git a/assets/data/entries/costume-sheets.json b/assets/data/entries/costume-sheets.json index e0a85d6f..bad8ecbf 100644 --- a/assets/data/entries/costume-sheets.json +++ b/assets/data/entries/costume-sheets.json @@ -60,7 +60,7 @@ "yOffset": -30 }, { - "name": "strawberry-clock", + "name": "shmoods", "angle": -10 } ] diff --git a/assets/data/entries/costumes.json b/assets/data/entries/costumes.json index 1de39f9b..a3f86eae 100644 --- a/assets/data/entries/costumes.json +++ b/assets/data/entries/costumes.json @@ -164,6 +164,13 @@ "desc": "B", "unlock": "USERNAME", "data": "coolboyman" + }, + { + "name": "shmoods", + "display": "Mr. Shmoods", + "desc": "Shmoods loves Tankmas and White Castle. He has never done hard drugs, only soft drugs. Only the fluffiest drugs for shmoods. You can join him sometime. It's an open invitation.", + "unlock": "USERNAME", + "data": "MrShmoods" } ] } \ No newline at end of file diff --git a/assets/data/levels/TankmasLand/hotel_courtyard_day1.ldtkl b/assets/data/levels/TankmasLand/hotel_courtyard_day1.ldtkl index 116df725..f4ea0902 100644 --- a/assets/data/levels/TankmasLand/hotel_courtyard_day1.ldtkl +++ b/assets/data/levels/TankmasLand/hotel_courtyard_day1.ldtkl @@ -880,7 +880,7 @@ }, { "__identifier": "Present", - "__grid": [65,94], + "__grid": [99,49], "__pivot": [0,0], "__tags": [], "__tile": null, @@ -889,7 +889,7 @@ "width": 128, "height": 128, "defUid": 2, - "px": [1040,1504], + "px": [1584,784], "fieldInstances": [ { "__identifier": "username", "__type": "String", "__value": "cymbourine", "__tile": null, "defUid": 5, "realEditorValues": [{ "id": "V_String", @@ -897,8 +897,8 @@ }] }, { "__identifier": "day", "__type": "Int", "__value": 1, "__tile": null, "defUid": 6, "realEditorValues": [] } ], - "__worldX": 1072, - "__worldY": 1520 + "__worldX": 1616, + "__worldY": 800 }, { "__identifier": "NPC", diff --git a/assets/images/costumes/shmoods.png b/assets/images/costumes/shmoods.png new file mode 100644 index 00000000..defd517f Binary files /dev/null and b/assets/images/costumes/shmoods.png differ diff --git a/source/entities/NetUser.hx b/source/entities/NetUser.hx index 18259239..3b5fe6bb 100644 --- a/source/entities/NetUser.hx +++ b/source/entities/NetUser.hx @@ -1,5 +1,6 @@ package entities; +import data.JsonData; import data.types.TankmasDefs.CostumeDef; import entities.base.BaseUser; import flixel.math.FlxVelocity; @@ -25,6 +26,9 @@ class NetUser extends BaseUser super(X, Y, username); type = "net-user"; + if (costume == null) + costume = JsonData.get_costume(Main.default_costume); + new_costume(costume); move_to(X, Y, true); trace("NEW USER " + username); @@ -90,4 +94,4 @@ class NetUser extends BaseUser move_update(); } -} \ No newline at end of file +} diff --git a/source/net/tankmas/OnlineLoop.hx b/source/net/tankmas/OnlineLoop.hx index c463c5a0..950ad467 100644 --- a/source/net/tankmas/OnlineLoop.hx +++ b/source/net/tankmas/OnlineLoop.hx @@ -1,6 +1,7 @@ package net.tankmas; import data.JsonData; +import data.SaveManager; import data.types.TankmasDefs.CostumeDef; import entities.NetUser; import entities.Player; @@ -138,8 +139,15 @@ class OnlineLoop for (username in usernames) { + if (username.contains("temporary_random_username")) + continue; + var def:NetUserDef = Reflect.field(data.data, username); var costume:CostumeDef = JsonData.get_costume(def.costume); + + if (costume == null) + costume = JsonData.get_costume(Main.default_costume); + var user:BaseUser = BaseUser.get_user(username, function() { return new NetUser(def.x, def.y, username, costume); @@ -150,6 +158,10 @@ class OnlineLoop if (user.costume == null || user.costume.name != costume.name) user.new_costume(costume); } + + PlayState.self.users.remove(PlayState.self.player, true); + PlayState.self.users.add(PlayState.self.player); + rooms_get_tick_rate = data.tick_rate * rooms_get_tick_rate_multiplier; rooms_post_tick_rate = data.tick_rate * rooms_post_tick_rate_multiplier; diff --git a/source/states/PlayState.hx b/source/states/PlayState.hx index cde355d8..eaccb069 100644 --- a/source/states/PlayState.hx +++ b/source/states/PlayState.hx @@ -102,6 +102,9 @@ class PlayState extends BaseState add(touch = new TouchOverlay()); add(shadows); + + add(misc_sprites); + add(minigames); add(npcs); add(presents); @@ -113,8 +116,6 @@ class PlayState extends BaseState add(sticker_fx); add(dialogues); - add(misc_sprites); - add(doors); add(ui_overlay);