Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into Ghommie-cit11
This commit is contained in:
@@ -150,6 +150,42 @@
|
||||
message_admins("[key_name_admin(src)] set the round end sound to [S]")
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Set Round End Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/play_web_sound_manual()
|
||||
set category = "Fun"
|
||||
set name = "Manual Play Internet Sound"
|
||||
if(!check_rights(R_SOUNDS))
|
||||
return
|
||||
|
||||
var/web_sound_input = input("Enter youtube-dl fetched content URL (supported sites only, leave blank to stop playing)", "Send youtube-dl media link") as text|null
|
||||
if(!istext(web_sound_input))
|
||||
return
|
||||
web_sound_input = trim(web_sound_input)
|
||||
if(!length(web_sound_input))
|
||||
log_admin("[key_name(src)] stopped web sound")
|
||||
message_admins("[key_name(src)] stopped web sound")
|
||||
for(var/m in GLOB.player_list)
|
||||
var/mob/M = m
|
||||
var/client/C = M.client
|
||||
if((C.prefs.toggles & SOUND_MIDI) && C.chatOutput && !C.chatOutput.broken && C.chatOutput.loaded)
|
||||
C.chatOutput.stopMusic()
|
||||
return
|
||||
var/freq = input(usr, "What frequency would you like the sound to play at?",, 1) as null|num
|
||||
if(!freq)
|
||||
return
|
||||
if(web_sound_input && !findtext(web_sound_input, GLOB.is_http_protocol))
|
||||
to_chat(src, "<span class='boldwarning'>BLOCKED: Content URL not using http(s) protocol</span>")
|
||||
to_chat(src, "<span class='warning'>The media provider returned a content URL that isn't using the HTTP or HTTPS protocol</span>")
|
||||
return
|
||||
|
||||
SSblackbox.record_feedback("nested tally", "played_url_manual", 1, list("[ckey]", "[web_sound_input]"))
|
||||
log_admin("[key_name(src)] manually played web sound: [web_sound_input]")
|
||||
message_admins("[key_name(src)] manually played web sound: <a href='web_sound_input'>HREF</a>")
|
||||
for(var/m in GLOB.player_list)
|
||||
var/mob/M = m
|
||||
var/client/C = M.client
|
||||
if((C.prefs.toggles & SOUND_MIDI) && C.chatOutput && !C.chatOutput.broken && C.chatOutput.loaded)
|
||||
C.chatOutput.sendMusic(web_sound_input, freq)
|
||||
|
||||
/client/proc/stop_sounds()
|
||||
set category = "Debug"
|
||||
set name = "Stop All Playing Sounds"
|
||||
|
||||
@@ -1249,7 +1249,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
|
||||
if(!check_rights(R_ADMIN) || !check_rights(R_FUN))
|
||||
return
|
||||
|
||||
var/list/punishment_list = list(ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_BSA, ADMIN_PUNISHMENT_FIREBALL, ADMIN_PUNISHMENT_ROD, ADMIN_PUNISHMENT_SUPPLYPOD, ADMIN_PUNISHMENT_MAZING)
|
||||
var/list/punishment_list = list(ADMIN_PUNISHMENT_PIE, ADMIN_PUNISHMENT_FIREBALL, ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_BSA, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_SUPPLYPOD, ADMIN_PUNISHMENT_MAZING, ADMIN_PUNISHMENT_ROD)
|
||||
|
||||
var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in punishment_list
|
||||
|
||||
@@ -1294,6 +1294,9 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
|
||||
if(!puzzle_imprison(target))
|
||||
to_chat(usr,"<span class='warning'>Imprisonment failed!</span>")
|
||||
return
|
||||
if(ADMIN_PUNISHMENT_PIE)
|
||||
var/obj/item/reagent_containers/food/snacks/pie/cream/nostun/creamy = new(get_turf(target))
|
||||
creamy.splat(target)
|
||||
|
||||
var/msg = "[key_name_admin(usr)] punished [key_name_admin(target)] with [punishment]."
|
||||
message_admins(msg)
|
||||
|
||||
@@ -108,10 +108,20 @@
|
||||
to_chat(loc, "<span class='warning'>Combat injection is still recharging.</span>")
|
||||
return
|
||||
var/mob/living/carbon/human/M = loc
|
||||
M.adjustStaminaLoss(-75)
|
||||
M.SetSleeping(0)
|
||||
M.SetUnconscious(0)
|
||||
M.SetStun(0)
|
||||
M.SetKnockdown(0)
|
||||
M.reagents.add_reagent("inaprovaline", 3)
|
||||
M.reagents.add_reagent("synaptizine", 10)
|
||||
M.reagents.add_reagent("stimulants", 10)
|
||||
M.adjustStaminaLoss(-150)
|
||||
M.stuttering = 0
|
||||
M.updatehealth()
|
||||
M.update_stamina()
|
||||
M.resting = 0
|
||||
M.lying = 0
|
||||
M.update_canmove()
|
||||
combat_cooldown = 0
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
|
||||
@@ -19,6 +19,14 @@
|
||||
user.SetKnockdown(0)
|
||||
user.reagents.add_reagent("changelingadrenaline", 10)
|
||||
user.reagents.add_reagent("changelinghaste", 2) //For a really quick burst of speed
|
||||
user.adjustStaminaLoss(-75)
|
||||
user.reagents.add_reagent("inaprovaline", 3) //let's give another chance to dumb fucks who forget to breathe
|
||||
user.adjustStaminaLoss(-150)
|
||||
user.stuttering = 0
|
||||
user.updatehealth()
|
||||
user.update_stamina()
|
||||
user.resting = 0
|
||||
user.lying = 0
|
||||
user.update_canmove()
|
||||
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
if (user.has_trait(CHANGELING_HIVEMIND_MUTE))
|
||||
to_chat(user, "<span class='warning'>The poison in the air hinders our ability to interact with the hivemind.</span>")
|
||||
return
|
||||
var/input = stripped_input(usr, "Please choose a message to transmit.", "Changeling Hivemind", "")
|
||||
var/input = html_decode(stripped_input(usr, "Please choose a message to transmit.", "Changeling Hivemind", ""))
|
||||
user.say(".g[input]")
|
||||
|
||||
/obj/effect/proc_holder/changeling/hivemind_comms/on_purchase(mob/user, is_respec)
|
||||
|
||||
@@ -44,12 +44,13 @@
|
||||
|
||||
/obj/item/clockwork/slab/cyborg //three scriptures, plus a spear and fabricator
|
||||
clockwork_desc = "A divine link to the Celestial Derelict, allowing for limited recital of scripture."
|
||||
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/ranged_ability/judicial_marker, /datum/clockwork_scripture/ranged_ability/linked_vanguard)
|
||||
quickbound = list(/datum/clockwork_scripture/ranged_ability/judicial_marker, /datum/clockwork_scripture/ranged_ability/linked_vanguard, \
|
||||
/datum/clockwork_scripture/create_object/stargazer)
|
||||
maximum_quickbound = 6 //we usually have one or two unique scriptures, so if ratvar is up let us bind one more
|
||||
actions_types = list()
|
||||
|
||||
/obj/item/clockwork/slab/cyborg/engineer //two scriptures, plus a fabricator
|
||||
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant, /datum/clockwork_scripture/create_object/sigil_of_transmission)
|
||||
/obj/item/clockwork/slab/cyborg/engineer //three scriptures, plus a fabricator
|
||||
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant, /datum/clockwork_scripture/create_object/sigil_of_transmission, /datum/clockwork_scripture/create_object/stargazer)
|
||||
|
||||
/obj/item/clockwork/slab/cyborg/medical //five scriptures, plus a spear
|
||||
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/ranged_ability/linked_vanguard, /datum/clockwork_scripture/ranged_ability/sentinels_compromise, \
|
||||
@@ -61,12 +62,12 @@
|
||||
/obj/item/clockwork/slab/cyborg/peacekeeper //two scriptures, plus a spear
|
||||
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/ranged_ability/hateful_manacles, /datum/clockwork_scripture/ranged_ability/judicial_marker)
|
||||
|
||||
/obj/item/clockwork/slab/cyborg/janitor //five scriptures, plus a fabricator
|
||||
/obj/item/clockwork/slab/cyborg/janitor //six scriptures, plus a fabricator
|
||||
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant, /datum/clockwork_scripture/create_object/sigil_of_transgression, \
|
||||
/datum/clockwork_scripture/create_object/ocular_warden, /datum/clockwork_scripture/create_object/mania_motor)
|
||||
/datum/clockwork_scripture/create_object/stargazer, /datum/clockwork_scripture/create_object/ocular_warden, /datum/clockwork_scripture/create_object/mania_motor)
|
||||
|
||||
/obj/item/clockwork/slab/cyborg/service //five scriptures, plus xray vision
|
||||
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant, \
|
||||
/obj/item/clockwork/slab/cyborg/service //six scriptures, plus xray vision
|
||||
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant,/datum/clockwork_scripture/create_object/stargazer, \
|
||||
/datum/clockwork_scripture/spatial_gateway, /datum/clockwork_scripture/create_object/clockwork_obelisk)
|
||||
|
||||
/obj/item/clockwork/slab/cyborg/miner //two scriptures, plus a spear and xray vision
|
||||
|
||||
@@ -2,6 +2,32 @@
|
||||
// DRIVERS //
|
||||
/////////////
|
||||
|
||||
//Stargazer: Creates a stargazer, a cheap power generator that utilizes starlight.
|
||||
/datum/clockwork_scripture/create_object/stargazer
|
||||
descname = "Generates Power From Starlight"
|
||||
name = "Stargazer"
|
||||
desc = "Forms a weak structure that generates power every second while within three tiles of starlight."
|
||||
invocations = list("Capture their inferior light for us!")
|
||||
channel_time = 50
|
||||
power_cost = 200
|
||||
object_path = /obj/structure/destructible/clockwork/stargazer
|
||||
creator_message = "<span class='brass'>You form a stargazer, which will generate power near starlight.</span>"
|
||||
observer_message = "<span class='warning'>A large lantern-shaped machine forms!</span>"
|
||||
usage_tip = "For obvious reasons, make sure to place this near a window or somewhere else that can see space!"
|
||||
tier = SCRIPTURE_DRIVER
|
||||
one_per_tile = TRUE
|
||||
primary_component = HIEROPHANT_ANSIBLE
|
||||
sort_priority = 1
|
||||
quickbind = TRUE
|
||||
quickbind_desc = "Creates a stargazer, which generates power when near starlight."
|
||||
|
||||
/datum/clockwork_scripture/create_object/stargazer/check_special_requirements()
|
||||
var/area/A = get_area(invoker)
|
||||
if(A.outdoors || A.map_name == "Space" || !A.blob_allowed)
|
||||
to_chat(invoker, "<span class='danger'>Stargazers can't be built off-station.</span>")
|
||||
return
|
||||
return ..()
|
||||
|
||||
|
||||
//Integration Cog: Creates an integration cog that can be inserted into APCs to passively siphon power.
|
||||
/datum/clockwork_scripture/create_object/integration_cog
|
||||
@@ -18,7 +44,7 @@
|
||||
tier = SCRIPTURE_DRIVER
|
||||
space_allowed = TRUE
|
||||
primary_component = HIEROPHANT_ANSIBLE
|
||||
sort_priority = 1
|
||||
sort_priority = 2
|
||||
important = TRUE
|
||||
quickbind = TRUE
|
||||
quickbind_desc = "Creates an integration cog, which can be used to siphon power from an open APC."
|
||||
@@ -39,7 +65,7 @@
|
||||
tier = SCRIPTURE_DRIVER
|
||||
one_per_tile = TRUE
|
||||
primary_component = HIEROPHANT_ANSIBLE
|
||||
sort_priority = 2
|
||||
sort_priority = 3
|
||||
quickbind = TRUE
|
||||
quickbind_desc = "Creates a Sigil of Transgression, which will briefly stun and slow the next non-Servant to cross it."
|
||||
|
||||
@@ -59,7 +85,7 @@
|
||||
tier = SCRIPTURE_DRIVER
|
||||
one_per_tile = TRUE
|
||||
primary_component = HIEROPHANT_ANSIBLE
|
||||
sort_priority = 3
|
||||
sort_priority = 4
|
||||
quickbind = TRUE
|
||||
quickbind_desc = "Creates a Sigil of Submission, which will convert non-Servants that remain on it."
|
||||
|
||||
@@ -76,7 +102,7 @@
|
||||
usage_tip = "The light can be used from up to two tiles away. Damage taken will GREATLY REDUCE the stun's duration."
|
||||
tier = SCRIPTURE_DRIVER
|
||||
primary_component = BELLIGERENT_EYE
|
||||
sort_priority = 4
|
||||
sort_priority = 5
|
||||
slab_overlay = "volt"
|
||||
ranged_type = /obj/effect/proc_holder/slab/kindle
|
||||
ranged_message = "<span class='brass'><i>You charge the clockwork slab with divine energy.</i>\n\
|
||||
@@ -100,7 +126,7 @@
|
||||
usage_tip = "The manacles are about as strong as zipties, and break when removed."
|
||||
tier = SCRIPTURE_DRIVER
|
||||
primary_component = BELLIGERENT_EYE
|
||||
sort_priority = 5
|
||||
sort_priority = 6
|
||||
ranged_type = /obj/effect/proc_holder/slab/hateful_manacles
|
||||
slab_overlay = "hateful_manacles"
|
||||
ranged_message = "<span class='neovgre_small'><i>You charge the clockwork slab with divine energy.</i>\n\
|
||||
@@ -124,7 +150,7 @@
|
||||
usage_tip = "You cannot reactivate Vanguard while still shielded by it."
|
||||
tier = SCRIPTURE_DRIVER
|
||||
primary_component = VANGUARD_COGWHEEL
|
||||
sort_priority = 6
|
||||
sort_priority = 7
|
||||
quickbind = TRUE
|
||||
quickbind_desc = "Allows you to temporarily have quickly regenerating stamina and absorb stuns. All stuns absorbed will affect you when disabled."
|
||||
|
||||
@@ -156,7 +182,7 @@
|
||||
usage_tip = "The Compromise is very fast to invoke, and will remove holy water from the target Servant."
|
||||
tier = SCRIPTURE_DRIVER
|
||||
primary_component = VANGUARD_COGWHEEL
|
||||
sort_priority = 7
|
||||
sort_priority = 8
|
||||
quickbind = TRUE
|
||||
quickbind_desc = "Allows you to convert a Servant's brute, burn, and oxygen damage to half toxin damage.<br><b>Click your slab to disable.</b>"
|
||||
slab_overlay = "compromise"
|
||||
@@ -180,7 +206,7 @@
|
||||
usage_tip = "This can't be used while on Reebe, for obvious reasons."
|
||||
tier = SCRIPTURE_DRIVER
|
||||
primary_component = GEIS_CAPACITOR
|
||||
sort_priority = 8
|
||||
sort_priority = 9
|
||||
important = TRUE
|
||||
quickbind = TRUE
|
||||
quickbind_desc = "Returns you to Reebe."
|
||||
@@ -238,7 +264,7 @@
|
||||
tier = SCRIPTURE_DRIVER
|
||||
space_allowed = TRUE
|
||||
primary_component = GEIS_CAPACITOR
|
||||
sort_priority = 9
|
||||
sort_priority = 10
|
||||
important = TRUE
|
||||
quickbind = TRUE
|
||||
quickbind_desc = "Creates a new Clockwork Slab."
|
||||
@@ -259,6 +285,6 @@
|
||||
tier = SCRIPTURE_DRIVER
|
||||
space_allowed = TRUE
|
||||
primary_component = GEIS_CAPACITOR
|
||||
sort_priority = 10
|
||||
sort_priority = 11
|
||||
quickbind = TRUE
|
||||
quickbind_desc = "Creates a pair of Wraith Spectacles, which grant true sight but cause gradual vision loss."
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
#define STARGAZER_RANGE 3 //How many tiles the stargazer can see out to
|
||||
#define STARGAZER_POWER 7 //How many watts will be produced per second when the stargazer sees starlight
|
||||
|
||||
//Stargazer: A very fragile but cheap generator that creates power from starlight.
|
||||
/obj/structure/destructible/clockwork/stargazer
|
||||
name = "stargazer"
|
||||
desc = "A large lantern-shaped machine made of thin brass. It looks fragile."
|
||||
clockwork_desc = "A lantern-shaped generator that produces power when near starlight."
|
||||
icon_state = "stargazer"
|
||||
unanchored_icon = "stargazer_unwrenched"
|
||||
max_integrity = 40
|
||||
construction_value = 5
|
||||
layer = WALL_OBJ_LAYER
|
||||
break_message = "<span class='warning'>The stargazer's fragile body shatters into pieces!</span>"
|
||||
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
|
||||
light_color = "#DAAA18"
|
||||
var/star_light_star_bright = FALSE //If this stargazer can see starlight
|
||||
|
||||
/obj/structure/destructible/clockwork/stargazer/Initialize()
|
||||
. = ..()
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
/obj/structure/destructible/clockwork/stargazer/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
. = ..()
|
||||
|
||||
/obj/structure/destructible/clockwork/stargazer/examine(mob/user)
|
||||
..()
|
||||
if(is_servant_of_ratvar(user))
|
||||
to_chat(user, "<span class='nzcrentr_small'>Generates <b>[DisplayPower(STARGAZER_POWER)]</b> per second while viewing starlight within [STARGAZER_RANGE] tiles.</span>")
|
||||
if(star_light_star_bright)
|
||||
to_chat(user, "[is_servant_of_ratvar(user) ? "<span class='nzcrentr_small'>It can see starlight!</span>" : "It's shining brilliantly!"]")
|
||||
|
||||
/obj/structure/destructible/clockwork/stargazer/process()
|
||||
star_light_star_bright = check_starlight()
|
||||
if(star_light_star_bright)
|
||||
adjust_clockwork_power(STARGAZER_POWER)
|
||||
|
||||
/obj/structure/destructible/clockwork/stargazer/update_anchored(mob/living/user, damage)
|
||||
. = ..()
|
||||
star_light_star_bright = check_starlight()
|
||||
|
||||
/obj/structure/destructible/clockwork/stargazer/proc/check_starlight()
|
||||
var/old_status = star_light_star_bright
|
||||
var/has_starlight
|
||||
if(!anchored)
|
||||
has_starlight = FALSE
|
||||
else
|
||||
for(var/turf/T in view(3, src))
|
||||
if(isspaceturf(T))
|
||||
has_starlight = TRUE
|
||||
break
|
||||
if(has_starlight && anchored)
|
||||
var/area/A = get_area(src)
|
||||
if(A.outdoors || A.map_name == "Space" || !A.blob_allowed)
|
||||
has_starlight = FALSE
|
||||
if(old_status != has_starlight)
|
||||
if(has_starlight)
|
||||
visible_message("<span class='nzcrentr_small'>[src] hums and shines brilliantly!</span>")
|
||||
playsound(src, 'sound/machines/clockcult/stargazer_activate.ogg', 50, TRUE)
|
||||
add_overlay("stargazer_light")
|
||||
set_light(1.5, 5)
|
||||
else
|
||||
if(anchored) //We lost visibility somehow
|
||||
visible_message("<span class='danger'>[src] flickers, and falls dark.</span>")
|
||||
else
|
||||
visible_message("<span class='danger'>[src] whooshes quietly as it slides into a less bulky form.</span>")
|
||||
cut_overlays()
|
||||
set_light(0)
|
||||
return has_starlight
|
||||
@@ -211,8 +211,6 @@
|
||||
else
|
||||
return FALSE
|
||||
|
||||
|
||||
|
||||
/datum/action/innate/cult/spin2win
|
||||
name = "Geometer's Fury"
|
||||
desc = "You draw on the power of the sword's ancient runes, spinning it wildly around you as you become immune to most attacks."
|
||||
@@ -267,7 +265,6 @@
|
||||
return
|
||||
. = ..()
|
||||
|
||||
|
||||
/obj/item/clothing/head/culthood
|
||||
name = "ancient cultist hood"
|
||||
icon_state = "culthood"
|
||||
@@ -294,7 +291,6 @@
|
||||
heat_protection = CHEST|GROIN|LEGS|ARMS
|
||||
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
|
||||
|
||||
|
||||
/obj/item/clothing/head/culthood/alt
|
||||
name = "cultist hood"
|
||||
desc = "An armored hood worn by the followers of Nar'Sie."
|
||||
@@ -313,7 +309,6 @@
|
||||
/obj/item/clothing/suit/cultrobes/alt/ghost
|
||||
item_flags = NODROP | DROPDEL
|
||||
|
||||
|
||||
/obj/item/clothing/head/magus
|
||||
name = "magus helm"
|
||||
icon_state = "magus"
|
||||
@@ -529,7 +524,12 @@
|
||||
"The shuttle's custodian was found washing the windows with their own blood.",
|
||||
"A shuttle engineer began screaming 'DEATH IS NOT THE END' and ripped out wires until an arc flash seared off her flesh.",
|
||||
"A shuttle inspector started laughing madly over the radio and then threw herself into an engine turbine.",
|
||||
"An assistant was found on the shuttle.",
|
||||
"A medical officer was found pouring out several blood bags onto the shuttle's instrument panels, before slitting both wrists open and screaming 'DEATH IS NOT THE END'.",
|
||||
"A fuel technician was found replacing the fuel with his blood.",
|
||||
"All the lights aboard the shuttle turned a crimson red before blowing out..",
|
||||
"The shuttle dispatcher was found dead with bloody symbols carved into their flesh.",
|
||||
"An engine turbine began leaking blood when it was powered on.",
|
||||
"The shuttle's transponder is emitting the encoded message 'FEAR THE OLD BLOOD' in lieu of its assigned identification signal.")
|
||||
var/message = pick_n_take(curses)
|
||||
message += " The shuttle will be delayed by three minutes."
|
||||
|
||||
@@ -58,18 +58,12 @@
|
||||
<A href='byond://?src=[REF(src)];send=1'>Send Signal</A><BR>
|
||||
<B>Frequency/Code</B> for signaler:<BR>
|
||||
Frequency:
|
||||
<A href='byond://?src=[REF(src)];freq=-10'>-</A>
|
||||
<A href='byond://?src=[REF(src)];freq=-2'>-</A>
|
||||
[format_frequency(src.frequency)]
|
||||
<A href='byond://?src=[REF(src)];freq=2'>+</A>
|
||||
<A href='byond://?src=[REF(src)];freq=10'>+</A><BR>
|
||||
<A href='byond://?src=[REF(src)];set=freq'>Set</A><BR>
|
||||
|
||||
Code:
|
||||
<A href='byond://?src=[REF(src)];code=-5'>-</A>
|
||||
<A href='byond://?src=[REF(src)];code=-1'>-</A>
|
||||
[src.code]
|
||||
<A href='byond://?src=[REF(src)];code=1'>+</A>
|
||||
<A href='byond://?src=[REF(src)];code=5'>+</A><BR>
|
||||
<A href='byond://?src=[REF(src)];set=code'>Set</A><BR>
|
||||
[t1]
|
||||
</TT>"}
|
||||
user << browse(dat, "window=radio")
|
||||
@@ -85,17 +79,23 @@ Code:
|
||||
onclose(usr, "radio")
|
||||
return
|
||||
|
||||
if (href_list["freq"])
|
||||
var/new_frequency = (frequency + text2num(href_list["freq"]))
|
||||
if(new_frequency < MIN_FREE_FREQ || new_frequency > MAX_FREE_FREQ)
|
||||
new_frequency = sanitize_frequency(new_frequency)
|
||||
set_frequency(new_frequency)
|
||||
if (href_list["set"])
|
||||
|
||||
if(href_list["code"])
|
||||
src.code += text2num(href_list["code"])
|
||||
src.code = round(src.code)
|
||||
src.code = min(100, src.code)
|
||||
src.code = max(1, src.code)
|
||||
if(href_list["set"] == "freq")
|
||||
var/new_freq = input(usr, "Input a new signalling frequency", "Remote Signaller Frequency", format_frequency(frequency)) as num|null
|
||||
if(!usr.canUseTopic(src, BE_CLOSE))
|
||||
return
|
||||
new_freq = unformat_frequency(new_freq)
|
||||
new_freq = sanitize_frequency(new_freq, TRUE)
|
||||
set_frequency(new_freq)
|
||||
|
||||
if(href_list["set"] == "code")
|
||||
var/new_code = input(usr, "Input a new signalling code", "Remote Signaller Code", code) as num|null
|
||||
if(!usr.canUseTopic(src, BE_CLOSE))
|
||||
return
|
||||
new_code = round(new_code)
|
||||
new_code = CLAMP(new_code, 1, 100)
|
||||
code = new_code
|
||||
|
||||
if(href_list["send"])
|
||||
spawn( 0 )
|
||||
@@ -206,4 +206,4 @@ Code:
|
||||
/obj/item/assembly/signaler/cyborg/attackby(obj/item/W, mob/user, params)
|
||||
return
|
||||
/obj/item/assembly/signaler/cyborg/screwdriver_act(mob/living/user, obj/item/I)
|
||||
return
|
||||
return
|
||||
@@ -177,9 +177,12 @@
|
||||
|
||||
/obj/item/clothing/neck/petcollar
|
||||
name = "pet collar"
|
||||
desc = "It's for pets. Though you probably could wear it yourself, you'd doubtless be the subject of ridicule."
|
||||
desc = "It's for pets. Though you probably could wear it yourself, you'd doubtless be the subject of ridicule. It seems to be made out of a polychromic material."
|
||||
icon_state = "petcollar"
|
||||
item_color = "petcollar"
|
||||
alternate_worn_icon = 'icons/mob/neck.dmi' //Because, as it appears, the item itself is normally not directly aware of its worn overlays, so this is about the easiest way, without adding a new var.
|
||||
hasprimary = TRUE
|
||||
primary_color = "#00BBBB"
|
||||
pocket_storage_component_path = /datum/component/storage/concrete/pockets/small/collar
|
||||
var/tagname = null
|
||||
|
||||
@@ -187,6 +190,42 @@
|
||||
tagname = copytext(sanitize(input(user, "Would you like to change the name on the tag?", "Name your new pet", "Spot") as null|text),1,MAX_NAME_LEN)
|
||||
name = "[initial(name)] - [tagname]"
|
||||
|
||||
/obj/item/clothing/neck/petcollar/worn_overlays(isinhands, icon_file)
|
||||
. = ..()
|
||||
if(hasprimary | hassecondary | hastertiary)
|
||||
if(!isinhands) //prevents the worn sprites from showing up if you're just holding them
|
||||
if(hasprimary) //checks if overlays are enabled
|
||||
var/mutable_appearance/primary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-primary") //automagical sprite selection
|
||||
primary_worn.color = primary_color //colors the overlay
|
||||
. += primary_worn //adds the overlay onto the buffer list to draw on the mob sprite
|
||||
if(hassecondary)
|
||||
var/mutable_appearance/secondary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-secondary")
|
||||
secondary_worn.color = secondary_color
|
||||
. += secondary_worn
|
||||
if(hastertiary)
|
||||
var/mutable_appearance/tertiary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-tertiary")
|
||||
tertiary_worn.color = tertiary_color
|
||||
. += tertiary_worn
|
||||
|
||||
/obj/item/clothing/neck/petcollar/leather
|
||||
name = "leather pet collar"
|
||||
icon_state = "leathercollar"
|
||||
item_color = "leathercollar"
|
||||
|
||||
hasprimary = TRUE
|
||||
hassecondary = TRUE
|
||||
primary_color = "#222222"
|
||||
secondary_color = "#888888"
|
||||
|
||||
/obj/item/clothing/neck/petcollar/choker
|
||||
desc = "Quite fashionable... if you're somebody who's just read their first BDSM-themed erotica novel."
|
||||
name = "choker"
|
||||
icon_state = "choker"
|
||||
item_color = "choker"
|
||||
|
||||
hasprimary = TRUE
|
||||
primary_color = "#222222"
|
||||
|
||||
/obj/item/clothing/neck/petcollar/locked
|
||||
name = "locked collar"
|
||||
desc = "A collar that has a small lock on it to keep it from being removed."
|
||||
@@ -209,6 +248,25 @@
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/neck/petcollar/locked/leather
|
||||
name = "leather pet collar"
|
||||
icon_state = "leathercollar"
|
||||
item_color = "leathercollar"
|
||||
|
||||
hasprimary = TRUE
|
||||
hassecondary = TRUE
|
||||
primary_color = "#222222"
|
||||
secondary_color = "#888888"
|
||||
|
||||
/obj/item/clothing/neck/petcollar/locked/choker
|
||||
name = "choker"
|
||||
desc = "Quite fashionable... if you're somebody who's just read their first BDSM-themed erotica novel."
|
||||
icon_state = "choker"
|
||||
item_color = "choker"
|
||||
|
||||
hasprimary = TRUE
|
||||
primary_color = "#222222"
|
||||
|
||||
/obj/item/key/collar
|
||||
name = "Collar Key"
|
||||
desc = "A key for a tiny lock on a collar or bag."
|
||||
|
||||
@@ -41,12 +41,6 @@
|
||||
if(tauric == TRUE)
|
||||
center = TRUE
|
||||
dimension_x = 64
|
||||
/*
|
||||
else if(H.dna.features["taur"] == "Horse" || "Cow")
|
||||
taurmode = HOOF_TAURIC //tweak this for when the exotics get their own suits, if ever.
|
||||
center = TRUE
|
||||
dimension_x = 64
|
||||
*/
|
||||
else
|
||||
taurmode = NOT_TAURIC
|
||||
if(tauric == TRUE)
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
item_state = "armoralt"
|
||||
blood_overlay_type = "armor"
|
||||
dog_fashion = /datum/dog_fashion/back
|
||||
tauric = TRUE //Citadel Add for tauric hardsuits
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/alt
|
||||
desc = "A Type I armored vest that provides decent protection against most types of damage."
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
CAT_PIZZA,
|
||||
CAT_SALAD,
|
||||
CAT_SANDWICH,
|
||||
CAT_SUSHI,
|
||||
CAT_SOUP,
|
||||
CAT_SPAGHETTI),
|
||||
CAT_CLOTHING) //Clothing subcategories
|
||||
|
||||
@@ -435,6 +435,15 @@
|
||||
result = /obj/item/extendohand
|
||||
category = CAT_MISC
|
||||
|
||||
/datum/crafting_recipe/bluespacehonker
|
||||
name = "Bluespace Bike horn"
|
||||
result = /obj/item/bikehorn/bluespacehonker
|
||||
time = 10
|
||||
reqs = list(/obj/item/stack/ore/bluespace_crystal = 1,
|
||||
/obj/item/toy/crayon/blue = 1,
|
||||
/obj/item/bikehorn = 1)
|
||||
category = CAT_MISC
|
||||
|
||||
/datum/crafting_recipe/chemical_payload
|
||||
name = "Chemical Payload (C4)"
|
||||
result = /obj/item/bombcore/chemical
|
||||
@@ -686,6 +695,16 @@
|
||||
reqs = list(/obj/item/bedsheet = 1)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/briefcase
|
||||
name = "Hand made Briefcase"
|
||||
result = /obj/item/storage/briefcase/crafted
|
||||
time = 35
|
||||
tools = list(TOOL_WIRECUTTER)
|
||||
reqs = list(/obj/item/stack/sheet/cardboard = 1,
|
||||
/obj/item/stack/sheet/cloth = 2,
|
||||
/obj/item/stack/sheet/leather = 5)
|
||||
category = CAT_CLOTHING
|
||||
|
||||
/datum/crafting_recipe/aitater
|
||||
name = "intelliTater"
|
||||
result = /obj/item/aicard/aitater
|
||||
@@ -706,7 +725,7 @@
|
||||
name = "Improvised Jetpack"
|
||||
result = /obj/item/tank/jetpack/improvised
|
||||
time = 30
|
||||
reqs = list(/obj/item/tank/internals/oxygen/red = 2, /obj/item/extinguisher = 1, /obj/item/pipe = 3, /obj/item/stack/cable_coil = 30)//red oxygen tank so it looks right
|
||||
reqs = list(/obj/item/tank/internals/oxygen = 2, /obj/item/extinguisher = 1, /obj/item/pipe = 3, /obj/item/stack/cable_coil = 30)//red oxygen tank so it looks right
|
||||
category = CAT_MISC
|
||||
tools = list(TOOL_WRENCH, TOOL_WELDER, TOOL_WIRECUTTER)
|
||||
|
||||
|
||||
@@ -47,7 +47,16 @@
|
||||
"hair_dye",
|
||||
"sugar",
|
||||
"white_glitter",
|
||||
"growthserum"
|
||||
"growthserum",
|
||||
"cornoil",
|
||||
"uranium",
|
||||
"carpet",
|
||||
"firefighting_foam",
|
||||
"semen",
|
||||
"femcum",
|
||||
"tearjuice",
|
||||
"strange_reagent"
|
||||
|
||||
)
|
||||
//needs to be chemid unit checked at some point
|
||||
|
||||
@@ -58,8 +67,10 @@
|
||||
endWhen = rand(120, 180)
|
||||
for(var/obj/machinery/atmospherics/components/unary/vent_scrubber/temp_vent in GLOB.machines)
|
||||
var/turf/T = get_turf(temp_vent)
|
||||
if(T && is_station_level(T.z) && !temp_vent.welded)
|
||||
var/area/A = T.loc
|
||||
if(T && is_station_level(T.z) && !temp_vent.welded && !A.safe)
|
||||
vents += temp_vent
|
||||
|
||||
if(!vents.len)
|
||||
return kill()
|
||||
|
||||
@@ -87,8 +98,8 @@
|
||||
else
|
||||
R.add_reagent(pick(saferChems), reagentsAmount)
|
||||
|
||||
var/datum/effect_system/smoke_spread/chem/C = new
|
||||
C.set_up(R,16,T,TRUE)
|
||||
var/datum/effect_system/smoke_spread/chem/smoke_machine/C = new
|
||||
C.set_up(R,16,1,T)
|
||||
C.start()
|
||||
playsound(T, 'sound/effects/smoke.ogg', 50, 1, -3)
|
||||
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
"green" = COLOR_ASSEMBLY_GREEN,
|
||||
"light blue" = COLOR_ASSEMBLY_LBLUE,
|
||||
"blue" = COLOR_ASSEMBLY_BLUE,
|
||||
"purple" = COLOR_ASSEMBLY_PURPLE
|
||||
"purple" = COLOR_ASSEMBLY_PURPLE,
|
||||
"pink" = COLOR_ASSEMBLY_PINK,
|
||||
"custom" = COLOR_ASSEMBLY_WHITE
|
||||
)
|
||||
|
||||
/obj/item/integrated_electronics/detailer/Initialize()
|
||||
@@ -43,6 +45,9 @@
|
||||
if(!color_list[color_choice])
|
||||
return
|
||||
if(!in_range(src, user))
|
||||
return
|
||||
detail_color = color_list[color_choice]
|
||||
return
|
||||
if(color_choice == "custom")
|
||||
detail_color = input(user,"","Choose Color",detail_color) as color|null
|
||||
else
|
||||
detail_color = color_list[color_choice]
|
||||
update_icon()
|
||||
|
||||
@@ -756,7 +756,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
||||
if(!forced_colour)
|
||||
switch(S.color_src)
|
||||
if(SKINTONE)
|
||||
accessory_overlay.color = skintone2hex(H.skin_tone)
|
||||
accessory_overlay.color = "#[skintone2hex(H.skin_tone)]"
|
||||
if(MUTCOLORS)
|
||||
if(fixed_mut_color)
|
||||
accessory_overlay.color = "#[fixed_mut_color]"
|
||||
@@ -1451,7 +1451,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
||||
target.forcesay(GLOB.hit_appends)
|
||||
|
||||
/datum/species/proc/disarm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style)
|
||||
// CITADEL EDIT slap mouthy gits
|
||||
// CITADEL EDIT slap mouthy gits and booty
|
||||
var/aim_for_mouth = user.zone_selected == "mouth"
|
||||
var/target_on_help_and_unarmed = target.a_intent == INTENT_HELP && !target.get_active_held_item()
|
||||
var/target_aiming_for_mouth = target.zone_selected == "mouth"
|
||||
@@ -1461,7 +1461,22 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
||||
user.visible_message("<span class='danger'>[user] slaps [target] in the face!</span>",
|
||||
"<span class='notice'>You slap [target] in the face! </span>",\
|
||||
"You hear a slap.")
|
||||
stop_wagging_tail(target)
|
||||
if (!target.has_trait(TRAIT_NYMPHO))
|
||||
stop_wagging_tail(target)
|
||||
return FALSE
|
||||
var/aim_for_groin = user.zone_selected == "groin"
|
||||
var/target_aiming_for_groin = target.zone_selected == "groin"
|
||||
if(aim_for_groin && (target_on_help_and_unarmed || target_restrained || target_aiming_for_groin))
|
||||
playsound(target.loc, 'sound/weapons/slap.ogg', 50, 1, -1)
|
||||
user.visible_message("<span class='danger'>[user] slaps [target]'s ass!</span>",
|
||||
"<span class='notice'>You slap [target]'s ass! </span>",\
|
||||
"You hear a slap.")
|
||||
if (target.canbearoused)
|
||||
target.adjustArousalLoss(5)
|
||||
if (target.getArousalLoss() >= 100 && ishuman(target) && target.has_trait(TRAIT_NYMPHO) && target.has_dna())
|
||||
target.mob_climax(forced_climax=TRUE)
|
||||
if (!target.has_trait(TRAIT_NYMPHO))
|
||||
stop_wagging_tail(target)
|
||||
return FALSE
|
||||
else if(user.getStaminaLoss() >= STAMINA_SOFTCRIT)
|
||||
to_chat(user, "<span class='warning'>You're too exhausted.</span>")
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
id = "abductor"
|
||||
say_mod = "gibbers"
|
||||
sexes = FALSE
|
||||
species_traits = list(NOBLOOD,NOEYES)
|
||||
species_traits = list(NOBLOOD,NOEYES,NOGENITALS)
|
||||
inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_NOGUNS,TRAIT_NOHUNGER,TRAIT_NOBREATH)
|
||||
mutanttongue = /obj/item/organ/tongue/abductor
|
||||
var/scientist = FALSE // vars to not pollute spieces list with castes
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Android"
|
||||
id = "android"
|
||||
say_mod = "states"
|
||||
species_traits = list(NOBLOOD)
|
||||
species_traits = list(NOBLOOD,NOGENITALS)
|
||||
inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_NOFIRE,TRAIT_PIERCEIMMUNE,TRAIT_NOHUNGER,TRAIT_LIMBATTACHMENT)
|
||||
inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID)
|
||||
meat = null
|
||||
|
||||
@@ -15,6 +15,6 @@
|
||||
attack_sound = 'sound/weapons/resonator_blast.ogg'
|
||||
blacklisted = 1
|
||||
use_skintones = 0
|
||||
species_traits = list(NOBLOOD,EYECOLOR)
|
||||
species_traits = list(NOBLOOD,EYECOLOR,NOGENITALS)
|
||||
inherent_traits = list(TRAIT_RADIMMUNE,TRAIT_VIRUSIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER)
|
||||
sexes = 0
|
||||
@@ -2,7 +2,7 @@
|
||||
// Animated beings of stone. They have increased defenses, and do not need to breathe. They're also slow as fuuuck.
|
||||
name = "Golem"
|
||||
id = "iron golem"
|
||||
species_traits = list(NOBLOOD,MUTCOLORS,NO_UNDERWEAR)
|
||||
species_traits = list(NOBLOOD,MUTCOLORS,NO_UNDERWEAR,NOGENITALS)
|
||||
inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
|
||||
inherent_biotypes = list(MOB_INORGANIC, MOB_HUMANOID)
|
||||
mutant_organs = list(/obj/item/organ/adamantine_resonator)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
nojumpsuit = TRUE
|
||||
|
||||
say_mod = "poofs" //what does a mushroom sound like
|
||||
species_traits = list(MUTCOLORS, NOEYES, NO_UNDERWEAR)
|
||||
species_traits = list(MUTCOLORS, NOEYES, NO_UNDERWEAR,NOGENITALS)
|
||||
inherent_traits = list(TRAIT_NOBREATH)
|
||||
speedmod = 1.5 //faster than golems but not by much
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
say_mod = "rattles"
|
||||
sexes = 0
|
||||
meat = /obj/item/stack/sheet/mineral/plasma
|
||||
species_traits = list(NOBLOOD,NOTRANSSTING)
|
||||
species_traits = list(NOBLOOD,NOTRANSSTING,NOGENITALS)
|
||||
inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_RADIMMUNE,TRAIT_NOHUNGER)
|
||||
inherent_biotypes = list(MOB_INORGANIC, MOB_HUMANOID)
|
||||
mutantlungs = /obj/item/organ/lungs/plasmaman
|
||||
|
||||
@@ -12,6 +12,11 @@
|
||||
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/plant
|
||||
disliked_food = MEAT | DAIRY
|
||||
liked_food = VEGETABLES | FRUIT | GRAIN
|
||||
var/light_nutrition_gain_factor = 10
|
||||
var/light_toxheal = 1
|
||||
var/light_oxyheal = 1
|
||||
var/light_burnheal = 1
|
||||
var/light_bruteheal = 1
|
||||
|
||||
/datum/species/pod/on_species_gain(mob/living/carbon/C, datum/species/old_species)
|
||||
. = ..()
|
||||
@@ -30,13 +35,13 @@
|
||||
if(isturf(H.loc)) //else, there's considered to be no light
|
||||
var/turf/T = H.loc
|
||||
light_amount = min(1,T.get_lumcount()) - 0.5
|
||||
H.nutrition += light_amount * 10
|
||||
H.nutrition += light_amount * light_nutrition_gain_factor
|
||||
if(H.nutrition > NUTRITION_LEVEL_FULL)
|
||||
H.nutrition = NUTRITION_LEVEL_FULL
|
||||
if(light_amount > 0.2) //if there's enough light, heal
|
||||
H.heal_overall_damage(1,1)
|
||||
H.adjustToxLoss(-1)
|
||||
H.adjustOxyLoss(-1)
|
||||
H.heal_overall_damage(light_bruteheal, light_burnheal)
|
||||
H.adjustToxLoss(-light_toxheal)
|
||||
H.adjustOxyLoss(-light_oxyheal)
|
||||
|
||||
if(H.nutrition < NUTRITION_LEVEL_STARVING + 50)
|
||||
H.take_overall_damage(2,0)
|
||||
@@ -64,3 +69,11 @@
|
||||
H.show_message("<span class='userdanger'>The radiation beam singes you!</span>")
|
||||
if(/obj/item/projectile/energy/florayield)
|
||||
H.nutrition = min(H.nutrition+30, NUTRITION_LEVEL_FULL)
|
||||
|
||||
/datum/species/pod/pseudo_weak
|
||||
id = "podweak"
|
||||
limbs_id = "pod"
|
||||
light_nutrition_gain_factor = 7.5
|
||||
light_bruteheal = 0.2
|
||||
light_burnheal = 0.2
|
||||
light_toxheal = 0.7
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
burnmod = 1.5
|
||||
blacklisted = TRUE
|
||||
no_equip = list(SLOT_WEAR_MASK, SLOT_WEAR_SUIT, SLOT_GLOVES, SLOT_SHOES, SLOT_W_UNIFORM, SLOT_S_STORE)
|
||||
species_traits = list(NOBLOOD,NO_UNDERWEAR,NO_DNA_COPY,NOTRANSSTING,NOEYES)
|
||||
species_traits = list(NOBLOOD,NO_UNDERWEAR,NO_DNA_COPY,NOTRANSSTING,NOEYES,NOGENITALS)
|
||||
inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_NOBREATH,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_VIRUSIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER)
|
||||
mutanteyes = /obj/item/organ/eyes/night_vision/nightmare
|
||||
mutant_organs = list(/obj/item/organ/heart/nightmare)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
blacklisted = 1
|
||||
sexes = 0
|
||||
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton
|
||||
species_traits = list(NOBLOOD)
|
||||
species_traits = list(NOBLOOD,NOGENITALS)
|
||||
inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NOHUNGER,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT,TRAIT_FAKEDEATH)
|
||||
inherent_biotypes = list(MOB_UNDEAD, MOB_HUMANOID)
|
||||
mutanttongue = /obj/item/organ/tongue/bone
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
id = "synth"
|
||||
say_mod = "beep boops" //inherited from a user's real species
|
||||
sexes = 0
|
||||
species_traits = list(NOTRANSSTING) //all of these + whatever we inherit from the real species
|
||||
species_traits = list(NOTRANSSTING,NOGENITALS) //all of these + whatever we inherit from the real species
|
||||
inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER,TRAIT_NOBREATH)
|
||||
inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID)
|
||||
dangerous_existence = 1
|
||||
|
||||
@@ -102,20 +102,19 @@
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
var/datum/belly/B = vore_organs[vore_selected]
|
||||
if(faction != usr.faction)
|
||||
to_chat(usr,"<span class='warning'>This predator isn't friendly, and doesn't give a shit about your opinions of it digesting you.</span>")
|
||||
return
|
||||
if(B.digest_mode == "Hold")
|
||||
var/mob/living/carbon/human/user = usr
|
||||
if(!istype(user) || user.stat) return
|
||||
|
||||
if(vore_selected.digest_mode == DM_HOLD)
|
||||
var/confirm = alert(usr, "Enabling digestion on [name] will cause it to digest all stomach contents. Using this to break OOC prefs is against the rules. Digestion will disable itself after 20 minutes.", "Enabling [name]'s Digestion", "Enable", "Cancel")
|
||||
if(confirm == "Enable")
|
||||
B.digest_mode = "Digest"
|
||||
sleep(20 MINUTES) //12000=20 minutes
|
||||
B.digest_mode = "Hold"
|
||||
vore_selected.digest_mode = DM_DIGEST
|
||||
sleep(20 MINUTES)
|
||||
vore_selected.digest_mode = vore_default_mode
|
||||
else
|
||||
var/confirm = alert(usr, "This mob is currently set to digest all stomach contents. Do you want to disable this?", "Disabling [name]'s Digestion", "Disable", "Cancel")
|
||||
if(confirm == "Disable")
|
||||
B.digest_mode = "Hold"
|
||||
vore_selected.digest_mode = DM_HOLD
|
||||
|
||||
//
|
||||
// Simple nom proc for if you get ckey'd into a simple_animal mob! Avoids grabs.
|
||||
|
||||
@@ -4,12 +4,25 @@
|
||||
|
||||
if(!ninjacost(0,N_ADRENALINE))
|
||||
var/mob/living/carbon/human/H = affecting
|
||||
H.SetUnconscious(0)
|
||||
H.SetSleeping(0)
|
||||
H.SetStun(0)
|
||||
H.SetKnockdown(0)
|
||||
H.adjustStaminaLoss(-75)
|
||||
H.SetUnconscious(0)
|
||||
H.adjustStaminaLoss(-150)
|
||||
H.stuttering = 0
|
||||
H.updatehealth()
|
||||
H.update_stamina()
|
||||
H.resting = 0
|
||||
H.lying = 0
|
||||
H.update_canmove()
|
||||
|
||||
H.reagents.add_reagent("inaprovaline", 3) //let's give another chance to dumb fucks who forget to breathe
|
||||
H.reagents.add_reagent("synaptizine", 10)
|
||||
H.reagents.add_reagent("omnizine", 10)
|
||||
H.reagents.add_reagent("stimulants", 10)
|
||||
|
||||
H.say(pick("A CORNERED FOX IS MORE DANGEROUS THAN A JACKAL!","HURT ME MOOORRREEE!","IMPRESSIVE!"), forced = "ninjaboost")
|
||||
|
||||
a_boost--
|
||||
to_chat(H, "<span class='notice'>There are <B>[a_boost]</B> adrenaline boosts remaining.</span>")
|
||||
s_coold = 3
|
||||
|
||||
@@ -299,4 +299,8 @@
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/gravity/repulse, /obj/item/ammo_casing/energy/gravity/attract, /obj/item/ammo_casing/energy/gravity/chaos)
|
||||
item_state = "gravity_gun"
|
||||
icon_state = "gravity_gun"
|
||||
pin = null
|
||||
var/power = 4
|
||||
|
||||
/obj/item/gun/energy/gravity_gun/security
|
||||
pin = /obj/item/firing_pin
|
||||
|
||||
@@ -269,11 +269,11 @@
|
||||
if(C.reagent_check(R) != 1)
|
||||
if(can_overdose)
|
||||
if(R.overdose_threshold)
|
||||
if(R.volume >= R.overdose_threshold && !R.overdosed)
|
||||
if(R.volume > R.overdose_threshold && !R.overdosed)
|
||||
R.overdosed = 1
|
||||
need_mob_update += R.overdose_start(C)
|
||||
if(R.addiction_threshold)
|
||||
if(R.volume >= R.addiction_threshold && !is_type_in_list(R, cached_addictions))
|
||||
if(R.volume > R.addiction_threshold && !is_type_in_list(R, cached_addictions))
|
||||
var/datum/reagent/new_reagent = new R.type()
|
||||
cached_addictions.Add(new_reagent)
|
||||
if(R.overdosed)
|
||||
|
||||
@@ -304,13 +304,14 @@
|
||||
reagent_state = SOLID
|
||||
color = "#000067" // rgb: 0, 0, 103
|
||||
toxpwr = 0
|
||||
metabolization_rate = 1.5 * REAGENTS_METABOLISM
|
||||
metabolization_rate = 1 * REAGENTS_METABOLISM
|
||||
|
||||
/datum/reagent/toxin/chloralhydratedelayed/on_mob_life(mob/living/carbon/M)
|
||||
switch(current_cycle)
|
||||
if(10 to 20)
|
||||
M.confused += 1
|
||||
M.drowsyness += 1
|
||||
M.adjustStaminaLoss(7.5)
|
||||
if(20 to INFINITY)
|
||||
M.Sleeping(40, 0)
|
||||
..()
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
/obj/item/nutcracker
|
||||
name = "nutcracker"
|
||||
desc = "It seems quite oversized. You could probably even crush a watermelon with it."
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
icon_state = "nutcracker"
|
||||
force = 10
|
||||
flags_1 = CONDUCT_1
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
attack_verb = list("smashed", "beaten", "crushed")
|
||||
|
||||
/obj/item/nutcracker/proc/gib_head(mob/living/carbon/M)
|
||||
var/obj/item/bodypart/head = M.get_bodypart("head")
|
||||
if(!head)
|
||||
return
|
||||
|
||||
var/turf/T = get_turf(M)
|
||||
var/list/organs = M.getorganszone("head") + M.getorganszone("eyes") + M.getorganszone("mouth")
|
||||
for(var/internal_organ in organs)
|
||||
var/obj/item/organ/I = internal_organ
|
||||
I.Remove(M)
|
||||
I.forceMove(T)
|
||||
head.drop_limb()
|
||||
qdel(head)
|
||||
new M.gib_type(T,1,M.get_static_viruses())
|
||||
M.add_splatter_floor(T)
|
||||
playsound(M, 'sound/effects/splat.ogg', 50, 1)
|
||||
|
||||
//It's a bit of a clusterfuck, but if someone wants, it can be easily repurposed to work on other limbs too.
|
||||
/obj/item/nutcracker/attack(mob/living/carbon/M, mob/living/carbon/user)
|
||||
. = ..()
|
||||
var/target_zone = "head"
|
||||
var/obj/item/bodypart/target_limb = M.get_bodypart(target_zone)
|
||||
|
||||
if(!get_turf(M))
|
||||
return
|
||||
if(!istype(M))
|
||||
return
|
||||
if(M == user) //just use the suicide verb instead
|
||||
return
|
||||
if(user.zone_selected != "head")
|
||||
return
|
||||
if(!target_limb)
|
||||
to_chat(user, "<span class='notice'>[M] has no [parse_zone(target_zone)]!</span>")
|
||||
return
|
||||
if(!get_location_accessible(M, target_zone))
|
||||
to_chat(user, "<span class='notice'>Expose [M]\s head before trying to crush it!</span>")
|
||||
return
|
||||
|
||||
M.visible_message("<span class='warning'>[user] is trying to crush [M]\s head with \the [src]!</span>")
|
||||
|
||||
var/crush_time = max(0, 400 - target_limb.brute_dam*2)
|
||||
if(do_mob(user, M, crush_time))
|
||||
if(get_location_accessible(M, target_zone)) //Yes, two checks, before and after the timer. What if someone puts a helmet on the guy while you're crushing his head?
|
||||
if(target_limb)//If he still has the head. In case you queue up a lot of these up at once or the guy loses the head while you're removing it.
|
||||
M.visible_message("<span class='warning'>[M]\s head cracks like a watermelon, spilling everything inside, as it becomes an unrecognizable mess!</span>")
|
||||
gib_head(M)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Expose [M]\s head before trying to crush it!</span>")
|
||||
|
||||
|
||||
/obj/item/nutcracker/suicide_act(mob/living/carbon/user)
|
||||
var/obj/item/bodypart/target_limb = user.get_bodypart("head")
|
||||
if(target_limb) //I mean like... for example lings can be still alive without heads.
|
||||
user.visible_message("<span class='suicide'>[user] is crushing [user.p_their()] own head with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
if(do_after(user, 30))
|
||||
gib_head(user)
|
||||
else
|
||||
return
|
||||
return (BRUTELOSS)
|
||||
@@ -113,6 +113,10 @@
|
||||
if(owner)
|
||||
to_chat(owner, "<span class ='userdanger'>Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!</span>")
|
||||
|
||||
/obj/item/organ/heart/cursed/Remove(mob/living/carbon/M, special = 0)
|
||||
..()
|
||||
M.remove_client_colour(/datum/client_colour/cursed_heart_blood)
|
||||
|
||||
/datum/action/item_action/organ_action/cursed_heart
|
||||
name = "Pump your blood"
|
||||
|
||||
|
||||
@@ -988,6 +988,12 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
|
||||
item = /obj/item/storage/backpack/duffelbag/syndie/surgery
|
||||
cost = 3
|
||||
|
||||
/datum/uplink_item/device_tools/nutcracker
|
||||
name = "Nutcracker"
|
||||
desc = "An oversized version of what you'd initially expect here. Big enough to crush skulls."
|
||||
item = /obj/item/nutcracker
|
||||
cost = 1
|
||||
|
||||
/datum/uplink_item/device_tools/surgerybag_adv
|
||||
name = "Syndicate Surgery Duffel Bag"
|
||||
desc = "The Syndicate surgery duffel bag is a toolkit containing all newest surgery tools, surgical drapes, \
|
||||
@@ -1511,7 +1517,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
|
||||
cost = 15
|
||||
restricted_roles = list("Clown")
|
||||
|
||||
/datum/uplink_item/device_tools/honkpins //Idealy so they can place it into their own guns without needing cargo
|
||||
/datum/uplink_item/device_tools/honkpins //Idealy so they can place it into their own guns without needing cargo
|
||||
name = "Hilarious firing pin"
|
||||
desc = "A single firing pin made for Clown agents, this firing pin makes any gun honk when fired if not a true clown! \
|
||||
This firing pin also helps you fire the gun correctly. May the HonkMother HONK you agent."
|
||||
|
||||
+107
-107
@@ -6,114 +6,114 @@
|
||||
icon_deny = "clothes-deny"
|
||||
product_slogans = "Dress for success!;Prepare to look swagalicious!;Look at all this free swag!;Why leave style up to fate? Use the ClothesMate!"
|
||||
vend_reply = "Thank you for using the ClothesMate!"
|
||||
products = list(/obj/item/clothing/head/that = 2,
|
||||
/obj/item/clothing/head/fedora = 1,
|
||||
/obj/item/clothing/glasses/monocle = 1,
|
||||
/obj/item/clothing/suit/jacket = 2,
|
||||
/obj/item/clothing/suit/jacket/puffer/vest = 2,
|
||||
/obj/item/clothing/suit/jacket/puffer = 2,
|
||||
/obj/item/clothing/under/suit_jacket/navy = 1,
|
||||
/obj/item/clothing/under/suit_jacket/really_black = 1,
|
||||
/obj/item/clothing/under/suit_jacket/burgundy = 1,
|
||||
/obj/item/clothing/under/suit_jacket/charcoal = 1,
|
||||
/obj/item/clothing/under/suit_jacket/white = 1,
|
||||
/obj/item/clothing/under/kilt = 1,
|
||||
/obj/item/clothing/under/overalls = 1,
|
||||
/obj/item/clothing/under/sl_suit = 1,
|
||||
/obj/item/clothing/under/pants/jeans = 3,
|
||||
/obj/item/clothing/under/pants/classicjeans = 2,
|
||||
/obj/item/clothing/under/pants/camo = 1,
|
||||
/obj/item/clothing/under/pants/blackjeans = 2,
|
||||
/obj/item/clothing/under/pants/khaki = 2,
|
||||
/obj/item/clothing/under/pants/white = 2,
|
||||
/obj/item/clothing/under/pants/red = 1,
|
||||
/obj/item/clothing/under/pants/black = 2,
|
||||
/obj/item/clothing/under/pants/tan = 2,
|
||||
/obj/item/clothing/under/pants/track = 1,
|
||||
/obj/item/clothing/suit/jacket/miljacket = 1,
|
||||
/obj/item/clothing/neck/tie/blue = 1,
|
||||
/obj/item/clothing/neck/tie/red = 1,
|
||||
/obj/item/clothing/neck/tie/black = 1,
|
||||
/obj/item/clothing/neck/tie/horrible = 1,
|
||||
/obj/item/clothing/neck/scarf/pink = 1,
|
||||
/obj/item/clothing/neck/scarf/red = 1,
|
||||
/obj/item/clothing/neck/scarf/green = 1,
|
||||
/obj/item/clothing/neck/scarf/darkblue = 1,
|
||||
/obj/item/clothing/neck/scarf/purple = 1,
|
||||
/obj/item/clothing/neck/scarf/yellow = 1,
|
||||
/obj/item/clothing/neck/scarf/orange = 1,
|
||||
/obj/item/clothing/neck/scarf/cyan = 1,
|
||||
/obj/item/clothing/neck/scarf = 1,
|
||||
/obj/item/clothing/neck/scarf/black = 1,
|
||||
/obj/item/clothing/neck/scarf/zebra = 1,
|
||||
/obj/item/clothing/neck/scarf/christmas = 1,
|
||||
/obj/item/clothing/neck/stripedredscarf = 1,
|
||||
/obj/item/clothing/neck/stripedbluescarf = 1,
|
||||
/obj/item/clothing/neck/stripedgreenscarf = 1,
|
||||
/obj/item/clothing/accessory/waistcoat = 1,
|
||||
/obj/item/clothing/under/skirt/black = 1,
|
||||
/obj/item/clothing/under/skirt/blue = 1,
|
||||
/obj/item/clothing/under/skirt/red = 1,
|
||||
/obj/item/clothing/under/skirt/purple = 1,
|
||||
/obj/item/clothing/under/sundress = 2,
|
||||
/obj/item/clothing/under/stripeddress = 1,
|
||||
/obj/item/clothing/under/sailordress = 1,
|
||||
/obj/item/clothing/under/redeveninggown = 1,
|
||||
/obj/item/clothing/under/blacktango = 1,
|
||||
/obj/item/clothing/under/plaid_skirt = 1,
|
||||
/obj/item/clothing/under/plaid_skirt/blue = 1,
|
||||
/obj/item/clothing/under/plaid_skirt/purple = 1,
|
||||
/obj/item/clothing/under/plaid_skirt/green = 1,
|
||||
/obj/item/clothing/glasses/regular = 1,
|
||||
/obj/item/clothing/glasses/regular/jamjar = 1,
|
||||
/obj/item/clothing/head/sombrero = 1,
|
||||
/obj/item/clothing/suit/poncho = 1,
|
||||
/obj/item/clothing/suit/ianshirt = 1,
|
||||
/obj/item/clothing/shoes/laceup = 2,
|
||||
/obj/item/clothing/shoes/sneakers/black = 4,
|
||||
/obj/item/clothing/shoes/sandal = 1,
|
||||
/obj/item/clothing/gloves/fingerless = 2,
|
||||
/obj/item/clothing/glasses/orange = 1,
|
||||
/obj/item/clothing/glasses/red = 1,
|
||||
/obj/item/storage/belt/fannypack = 1,
|
||||
/obj/item/storage/belt/fannypack/blue = 1,
|
||||
/obj/item/storage/belt/fannypack/red = 1,
|
||||
/obj/item/clothing/suit/jacket/letterman = 2,
|
||||
/obj/item/clothing/head/beanie = 1,
|
||||
/obj/item/clothing/head/beanie/black = 1,
|
||||
/obj/item/clothing/head/beanie/red = 1,
|
||||
/obj/item/clothing/head/beanie/green = 1,
|
||||
/obj/item/clothing/head/beanie/darkblue = 1,
|
||||
/obj/item/clothing/head/beanie/purple = 1,
|
||||
/obj/item/clothing/head/beanie/yellow = 1,
|
||||
/obj/item/clothing/head/beanie/orange = 1,
|
||||
/obj/item/clothing/head/beanie/cyan = 1,
|
||||
/obj/item/clothing/head/beanie/christmas = 1,
|
||||
/obj/item/clothing/head/beanie/striped = 1,
|
||||
/obj/item/clothing/head/beanie/stripedred = 1,
|
||||
/obj/item/clothing/head/beanie/stripedblue = 1,
|
||||
/obj/item/clothing/head/beanie/stripedgreen = 1,
|
||||
/obj/item/clothing/suit/jacket/letterman_red = 1,
|
||||
products = list(/obj/item/clothing/head/that = 4,
|
||||
/obj/item/clothing/head/fedora = 3,
|
||||
/obj/item/clothing/glasses/monocle = 3,
|
||||
/obj/item/clothing/suit/jacket = 4,
|
||||
/obj/item/clothing/suit/jacket/puffer/vest = 4,
|
||||
/obj/item/clothing/suit/jacket/puffer = 4,
|
||||
/obj/item/clothing/under/suit_jacket/navy = 3,
|
||||
/obj/item/clothing/under/suit_jacket/really_black = 3,
|
||||
/obj/item/clothing/under/suit_jacket/burgundy = 3,
|
||||
/obj/item/clothing/under/suit_jacket/charcoal = 3,
|
||||
/obj/item/clothing/under/suit_jacket/white = 3,
|
||||
/obj/item/clothing/under/kilt = 3,
|
||||
/obj/item/clothing/under/overalls = 3,
|
||||
/obj/item/clothing/under/sl_suit = 3,
|
||||
/obj/item/clothing/under/pants/jeans = 5,
|
||||
/obj/item/clothing/under/pants/classicjeans = 5,
|
||||
/obj/item/clothing/under/pants/camo = 3,
|
||||
/obj/item/clothing/under/pants/blackjeans = 5,
|
||||
/obj/item/clothing/under/pants/khaki = 5,
|
||||
/obj/item/clothing/under/pants/white = 5,
|
||||
/obj/item/clothing/under/pants/red = 3,
|
||||
/obj/item/clothing/under/pants/black = 4,
|
||||
/obj/item/clothing/under/pants/tan = 4,
|
||||
/obj/item/clothing/under/pants/track = 3,
|
||||
/obj/item/clothing/suit/jacket/miljacket = 5,
|
||||
/obj/item/clothing/neck/tie/blue = 3,
|
||||
/obj/item/clothing/neck/tie/red = 3,
|
||||
/obj/item/clothing/neck/tie/black = 3,
|
||||
/obj/item/clothing/neck/tie/horrible = 5,
|
||||
/obj/item/clothing/neck/scarf/pink = 3,
|
||||
/obj/item/clothing/neck/scarf/red = 3,
|
||||
/obj/item/clothing/neck/scarf/green = 3,
|
||||
/obj/item/clothing/neck/scarf/darkblue = 3,
|
||||
/obj/item/clothing/neck/scarf/purple = 3,
|
||||
/obj/item/clothing/neck/scarf/yellow = 3,
|
||||
/obj/item/clothing/neck/scarf/orange = 3,
|
||||
/obj/item/clothing/neck/scarf/cyan = 3,
|
||||
/obj/item/clothing/neck/scarf = 3,
|
||||
/obj/item/clothing/neck/scarf/black = 3,
|
||||
/obj/item/clothing/neck/scarf/zebra = 3,
|
||||
/obj/item/clothing/neck/scarf/christmas = 3,
|
||||
/obj/item/clothing/neck/stripedredscarf = 3,
|
||||
/obj/item/clothing/neck/stripedbluescarf = 3,
|
||||
/obj/item/clothing/neck/stripedgreenscarf = 3,
|
||||
/obj/item/clothing/accessory/waistcoat = 2,
|
||||
/obj/item/clothing/under/skirt/black = 3,
|
||||
/obj/item/clothing/under/skirt/blue = 3,
|
||||
/obj/item/clothing/under/skirt/red = 3,
|
||||
/obj/item/clothing/under/skirt/purple = 3,
|
||||
/obj/item/clothing/under/sundress = 4,
|
||||
/obj/item/clothing/under/stripeddress = 3,
|
||||
/obj/item/clothing/under/sailordress = 3,
|
||||
/obj/item/clothing/under/redeveninggown = 3,
|
||||
/obj/item/clothing/under/blacktango = 3,
|
||||
/obj/item/clothing/under/plaid_skirt = 3,
|
||||
/obj/item/clothing/under/plaid_skirt/blue = 3,
|
||||
/obj/item/clothing/under/plaid_skirt/purple = 3,
|
||||
/obj/item/clothing/under/plaid_skirt/green = 3,
|
||||
/obj/item/clothing/glasses/regular = 2,
|
||||
/obj/item/clothing/glasses/regular/jamjar = 2,
|
||||
/obj/item/clothing/head/sombrero = 3,
|
||||
/obj/item/clothing/suit/poncho = 3,
|
||||
/obj/item/clothing/suit/ianshirt = 3,
|
||||
/obj/item/clothing/shoes/laceup = 5,
|
||||
/obj/item/clothing/shoes/sneakers/black = 6,
|
||||
/obj/item/clothing/shoes/sandal = 3,
|
||||
/obj/item/clothing/gloves/fingerless = 3,
|
||||
/obj/item/clothing/glasses/orange = 5,
|
||||
/obj/item/clothing/glasses/red = 5,
|
||||
/obj/item/storage/belt/fannypack = 3,
|
||||
/obj/item/storage/belt/fannypack/blue = 3,
|
||||
/obj/item/storage/belt/fannypack/red = 3,
|
||||
/obj/item/clothing/suit/jacket/letterman = 5,
|
||||
/obj/item/clothing/head/beanie = 3,
|
||||
/obj/item/clothing/head/beanie/black = 3,
|
||||
/obj/item/clothing/head/beanie/red = 3,
|
||||
/obj/item/clothing/head/beanie/green = 3,
|
||||
/obj/item/clothing/head/beanie/darkblue = 3,
|
||||
/obj/item/clothing/head/beanie/purple = 3,
|
||||
/obj/item/clothing/head/beanie/yellow = 3,
|
||||
/obj/item/clothing/head/beanie/orange = 3,
|
||||
/obj/item/clothing/head/beanie/cyan = 3,
|
||||
/obj/item/clothing/head/beanie/christmas = 3,
|
||||
/obj/item/clothing/head/beanie/striped = 3,
|
||||
/obj/item/clothing/head/beanie/stripedred = 3,
|
||||
/obj/item/clothing/head/beanie/stripedblue = 3,
|
||||
/obj/item/clothing/head/beanie/stripedgreen = 3,
|
||||
/obj/item/clothing/suit/jacket/letterman_red = 3,
|
||||
/obj/item/clothing/ears/headphones = 10,
|
||||
/obj/item/clothing/suit/apron/purple_bartender = 2,
|
||||
/obj/item/clothing/under/rank/bartender/purple = 2)
|
||||
contraband = list(/obj/item/clothing/under/syndicate/tacticool = 1,
|
||||
/obj/item/clothing/mask/balaclava = 1,
|
||||
/obj/item/clothing/head/ushanka = 1,
|
||||
/obj/item/clothing/under/soviet = 1,
|
||||
/obj/item/storage/belt/fannypack/black = 2,
|
||||
/obj/item/clothing/suit/jacket/letterman_syndie = 1,
|
||||
/obj/item/clothing/under/jabroni = 1,
|
||||
/obj/item/clothing/suit/vapeshirt = 1,
|
||||
/obj/item/clothing/under/geisha = 1)
|
||||
premium = list(/obj/item/clothing/under/suit_jacket/checkered = 1,
|
||||
/obj/item/clothing/head/mailman = 1,
|
||||
/obj/item/clothing/under/rank/mailman = 1,
|
||||
/obj/item/clothing/suit/jacket/leather = 1,
|
||||
/obj/item/clothing/suit/jacket/leather/overcoat = 1,
|
||||
/obj/item/clothing/under/pants/mustangjeans = 1,
|
||||
/obj/item/clothing/neck/necklace/dope = 3,
|
||||
/obj/item/clothing/suit/jacket/letterman_nanotrasen = 1)
|
||||
/obj/item/clothing/suit/apron/purple_bartender = 4,
|
||||
/obj/item/clothing/under/rank/bartender/purple = 4)
|
||||
contraband = list(/obj/item/clothing/under/syndicate/tacticool = 3,
|
||||
/obj/item/clothing/mask/balaclava = 3,
|
||||
/obj/item/clothing/head/ushanka = 3,
|
||||
/obj/item/clothing/under/soviet = 3,
|
||||
/obj/item/storage/belt/fannypack/black = 3,
|
||||
/obj/item/clothing/suit/jacket/letterman_syndie = 5,
|
||||
/obj/item/clothing/under/jabroni = 2,
|
||||
/obj/item/clothing/suit/vapeshirt = 2,
|
||||
/obj/item/clothing/under/geisha = 4)
|
||||
premium = list(/obj/item/clothing/under/suit_jacket/checkered = 4,
|
||||
/obj/item/clothing/head/mailman = 2,
|
||||
/obj/item/clothing/under/rank/mailman = 2,
|
||||
/obj/item/clothing/suit/jacket/leather = 4,
|
||||
/obj/item/clothing/suit/jacket/leather/overcoat = 4,
|
||||
/obj/item/clothing/under/pants/mustangjeans = 3,
|
||||
/obj/item/clothing/neck/necklace/dope = 5,
|
||||
/obj/item/clothing/suit/jacket/letterman_nanotrasen = 5)
|
||||
refill_canister = /obj/item/vending_refill/clothing
|
||||
|
||||
/obj/item/vending_refill/clothing
|
||||
|
||||
+145
-145
@@ -7,21 +7,21 @@
|
||||
icon_state = "secdrobe"
|
||||
product_ads = "Beat perps in style!;It's red so you can't see the blood!;You have the right to be fashionable!;Now you can be the fashion police you always wanted to be!"
|
||||
vend_reply = "Thank you for using the SecDrobe!"
|
||||
products = list(/obj/item/clothing/suit/hooded/wintercoat/security = 1,
|
||||
/obj/item/storage/backpack/security = 1,
|
||||
/obj/item/storage/backpack/satchel/sec = 1,
|
||||
/obj/item/storage/backpack/duffelbag/sec = 2,
|
||||
/obj/item/clothing/under/rank/security = 3,
|
||||
/obj/item/clothing/shoes/jackboots = 3,
|
||||
/obj/item/clothing/head/beret/sec = 3,
|
||||
/obj/item/clothing/head/soft/sec = 3,
|
||||
/obj/item/clothing/mask/bandana/red = 3,
|
||||
/obj/item/clothing/under/rank/security/skirt = 3,
|
||||
/obj/item/clothing/under/rank/security/grey = 3,
|
||||
/obj/item/clothing/under/pants/khaki = 3)
|
||||
premium = list(/obj/item/clothing/under/rank/security/navyblue = 3,
|
||||
/obj/item/clothing/suit/security/officer = 3,
|
||||
/obj/item/clothing/head/beret/sec/navyofficer = 3)
|
||||
products = list(/obj/item/clothing/suit/hooded/wintercoat/security = 2,
|
||||
/obj/item/storage/backpack/security = 2,
|
||||
/obj/item/storage/backpack/satchel/sec = 2,
|
||||
/obj/item/storage/backpack/duffelbag/sec = 3,
|
||||
/obj/item/clothing/under/rank/security = 5,
|
||||
/obj/item/clothing/shoes/jackboots = 5,
|
||||
/obj/item/clothing/head/beret/sec =5,
|
||||
/obj/item/clothing/head/soft/sec = 5,
|
||||
/obj/item/clothing/mask/bandana/red = 5,
|
||||
/obj/item/clothing/under/rank/security/skirt = 5,
|
||||
/obj/item/clothing/under/rank/security/grey = 5,
|
||||
/obj/item/clothing/under/pants/khaki = 5)
|
||||
premium = list(/obj/item/clothing/under/rank/security/navyblue = 5,
|
||||
/obj/item/clothing/suit/security/officer = 5,
|
||||
/obj/item/clothing/head/beret/sec/navyofficer = 5)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/sec_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/sec_wardrobe
|
||||
@@ -33,23 +33,23 @@
|
||||
icon_state = "medidrobe"
|
||||
product_ads = "Make those blood stains look fashionable!!"
|
||||
vend_reply = "Thank you for using the MediDrobe!"
|
||||
products = list(/obj/item/clothing/accessory/pocketprotector = 1,
|
||||
/obj/item/storage/backpack/duffelbag/med = 1,
|
||||
/obj/item/storage/backpack/medic = 1,
|
||||
/obj/item/storage/backpack/satchel/med = 1,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/medical = 1,
|
||||
/obj/item/clothing/under/rank/nursesuit = 1,
|
||||
/obj/item/clothing/head/nursehat = 1,
|
||||
/obj/item/clothing/under/rank/medical/blue = 1,
|
||||
/obj/item/clothing/under/rank/medical/green = 1,
|
||||
/obj/item/clothing/under/rank/medical/purple = 1,
|
||||
/obj/item/clothing/under/rank/medical = 3,
|
||||
/obj/item/clothing/suit/toggle/labcoat = 3,
|
||||
/obj/item/clothing/suit/toggle/labcoat/emt = 3,
|
||||
/obj/item/clothing/shoes/sneakers/white = 3,
|
||||
/obj/item/clothing/head/soft/emt = 3,
|
||||
/obj/item/clothing/suit/apron/surgical = 1,
|
||||
/obj/item/clothing/mask/surgical = 1)
|
||||
products = list(/obj/item/clothing/accessory/pocketprotector = 3,
|
||||
/obj/item/storage/backpack/duffelbag/med = 3,
|
||||
/obj/item/storage/backpack/medic = 3,
|
||||
/obj/item/storage/backpack/satchel/med = 3,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/medical = 3,
|
||||
/obj/item/clothing/under/rank/nursesuit = 3,
|
||||
/obj/item/clothing/head/nursehat = 3,
|
||||
/obj/item/clothing/under/rank/medical/blue = 2,
|
||||
/obj/item/clothing/under/rank/medical/green = 2,
|
||||
/obj/item/clothing/under/rank/medical/purple = 2,
|
||||
/obj/item/clothing/under/rank/medical = 5,
|
||||
/obj/item/clothing/suit/toggle/labcoat = 5,
|
||||
/obj/item/clothing/suit/toggle/labcoat/emt = 5,
|
||||
/obj/item/clothing/shoes/sneakers/white = 5,
|
||||
/obj/item/clothing/head/soft/emt = 5,
|
||||
/obj/item/clothing/suit/apron/surgical = 3,
|
||||
/obj/item/clothing/mask/surgical = 5)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/medi_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/medi_wardrobe
|
||||
@@ -61,15 +61,15 @@
|
||||
icon_state = "engidrobe"
|
||||
product_ads = "Guaranteed to protect your feet from industrial accidents!;Afraid of radiation? Then wear yellow!"
|
||||
vend_reply = "Thank you for using the EngiDrobe!"
|
||||
products = list(/obj/item/clothing/accessory/pocketprotector = 1,
|
||||
/obj/item/storage/backpack/duffelbag/engineering = 1,
|
||||
/obj/item/storage/backpack/industrial = 1,
|
||||
/obj/item/storage/backpack/satchel/eng = 1,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/engineering = 1,
|
||||
/obj/item/clothing/under/rank/engineer = 3,
|
||||
/obj/item/clothing/suit/hazardvest = 3,
|
||||
/obj/item/clothing/shoes/workboots = 3,
|
||||
/obj/item/clothing/head/hardhat = 3)
|
||||
products = list(/obj/item/clothing/accessory/pocketprotector = 5,
|
||||
/obj/item/storage/backpack/duffelbag/engineering = 2,
|
||||
/obj/item/storage/backpack/industrial = 3,
|
||||
/obj/item/storage/backpack/satchel/eng = 3,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/engineering = 3,
|
||||
/obj/item/clothing/under/rank/engineer = 5,
|
||||
/obj/item/clothing/suit/hazardvest = 5,
|
||||
/obj/item/clothing/shoes/workboots = 5,
|
||||
/obj/item/clothing/head/hardhat = 5)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/engi_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/engi_wardrobe
|
||||
@@ -81,13 +81,13 @@
|
||||
icon_state = "atmosdrobe"
|
||||
product_ads = "Get your inflammable clothing right here!!!"
|
||||
vend_reply = "Thank you for using the AtmosDrobe!"
|
||||
products = list(/obj/item/clothing/accessory/pocketprotector = 1,
|
||||
/obj/item/storage/backpack/duffelbag/engineering = 1,
|
||||
/obj/item/storage/backpack/satchel/eng = 1,
|
||||
/obj/item/storage/backpack/industrial = 1,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 3,
|
||||
/obj/item/clothing/under/rank/atmospheric_technician = 3,
|
||||
/obj/item/clothing/shoes/sneakers/black = 3)
|
||||
products = list(/obj/item/clothing/accessory/pocketprotector = 3,
|
||||
/obj/item/storage/backpack/duffelbag/engineering = 3,
|
||||
/obj/item/storage/backpack/satchel/eng = 3,
|
||||
/obj/item/storage/backpack/industrial = 3,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 5,
|
||||
/obj/item/clothing/under/rank/atmospheric_technician = 5,
|
||||
/obj/item/clothing/shoes/sneakers/black = 5)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/atmos_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/atmos_wardrobe
|
||||
@@ -99,12 +99,12 @@
|
||||
icon_state = "cargodrobe"
|
||||
product_ads = "Upgraded Assistant Style! Pick yours today!;These shorts are comfy and easy to wear, get yours now!"
|
||||
vend_reply = "Thank you for using the CargoDrobe!"
|
||||
products = list(/obj/item/clothing/suit/hooded/wintercoat/cargo = 1,
|
||||
/obj/item/clothing/under/rank/cargotech = 3,
|
||||
/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 = 1)
|
||||
products = list(/obj/item/clothing/suit/hooded/wintercoat/cargo = 3,
|
||||
/obj/item/clothing/under/rank/cargotech = 5,
|
||||
/obj/item/clothing/shoes/sneakers/black = 5,
|
||||
/obj/item/clothing/gloves/fingerless = 5,
|
||||
/obj/item/clothing/head/soft = 5,
|
||||
/obj/item/radio/headset/headset_cargo = 3)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/cargo_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/cargo_wardrobe
|
||||
@@ -116,13 +116,13 @@
|
||||
icon_state = "robodrobe"
|
||||
product_ads = "You turn me TRUE, use defines!;0110001101101100011011110111010001101000011001010111001101101000011001010111001001100101"
|
||||
vend_reply = "Thank you for using the RoboDrobe!"
|
||||
products = list(/obj/item/clothing/glasses/hud/diagnostic = 2,
|
||||
/obj/item/clothing/under/rank/roboticist = 2,
|
||||
/obj/item/clothing/suit/toggle/labcoat = 2,
|
||||
/obj/item/clothing/shoes/sneakers/black = 2,
|
||||
/obj/item/clothing/gloves/fingerless = 2,
|
||||
/obj/item/clothing/head/soft/black = 2,
|
||||
/obj/item/clothing/mask/bandana/skull = 1)
|
||||
products = list(/obj/item/clothing/glasses/hud/diagnostic = 3,
|
||||
/obj/item/clothing/under/rank/roboticist = 3,
|
||||
/obj/item/clothing/suit/toggle/labcoat = 3,
|
||||
/obj/item/clothing/shoes/sneakers/black = 3,
|
||||
/obj/item/clothing/gloves/fingerless = 3,
|
||||
/obj/item/clothing/head/soft/black = 3,
|
||||
/obj/item/clothing/mask/bandana/skull = 2)
|
||||
premium = list(/obj/item/radio/headset/headset_rob = 2) //Cit change
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/robo_wardrobe
|
||||
|
||||
@@ -135,15 +135,15 @@
|
||||
icon_state = "scidrobe"
|
||||
product_ads = "Longing for the smell of flesh plasma? Buy your science clothing now!;Made with 10% Auxetics, so you don't have to worry losing your arm!"
|
||||
vend_reply = "Thank you for using the SciDrobe!"
|
||||
products = list(/obj/item/clothing/accessory/pocketprotector = 1,
|
||||
/obj/item/storage/backpack/science = 2,
|
||||
/obj/item/storage/backpack/satchel/tox = 2,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/science = 1,
|
||||
/obj/item/clothing/under/rank/scientist = 3,
|
||||
/obj/item/clothing/suit/toggle/labcoat/science = 3,
|
||||
/obj/item/clothing/shoes/sneakers/white = 3,
|
||||
/obj/item/radio/headset/headset_sci = 2,
|
||||
/obj/item/clothing/mask/gas = 3)
|
||||
products = list(/obj/item/clothing/accessory/pocketprotector = 5,
|
||||
/obj/item/storage/backpack/science = 3,
|
||||
/obj/item/storage/backpack/satchel/tox = 3,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/science = 3,
|
||||
/obj/item/clothing/under/rank/scientist = 4,
|
||||
/obj/item/clothing/suit/toggle/labcoat/science = 4,
|
||||
/obj/item/clothing/shoes/sneakers/white = 4,
|
||||
/obj/item/radio/headset/headset_sci = 4,
|
||||
/obj/item/clothing/mask/gas = 5)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/science_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/science_wardrobe
|
||||
@@ -155,13 +155,13 @@
|
||||
icon_state = "hydrobe"
|
||||
product_ads = "Do you love soil? Then buy our clothes!;Get outfits to match your green thumb here!"
|
||||
vend_reply = "Thank you for using the Hydrobe!"
|
||||
products = list(/obj/item/storage/backpack/botany = 2,
|
||||
/obj/item/storage/backpack/satchel/hyd = 2,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/hydro = 1,
|
||||
/obj/item/clothing/suit/apron = 2,
|
||||
/obj/item/clothing/suit/apron/overalls = 3,
|
||||
/obj/item/clothing/under/rank/hydroponics = 3,
|
||||
/obj/item/clothing/mask/bandana = 3)
|
||||
products = list(/obj/item/storage/backpack/botany = 3,
|
||||
/obj/item/storage/backpack/satchel/hyd = 3,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/hydro = 2,
|
||||
/obj/item/clothing/suit/apron = 3,
|
||||
/obj/item/clothing/suit/apron/overalls = 5,
|
||||
/obj/item/clothing/under/rank/hydroponics = 5,
|
||||
/obj/item/clothing/mask/bandana = 4)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/hydro_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/hydro_wardrobe
|
||||
@@ -173,12 +173,12 @@
|
||||
icon_state = "curadrobe"
|
||||
product_ads = "Our clothes are endorsed by treasure hunters everywhere!"
|
||||
vend_reply = "Thank you for using the CuraDrobe!"
|
||||
products = list(/obj/item/clothing/head/fedora/curator = 1,
|
||||
/obj/item/clothing/suit/curator = 1,
|
||||
/obj/item/clothing/under/rank/curator/treasure_hunter = 1,
|
||||
/obj/item/clothing/shoes/workboots/mining = 1,
|
||||
/obj/item/storage/backpack/satchel/explorer = 1,
|
||||
/obj/item/storage/bag/books = 1)
|
||||
products = list(/obj/item/clothing/head/fedora/curator = 2,
|
||||
/obj/item/clothing/suit/curator = 2,
|
||||
/obj/item/clothing/under/rank/curator/treasure_hunter = 2,
|
||||
/obj/item/clothing/shoes/workboots/mining = 2,
|
||||
/obj/item/storage/backpack/satchel/explorer = 2,
|
||||
/obj/item/storage/bag/books = 2)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/curator_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/curator_wardrobe
|
||||
@@ -190,21 +190,21 @@
|
||||
icon_state = "bardrobe"
|
||||
product_ads = "Guaranteed to prevent stains from spilled drinks!"
|
||||
vend_reply = "Thank you for using the BarDrobe!"
|
||||
products = list(/obj/item/clothing/head/that = 2,
|
||||
/obj/item/radio/headset/headset_srv = 2,
|
||||
/obj/item/clothing/under/sl_suit = 2,
|
||||
/obj/item/clothing/under/rank/bartender = 2,
|
||||
/obj/item/clothing/under/rank/bartender/purple = 1,
|
||||
/obj/item/clothing/accessory/waistcoat = 2,
|
||||
/obj/item/clothing/suit/apron/purple_bartender = 1,
|
||||
/obj/item/clothing/head/soft/black = 2,
|
||||
/obj/item/clothing/shoes/sneakers/black = 2,
|
||||
/obj/item/reagent_containers/glass/rag = 2,
|
||||
products = list(/obj/item/clothing/head/that = 3,
|
||||
/obj/item/radio/headset/headset_srv = 3,
|
||||
/obj/item/clothing/under/sl_suit = 3,
|
||||
/obj/item/clothing/under/rank/bartender = 3,
|
||||
/obj/item/clothing/under/rank/bartender/purple = 2,
|
||||
/obj/item/clothing/accessory/waistcoat = 3,
|
||||
/obj/item/clothing/suit/apron/purple_bartender = 2,
|
||||
/obj/item/clothing/head/soft/black = 4,
|
||||
/obj/item/clothing/shoes/sneakers/black = 4,
|
||||
/obj/item/reagent_containers/glass/rag = 4,
|
||||
/obj/item/storage/box/beanbag = 1,
|
||||
/obj/item/clothing/suit/armor/vest/alt = 1,
|
||||
/obj/item/circuitboard/machine/dish_drive = 1,
|
||||
/obj/item/clothing/glasses/sunglasses/reagent = 1,
|
||||
/obj/item/clothing/neck/petcollar = 1,
|
||||
/obj/item/clothing/neck/petcollar = 3,
|
||||
/obj/item/storage/belt/bandolier = 1)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/bar_wardrobe
|
||||
|
||||
@@ -217,17 +217,17 @@
|
||||
icon_state = "chefdrobe"
|
||||
product_ads = "Our clothes are guaranteed to protect you from food splatters!"
|
||||
vend_reply = "Thank you for using the ChefDrobe!"
|
||||
products = list(/obj/item/clothing/under/waiter = 2,
|
||||
/obj/item/radio/headset/headset_srv = 2,
|
||||
/obj/item/clothing/accessory/waistcoat = 2,
|
||||
products = list(/obj/item/clothing/under/waiter = 3,
|
||||
/obj/item/radio/headset/headset_srv = 4,
|
||||
/obj/item/clothing/accessory/waistcoat = 3,
|
||||
/obj/item/clothing/suit/apron/chef = 3,
|
||||
/obj/item/clothing/head/soft/mime = 2,
|
||||
/obj/item/storage/box/mousetraps = 2,
|
||||
/obj/item/circuitboard/machine/dish_drive = 1,
|
||||
/obj/item/clothing/suit/toggle/chef = 1,
|
||||
/obj/item/clothing/under/rank/chef = 1,
|
||||
/obj/item/clothing/head/chefhat = 1,
|
||||
/obj/item/reagent_containers/glass/rag = 1)
|
||||
/obj/item/clothing/suit/toggle/chef = 2,
|
||||
/obj/item/clothing/under/rank/chef = 2,
|
||||
/obj/item/clothing/head/chefhat = 2,
|
||||
/obj/item/reagent_containers/glass/rag = 3)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/chef_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/chef_wardrobe
|
||||
@@ -239,21 +239,21 @@
|
||||
icon_state = "janidrobe"
|
||||
product_ads = "Come and get your janitorial clothing, now endorsed by lizard janitors everywhere!"
|
||||
vend_reply = "Thank you for using the JaniDrobe!"
|
||||
products = list(/obj/item/clothing/under/rank/janitor = 1,
|
||||
/obj/item/cartridge/janitor = 1,
|
||||
/obj/item/clothing/gloves/color/black = 1,
|
||||
/obj/item/clothing/head/soft/purple = 1,
|
||||
/obj/item/paint/paint_remover = 1,
|
||||
products = list(/obj/item/clothing/under/rank/janitor = 2,
|
||||
/obj/item/cartridge/janitor = 3,
|
||||
/obj/item/clothing/gloves/color/black = 2,
|
||||
/obj/item/clothing/head/soft/purple = 2,
|
||||
/obj/item/paint/paint_remover = 2,
|
||||
/obj/item/melee/flyswatter = 1,
|
||||
/obj/item/flashlight = 1,
|
||||
/obj/item/caution = 6,
|
||||
/obj/item/flashlight = 2,
|
||||
/obj/item/caution = 8,
|
||||
/obj/item/holosign_creator = 1,
|
||||
/obj/item/lightreplacer = 1,
|
||||
/obj/item/soap = 1,
|
||||
/obj/item/storage/bag/trash = 1,
|
||||
/obj/item/clothing/shoes/galoshes = 1,
|
||||
/obj/item/watertank/janitor = 1,
|
||||
/obj/item/storage/belt/janitor = 1)
|
||||
/obj/item/storage/belt/janitor = 2)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/jani_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/jani_wardrobe
|
||||
@@ -265,17 +265,17 @@
|
||||
icon_state = "lawdrobe"
|
||||
product_ads = "OBJECTION! Get the rule of law for yourself!"
|
||||
vend_reply = "Thank you for using the LawDrobe!"
|
||||
products = list(/obj/item/clothing/under/lawyer/female = 1,
|
||||
/obj/item/clothing/under/lawyer/black = 1,
|
||||
/obj/item/clothing/under/lawyer/red = 1,
|
||||
/obj/item/clothing/under/lawyer/bluesuit = 1,
|
||||
/obj/item/clothing/suit/toggle/lawyer = 1,
|
||||
/obj/item/clothing/under/lawyer/purpsuit = 1,
|
||||
/obj/item/clothing/suit/toggle/lawyer/purple = 1,
|
||||
/obj/item/clothing/under/lawyer/blacksuit = 1,
|
||||
/obj/item/clothing/suit/toggle/lawyer/black = 1,
|
||||
/obj/item/clothing/shoes/laceup = 2,
|
||||
/obj/item/clothing/accessory/lawyers_badge = 2)
|
||||
products = list(/obj/item/clothing/under/lawyer/female = 3,
|
||||
/obj/item/clothing/under/lawyer/black = 3,
|
||||
/obj/item/clothing/under/lawyer/red = 3,
|
||||
/obj/item/clothing/under/lawyer/bluesuit = 3,
|
||||
/obj/item/clothing/suit/toggle/lawyer = 3,
|
||||
/obj/item/clothing/under/lawyer/purpsuit = 3,
|
||||
/obj/item/clothing/suit/toggle/lawyer/purple = 3,
|
||||
/obj/item/clothing/under/lawyer/blacksuit = 3,
|
||||
/obj/item/clothing/suit/toggle/lawyer/black = 3,
|
||||
/obj/item/clothing/shoes/laceup = 3,
|
||||
/obj/item/clothing/accessory/lawyers_badge = 3)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/law_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/law_wardrobe
|
||||
@@ -288,14 +288,14 @@
|
||||
product_ads = "Are you being bothered by cultists or pesky revenants? Then come and dress like the holy man!;Clothes for men of the cloth!"
|
||||
vend_reply = "Thank you for using the ChapDrobe!"
|
||||
products = list(/obj/item/holybeacon = 1,
|
||||
/obj/item/storage/backpack/cultpack = 1,
|
||||
/obj/item/clothing/accessory/pocketprotector/cosmetology = 1,
|
||||
/obj/item/clothing/under/rank/chaplain = 1,
|
||||
/obj/item/clothing/shoes/sneakers/black = 1,
|
||||
/obj/item/clothing/suit/nun = 1,
|
||||
/obj/item/clothing/head/nun_hood = 1,
|
||||
/obj/item/clothing/suit/holidaypriest = 1,
|
||||
/obj/item/storage/fancy/candle_box = 2)
|
||||
/obj/item/storage/backpack/cultpack = 2,
|
||||
/obj/item/clothing/accessory/pocketprotector/cosmetology = 2,
|
||||
/obj/item/clothing/under/rank/chaplain = 2,
|
||||
/obj/item/clothing/shoes/sneakers/black = 2,
|
||||
/obj/item/clothing/suit/nun = 2,
|
||||
/obj/item/clothing/head/nun_hood = 2,
|
||||
/obj/item/clothing/suit/holidaypriest = 2,
|
||||
/obj/item/storage/fancy/candle_box = 3)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/chap_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/chap_wardrobe
|
||||
@@ -307,12 +307,12 @@
|
||||
icon_state = "chemdrobe"
|
||||
product_ads = "Our clothes are 0.5% more resistant to acid spills! Get yours now!"
|
||||
vend_reply = "Thank you for using the ChemDrobe!"
|
||||
products = list(/obj/item/clothing/under/rank/chemist = 2,
|
||||
/obj/item/clothing/shoes/sneakers/white = 2,
|
||||
/obj/item/clothing/suit/toggle/labcoat/chemist = 2,
|
||||
/obj/item/storage/backpack/chemistry = 2,
|
||||
/obj/item/storage/backpack/satchel/chem = 2,
|
||||
/obj/item/storage/bag/chemistry = 2)
|
||||
products = list(/obj/item/clothing/under/rank/chemist = 3,
|
||||
/obj/item/clothing/shoes/sneakers/white = 3,
|
||||
/obj/item/clothing/suit/toggle/labcoat/chemist = 3,
|
||||
/obj/item/storage/backpack/chemistry = 3,
|
||||
/obj/item/storage/backpack/satchel/chem = 3,
|
||||
/obj/item/storage/bag/chemistry = 3)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/chem_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/chem_wardrobe
|
||||
@@ -324,11 +324,11 @@
|
||||
icon_state = "genedrobe"
|
||||
product_ads = "Perfect for the mad scientist in you!"
|
||||
vend_reply = "Thank you for using the GeneDrobe!"
|
||||
products = list(/obj/item/clothing/under/rank/geneticist = 2,
|
||||
/obj/item/clothing/shoes/sneakers/white = 2,
|
||||
/obj/item/clothing/suit/toggle/labcoat/genetics = 2,
|
||||
/obj/item/storage/backpack/genetics = 2,
|
||||
/obj/item/storage/backpack/satchel/gen = 2)
|
||||
products = list(/obj/item/clothing/under/rank/geneticist = 3,
|
||||
/obj/item/clothing/shoes/sneakers/white = 3,
|
||||
/obj/item/clothing/suit/toggle/labcoat/genetics = 3,
|
||||
/obj/item/storage/backpack/genetics = 3,
|
||||
/obj/item/storage/backpack/satchel/gen = 3)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/gene_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/gene_wardrobe
|
||||
@@ -340,12 +340,12 @@
|
||||
icon_state = "virodrobe"
|
||||
product_ads = " Viruses getting you down? Then upgrade to sterilized clothing today!"
|
||||
vend_reply = "Thank you for using the ViroDrobe"
|
||||
products = list(/obj/item/clothing/under/rank/virologist = 2,
|
||||
/obj/item/clothing/shoes/sneakers/white = 2,
|
||||
/obj/item/clothing/suit/toggle/labcoat/virologist = 2,
|
||||
/obj/item/clothing/mask/surgical = 2,
|
||||
/obj/item/storage/backpack/virology = 2,
|
||||
/obj/item/storage/backpack/satchel/vir = 2)
|
||||
products = list(/obj/item/clothing/under/rank/virologist = 3,
|
||||
/obj/item/clothing/shoes/sneakers/white = 3,
|
||||
/obj/item/clothing/suit/toggle/labcoat/virologist = 3,
|
||||
/obj/item/clothing/mask/surgical = 3,
|
||||
/obj/item/storage/backpack/virology = 3,
|
||||
/obj/item/storage/backpack/satchel/vir = 3)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/viro_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/viro_wardrobe
|
||||
|
||||
Reference in New Issue
Block a user