diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index a7be36abc2..8042631b7b 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -387,6 +387,9 @@ SUBSYSTEM_DEF(ticker) for(var/mob/dead/new_player/N in GLOB.player_list) var/mob/living/carbon/human/player = N.new_character if(istype(player) && player.mind && player.mind.assigned_role) + var/datum/job/J = SSjob.GetJob(player.mind.assigned_role) + if(J) + J.standard_assign_skills(player.mind) if(player.mind.assigned_role == "Captain") captainless=0 if(player.mind.assigned_role != player.mind.special_role) diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index fac976d62a..d698c1a0dd 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -258,8 +258,6 @@ if(preference_source && !PDA.equipped) //PDA's screen color, font style and look depend on client preferences. PDA.update_style(preference_source) - standard_assign_skills(H.mind) - /datum/outfit/job/get_chameleon_disguise_info() var/list/types = ..() types -= /obj/item/storage/backpack //otherwise this will override the actual backpacks diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 35b1a69761..f7e1f24b63 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -392,6 +392,8 @@ character.update_parallax_teleport() + job.standard_assign_skills(character.mind) + SSticker.minds += character.mind var/mob/living/carbon/human/humanc diff --git a/code/modules/surgery/surgery_step.dm b/code/modules/surgery/surgery_step.dm index d02495776f..1195959356 100644 --- a/code/modules/surgery/surgery_step.dm +++ b/code/modules/surgery/surgery_step.dm @@ -60,7 +60,7 @@ speed_mod = tool.toolspeed var/skill_mod = 1 if(user?.mind?.skill_holder) - skill_mode = SURGERY_SKILL_SPEEDUP_NUMERICAL_SCALE(user.mind.skill_holder.get_skill_value(/datum/skill/medical/surgery)) + skill_mod = SURGERY_SKILL_SPEEDUP_NUMERICAL_SCALE(user.mind.skill_holder.get_skill_value(/datum/skill/numerical/surgery)) if(do_after(user, time * speed_mod, target = target)) var/prob_chance = 100 if(implement_type) //this means it isn't a require hand or any item step. @@ -69,6 +69,7 @@ if((prob(prob_chance) || (iscyborg(user) && !silicons_obey_prob)) && chem_check(target) && !try_to_fail) if(success(user, target, target_zone, tool, surgery)) + user?.mind?.skill_holder?.auto_gain_experience(/datum/skill/numerical/surgery, SKILL_GAIN_SURGERY_PER_STEP) advance = TRUE else if(failure(user, target, target_zone, tool, surgery))