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
This commit is contained in:
ArcaneMusic
2020-01-02 20:13:43 -05:00
committed by skoglol
parent aa50b85a2f
commit 39b58f1edc
14 changed files with 147 additions and 6 deletions
@@ -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"
+9
View File
@@ -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
+10
View File
@@ -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)]"
+4 -6
View File
@@ -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,
+13
View File
@@ -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")
Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 70 KiB

+1
View File
@@ -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"