Merge remote-tracking branch 'ParadiseSS13/master' into multi-instance-support

This commit is contained in:
AffectedArc07
2021-10-17 20:49:07 +01:00
55 changed files with 699 additions and 214 deletions
@@ -786,3 +786,24 @@
/datum/AI_Module/large/cameracrack/upgrade(mob/living/silicon/ai/AI)
if(AI.builtInCamera)
QDEL_NULL(AI.builtInCamera)
/datum/AI_Module/large/engi_upgrade
module_name = "Engineering Cyborg Emitter Upgrade"
mod_pick_name = "emitter"
description = "Downloads firmware that activates the built in emitter in all engineering cyborgs linked to you. Cyborgs built after this upgrade will have it pre-installed."
cost = 50 // IDK look into this
one_purchase = TRUE
upgrade = TRUE
unlock_text = "<span class='notice'>Firmware downloaded. Bugs removed. Built in emitters operating at 73% efficiency.</span>"
unlock_sound = 'sound/items/rped.ogg'
/datum/AI_Module/large/engi_upgrade/upgrade(mob/living/silicon/ai/AI)
AI.purchased_modules += /obj/item/robot_module/engineering
log_game("[key_name(usr)] purchased emitters for all engineering cyborgs.")
message_admins("<span class='notice'>[key_name_admin(usr)] purchased emitters for all engineering cyborgs!</span>")
for(var/mob/living/silicon/robot/R in AI.connected_robots)
if(!istype(R.module, /obj/item/robot_module/engineering))
continue
R.module.malfhacked = TRUE
R.module.rebuild_modules()
to_chat(R, "<span class='notice'>New firmware downloaded. Emitter is now online.</span>")
+9
View File
@@ -205,6 +205,15 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
/datum/objective/protect/mindslave //subytpe for mindslave implants
/datum/objective/protect/mindslave/on_target_cryo()
if(owner?.current)
to_chat(owner.current, "<BR><span class='userdanger'>You notice that your master has entered cryogenic storage, and revert to your normal self, until they return again. You are no longer a mindslave!</span>")
SEND_SOUND(owner.current, sound('sound/ambience/alarm4.ogg'))
owner.remove_antag_datum(/datum/antagonist/mindslave)
SSticker.mode.implanted.Remove(owner)
log_admin("[key_name(owner.current)]'s mindslave master has cryo'd, and is no longer a mindslave.")
message_admins("[key_name_admin(owner.current)]'s mindslave master has cryo'd, and is no longer a mindslave.") //Since they were on antag hud earlier, this feels important to log
qdel(src)
/datum/objective/hijack
martyr_compatible = 0 //Technically you won't get both anyway.
+15
View File
@@ -343,6 +343,21 @@
playsound(get_turf(user), 'sound/effects/ghost2.ogg', 50, 1)
return TRUE
/datum/spellbook_entry/summon/slience_ghosts
name = "Silence Ghosts"
desc = "Tired of people talking behind your back, and spooking you? Why not silence them, and make the dead deader."
cost = 2
log_name = "SLG"
is_ragin_restricted = TRUE //Salt needs to flow here, to be honest
/datum/spellbook_entry/summon/slience_ghosts/Buy(mob/living/carbon/human/user, obj/item/spellbook/book)
new /datum/event/wizard/ghost_mute()
active = TRUE
to_chat(user, "<span class='notice'>You have silenced all ghosts!</span>")
playsound(get_turf(user), 'sound/effects/ghost.ogg', 50, 1)
message_admins("[key_name_admin(usr)] silenced all ghosts as a wizard! (Deadchat is now DISABLED)")
return TRUE
/datum/spellbook_entry/summon/guns
name = "Summon Guns"
desc = "Nothing could possibly go wrong with arming a crew of lunatics just itching for an excuse to kill you. There is a good chance that they will shoot each other first."
+5 -3
View File
@@ -194,16 +194,18 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca
/datum/job/judge
title = "Magistrate"
flag = JOB_JUDGE
department_flag = JOBCAT_KARMA
department_flag = JOBCAT_ENGSEC
total_positions = 1
spawn_positions = 1
supervisors = "the Nanotrasen Supreme Court"
department_head = list("Captain")
selection_color = "#ddddff"
req_admin_notify = 1
is_legal = 1
req_admin_notify = TRUE
is_legal = TRUE
transfer_allowed = FALSE
minimal_player_age = 30
exp_requirements = 6000 // 100 hours baby
exp_type = EXP_TYPE_SECURITY
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS,
ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_CHANGE_IDS, ACCESS_EVA, ACCESS_HEADS,
ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_CONSTRUCTION, ACCESS_MORGUE,
+1 -2
View File
@@ -96,8 +96,7 @@ GLOBAL_LIST_INIT(whitelisted_positions, list(
"Blueshield",
"Nanotrasen Representative",
"Barber",
"Brig Physician",
"Magistrate"
"Brig Physician"
))
+2
View File
@@ -322,6 +322,8 @@
if(shock(user, 100))
return
if(!is_operational())
if(user.a_intent != INTENT_HELP)
return ..()
if(panel_open)
to_chat(usr, "<span class='warning'>Close the maintenance panel first.</span>")
else
@@ -88,6 +88,70 @@
/obj/item/stack/tile/carpet/black/twenty
amount = 20
/obj/item/stack/tile/carpet/blue
name = "blue carpet"
icon_state = "tile-carpet-blue"
turf_type = /turf/simulated/floor/carpet/blue
/obj/item/stack/tile/carpet/blue/twenty
amount = 20
/obj/item/stack/tile/carpet/cyan
name = "cyan carpet"
icon_state = "tile-carpet-cyan"
turf_type = /turf/simulated/floor/carpet/cyan
/obj/item/stack/tile/carpet/cyan/twenty
amount = 20
/obj/item/stack/tile/carpet/green
name = "green carpet"
icon_state = "tile-carpet-green"
turf_type = /turf/simulated/floor/carpet/green
/obj/item/stack/tile/carpet/green/twenty
amount = 20
/obj/item/stack/tile/carpet/orange
name = "orange carpet"
icon_state = "tile-carpet-orange"
turf_type = /turf/simulated/floor/carpet/orange
/obj/item/stack/tile/carpet/orange/twenty
amount = 20
/obj/item/stack/tile/carpet/purple
name = "purple carpet"
icon_state = "tile-carpet-purple"
turf_type = /turf/simulated/floor/carpet/purple
/obj/item/stack/tile/carpet/purple/twenty
amount = 20
/obj/item/stack/tile/carpet/red
name = "red carpet"
icon_state = "tile-carpet-red"
turf_type = /turf/simulated/floor/carpet/red
/obj/item/stack/tile/carpet/red/twenty
amount = 20
/obj/item/stack/tile/carpet/royalblack
name = "royal black carpet"
icon_state = "tile-carpet-royalblack"
turf_type = /turf/simulated/floor/carpet/royalblack
/obj/item/stack/tile/carpet/royalblack/twenty
amount = 20
/obj/item/stack/tile/carpet/royalblue
name = "royal blue carpet"
icon_state = "tile-carpet-royalblue"
turf_type = /turf/simulated/floor/carpet/royalblue
/obj/item/stack/tile/carpet/royalblue/twenty
amount = 20
//Plasteel
/obj/item/stack/tile/plasteel
name = "floor tiles"
@@ -371,6 +371,7 @@
icon = 'icons/obj/food/containers.dmi'
icon_state = "tray"
desc = "A metal tray to lay food on."
storage_slots = 8
force = 5
throwforce = 10
throw_speed = 3
@@ -68,6 +68,9 @@
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1)
make_plating()
//Carpets
/turf/simulated/floor/carpet
name = "carpet"
icon = 'icons/turf/floors/carpet.dmi'
@@ -112,6 +115,48 @@
floor_tile = /obj/item/stack/tile/carpet/black
canSmoothWith = list(/turf/simulated/floor/carpet/black)
/turf/simulated/floor/carpet/blue
icon = 'icons/turf/floors/carpet_blue.dmi'
floor_tile = /obj/item/stack/tile/carpet/blue
canSmoothWith = list(/turf/simulated/floor/carpet/blue)
/turf/simulated/floor/carpet/cyan
icon = 'icons/turf/floors/carpet_cyan.dmi'
floor_tile = /obj/item/stack/tile/carpet/cyan
canSmoothWith = list(/turf/simulated/floor/carpet/cyan)
/turf/simulated/floor/carpet/green
icon = 'icons/turf/floors/carpet_green.dmi'
floor_tile = /obj/item/stack/tile/carpet/green
canSmoothWith = list(/turf/simulated/floor/carpet/green)
/turf/simulated/floor/carpet/orange
icon = 'icons/turf/floors/carpet_orange.dmi'
floor_tile = /obj/item/stack/tile/carpet/orange
canSmoothWith = list(/turf/simulated/floor/carpet/orange)
/turf/simulated/floor/carpet/purple
icon = 'icons/turf/floors/carpet_purple.dmi'
floor_tile = /obj/item/stack/tile/carpet/purple
canSmoothWith = list(/turf/simulated/floor/carpet/purple)
/turf/simulated/floor/carpet/red
icon = 'icons/turf/floors/carpet_red.dmi'
floor_tile = /obj/item/stack/tile/carpet/red
canSmoothWith = list(/turf/simulated/floor/carpet/red)
/turf/simulated/floor/carpet/royalblack
icon = 'icons/turf/floors/carpet_royalblack.dmi'
floor_tile = /obj/item/stack/tile/carpet/royalblack
canSmoothWith = list(/turf/simulated/floor/carpet/royalblack)
/turf/simulated/floor/carpet/royalblue
icon = 'icons/turf/floors/carpet_royalblue.dmi'
floor_tile = /obj/item/stack/tile/carpet/royalblue
canSmoothWith = list(/turf/simulated/floor/carpet/royalblue)
//End of carpets
/turf/simulated/floor/fakespace
icon = 'icons/turf/space.dmi'
icon_state = "0"