Merge branch 'master' into digileg-runtime

This commit is contained in:
Poojawa
2018-03-17 20:16:21 -05:00
committed by GitHub
112 changed files with 1640 additions and 581 deletions
@@ -0,0 +1,11 @@
// Citadel-specific negative moodlets
/datum/mood_event/plushjack
description = "<span class='warning'>I have butchered a plush recently.</span>\n"
mood_change = -1
timeout = 1200
/datum/mood_event/plush_nostuffing
description = "<span class='warning'>A plush I tried to pet had no stuffing...</span>\n"
mood_change = -1
timeout = 1200
@@ -0,0 +1,21 @@
// Citadel-specific positive moodlets
/datum/mood_event/headpat
description = "<span class='nicegreen'>Headpats are nice.</span>\n"
mood_change = 2
timeout = 1200
/datum/mood_event/hugbox
description = "<span class='nicegreen'>I hugged a box of hugs recently.</span>\n"
mood_change = 1
timeout = 1200
/datum/mood_event/plushpet
description = "<span class='nicegreen'>I pet a plush recently.</span>\n"
mood_change = 1
timeout = 3000
/datum/mood_event/plushplay
description = "<span class='nicegreen'>I've played with plushes recently.</span>\n"
mood_change = 3
timeout = 3000
@@ -0,0 +1,42 @@
// Modular stuff to use with Citadel-specific moods.
// box of hugs
/obj/item/storage/box/hug/attack_self(mob/user)
. = ..()
GET_COMPONENT_FROM(mood, /datum/component/mood, user)
if(mood)
mood.add_event("hugbox", /datum/mood_event/hugbox)
// headpats (IMPORTANT)
/mob/living/carbon/help_shake_act(mob/living/carbon/M)
. = ..()
GET_COMPONENT_FROM(mood, /datum/component/mood, src)
if(mood)
mood.add_event("headpat", /datum/mood_event/headpat)
// plush petting
/obj/item/toy/plush/attack_self(mob/user)
. = ..()
if(stuffed || grenade)
GET_COMPONENT_FROM(mood, /datum/component/mood, user)
if(mood)
mood.add_event("plushpet", /datum/mood_event/plushpet)
else
GET_COMPONENT_FROM(mood, /datum/component/mood, user)
if(mood)
mood.add_event("plush_nostuffing", /datum/mood_event/plush_nostuffing)
// Jack the Ripper starring plush
/obj/item/toy/plush/attackby(obj/item/I, mob/living/user, params)
. = ..()
if(I.is_sharp())
if(!grenade)
GET_COMPONENT_FROM(mood, /datum/component/mood, user)
if(mood)
mood.add_event("plushjack", /datum/mood_event/plushjack)
// plush playing (plush-on-plush action)
if(istype(I, /obj/item/toy/plush))
GET_COMPONENT_FROM(mood, /datum/component/mood, user)
if(mood)
mood.add_event("plushplay", /datum/mood_event/plushplay)
@@ -0,0 +1,25 @@
/datum/design/xenobio_upgrade
name = "owo"
desc = "someone's bussin"
build_type = PROTOLATHE
materials = list(MAT_METAL = 300, MAT_GLASS = 100)
category = list("Electronics")
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
/datum/design/xenobio_upgrade/xenobiomonkeys
name = "Xenobiology console monkey upgrade disk"
desc = "This disk will add the ability to remotely recycle monkeys via the Xenobiology console."
id = "xenobio_monkeys"
build_path = /obj/item/disk/xenobio_console_upgrade/monkey
/datum/design/xenobio_upgrade/xenobioslimebasic
name = "Xenobiology console basic slime upgrade disk"
desc = "This disk will add the ability to remotely manipulate slimes via the Xenobiology console."
id = "xenobio_slimebasic"
build_path = /obj/item/disk/xenobio_console_upgrade/slimebasic
/datum/design/xenobio_upgrade/xenobioslimeadv
name = "Xenobiology console advanced slime upgrade disk"
desc = "This disk will add the ability to remotely feed slimes potions via the Xenobiology console, and lift the restrictions on the number of slimes that can be stored inside the Xenobiology console. This includes the contents of the basic slime upgrade disk."
id = "xenobio_slimeadv"
build_path = /obj/item/disk/xenobio_console_upgrade/slimeadv
@@ -1,3 +1,15 @@
/datum/techweb_node/bluespace_basic/New()
. = ..()
design_ids += "xenobio_monkeys"
/datum/techweb_node/practical_bluespace/New()
. = ..()
design_ids += "xenobio_slimebasic"
/datum/techweb_node/adv_bluespace/New()
. = ..()
design_ids += "xenobio_slimeadv"
/datum/techweb_node/computer_board_gaming
id = "computer_board_gaming"
display_name = "Games and Toys"
@@ -0,0 +1,48 @@
/obj/machinery/computer/camera_advanced/xenobio
max_slimes = 1
var/upgradetier = 0
/obj/machinery/computer/camera_advanced/xenobio/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/disk/xenobio_console_upgrade))
var/obj/item/disk/xenobio_console_upgrade/diskthing = O
var/successfulupgrade = FALSE
for(var/I in diskthing.upgradetypes)
if(upgradetier & I)
continue
else
upgradetier |= I
successfulupgrade = TRUE
if(I == XENOBIO_UPGRADE_SLIMEADV)
max_slimes = 10
if(successfulupgrade)
to_chat(user, "<span class='notice'>You have successfully upgraded [src] with [O].</span>")
else
to_chat(user, "<span class='warning'>[src] already has the contents of [O] installed!</span>")
return
. = ..()
/obj/item/disk/xenobio_console_upgrade
name = "Xenobiology console upgrade disk"
desc = "Allan please add detail."
icon_state = "datadisk5"
var/list/upgradetypes = list()
/obj/item/disk/xenobio_console_upgrade/admin
name = "Xenobio all access thing"
desc = "'the consoles are literally useless!!!!!!!!!!!!!!!'"
upgradetypes = list(XENOBIO_UPGRADE_SLIMEBASIC, XENOBIO_UPGRADE_SLIMEADV, XENOBIO_UPGRADE_MONKEYS)
/obj/item/disk/xenobio_console_upgrade/monkey
name = "Xenobiology console monkey upgrade disk"
desc = "This disk will add the ability to remotely recycle monkeys via the Xenobiology console."
upgradetypes = list(XENOBIO_UPGRADE_MONKEYS)
/obj/item/disk/xenobio_console_upgrade/slimebasic
name = "Xenobiology console basic slime upgrade disk"
desc = "This disk will add the ability to remotely manipulate slimes via the Xenobiology console."
upgradetypes = list(XENOBIO_UPGRADE_SLIMEBASIC)
/obj/item/disk/xenobio_console_upgrade/slimeadv
name = "Xenobiology console advanced slime upgrade disk"
desc = "This disk will add the ability to remotely feed slimes potions via the Xenobiology console, and lift the restrictions on the number of slimes that can be stored inside the Xenobiology console. This includes the contents of the basic slime upgrade disk."
upgradetypes = list(XENOBIO_UPGRADE_SLIMEBASIC, XENOBIO_UPGRADE_SLIMEADV)