Merge branch 'master' into plant-adding

This commit is contained in:
DragonTrance
2021-02-21 12:06:48 -07:00
committed by GitHub
246 changed files with 4270 additions and 3557 deletions
+1 -1
View File
@@ -170,7 +170,7 @@
var/registered_name = null // The name registered_name on the card
var/assignment = null
var/access_txt // mapping aid
var/datum/bank_account/registered_account
/obj/item/card/id/Initialize(mapload)
+20
View File
@@ -501,6 +501,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
w_class = WEIGHT_CLASS_TINY
flags_1 = CONDUCT_1
slot_flags = ITEM_SLOT_BELT
price = 1
var/lit = 0
var/fancy = TRUE
var/overlay_state
@@ -521,6 +522,25 @@ CIGARETTE PACKETS ARE IN FANCY.DM
overlay_state = pick(overlay_list)
update_icon()
/obj/item/lighter/AltClick(mob/living/user)
. = ..()
if(GLOB.lighter_reskins && user.canUseTopic(src, BE_CLOSE, NO_DEXTERY))
reskin_obj(user)
/obj/item/lighter/reskin_obj(mob/M)
if(lit)
return to_chat(M, "You need to close the lighter before changing the engraving!")
if(!LAZYLEN(GLOB.lighter_reskins))
return
var/choice = input(M, "Choose the a reskin for [src]","Reskin Object") as null|anything in GLOB.lighter_reskins
var/new_icon = GLOB.lighter_reskins[choice]
if(QDELETED(src) || isnull(new_icon) || new_icon == icon || !M.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return
overlay_state = new_icon
update_icon()
to_chat(M, "[src] is now skinned as '[choice]'.")
/obj/item/lighter/suicide_act(mob/living/carbon/user)
if (lit)
user.visible_message("<span class='suicide'>[user] begins holding \the [src]'s flame up to [user.p_their()] face! It looks like [user.p_theyre()] trying to commit suicide!</span>")
@@ -55,13 +55,9 @@
//ATTACK HAND IGNORING PARENT RETURN VALUE
/obj/item/taperecorder/attack_hand(mob/user)
if(loc == user)
if(mytape)
if(!user.is_holding(src))
return ..()
eject(user)
else
if(loc != user || !mytape || !user.is_holding(src))
return ..()
eject(user)
/obj/item/taperecorder/proc/can_use(mob/user)
if(user && ismob(user))
@@ -41,3 +41,11 @@
icon_state = "holy_grenade"
spawner_type = /mob/living/simple_animal/hostile/poison/bees/toxin
deliveryamt = 10
/obj/item/grenade/spawnergrenade/clustaur
desc = "A very strange grenade often found in maintanance. Use of this may constitute a war crime in your area, consult your local captain."
name = "clustaur grenade"
icon_state = "clustaur"
item_state = "clustaur"
deliveryamt = 10
spawner_type = /obj/item/reagent_containers/glass/beaker/waterbottle/wataur
+4 -4
View File
@@ -9,7 +9,7 @@
throw_speed = 3
var/mob/living/carbon/subject = null
var/closed = FALSE
price = 10
//Hypnotize someone
@@ -36,7 +36,7 @@
H.drowsyness = max(H.drowsyness, 40)
subject = H
return
//No
H.visible_message("<span class='warning'>[H]'s attention breaks, despite your attempts to hypnotize them! They clearly don't want this</span>", "<span class ='warning'>Your concentration breaks as you realise you have no interest in following [user]'s words!</span>")
@@ -58,7 +58,7 @@
if(get_dist(user, subject) > 1)
to_chat(user, "You must stand in whisper range of [subject].")
return
text = input("What would you like to suggest?", "Hypnotic suggestion", null, null)
text = sanitize(text)
if(!text)
@@ -88,4 +88,4 @@
item_state = "pocketwatch"
desc = "An elaborate pocketwatch, with a captivating gold etching and an enchanting face..."
closed = FALSE
+22
View File
@@ -84,3 +84,25 @@
var/atom/A = V
hos_gun_list[initial(A.name)] = A
return hos_gun_list
// Bouquets
/obj/item/bouquet
name = "mixed bouquet"
desc = "A bouquet of sunflowers, lilies, and geraniums. How delightful."
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "mixedbouquet"
/obj/item/bouquet/sunflower
name = "sunflower bouquet"
desc = "A bright bouquet of sunflowers."
icon_state = "sunbouquet"
/obj/item/bouquet/poppy
name = "poppy bouquet"
desc = "A bouquet of poppies. You feel loved just looking at it."
icon_state = "poppybouquet"
/obj/item/bouquet/rose
name = "rose bouquet"
desc = "A bouquet of roses. A bundle of love."
icon_state = "rosebouquet"
+1
View File
@@ -760,6 +760,7 @@
/obj/item/toy/plush/bird/kenk
name = "kenku plushie"
desc = "An adorable stuffed plushie that resembles a kenku, perfect to sit on."
young = TRUE
icon_state = "kenk"
item_state = "kenk"
squeak_override = list('modular_citadel/sound/voice/merp.ogg' = 1)
+1 -1
View File
@@ -20,7 +20,7 @@
/obj/item/stack/spacecash/proc/update_desc()
var/total_worth = amount*value
desc = "It's worth [total_worth] credit[( total_worth > 1 ) ? "s" : ""]"
desc = "A outdated form of currency, It's worth [total_worth] credit[( total_worth > 1 ) ? "s" : ""]"
/obj/item/stack/spacecash/merge(obj/item/stack/S)
+24 -1
View File
@@ -26,6 +26,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \
grind_results = list(/datum/reagent/silicon = 20)
point_value = 1
tableVariant = /obj/structure/table/glass
shard_type = /obj/item/shard
/obj/item/stack/sheet/glass/suicide_act(mob/living/carbon/user)
user.visible_message("<span class='suicide'>[user] begins to slice [user.p_their()] neck with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
@@ -93,6 +94,7 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \
merge_type = /obj/item/stack/sheet/plasmaglass
grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10)
tableVariant = /obj/structure/table/plasmaglass
shard_type = /obj/item/shard/plasma
/obj/item/stack/sheet/plasmaglass/fifty
amount = 50
@@ -120,7 +122,9 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \
else
return ..()
/obj/item/stack/sheet/plasmaglass/on_solar_construction(obj/machinery/power/solar/S)
S.obj_integrity *= 1.2
S.efficiency *= 1.2
/*
* Reinforced glass sheets
@@ -145,11 +149,15 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \
merge_type = /obj/item/stack/sheet/rglass
grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/iron = 10)
point_value = 4
shard_type = /obj/item/shard
/obj/item/stack/sheet/rglass/attackby(obj/item/W, mob/user, params)
add_fingerprint(user)
..()
/obj/item/stack/sheet/rglass/on_solar_construction(obj/machinery/power/solar/S)
S.obj_integrity *= 2
/obj/item/stack/sheet/rglass/cyborg
materials = list()
var/datum/robot_energy_storage/glasource
@@ -188,6 +196,11 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \
merge_type = /obj/item/stack/sheet/plasmarglass
grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10, /datum/reagent/iron = 10)
point_value = 23
shard_type = /obj/item/shard/plasma
/obj/item/stack/sheet/plasmarglass/on_solar_construction(obj/machinery/power/solar/S)
S.obj_integrity *= 2.2
S.efficiency *= 1.2
/obj/item/stack/sheet/plasmarglass/Initialize(mapload, new_amount, merge = TRUE)
recipes = GLOB.prglass_recipes
@@ -207,6 +220,11 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list(
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100)
resistance_flags = ACID_PROOF
merge_type = /obj/item/stack/sheet/titaniumglass
shard_type = /obj/item/shard
/obj/item/stack/sheet/titaniumglass/on_solar_construction(obj/machinery/power/solar/S)
S.obj_integrity *= 2.5
S.efficiency *= 1.5
/obj/item/stack/sheet/titaniumglass/Initialize(mapload, new_amount, merge = TRUE)
recipes = GLOB.titaniumglass_recipes
@@ -226,11 +244,16 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list(
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100)
resistance_flags = ACID_PROOF
merge_type = /obj/item/stack/sheet/plastitaniumglass
shard_type = /obj/item/shard
/obj/item/stack/sheet/plastitaniumglass/Initialize(mapload, new_amount, merge = TRUE)
recipes = GLOB.plastitaniumglass_recipes
return ..()
/obj/item/stack/sheet/titaniumglass/on_solar_construction(obj/machinery/power/solar/S)
S.obj_integrity *= 2
S.efficiency *= 2
/obj/item/shard
name = "shard"
desc = "A nasty looking shard of glass."
@@ -50,9 +50,6 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \
//END OF CIT CHANGES
new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = TRUE, on_floor = TRUE), \
null, \
//add this when I can find a way to make them easily constructible > new/datum/stack_recipe("sink", /obj/structure/sink, 2, one_per_turf = TRUE, on_floor = TRUE),
new/datum/stack_recipe("shower", /obj/machinery/shower/crafted, 2, one_per_turf = TRUE, on_floor = TRUE), \
null, \
new/datum/stack_recipe("rack parts", /obj/item/rack_parts), \
new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = TRUE, on_floor = TRUE), \
null, \
@@ -340,6 +337,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
new/datum/stack_recipe("black gloves", /obj/item/clothing/gloves/color/black, 3), \
null, \
new/datum/stack_recipe("blindfold", /obj/item/clothing/glasses/sunglasses/blindfold, 2), \
new/datum/stack_recipe("eyepatch", /obj/item/clothing/glasses/eyepatch, 2), \
))
/obj/item/stack/sheet/cloth
@@ -783,7 +781,13 @@ GLOBAL_LIST_INIT(shadoww_recipes, list ( \
new/datum/stack_recipe("Shadow wood floor tile", /obj/item/stack/tile/shadoww, 1, 4, 20), \
new/datum/stack_recipe("Shadow wood table frame", /obj/structure/table_frame/shadoww, 2, time = 10), \
null, \
new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/shadoww, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
new/datum/stack_recipe("Shadow wood chair", /obj/structure/chair/shadoww, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
null, \
new/datum/stack_recipe("Shadow wood barricade", /obj/structure/barricade/shadoww, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
null, \
new/datum/stack_recipe("Dog bed", /obj/structure/bed/shadowwdogbed, 10, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
new/datum/stack_recipe("Dresser", /obj/structure/shadowwdresser, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \
new/datum/stack_recipe("shadow wood crate", /obj/structure/closet/crate/shadoww, 6, time = 50, one_per_turf = TRUE, on_floor = TRUE),\
null, \
))
@@ -815,7 +819,13 @@ GLOBAL_LIST_INIT(gmushroom_recipes, list ( \
new/datum/stack_recipe("Mushroom floor tile", /obj/item/stack/tile/gmushroom, 1, 4, 20), \
new/datum/stack_recipe("Mushroom table frame", /obj/structure/table_frame/gmushroom, 2, time = 10), \
null, \
new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/gmushroom, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
new/datum/stack_recipe("Mushroom chair", /obj/structure/chair/gmushroom, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
null, \
new/datum/stack_recipe("Mushroom barricade", /obj/structure/barricade/gmushroom, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
null, \
new/datum/stack_recipe("Dog bed", /obj/structure/bed/gmushroomdogbed, 10, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
new/datum/stack_recipe("Dresser", /obj/structure/gmushroomdresser, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \
new/datum/stack_recipe("Mushroom crate", /obj/structure/closet/crate/gmushroom, 6, time = 50, one_per_turf = TRUE, on_floor = TRUE),\
null, \
))
@@ -847,7 +857,13 @@ GLOBAL_LIST_INIT(plaswood_recipes, list ( \
new/datum/stack_recipe("Plaswood floor tile", /obj/item/stack/tile/plaswood, 1, 4, 20), \
new/datum/stack_recipe("Plaswood table frame", /obj/structure/table_frame/plaswood, 2, time = 10), \
null, \
new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/plaswood, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
new/datum/stack_recipe("Plaswood chair", /obj/structure/chair/plaswood, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
null, \
new/datum/stack_recipe("Plaswood barricade", /obj/structure/barricade/plaswood, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
null, \
new/datum/stack_recipe("Dog bed", /obj/structure/bed/plaswooddogbed, 10, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
new/datum/stack_recipe("Dresser", /obj/structure/plaswooddresser, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \
new/datum/stack_recipe("Plaswood crate", /obj/structure/closet/crate/plaswood, 6, time = 50, one_per_turf = TRUE, on_floor = TRUE),\
null, \
))
@@ -15,4 +15,15 @@
var/point_value = 0 //turn-in value for the gulag stacker - loosely relative to its rarity
var/is_fabric = FALSE //is this a valid material for the loom?
var/loom_result //result from pulling on the loom
var/pull_effort = 0 //amount of delay when pulling on the loom
var/pull_effort = 0 //amount of delay when pulling on the loom
var/shard_type // the shard debris typepath left over by solar panels and windows etc.
/**
* Called on the glass sheet upon solar construction (duh):
* Different glass sheets can modify different stas/vars, such as obj_integrity or efficiency
* and possibly extra effects if you wish to code them.
* Keep in mind the solars' max_integrity is set equal to the obj_integrity later,
* so you won't have to do so here.
*/
/obj/item/stack/sheet/proc/on_solar_construction(/obj/machinery/power/solar/S)
return
+7
View File
@@ -237,6 +237,7 @@
desc = "Holds a variety of gear for \"alternative\" peacekeeping."
icon_state = "slutbelt"
item_state = "slut"
price = 5
obj/item/storage/belt/slut/ComponentInitialize()
. = ..()
@@ -370,6 +371,12 @@ obj/item/storage/belt/slut/ComponentInitialize()
/obj/item/clothing/mask/luchador
)
/obj/item/storage/belt/cummerbund
name = "cummerbund" //I swear to god if you people aren't mature enough to handle this I'm just gonna call it a sash.
desc = "A pleated sash that pairs well with a suit jacket."
icon_state = "cummerbund"
item_state = "cummerbund"
/obj/item/storage/belt/military
name = "chest rig"
desc = "A set of tactical webbing worn by Syndicate boarding parties."
+2
View File
@@ -415,6 +415,7 @@
desc = "<B>Instructions:</B> <I>Heat in microwave. Product will cool if not eaten within seven minutes.</I>"
icon_state = "donkpocketbox"
illustration=null
price = 10
/obj/item/storage/box/donkpockets/ComponentInitialize()
. = ..()
@@ -687,6 +688,7 @@
item_state = "zippo"
w_class = WEIGHT_CLASS_TINY
slot_flags = ITEM_SLOT_BELT
price = 2
/obj/item/storage/box/matches/ComponentInitialize()
. = ..()
+4
View File
@@ -136,6 +136,7 @@
slot_flags = ITEM_SLOT_BELT
icon_type = "cigarette"
spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette
price = 5
/obj/item/storage/fancy/cigarettes/ComponentInitialize()
. = ..()
@@ -230,6 +231,7 @@
desc = "Smoked by the truly robust."
icon_state = "robustg"
spawn_type = /obj/item/clothing/mask/cigarette/robustgold
price = 6
/obj/item/storage/fancy/cigarettes/cigpack_carp
name = "\improper Carp Classic packet"
@@ -281,6 +283,7 @@
icon_state = "cig_paper_pack"
icon_type = "rolling paper"
spawn_type = /obj/item/rollingpaper
price = 2
/obj/item/storage/fancy/rollingpapers/ComponentInitialize()
. = ..()
@@ -305,6 +308,7 @@
w_class = WEIGHT_CLASS_NORMAL
icon_type = "premium cigar"
spawn_type = /obj/item/clothing/mask/cigarette/cigar
price = 8
/obj/item/storage/fancy/cigarettes/cigars/ComponentInitialize()
. = ..()
+2 -2
View File
@@ -324,7 +324,7 @@
/obj/item/storage/pill_bottle/mutarad
name = "radiation treatment deluxe pill bottle"
desc = "The label says 'Med-Co branded pills' and below that 'Contains Mutadone in each pill!`."
desc = "The label says 'Med-Co branded pills' and below that 'Contains Mutadone in each pill!'."
/obj/item/storage/pill_bottle/mutarad/PopulateContents()
for(var/i in 1 to 7)
@@ -340,7 +340,7 @@
/obj/item/storage/pill_bottle/breast_enlargement
name = "breast enlargement pills"
desc = "Made by Fermichem - They have a woman with breasts larger than she is on them. The warming states not to take more than 10u at a time."
desc = "Made by Fermichem - They have a woman with breasts larger than she is on them. The warning states not to take more than 10u at a time."
/obj/item/storage/pill_bottle/breast_enlargement/PopulateContents()
for(var/i in 1 to 7)
+2 -1
View File
@@ -37,7 +37,8 @@
/obj/item/screwdriver,
/obj/item/valentine,
/obj/item/stamp,
/obj/item/condom))
/obj/item/condom,
/obj/item/stack/credits))
/obj/item/storage/wallet/Exited(atom/movable/AM)
. = ..()
@@ -341,6 +341,7 @@
item_state = "upindwelder"
max_fuel = 80
materials = list(MAT_METAL=70, MAT_GLASS=120)
price = 10
/obj/item/weldingtool/experimental
name = "experimental welding tool"