This commit is contained in:
Markolie
2015-09-26 05:20:20 +02:00
43 changed files with 297 additions and 538 deletions
+15 -1
View File
@@ -30,11 +30,25 @@
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/head.dmi'
)
/obj/item/clothing/head/welding/flamedecal
name = "flame decal welding helmet"
desc = "A welding helmet adorned with flame decals, and several cryptic slogans of varying degrees of legibility."
icon_state = "welding_redflame"
/obj/item/clothing/head/welding/flamedecal/blue
name = "blue flame decal welding helmet"
desc = "A welding helmet with blue flame decals on it."
icon_state = "welding_blueflame"
/obj/item/clothing/head/welding/white
name = "white decal welding helmet"
desc = "A white welding helmet with a character written across it."
icon_state = "welding_white"
/obj/item/clothing/head/welding/attack_self()
toggle()
/obj/item/clothing/head/welding/proc/toggle()
set src in usr
+8 -1
View File
@@ -216,10 +216,17 @@
/obj/item/clothing/mask/gas/sechailer/swat
name = "\improper SWAT mask"
desc = "A close-fitting tactical mask with an especially aggressive Compli-o-nator 3000."
action_button_name = "HALT!"
icon_state = "officermask"
aggressiveness = 3
ignore_maskadjust = 1
/obj/item/clothing/mask/gas/sechailer/blue
name = "\improper blue SWAT mask"
desc = "A neon blue swat mask, used for demoralizing Greytide in the wild."
icon_state = "blue_sechailer"
item_state = "blue_sechailer"
aggressiveness = 3
ignore_maskadjust = 1
/obj/item/clothing/mask/gas/sechailer/cyborg
name = "security hailer"
+9 -1
View File
@@ -131,4 +131,12 @@
desc = "A pair of costume boots fashioned after bird talons."
icon_state = "griffinboots"
item_state = "griffinboots"
flags = NODROP
flags = NODROP
/obj/item/clothing/shoes/fluff/noble_boot
name = "noble boots"
desc = "The boots are economically designed to balance function and comfort, so that you can step on peasants without having to worry about blisters. The leather also resists unwanted blood stains."
icon_state = "noble_boot"
_color = "noble_boot"
item_state = "noble_boot"
+12 -1
View File
@@ -8,7 +8,6 @@
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
siemens_coefficient = 0.6
/obj/item/clothing/suit/armor/vest
name = "armor"
desc = "An armored vest that protects against some damage."
@@ -39,6 +38,18 @@
desc = "An armored vest that protects against some damage. This one has Nanotrasen corporate badge."
icon_state = "armorsec"
item_state = "armor"
/obj/item/clothing/suit/armor/vest/blueshield
name = "blueshield security armor"
desc = "An armored vest with the badge of a Blueshield Lieutenant."
icon_state = "blueshield"
item_state = "blueshield"
/obj/item/clothing/suit/armor/vest/bloody
name = "bloodied security armor"
desc = "A vest drenched in the blood of Greytide. It has seen better days."
icon_state = "bloody_armor"
item_state = "bloody_armor"
/obj/item/clothing/suit/armor/hos
name = "armored coat"
+9 -1
View File
@@ -504,4 +504,12 @@
desc = "You'll be the Ruler of the King's Navy in no time."
icon_state = "lordadmiral"
item_state = "lordadmiral"
allowed = list (/obj/item/weapon/gun)
allowed = list (/obj/item/weapon/gun)
/obj/item/clothing/suit/fluff/noble_coat
name = "noble coat"
desc = "The livid blues, purples and greens are awesome enough to evoke a visceral response in you; it is not dissimilar to indigestion."
icon_state = "noble_coat"
item_state = "noble_coat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
@@ -675,3 +675,10 @@
icon_state = "griffin"
_color = "griffin"
flags = NODROP
/obj/item/clothing/under/noble_clothes
name = "noble clothes"
desc = "They fall just short of majestic."
icon_state = "noble_clothes"
_color = "noble_clothes"
item_state = "noble_clothes"
@@ -1,27 +0,0 @@
/**
* N3X15's Testing Shit
*
* Used to test this on /fail/station. Not used, so left out. A decent example though.
*/
/obj/item/clothing/suit/storage/labcoat/custom/N3X15
icon = 'icons/mob/custom/N3X15/suits.dmi'
custom = 1
/obj/item/clothing/suit/storage/labcoat/custom/N3X15/robotics
name = "Robotics Research Labcoat"
desc = "A suit that protects against nothing, but looks fashionable. Well, apart from the crappy portrait drawn on the back with permanent marker."
base_icon_state = "labcoat_tox"
/obj/item/clothing/under/custom/N3X15
icon = 'icons/mob/custom/N3X15/suits.dmi' // Cheating.
custom = 1
/obj/item/clothing/under/custom/N3X15/robotics
desc = "It's slimming black with reinforced seams; great for industrial work."
name = "roboticist's jumpsuit"
icon_state = "robotics"
item_state = "robotics"
color = "robotics"
@@ -1,23 +0,0 @@
////////////////////////////////////////////////////////////////////////////////
// ALL CUSTOM ITEMS MUST USE THEIR OWN DMI SO IT DOESN'T FUCK UP THE TREE.
//
// FOR FUCK'S SAKE, DO NOT ADD IN YOUR TERRIBLE FUCKING CUSTOM ITEMS TO BASE DMIS.
//
// GOOD IDEA:
//
// icons/
// mob/
// custom/
// N3X15.dmi
//
//
// FUCKING NO:
//
// icons/
// mob/
// head.dmi
//
// *** IF I SEE THIS SORT OF SHIT IN THE TREE I WILL NOT ACCEPT YOUR PULL. ***
////////////////////////////////////////////////////////////////////////////////
/obj/item/var/custom=0 // Set to override DMI locations in creature overlays, etc.
+155 -269
View File
@@ -2,23 +2,139 @@
// Remember to change 'icon = 'custom_items.dmi'' for items not using /obj/item/fluff as a base
// Clothing item_state doesn't use custom_items.dmi. Just add them to the normal clothing files.
/obj/item/fluff // so that they don't spam up the object tree
icon = 'icons/obj/custom_items.dmi'
w_class = 1.0
///////////////////////////////////////////////////////////////////////
/////////////////////PARADISE STATION CUSTOM ITEMS////////////////////
//////////////////////////////////////////////////////////////////////
/////////////////////PARADISE STATION CUSTOM ITEMS/////////////////////
///////////////////////////////////////////////////////////////////////
/obj/item/clothing/head/fluff/heather_winceworth // regens: Heather Winceworth
//////////////////////////////////
////////// Usable Items //////////
//////////////////////////////////
/obj/item/weapon/claymore/fluff // MrBarrelrolll: Maximus Greenwood
name = "Greenwood's Blade"
desc = "A replica claymore with strange markings scratched into the blade."
force = 5
sharp = 0
edge = 0
/obj/item/weapon/claymore/fluff/IsShield()
return 0
/obj/item/weapon/crowbar/fluff/zelda_creedy_1 // Zomgponies: Griffin Rowley
name = "Zelda's Crowbar"
desc = "A pink crow bar that has an engraving that reads, 'To Zelda. Love always, Dawn'"
icon = 'icons/obj/custom_items.dmi'
icon_state = "zeldacrowbar"
item_state = "crowbar"
/obj/item/clothing/glasses/meson/fluff/book_berner_1 // Adrkiller59: Adam Cooper
name = "bespectacled mesonic surveyors"
desc = "One of the older meson scanner models retrofitted to perform like its modern counterparts."
icon = 'icons/obj/custom_items.dmi'
icon_state = "book_berner_1"
/obj/item/weapon/lighter/zippo/fluff/purple // GodOfOreos: Jason Conrad
name = "purple engraved zippo"
desc = "All craftsspacemanship is of the highest quality. It is encrusted with refined plasma sheets. On the item is an image of a dwarf and the words 'Strike the Earth!' etched onto the side."
icon = 'icons/obj/custom_items.dmi'
icon_state = "purple_zippo_off"
icon_on = "purple_zippo_on"
icon_off = "purple_zippo_off"
/obj/item/weapon/lighter/zippo/fluff/michael_guess_1 // mrbits: Callista Gold
name = "engraved lighter"
desc = "A golden lighter, engraved with some ornaments and a G."
icon = 'icons/obj/custom_items.dmi'
icon_state = "guessip"
icon_on = "guessipon"
icon_off = "guessip"
//////////////////////////////////
//////////// Clothing ////////////
//////////////////////////////////
//////////// Gloves ////////////
//////////// Eye Wear ////////////
//////////// Hats ////////////
/obj/item/clothing/head/fluff/heather_winceworth // Regens: Heather Winceworth
name= "Heather's rose"
desc= "A beautiful purple rose for your hair."
icon= 'icons/obj/clothing/hats.dmi'
icon_state = "hairflowerp"
item_state = "hairflowerp"
/obj/item/clothing/head/bearpelt/fluff/polar //Gibson1027: Sploosh
name = "polar bear pelt hat"
desc = "Fuzzy, and also stained with blood."
icon = 'icons/obj/custom_items.dmi'
icon_state = "polarbearpelt"
item_state = "polarbearpelt"
/obj/item/clothing/head/fluff/sparkyninja_beret // Sparkyninja: Neil Wilkinson
name = "royal marines commando beret"
desc = "Dark Green beret with an old insignia on it."
icon_state = "sparkyninja_beret"
//////////// Suits ////////////
/obj/item/clothing/suit/storage/labcoat/fluff/aeneas_rinil //Socialsystem: Lynn Fea
name = "Robotics labcoat"
desc = "A labcoat with a few markings denoting it as the labcoat of roboticist."
icon = 'icons/obj/custom_items.dmi'
icon_state = "aeneasrinil_open"
/obj/item/clothing/suit/jacket/fluff/kidosvest // Anxipal: Kido Qasteth
name = "Kido's Vest"
desc = "A rugged leather vest with a tag labelled \"Men of Mayhem.\""
icon = 'icons/obj/custom_items.dmi'
icon_state = "kidosvest"
item_state = "kidosvest"
/obj/item/clothing/suit/fluff/kluys // Kluys: Cripty Pandaen
name = "Nano Fibre Jacket"
desc = "A Black Suit made out of nanofibre. The newest of cyberpunk fashion using hightech liquid to solid materials."
icon_state = "Kluysfluff1"
item_state = "Kluysfluff1"
blood_overlay_type = "coat"
body_parts_covered = UPPER_TORSO|ARMS
/obj/item/clothing/suit/fluff/kluys/verb/toggle()
set name = "Toggle Nanofibre Mode"
set category = "Object"
set src in usr
if(usr.stat || usr.restrained())
return 0
switch(icon_state)
if("Kluysfluff1")
src.icon_state = "Kluysfluff2"
usr << "The fibre unfolds into a jacket."
else if("Kluysfluff2")
src.icon_state = "Kluysfluff3"
usr << "The fibre unfolds into a coat."
else if("Kluysfluff3")
src.icon_state = "Kluysfluff1"
usr << "The fibre gets sucked back into its holder."
else
usr << "You attempt to hit the button but can't."
return
usr.update_inv_wear_suit()
/obj/item/clothing/suit/storage/labcoat/fluff/red // Sweetjealousy: Sophie Faust-Noms
name = "red labcoat"
desc = "A suit that protects against minor chemical spills. Has a red stripe on the shoulders and rolled up sleeves."
icon = 'icons/obj/custom_items.dmi'
icon_state = "labcoat_red_open"
/obj/item/clothing/suit/fluff/stobarico_greatcoat // Stobarico: F.U.R.R.Y
name = "\improper F.U.R.R.Y's Nanotrasen Greatcoat"
desc = "A greatcoat with Nanotrasen colors."
icon = 'icons/obj/custom_items.dmi'
icon_state = "stobarico_jacket"
//////////// Uniforms ////////////
/obj/item/clothing/under/fluff/WornTurtleneck // DaveTheHeadcrab: Makkota Atani
name = "Worn Combat Turtleneck"
desc = "A worn out turtleneck with 'J.C. NSS Regnare' stitched on the inside of the collar. The tag reveals it to be 99% NanoCotton."
@@ -29,167 +145,23 @@
has_sensor = 1 // Jumpsuit has no sensor by default
displays_id = 0 // Purely astetic, the ID does not show up on the player sprite when equipped. Examining still reveals it.
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) // Standard Security jumpsuit stats
siemens_coefficient = 0.
siemens_coefficient = 0
/obj/item/clothing/under/fluff/blackschoolGirl // Black schoolgirl uniform
name = "Black Schoolgirl Uniform"
desc = "A Japanese style school uniform for girls"
icon= 'icons/obj/clothing/uniforms.dmi'
icon_state = "schoolgirl_black"
_color = "schoolgirl_black"
item_state = "schoolgirl_black"
has_sensor = 1 // Just to make sure it has a sensor
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) // Standar Jumpsuit stats
/obj/item/clothing/head/fluff/sparkyninja_beret //Sparkyninja: Neil Wilkinson
name = "royal marines commando beret"
desc = "Dark Green beret with an old insignia on it."
icon_state = "sparkyninja_beret"
/obj/item/weapon/book/manual/security_space_law/black
name = "Space Law - Limited Edition"
desc = "A leather-bound, immaculately-written copy of JUSTICE."
icon_state = "bookSpaceLawblack"
title = "Space Law - Limited Edition"
//////////////////////////////////
////////// Usable Items //////////
//////////////////////////////////
/obj/item/weapon/pen/fluff/fountainpen //paththegreat: Eli Stevens
name = "Engraved Fountain Pen"
desc = "An expensive looking pen with the initials E.S. engraved into the side."
/obj/item/clothing/under/fluff/kharshai // Kharshai: Athena Castile
name = "Castile formal outfit"
desc = "A white and gold formal uniform, accompanied by a small pin with the numbers '004' etched upon it."
icon = 'icons/obj/custom_items.dmi'
icon_state = "fountainpen"
/obj/item/weapon/card/id/fluff/lifetime //fastler: Fastler Greay; it seemed like something multiple people would have
name = "Lifetime ID Card"
desc = "A modified ID card given only to those people who have devoted their lives to the better interests of Nanotrasen. It sparkles blue."
icon = 'icons/obj/custom_items.dmi'
icon_state = "lifetimeid"
/obj/item/weapon/crowbar/fluff/zelda_creedy_1 //daaneesh: Zelda Creedy
name = "Zelda's Crowbar"
desc = "A pink crow bar that has an engraving that reads, 'To Zelda. Love always, Dawn'"
icon = 'icons/obj/custom_items.dmi'
icon_state = "zeldacrowbar"
item_state = "crowbar"
/obj/item/weapon/claymore/fluff //MrBarrelrolll: Maximus Greenwood
name = "Greenwood's Blade"
desc = "A replica claymore with strange markings scratched into the blade."
force = 5
sharp = 0
edge = 0
/obj/item/weapon/claymore/fluff/IsShield()
return 0
//////////////////////////////////
//////////// Clothing ////////////
//////////////////////////////////
//////////// Gloves ////////////
//////////// Eye Wear ////////////
/obj/item/clothing/glasses/meson/fluff/book_berner_1 //asanadas: Book Berner
name = "bespectacled mesonic surveyors"
desc = "One of the older meson scanner models retrofitted to perform like its modern counterparts."
icon = 'icons/obj/custom_items.dmi'
icon_state = "book_berner_1"
//////////// Hats ////////////
/obj/item/clothing/head/welding/fluff/alice_mccrea_1 //madmalicemccrea: Alice McCrea
name = "flame decal welding helmet"
desc = "A welding helmet adorned with flame decals, and several cryptic slogans of varying degrees of legibility. \"Fly the Friendly Skies\" is clearly visible, written above the visor, for some reason."
icon = 'icons/obj/custom_items.dmi'
icon_state = "alice_mccrea_1"
/obj/item/clothing/head/welding/fluff/yuki_matsuda_1 //searif: Yuki Matsuda
name = "white decal welding helmet"
desc = "A white welding helmet with a character written across it."
icon = 'icons/obj/custom_items.dmi'
icon_state = "yuki_matsuda_1"
/obj/item/clothing/head/welding/fluff/norah_briggs_1 //bountylord13: Norah Briggs
name = "blue flame decal welding helmet"
desc = "A welding helmet with blue flame decals on it."
icon = 'icons/obj/custom_items.dmi'
icon_state = "norah_briggs_1"
/obj/item/clothing/head/bearpelt/fluff/polar //Gibson1027: Sploosh
name = "polar bear pelt hat"
desc = "Fuzzy, and also stained with blood."
icon = 'icons/obj/custom_items.dmi'
icon_state = "polarbearpelt"
item_state = "polarbearpelt"
//////////// Suits ////////////
/obj/item/clothing/suit/storage/labcoat/fluff/aeneas_rinil //Robotics Labcoat - Aeneas Rinil [APPR]
name = "Robotics labcoat"
desc = "A labcoat with a few markings denoting it as the labcoat of roboticist."
icon = 'icons/obj/custom_items.dmi'
icon_state = "aeneasrinil_open"
/obj/item/clothing/suit/armor/vest/fluff/deus_blueshield //deusdactyl
name = "blueshield security armor"
desc = "An armored vest with the badge of a Blueshield Lieutenant."
icon = 'icons/obj/custom_items.dmi'
icon_state = "deus_blueshield"
item_state = "deus_blueshield"
/obj/item/clothing/suit/jacket/fluff/kidosvest //Anxipal: Kido Qasteth
name = "Kido's Vest"
desc = "A rugged leather vest with a tag labelled \"Men of Mayhem.\""
icon = 'icons/obj/custom_items.dmi'
icon_state = "kidosvest"
item_state = "kidosvest"
//Kluys fluff nanofibre suit
/obj/item/clothing/suit/kluysfluff
name = "Nano Fibre Jacket"
desc = "A Black Suit made out of nanofibre. The newest of cyberpunk fashion using hightech liquid to solid materials."
icon_state = "Kluysfluff1"
item_state = "Kluysfluff1"
blood_overlay_type = "coat"
body_parts_covered = UPPER_TORSO|ARMS
/obj/item/clothing/suit/kluysfluff/verb/toggle()
set name = "Toggle Nanofibre Mode"
set category = "Object"
set src in usr
if(!usr.canmove || usr.stat || usr.restrained())
return 0
switch(icon_state)
if("Kluysfluff1")
src.icon_state = "Kluysfluff2"
usr << "The fibre unfolds into a jacket"
if("Kluysfluff2")
src.icon_state = "Kluysfluff3"
usr << "The fibre unfolds into a coat"
if("Kluysfluff3")
src.icon_state = "Kluysfluff1"
usr << "The fibre gets sucked back into its holder."
else
usr << "You attempt to hit the button but can't"
return
usr.update_inv_wear_suit() //so our overlays update
//////////// Uniforms ////////////
icon_state = "castile_dress"
item_state = "castile_dress"
_color = "castile_dress"
/obj/item/clothing/under/psysuit/fluff/isaca_sirius_1 // Xilia: Isaca Sirius
name = "Isaca's suit"
desc = "Black, comfortable and nicely fitting suit. Made not to hinder the wearer in any way. Made of some exotic fabric. And some strange glowing jewel at the waist. Name labels says; Property of Isaca Sirius; The Seeder."
/////// NT-SID Suit //Zuhayr: Jane Doe
/obj/item/clothing/under/fluff/jane_sidsuit
/obj/item/clothing/under/fluff/jane_sidsuit // SyndiGirl: Zoey Scyth
name = "NT-SID jumpsuit"
desc = "A Nanotrasen Synthetic Intelligence Division jumpsuit, issued to 'volunteers'. On other people it looks fine, but right here a scientist has noted: on you it looks stupid."
icon = 'icons/obj/custom_items.dmi'
icon_state = "jane_sid_suit"
item_state = "jane_sid_suit"
@@ -197,104 +169,49 @@
has_sensor = 2
sensor_mode = 3
//Suit roll-down toggle.
/obj/item/clothing/under/fluff/jane_sidsuit/verb/toggle_zipper()
set name = "Toggle Jumpsuit Zipper"
set category = "Object"
set src in usr
if(!usr.canmove || usr.stat || usr.restrained())
if(usr.stat || usr.restrained())
return 0
if(src.icon_state == "jane_sid_suit_down")
src._color = "jane_sid_suit"
usr << "You zip up the [src]."
usr << "You zip up \the [src]."
else
src._color = "jane_sid_suit_down"
usr << "You unzip and roll down the [src]."
usr << "You unzip and roll down \the [src]."
src.icon_state = "[_color]"
src.item_state = "[_color]"
usr.update_inv_w_uniform()
//////////// Masks ////////////
//////////// Shoes ////////////
//////////// Sets ////////////
////// Short Sleeve Medical Outfit //erthilo: Farah Lants
/obj/item/clothing/under/rank/medical/fluff/short
name = "short sleeve medical jumpsuit"
desc = "Made of a special fiber that gives special protection against biohazards. Has a cross on the chest denoting that the wearer is trained medical personnel and short sleeves."
// Fox P McCloud: Fox McCloud
/obj/item/clothing/suit/jacket/fluff/fox
name = "Aeronautics Jacket"
desc = "An aviator styled jacket made from a peculiar material; this one seems very old."
icon = 'icons/obj/custom_items.dmi'
icon_state = "medical_short"
_color = "medical_short"
/obj/item/clothing/suit/storage/labcoat/fluff/red
name = "red labcoat"
desc = "A suit that protects against minor chemical spills. Has a red stripe on the shoulders and rolled up sleeves."
icon_state = "fox_jacket"
item_state = "fox_jacket"
/obj/item/clothing/under/fluff/fox
name = "Aeronautics Jumpsuit"
desc = "A jumpsuit tailor made for spacefaring fighter pilots; this one seems very old."
icon = 'icons/obj/custom_items.dmi'
icon_state = "labcoat_red_open"
icon_state = "fox_suit"
item_state = "g_suit"
_color = "fox_suit"
displays_id = 0 //still appears on examine; this is pure fluff.
////// Blue and Bloody Set //deimosvezzati: Hiro Mezu
/obj/item/clothing/under/fluff/customblue // Personal jumpsuit (blue tie / belt buckle)
name = "custom-fitted blue jumpsuit"
desc = "A custom blue uniform made for a trapped soul. It has the initials H.M. on the tag."
icon= 'icons/obj/clothing/uniforms.dmi'
icon_state = "hm_suit"
_color = "hm_suit"
item_state = "hm_suit"
has_sensor = 1 // Just to make sure it has a sensor
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) // Standard Jumpsuit stats
/obj/item/clothing/suit/armor/vest/fluff/bloody //Bloody armor vest
name = "bloodied security armor"
desc = "A vest drenched in the blood of Greytide. It has seen better days. It has the initials H.M. scratched into the inside."
icon = 'icons/obj/custom_items.dmi'
icon_state = "hm_armorvest"
item_state = "hm_armorvest"
/obj/item/clothing/mask/gas/sechailer/fluff/bluemask //Blue security mask
name = "custom SWAT mask"
desc = "A neon blue swat mask, used for demoralizing Greytide in the wild. It has the initials H.M. on the side."
action_button_name = "HALT!"
icon = 'icons/obj/custom_items.dmi'
icon_state = "hm_sec_mask"
item_state = "hm_sec_mask"
aggressiveness = 3
ignore_maskadjust = 1
///// Noble's Clothes Set //theoricus: Baron Robot VII
/obj/item/clothing/under/fluff/noble_clothes // Custom jumpsuit
name = "noble clothes"
desc = "They fall just short of majestic."
icon = 'icons/obj/clothing/uniforms.dmi'
icon_state = "noble_clothes"
_color = "noble_clothes"
item_state = "noble_clothes"
has_sensor = 1 // Just to make sure it has a sensor
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) // Standard Jumpsuit stats
/obj/item/clothing/suit/fluff/noble_coat // A nauseatingly colored coat
name = "noble coat"
desc = "The livid blues, purples and greens are awesome enough to evoke a visceral response in you; it is not dissimilar to indigestion."
icon = 'icons/obj/custom_items.dmi'
icon_state = "noble_coat"
item_state = "noble_coat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
/obj/item/clothing/shoes/fluff/noble_boot
name = "noble boots"
desc = "The boots are economically designed to balance function and comfort, so that you can step on peasants without having to worry about blisters. The leather also resists unwanted blood stains."
icon = 'icons/obj/custom_items.dmi'
icon_state = "noble_boot"
_color = "noble_boot"
item_state = "noble_boot"
/////Arachno-Man Costume set //the flagbearer: Willow Walker
/obj/item/clothing/under/fluff/arachno_suit // Custom Jumpsuit
// TheFlagbearer: Willow Walker
/obj/item/clothing/under/fluff/arachno_suit
name = "Arachno-Man costume"
desc = "It's what an evil genius would design if he switched brains with the Amazing Arachno-Man. Actually, he'd probably add weird tentacles that come out the back, too."
icon = 'icons/obj/clothing/uniforms.dmi'
@@ -313,34 +230,3 @@
body_parts_covered = HEAD
flags = BLOCKHAIR
flags_inv = HIDEFACE
///Aeronuatical Jumpsuit and Jacket //Fox P McCloud: Fox McCloud
//Huge thanks to Nienhaus for these sprites!
/obj/item/clothing/under/fluff/fox
name = "Aeronautics Jumpsuit"
desc = "A jumpsuit tailor made for spacefaring fighter pilots; this one seems very old."
icon = 'icons/obj/custom_items.dmi'
icon_state = "fox_suit"
item_state = "g_suit"
_color = "fox_suit"
displays_id = 0 //still appears on examine; this is pure fluff.
/obj/item/clothing/suit/jacket/fluff/fox
name = "Aeronautics Jacket"
desc = "An aviator styled jacket made from a peculiar material; this one seems very old."
icon = 'icons/obj/custom_items.dmi'
icon_state = "fox_jacket"
item_state = "fox_jacket"
/obj/item/clothing/under/fluff/kharshai // Kharshai: Athena Castile
name = "Castile formal outfit"
desc = "A white and gold formal uniform, accompanied by a small pin with the numbers '004' etched upon it."
icon = 'icons/obj/custom_items.dmi'
icon_state = "castile_dress"
item_state = "castile_dress"
_color = "castile_dress"
//////////// Weapons ////////////
+15 -125
View File
@@ -1,22 +1,7 @@
/proc/EquipCustomItems(mob/living/carbon/human/M)
// testing("\[CustomItem\] Checking for custom items for [M.ckey] ([M.real_name])...")
if(!establish_db_connection())
return
// SCHEMA
/**
* CustomUserItems
*
* cuiCKey VARCHAR(36) NOT NULL,
* cuiRealName VARCHAR(60) NOT NULL,
* cuiPath VARCHAR(255) NOT NULL,
* cuiDescription TEXT NOT NULL,
* cuiReason TEXT NOT NULL,
* cuiPropAdjust TEXT NOT NULL,
* cuiJobMask TEXT NOT NULL,
* PRIMARY KEY(cuiCkey,cuiRealName,cuiPath)
*/
// Grab the info we want.
var/DBQuery/query = dbcon.NewQuery("SELECT cuiPath, cuiPropAdjust, cuiJobMask, cuiDescription, cuiItemName FROM [format_table_name("customuseritems")] WHERE cuiCKey='[M.ckey]' AND (cuiRealName='[M.real_name]' OR cuiRealName='*')")
query.Execute()
@@ -25,26 +10,22 @@
var/path = text2path(query.item[1])
var/propadjust = query.item[2]
var/jobmask = query.item[3]
testing("\[CustomItem\] Setting up [path] for [M.ckey] ([M.real_name]). jobmask=[jobmask];propadjust=[propadjust]")
var/ok=0
if(jobmask!="*")
var/ok = 0
if(jobmask != "*")
var/list/allowed_jobs = text2list(jobmask,",")
for(var/i = 1, i <= allowed_jobs.len, i++)
if(istext(allowed_jobs[i]))
allowed_jobs[i] = trim(allowed_jobs[i])
var/alt_blocked=0
var/alt_blocked = 0
if(M.mind.role_alt_title)
if(!(M.mind.role_alt_title in allowed_jobs))
alt_blocked=1
alt_blocked = 1
if(!(M.mind.assigned_role in allowed_jobs) || alt_blocked)
testing("Failed to apply custom item for [M.ckey]: Role(s) [M.mind.assigned_role][M.mind.role_alt_title ? " (nor "+M.mind.role_alt_title+")" : ""] are not in allowed_jobs ([english_list(allowed_jobs)])")
continue
var/obj/item/Item = new path()
var/description = query.item[4]
var/newname = query.item[5]
testing("Adding new custom item [query.item[1]] to [key_name_admin(M)]...")
if(istype(Item,/obj/item/weapon/card/id))
var/obj/item/weapon/card/id/I = Item
for(var/obj/item/weapon/card/id/C in M)
@@ -56,56 +37,42 @@
I.blood_type = C.blood_type
I.dna_hash = C.dna_hash
I.fingerprint_hash = C.fingerprint_hash
//I.pin = C.pin
//replace old ID
qdel(C)
ok = M.equip_if_possible(I, slot_wear_id, 0) //if 1, last argument deletes on fail
break
testing("Replaced ID!")
else if(istype(M.back,/obj/item/weapon/storage) && M.back:contents.len < M.back:storage_slots) // Try to place it in something on the mob's back
Item.loc = M.back
ok = 1
testing("Added to [M.back.name]!")
M << "\blue Your [Item.name] has been added to your [M.back.name]."
else
else if(istype(M.back, /obj/item/weapon/storage)) // Try to place it in something on the mob's back
var/obj/item/weapon/storage/S = M.back
if(S.contents.len < S.storage_slots)
Item.loc = M.back
ok = 1
M << "<span class='notice'>Your [Item.name] has been added to your [M.back.name].</span>"
if(ok == 0)
for(var/obj/item/weapon/storage/S in M.contents) // Try to place it in any item that can store stuff, on the mob.
if (S.contents.len < S.storage_slots)
Item.loc = S
ok = 1
testing("Added to [S]!")
M << "\blue Your [Item.name] has been added to your [S.name]."
M << "<span class='notice'>Your [Item.name] has been added to your [S.name].</span>"
break
if(description)
Item.desc = description
if(newname)
Item.name = newname
//skip:
if (ok == 0) // Finally, since everything else failed, place it on the ground
testing("Plopped onto the ground!")
Item.loc = get_turf(M.loc)
HackProperties(Item,propadjust)
// This is hacky, but since it's difficult as fuck to make a proper parser in BYOND without killing the server, here it is. - N3X
/proc/HackProperties(var/mob/living/carbon/human/M,var/obj/item/I,var/script)
/*
A=string:b lol {REALNAME} {ROLE} {ROLE_ALT};
B=icon:icons/dmi/lol.dmi:STATE;
B=number:29;
*/
var/list/statements=text2list(script,";")
if(statements.len==0)
return // Don't even bother.
var/list/statements = text2list(script,";")
if(statements.len == 0)
return
for(var/statement in statements)
var/list/assignmentChunks = text2list(statement,"=")
var/varname = assignmentChunks[1]
//var/operator = "="
var/list/typeChunks=text2list(script,":")
var/desiredType=typeChunks[1]
//var/value
switch(desiredType)
if("string")
var/output = typeChunks[2]
@@ -120,80 +87,3 @@
I.vars[varname]=new /icon(typeChunks[2])
if(typeChunks.len==3)
I.vars[varname]=new /icon(typeChunks[2],typeChunks[3])
//switch this out to use a database at some point
//list of ckey/ real_name and item paths
//gives item to specific people when they join if it can
//for multiple items just add mutliple entries, unless i change it to be a listlistlist
//yes, it has to be an item, you can't pick up nonitems
/* Old as fuck, not SQL-based, hardcoded keys.
/proc/EquipCustomItems(mob/living/carbon/human/M)
// load lines
var/file = file2text("config/custom_items.txt")
var/lines = text2list(file, "\n")
for(var/line in lines)
// split & clean up
var/list/Entry = text2list(line, ":")
for(var/i = 1 to Entry.len)
Entry[i] = trim(Entry[i])
if(Entry.len < 3)
continue;
if(Entry[1] == M.ckey && Entry[2] == M.real_name)
var/list/Paths = text2list(Entry[3], ",")
for(var/P in Paths)
var/ok = 0 // 1 if the item was placed successfully
P = trim(P)
var/path = text2path(P)
var/obj/item/Item = new path()
if(istype(Item,/obj/item/weapon/card/id))
//id card needs to replace the original ID
if(M.ckey == "nerezza" && M.real_name == "Asher Spock" && M.mind.role_alt_title && M.mind.role_alt_title != "Emergency Physician")
//only spawn ID if asher is joining as an emergency physician
ok = 1
del(Item)
goto skip
var/obj/item/weapon/card/id/I = Item
for(var/obj/item/weapon/card/id/C in M)
//default settings
I.name = "[M.real_name]'s ID Card ([M.mind.role_alt_title ? M.mind.role_alt_title : M.mind.assigned_role])"
I.registered_name = M.real_name
I.access = C.access
I.assignment = C.assignment
I.blood_type = C.blood_type
I.dna_hash = C.dna_hash
I.fingerprint_hash = C.fingerprint_hash
//I.pin = C.pin
//custom stuff
if(M.ckey == "fastler" && M.real_name == "Fastler Greay") //This is a Lifetime ID
I.name = "[M.real_name]'s Lifetime ID Card ([M.mind.role_alt_title ? M.mind.role_alt_title : M.mind.assigned_role])"
else if(M.ckey == "nerezza" && M.real_name == "Asher Spock") //This is an Odysseus Specialist ID
I.name = "[M.real_name]'s Odysseus Specialist ID Card ([M.mind.role_alt_title ? M.mind.role_alt_title : M.mind.assigned_role])"
I.access += list(access_robotics) //Station-based mecha pilots need this to access the recharge bay.
else if(M.ckey == "roaper" && M.real_name == "Ian Colm") //This is a Technician ID
I.name = "[M.real_name]'s Technician ID ([M.mind.role_alt_title ? M.mind.role_alt_title : M.mind.assigned_role])"
//replace old ID
del(C)
ok = M.equip_if_possible(I, slot_wear_id, 0) //if 1, last argument deletes on fail
break
else if(istype(M.back,/obj/item/weapon/storage) && M.back:contents.len < M.back:storage_slots) // Try to place it in something on the mob's back
Item.loc = M.back
ok = 1
else
for(var/obj/item/weapon/storage/S in M.contents) // Try to place it in any item that can store stuff, on the mob.
if (S.contents.len < S.storage_slots)
Item.loc = S
ok = 1
break
skip:
if (ok == 0) // Finally, since everything else failed, place it on the ground
Item.loc = get_turf(M.loc)
*/
@@ -221,7 +221,7 @@
return capitalize(newname)
/datum/species/vox/equip(var/mob/living/carbon/human/H)
if(H.mind.assigned_role != "Clown")
if(H.mind.assigned_role != "Clown" && H.mind.assigned_role != "Mime")
H.unEquip(H.wear_mask)
H.unEquip(H.l_hand)
@@ -676,8 +676,6 @@ var/global/list/damage_icon_parts = list()
if(!t_state)
t_state = s_store.icon_state
var/dmi='icons/mob/belt_mirror.dmi'
if(s_store.custom)
dmi = s_store.icon
overlays_standing[SUIT_STORE_LAYER] = image("icon" = dmi, "icon_state" = "[t_state]")
s_store.screen_loc = ui_sstore1 //TODO
else
@@ -75,7 +75,7 @@
connected_ai = null
aiCamera = new/obj/item/device/camera/siliconcam/drone_camera(src)
additional_law_channels["Drone"] = ":d"
additional_law_channels["Drone"] = ";"
playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 0)
@@ -283,7 +283,7 @@
full_law_reset()
src << "<br><b>You are a maintenance drone, a tiny-brained robotic repair machine</b>."
src << "You have no individual will, no personality, and no drives or urges other than your laws."
src << "Use <b>:d</b> to talk to other drones, and <b>say</b> to speak silently to your nearby fellows."
src << "Use <b>;</b> to talk to other drones, and <b>say</b> to speak silently to your nearby fellows."
src << "Remember, you are <b>lawed against interference with the crew</b>. Also remember, <b>you DO NOT take orders from the AI.</b>"
src << "<b>Don't invade their worksites, don't steal their resources, don't tell them about the changeling in the toilets.</b>"
src << "<b>If a crewmember has noticed you, <i>you are probably breaking your first law</i></b>."
@@ -760,7 +760,7 @@ datum/preferences
clothes_s = new /icon(uniform_dmi, "officer_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "swat_gl"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "deus_blueshield"), ICON_OVERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "blueshield"), ICON_OVERLAY)
switch(backbag)
if(2)
clothes_s.Blend(new /icon('icons/mob/back.dmi', "securitypack"), ICON_OVERLAY)
+6 -3
View File
@@ -54,14 +54,17 @@
/obj/item/weapon/pen/fancy
name = "fancy pen"
desc = "A fancy metal pen. It uses blue ink. An inscription on one side reads,\"L.L. - L.R.\""
icon = 'icons/obj/custom_items.dmi'
icon_state = "fancypen"
/obj/item/weapon/pen/gold
name = "Gilded Pen"
desc = "A golden pen that is gilded with a meager amount of gold material. The word 'Nanotrasen' is etched on the clip of the pen."
icon = 'icons/obj/custom_items.dmi'
icon_state = "eugene_pen"
icon_state = "goldpen"
/obj/item/weapon/pen/fountain
name = "Engraved Fountain Pen"
desc = "An expensive looking pen."
icon_state = "fountainpen"
/obj/item/weapon/pen/attack(mob/living/M, mob/user)
if(!istype(M))
@@ -388,14 +388,12 @@
/obj/item/weapon/reagent_containers/food/drinks/flask/thermos
name = "vintage thermos"
desc = "An older thermos with a faint shine."
icon = 'icons/obj/custom_items.dmi'
icon_state = "johann_erzatz_1"
icon_state = "thermos"
volume = 50
/obj/item/weapon/reagent_containers/food/drinks/flask/shiny
name = "shiny flask"
desc = "A shiny metal flask. It appears to have a Greek symbol inscribed on it."
icon = 'icons/obj/custom_items.dmi'
icon_state = "shinyflask"
volume = 50