From 0326d55ad44499f645bf27b186846b8577e794aa Mon Sep 17 00:00:00 2001 From: DodoBirb Date: Fri, 16 Dec 2022 20:14:12 +1100 Subject: [PATCH] Added Doomsday timer --- .../gml_Object_oDoomTime_Create_0.gml | 2 + .../gml_Object_oDoomTime_Draw_0.gml | 4 + .../gml_Object_oDoomTime_Mouse_4.gml | 1 + .../gml_Object_oDoomTime_Step_0.gml | 1 + .../gml_Object_oLockLobby_Mouse_4.gml | 13 ++ .../gml_Object_oServer_Create_0.gml | 3 + .../gml_Object_oServer_Draw_0.gml | 4 +- .../gml_Object_oServer_Step_0.gml | 2 + .../gml_Script_reset_globals.gml | 2 + Export_ObjectServer/oDoomTime.json | 123 ++++++++++++++++++ Export_RoomServer/room0.json | 24 +++- 11 files changed, 172 insertions(+), 7 deletions(-) create mode 100644 Export_CodeServer/gml_Object_oDoomTime_Create_0.gml create mode 100644 Export_CodeServer/gml_Object_oDoomTime_Draw_0.gml create mode 100644 Export_CodeServer/gml_Object_oDoomTime_Mouse_4.gml create mode 100644 Export_CodeServer/gml_Object_oDoomTime_Step_0.gml create mode 100644 Export_ObjectServer/oDoomTime.json diff --git a/Export_CodeServer/gml_Object_oDoomTime_Create_0.gml b/Export_CodeServer/gml_Object_oDoomTime_Create_0.gml new file mode 100644 index 0000000..0b7b3ee --- /dev/null +++ b/Export_CodeServer/gml_Object_oDoomTime_Create_0.gml @@ -0,0 +1,2 @@ +global.doomtime = 60 +image_speed = 0 diff --git a/Export_CodeServer/gml_Object_oDoomTime_Draw_0.gml b/Export_CodeServer/gml_Object_oDoomTime_Draw_0.gml new file mode 100644 index 0000000..c1db093 --- /dev/null +++ b/Export_CodeServer/gml_Object_oDoomTime_Draw_0.gml @@ -0,0 +1,4 @@ +draw_self() +draw_set_halign(fa_right) +draw_text((x - sprite_width), (y - 12), "Change Doomsday Timer") +draw_set_halign(fa_left) diff --git a/Export_CodeServer/gml_Object_oDoomTime_Mouse_4.gml b/Export_CodeServer/gml_Object_oDoomTime_Mouse_4.gml new file mode 100644 index 0000000..89d5863 --- /dev/null +++ b/Export_CodeServer/gml_Object_oDoomTime_Mouse_4.gml @@ -0,0 +1 @@ +global.doomtime = get_integer_async("Type in a doomsday time (in mins), -1 is disabled", 60) diff --git a/Export_CodeServer/gml_Object_oDoomTime_Step_0.gml b/Export_CodeServer/gml_Object_oDoomTime_Step_0.gml new file mode 100644 index 0000000..c9d7dbc --- /dev/null +++ b/Export_CodeServer/gml_Object_oDoomTime_Step_0.gml @@ -0,0 +1 @@ +image_index = 0 diff --git a/Export_CodeServer/gml_Object_oLockLobby_Mouse_4.gml b/Export_CodeServer/gml_Object_oLockLobby_Mouse_4.gml index 5dbc0a1..a57663f 100644 --- a/Export_CodeServer/gml_Object_oLockLobby_Mouse_4.gml +++ b/Export_CodeServer/gml_Object_oLockLobby_Mouse_4.gml @@ -1 +1,14 @@ global.lobbyLocked = (!global.lobbyLocked) +if global.lobbyLocked +{ + if (global.doomtime >= 0) + { + global.gametime = ((global.doomtime * 60) * 60) + global.doomenabled = 1 + } + else + { + global.doomenabled = 0 + global.gametime = 0 + } +} diff --git a/Export_CodeServer/gml_Object_oServer_Create_0.gml b/Export_CodeServer/gml_Object_oServer_Create_0.gml index 23db4ac..b7a9198 100644 --- a/Export_CodeServer/gml_Object_oServer_Create_0.gml +++ b/Export_CodeServer/gml_Object_oServer_Create_0.gml @@ -80,3 +80,6 @@ global.damageMult = 0 global.clientVersion = "UV1.6.2" global.experimental = 0 global.prevMonstersLeft = 0 +global.gametime = 0 +global.doomtime = 0 +global.doomenabled = 0 diff --git a/Export_CodeServer/gml_Object_oServer_Draw_0.gml b/Export_CodeServer/gml_Object_oServer_Draw_0.gml index 4e9c2c0..914f551 100644 --- a/Export_CodeServer/gml_Object_oServer_Draw_0.gml +++ b/Export_CodeServer/gml_Object_oServer_Draw_0.gml @@ -32,8 +32,8 @@ switch syncedELM draw_set_font(font0) draw_text(5, 5, ("AM2R Server: " + string(str))) draw_text(5, 35, ((("Connected Clients: " + string(ds_list_size(playerList))) + "/") + string(maxClients))) -draw_text(5, 75, (("Energy Tanks: " + string(global.etanks)) + "/10")) -draw_text(5, 105, (("Missile Tanks: " + string(global.mtanks)) + "/44")) +draw_text(5, 75, ("Doomsday Time: " + string(global.doomtime))) +draw_text(5, 105, ("Seconds till Doomsday: " + string((global.gametime / 60)))) draw_text(5, 135, (("Super Missile Tanks: " + string(global.stanks)) + "/10")) draw_text(5, 165, (("Power Bomb Tanks: " + string(global.ptanks)) + "/10")) draw_text(5, 195, ("Total Remaining Metroids: " + string(global.monstersleft))) diff --git a/Export_CodeServer/gml_Object_oServer_Step_0.gml b/Export_CodeServer/gml_Object_oServer_Step_0.gml index bfb84f4..2b653ab 100644 --- a/Export_CodeServer/gml_Object_oServer_Step_0.gml +++ b/Export_CodeServer/gml_Object_oServer_Step_0.gml @@ -104,3 +104,5 @@ if (!global.lobbyLocked) if (global.prevMonstersLeft != global.monstersleft) alarm[5] = 1 global.prevMonstersLeft = global.monstersleft +if (global.lobbyLocked && global.doomenabled) + global.gametime-- diff --git a/Export_CodeServer/gml_Script_reset_globals.gml b/Export_CodeServer/gml_Script_reset_globals.gml index 7c9a882..679e0f6 100644 --- a/Export_CodeServer/gml_Script_reset_globals.gml +++ b/Export_CodeServer/gml_Script_reset_globals.gml @@ -59,6 +59,8 @@ global.stanksSAX = 0 global.ptanksSAX = 0 global.monstersleft = 0 global.prevMonstersLeft = 0 +global.gametime = 0 +global.doomenabled = 0 syncedDifficulty = 1 syncedELM = 0 global.seed = 0 diff --git a/Export_ObjectServer/oDoomTime.json b/Export_ObjectServer/oDoomTime.json new file mode 100644 index 0000000..81c5b35 --- /dev/null +++ b/Export_ObjectServer/oDoomTime.json @@ -0,0 +1,123 @@ +{ + "name": "oDoomTime", + "sprite": "sOption", + "visible": true, + "solid": false, + "depth": 0, + "persistent": false, + "parent_id": null, + "texture_mask_id": null, + "uses_physics": false, + "is_sensor": false, + "collision_shape": 0, + "density": 0.5, + "restitution": 0.1, + "group": 0, + "linear_damping": 0.1, + "angular_damping": 0.1, + "friction": 0.2, + "awake": false, + "kinematic": false, + "physics_vertices": [], + "events": [ + [ + { + "event_subtype": 0, + "actions": [ + { + "lib_id": 0, + "id": 0, + "kind": 0, + "use_relative": false, + "is_question": false, + "use_apply_to": false, + "exe_type": 0, + "action_name": null, + "code_id": "gml_Object_oDoomTime_Create_0", + "argument_count": 0, + "who": 0, + "relative": false, + "is_not": false + } + ] + } + ], + [], + [], + [ + { + "event_subtype": 0, + "actions": [ + { + "lib_id": 0, + "id": 0, + "kind": 0, + "use_relative": false, + "is_question": false, + "use_apply_to": false, + "exe_type": 0, + "action_name": null, + "code_id": "gml_Object_oDoomTime_Step_0", + "argument_count": 0, + "who": 0, + "relative": false, + "is_not": false + } + ] + } + ], + [], + [], + [ + { + "event_subtype": 4, + "actions": [ + { + "lib_id": 0, + "id": 0, + "kind": 0, + "use_relative": false, + "is_question": false, + "use_apply_to": false, + "exe_type": 0, + "action_name": null, + "code_id": "gml_Object_oDoomTime_Mouse_4", + "argument_count": 0, + "who": 0, + "relative": false, + "is_not": false + } + ] + } + ], + [], + [ + { + "event_subtype": 0, + "actions": [ + { + "lib_id": 0, + "id": 0, + "kind": 0, + "use_relative": false, + "is_question": false, + "use_apply_to": false, + "exe_type": 0, + "action_name": null, + "code_id": "gml_Object_oDoomTime_Draw_0", + "argument_count": 0, + "who": 0, + "relative": false, + "is_not": false + } + ] + } + ], + [], + [], + [], + [], + [], + [] + ] +} \ No newline at end of file diff --git a/Export_RoomServer/room0.json b/Export_RoomServer/room0.json index b6600da..173a78a 100644 --- a/Export_RoomServer/room0.json +++ b/Export_RoomServer/room0.json @@ -404,7 +404,7 @@ }, { "x": 896, - "y": 696, + "y": 728, "object_definition": "oLockLobby", "instance_id": 100010, "creation_code": null, @@ -530,7 +530,7 @@ }, { "x": 1120, - "y": 752, + "y": 784, "object_definition": "oResetToggles", "instance_id": 100019, "creation_code": null, @@ -544,7 +544,7 @@ }, { "x": 1120, - "y": 808, + "y": 840, "object_definition": "oDifficulty", "instance_id": 100020, "creation_code": null, @@ -558,7 +558,7 @@ }, { "x": 1120, - "y": 864, + "y": 896, "object_definition": "oELM", "instance_id": 100021, "creation_code": null, @@ -642,7 +642,7 @@ }, { "x": 1120, - "y": 696, + "y": 728, "object_definition": "oSAXModeToggle", "instance_id": 100027, "creation_code": null, @@ -681,6 +681,20 @@ "pre_create_code": null, "image_speed": 0, "image_index": 0 + }, + { + "x": 1248, + "y": 704, + "object_definition": "oDoomTime", + "instance_id": 100030, + "creation_code": null, + "scale_x": 1, + "scale_y": 1, + "color": 4294967295, + "rotation": 0, + "pre_create_code": null, + "image_speed": 0, + "image_index": 0 } ], "tiles": [],