This commit is contained in:
Ghommie
2019-12-23 04:32:09 +01:00
541 changed files with 13581 additions and 3235 deletions
@@ -132,7 +132,7 @@
amount += 0.1
var/multiplier = fluid_mult
if(reagents.total_volume >= 5)
multiplier *= 0.5
multiplier *= 0.8
if(reagents.total_volume < reagents.maximum_volume)
reagents.isolate_reagent(fluid_id)//remove old reagents if it changed and just clean up generally
reagents.add_reagent(fluid_id, (amount * multiplier))//generate the cum
@@ -7,6 +7,7 @@
slot = ORGAN_SLOT_BREASTS
size = "c" //refer to the breast_values static list below for the cups associated number values
fluid_id = "milk"
fluid_rate = MILK_RATE
shape = "pair"
genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH|GENITAL_FUID_PRODUCTION
masturbation_verb = "massage"
@@ -63,7 +64,7 @@
//Allows breasts to grow and change size, with sprite changes too.
//maximum wah
//Comical sizes slow you down in movement and actions.
//Rediculous sizes makes you more cumbersome.
//Ridiculous sizes makes you more cumbersome.
//this is far too lewd wah
/obj/item/organ/genital/breasts/modify_size(modifier, min = -INFINITY, max = INFINITY)
@@ -119,7 +120,7 @@
shape = D.features["breasts_shape"]
fluid_id = D.features["breasts_fluid"]
if(!D.features["breasts_producing"])
DISABLE_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION)
DISABLE_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION|CAN_CLIMAX_WITH|CAN_MASTURBATE_WITH)
if(!isnum(size))
cached_size = breast_values[size]
else
@@ -91,4 +91,14 @@
category = SLOT_HEAD
path = /obj/item/clothing/head/caphat/formal/fedcover/sec
restricted_desc = "Engineering, Security, and Cargo"
restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster")
restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster")
/datum/gear/santahatr
name = "Red Santa Hat"
category = SLOT_HEAD
path = /obj/item/clothing/head/christmashat
/datum/gear/santahatg
name = "Green Santa Hat"
category = SLOT_HEAD
path = /obj/item/clothing/head/christmashatg
@@ -56,4 +56,19 @@
/datum/gear/bluecuffs
name = "Blue leg wraps"
category = SLOT_SHOES
path= /obj/item/clothing/shoes/wraps/blue
path= /obj/item/clothing/shoes/wraps/blue
/datum/gear/christmasbootsr
name = "Red Christmas Boots"
category = SLOT_SHOES
path= /obj/item/clothing/shoes/winterboots/christmasbootsr
/datum/gear/christmasbootsg
name = "Green Christmas Boots"
category = SLOT_SHOES
path= /obj/item/clothing/shoes/winterboots/christmasbootsg
/datum/gear/santaboots
name = "Santa Boots"
category = SLOT_SHOES
path= /obj/item/clothing/shoes/winterboots/santaboots
@@ -204,3 +204,18 @@
path = /obj/item/clothing/suit/storage/fluff/modernfedcoat/eng
restricted_desc = "Engineering and Cargo"
restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Cargo Technician", "Shaft Miner", "Quartermaster")
/datum/gear/christmascoatr
name = "Red Christmas Coat"
category = SLOT_WEAR_SUIT
path = /obj/item/clothing/suit/hooded/wintercoat/christmascoatr
/datum/gear/christmascoatg
name = "Green Christmas Coat"
category = SLOT_WEAR_SUIT
path = /obj/item/clothing/suit/hooded/wintercoat/christmascoatg
/datum/gear/christmascoatrg
name = "Red and Green Christmas Coat"
category = SLOT_WEAR_SUIT
path = /obj/item/clothing/suit/hooded/wintercoat/christmascoatrg
@@ -330,6 +330,27 @@
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/gear_harness
//Christmas
/datum/gear/christmasmaler
name = "Red Masculine Christmas Suit"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/christmas/christmasmaler
/datum/gear/christmasmaleg
name = "Green Masculine Christmas Suit"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/christmas/christmasmaleg
/datum/gear/christmasfemaler
name = "Red Feminine Christmas Suit"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/christmas/christmasfemaler
/datum/gear/christmasfemaleg
name = "Green Feminine Christmas Suit"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/christmas/christmasfemaleg
/datum/gear/pinkstripper
name = "Pink stripper outfit"
category = SLOT_W_UNIFORM
@@ -1,29 +0,0 @@
/obj/item/reagent_containers/food/snacks/carpmeat/aquatic
name = "fillet"
desc = "A fillet of one of the local water dwelling species."
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ipc
icon = 'modular_citadel/icons/obj/foods.dmi'
icon_state = "ipcmeat"
desc = "Gross robot meat."
filling_color = "#000000"
tastes = list("metal" = 1)
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/insect
desc = "Tastes like chicken, that's... not what it is!"
icon = 'modular_citadel/icons/obj/foods.dmi'
icon_state = "mothmeat"
filling_color = "#BF896B"
tastes = list("insects" = 1)
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/avian
desc = "Tastes like chicken, that's because it is!"
icon = 'modular_citadel/icons/obj/foods.dmi'
icon_state = "birdmeat"
filling_color = "#BF896B"
tastes = list("chicken" = 1)
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/mammal
desc = "Tastes sweet... reminds you vaguely of chicken."
filling_color = "#6B8E23"
tastes = list("brains" = 1, "meat" = 1)
@@ -1,76 +0,0 @@
/obj/item/robot_module/loader
name = "loader robot module"
/obj/item/robot_module/loader/New()
..()
emag = new /obj/item/borg/stun(src)
modules += new /obj/item/extinguisher(src)
modules += new /obj/item/weldingtool/largetank/cyborg(src)
modules += new /obj/item/screwdriver(src)
modules += new /obj/item/wrench(src)
modules += new /obj/item/crowbar(src)
modules += new /obj/item/wirecutters(src)
modules += new /obj/item/multitool(src)
modules += new /obj/item/t_scanner(src)
modules += new /obj/item/analyzer(src)
modules += new /obj/item/assembly/signaler
modules += new /obj/item/soap/nanotrasen(src)
fix_modules()
/obj/item/robot_module/k9
name = "Security K-9 Unit module"
/obj/item/robot_module/k9/New()
..()
modules += new /obj/item/restraints/handcuffs/cable/zipties/cyborg/dog(src)
modules += new /obj/item/dogborg/jaws/big(src)
modules += new /obj/item/dogborg/pounce(src)
modules += new /obj/item/clothing/mask/gas/sechailer/cyborg(src)
modules += new /obj/item/soap/tongue(src)
modules += new /obj/item/analyzer/nose(src)
modules += new /obj/item/storage/bag/borgdelivery(src)
//modules += new /obj/item/assembly/signaler(src)
//modules += new /obj/item/detective_scanner(src)
modules += new /obj/item/gun/energy/disabler/cyborg(src)
emag = new /obj/item/gun/energy/laser/cyborg(src)
fix_modules()
/obj/item/robot_module/security/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
..()
var/obj/item/gun/energy/gun/advtaser/cyborg/T = locate(/obj/item/gun/energy/gun/advtaser/cyborg) in get_usable_modules()
if(T)
if(T.power_supply.charge < T.power_supply.maxcharge)
var/obj/item/ammo_casing/energy/S = T.ammo_type[T.select]
T.power_supply.give(S.e_cost * coeff)
T.update_icon()
else
T.charge_tick = 0
fix_modules()
/obj/item/robot_module/borgi
name = "Borgi module"
/obj/item/robot_module/borgi/New()
..()
modules += new /obj/item/dogborg/jaws/small(src)
modules += new /obj/item/storage/bag/borgdelivery(src)
modules += new /obj/item/soap/tongue(src)
modules += new /obj/item/healthanalyzer(src)
modules += new /obj/item/analyzer/nose(src)
emag = new /obj/item/dogborg/pounce(src)
fix_modules()
/obj/item/robot_module/medihound
name = "MediHound module"
/obj/item/robot_module/medihound/New()
..()
modules += new /obj/item/dogborg/jaws/small(src)
modules += new /obj/item/storage/bag/borgdelivery(src)
modules += new /obj/item/analyzer/nose(src)
modules += new /obj/item/soap/tongue(src)
modules += new /obj/item/healthanalyzer(src)
modules += new /obj/item/dogborg/sleeper(src)
modules += new /obj/item/twohanded/shockpaddles/hound(src)
modules += new /obj/item/sensor_device(src)
emag = new /obj/item/dogborg/pounce(src)
fix_modules()
@@ -353,15 +353,6 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm !
icon = 'icons/mob/dogborg.dmi'
icon_state= "kibble"
//Defibs
/obj/item/twohanded/shockpaddles/cyborg/hound
name = "Paws of Life"
desc = "MediHound specific shock paws."
icon = 'icons/mob/dogborg.dmi'
icon_state = "defibpaddles0"
item_state = "defibpaddles0"
// Pounce stuff for K-9
/obj/item/dogborg/pounce
@@ -14,7 +14,7 @@
. += speed
/mob/living/silicon/robot/proc/togglesprint(shutdown = FALSE) //Basically a copypaste of the proc from /mob/living/carbon/human
if(!shutdown && (!cell || cell.charge < 25))
if(!shutdown && (!cell || cell.charge < 25) || !cansprint)
return FALSE
sprinting = shutdown ? FALSE : !sprinting
if(!resting && canmove)
-27
View File
@@ -1,27 +0,0 @@
/mob/proc/use_that_empty_hand() //currently unused proc so i can implement 2-handing any item a lot easier in the future.
return
/mob/say_mod(input, message_mode)
var/customsayverb = findtext(input, "*")
if(customsayverb && message_mode != MODE_WHISPER_CRIT)
message_mode = MODE_CUSTOM_SAY
return lowertext(copytext(input, 1, customsayverb))
else
return ..()
/atom/movable/proc/attach_spans(input, list/spans)
var/customsayverb = findtext(input, "*")
if(customsayverb)
input = capitalize(copytext(input, customsayverb+1))
if(input)
return "[message_spans_start(spans)][input]</span>"
else
return
/mob/living/compose_message(atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode, face_name = FALSE, atom/movable/source)
. = ..()
if(isliving(speaker))
var/turf/sourceturf = get_turf(source)
var/turf/T = get_turf(src)
if(sourceturf && T && !(sourceturf in get_hear(5, T)))
. = "<span class='small'>[.]</span>"
@@ -5,7 +5,6 @@
icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi'
icon_state= "spinner"
damage = 30
dismemberment = 25
/obj/item/projectile/bullet/spinfusor/on_hit(atom/target, blocked = FALSE) //explosion to emulate the spinfusor's AOE
..()
@@ -14,22 +13,16 @@
/obj/item/ammo_casing/caseless/spinfusor
name = "spinfusor disk"
desc = "A magnetic disk designed specifically for the Stormhammer magnetic cannon. Warning: extremely volatile!"
desc = "A magnetic disk designed specifically for the Stormhammer magnetic cannon. Packs a punch."
projectile_type = /obj/item/projectile/bullet/spinfusor
caliber = "spinfusor"
icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi'
icon_state = "disk"
w_class = WEIGHT_CLASS_SMALL
throwforce = 15 //still deadly when thrown
force = 5
throw_speed = 3
/obj/item/ammo_casing/caseless/spinfusor/throw_impact(atom/target) //disks detonate when thrown
if(!..()) // not caught in mid-air
visible_message("<span class='notice'>[src] detonates!</span>")
playsound(src.loc, "sparks", 50, 1)
explosion(target, -1, -1, 1, 1, -1)
qdel(src)
return 1
/obj/item/ammo_box/magazine/internal/spinfusor
name = "spinfusor internal magazine"
ammo_type = /obj/item/ammo_casing/caseless/spinfusor
@@ -71,7 +64,8 @@
icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi'
icon_state = "spinfusorbox"
ammo_type = /obj/item/ammo_casing/caseless/spinfusor
max_ammo = 8
w_class = WEIGHT_CLASS_NORMAL
max_ammo = 4
/datum/supply_pack/security/armory/spinfusor
name = "Stormhammer Spinfusor Crate"
@@ -84,7 +78,5 @@
name = "Spinfusor Disk Crate"
cost = 7000
contains = list(/obj/item/ammo_box/aspinfusor,
/obj/item/ammo_box/aspinfusor,
/obj/item/ammo_box/aspinfusor,
/obj/item/ammo_box/aspinfusor)
crate_name = "spinfusor disk crate"
crate_name = "spinfusor disk crate"
@@ -14,7 +14,7 @@
/datum/reagent/consumable/semen/reaction_turf(turf/T, reac_volume)
if(!istype(T))
return
if(reac_volume < 3)
if(reac_volume < 10)
return
var/obj/effect/decal/cleanable/semen/S = locate() in T
@@ -80,7 +80,7 @@
/datum/reagent/consumable/femcum/reaction_turf(turf/T, reac_volume)
if(!istype(T))
return
if(reac_volume < 3)
if(reac_volume < 10)
return
var/obj/effect/decal/cleanable/femcum/S = locate() in T