diff --git a/code/controllers/subsystems/persist_vr.dm b/code/controllers/subsystems/persist_vr.dm
index 7275e9418e..0bde0599cb 100644
--- a/code/controllers/subsystems/persist_vr.dm
+++ b/code/controllers/subsystems/persist_vr.dm
@@ -59,15 +59,16 @@ SUBSYSTEM_DEF(persist)
var/client/C = M.client
var/wait_in_hours = wait / (1 HOUR)
var/pto_factored = wait_in_hours * J.timeoff_factor
+ if(J.playtime_only)
+ pto_factored = 0
LAZYINITLIST(C.department_hours)
LAZYINITLIST(C.play_hours)
var/dept_hours = C.department_hours
var/play_hours = C.play_hours
- if(!(J.playtime_only))
- if(isnum(dept_hours[department_earning]))
- dept_hours[department_earning] += pto_factored
- else
- dept_hours[department_earning] = pto_factored
+ if(isnum(dept_hours[department_earning]))
+ dept_hours[department_earning] += pto_factored
+ else
+ dept_hours[department_earning] = pto_factored
// If they're earning PTO they must be in a useful job so are earning playtime in that department
if(J.timeoff_factor > 0)
diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm
index 20a9ffeaa4..ea8873e717 100644
--- a/code/controllers/subsystems/ticker.dm
+++ b/code/controllers/subsystems/ticker.dm
@@ -50,9 +50,9 @@ var/global/datum/controller/subsystem/ticker/ticker
pregame_timeleft = config.pregame_time
send2mainirc("Server lobby is loaded and open at byond://[config.serverurl ? config.serverurl : (config.server ? config.server : "[world.address]:[world.port]")]")
SSwebhooks.send(
- WEBHOOK_ROUNDPREP,
+ WEBHOOK_ROUNDPREP,
list(
- "map" = station_name(),
+ "map" = station_name(),
"url" = get_world_url()
)
)
@@ -397,14 +397,19 @@ var/global/datum/controller/subsystem/ticker/ticker
if(player && player.ready && player.mind?.assigned_role)
var/datum/job/J = SSjob.get_job(player.mind.assigned_role)
+ // Ask their new_player mob to spawn them
+ if(!player.spawn_checks_vr(player.mind.assigned_role))
+ var/datum/job/job_datum = job_master.GetJob(J.title)
+ job_datum.current_positions--
+ player.mind.assigned_role = null
+ continue //VOREStation Add
+
// Snowflakey AI treatment
if(J?.mob_type & JOB_SILICON_AI)
player.close_spawn_windows()
player.AIize(move = TRUE)
continue
- // Ask their new_player mob to spawn them
- if(!player.spawn_checks_vr(player.mind.assigned_role)) continue //VOREStation Add
var/mob/living/carbon/human/new_char = player.create_character()
// Created their playable character, delete their /mob/new_player
diff --git a/code/game/jobs/job/job_vr.dm b/code/game/jobs/job/job_vr.dm
index 468d94c38e..0f2599b8aa 100644
--- a/code/game/jobs/job/job_vr.dm
+++ b/code/game/jobs/job/job_vr.dm
@@ -42,7 +42,7 @@
if(C && config.use_playtime_restriction_for_jobs && dept_time_required)
var/remaining_time_needed = dept_time_required
for(var/key in C.play_hours)
- if(isnum(C.play_hours[key]))
+ if(isnum(C.play_hours[key]) && !(key == PTO_TALON))
remaining_time_needed = max(0, remaining_time_needed - C.play_hours[key])
return remaining_time_needed
return 0
diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm
index 606b707fce..952e5fa976 100644
--- a/code/game/objects/items/weapons/implants/implanter.dm
+++ b/code/game/objects/items/weapons/implants/implanter.dm
@@ -15,18 +15,22 @@
to_chat(user, "You [active ? "" : "de"]activate \the [src].")
update()
-/obj/item/weapon/implanter/verb/remove_implant(var/mob/user)
+/obj/item/weapon/implanter/verb/remove_implant()
set category = "Object"
set name = "Remove Implant"
set src in usr
if(!imp)
return
- imp.loc = get_turf(src)
- user.put_in_hands(imp)
- to_chat(user, "You remove \the [imp] from \the [src].")
- name = "implanter"
- imp = null
+ if(istype(usr, /mob))
+ var/mob/M = usr
+ imp.loc = get_turf(src)
+ if(M.get_active_hand() == null)
+ M.put_in_hands(imp)
+ to_chat(M, "You remove \the [imp] from \the [src].")
+ name = "implanter"
+ imp = null
+
update()
return
diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm
index 6fd972afa7..679e342ad2 100644
--- a/code/game/objects/items/weapons/manuals.dm
+++ b/code/game/objects/items/weapons/manuals.dm
@@ -638,8 +638,6 @@