diff --git a/cev_eris.dme b/cev_eris.dme index b971574498f..d0d5bef7d2d 100644 --- a/cev_eris.dme +++ b/cev_eris.dme @@ -870,6 +870,7 @@ #include "code\game\objects\items\musictapes.dm" #include "code\game\objects\items\oddities.dm" #include "code\game\objects\items\paintkit.dm" +#include "code\game\objects\items\punk_lootbox.dm" #include "code\game\objects\items\shooting_range.dm" #include "code\game\objects\items\slimeflashlight.dm" #include "code\game\objects\items\spraypaint.dm" @@ -1555,6 +1556,7 @@ #include "code\modules\clothing\accessories\badges.dm" #include "code\modules\clothing\accessories\lenses.dm" #include "code\modules\clothing\accessories\lockets.dm" +#include "code\modules\clothing\accessories\logo.dm" #include "code\modules\clothing\glasses\glasses.dm" #include "code\modules\clothing\glasses\hud.dm" #include "code\modules\clothing\glasses\meson.dm" diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index e7c460388b4..fdeee129246 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1818,7 +1818,8 @@ /obj/item/clothing/suit/storage/aerostatic = 2, /obj/item/clothing/suit/storage/jamrock = 2, /obj/item/clothing/suit/storage/dante = 2, - /obj/item/clothing/suit/storage/akira = 2 + /obj/item/clothing/suit/storage/akira = 2, + /obj/item/punk_lootbox = 8 ) prices = list( /obj/item/clothing/mask/scarf/style = 250, @@ -1913,7 +1914,8 @@ /obj/item/clothing/suit/storage/dante = 900, /obj/item/clothing/suit/storage/triad = 1200, /obj/item/clothing/suit/storage/akira = 600, - /obj/item/clothing/head/skull/drip = 100000 + /obj/item/clothing/head/skull/drip = 100000, + /obj/item/punk_lootbox = 500 ) contraband = list( diff --git a/code/game/objects/items/punk_lootbox.dm b/code/game/objects/items/punk_lootbox.dm new file mode 100644 index 00000000000..cc97e27e696 --- /dev/null +++ b/code/game/objects/items/punk_lootbox.dm @@ -0,0 +1,38 @@ +/obj/item/punk_lootbox + name = "jacket box" + desc = "Brown cardboard box." + icon_state = "jacket_box" + matter = list(MATERIAL_CARDBOARD = 2) + rarity_value = 65 + +/obj/item/punk_lootbox/attack_self(mob/user) + . = ..() + if(icon_state == "jacket_box_open") + to_chat(user, SPAN_NOTICE("You fold \the [name] flat.")) + new /obj/item/stack/material/cardboard(get_turf(src)) + qdel(src) + return + + var/jacket_list = list( + "Bright" = "punk_bright", + "Dark" = "punk_dark", + "Dark with highlights" = "punk_highlight") + + var/jacket_type = input(user, "Choose jacket type", "What kind of punk are you?") as null|anything in jacket_list + if(!jacket_type) + to_chat(user, SPAN_NOTICE("You're an indecisive punk today.")) + return + + var/logo_list = list( + "Valentinos" = "punk_over_valentinos", + "Samurai" = "punk_over_samurai", + "Jager Roaches" = "punk_over_jager_roach", + "Tunnel Snakes" = "punk_over_tunnel_snakes", + "No logo" = "") + + var/logo_type = input(user, "Choose logo type", "Gang affiliation much?") as null|anything in logo_list + + new /obj/item/clothing/suit/storage/greatcoat/punk(loc = get_turf(loc), jacket_type = jacket_list[jacket_type], logo_type = logo_list[logo_type], is_natural_spawn = FALSE) + to_chat(user, SPAN_NOTICE("You take out the jacket.")) + icon_state = "jacket_box_open" + update_icon() diff --git a/code/modules/clothing/accessories/logo.dm b/code/modules/clothing/accessories/logo.dm new file mode 100644 index 00000000000..641728eb0ac --- /dev/null +++ b/code/modules/clothing/accessories/logo.dm @@ -0,0 +1,7 @@ +/obj/item/clothing/accessory/logo + name = "gang logo" + desc = "" + icon = 'icons/inventory/accessory/icon.dmi' + icon_state = "punk_over_samurai" + isRemovable = FALSE + spawn_blacklisted = TRUE diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index b9e76149247..430beb16ebc 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -140,6 +140,45 @@ slowdown = LIGHT_SLOWDOWN valid_accessory_slots = list("armband","decor") restricted_accessory_slots = list("armband") +/obj/item/clothing/suit/storage/greatcoat/punk + name = "punk jacket" + desc = "Authentic leather for an authentic punk." + icon_state = "punk_highlight" + +/obj/item/clothing/suit/storage/greatcoat/punk/New(loc, jacket_type = "punk_highlight", logo_type, is_natural_spawn = TRUE) + ..() + if(is_natural_spawn) // From junk pile or some such + logo_type = pick(list( + null, null, null, null, // 50% chance of not having any logo + "punk_over_valentinos", + "punk_over_samurai", + "punk_over_jager_roach", + "punk_over_tunnel_snakes" + )) + jacket_type = pick(list( + "punk_bright", + "punk_dark", + "punk_highlight" + )) + + if(logo_type) + var/obj/item/clothing/accessory/logo/logo = new + logo.icon_state = logo_type + accessories += logo + logo.has_suit = src + loc = src + switch(logo_type) // All of the following names associated with some group of people, thus capitalized + if("punk_over_valentinos") + name = "Valentinos jacket" + if("punk_over_samurai") + name = "Samurai jacket" + if("punk_over_jager_roach") + name = "Jager Roaches jacket" + if("punk_over_tunnel_snakes") + name = "Tunnel Snakes jacket" + + icon_state = jacket_type + update_icon() /obj/item/clothing/suit/storage/greatcoat/ironhammer icon_state = "greatcoat_ironhammer" diff --git a/icons/inventory/accessory/mob.dmi b/icons/inventory/accessory/mob.dmi index ba10821ca7e..d9ab0ca838b 100644 Binary files a/icons/inventory/accessory/mob.dmi and b/icons/inventory/accessory/mob.dmi differ diff --git a/icons/inventory/suit/icon.dmi b/icons/inventory/suit/icon.dmi index ac294e5c6e5..1e6b05352c3 100644 Binary files a/icons/inventory/suit/icon.dmi and b/icons/inventory/suit/icon.dmi differ diff --git a/icons/inventory/suit/mob.dmi b/icons/inventory/suit/mob.dmi index 5a2825123d5..f57b85efc83 100644 Binary files a/icons/inventory/suit/mob.dmi and b/icons/inventory/suit/mob.dmi differ diff --git a/icons/inventory/suit/mob_fem.dmi b/icons/inventory/suit/mob_fem.dmi index 1e7aa3ce82a..0124cf7054f 100644 Binary files a/icons/inventory/suit/mob_fem.dmi and b/icons/inventory/suit/mob_fem.dmi differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index b6e3d606643..f2d4801c735 100755 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ