diff --git a/code/game/birthday.dm b/code/game/birthday.dm index 42369b0311..acbbae3803 100644 --- a/code/game/birthday.dm +++ b/code/game/birthday.dm @@ -36,4 +36,4 @@ to_chat(src, span_notice("You are now [age]! Happy birthday!")) write_preference_directly(/datum/preference/numeric/human/age, age) //Set the age on the character sheet - client.prefs.save_character() //Save the info + client?.prefs.save_character() //Save the info diff --git a/code/modules/mob/new_player/lobby_browser.dm b/code/modules/mob/new_player/lobby_browser.dm index c95eab8cd3..05fbd309a1 100644 --- a/code/modules/mob/new_player/lobby_browser.dm +++ b/code/modules/mob/new_player/lobby_browser.dm @@ -95,11 +95,13 @@ LateChoices() return TRUE if("observe") + if(QDELETED(src)) + return FALSE if(!SSticker || SSticker.current_state == GAME_STATE_INIT) to_chat(src, span_warning("The game is still setting up, please try again later.")) return TRUE if(tgui_alert(src,"Are you sure you wish to observe? If you do, make sure to not use any knowledge gained from observing if you decide to join later.","Observe Round?",list("Yes","No")) == "Yes") - if(!client) + if(QDELETED(src) || !client) return TRUE //Make a new mannequin quickly, and allow the observer to take the appearance @@ -130,9 +132,11 @@ if(!client.holder && !CONFIG_GET(flag/antag_hud_allowed)) // For new ghosts we remove the verb from even showing up if it's not allowed. remove_verb(observer, /mob/observer/dead/verb/toggle_antagHUD) // Poor guys, don't know what they are missing! - mind.transfer_to(observer, TRUE) + observer.key = key observer.set_respawn_timer(time_till_respawn()) // Will keep their existing time if any, or return 0 and pass 0 into set_respawn_timer which will use the defaults + observer.client.init_verbs() + QDEL_NULL(mind) qdel(src) return TRUE diff --git a/code/modules/mob/new_player/logout.dm b/code/modules/mob/new_player/logout.dm index 9b325e24cf..d9443e8744 100644 --- a/code/modules/mob/new_player/logout.dm +++ b/code/modules/mob/new_player/logout.dm @@ -12,6 +12,7 @@ if(!spawning)//Here so that if they are spawning and log out, the other procs can play out and they will have a mob to come back to. key = null//We null their key before deleting the mob, so they are properly kicked out. + QDEL_NULL(mind) qdel(src) return diff --git a/dependencies.sh b/dependencies.sh index 90030b1f4d..6a93e6bb82 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -19,7 +19,7 @@ export NODE_VERSION_LTS=22.14.0 export NODE_VERSION_COMPAT=20.2.0 # SpacemanDMM git tag -export SPACEMAN_DMM_VERSION=suite-1.9 +export SPACEMAN_DMM_VERSION=suite-1.10 # Python version for mapmerge and other tools export PYTHON_VERSION=3.11.9 diff --git a/tgui/packages/tgui-bench/package.json b/tgui/packages/tgui-bench/package.json index e83adee3cb..4bdca3c44f 100644 --- a/tgui/packages/tgui-bench/package.json +++ b/tgui/packages/tgui-bench/package.json @@ -11,7 +11,7 @@ "react": "^19.1.0", "react-dom": "^19.1.0", "tgui": "workspace:*", - "tgui-core": "^3.1.5" + "tgui-core": "^3.2.0" }, "devDependencies": { "@types/react": "^19.1.0", diff --git a/tgui/packages/tgui-panel/package.json b/tgui/packages/tgui-panel/package.json index b32da95d3a..7850f7e804 100644 --- a/tgui/packages/tgui-panel/package.json +++ b/tgui/packages/tgui-panel/package.json @@ -8,7 +8,7 @@ "react": "^19.1.0", "react-dom": "^19.1.0", "tgui": "workspace:*", - "tgui-core": "^3.1.5", + "tgui-core": "^3.2.0", "tgui-dev-server": "workspace:*" }, "devDependencies": { diff --git a/tgui/packages/tgui-say/package.json b/tgui/packages/tgui-say/package.json index f452db5795..6c3167db63 100644 --- a/tgui/packages/tgui-say/package.json +++ b/tgui/packages/tgui-say/package.json @@ -7,7 +7,7 @@ "react": "^19.1.0", "react-dom": "^19.1.0", "tgui": "workspace:*", - "tgui-core": "^3.1.5" + "tgui-core": "^3.2.0" }, "devDependencies": { "@types/react": "^19.1.0", diff --git a/tgui/packages/tgui/package.json b/tgui/packages/tgui/package.json index b0a352c9e9..4022846ca6 100644 --- a/tgui/packages/tgui/package.json +++ b/tgui/packages/tgui/package.json @@ -14,7 +14,7 @@ "marked": "^4.3.0", "react": "^19.1.0", "react-dom": "^19.1.0", - "tgui-core": "^3.1.5", + "tgui-core": "^3.2.0", "tgui-dev-server": "workspace:*" }, "devDependencies": { diff --git a/tgui/yarn.lock b/tgui/yarn.lock index 0ae8f04161..ba16d1b5e7 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -2049,7 +2049,7 @@ __metadata: languageName: node linkType: hard -"@floating-ui/react@npm:^0.27.5, @floating-ui/react@npm:^0.27.6": +"@floating-ui/react@npm:^0.27.5": version: 0.27.7 resolution: "@floating-ui/react@npm:0.27.7" dependencies: @@ -2063,6 +2063,20 @@ __metadata: languageName: node linkType: hard +"@floating-ui/react@npm:^0.27.8": + version: 0.27.8 + resolution: "@floating-ui/react@npm:0.27.8" + dependencies: + "@floating-ui/react-dom": "npm:^2.1.2" + "@floating-ui/utils": "npm:^0.2.9" + tabbable: "npm:^6.0.0" + peerDependencies: + react: ">=17.0.0" + react-dom: ">=17.0.0" + checksum: 10c0/901317ca85ed0b80231edc1ded1f67e685cd736ed52949b3b7ce2fa4bb52635a5676b035996e6d98f675f60891869b312beb1a2572001758d0ee2cce0efb1a77 + languageName: node + linkType: hard + "@floating-ui/utils@npm:^0.2.9": version: 0.2.9 resolution: "@floating-ui/utils@npm:0.2.9" @@ -2810,6 +2824,13 @@ __metadata: languageName: node linkType: hard +"@nozbe/microfuzz@npm:^1.0.0": + version: 1.0.0 + resolution: "@nozbe/microfuzz@npm:1.0.0" + checksum: 10c0/16ce1b36b521f3990b83b08d2a6d1f6eb43fe240d0ebfb600e8f469187a1303c6aa576925b6c0bebee8a8df2f8e8e768e12b1c67d4ac50133468b7a02c46efa9 + languageName: node + linkType: hard + "@npmcli/agent@npm:^3.0.0": version: 3.0.0 resolution: "@npmcli/agent@npm:3.0.0" @@ -19904,19 +19925,20 @@ __metadata: react: "npm:^19.1.0" react-dom: "npm:^19.1.0" tgui: "workspace:*" - tgui-core: "npm:^3.1.5" + tgui-core: "npm:^3.2.0" languageName: unknown linkType: soft -"tgui-core@npm:^3.1.5": - version: 3.1.5 - resolution: "tgui-core@npm:3.1.5" +"tgui-core@npm:^3.2.0": + version: 3.2.0 + resolution: "tgui-core@npm:3.2.0" dependencies: - "@floating-ui/react": "npm:^0.27.6" + "@floating-ui/react": "npm:^0.27.8" + "@nozbe/microfuzz": "npm:^1.0.0" peerDependencies: react: ^19.1.0 react-dom: ^19.1.0 - checksum: 10c0/fdaa2c55b323f51609e8207e0d58859ff757de9b98464d44f67fbc5237f94e8eb03c9995933a92cb33a02c109c53d4937088a77b8da0395376b8a911eac9d6e8 + checksum: 10c0/86afb01b278b850aaf226c26889674e6c4933c9366e1c2a0d50a4a4452ed67edd96c10f34cbcbec25aec50cb7baaa2498fd13fff2d2f90f42e77fe20f892f440 languageName: node linkType: hard @@ -19944,7 +19966,7 @@ __metadata: react: "npm:^19.1.0" react-dom: "npm:^19.1.0" tgui: "workspace:*" - tgui-core: "npm:^3.1.5" + tgui-core: "npm:^3.2.0" tgui-dev-server: "workspace:*" languageName: unknown linkType: soft @@ -19959,7 +19981,7 @@ __metadata: react: "npm:^19.1.0" react-dom: "npm:^19.1.0" tgui: "workspace:*" - tgui-core: "npm:^3.1.5" + tgui-core: "npm:^3.2.0" vitest: "npm:^3.1.1" languageName: unknown linkType: soft @@ -20021,7 +20043,7 @@ __metadata: marked: "npm:^4.3.0" react: "npm:^19.1.0" react-dom: "npm:^19.1.0" - tgui-core: "npm:^3.1.5" + tgui-core: "npm:^3.2.0" tgui-dev-server: "workspace:*" vitest: "npm:^3.1.1" languageName: unknown