/obj/item/device/kit icon_state = "modkit" icon = 'icons/obj/device.dmi' var/new_name = "mech" //What is the variant called? var/new_desc = "A mech." //How is the new mech described? var/new_icon = "ripley" //What base icon will the new mech use? var/new_icon_file var/uses = 1 // Uses before the kit deletes itself. /obj/item/device/kit/examine() ..() usr << "It has [uses] [uses>1?"uses":"use"] left." /obj/item/device/kit/proc/use(var/amt, var/mob/user) uses -= amt playsound(get_turf(user), 'sound/items/Screwdriver.ogg', 50, 1) if(uses<1) user.drop_item() qdel(src) // Root hardsuit kit defines. // Icons for modified hardsuits need to be in the proper .dmis because suit cyclers may cock them up. /obj/item/device/kit/suit name = "voidsuit modification kit" desc = "A kit for modifying a voidsuit." uses = 2 var/new_light_overlay var/new_mob_icon_file /obj/item/clothing/head/helmet/space/void/attackby(var/obj/item/O, var/mob/user) if(istype(O,/obj/item/device/kit/suit)) var/obj/item/device/kit/suit/kit = O name = "[kit.new_name] suit helmet" desc = kit.new_desc icon_state = "[kit.new_icon]_helmet" item_state = "[kit.new_icon]_helmet" if(kit.new_icon_file) icon = kit.new_icon_file if(kit.new_mob_icon_file) icon_override = kit.new_mob_icon_file if(kit.new_light_overlay) light_overlay = kit.new_light_overlay user << "You set about modifying the helmet into [src]." var/mob/living/carbon/human/H = user if(istype(H)) species_restricted = list(H.species.name) kit.use(1,user) return 1 return ..() /obj/item/clothing/suit/space/void/attackby(var/obj/item/O, var/mob/user) if(istype(O,/obj/item/device/kit/suit)) var/obj/item/device/kit/suit/kit = O name = "[kit.new_name] voidsuit" desc = kit.new_desc icon_state = "[kit.new_icon]_suit" item_state = "[kit.new_icon]_suit" if(kit.new_icon_file) icon = kit.new_icon_file if(kit.new_mob_icon_file) icon_override = kit.new_mob_icon_file user << "You set about modifying the suit into [src]." var/mob/living/carbon/human/H = user if(istype(H)) species_restricted = list(H.species.name) kit.use(1,user) return 1 return ..() /obj/item/device/kit/paint name = "mecha customisation kit" desc = "A kit containing all the needed tools and parts to repaint a mech." var/removable = null var/list/allowed_types = list() /obj/item/device/kit/paint/examine() ..() usr << "This kit will convert an exosuit into: [new_name]." usr << "This kit can be used on the following exosuit models:" for(var/exotype in allowed_types) usr << "- [capitalize(exotype)]" /obj/mecha/attackby(var/obj/item/weapon/W, var/mob/user) if(istype(W, /obj/item/device/kit/paint)) if(occupant) user << "You can't customize a mech while someone is piloting it - that would be unsafe!" return var/obj/item/device/kit/paint/P = W var/found = null for(var/type in P.allowed_types) if(type==src.initial_icon) found = 1 break if(!found) user << "That kit isn't meant for use on this class of exosuit." return user.visible_message("[user] opens [P] and spends some quality time customising [src].") src.name = P.new_name src.desc = P.new_desc src.initial_icon = P.new_icon if(P.new_icon_file) src.icon = P.new_icon_file src.reset_icon() P.use(1, user) return 1 else return ..() //Ripley APLU kits. /obj/item/device/kit/paint/ripley name = "\"Classic\" APLU customisation kit" new_name = "APLU \"Classic\"" new_desc = "A very retro APLU unit; didn't they retire these back in 2543?" new_icon = "ripley-old" allowed_types = list("ripley") /obj/item/device/kit/paint/ripley/death name = "\"Reaper\" APLU customisation kit" new_name = "APLU \"Reaper\"" new_desc = "A terrifying, grim power loader. Why do those clamps have spikes?" new_icon = "deathripley" allowed_types = list("ripley","firefighter") /obj/item/device/kit/paint/ripley/flames_red name = "\"Firestarter\" APLU customisation kit" new_name = "APLU \"Firestarter\"" new_desc = "A standard APLU exosuit with stylish orange flame decals." new_icon = "ripley_flames_red" /obj/item/device/kit/paint/ripley/flames_blue name = "\"Burning Chrome\" APLU customisation kit" new_name = "APLU \"Burning Chrome\"" new_desc = "A standard APLU exosuit with stylish blue flame decals." new_icon = "ripley_flames_blue" // Durand kits. /obj/item/device/kit/paint/durand name = "\"Classic\" Durand customisation kit" new_name = "Durand \"Classic\"" new_desc = "An older model of Durand combat exosuit. This model was retired for rotating a pilot's torso 180 degrees." new_icon = "old_durand" allowed_types = list("durand") /obj/item/device/kit/paint/durand/seraph name = "\"Cherubim\" Durand customisation kit" new_name = "Durand \"Cherubim\"" new_desc = "A Durand combat exosuit modelled after ancient Earth entertainment. Your heart goes doki-doki just looking at it." new_icon = "old_durand" /obj/item/device/kit/paint/durand/phazon name = "\"Sypher\" Durand customisation kit" new_name = "Durand \"Sypher\"" new_desc = "A Durand combat exosuit with some very stylish neons and decals. Seems to blur slightly at the edges; probably an optical illusion." new_icon = "phazon" // Gygax kits. /obj/item/device/kit/paint/gygax name = "\"Jester\" Gygax customisation kit" new_name = "Gygax \"Jester\"" new_desc = "A Gygax exosuit modelled after the infamous combat-troubadors of Earth's distant past. Terrifying to behold." new_icon = "honker" allowed_types = list("gygax") /obj/item/device/kit/paint/gygax/darkgygax name = "\"Silhouette\" Gygax customisation kit" new_name = "Gygax \"Silhouette\"" new_desc = "An ominous Gygax exosuit modelled after the fictional corporate 'death squads' that were popular in pulp action-thrillers back in 2554." new_icon = "darkgygax" /obj/item/device/kit/paint/gygax/recitence name = "\"Gaoler\" Gygax customisation kit" new_name = "Durand \"Gaoler\"" new_desc = "A bulky silver Gygax exosuit. The extra armour appears to be painted on, but it's very shiny." new_icon = "recitence"