Merge remote-tracking branch 'refs/remotes/Citadel-Station-13/master' into syntheticbloods

This commit is contained in:
Poojawa
2019-05-09 03:08:54 -05:00
50 changed files with 371 additions and 176 deletions
@@ -217,3 +217,7 @@
/proc/_step_away(ref, trg, max)
step_away(ref, trg, max)
/proc/_instantiate_at(thing, location)
new thing(location)
@@ -8,7 +8,7 @@
explosion_block = 3
point_return = 4
atmosblock = TRUE
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90)
armor = list("melee" = 25, "bullet" = 25, "laser" = 15, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90)
/obj/structure/blob/shield/scannerreport()
if(atmosblock)
@@ -20,11 +20,12 @@
/obj/structure/blob/shield/update_icon()
..()
if(obj_integrity <= 75)
if(obj_integrity <= 70)
icon_state = "blob_shield_damaged"
name = "weakened strong blob"
desc = "A wall of twitching tendrils."
atmosblock = FALSE
armor = list("melee" = 15, "bullet" = 15, "laser" = 5, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90)
else
icon_state = initial(icon_state)
name = initial(name)
+1 -1
View File
@@ -1699,7 +1699,7 @@
/obj/item/t_scanner/adv_mining_scanner/lesser,
/obj/item/radio/headset/headset_cargo/mining,
/obj/item/storage/bag/ore,
/obj/item/clothing/suit/hooded/explorer,
/obj/item/clothing/suit/hooded/explorer/standard,
/obj/item/clothing/mask/gas/explorer)
crate_name = "shaft miner starter kit"
crate_type = /obj/structure/closet/crate/secure
+81 -9
View File
@@ -75,10 +75,76 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/eye_color = "000" //Eye color
var/datum/species/pref_species = new /datum/species/human() //Mutant race
var/list/features = list("mcolor" = "FFF",
"tail_lizard" = "Smooth", "tail_human" = "Cat",
"snout" = "Round", "horns" = "None", "ears" = "Cat",
"wings" = "None", "frills" = "None", "spines" = "None",
"body_markings" = "None", "legs" = "Normal Legs", "moth_wings" = "Plain")
"tail_lizard" = "Smooth",
"tail_human" = "None",
"snout" = "Round",
"horns" = "None",
"ears" = "None",
"wings" = "None",
"frills" = "None",
"spines" = "None",
"body_markings" = "None",
"legs" = "Normal Legs",
"moth_wings" = "Plain",
"mcolor2" = "FFF",
"mcolor3" = "FFF",
"mam_body_markings" = "Plain",
"mam_ears" = "None",
"mam_snouts" = "None",
"mam_tail" = "None",
"mam_tail_animated" = "None",
"xenodorsal" = "Standard",
"xenohead" = "Standard",
"xenotail" = "Xenomorph Tail",
"taur" = "None",
"exhibitionist" = FALSE,
"genitals_use_skintone" = FALSE,
"has_cock" = FALSE,
"cock_shape" = "Human",
"cock_length" = 6,
"cock_girth_ratio" = COCK_GIRTH_RATIO_DEF,
"cock_color" = "fff",
"has_sheath" = FALSE,
"sheath_color" = "fff",
"has_balls" = FALSE,
"balls_internal" = FALSE,
"balls_color" = "fff",
"balls_amount" = 2,
"balls_sack_size" = BALLS_SACK_SIZE_DEF,
"balls_size" = BALLS_SIZE_DEF,
"balls_cum_rate" = CUM_RATE,
"balls_cum_mult" = CUM_RATE_MULT,
"balls_efficiency" = CUM_EFFICIENCY,
"balls_fluid" = "semen",
"has_ovi" = FALSE,
"ovi_shape" = "knotted",
"ovi_length" = 6,
"ovi_color" = "fff",
"has_eggsack" = FALSE,
"eggsack_internal" = TRUE,
"eggsack_color" = "fff",
"eggsack_size" = BALLS_SACK_SIZE_DEF,
"eggsack_egg_color" = "fff",
"eggsack_egg_size" = EGG_GIRTH_DEF,
"has_breasts" = FALSE,
"breasts_color" = "fff",
"breasts_size" = "C",
"breasts_shape" = "Pair",
"breasts_fluid" = "milk",
"has_vag" = FALSE,
"vag_shape" = "Human",
"vag_color" = "fff",
"vag_clits" = 1,
"vag_clit_diam" = 0.25,
"has_womb" = FALSE,
"womb_cum_rate" = CUM_RATE,
"womb_cum_mult" = CUM_RATE_MULT,
"womb_efficiency" = CUM_EFFICIENCY,
"womb_fluid" = "femcum",
"ipc_screen" = "Sunburst",
"ipc_antenna" = "None",
"flavor_text" = ""
)
var/list/custom_names = list()
var/prefered_security_department = SEC_DEPT_RANDOM
@@ -842,9 +908,14 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<td width = 5% style='vertical-align:top'>[gear.cost]</td><td>"
if(islist(gear.restricted_roles))
if(gear.restricted_roles.len)
dat += "<font size=2>"
dat += gear.restricted_roles.Join(";")
dat += "</font>"
if(gear.restricted_desc)
dat += "<font size=2>"
dat += gear.restricted_desc
dat += "</font>"
else
dat += "<font size=2>"
dat += gear.restricted_roles.Join(";")
dat += "</font>"
dat += "</td><td><font size=2><i>[gear.description]</i></font></td></tr>"
dat += "</table>"
@@ -1463,8 +1534,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["body_markings"] = "None"
if(!("mam_body_markings" in pref_species.default_features))
features["mam_body_markings"] = "None"
if("mam_body_markings" in pref_species.default_features && features["mam_body_markings"] == "None")
features["mam_body_markings"] = "Plain"
if("mam_body_markings" in pref_species.default_features)
if(features["mam_body_markings"] == "None")
features["mam_body_markings"] = "Plain"
if("tail_lizard" in pref_species.default_features)
features["tail_lizard"] = "Smooth"
if(pref_species.id == "felinid")
@@ -443,7 +443,6 @@
icon_state = "hardsuit0-medical"
item_state = "medical_helm"
item_color = "medical"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
flash_protect = 0
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75)
scan_reagents = 1
+5 -5
View File
@@ -73,7 +73,7 @@
var/obj/machinery/atmospherics/components/unary/vent = pick(vents)
vents -= vent
if(!vent)
if(!vent || vent.welded)
return
var/turf/T = get_turf(vent)
@@ -150,7 +150,7 @@
/datum/round_event/vent_clog/beer/start()
for(var/obj/machinery/atmospherics/components/unary/vent in vents)
if(vent && vent.loc)
if(vent && vent.loc && !vent.welded)
var/datum/reagents/R = new/datum/reagents(1000)
R.my_atom = vent
R.add_reagent("beer", reagentsAmount)
@@ -165,7 +165,7 @@
/datum/round_event/vent_clog/male/start()
for(var/obj/machinery/atmospherics/components/unary/vent in vents)
if(vent && vent.loc)
if(vent && vent.loc && !vent.welded)
var/datum/reagents/R = new/datum/reagents(1000)
R.my_atom = vent
R.add_reagent("semen", reagentsAmount)
@@ -180,7 +180,7 @@
/datum/round_event/vent_clog/female/start()
for(var/obj/machinery/atmospherics/components/unary/vent in vents)
if(vent && vent.loc)
if(vent && vent.loc && !vent.welded)
var/datum/reagents/R = new/datum/reagents(1000)
R.my_atom = vent
R.add_reagent("femcum", reagentsAmount)
@@ -195,7 +195,7 @@
/datum/round_event/vent_clog/plasma_decon/start()
for(var/obj/machinery/atmospherics/components/unary/vent in vents)
if(vent && vent.loc)
if(vent && vent.loc && !vent.welded)
var/datum/effect_system/smoke_spread/freezing/decon/smoke = new
smoke.set_up(7, get_turf(vent), 7)
smoke.start()
+1 -1
View File
@@ -110,7 +110,7 @@ Shaft Miner
/datum/outfit/job/miner/equipped
name = "Shaft Miner (Lavaland + Equipment)"
suit = /obj/item/clothing/suit/hooded/explorer
suit = /obj/item/clothing/suit/hooded/explorer/standard
mask = /obj/item/clothing/mask/gas/explorer
glasses = /obj/item/clothing/glasses/meson
suit_store = /obj/item/tank/internals/oxygen
@@ -15,6 +15,7 @@
resistance_flags = FIRE_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/head/hooded/explorer
name = "explorer hood"
desc = "An armoured hood for exploring harsh environments."
@@ -26,11 +27,15 @@
armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50)
resistance_flags = FIRE_PROOF
/obj/item/clothing/suit/hooded/explorer/Initialize()
/obj/item/clothing/suit/hooded/explorer/standard
/obj/item/clothing/head/hooded/explorer/standard
/obj/item/clothing/suit/hooded/explorer/standard/Initialize()
. = ..()
AddComponent(/datum/component/armor_plate)
/obj/item/clothing/head/hooded/explorer/Initialize()
/obj/item/clothing/head/hooded/explorer/standard/Initialize()
. = ..()
AddComponent(/datum/component/armor_plate)
@@ -176,4 +181,4 @@
desc = "A face-covering mask that can be connected to an air supply. Intended for use with the Exosuit."
icon_state = "exo"
item_state = "exo"
resistance_flags = FIRE_PROOF
resistance_flags = FIRE_PROOF
+2 -2
View File
@@ -319,7 +319,7 @@
new /obj/item/clothing/glasses/meson(src)
new /obj/item/t_scanner/adv_mining_scanner/lesser(src)
new /obj/item/storage/bag/ore(src)
new /obj/item/clothing/suit/hooded/explorer(src)
new /obj/item/clothing/suit/hooded/explorer/standard(src)
new /obj/item/encryptionkey/headset_cargo(src)
new /obj/item/clothing/mask/gas/explorer(src)
new /obj/item/card/mining_access_card(src)
@@ -340,7 +340,7 @@
new /obj/item/storage/firstaid/regular(src)
new /obj/item/reagent_containers/hypospray/medipen/survival(src)
new /obj/item/t_scanner/adv_mining_scanner(src)
new /obj/item/clothing/suit/hooded/explorer(src)
new /obj/item/clothing/suit/hooded/explorer/standard(src)
new /obj/item/encryptionkey/headset_cargo(src)
new /obj/item/clothing/mask/gas/explorer(src)
new /obj/item/card/id/mining(src)
+3 -3
View File
@@ -1,11 +1,11 @@
/mob/living/carbon/human/say_mod(input, message_mode)
verb_say = dna.species.say_mod
switch(slurring)
if(25 to 50)
if(10 to 25)
return "jumbles"
if(50 to 75)
if(25 to 50)
return "slurs"
if(75 to INFINITY)
if(50 to INFINITY)
return "garbles"
else
. = ..()
@@ -755,6 +755,8 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(!(H.has_trait(TRAIT_HUSK)))
if(!forced_colour)
switch(S.color_src)
if(SKINTONE)
accessory_overlay.color = skintone2hex(H.skin_tone)
if(MUTCOLORS)
if(fixed_mut_color)
accessory_overlay.color = "#[fixed_mut_color]"
+1 -1
View File
@@ -531,7 +531,7 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put
if(stuttering)
stuttering = max(stuttering-1, 0)
if(slurring)
if(slurring || drunkenness)
slurring = max(slurring-1,0,drunkenness)
if(cultslurring)
@@ -290,7 +290,7 @@
gloves = /obj/item/clothing/gloves/color/black
mask = /obj/item/clothing/mask/gas/explorer
if(prob(20))
suit = pickweight(list(/obj/item/clothing/suit/hooded/explorer = 6, /obj/item/clothing/suit/hooded/cloak/goliath = 2, /obj/item/clothing/suit/hooded/explorer/exo = 6, /obj/item/clothing/suit/hooded/explorer/seva = 6))
suit = pickweight(list(/obj/item/clothing/suit/hooded/explorer/standard = 6, /obj/item/clothing/suit/hooded/cloak/goliath = 2, /obj/item/clothing/suit/hooded/explorer/exo = 6, /obj/item/clothing/suit/hooded/explorer/seva = 6))
if(prob(30))
r_pocket = pickweight(list(/obj/item/stack/marker_beacon = 20, /obj/item/stack/spacecash/c1000 = 7, /obj/item/reagent_containers/hypospray/medipen/survival = 2, /obj/item/borg/upgrade/modkit/damage = 1 ))
if(prob(10))
+4 -3
View File
@@ -65,6 +65,7 @@
return sanitize(t)
/proc/slur(n,var/strength=50)
strength = min(strength,50)
var/phrase = html_decode(n)
var/leng = lentext(phrase)
var/counter=lentext(phrase)
@@ -72,7 +73,7 @@
var/newletter=""
while(counter>=1)
newletter=copytext(phrase,(leng-counter)+1,(leng-counter)+2)
if(rand(1,100)<=strength)
if(rand(1,100)<=strength*0.5)
if(lowertext(newletter)=="o")
newletter="u"
if(lowertext(newletter)=="s")
@@ -83,12 +84,12 @@
newletter="oo"
if(lowertext(newletter)=="c")
newletter="k"
if(rand(1,100) <= strength*0.5)
if(rand(1,100) <= strength*0.25)
if(newletter==" ")
newletter="...huuuhhh..."
if(newletter==".")
newletter=" *BURP*."
if(rand(1,100) <= strength)
if(rand(1,100) <= strength*0.5)
if(rand(1,5) == 1)
newletter+="'"
if(rand(1,5) == 1)
@@ -759,6 +759,7 @@
taste_description = "skewing"
/datum/reagent/toxin/skewium/on_mob_life(mob/living/carbon/M)
/*
if(M.hud_used)
if(current_cycle >= 5 && current_cycle % 3 == 0)
var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"], M.hud_used.plane_masters["[LIGHTING_PLANE]"])
@@ -774,6 +775,7 @@
for(var/whole_screen in screens)
animate(whole_screen, transform = newmatrix, time = 5, easing = QUAD_EASING, loop = -1)
animate(transform = -newmatrix, time = 5, easing = QUAD_EASING)
*/
return ..()
/datum/reagent/toxin/skewium/on_mob_delete(mob/living/M)
@@ -77,6 +77,16 @@
category = list("Power Designs")
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/inducercombat
name = "Combat Ready Inducer"
desc = "The improved NT-8475 Electromagnetic Power Inducer can this one has been SCIENCED to allow for combat. It still comes printed with SCIENCED colors!"
id = "combatinducer"
build_type = PROTOLATHE
materials = list(MAT_METAL = 13000, MAT_GLASS = 10000, MAT_SILVER = 1500, MAT_GOLD = 1250, MAT_DIAMOND = 500, MAT_TITANIUM = 1200)
build_path = /obj/item/inducer/sci/combat/dry
category = list("Power Designs")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
/datum/design/board/pacman
name = "Machine Design (PACMAN-type Generator Board)"
desc = "The circuit board that for a PACMAN-type portable generator."
+1 -1
View File
@@ -428,7 +428,7 @@
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1500)
export_price = 5000
design_ids = list("s-receiver", "s-bus", "s-broadcaster", "s-processor", "s-hub", "s-server", "s-relay", "comm_monitor", "comm_server",
"s-ansible", "s-filter", "s-amplifier", "ntnet_relay", "s-treatment", "s-analyzer", "s-crystal", "s-transmitter")
"s-ansible", "s-filter", "s-amplifier", "ntnet_relay", "s-treatment", "s-analyzer", "s-crystal", "s-transmitter", "message_monitor")
/datum/techweb_node/integrated_HUDs
id = "integrated_HUDs"
+3 -3
View File
@@ -442,9 +442,9 @@
// Body markings
if(body_markings)
if(species_id == "husk")
marking = image('modular_citadel/icons/mob/mam_markings.dmi', "husk_[body_zone]", -MARKING_LAYER, image_dir)
marking = image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[body_zone]", -MARKING_LAYER, image_dir)
else if(species_id == "husk" && use_digitigrade)
marking = image('modular_citadel/icons/mob/mam_markings.dmi', "husk_digitigrade_[use_digitigrade]_[body_zone]", -MARKING_LAYER, image_dir)
marking = image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_digitigrade_[use_digitigrade]_[body_zone]", -MARKING_LAYER, image_dir)
else if(!use_digitigrade)
marking = image('modular_citadel/icons/mob/mam_markings.dmi', "[body_markings]_[body_zone]", -MARKING_LAYER, image_dir)
@@ -459,7 +459,7 @@
. += aux
if(body_markings)
if(species_id == "husk")
auxmarking = image('modular_citadel/icons/mob/mam_markings.dmi', "husk_[aux_zone]", -aux_layer, image_dir)
auxmarking = image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[aux_zone]", -aux_layer, image_dir)
else
auxmarking = image('modular_citadel/icons/mob/mam_markings.dmi', "[body_markings]_[aux_zone]", -aux_layer, image_dir)
. += auxmarking