diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm index 4c6c5e4426..dfe42de68b 100644 --- a/code/controllers/subsystems/ticker.dm +++ b/code/controllers/subsystems/ticker.dm @@ -440,6 +440,13 @@ var/global/datum/controller/subsystem/ticker/ticker UpdateFactionList(player) //equip_custom_items(player) //VOREStation Removal //player.apply_traits() //VOREStation Removal + //VOREStation Addition Start + if(player.client.prefs.auto_backup_implant) + var/obj/item/weapon/implant/backup/imp = new(src) + + if(imp.handle_implant(player,player.zone_sel.selecting)) + imp.post_implant(player) + //VOREStation Addition End if(captainless) for(var/mob/M in player_list) if(!istype(M,/mob/new_player)) diff --git a/code/modules/client/preference_setup/vore/09_misc.dm b/code/modules/client/preference_setup/vore/09_misc.dm index d83063d665..19fd61011a 100644 --- a/code/modules/client/preference_setup/vore/09_misc.dm +++ b/code/modules/client/preference_setup/vore/09_misc.dm @@ -9,6 +9,7 @@ S["directory_ad"] >> pref.directory_ad S["sensorpref"] >> pref.sensorpref S["capture_crystal"] >> pref.capture_crystal + S["auto_backup_implant"] >> pref.auto_backup_implant /datum/category_item/player_setup_item/vore/misc/save_character(var/savefile/S) S["show_in_directory"] << pref.show_in_directory @@ -17,7 +18,7 @@ S["directory_ad"] << pref.directory_ad S["sensorpref"] << pref.sensorpref S["capture_crystal"] << pref.capture_crystal - + S["auto_backup_implant"] << pref.auto_backup_implant /datum/category_item/player_setup_item/vore/misc/copy_to_mob(var/mob/living/carbon/human/character) if(pref.sensorpref > 5 || pref.sensorpref < 1) @@ -31,6 +32,7 @@ pref.directory_erptag = sanitize_inlist(pref.directory_erptag, GLOB.char_directory_erptags, initial(pref.directory_erptag)) pref.sensorpref = sanitize_integer(pref.sensorpref, 1, sensorpreflist.len, initial(pref.sensorpref)) pref.capture_crystal = sanitize_integer(pref.capture_crystal, 0, 1, initial(pref.capture_crystal)) + pref.auto_backup_implant = sanitize_integer(pref.auto_backup_implant, 0, 1, initial(pref.auto_backup_implant)) /datum/category_item/player_setup_item/vore/misc/content(var/mob/user) . += "
" @@ -39,7 +41,8 @@ . += "Character Directory ERP Tag: [pref.directory_erptag]
" . += "Character Directory Advertisement: Set Directory Ad
" . += "Suit Sensors Preference: [sensorpreflist[pref.sensorpref]]
" - . += "Capture Crystal Preference [pref.capture_crystal ? "Yes" : "No"]
" + . += "Capture Crystal Preference: [pref.capture_crystal ? "Yes" : "No"]
" + . += "Spawn With Backup Implant: [pref.auto_backup_implant ? "Yes" : "No"]
" /datum/category_item/player_setup_item/vore/misc/OnTopic(var/href, var/list/href_list, var/mob/user) if(href_list["toggle_show_in_directory"]) @@ -71,5 +74,7 @@ else if(href_list["toggle_capture_crystal"]) pref.capture_crystal = pref.capture_crystal ? 0 : 1; return TOPIC_REFRESH - + else if(href_list["toggle_implant"]) + pref.auto_backup_implant = pref.auto_backup_implant ? 0 : 1; + return TOPIC_REFRESH return ..(); diff --git a/code/modules/client/preferences_vr.dm b/code/modules/client/preferences_vr.dm index 77656ebff3..5de49fd1c1 100644 --- a/code/modules/client/preferences_vr.dm +++ b/code/modules/client/preferences_vr.dm @@ -5,6 +5,7 @@ var/directory_ad = "" //Advertisement stuff to show in character directory. var/sensorpref = 5 //Set character's suit sensor level var/capture_crystal = 1 //Whether or not someone is able to be caught with capture crystals + var/auto_backup_implant = FALSE //Whether someone starts with a backup implant or not. var/job_talon_high = 0 var/job_talon_med = 0 diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 3d9cd13a51..889675681c 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -487,6 +487,12 @@ data_core.manifest_inject(character) ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn + if(character.client.prefs.auto_backup_implant) + var/obj/item/weapon/implant/backup/imp = new(src) + + if(imp.handle_implant(character,character.zone_sel.selecting)) + imp.post_implant(character) + qdel(src) // Delete new_player mob /mob/new_player/proc/AnnounceCyborg(var/mob/living/character, var/rank, var/join_message, var/channel, var/zlevel)