Adds several more uses for plastics (Trinkets, Trash, Decor, and Killing the Environment) (#48337)
* Initial Commit, Plastic Boxes and Soda Rings. Basic carp interaction. * Beads, trash created from breaking plastic, carp eat plastic properly. * Cleans up sprites, adds designs to autolathe, and adds plastic plants * Icon Conflict more like Ion Comblict because I can't spell * Oh neat, there's already a party crate. Added Beer/Soda 6packs to the crate, adjusted price accordingly. * Aaaaaaaaaa runtime loop. * You win this round travis. * Makes the in-hand sprite the soda can sprite because honestly it's close enough don't @ me * Typo. * Merge conflict, style changes, FINE CARP DON'T BREATHE. * BEGONE CONFLICT BEGONE FROM ME
@@ -224,3 +224,10 @@
|
||||
icon = 'icons/effects/confetti_and_decor.dmi'
|
||||
icon_state = "confetti"
|
||||
mouse_opacity = MOUSE_OPACITY_TRANSPARENT //the confetti itself might be annoying enough
|
||||
|
||||
/obj/effect/decal/cleanable/plastic
|
||||
name = "plastic shreds"
|
||||
desc = "Bits of torn, broken, worthless plastic."
|
||||
icon = 'icons/obj/objects.dmi'
|
||||
icon_state = "shards"
|
||||
color = "#c6f4ff"
|
||||
|
||||
@@ -1202,6 +1202,15 @@
|
||||
)
|
||||
generate_items_inside(items_inside,src)
|
||||
|
||||
/obj/item/storage/box/plastic
|
||||
name = "plastic box"
|
||||
desc = "It's a solid, plastic shell box."
|
||||
icon_state = "plasticbox"
|
||||
foldable = null
|
||||
illustration = "writing"
|
||||
custom_materials = list(/datum/material/plastic = 1000) //You lose most if recycled.
|
||||
|
||||
|
||||
/obj/item/storage/box/fireworks
|
||||
name = "box of fireworks"
|
||||
desc = "Contains an assortment of fireworks."
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
/obj/item/storage/cans
|
||||
name = "can ring"
|
||||
desc = "Holds up to six drink cans, and select bottles."
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
icon_state = "canholder"
|
||||
item_state = "cola"
|
||||
lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
|
||||
custom_materials = list(/datum/material/plastic = 1200)
|
||||
max_integrity = 500
|
||||
|
||||
/obj/item/storage/cans/suicide_act(mob/living/carbon/user)
|
||||
user.visible_message("<span class='suicide'>[user] begins popping open a final cold one with the boys! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
return BRUTELOSS
|
||||
|
||||
/obj/item/storage/cans/update_icon()
|
||||
var/icon_status = 0
|
||||
icon_status = contents.len
|
||||
icon_state = "[initial(icon_state)][icon_status]"
|
||||
|
||||
/obj/item/storage/cans/Initialize()
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/storage/cans/ComponentInitialize()
|
||||
. = ..()
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
STR.max_w_class = WEIGHT_CLASS_SMALL
|
||||
STR.max_combined_w_class = 12
|
||||
STR.max_items = 6
|
||||
STR.set_holdable(list(
|
||||
/obj/item/reagent_containers/food/drinks/soda_cans,
|
||||
/obj/item/reagent_containers/food/drinks/beer,
|
||||
/obj/item/reagent_containers/food/drinks/ale,
|
||||
/obj/item/reagent_containers/food/drinks/waterbottle
|
||||
))
|
||||
|
||||
/obj/item/storage/cans/sixsoda
|
||||
name = "soda bottle ring"
|
||||
desc = "Holds six soda cans. Remember to recycle when you're done!"
|
||||
|
||||
/obj/item/storage/cans/sixsoda/PopulateContents()
|
||||
for(var/i in 1 to 6)
|
||||
new /obj/item/reagent_containers/food/drinks/soda_cans/cola(src)
|
||||
|
||||
/obj/item/storage/cans/sixbeer
|
||||
name = "beer bottle ring"
|
||||
desc = "Holds six beer bottles. Remember to recycle when you're done!"
|
||||
|
||||
/obj/item/storage/cans/sixbeer/PopulateContents()
|
||||
for(var/i in 1 to 6)
|
||||
new /obj/item/reagent_containers/food/drinks/beer(src)
|
||||
@@ -464,6 +464,7 @@
|
||||
to_chat(Mob, "<span class='warning'>The chair begins to pop and crack, you're too heavy!</span>")
|
||||
if(do_after(Mob, 60, 1, Mob, 0))
|
||||
Mob.visible_message("<span class='notice'>The plastic chair snaps under [Mob]'s weight!</span>")
|
||||
new /obj/effect/decal/cleanable/plastic(loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/chair/plastic
|
||||
|
||||
@@ -354,6 +354,15 @@
|
||||
light_color = "#2cb2e8"
|
||||
light_range = 3
|
||||
|
||||
/obj/item/twohanded/required/kirbyplants/fullysynthetic
|
||||
name = "plastic potted plant"
|
||||
desc = "A fake, cheap looking, plastic tree. Perfect for people who kill every plant they touch."
|
||||
icon_state = "plant-26"
|
||||
custom_materials = (list(/datum/material/plastic = 8000))
|
||||
|
||||
/obj/item/twohanded/required/kirbyplants/fullysynthetic/Initialize()
|
||||
. = ..()
|
||||
icon_state = "plant-[rand(26, 29)]"
|
||||
|
||||
//a rock is flora according to where the icon file is
|
||||
//and now these defines
|
||||
@@ -438,3 +447,4 @@
|
||||
/obj/structure/flora/rock/pile/largejungle/Initialize()
|
||||
. = ..()
|
||||
icon_state = "[initial(icon_state)][rand(1,3)]"
|
||||
|
||||
|
||||
@@ -1486,18 +1486,16 @@
|
||||
|
||||
/datum/supply_pack/service/party
|
||||
name = "Party Equipment"
|
||||
desc = "Celebrate both life and death on the station with Nanotrasen's Party Essentials(tm)! Contains seven colored glowsticks, four beers, two ales, and a bottle of patron, goldschlager, and shaker!"
|
||||
cost = 2000
|
||||
desc = "Celebrate both life and death on the station with Nanotrasen's Party Essentials(tm)! Contains seven colored glowsticks, six beers, six sodas, two ales, and a bottle of patron, goldschlager, and shaker!"
|
||||
cost = 2500
|
||||
contains = list(/obj/item/storage/box/drinkingglasses,
|
||||
/obj/item/reagent_containers/food/drinks/shaker,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/patron,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/goldschlager,
|
||||
/obj/item/reagent_containers/food/drinks/ale,
|
||||
/obj/item/reagent_containers/food/drinks/ale,
|
||||
/obj/item/reagent_containers/food/drinks/beer,
|
||||
/obj/item/reagent_containers/food/drinks/beer,
|
||||
/obj/item/reagent_containers/food/drinks/beer,
|
||||
/obj/item/reagent_containers/food/drinks/beer,
|
||||
/obj/item/storage/cans/sixbeer,
|
||||
/obj/item/storage/cans/sixsoda,
|
||||
/obj/item/flashlight/glowstick,
|
||||
/obj/item/flashlight/glowstick/red,
|
||||
/obj/item/flashlight/glowstick/blue,
|
||||
|
||||
@@ -257,3 +257,16 @@
|
||||
user.visible_message("<span class='notice'>You untie [oldName] back into a [newBand.name].</span>", "<span class='notice'>[user] unties [oldName] back into a [newBand.name].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You must be holding [src] in order to untie it!</span>")
|
||||
|
||||
/obj/item/clothing/neck/beads
|
||||
name = "plastic bead necklace"
|
||||
desc = "A cheap, plastic bead necklace. Show team spirit! Collect them! Throw them away! The posibilites are endless!"
|
||||
icon = 'icons/obj/clothing/neck.dmi'
|
||||
icon_state = "beads"
|
||||
color = "#ffffff"
|
||||
custom_price = 10
|
||||
custom_materials = (list(/datum/material/plastic = 500))
|
||||
|
||||
/obj/item/clothing/neck/beads/Initialize()
|
||||
. = ..()
|
||||
color = color = pick("#ff0077","#d400ff","#2600ff","#00ccff","#00ff2a","#e5ff00","#ffae00","#ff0000", "#ffffff")
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
maxHealth = 25
|
||||
health = 25
|
||||
spacewalk = TRUE
|
||||
search_objects = 1
|
||||
wanted_objects = list(/obj/item/storage/cans)
|
||||
|
||||
harm_intent_damage = 8
|
||||
obj_damage = 50
|
||||
@@ -43,6 +45,7 @@
|
||||
|
||||
var/random_color = TRUE //if the carp uses random coloring
|
||||
var/rarechance = 1 //chance for rare color variant
|
||||
var/snack_distance = 0
|
||||
|
||||
var/static/list/carp_colors = list(\
|
||||
"lightpurple" = "#c3b9f1", \
|
||||
@@ -96,6 +99,21 @@
|
||||
base_dead_overlay.appearance_flags = RESET_COLOR
|
||||
add_overlay(base_dead_overlay)
|
||||
|
||||
/mob/living/simple_animal/hostile/carp/proc/chomp_plastic()
|
||||
var/obj/item/storage/cans/tasty_plastic = locate(/obj/item/storage/cans) in oview(src, 9)
|
||||
if(tasty_plastic)
|
||||
snack_distance = get_dist(src.loc,tasty_plastic.loc)
|
||||
if(snack_distance <= 1)
|
||||
src.visible_message("<span class='notice'>[src] gets its head stuck in [tasty_plastic], and gets cut breaking free from it!</span>", "<span class='notice'>You try to avoid [tasty_plastic], but it looks so... delicious... Ow! It cuts the inside of your mouth!</span>")
|
||||
new /obj/effect/decal/cleanable/plastic(src.loc)
|
||||
adjustBruteLoss(5)
|
||||
qdel(tasty_plastic)
|
||||
|
||||
/mob/living/simple_animal/hostile/carp/Life()
|
||||
. = ..()
|
||||
if(stat == CONSCIOUS)
|
||||
chomp_plastic()
|
||||
|
||||
/mob/living/simple_animal/hostile/carp/death(gibbed)
|
||||
. = ..()
|
||||
cut_overlays()
|
||||
|
||||
@@ -1028,3 +1028,35 @@
|
||||
materials = list(/datum/material/iron = 20, /datum/material/glass = 5)
|
||||
build_path = /obj/item/toy/ammo/gun
|
||||
category = list("hacked", "Misc")
|
||||
|
||||
/datum/design/plastic_tree
|
||||
name = "Plastic Potted Plant"
|
||||
id = "plastic_trees"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(/datum/material/plastic = 8000)
|
||||
build_path = /obj/item/twohanded/required/kirbyplants/fullysynthetic
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/beads
|
||||
name = "Plastic Bead Necklace"
|
||||
id = "plastic_necklace"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(/datum/material/plastic = 500)
|
||||
build_path = /obj/item/clothing/neck/beads
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/plastic_ring
|
||||
name = "Plastic Can Rings"
|
||||
id = "ring_holder"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(/datum/material/plastic = 1200)
|
||||
build_path = /obj/item/storage/cans
|
||||
category = list("initial", "Dinnerware")
|
||||
|
||||
/datum/design/plastic_box
|
||||
name = "Plastic Box"
|
||||
id = "plastic_box"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(/datum/material/plastic = 1000)
|
||||
build_path = /obj/item/storage/box/plastic
|
||||
category = list("initial", "Misc")
|
||||
|
||||
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 70 KiB |
@@ -1060,6 +1060,7 @@
|
||||
#include "code\game\objects\items\storage\firstaid.dm"
|
||||
#include "code\game\objects\items\storage\lockbox.dm"
|
||||
#include "code\game\objects\items\storage\secure.dm"
|
||||
#include "code\game\objects\items\storage\sixpack.dm"
|
||||
#include "code\game\objects\items\storage\storage.dm"
|
||||
#include "code\game\objects\items\storage\toolbox.dm"
|
||||
#include "code\game\objects\items\storage\uplink_kits.dm"
|
||||
|
||||