mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 03:02:54 +00:00
178 lines
6.1 KiB
Plaintext
178 lines
6.1 KiB
Plaintext
/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" |