mirror of
https://github.com/evilew/GS13-Citadel.git
synced 2026-08-22 20:57:32 +01:00
Merge branch 'Khaira-Hol:master' into MOD-suit-helmet-fix
This commit is contained in:
@@ -1426,6 +1426,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "<b>Show that you want to be confronted:</b><a href='?_src_=prefs;preference=trouble_seeker'>[trouble_seeker == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "<b>Bot Feeding:</b><a href='?_src_=prefs;preference=bot_feeding'>[bot_feeding == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "<b>Blueberry Inflation:</b><a href='?_src_=prefs;preference=blueberry_inflation'>[blueberry_inflation == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
|
||||
dat += "<b>Hear Burping Noises:</b> <a href='?_src_=prefs;preference=burping_noises'>[(cit_toggles & BURPING_NOISES) ? "Allowed" : "Disallowed"]</a><br>"
|
||||
dat += "<b>Hear Farting Noises:</b> <a href='?_src_=prefs;preference=farting_noises'>[(cit_toggles & FARTING_NOISES) ? "Allowed" : "Disallowed"]</a><br>"
|
||||
|
||||
@@ -1455,6 +1456,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "<br></br>"
|
||||
dat += "<b>Object TF:</b><a href='?_src_=prefs;preference=object_tf'>[object_tf == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "<br></br>"
|
||||
dat += "<b>Transformation:</b><a href='?_src_=prefs;preference=transformation'>[transformation == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "<br></br>"
|
||||
dat += "<b>Extreme Weight Gain (Sprite Size scales with weight):</b><a href='?_src_=prefs;preference=weight_gain_extreme'>[weight_gain_extreme == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "<b>Persistent Fat (endround/cryo weight becomes your new start weight):</b><a href='?_src_=prefs;preference=weight_gain_persistent'>[weight_gain_persistent == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "<b>Permanent Weight (hard to remove and persistent weight):</b><a href='?_src_=prefs;preference=weight_gain_permanent'>[weight_gain_permanent == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
@@ -3575,6 +3578,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
|
||||
if("object_tf")
|
||||
object_tf = !object_tf
|
||||
if("transformation")
|
||||
transformation = !transformation
|
||||
|
||||
if("blueberry_inflation")
|
||||
blueberry_inflation = !blueberry_inflation
|
||||
|
||||
@@ -969,6 +969,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["extreme_fatness_vulnerable"] >> extreme_fatness_vulnerable
|
||||
S["object_tf"] >> object_tf
|
||||
S["blueberry_inflation"] >> blueberry_inflation
|
||||
S["transformation"] >> transformation
|
||||
S["feature_breasts_fluid"] >> features["breasts_fluid"]
|
||||
S["feature_balls_fluid"] >> features["balls_fluid"]
|
||||
S["alt_titles_preferences"] >> alt_titles_preferences
|
||||
@@ -1271,6 +1272,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
WRITE_FILE(S["extreme_fatness_vulnerable"], extreme_fatness_vulnerable)
|
||||
WRITE_FILE(S["object_tf"], object_tf)
|
||||
WRITE_FILE(S["blueberry_inflation"], blueberry_inflation)
|
||||
WRITE_FILE(S["transformation"], transformation)
|
||||
WRITE_FILE(S["feature_breasts_fluid"], features["breasts_fluid"])
|
||||
|
||||
// records
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
/datum/job/junior_engineer
|
||||
title = "Engineering Intern"
|
||||
flag = JR_ENGINEER
|
||||
department_head = list("Chief Engineer")
|
||||
department_flag = ENGSEC
|
||||
faction = "Station"
|
||||
total_positions = 2
|
||||
spawn_positions = 2
|
||||
supervisors = "the chief engineer, and any other more experienced engineers"
|
||||
selection_color = "#ff9b3d"
|
||||
exp_requirements = 60
|
||||
exp_type = EXP_TYPE_CREW
|
||||
|
||||
outfit = /datum/outfit/job/engineer/junior
|
||||
plasma_outfit = /datum/outfit/plasmaman/engineering
|
||||
|
||||
access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS,
|
||||
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_TCOMSAT, ACCESS_MINERAL_STOREROOM)
|
||||
minimal_access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS,
|
||||
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_TCOMSAT, ACCESS_MINERAL_STOREROOM)
|
||||
paycheck = PAYCHECK_EASY
|
||||
paycheck_department = ACCOUNT_ENG
|
||||
bounty_types = CIV_JOB_ENG
|
||||
departments = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
|
||||
starting_modifiers = list(/datum/skill_modifier/job/level/wiring, /datum/skill_modifier/job/affinity/wiring)
|
||||
|
||||
display_order = JOB_DISPLAY_ORDER_STATION_ENGINEER
|
||||
|
||||
threat = 1
|
||||
|
||||
family_heirlooms = list(
|
||||
/obj/item/clothing/head/hardhat,
|
||||
/obj/item/screwdriver/brass/family,
|
||||
/obj/item/wrench/brass/family,
|
||||
/obj/item/weldingtool/mini, // No brass family variant
|
||||
/obj/item/crowbar/brass/family,
|
||||
/obj/item/wirecutters/brass/family
|
||||
)
|
||||
|
||||
mail_goodies = list(
|
||||
/obj/item/storage/box/lights/mixed = 20,
|
||||
/obj/item/lightreplacer = 10,
|
||||
/obj/item/holosign_creator/engineering = 8,
|
||||
/obj/item/clothing/head/hardhat/red/upgraded = 1
|
||||
)
|
||||
|
||||
/datum/outfit/job/engineer/junior
|
||||
name = "Engineering Intern"
|
||||
jobtype = /datum/job/junior_engineer
|
||||
|
||||
belt = /obj/item/storage/belt/utility/full/engi
|
||||
l_pocket = /obj/item/pda/engineering
|
||||
ears = /obj/item/radio/headset/headset_eng
|
||||
uniform = /obj/item/clothing/under/rank/engineering/engineer
|
||||
shoes = /obj/item/clothing/shoes/workboots
|
||||
head = /obj/item/clothing/head/hardhat
|
||||
r_pocket = /obj/item/t_scanner
|
||||
|
||||
backpack = /obj/item/storage/backpack/industrial
|
||||
satchel = /obj/item/storage/backpack/satchel/eng
|
||||
duffelbag = /obj/item/storage/backpack/duffelbag/engineering
|
||||
box = /obj/item/storage/box/survival/engineer
|
||||
pda_slot = ITEM_SLOT_LPOCKET
|
||||
backpack_contents = list(/obj/item/modular_computer/tablet/preset/advanced=1)
|
||||
|
||||
/datum/outfit/job/engineer/gloved
|
||||
name = "Station Engineer (Gloves)"
|
||||
gloves = /obj/item/clothing/gloves/color/yellow
|
||||
|
||||
/datum/outfit/job/engineer/gloved/rig
|
||||
name = "Station Engineer (Hardsuit)"
|
||||
mask = /obj/item/clothing/mask/breath
|
||||
suit = /obj/item/clothing/suit/space/hardsuit/engine
|
||||
suit_store = /obj/item/tank/internals/oxygen
|
||||
head = null
|
||||
internals_slot = ITEM_SLOT_SUITSTORE
|
||||
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
/datum/job/junior_doctor
|
||||
title = "Medical Resident"
|
||||
flag = JR_DOCTOR
|
||||
department_head = list("Chief Medical Officer")
|
||||
department_flag = MEDSCI
|
||||
faction = "Station"
|
||||
total_positions = 2
|
||||
spawn_positions = 2
|
||||
supervisors = "the chief medical officer, and any other senior medical staff"
|
||||
selection_color = "#74b5e0"
|
||||
|
||||
outfit = /datum/outfit/job/doctor/junior
|
||||
departments = DEPARTMENT_BITFLAG_MEDICAL
|
||||
plasma_outfit = /datum/outfit/plasmaman/medical
|
||||
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_VIROLOGY, ACCESS_MINERAL_STOREROOM)
|
||||
minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM)
|
||||
paycheck = PAYCHECK_EASY
|
||||
paycheck_department = ACCOUNT_MED
|
||||
bounty_types = CIV_JOB_MED
|
||||
|
||||
display_order = JOB_DISPLAY_ORDER_MEDICAL_DOCTOR
|
||||
threat = 0.5
|
||||
|
||||
starting_modifiers = list(/datum/skill_modifier/job/surgery, /datum/skill_modifier/job/affinity/surgery)
|
||||
|
||||
family_heirlooms = list(
|
||||
/obj/item/storage/firstaid/ancient/heirloom
|
||||
)
|
||||
|
||||
mail_goodies = list(
|
||||
/obj/effect/spawner/lootdrop/organ_spawner = 5,
|
||||
// /obj/effect/spawner/lootdrop/memeorgans = 1
|
||||
)
|
||||
|
||||
/datum/outfit/job/doctor/junior
|
||||
name = "Medical Resident"
|
||||
jobtype = /datum/job/junior_doctor
|
||||
|
||||
belt = /obj/item/pda/medical
|
||||
ears = /obj/item/radio/headset/headset_med
|
||||
uniform = /obj/item/clothing/under/rank/medical/doctor
|
||||
shoes = /obj/item/clothing/shoes/sneakers/white
|
||||
suit = /obj/item/clothing/suit/toggle/labcoat
|
||||
l_hand = /obj/item/storage/firstaid/regular
|
||||
suit_store = /obj/item/flashlight/pen
|
||||
|
||||
backpack = /obj/item/storage/backpack/medic
|
||||
satchel = /obj/item/storage/backpack/satchel/med
|
||||
duffelbag = /obj/item/storage/backpack/duffelbag/med
|
||||
|
||||
chameleon_extras = /obj/item/gun/syringe
|
||||
@@ -1,51 +0,0 @@
|
||||
/datum/job/junior_scientist
|
||||
title = "Research Student"
|
||||
flag = SCIENTIST
|
||||
department_head = list("Research Director")
|
||||
department_flag = MEDSCI
|
||||
faction = "Station"
|
||||
total_positions = 2
|
||||
spawn_positions = 1
|
||||
supervisors = "the research director, and any other senior science staff"
|
||||
selection_color = "#9574cd"
|
||||
exp_requirements = 60
|
||||
exp_type = EXP_TYPE_CREW
|
||||
|
||||
outfit = /datum/outfit/job/scientist/junior
|
||||
plasma_outfit = /datum/outfit/plasmaman/science
|
||||
|
||||
access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE, ACCESS_GENETICS)
|
||||
minimal_access = list(ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_MINERAL_STOREROOM)
|
||||
paycheck = PAYCHECK_EASY
|
||||
paycheck_department = ACCOUNT_SCI
|
||||
bounty_types = CIV_JOB_SCI
|
||||
departments = DEPARTMENT_BITFLAG_SCIENCE
|
||||
starting_modifiers = list(/datum/skill_modifier/job/level/wiring/basic)
|
||||
display_order = JOB_DISPLAY_ORDER_SCIENTIST
|
||||
threat = 1.2
|
||||
|
||||
family_heirlooms = list(
|
||||
/obj/item/toy/plush/slimeplushie
|
||||
)
|
||||
|
||||
mail_goodies = list(
|
||||
// /obj/item/raw_anomaly_core/random = 10, no free cores for probies
|
||||
// /obj/item/disk/tech_disk/spaceloot = 2,
|
||||
/obj/item/camera_bug = 1
|
||||
)
|
||||
|
||||
/datum/outfit/job/scientist/junior
|
||||
name = "Research Student"
|
||||
jobtype = /datum/job/junior_scientist
|
||||
|
||||
belt = /obj/item/pda/toxins
|
||||
ears = /obj/item/radio/headset/headset_sci
|
||||
uniform = /obj/item/clothing/under/rank/rnd/scientist
|
||||
shoes = /obj/item/clothing/shoes/sneakers/white
|
||||
suit = /obj/item/clothing/suit/toggle/labcoat/science
|
||||
|
||||
backpack = /obj/item/storage/backpack/science
|
||||
satchel = /obj/item/storage/backpack/satchel/tox
|
||||
|
||||
|
||||
|
||||
@@ -1,178 +0,0 @@
|
||||
/datum/job/junior_officer
|
||||
title = "Security Cadet"
|
||||
flag = JR_OFFICER
|
||||
auto_deadmin_role_flags = DEADMIN_POSITION_SECURITY
|
||||
department_head = list("Head of Security")
|
||||
department_flag = ENGSEC
|
||||
faction = "Station"
|
||||
total_positions = 5 //Handled in /datum/controller/occupations/proc/setup_officer_positions()
|
||||
spawn_positions = 5 //Handled in /datum/controller/occupations/proc/setup_officer_positions()
|
||||
supervisors = "the head of security, and the head of your assigned department (if applicable), and any other senior officer"
|
||||
selection_color = "#c02f2f"
|
||||
minimal_player_age = 3
|
||||
exp_requirements = 300
|
||||
exp_type = EXP_TYPE_CREW
|
||||
considered_combat_role = TRUE
|
||||
|
||||
outfit = /datum/outfit/job/security/junior
|
||||
plasma_outfit = /datum/outfit/plasmaman/security
|
||||
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP, ACCESS_FORENSICS_LOCKERS, ACCESS_MINERAL_STOREROOM)
|
||||
minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_WEAPONS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP, ACCESS_MINERAL_STOREROOM) // See /datum/job/officer/get_access()
|
||||
paycheck = PAYCHECK_MEDIUM
|
||||
paycheck_department = ACCOUNT_SEC
|
||||
bounty_types = CIV_JOB_SEC
|
||||
departments = DEPARTMENT_BITFLAG_SECURITY
|
||||
|
||||
mind_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM)
|
||||
|
||||
display_order = JOB_DISPLAY_ORDER_SECURITY_OFFICER
|
||||
blacklisted_quirks = list(/datum/quirk/mute, /datum/quirk/brainproblems, /datum/quirk/nonviolent, /datum/quirk/paraplegic, /datum/quirk/blindness, /datum/quirk/monophobia)
|
||||
threat = 2
|
||||
|
||||
family_heirlooms = list(
|
||||
/obj/item/book/manual/gato_spacelaw
|
||||
)
|
||||
|
||||
mail_goodies = list(
|
||||
/obj/item/reagent_containers/food/snacks/donut/caramel = 10,
|
||||
/obj/item/reagent_containers/food/snacks/donut/matcha = 10,
|
||||
/obj/item/reagent_containers/food/snacks/donut/blumpkin = 5,
|
||||
// /obj/item/clothing/mask/whistle = 5,
|
||||
// /obj/item/melee/baton/boomerang/loaded = 1
|
||||
)
|
||||
|
||||
/datum/job/junior_officer/get_access()
|
||||
var/list/L = list()
|
||||
L |= ..() | check_config_for_sec_maint()
|
||||
return L
|
||||
|
||||
|
||||
/datum/job/junior_officer/after_spawn(mob/living/spawned, client/player_client, latejoin = FALSE)
|
||||
. = ..()
|
||||
if(!ishuman(spawned))
|
||||
return
|
||||
var/mob/living/carbon/human/H = spawned
|
||||
// Assign department security
|
||||
var/department
|
||||
if(player_client?.prefs)
|
||||
department = player_client.prefs.prefered_security_department
|
||||
if(!LAZYLEN(GLOB.available_depts) || department == "None")
|
||||
return
|
||||
else if(department in GLOB.available_depts)
|
||||
LAZYREMOVE(GLOB.available_depts, department)
|
||||
else
|
||||
department = pick_n_take(GLOB.available_depts)
|
||||
var/ears = null
|
||||
var/accessory = null
|
||||
var/list/dep_access = null
|
||||
var/destination = null
|
||||
var/spawn_point = null
|
||||
switch(department)
|
||||
if(SEC_DEPT_SUPPLY)
|
||||
ears = /obj/item/radio/headset/headset_sec/alt/department/supply
|
||||
dep_access = list(ACCESS_MAILSORTING, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_CARGO)
|
||||
destination = /area/security/checkpoint/supply
|
||||
spawn_point = locate(/obj/effect/landmark/start/depsec/supply) in GLOB.department_security_spawns
|
||||
accessory = /obj/item/clothing/accessory/armband/cargo
|
||||
if(SEC_DEPT_ENGINEERING)
|
||||
ears = /obj/item/radio/headset/headset_sec/alt/department/engi
|
||||
dep_access = list(ACCESS_CONSTRUCTION, ACCESS_ENGINE, ACCESS_ATMOSPHERICS)
|
||||
destination = /area/security/checkpoint/engineering
|
||||
spawn_point = locate(/obj/effect/landmark/start/depsec/engineering) in GLOB.department_security_spawns
|
||||
accessory = /obj/item/clothing/accessory/armband/engine
|
||||
if(SEC_DEPT_MEDICAL)
|
||||
ears = /obj/item/radio/headset/headset_sec/alt/department/med
|
||||
dep_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CLONING)
|
||||
destination = /area/security/checkpoint/medical
|
||||
spawn_point = locate(/obj/effect/landmark/start/depsec/medical) in GLOB.department_security_spawns
|
||||
accessory = /obj/item/clothing/accessory/armband/medblue
|
||||
if(SEC_DEPT_SCIENCE)
|
||||
ears = /obj/item/radio/headset/headset_sec/alt/department/sci
|
||||
dep_access = list(ACCESS_RESEARCH, ACCESS_TOX)
|
||||
destination = /area/security/checkpoint/science
|
||||
spawn_point = locate(/obj/effect/landmark/start/depsec/science) in GLOB.department_security_spawns
|
||||
accessory = /obj/item/clothing/accessory/armband/science
|
||||
|
||||
if(accessory)
|
||||
var/obj/item/clothing/under/U = H.w_uniform
|
||||
U.attach_accessory(new accessory)
|
||||
if(ears)
|
||||
if(H.ears)
|
||||
qdel(H.ears)
|
||||
H.equip_to_slot_or_del(new ears(H),ITEM_SLOT_EARS)
|
||||
|
||||
var/obj/item/card/id/W = H.wear_id
|
||||
W.access |= dep_access
|
||||
|
||||
var/teleport = 0
|
||||
if(!CONFIG_GET(flag/sec_start_brig))
|
||||
if(destination || spawn_point)
|
||||
teleport = 1
|
||||
if(teleport)
|
||||
var/turf/T
|
||||
if(spawn_point)
|
||||
T = get_turf(spawn_point)
|
||||
H.Move(T)
|
||||
else
|
||||
var/safety = 0
|
||||
while(safety < 25)
|
||||
T = safepick(get_area_turfs(destination))
|
||||
if(T && !H.Move(T))
|
||||
safety += 1
|
||||
continue
|
||||
else
|
||||
break
|
||||
if(department)
|
||||
to_chat(H, "<b>You have been assigned to [department]!</b>")
|
||||
else
|
||||
to_chat(H, "<b>You have not been assigned to any department. Patrol the halls and help where needed.</b>")
|
||||
|
||||
/datum/outfit/job/security/junior
|
||||
name = "Security Cadet"
|
||||
jobtype = /datum/job/junior_officer
|
||||
|
||||
belt = /obj/item/pda/security
|
||||
ears = /obj/item/radio/headset/headset_sec/alt
|
||||
uniform = /obj/item/clothing/under/rank/security/officer
|
||||
gloves = /obj/item/clothing/gloves/color/black
|
||||
head = /obj/item/clothing/head/helmet/sec
|
||||
suit = /obj/item/clothing/suit/armor/vest/alt
|
||||
shoes = /obj/item/clothing/shoes/jackboots/sec
|
||||
l_pocket = /obj/item/restraints/handcuffs
|
||||
r_pocket = /obj/item/assembly/flash/handheld
|
||||
suit_store = /obj/item/gun/energy/e_gun/advtaser
|
||||
backpack_contents = list(/obj/item/melee/baton/loaded=1)
|
||||
|
||||
backpack = /obj/item/storage/backpack/security
|
||||
satchel = /obj/item/storage/backpack/satchel/sec
|
||||
duffelbag = /obj/item/storage/backpack/duffelbag/sec
|
||||
box = /obj/item/storage/box/survival/security
|
||||
|
||||
implants = list(/obj/item/implant/mindshield)
|
||||
|
||||
chameleon_extras = list(/obj/item/gun/energy/disabler, /obj/item/clothing/glasses/hud/security/sunglasses, /obj/item/clothing/head/helmet)
|
||||
//The helmet is necessary because /obj/item/clothing/head/helmet/sec is overwritten in the chameleon list by the standard helmet, which has the same name and icon state
|
||||
|
||||
|
||||
/obj/item/radio/headset/headset_sec/alt/department/Initialize(mapload)
|
||||
. = ..()
|
||||
wires = new/datum/wires/radio(src)
|
||||
secure_radio_connections = new
|
||||
recalculateChannels()
|
||||
|
||||
/obj/item/radio/headset/headset_sec/alt/department/engi
|
||||
keyslot = new /obj/item/encryptionkey/headset_sec
|
||||
keyslot2 = new /obj/item/encryptionkey/headset_eng
|
||||
|
||||
/obj/item/radio/headset/headset_sec/alt/department/supply
|
||||
keyslot = new /obj/item/encryptionkey/headset_sec
|
||||
keyslot2 = new /obj/item/encryptionkey/headset_cargo
|
||||
|
||||
/obj/item/radio/headset/headset_sec/alt/department/med
|
||||
keyslot = new /obj/item/encryptionkey/headset_sec
|
||||
keyslot2 = new /obj/item/encryptionkey/headset_med
|
||||
|
||||
/obj/item/radio/headset/headset_sec/alt/department/sci
|
||||
keyslot = new /obj/item/encryptionkey/headset_sec
|
||||
keyslot2 = new /obj/item/encryptionkey/headset_sci
|
||||
@@ -294,6 +294,25 @@
|
||||
target_message = "<span class='notice'>[M] boops your nose.</span>")
|
||||
playsound(src, 'sound/items/Nose_boop.ogg', 50, 0)
|
||||
|
||||
//GS13 EDIT Belly rubs start
|
||||
else if(M.zone_selected == BODY_ZONE_PRECISE_GROIN)
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
M.visible_message("<span class='notice'>[M] rubs [H]'s belly to make [p_them()] feel better!</span>", \
|
||||
"<span class='notice'>You rub [H]'s belly to make [p_them()] feel less stuffed!</span>")
|
||||
H.reduce_fullness(rand(4,16), FALSE)
|
||||
if(!HAS_TRAIT(H, TRAIT_ROBOTIC_ORGANISM))
|
||||
H.adjust_nutrition(rand(-5,-1))
|
||||
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "bellyrub_good", /datum/mood_event/bellyrub_good)
|
||||
if(prob(5))
|
||||
M.visible_message("<span class='notice'> Belly rubbing causes [H] to belch!</span>", \
|
||||
"<span class='notice'>Your belly massage made [p_them()] to burp!</span>")
|
||||
H.emote(pick("belch","burp"))
|
||||
if(prob(10))
|
||||
H.emote("gurgle")
|
||||
M.DelayNextAction(100)
|
||||
//GS13 EDIT Belly rubs end
|
||||
|
||||
else if(check_zone(M.zone_selected) == BODY_ZONE_HEAD)
|
||||
var/datum/species/S
|
||||
S = dna.species
|
||||
|
||||
@@ -1730,6 +1730,26 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
return
|
||||
|
||||
/datum/species/proc/help(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style)
|
||||
//GS13 edit start belly rub
|
||||
if(user.zone_selected == BODY_ZONE_PRECISE_GROIN && user.health >= 0 && target == user)
|
||||
user.visible_message("<span class='notice'>[user] rubs their belly!</span>", \
|
||||
"<span class='notice'>You rub your belly!</span>")
|
||||
user.reduce_fullness(rand(4,16), FALSE)
|
||||
if(!HAS_TRAIT(user, TRAIT_ROBOTIC_ORGANISM))
|
||||
user.adjust_nutrition(rand(-5,-1))
|
||||
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "bellyrub_good", /datum/mood_event/bellyrub_good)
|
||||
if(prob(5))
|
||||
user.visible_message("<span class='notice'>While [user] rubs their belly, the spontaneous belch comes out!</span>", \
|
||||
"<span class='notice'>Your belly massage made you to burp!</span>")
|
||||
user.emote(pick("belch","burp"))
|
||||
if(prob(10))
|
||||
user.emote("gurgle")
|
||||
user.DelayNextAction(100)
|
||||
playsound(user, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
|
||||
return FALSE
|
||||
|
||||
//GS13 edit end belly rub
|
||||
|
||||
if(target.health >= 0 && !HAS_TRAIT(target, TRAIT_FAKEDEATH))
|
||||
target.help_shake_act(user)
|
||||
if(target != user)
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
/obj/item/electronics/airalarm = 10,
|
||||
/obj/item/electronics/firealarm = 10,
|
||||
/obj/item/electronics/firelock = 10,
|
||||
/obj/item/rcd_ammo = 3
|
||||
/obj/item/rcd_ammo = 3,
|
||||
/obj/item/book/manual/engi_SOP = 5 //GS13 edit
|
||||
)
|
||||
contraband = list(/obj/item/stock_parts/cell/potato = 3,
|
||||
/obj/item/rcd_ammo = 2,
|
||||
|
||||
@@ -36,7 +36,9 @@
|
||||
/obj/item/stack/medical/ointment = 2,
|
||||
/obj/item/stack/medical/suture = 2,
|
||||
/obj/item/stack/medical/bone_gel = 4,
|
||||
/obj/item/stack/medical/nanogel = 4)
|
||||
/obj/item/stack/medical/nanogel = 4,
|
||||
/obj/item/book/manual/med_SOP = 5 //GS13
|
||||
)
|
||||
contraband = list(/obj/item/reagent_containers/pill/tox = 3,
|
||||
/obj/item/reagent_containers/pill/morphine = 4,
|
||||
/obj/item/reagent_containers/pill/charcoal = 6)
|
||||
|
||||
@@ -14,7 +14,10 @@
|
||||
/obj/item/storage/box/evidence = 6,
|
||||
/obj/item/flashlight/seclite = 4,
|
||||
/obj/item/restraints/legcuffs/bola/energy = 7,
|
||||
/obj/item/secbat = 5)
|
||||
/obj/item/secbat = 5,
|
||||
/obj/item/book/manual/sec_SOP = 5,
|
||||
/obj/item/book/manual/prisoner_SOP = 2 //GS13
|
||||
)
|
||||
contraband = list(/obj/item/clothing/glasses/sunglasses = 2,
|
||||
/obj/item/storage/fancy/donut_box = 2,
|
||||
/obj/item/storage/belt/sabre/secbelt = 1)
|
||||
|
||||
@@ -160,7 +160,8 @@
|
||||
/obj/item/clothing/shoes/sneakers/black = 3,
|
||||
/obj/item/clothing/gloves/fingerless = 3,
|
||||
/obj/item/clothing/head/soft = 3,
|
||||
/obj/item/radio/headset/headset_cargo = 3
|
||||
/obj/item/radio/headset/headset_cargo = 3,
|
||||
/obj/item/book/manual/supply_SOP = 5 //GS13 edit
|
||||
)
|
||||
premium = list(
|
||||
/obj/item/clothing/under/rank/cargo/miner = 3,
|
||||
@@ -222,7 +223,9 @@
|
||||
/obj/item/clothing/suit/toggle/labcoat/depjacket/sci = 4,
|
||||
/obj/item/clothing/shoes/sneakers/white = 4,
|
||||
/obj/item/radio/headset/headset_sci = 4,
|
||||
/obj/item/clothing/mask/gas = 5)
|
||||
/obj/item/clothing/mask/gas = 5,
|
||||
/obj/item/book/manual/science_SOP = 4 //GS13
|
||||
)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/science_wardrobe
|
||||
payment_department = ACCOUNT_SCI
|
||||
/obj/item/vending_refill/wardrobe/science_wardrobe
|
||||
@@ -244,7 +247,9 @@
|
||||
/obj/item/clothing/suit/apron/overalls = 5,
|
||||
/obj/item/clothing/under/rank/civilian/hydroponics = 5,
|
||||
/obj/item/clothing/under/rank/civilian/hydroponics/skirt = 5,
|
||||
/obj/item/clothing/mask/bandana = 4)
|
||||
/obj/item/clothing/mask/bandana = 4,
|
||||
/obj/item/book/manual/service_SOP = 1 //GS13
|
||||
)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/hydro_wardrobe
|
||||
payment_department = ACCOUNT_SRV
|
||||
light_color = LIGHT_COLOR_ELECTRIC_GREEN
|
||||
@@ -270,7 +275,9 @@
|
||||
/obj/item/storage/backpack/satchel/explorer = 1,
|
||||
/obj/item/clothing/glasses/regular = 2,
|
||||
/obj/item/clothing/glasses/regular/jamjar = 1,
|
||||
/obj/item/storage/bag/books = 1)
|
||||
/obj/item/storage/bag/books = 1,
|
||||
/obj/item/book/manual/service_SOP = 3 //GS13
|
||||
)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/curator_wardrobe
|
||||
payment_department = ACCOUNT_SRV
|
||||
/obj/item/vending_refill/wardrobe/curator_wardrobe
|
||||
@@ -300,7 +307,9 @@
|
||||
/obj/item/circuitboard/machine/dish_drive = 1,
|
||||
/obj/item/clothing/glasses/sunglasses/reagent = 1,
|
||||
/obj/item/clothing/neck/petcollar = 3,
|
||||
/obj/item/storage/belt/bandolier = 1)
|
||||
/obj/item/storage/belt/bandolier = 1,
|
||||
/obj/item/book/manual/service_SOP = 1//GS13
|
||||
)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/bar_wardrobe
|
||||
payment_department = ACCOUNT_SRV
|
||||
/obj/item/vending_refill/wardrobe/bar_wardrobe
|
||||
@@ -326,7 +335,9 @@
|
||||
/obj/item/clothing/head/chefhat = 2,
|
||||
/obj/item/reagent_containers/rag = 3,
|
||||
/obj/item/book/granter/crafting_recipe/cooking_sweets_101 = 2,
|
||||
/obj/item/book/granter/crafting_recipe/coldcooking = 2)
|
||||
/obj/item/book/granter/crafting_recipe/coldcooking = 2,
|
||||
/obj/item/book/manual/service_SOP = 1 //GS13
|
||||
)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/chef_wardrobe
|
||||
payment_department = ACCOUNT_SRV
|
||||
/obj/item/vending_refill/wardrobe/chef_wardrobe
|
||||
@@ -358,7 +369,9 @@
|
||||
/obj/item/watertank/janitor = 2,
|
||||
/obj/item/storage/belt/janitor = 2,
|
||||
/obj/item/screwdriver = 2,
|
||||
/obj/item/stack/cable_coil/random = 4)
|
||||
/obj/item/stack/cable_coil/random = 4,
|
||||
/obj/item/book/manual/service_SOP = 1 //GS13
|
||||
)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/jani_wardrobe
|
||||
default_price = PRICE_CHEAP
|
||||
extra_price = PRICE_EXPENSIVE * 0.8
|
||||
@@ -393,7 +406,9 @@
|
||||
/obj/item/clothing/suit/toggle/lawyer/purple = 3,
|
||||
/obj/item/clothing/suit/toggle/lawyer/black = 3,
|
||||
/obj/item/clothing/shoes/laceup = 3,
|
||||
/obj/item/clothing/accessory/lawyers_badge = 3)
|
||||
/obj/item/clothing/accessory/lawyers_badge = 3,
|
||||
/obj/item/book/manual/sec_SOP = 1 //GS13
|
||||
)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/law_wardrobe
|
||||
payment_department = ACCOUNT_SRV
|
||||
/obj/item/vending_refill/wardrobe/law_wardrobe
|
||||
@@ -417,7 +432,8 @@
|
||||
/obj/item/clothing/suit/chaplain/pharaoh = 2,
|
||||
/obj/item/clothing/head/nemes = 1,
|
||||
/obj/item/clothing/head/pharaoh = 1,
|
||||
/obj/item/storage/fancy/candle_box = 3)
|
||||
/obj/item/storage/fancy/candle_box = 3,
|
||||
/obj/item/book/manual/service_SOP = 1)
|
||||
premium = list(/obj/item/toy/plush/plushvar = 1,
|
||||
/obj/item/toy/plush/narplush = 1)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/chap_wardrobe
|
||||
@@ -516,7 +532,9 @@
|
||||
/obj/item/clothing/gloves/color/black = 2,
|
||||
/obj/item/clothing/gloves/color/latex = 2,
|
||||
/obj/item/reagent_containers/food/drinks/flask/det = 2,
|
||||
/obj/item/storage/fancy/cigarettes = 5)
|
||||
/obj/item/storage/fancy/cigarettes = 5,
|
||||
/obj/item/book/manual/sec_SOP = 1 //GS13
|
||||
)
|
||||
premium = list(/obj/item/clothing/head/flatcap = 1)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/det_wardrobe
|
||||
extra_price = PRICE_EXPENSIVE * 1.75
|
||||
@@ -550,7 +568,9 @@
|
||||
/obj/item/clothing/suit/captunic = 1,
|
||||
/obj/item/clothing/under/rank/captain/femformal = 1,
|
||||
/obj/item/clothing/glasses/sunglasses/gar/supergar = 1,
|
||||
/obj/item/clothing/gloves/color/captain = 1)
|
||||
/obj/item/clothing/gloves/color/captain = 1,
|
||||
/obj/item/book/manual/command_SOP = 1 //GS13
|
||||
)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/cap_wardrobe
|
||||
payment_department = ACCOUNT_SEC
|
||||
default_price = PRICE_ALMOST_EXPENSIVE
|
||||
|
||||
Reference in New Issue
Block a user