Bleeding edgy refresh (#303)

* not code stuff

* other things

* global vars, defines, helpers

* onclick hud stuff, orphans, world.dm

* controllers and datums

* game folder

* everything not client/mobs in modules

* client folder

* stage 1 mob stuff

* simple animal things

* silicons

* carbon things

* ayylmaos and monkeys

* hyoomahn

* icons n shit

* sprite fixes

* compile fixes

* some fixes I cherrypicked.

* qdel fixes

* forgot brain refractors
This commit is contained in:
Poojawa
2017-03-21 11:44:10 -05:00
committed by GitHub
parent 099a6c8764
commit f67e9f6d87
1476 changed files with 344416 additions and 40694 deletions
+121 -5
View File
@@ -55,7 +55,7 @@
else if(istype(old_headgear,/obj/item/clothing/mask/chameleon/drone))
new_headgear = new /obj/item/clothing/head/chameleon/drone()
else
owner << "<span class='warning'>You shouldn't be able to toggle a camogear helmetmask if you're not wearing it</span>"
to_chat(owner, "<span class='warning'>You shouldn't be able to toggle a camogear helmetmask if you're not wearing it</span>")
if(new_headgear)
// Force drop the item in the headslot, even though
// it's NODROP
@@ -122,6 +122,9 @@
update_item(picked_item)
/datum/action/item_action/chameleon/change/proc/update_look(mob/user, obj/item/picked_item)
if(istype(target, /obj/item/weapon/gun/energy/laser/chameleon))
var/obj/item/weapon/gun/energy/laser/chameleon/CG = target
CG.get_chameleon_projectile(picked_item)
if(isliving(user))
var/mob/living/C = user
if(C.stat != CONSCIOUS)
@@ -153,6 +156,8 @@
return 1
/datum/action/item_action/chameleon/change/proc/emp_randomise()
if(istype(target, /obj/item/weapon/gun/energy/laser/chameleon))
return //Please no crash!
START_PROCESSING(SSprocessing, src)
random_look(owner)
@@ -355,7 +360,7 @@
/obj/item/clothing/mask/chameleon/attack_self(mob/user)
vchange = !vchange
user << "<span class='notice'>The voice changer is now [vchange ? "on" : "off"]!</span>"
to_chat(user, "<span class='notice'>The voice changer is now [vchange ? "on" : "off"]!</span>")
/obj/item/clothing/mask/chameleon/drone
@@ -374,7 +379,7 @@
randomise_action.UpdateButtonIcon()
/obj/item/clothing/mask/chameleon/drone/attack_self(mob/user)
user << "<span class='notice'>The [src] does not have a voice changer.</span>"
to_chat(user, "<span class='notice'>The [src] does not have a voice changer.</span>")
/obj/item/clothing/shoes/chameleon
name = "black shoes"
@@ -404,13 +409,20 @@
/obj/item/weapon/gun/energy/laser/chameleon
name = "practice laser gun"
desc = "A modified version of the basic laser gun, this one fires less concentrated energy bolts designed for target practice."
ammo_type = list(/obj/item/ammo_casing/energy/laser/practice)
ammo_type = list(/obj/item/ammo_casing/energy/chameleon)
clumsy_check = 0
needs_permit = 0
pin = /obj/item/device/firing_pin
cell_type = /obj/item/weapon/stock_parts/cell/bluespace
var/datum/action/item_action/chameleon/change/chameleon_action
var/list/chameleon_projectile_vars
var/list/chameleon_ammo_vars
var/list/chameleon_gun_vars
var/list/projectile_copy_vars
var/list/ammo_copy_vars
var/list/gun_copy_vars
var/badmin_mode = FALSE
/obj/item/weapon/gun/energy/laser/chameleon/New()
..()
@@ -420,8 +432,96 @@
chameleon_action.chameleon_blacklist = typecacheof(/obj/item/weapon/gun/magic, ignore_root_path = FALSE)
chameleon_action.initialize_disguises()
/obj/item/weapon/gun/energy/laser/chameleon/Initialize()
..()
projectile_copy_vars = list("name", "icon", "icon_state", "item_state", "speed", "color", "hitsound", "forcedodge", "impact_effect_type", "range", "suppressed", "hitsound_wall", "impact_effect_type", "pass_flags")
chameleon_projectile_vars = list("name" = "practice laser", "icon" = 'icons/obj/projectiles.dmi', "icon_state" = "laser")
gun_copy_vars = list("fire_sound", "burst_size", "fire_delay")
chameleon_gun_vars = list()
ammo_copy_vars = list("firing_effect_type")
chameleon_ammo_vars = list()
get_chameleon_projectile(/obj/item/weapon/gun/energy/laser)
/obj/item/weapon/gun/energy/laser/chameleon/emp_act(severity)
chameleon_action.emp_randomise()
return
/obj/item/weapon/gun/energy/laser/chameleon/proc/reset_chameleon_vars()
chameleon_ammo_vars = list()
chameleon_gun_vars = list()
chameleon_projectile_vars = list()
for(var/V in chambered.vars)
chambered.vars[V] = initial(chambered.vars[V])
qdel(chambered.BB)
chambered.newshot()
for(var/V in vars)
vars[V] = initial(vars[V])
/obj/item/weapon/gun/energy/laser/chameleon/proc/set_chameleon_ammo(obj/item/ammo_casing/AC, passthrough = TRUE, reset = FALSE)
if(!istype(AC))
CRASH("[AC] is not /obj/item/ammo_casing!")
return FALSE
for(var/V in ammo_copy_vars)
if(AC.vars[V])
chameleon_ammo_vars[V] = AC.vars[V]
if(chambered.vars[V])
chambered.vars[V] = AC.vars[V]
if(passthrough)
var/obj/item/projectile/P = AC.BB
set_chameleon_projectile(P)
/obj/item/weapon/gun/energy/laser/chameleon/proc/set_chameleon_projectile(obj/item/projectile/P)
if(!istype(P))
CRASH("[P] is not /obj/item/projectile!")
return FALSE
chameleon_projectile_vars = list("name" = "practice laser", "icon" = 'icons/obj/projectiles.dmi', "icon_state" = "laser")
for(var/V in projectile_copy_vars)
if(P.vars[V])
chameleon_projectile_vars[V] = P.vars[V]
if(istype(chambered, /obj/item/ammo_casing/energy/chameleon))
var/obj/item/ammo_casing/energy/chameleon/AC = chambered
AC.projectile_vars = chameleon_projectile_vars.Copy()
if(badmin_mode)
qdel(chambered.BB)
chambered.projectile_type = P.type
chambered.newshot()
/obj/item/weapon/gun/energy/laser/chameleon/proc/set_chameleon_gun(obj/item/weapon/gun/G , passthrough = TRUE)
if(!istype(G))
CRASH("[G] is not /obj/item/weapon/gun!")
return FALSE
for(var/V in gun_copy_vars)
if(vars[V] && G.vars[V])
chameleon_gun_vars[V] = G.vars[V]
vars[V] = G.vars[V]
if(passthrough)
if(istype(G, /obj/item/weapon/gun/ballistic))
var/obj/item/weapon/gun/ballistic/BG = G
var/obj/item/ammo_box/AB = new BG.mag_type(G)
qdel(BG)
if(!istype(AB)||!AB.ammo_type)
qdel(AB)
return FALSE
var/obj/item/ammo_casing/AC = new AB.ammo_type(G)
set_chameleon_ammo(AC)
else if(istype(G, /obj/item/weapon/gun/magic))
var/obj/item/weapon/gun/magic/MG = G
var/obj/item/ammo_casing/AC = new MG.ammo_type(G)
set_chameleon_ammo(AC)
else if(istype(G, /obj/item/weapon/gun/energy))
var/obj/item/weapon/gun/energy/EG = G
if(islist(EG.ammo_type) && EG.ammo_type.len)
var/obj/item/ammo_casing/AC = EG.ammo_type[1]
set_chameleon_ammo(AC)
else if(istype(G, /obj/item/weapon/gun/syringe))
var/obj/item/ammo_casing/AC = new /obj/item/ammo_casing/syringegun(src)
set_chameleon_ammo(AC)
/obj/item/weapon/gun/energy/laser/chameleon/proc/get_chameleon_projectile(guntype)
reset_chameleon_vars()
var/obj/item/weapon/gun/G = new guntype(src)
set_chameleon_gun(G)
qdel(G)
/obj/item/weapon/storage/backpack/chameleon
name = "backpack"
@@ -437,6 +537,22 @@
/obj/item/weapon/storage/backpack/chameleon/emp_act(severity)
chameleon_action.emp_randomise()
/obj/item/weapon/storage/belt/chameleon
name = "toolbelt"
desc = "Holds tools."
silent = 1
var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/weapon/storage/belt/chameleon/New()
..()
chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/weapon/storage/belt
chameleon_action.chameleon_name = "Belt"
chameleon_action.initialize_disguises()
/obj/item/weapon/storage/belt/chameleon/emp_act(severity)
chameleon_action.emp_randomise()
/obj/item/device/radio/headset/chameleon
name = "radio headset"
var/datum/action/item_action/chameleon/change/chameleon_action
+39 -29
View File
@@ -32,6 +32,13 @@
var/obj/item/weapon/storage/internal/pocket/pockets = null
//These allow head/mask items to dynamically alter the user's hair
// and facial hair, checking hair_extensions.dmi and facialhair_extensions.dmi
// for a state matching hair_state+dynamic_hair_suffix
// THESE OVERRIDE THE HIDEHAIR FLAGS
var/dynamic_hair_suffix = ""//head > mask for head hair
var/dynamic_fhair_suffix = ""//mask > head for facial hair
/obj/item/clothing/New()
..()
if(ispath(pockets))
@@ -76,7 +83,7 @@
C.use(1)
update_clothes_damaged_state(FALSE)
obj_integrity = max_integrity
user << "<span class='notice'>You fix the damages on [src] with [C].</span>"
to_chat(user, "<span class='notice'>You fix the damages on [src] with [C].</span>")
return 1
if(pockets)
var/i = pockets.attackby(W, user, params)
@@ -92,7 +99,7 @@
pockets.remove_from_storage(I, get_turf(src))
if(!user.put_in_hands(I))
user << "<span class='notice'>You fumble for [I] and it falls on the floor.</span>"
to_chat(user, "<span class='notice'>You fumble for [I] and it falls on the floor.</span>")
return 1
user.visible_message("<span class='warning'>[user] draws [I] from [src]!</span>", "<span class='notice'>You draw [I] from [src].</span>")
return 1
@@ -133,7 +140,7 @@
/obj/item/clothing/examine(mob/user)
..()
if(damaged_clothes)
user << "<span class='warning'>It looks damaged!</span>"
to_chat(user, "<span class='warning'>It looks damaged!</span>")
/obj/item/clothing/obj_break(damage_flag)
if(!damaged_clothes)
@@ -171,11 +178,14 @@ var/list/damaged_clothes_icons = list()
desc = "Protects your hearing from loud noises, and quiet ones as well."
icon_state = "earmuffs"
item_state = "earmuffs"
flags = EARBANGPROTECT
strip_delay = 15
put_on_delay = 25
resistance_flags = FLAMMABLE
/obj/item/clothing/ears/earmuffs/Initialize(mapload)
..()
SET_SECONDARY_FLAG(src, BANG_PROTECT)
//Glasses
/obj/item/clothing/glasses
name = "glasses"
@@ -325,11 +335,11 @@ BLIND // can't see anything
flags |= visor_flags
flags_inv |= visor_flags_inv
flags_cover |= visor_flags_cover
user << "<span class='notice'>You push \the [src] back into place.</span>"
to_chat(user, "<span class='notice'>You push \the [src] back into place.</span>")
slot_flags = initial(slot_flags)
else
icon_state += "_up"
user << "<span class='notice'>You push \the [src] out of the way.</span>"
to_chat(user, "<span class='notice'>You push \the [src] out of the way.</span>")
gas_transfer_coefficient = null
permeability_coefficient = null
flags &= ~visor_flags
@@ -542,7 +552,7 @@ BLIND // can't see anything
var/obj/item/clothing/tie/T = I
if(hastie)
if(user)
user << "<span class='warning'>[src] already has an accessory.</span>"
to_chat(user, "<span class='warning'>[src] already has an accessory.</span>")
return 0
else
if(user && !user.drop_item())
@@ -551,7 +561,7 @@ BLIND // can't see anything
return
if(user && notifyAttach)
user << "<span class='notice'>You attach [I] to [src].</span>"
to_chat(user, "<span class='notice'>You attach [I] to [src].</span>")
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
@@ -569,9 +579,9 @@ BLIND // can't see anything
var/obj/item/clothing/tie/T = hastie
hastie.detach(src, user)
if(user.put_in_hands(T))
user << "<span class='notice'>You detach [T] from [src].</span>"
to_chat(user, "<span class='notice'>You detach [T] from [src].</span>")
else
user << "<span class='notice'>You detach [T] from [src] and it falls on the floor.</span>"
to_chat(user, "<span class='notice'>You detach [T] from [src] and it falls on the floor.</span>")
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
@@ -582,20 +592,20 @@ BLIND // can't see anything
..()
if(can_adjust)
if(adjusted == ALT_STYLE)
user << "Alt-click on [src] to wear it normally."
to_chat(user, "Alt-click on [src] to wear it normally.")
else
user << "Alt-click on [src] to wear it casually."
to_chat(user, "Alt-click on [src] to wear it casually.")
switch(sensor_mode)
if(0)
user << "Its sensors appear to be disabled."
to_chat(user, "Its sensors appear to be disabled.")
if(1)
user << "Its binary life sensors appear to be enabled."
to_chat(user, "Its binary life sensors appear to be enabled.")
if(2)
user << "Its vital tracker appears to be enabled."
to_chat(user, "Its vital tracker appears to be enabled.")
if(3)
user << "Its vital tracker and tracking beacon appear to be enabled."
to_chat(user, "Its vital tracker and tracking beacon appear to be enabled.")
if(hastie)
user << "\A [hastie] is attached to it."
to_chat(user, "\A [hastie] is attached to it.")
/proc/generate_female_clothing(index,t_color,icon,type)
var/icon/female_clothing_icon = icon("icon"=icon, "icon_state"=t_color)
@@ -614,29 +624,29 @@ BLIND // can't see anything
if (!can_use(M))
return
if(src.has_sensor >= 2)
usr << "The controls are locked."
to_chat(usr, "The controls are locked.")
return 0
if(src.has_sensor <= 0)
usr << "This suit does not have any sensors."
to_chat(usr, "This suit does not have any sensors.")
return 0
var/list/modes = list("Off", "Binary vitals", "Exact vitals", "Tracking beacon")
var/switchMode = input("Select a sensor mode:", "Suit Sensor Mode", modes[sensor_mode + 1]) in modes
if(get_dist(usr, src) > 1)
usr << "<span class='warning'>You have moved too far away!</span>"
to_chat(usr, "<span class='warning'>You have moved too far away!</span>")
return
sensor_mode = modes.Find(switchMode) - 1
if (src.loc == usr)
switch(sensor_mode)
if(0)
usr << "<span class='notice'>You disable your suit's remote sensing equipment.</span>"
to_chat(usr, "<span class='notice'>You disable your suit's remote sensing equipment.</span>")
if(1)
usr << "<span class='notice'>Your suit will now only report whether you are alive or dead.</span>"
to_chat(usr, "<span class='notice'>Your suit will now only report whether you are alive or dead.</span>")
if(2)
usr << "<span class='notice'>Your suit will now only report your exact vital lifesigns.</span>"
to_chat(usr, "<span class='notice'>Your suit will now only report your exact vital lifesigns.</span>")
if(3)
usr << "<span class='notice'>Your suit will now report your exact vital lifesigns as well as your coordinate position.</span>"
to_chat(usr, "<span class='notice'>Your suit will now report your exact vital lifesigns as well as your coordinate position.</span>")
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
@@ -650,7 +660,7 @@ BLIND // can't see anything
return 1
if(!user.canUseTopic(src, be_close=TRUE))
user << "<span class='warning'>You can't do that right now!</span>"
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
return
else
if(hastie)
@@ -668,12 +678,12 @@ BLIND // can't see anything
if(!can_use(usr))
return
if(!can_adjust)
usr << "<span class='warning'>You cannot wear this suit any differently!</span>"
to_chat(usr, "<span class='warning'>You cannot wear this suit any differently!</span>")
return
if(toggle_jumpsuit_adjust())
usr << "<span class='notice'>You adjust the suit to wear it more casually.</span>"
to_chat(usr, "<span class='notice'>You adjust the suit to wear it more casually.</span>")
else
usr << "<span class='notice'>You adjust the suit back to normal.</span>"
to_chat(usr, "<span class='notice'>You adjust the suit back to normal.</span>")
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
H.update_inv_w_uniform()
@@ -700,7 +710,7 @@ BLIND // can't see anything
visor_toggling()
user << "<span class='notice'>You adjust \the [src] [up ? "up" : "down"].</span>"
to_chat(user, "<span class='notice'>You adjust \the [src] [up ? "up" : "down"].</span>")
if(iscarbon(user))
var/mob/living/carbon/C = user
@@ -19,13 +19,13 @@
vision_flags = 0
darkness_view = 2
invis_view = SEE_INVISIBLE_LIVING
user << "<span class='notice'>You toggle the goggles' scanning mode to \[T-Ray].</span>"
to_chat(user, "<span class='notice'>You toggle the goggles' scanning mode to \[T-Ray].</span>")
else
STOP_PROCESSING(SSobj, src)
vision_flags = SEE_TURFS
darkness_view = 1
invis_view = SEE_INVISIBLE_MINIMUM
loc << "<span class='notice'>You toggle the goggles' scanning mode to \[Meson].</span>"
to_chat(loc, "<span class='notice'>You toggle the goggles' scanning mode to \[Meson].</span>")
invis_update()
if(ishuman(user))
@@ -121,10 +121,10 @@
if(on)
START_PROCESSING(SSobj, src)
user << "<span class='notice'>You turn the goggles on.</span>"
to_chat(user, "<span class='notice'>You turn the goggles on.</span>")
else
STOP_PROCESSING(SSobj, src)
user << "<span class='notice'>You turn the goggles off.</span>"
to_chat(user, "<span class='notice'>You turn the goggles off.</span>")
invis_update()
update_icon()
+4 -4
View File
@@ -23,7 +23,7 @@
var/mob/living/carbon/human/H = src.loc
if(!(H.disabilities & BLIND))
if(H.glasses == src)
H << "<span class='danger'>The [src] overloads and blinds you!</span>"
to_chat(H, "<span class='danger'>The [src] overloads and blinds you!</span>")
H.flash_act(visual = 1)
H.blind_eyes(3)
H.blur_eyes(5)
@@ -334,7 +334,7 @@
var/mob/living/carbon/C = user
C.update_inv_wear_mask()
else
user << "<span class='notice'>The eye winks at you and vanishes into the abyss, you feel really unlucky.</span>"
to_chat(user, "<span class='notice'>The eye winks at you and vanishes into the abyss, you feel really unlucky.</span>")
qdel(src)
..()
@@ -346,9 +346,9 @@
if(src == H.glasses)
H.client.prefs.uses_glasses_colour = !H.client.prefs.uses_glasses_colour
if(H.client.prefs.uses_glasses_colour)
H << "You will now see glasses colors."
to_chat(H, "You will now see glasses colors.")
else
H << "You will no longer see glasses colors."
to_chat(H, "You will no longer see glasses colors.")
H.update_glasses_color(src, 1)
else
return ..()
+1 -1
View File
@@ -25,7 +25,7 @@
/obj/item/clothing/glasses/hud/emag_act(mob/user)
if(emagged == 0)
emagged = 1
user << "<span class='warning'>PZZTTPFFFT</span>"
to_chat(user, "<span class='warning'>PZZTTPFFFT</span>")
desc = desc + " The display flickers slightly."
/obj/item/clothing/glasses/hud/health
@@ -5,28 +5,33 @@
desc = "Strangely ancient technology used to help provide rudimentary eye cover. Enhanced shielding blocks many flashes, and the colored lenses let you see the world in purple."
name = "purple sunglasses"
icon_state = "sun_purple"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/glasses/sunglasses/star
name = "star-shaped sunglasses"
desc = "Novelty sunglasses, both lenses are in the shape of a star."
icon_state = "sun_star"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/glasses/sunglasses/rockstar
name = "red star-shaped sunglasses"
desc = "Novelty sunglasses with a fancy silver frame and two red-tinted star-shaped lenses. You should probably stomp on them and get a pair of normal ones."
icon_state = "sun_star_silver"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/glasses/gglasses
name = "Green Glasses"
desc = "Forest green glasses, like the kind you'd wear when hatching a nasty scheme."
icon_state = "gglasses"
item_state = "gglasses"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/glasses/welding/superior
name = "superior welding goggles"
desc = "Welding goggles made from more expensive materials, strangely smells like potatoes. Allows for better vision than normal goggles.."
icon_state = "rwelding-g"
item_state = "rwelding-g"
icon = 'icons/obj/clothing/vg_clothes.dmi'
actions_types = list(/datum/action/item_action/toggle)
flash_protect = 2
tint = 1
+1 -1
View File
@@ -44,7 +44,7 @@
/obj/item/clothing/gloves/color/black/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wirecutters))
if(can_be_cut && icon_state == initial(icon_state))//only if not dyed
user << "<span class='notice'>You snip the fingertips off of [src].</span>"
to_chat(user, "<span class='notice'>You snip the fingertips off of [src].</span>")
playsound(user.loc, W.usesound, rand(10,50), 1)
new /obj/item/clothing/gloves/fingerless(user.loc)
qdel(src)
+10 -8
View File
@@ -5,48 +5,49 @@
icon_state = "bmgloves"
item_state = "bmgloves"
item_color = "bmgloves"
icon = 'icons/obj/clothing/vg_clothes.dmi'
obj/item/clothing/gloves/bikergloves
name = "Biker's Gloves"
icon_state = "biker-gloves"
item_state = "biker-gloves"
item_color = "bikergloves"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/gloves/megagloves
desc = "Uncomfortably bulky armored gloves."
name = "DRN-001 Gloves"
icon_state = "megagloves"
item_state = "megagloves"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/gloves/protogloves
desc = "Funcionally identical to the DRN-001 model's, but in red!"
name = "Prototype Gloves"
icon_state = "protogloves"
item_state = "protogloves"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/gloves/megaxgloves
desc = "An upgrade to the DRN-001's gauntlets, retains the uncomfortable armor, but comes with white gloves!"
name = "Maverick Hunter gloves"
icon_state = "megaxgloves"
item_state = "megaxgloves"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/gloves/joegloves
desc = "Large grey gloves, very similar to the Prototype's."
name = "Sniper Gloves"
icon_state = "joegloves"
item_state = "joegloves"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/gloves/doomguy
desc = ""
name = "Doomguy's gloves"
icon_state = "doom"
item_state = "doom"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/gloves/anchor_arms
name = "Anchor Arms"
@@ -59,10 +60,11 @@ obj/item/clothing/gloves/bikergloves
desc = "Utilizes a non-slip technology that allows you to never drop your precious bottles of vodka."
icon_state = "nr_gloves"
item_state = "nr_gloves"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/gloves/neorussian/fingerless
name = "neo-Russian fingerless gloves"
desc = "For these tense combat situations when you just have to pick your nose."
icon_state = "nr_fgloves"
item_state = "nr_fgloves"
item_state = "nr_fgloves"
icon = 'icons/obj/clothing/vg_clothes.dmi'
+2 -14
View File
@@ -27,23 +27,11 @@
var/datum/action/A = X
A.UpdateButtonIcon()
/obj/item/clothing/head/hardhat/pickup(mob/user)
..()
if(on)
user.AddLuminosity(brightness_on)
SetLuminosity(0)
/obj/item/clothing/head/hardhat/dropped(mob/user)
..()
if(on)
user.AddLuminosity(-brightness_on)
SetLuminosity(brightness_on)
/obj/item/clothing/head/hardhat/proc/turn_on(mob/user)
user.AddLuminosity(brightness_on)
set_light(brightness_on)
/obj/item/clothing/head/hardhat/proc/turn_off(mob/user)
user.AddLuminosity(-brightness_on)
set_light(0)
/obj/item/clothing/head/hardhat/orange
icon_state = "hardhat0_orange"
+16 -41
View File
@@ -2,7 +2,6 @@
name = "helmet"
desc = "Standard Security gear. Protects the head from impacts."
icon_state = "helmet"
flags = HEADBANGPROTECT
item_state = "helmet"
armor = list(melee = 35, bullet = 30, laser = 30,energy = 10, bomb = 25, bio = 0, rad = 0, fire = 50, acid = 50)
flags_inv = HIDEEARS
@@ -17,8 +16,9 @@
dog_fashion = /datum/dog_fashion/head/helmet
/obj/item/clothing/head/helmet/New()
/obj/item/clothing/head/helmet/Initialize()
..()
SET_SECONDARY_FLAG(src, BANG_PROTECT)
/obj/item/clothing/head/helmet/sec
can_flashlight = 1
@@ -28,7 +28,7 @@
desc = "A bulletproof combat helmet that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent."
icon_state = "helmetalt"
item_state = "helmetalt"
armor = list(melee = 15, bullet = 40, laser = 10, energy = 10, bomb = 40, bio = 0, rad = 0, fire = 50, acid = 50)
armor = list(melee = 15, bullet = 60, laser = 10, energy = 10, bomb = 40, bio = 0, rad = 0, fire = 50, acid = 50)
can_flashlight = 1
dog_fashion = null
@@ -44,7 +44,6 @@
toggle_message = "You pull the visor down on"
alt_toggle_message = "You push the visor up on"
can_toggle = 1
flags = HEADBANGPROTECT
armor = list(melee = 45, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0, fire = 50, acid = 50)
flags_inv = HIDEEARS|HIDEFACE
strip_delay = 80
@@ -64,7 +63,7 @@
flags_inv ^= visor_flags_inv
flags_cover ^= visor_flags_cover
icon_state = "[initial(icon_state)][up ? "up" : ""]"
user << "[up ? alt_toggle_message : toggle_message] \the [src]"
to_chat(user, "[up ? alt_toggle_message : toggle_message] \the [src]")
user.update_inv_head()
if(iscarbon(user))
@@ -182,12 +181,16 @@
icon_state = "knight_green"
item_state = "knight_green"
armor = list(melee = 41, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0, fire = 0, acid = 50)
flags = null
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
strip_delay = 80
dog_fashion = null
/obj/item/clothing/head/helmet/knight/Initialize(mapload)
..()
// old knight helmets do not offer protection against loud noises
CLEAR_SECONDARY_FLAG(src, BANG_PROTECT)
/obj/item/clothing/head/helmet/knight/blue
icon_state = "knight_blue"
item_state = "knight_blue"
@@ -219,7 +222,6 @@
//LightToggle
/obj/item/clothing/head/helmet/update_icon()
var/state = "[initial(icon_state)]"
if(F)
if(F.on)
@@ -233,8 +235,6 @@
var/mob/living/carbon/human/H = loc
H.update_inv_head()
return
/obj/item/clothing/head/helmet/ui_action_click(mob/user, action)
if(istype(action, /datum/action/item_action/toggle_helmet_flashlight))
toggle_helmlight()
@@ -248,9 +248,9 @@
if(!F)
if(!user.transferItemToLoc(S, src))
return
user << "<span class='notice'>You click [S] into place on [src].</span>"
to_chat(user, "<span class='notice'>You click [S] into place on [src].</span>")
if(S.on)
SetLuminosity(0)
set_light(0)
F = S
update_icon()
update_helmlight(user)
@@ -263,7 +263,7 @@
if(istype(I, /obj/item/weapon/screwdriver))
if(F)
for(var/obj/item/device/flashlight/seclite/S in src)
user << "<span class='notice'>You unscrew the seclite from [src].</span>"
to_chat(user, "<span class='notice'>You unscrew the seclite from [src].</span>")
F = null
S.loc = get_turf(user)
update_helmlight(user)
@@ -289,46 +289,21 @@
if(user.incapacitated())
return
F.on = !F.on
user << "<span class='notice'>You toggle the helmetlight [F.on ? "on":"off"].</span>"
to_chat(user, "<span class='notice'>You toggle the helmetlight [F.on ? "on":"off"].</span>")
playsound(user, 'sound/weapons/empty.ogg', 100, 1)
update_helmlight(user)
return
/obj/item/clothing/head/helmet/proc/update_helmlight(mob/user = null)
if(F)
if(F.on)
if(loc == user)
user.AddLuminosity(F.brightness_on)
else if(isturf(loc))
SetLuminosity(F.brightness_on)
set_light(F.brightness_on)
else
if(loc == user)
user.AddLuminosity(-F.brightness_on)
else if(isturf(loc))
SetLuminosity(0)
set_light(0)
update_icon()
else
if(loc == user)
user.AddLuminosity(-5)
else if(isturf(loc))
SetLuminosity(0)
set_light(0)
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
/obj/item/clothing/head/helmet/pickup(mob/user)
..()
if(F)
if(F.on)
user.AddLuminosity(F.brightness_on)
SetLuminosity(0)
/obj/item/clothing/head/helmet/dropped(mob/user)
..()
if(F)
if(F.on)
user.AddLuminosity(-F.brightness_on)
SetLuminosity(F.brightness_on)
+2 -2
View File
@@ -88,10 +88,10 @@
if(candy_cooldown < world.time)
var/obj/item/weapon/reagent_containers/food/snacks/candy_corn/CC = new /obj/item/weapon/reagent_containers/food/snacks/candy_corn(src)
M.put_in_hands(CC)
M << "You slip a candy corn from your hat."
to_chat(M, "You slip a candy corn from your hat.")
candy_cooldown = world.time+1200
else
M << "You just took a candy corn! You should wait a couple minutes, lest you burn through your stash."
to_chat(M, "You just took a candy corn! You should wait a couple minutes, lest you burn through your stash.")
//Mime
+2 -2
View File
@@ -96,12 +96,12 @@
src.icon_state = "ushankaup"
src.item_state = "ushankaup"
earflaps = 0
user << "<span class='notice'>You raise the ear flaps on the ushanka.</span>"
to_chat(user, "<span class='notice'>You raise the ear flaps on the ushanka.</span>")
else
src.icon_state = "ushankadown"
src.item_state = "ushankadown"
earflaps = 1
user << "<span class='notice'>You lower the ear flaps on the ushanka.</span>"
to_chat(user, "<span class='notice'>You lower the ear flaps on the ushanka.</span>")
/*
* Pumpkin head
+4 -4
View File
@@ -24,7 +24,7 @@
/obj/item/clothing/head/soft/AltClick(mob/user)
..()
if(!user.canUseTopic(src, be_close=TRUE))
user << "<span class='warning'>You can't do that right now!</span>"
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
return
else
flip(user)
@@ -35,15 +35,15 @@
src.flipped = !src.flipped
if(src.flipped)
icon_state = "[item_color]soft_flipped"
user << "<span class='notice'>You flip the hat backwards.</span>"
to_chat(user, "<span class='notice'>You flip the hat backwards.</span>")
else
icon_state = "[item_color]soft"
user << "<span class='notice'>You flip the hat back in normal position.</span>"
to_chat(user, "<span class='notice'>You flip the hat back in normal position.</span>")
usr.update_inv_head() //so our mob-overlays update
/obj/item/clothing/head/soft/examine(mob/user)
..()
user << "<span class='notice'>Alt-click the cap to flip it [flipped ? "forwards" : "backwards"].</span>"
to_chat(user, "<span class='notice'>Alt-click the cap to flip it [flipped ? "forwards" : "backwards"].</span>")
/obj/item/clothing/head/soft/red
name = "red cap"
+22
View File
@@ -4,6 +4,7 @@
desc = "Judge, Jury, and Executioner."
icon_state = "dredd-helmet"
item_state = "dredd-helmet"
icon = 'icons/obj/clothing/vg_clothes.dmi'
armor = list(melee = 40, bullet = 30, laser = 30,energy = 30, bomb = 50, bio = 90, rad = 20, fire = 50, acid = 50)
cold_protection = HEAD
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
@@ -19,12 +20,14 @@
armor = list(melee = 25, bullet = 0, laser = 20, energy = 10, bomb = 10, bio = 0, rad = 0)
item_state = "aviator_helmet"
icon_state = "aviator_helmet"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/helmet/biker
name = "Biker's Helmet"
desc = "This helmet should protect you from russians and masked vigilantes."
armor = list(melee = 25, bullet = 15, laser = 20, energy = 10, bomb = 10, bio = 0, rad = 0)
icon_state = "biker_helmet"
icon = 'icons/obj/clothing/vg_clothes.dmi'
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR
/obj/item/clothing/head/helmet/richard
@@ -32,6 +35,7 @@
desc = "Do you like hurting people?"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
icon_state = "richard"
icon = 'icons/obj/clothing/vg_clothes.dmi'
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR
/obj/item/clothing/head/helmet/megahelmet
@@ -39,6 +43,7 @@
desc = "The helmet of the DRN-001 model. A simple, sturdy blue helmet."
icon_state = "megahelmet"
item_state = "megahelmet"
icon = 'icons/obj/clothing/vg_clothes.dmi'
siemens_coefficient = 1
/obj/item/clothing/head/helmet/protohelmet
@@ -46,6 +51,7 @@
desc = "Shiny red helmet with white accents and a built in shaded visor that does absolutely nothing, nothing but look rad as hell."
icon_state = "protohelmet"
item_state = "protohelmet"
icon = 'icons/obj/clothing/vg_clothes.dmi'
siemens_coefficient = 1
/obj/item/clothing/head/helmet/megaxhelmet
@@ -53,6 +59,7 @@
desc = "Heavily armored upgrade to the DRN-001 model's helmet, now comes with a pointless red crystal thing!"
icon_state = "megaxhelmet"
item_state = "megaxhelmet"
icon = 'icons/obj/clothing/vg_clothes.dmi'
siemens_coefficient = 1
/obj/item/clothing/head/helmet/joehelmet
@@ -61,6 +68,7 @@
icon_state = "joehelmet"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR
item_state = "joehelmet"
icon = 'icons/obj/clothing/vg_clothes.dmi'
siemens_coefficient = 1
/obj/item/clothing/head/helmet/doomguy
@@ -69,6 +77,7 @@
icon_state = "doom"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR
item_state = "doom"
icon = 'icons/obj/clothing/vg_clothes.dmi'
armor = list(melee = 50, bullet = 40, laser = 40,energy = 40, bomb = 5, bio = 0, rad = 0)
siemens_coefficient = 1
@@ -77,6 +86,7 @@
desc = "This piece of equipment can double as a pillow, a bowl, an emergency toilet, and sometimes as a helmet."
icon_state = "nr_helmet"
item_state = "nr_helmet"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/stalhelm
@@ -84,18 +94,21 @@
desc = "Ein Helm, um die Nazi-Interesse an fremden Raumstationen zu sichern."
icon_state = "stalhelm"
item_state = "stalhelm"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/panzer
name = "Panzer Cap"
desc = "Ein Hut passen nur für die größten Tanks."
icon_state = "panzercap"
item_state = "panzercap"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/naziofficer
name = "Officer Cap"
desc = "Ein Hut von Offizieren in der Nazi-Partei getragen."
icon_state = "officercap"
item_state = "officercap"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/russobluecamohat
@@ -103,17 +116,20 @@
desc = "A symbol of discipline, honor, and lots and lots of removal of some type of skewered food."
icon_state = "russobluecamohat"
item_state = "russobluecamohat"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/russofurhat
name = "russian fur hat"
desc = "Russian winter got you down? Maybe your enemy, but not you!"
icon_state = "russofurhat"
item_state = "russofurhat"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/squatter_hat
name = "slav squatter hat"
icon_state = "squatter_hat"
item_state = "squatter_hat"
icon = 'icons/obj/clothing/vg_clothes.dmi'
desc = "Cyka blyat."
/obj/item/clothing/head/snake
@@ -121,6 +137,7 @@
desc = "Reenact acts of violence against reptiles, or sneak into a swamp unnoticed."
icon_state = "snakehead"
item_state = "snakehead"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/mummy_rags
name = "mummy rags"
@@ -128,6 +145,7 @@
icon_state = "mummy"
item_state = "mummy"
item_color = "mummy"
icon = 'icons/obj/clothing/vg_clothes.dmi'
flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS
/obj/item/clothing/head/clownpiece
@@ -135,18 +153,21 @@
desc = "A purple polka-dotted jester's hat with yellow pompons."
icon_state = "clownpiece"
item_state = "clownpiece"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/mitre
name = "mitre"
desc = "A funny hat worn by extremely boring people."
icon_state = "mitre"
item_state = "mitre"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/tinfoil
name = "tinfoil hat"
desc = "There's no evidence that the security staff is NOT out to get you."
icon_state = "foilhat"
item_state = "paper"
icon = 'icons/obj/clothing/vg_clothes.dmi'
siemens_coefficient = 2
/obj/item/clothing/head/celtic
@@ -154,3 +175,4 @@
desc = "According to legend, Celtic kings would use crowns like this one to shield their subjects from harsh winters back on Earth."
icon_state = "celtic_crown"
item_state = "celtic_crown"
icon = 'icons/obj/clothing/vg_clothes.dmi'
+2 -2
View File
@@ -20,14 +20,14 @@
/obj/item/clothing/mask/breath/AltClick(mob/user)
..()
if(!user.canUseTopic(src, be_close=TRUE))
user << "<span class='warning'>You can't do that right now!</span>"
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
return
else
adjustmask(user)
/obj/item/clothing/mask/breath/examine(mob/user)
..()
user << "<span class='notice'>Alt-click [src] to adjust it.</span>"
to_chat(user, "<span class='notice'>Alt-click [src] to adjust it.</span>")
/obj/item/clothing/mask/breath/medical
desc = "A close-fitting sterile mask that can be connected to an air supply."
+4 -4
View File
@@ -78,7 +78,7 @@
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
user << "<span class='notice'>Your Clown Mask has now morphed into [choice], all praise the Honkmother!</span>"
to_chat(user, "<span class='notice'>Your Clown Mask has now morphed into [choice], all praise the Honkmother!</span>")
return 1
/obj/item/clothing/mask/gas/sexyclown
@@ -99,7 +99,7 @@
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE
actions_types = list(/datum/action/item_action/adjust)
/obj/item/clothing/mask/gas/mime/ui_action_click(mob/user)
if(!istype(user) || user.incapacitated())
@@ -119,7 +119,7 @@
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
user << "<span class='notice'>Your Mime Mask has now morphed into [choice]!</span>"
to_chat(user, "<span class='notice'>Your Mime Mask has now morphed into [choice]!</span>")
return 1
/obj/item/clothing/mask/gas/monkeymask
@@ -193,5 +193,5 @@ obj/item/clothing/mask/gas/tiki_mask/ui_action_click(mob/user)
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
M << "The Tiki Mask has now changed into the [choice] Mask!"
to_chat(M, "The Tiki Mask has now changed into the [choice] Mask!")
return 1
+12 -10
View File
@@ -6,6 +6,7 @@
desc = "A standard issue Security gas mask with integrated 'Compli-o-nator 3000' device. Plays over a dozen pre-recorded compliance phrases designed to get scumbags to stand still whilst you taze them. Do not tamper with the device."
actions_types = list(/datum/action/item_action/halt, /datum/action/item_action/adjust)
icon_state = "sechailer"
item_state = "sechailer"
flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
flags_inv = HIDEFACIALHAIR|HIDEFACE
w_class = WEIGHT_CLASS_SMALL
@@ -24,6 +25,7 @@
desc = "A close-fitting tactical mask with an especially aggressive Compli-o-nator 3000."
actions_types = list(/datum/action/item_action/halt)
icon_state = "swat"
item_state = "swat"
aggressiveness = 3
flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEYES|HIDEEARS|HIDEHAIR
visor_flags_inv = 0
@@ -40,19 +42,19 @@
if(istype(W, /obj/item/weapon/screwdriver))
switch(aggressiveness)
if(1)
user << "<span class='notice'>You set the restrictor to the middle position.</span>"
to_chat(user, "<span class='notice'>You set the restrictor to the middle position.</span>")
aggressiveness = 2
if(2)
user << "<span class='notice'>You set the restrictor to the last position.</span>"
to_chat(user, "<span class='notice'>You set the restrictor to the last position.</span>")
aggressiveness = 3
if(3)
user << "<span class='notice'>You set the restrictor to the first position.</span>"
to_chat(user, "<span class='notice'>You set the restrictor to the first position.</span>")
aggressiveness = 1
if(4)
user << "<span class='danger'>You adjust the restrictor but nothing happens, probably because it's broken.</span>"
to_chat(user, "<span class='danger'>You adjust the restrictor but nothing happens, probably because it's broken.</span>")
else if(istype(W, /obj/item/weapon/wirecutters))
if(aggressiveness != 4)
user << "<span class='danger'>You broke the restrictor!</span>"
to_chat(user, "<span class='danger'>You broke the restrictor!</span>")
aggressiveness = 4
else
..()
@@ -68,7 +70,7 @@
/obj/item/clothing/mask/gas/sechailer/emag_act(mob/user as mob)
if(safety)
safety = FALSE
user << "<span class='warning'>You silently fry [src]'s vocal circuit with the cryptographic sequencer."
to_chat(user, "<span class='warning'>You silently fry [src]'s vocal circuit with the cryptographic sequencer.")
else
return
@@ -81,7 +83,7 @@
if(!can_use(usr))
return
if(broken_hailer)
usr << "<span class='warning'>\The [src]'s hailing system is broken.</span>"
to_chat(usr, "<span class='warning'>\The [src]'s hailing system is broken.</span>")
return
var/phrase = 0 //selects which phrase to use
@@ -96,12 +98,12 @@
switch(recent_uses)
if(3)
usr << "<span class='warning'>\The [src] is starting to heat up.</span>"
to_chat(usr, "<span class='warning'>\The [src] is starting to heat up.</span>")
if(4)
usr << "<span class='userdanger'>\The [src] is heating up dangerously from overuse!</span>"
to_chat(usr, "<span class='userdanger'>\The [src] is heating up dangerously from overuse!</span>")
if(5) //overload
broken_hailer = 1
usr << "<span class='userdanger'>\The [src]'s power modulator overloads and breaks.</span>"
to_chat(usr, "<span class='userdanger'>\The [src]'s power modulator overloads and breaks.</span>")
return
switch(aggressiveness) // checks if the user has unlocked the restricted phrases
+2 -2
View File
@@ -12,7 +12,7 @@
if(iscarbon(user))
var/mob/living/carbon/C = user
if(src == C.wear_mask)
user << "<span class='warning'>You need help taking this off!</span>"
to_chat(user, "<span class='warning'>You need help taking this off!</span>")
return
..()
@@ -57,7 +57,7 @@
/obj/item/clothing/mask/pig/attack_self(mob/user)
voicechange = !voicechange
user << "<span class='notice'>You turn the voice box [voicechange ? "on" : "off"]!</span>"
to_chat(user, "<span class='notice'>You turn the voice box [voicechange ? "on" : "off"]!</span>")
/obj/item/clothing/mask/pig/speechModification(message)
if(voicechange)
+3
View File
@@ -2,13 +2,16 @@
name = "purple clown wig and mask"
desc = "Some pranksters are truly magical."
icon_state = "wizzclown"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/mask/chapmask
name = "venetian mask"
desc = "A plain porcelain mask that covers the entire face. Standard attire for particularly unspeakable religions. The eyes are wide shut."
icon_state = "chapmask"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/mask/neorussian
name = "neo-Russian mask"
desc = "Somehow, it makes you act and look way more polite than usual."
icon_state = "nr_mask"
icon = 'icons/obj/clothing/vg_clothes.dmi'
+10 -10
View File
@@ -26,48 +26,48 @@
on = !on
flags &= ~NOSLIP
update_icon()
loc << "<span class='warning'>You ran out of bananium!</span>"
to_chat(loc, "<span class='warning'>You ran out of bananium!</span>")
else
..()
/obj/item/clothing/shoes/clown_shoes/banana_shoes/attack_self(mob/user)
var/sheet_amount = bananium.retrieve_all()
if(sheet_amount)
user << "<span class='notice'>You retrieve [sheet_amount] sheets of bananium from the prototype shoes.</span>"
to_chat(user, "<span class='notice'>You retrieve [sheet_amount] sheets of bananium from the prototype shoes.</span>")
else
user << "<span class='notice'>You cannot retrieve any bananium from the prototype shoes.</span>"
to_chat(user, "<span class='notice'>You cannot retrieve any bananium from the prototype shoes.</span>")
/obj/item/clothing/shoes/clown_shoes/banana_shoes/attackby(obj/item/O, mob/user, params)
if(!bananium.get_item_material_amount(O))
user << "<span class='notice'>This item has no bananium!</span>"
to_chat(user, "<span class='notice'>This item has no bananium!</span>")
return
if(!user.dropItemToGround(O))
user << "<span class='notice'>You can't drop [O]!</span>"
to_chat(user, "<span class='notice'>You can't drop [O]!</span>")
return
var/bananium_amount = bananium.insert_item(O)
if(bananium_amount)
user << "<span class='notice'>You insert [O] into the prototype shoes.</span>"
to_chat(user, "<span class='notice'>You insert [O] into the prototype shoes.</span>")
qdel(O)
else
user << "<span class='notice'>You are unable to insert more bananium!</span>"
to_chat(user, "<span class='notice'>You are unable to insert more bananium!</span>")
/obj/item/clothing/shoes/clown_shoes/banana_shoes/examine(mob/user)
..()
var/ban_amt = bananium.amount(MAT_BANANIUM)
user << "<span class='notice'>The shoes are [on ? "enabled" : "disabled"]. There is [ban_amt ? ban_amt : "no"] bananium left.</span>"
to_chat(user, "<span class='notice'>The shoes are [on ? "enabled" : "disabled"]. There is [ban_amt ? ban_amt : "no"] bananium left.</span>")
/obj/item/clothing/shoes/clown_shoes/banana_shoes/ui_action_click(mob/user)
if(bananium.amount(MAT_BANANIUM))
on = !on
update_icon()
user << "<span class='notice'>You [on ? "activate" : "deactivate"] the prototype shoes.</span>"
to_chat(user, "<span class='notice'>You [on ? "activate" : "deactivate"] the prototype shoes.</span>")
if(on)
flags |= NOSLIP
else
flags &= ~NOSLIP
else
user << "<span class='warning'>You need bananium to turn the prototype shoes on!</span>"
to_chat(user, "<span class='warning'>You need bananium to turn the prototype shoes on!</span>")
/obj/item/clothing/shoes/clown_shoes/banana_shoes/update_icon()
if(on)
+1 -1
View File
@@ -108,6 +108,6 @@
if(ishuman(user))
var/mob/living/carbon/human/C = user
if(C.shoes == src && src.chained == 1)
user << "<span class='warning'>You need help taking these off!</span>"
to_chat(user, "<span class='warning'>You need help taking these off!</span>")
return
..()
+2 -2
View File
@@ -29,7 +29,7 @@
src.slowdown = slowdown_active
magpulse = !magpulse
icon_state = "[magboot_state][magpulse]"
user << "<span class='notice'>You [magpulse ? "enable" : "disable"] the mag-pulse traction system.</span>"
to_chat(user, "<span class='notice'>You [magpulse ? "enable" : "disable"] the mag-pulse traction system.</span>")
user.update_inv_shoes() //so our mob-overlays update
user.update_gravity(user.has_gravity())
for(var/X in actions)
@@ -41,7 +41,7 @@
/obj/item/clothing/shoes/magboots/examine(mob/user)
..()
user << "Its mag-pulse traction system appears to be [magpulse ? "enabled" : "disabled"]."
to_chat(user, "Its mag-pulse traction system appears to be [magpulse ? "enabled" : "disabled"].")
/obj/item/clothing/shoes/magboots/advance
+1 -1
View File
@@ -190,7 +190,7 @@
return
if(recharging_time > world.time)
usr << "<span class='warning'>The boot's internal propulsion needs to recharge still!</span>"
to_chat(usr, "<span class='warning'>The boot's internal propulsion needs to recharge still!</span>")
return
var/atom/target = get_edge_target_turf(usr, usr.dir) //gets the user's direction
+18 -1
View File
@@ -4,12 +4,14 @@
desc = "A sturdy pair of leather shoes."
icon_state = "leather"
item_color = "leather"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/magboots/deathsquad
desc = "Very expensive and advanced magnetic boots, used only by the elite during extravehicular activity to ensure the user remains safely attached to the vehicle."
name = "deathsquad magboots"
icon_state = "DS-magboots0"
magboot_state = "DS-magboots"
icon = 'icons/obj/clothing/vg_clothes.dmi'
origin_tech = null
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
@@ -17,6 +19,7 @@
desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle. These are painted in the colors of an atmospheric technician."
name = "atmospherics magboots"
icon_state = "atmosmagboots0"
icon = 'icons/obj/clothing/vg_clothes.dmi'
magboot_state = "atmosmagboots"
resistance_flags = FIRE_PROOF
@@ -24,68 +27,82 @@
name = "Simon's Shoes"
desc = "Simon's Shoes."
icon_state = "simonshoes"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/kneesocks
name = "kneesocks"
desc = "A pair of girly knee-high socks."
icon_state = "kneesock"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/jestershoes
name = "Jester Shoes"
desc = "As worn by the clowns of old."
icon_state = "jestershoes"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/aviatorboots
name = "Aviator Boots"
desc = "Boots suitable for just about any occasion."
icon_state = "aviator_boots"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/libertyshoes
name = "Liberty Shoes"
desc = "Freedom isn't free, neither were these shoes."
icon_state = "libertyshoes"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/megaboots
name = "DRN-001 Boots"
desc = "Large armored boots, very weak to large spikes."
icon_state = "megaboots"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/protoboots
name = "Prototype Boots"
desc = "Functionally identical to the DRN-001 model's boots, but in red."
icon_state = "protoboots"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/megaxboots
name = "Maverick Hunter boots"
desc = "Regardless of how much stronger these boots are than the DRN-001 model's, they're still extremely easy to pierce with a large spike."
icon_state = "megaxboots"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/joeboots
name = "Sniper Boots"
desc = "Nearly identical to the Prototype's boots, except in black."
icon_state = "joeboots"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/doomguy
name = "Doomguy's boots"
desc = ""
icon_state = "doom"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/rottenshoes
name = "rotten shoes"
desc = "These shoes seem perfect for sneaking around."
icon_state = "rottenshoes"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/sandal/slippers
name = "magic slippers"
icon_state = "slippers"
desc = "For the wizard that puts comfort first. Who's going to laugh?"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/slippers_worn
name = "worn bunny slippers"
desc = "Fluffy..."
icon_state = "slippers_worn"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/shoes/jackboots/neorussian
name = "neo-Russian boots"
desc = "Tovarish, no one will realize you stepped on a pile of shit if your pair already looks like shit."
icon_state = "nr_boots"
icon_state = "nr_boots"
icon = 'icons/obj/clothing/vg_clothes.dmi'
+18 -18
View File
@@ -72,8 +72,8 @@
switch(severity)
if(1)
if(activated && user && ishuman(user) && (user.wear_suit == src))
user << "<span class='danger'>E:FATAL:RAM_READ_FAIL\nE:FATAL:STACK_EMPTY\nE:FATAL:READ_NULL_POINT\nE:FATAL:PWR_BUS_OVERLOAD</span>"
user << "<span class='userdanger'>An electromagnetic pulse disrupts your [name] and violently tears you out of time-bluespace!</span>"
to_chat(user, "<span class='danger'>E:FATAL:RAM_READ_FAIL\nE:FATAL:STACK_EMPTY\nE:FATAL:READ_NULL_POINT\nE:FATAL:PWR_BUS_OVERLOAD</span>")
to_chat(user, "<span class='userdanger'>An electromagnetic pulse disrupts your [name] and violently tears you out of time-bluespace!</span>")
user.emote("scream")
deactivate(1, 1)
@@ -129,7 +129,7 @@
for(var/exposed_item in exposed)
var/obj/item/exposed_I = exposed_item
if(exposed_I && !(exposed_I.type in chronosafe_items) && user.dropItemToGround(exposed_I))
user << "<span class='notice'>Your [exposed_I.name] got left behind.</span>"
to_chat(user, "<span class='notice'>Your [exposed_I.name] got left behind.</span>")
user.ExtinguishMob()
@@ -201,24 +201,24 @@
activating = 1
var/mob/living/carbon/human/user = src.loc
if(user && ishuman(user) && user.wear_suit == src)
user << "\nChronosuitMK4 login: root"
user << "Password:\n"
user << "root@ChronosuitMK4# chronowalk4 --start\n"
to_chat(user, "\nChronosuitMK4 login: root")
to_chat(user, "Password:\n")
to_chat(user, "root@ChronosuitMK4# chronowalk4 --start\n")
if(user.head && istype(user.head, /obj/item/clothing/head/helmet/space/chronos))
user << "\[ <span style='color: #00ff00;'>ok</span> \] Mounting /dev/helm"
to_chat(user, "\[ <span style='color: #00ff00;'>ok</span> \] Mounting /dev/helm")
helmet = user.head
helmet.flags |= NODROP
helmet.suit = src
src.flags |= NODROP
user << "\[ <span style='color: #00ff00;'>ok</span> \] Starting brainwave scanner"
user << "\[ <span style='color: #00ff00;'>ok</span> \] Starting ui display driver"
user << "\[ <span style='color: #00ff00;'>ok</span> \] Initializing chronowalk4-view"
to_chat(user, "\[ <span style='color: #00ff00;'>ok</span> \] Starting brainwave scanner")
to_chat(user, "\[ <span style='color: #00ff00;'>ok</span> \] Starting ui display driver")
to_chat(user, "\[ <span style='color: #00ff00;'>ok</span> \] Initializing chronowalk4-view")
new_camera(user)
START_PROCESSING(SSobj, src)
activated = 1
else
user << "\[ <span style='color: #ff0000;'>fail</span> \] Mounting /dev/helm"
user << "<span style='color: #ff0000;'><b>FATAL: </b>Unable to locate /dev/helm. <b>Aborting...</b>"
to_chat(user, "\[ <span style='color: #ff0000;'>fail</span> \] Mounting /dev/helm")
to_chat(user, "<span style='color: #ff0000;'><b>FATAL: </b>Unable to locate /dev/helm. <b>Aborting...</b>")
teleport_now.Grant(user)
cooldown = world.time + cooldowntime
activating = 0
@@ -240,14 +240,14 @@
user.electrocute_act(35, src, safety = 1)
user.Weaken(10)
if(!silent)
user << "\nroot@ChronosuitMK4# chronowalk4 --stop\n"
to_chat(user, "\nroot@ChronosuitMK4# chronowalk4 --stop\n")
if(camera)
user << "\[ <span style='color: #ff5500;'>ok</span> \] Sending TERM signal to chronowalk4-view"
to_chat(user, "\[ <span style='color: #ff5500;'>ok</span> \] Sending TERM signal to chronowalk4-view")
if(helmet)
user << "\[ <span style='color: #ff5500;'>ok</span> \] Stopping ui display driver"
user << "\[ <span style='color: #ff5500;'>ok</span> \] Stopping brainwave scanner"
user << "\[ <span style='color: #ff5500;'>ok</span> \] Unmounting /dev/helmet"
user << "logout"
to_chat(user, "\[ <span style='color: #ff5500;'>ok</span> \] Stopping ui display driver")
to_chat(user, "\[ <span style='color: #ff5500;'>ok</span> \] Stopping brainwave scanner")
to_chat(user, "\[ <span style='color: #ff5500;'>ok</span> \] Unmounting /dev/helmet")
to_chat(user, "logout")
if(helmet)
helmet.flags &= ~NODROP
helmet.suit = null
+17 -16
View File
@@ -18,11 +18,11 @@
var/icon_state_boost = "flightpack_boost"
var/item_state_boost = "flightpack_boost"
actions_types = list(/datum/action/item_action/flightpack/toggle_flight, /datum/action/item_action/flightpack/engage_boosters, /datum/action/item_action/flightpack/toggle_stabilizers, /datum/action/item_action/flightpack/change_power, /datum/action/item_action/flightpack/toggle_airbrake)
armor = list(melee = 20, bullet = 20, laser = 20, energy = 10, bomb = 30, bio = 100, rad = 75, fire = 100, acid = 100)
armor = list(melee = 20, bullet = 20, laser = 20, energy = 10, bomb = 30, bio = 100, rad = 75, fire = 100, acid = 75)
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_BACK
resistance_flags = FIRE_PROOF | ACID_PROOF
resistance_flags = FIRE_PROOF
var/obj/item/clothing/suit/space/hardsuit/flightsuit/suit = null
var/mob/living/carbon/human/wearer = null
@@ -174,8 +174,8 @@
damage = emp_weak_damage
if(emp_damage <= (emp_disable_threshold * 1.5))
emp_damage += damage
wearer << "<span class='userdanger'>Flightpack: BZZZZZZZZZZZT</span>"
wearer << "<span class='warning'>Flightpack: WARNING: Class [severity] EMP detected! Circuit damage at [(100/emp_disable_threshold)*emp_damage]!</span>"
to_chat(wearer, "<span class='userdanger'>Flightpack: BZZZZZZZZZZZT</span>")
to_chat(wearer, "<span class='warning'>Flightpack: WARNING: Class [severity] EMP detected! Circuit damage at [(100/emp_disable_threshold)*emp_damage]!</span>")
//action BUTTON CODE
/obj/item/device/flightpack/ui_action_click(owner, action)
@@ -796,13 +796,13 @@
/obj/item/device/flightpack/proc/usermessage(message, urgency = 0)
if(urgency == 0)
wearer << "\icon[src]|<span class='boldnotice'>[message]</span>"
to_chat(wearer, "\icon[src]|<span class='boldnotice'>[message]</span>")
if(urgency == 1)
wearer << "\icon[src]|<span class='warning'>[message]</span>"
to_chat(wearer, "\icon[src]|<span class='warning'>[message]</span>")
if(urgency == 2)
wearer << "\icon[src]|<span class='boldwarning'>[message]</span>"
to_chat(wearer, "\icon[src]|<span class='boldwarning'>[message]</span>")
if(urgency == 3)
wearer << "\icon[src]|<span class='userdanger'>[message]</span>"
to_chat(wearer, "\icon[src]|<span class='userdanger'>[message]</span>")
/obj/item/device/flightpack/attackby(obj/item/I, mob/user, params)
if(ishuman(user) && !ishuman(src.loc))
@@ -949,17 +949,17 @@
/obj/item/clothing/suit/space/hardsuit/flightsuit/proc/usermessage(message, urgency = 0)
if(!urgency)
user << "\icon[src]<span class='notice'>|[message]</span>"
to_chat(user, "\icon[src]<span class='notice'>|[message]</span>")
else if(urgency == 1)
user << "\icon[src]<span class='warning'>|[message]</span>"
to_chat(user, "\icon[src]<span class='warning'>|[message]</span>")
else if(urgency == 2)
user << "\icon[src]<span class='userdanger'>|[message]</span>"
to_chat(user, "\icon[src]<span class='userdanger'>|[message]</span>")
/obj/item/clothing/suit/space/hardsuit/flightsuit/examine(mob/user)
..()
user << "<span class='boldnotice'>SUIT: [locked ? "LOCKED" : "UNLOCKED"]</span>"
user << "<span class='boldnotice'>FLIGHTPACK: [deployedpack ? "ENGAGED" : "DISENGAGED"] FLIGHTSHOES : [deployedshoes ? "ENGAGED" : "DISENGAGED"] HELMET : [suittoggled ? "ENGAGED" : "DISENGAGED"]</span>"
user << "<span class='boldnotice'>Its maintainence panel is [maint_panel ? "OPEN" : "CLOSED"]</span>"
to_chat(user, "<span class='boldnotice'>SUIT: [locked ? "LOCKED" : "UNLOCKED"]</span>")
to_chat(user, "<span class='boldnotice'>FLIGHTPACK: [deployedpack ? "ENGAGED" : "DISENGAGED"] FLIGHTSHOES : [deployedshoes ? "ENGAGED" : "DISENGAGED"] HELMET : [suittoggled ? "ENGAGED" : "DISENGAGED"]</span>")
to_chat(user, "<span class='boldnotice'>Its maintainence panel is [maint_panel ? "OPEN" : "CLOSED"]</span>")
/obj/item/clothing/suit/space/hardsuit/flightsuit/Destroy()
dropped()
@@ -1259,6 +1259,7 @@
item_color = "flight"
resistance_flags = FIRE_PROOF | ACID_PROOF
brightness_on = 7
light_color = "#30ffff"
armor = list(melee = 20, bullet = 20, laser = 20, energy = 10, bomb = 30, bio = 100, rad = 75, fire = 100, acid = 100)
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
var/list/datahuds = list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC)
@@ -1288,12 +1289,12 @@
/obj/item/clothing/head/helmet/space/hardsuit/flightsuit/proc/toggle_zoom(mob/living/user, force_off = FALSE)
if(zoom || force_off)
user.client.change_view(world.view)
user << "<span class='boldnotice'>Disabling smart zooming image enhancement...</span>"
to_chat(user, "<span class='boldnotice'>Disabling smart zooming image enhancement...</span>")
zoom = FALSE
return FALSE
else
user.client.change_view(zoom_range)
user << "<span class='boldnotice'>Enabling smart zooming image enhancement!</span>"
to_chat(user, "<span class='boldnotice'>Enabling smart zooming image enhancement!</span>")
zoom = TRUE
return TRUE
+14 -24
View File
@@ -21,25 +21,15 @@
user.update_inv_head() //so our mob-overlays update
if(on)
user.AddLuminosity(brightness_on)
set_light(brightness_on)
else
user.AddLuminosity(-brightness_on)
set_light(0)
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
/obj/item/clothing/head/helmet/space/hardsuit/pickup(mob/user)
..()
if(on)
user.AddLuminosity(brightness_on)
SetLuminosity(0)
/obj/item/clothing/head/helmet/space/hardsuit/dropped(mob/user)
..()
if(on)
user.AddLuminosity(-brightness_on)
SetLuminosity(brightness_on)
if(suit)
suit.RemoveHelmet()
@@ -97,28 +87,28 @@
/obj/item/clothing/suit/space/hardsuit/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/tank/jetpack/suit))
if(jetpack)
user << "<span class='warning'>[src] already has a jetpack installed.</span>"
to_chat(user, "<span class='warning'>[src] already has a jetpack installed.</span>")
return
if(src == user.get_item_by_slot(slot_wear_suit)) //Make sure the player is not wearing the suit before applying the upgrade.
user << "<span class='warning'>You cannot install the upgrade to [src] while wearing it.</span>"
to_chat(user, "<span class='warning'>You cannot install the upgrade to [src] while wearing it.</span>")
return
if(user.transferItemToLoc(I, src))
jetpack = I
user << "<span class='notice'>You successfully install the jetpack into [src].</span>"
to_chat(user, "<span class='notice'>You successfully install the jetpack into [src].</span>")
else if(istype(I, /obj/item/weapon/screwdriver))
if(!jetpack)
user << "<span class='warning'>[src] has no jetpack installed.</span>"
to_chat(user, "<span class='warning'>[src] has no jetpack installed.</span>")
return
if(src == user.get_item_by_slot(slot_wear_suit))
user << "<span class='warning'>You cannot remove the jetpack from [src] while wearing it.</span>"
to_chat(user, "<span class='warning'>You cannot remove the jetpack from [src] while wearing it.</span>")
return
jetpack.turn_off()
jetpack.loc = get_turf(src)
jetpack = null
user << "<span class='notice'>You successfully remove the jetpack from [src].</span>"
to_chat(user, "<span class='notice'>You successfully remove the jetpack from [src].</span>")
/obj/item/clothing/suit/space/hardsuit/equipped(mob/user, slot)
@@ -254,23 +244,23 @@
/obj/item/clothing/head/helmet/space/hardsuit/syndi/attack_self(mob/user) //Toggle Helmet
if(!isturf(user.loc))
user << "<span class='warning'>You cannot toggle your helmet while in this [user.loc]!</span>" //To prevent some lighting anomalities.
to_chat(user, "<span class='warning'>You cannot toggle your helmet while in this [user.loc]!</span>" )
return
on = !on
if(on || force)
user << "<span class='notice'>You switch your hardsuit to EVA mode, sacrificing speed for space protection.</span>"
to_chat(user, "<span class='notice'>You switch your hardsuit to EVA mode, sacrificing speed for space protection.</span>")
name = initial(name)
desc = initial(desc)
user.AddLuminosity(brightness_on)
set_light(brightness_on)
flags |= visor_flags
flags_cover |= HEADCOVERSEYES | HEADCOVERSMOUTH
flags_inv |= visor_flags_inv
cold_protection |= HEAD
else
user << "<span class='notice'>You switch your hardsuit to combat mode and can now run at full speed.</span>"
to_chat(user, "<span class='notice'>You switch your hardsuit to combat mode and can now run at full speed.</span>")
name += " (combat)"
desc = alt_desc
user.AddLuminosity(-brightness_on)
set_light(0)
flags &= ~visor_flags
flags_cover &= ~(HEADCOVERSEYES | HEADCOVERSMOUTH)
flags_inv &= ~visor_flags_inv
@@ -437,7 +427,7 @@
/obj/item/clothing/head/helmet/space/hardsuit/rd/equipped(mob/living/carbon/human/user, slot)
..()
if(user.glasses && istype(user.glasses, /obj/item/clothing/glasses/hud/diagnostic))
user << ("<span class='warning'>Your [user.glasses] prevents you using [src]'s diagnostic visor HUD.</span>")
to_chat(user, ("<span class='warning'>Your [user.glasses] prevents you using [src]'s diagnostic visor HUD.</span>"))
else
onboard_hud_enabled = 1
var/datum/atom_hud/DHUD = huds[DATA_HUD_DIAGNOSTIC]
+4 -22
View File
@@ -16,7 +16,7 @@
/obj/item/clothing/suit/space/eva/plasmaman/examine(mob/user)
..()
user << "<span class='notice'>There are [extinguishes_left] extinguisher charges left in this suit.</span>"
to_chat(user, "<span class='notice'>There are [extinguishes_left] extinguisher charges left in this suit.</span>")
/obj/item/clothing/suit/space/eva/plasmaman/proc/Extinguish(mob/living/carbon/human/H)
@@ -54,28 +54,10 @@
user.update_inv_head() //So the mob overlay updates
if(on)
turn_on(user)
set_light(brightness_on)
else
turn_off(user)
set_light(0)
for(var/X in actions)
var/datum/action/A=X
A.UpdateButtonIcon()
/obj/item/clothing/head/helmet/space/plasmaman/pickup(mob/user)
..()
if(on)
user.AddLuminosity(brightness_on)
SetLuminosity(0)
/obj/item/clothing/head/helmet/space/plasmaman/dropped(mob/user)
..()
if(on)
user.AddLuminosity(-brightness_on)
SetLuminosity(brightness_on)
/obj/item/clothing/head/helmet/space/plasmaman/proc/turn_on/(mob/user)
user.AddLuminosity(brightness_on)
/obj/item/clothing/head/helmet/space/plasmaman/proc/turn_off/(mob/user)
user.AddLuminosity(-brightness_on)
+15 -1
View File
@@ -7,6 +7,7 @@
icon_state = "hardsuit0-nazi"
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20)
item_color = "nazi"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/suit/space/hardsuit/nazi
name = "nazi hardsuit"
@@ -17,6 +18,7 @@
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20)
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/melee/)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/nazi
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/helmet/space/hardsuit/soviet
name = "soviet hardhelmet"
@@ -25,6 +27,7 @@
icon_state = "hardsuit0-soviet"
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20)
item_color = "soviet"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/suit/space/hardsuit/soviet
name = "soviet hardsuit"
@@ -35,6 +38,7 @@
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20)
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/melee/)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/soviet
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/helmet/space/hardsuit/knight
name = "Space-Knight helm"
@@ -44,6 +48,7 @@
armor = list(melee = 60, bullet = 40, laser = 40,energy = 30, bomb = 50, bio = 100, rad = 60)
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
item_color="knight"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/suit/space/hardsuit/knight
name = "Space-Knight armour"
@@ -56,6 +61,7 @@
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
siemens_coefficient = 0.5
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/knight
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/helmet/space/hardsuit/knight/black
name = "Black Knight's helm"
@@ -64,6 +70,7 @@
item_state = "hardsuit0-blackknight"
armor = list(melee = 70, bullet = 65, laser = 50,energy = 25, bomb = 60, bio = 100, rad = 60)
item_color="blackknight"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/suit/space/hardsuit/knight/black
name = "Black Knight's armour"
@@ -72,6 +79,7 @@
item_state = "hardsuit-blackknight"
armor = list(melee = 70, bullet = 65, laser = 50,energy = 25, bomb = 60, bio = 100, rad = 60)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/knight/black
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/helmet/space/hardsuit/knight/solaire
name = "Solar helm"
@@ -80,6 +88,7 @@
item_state = "hardsuit0-solaire"
armor = list(melee = 60, bullet = 65, laser = 90,energy = 30, bomb = 60, bio = 100, rad = 100)
item_color="solaire"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/suit/space/hardsuit/knight/solaire
name = "Solar armour"
@@ -88,6 +97,7 @@
item_state = "hardsuit-solaire"
armor = list(melee = 60, bullet = 65, laser = 90,energy = 30, bomb = 60, bio = 100, rad = 100)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/knight/solaire
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/helmet/space/hardsuit/t51b
name = "T-51b Power Armor"
@@ -96,6 +106,7 @@
item_state = "hardsuit0-t51b"
armor = list(melee = 35, bullet = 35, laser = 40, energy = 40, bomb = 80, bio = 100, rad = 100)
item_color="t51b"
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/suit/space/hardsuit/t51b
name = "T-51b Power Armor"
@@ -104,6 +115,7 @@
item_state = "hardsuit-t51b"
armor = list(melee = 35, bullet = 35, laser = 40, energy = 40, bomb = 80, bio = 100, rad = 100)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/t51b
icon = 'icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/helmet/space/bomberman
@@ -113,6 +125,7 @@
item_state = "bomberman"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0)
siemens_coefficient = 0
icon = 'icons/obj/clothing/vg_clothes.dmi'
obj/item/clothing/suit/space/bomberman
name = "Bomberman's suit"
@@ -122,4 +135,5 @@ obj/item/clothing/suit/space/bomberman
slowdown = 0
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0)
siemens_coefficient = 0
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
icon = 'icons/obj/clothing/vg_clothes.dmi'
+3 -3
View File
@@ -119,7 +119,7 @@
icon_state = "bulletproof"
item_state = "armor"
blood_overlay_type = "armor"
armor = list(melee = 15, bullet = 80, laser = 10, energy = 10, bomb = 40, bio = 0, rad = 0, fire = 50, acid = 50)
armor = list(melee = 15, bullet = 60, laser = 10, energy = 10, bomb = 40, bio = 0, rad = 0, fire = 50, acid = 50)
strip_delay = 70
put_on_delay = 50
@@ -167,11 +167,11 @@
/obj/item/clothing/suit/armor/reactive/attack_self(mob/user)
src.active = !( src.active )
if (src.active)
user << "<span class='notice'>[src] is now active.</span>"
to_chat(user, "<span class='notice'>[src] is now active.</span>")
src.icon_state = "reactive"
src.item_state = "reactive"
else
user << "<span class='notice'>[src] is now inactive.</span>"
to_chat(user, "<span class='notice'>[src] is now inactive.</span>")
src.icon_state = "reactiveoff"
src.item_state = "reactiveoff"
src.add_fingerprint(user)
+10 -1
View File
@@ -428,7 +428,7 @@
name = "winter coat"
desc = "A heavy jacket made from 'synthetic' animal furs."
icon_state = "coatwinter"
item_state = "labcoat"
item_state = "coatwinter"
body_parts_covered = CHEST|GROIN|ARMS
cold_protection = CHEST|GROIN|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
@@ -447,6 +447,7 @@
/obj/item/clothing/suit/hooded/wintercoat/captain
name = "captain's winter coat"
icon_state = "coatcaptain"
item_state = "coatcaptain"
armor = list(melee = 25, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 50)
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/ballistic,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic)
hoodtype = /obj/item/clothing/head/hooded/winterhood/captain
@@ -457,6 +458,7 @@
/obj/item/clothing/suit/hooded/wintercoat/security
name = "security winter coat"
icon_state = "coatsecurity"
item_state = "coatsecurity"
armor = list(melee = 25, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 45)
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/ballistic,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic)
hoodtype = /obj/item/clothing/head/hooded/winterhood/security
@@ -467,6 +469,7 @@
/obj/item/clothing/suit/hooded/wintercoat/medical
name = "medical winter coat"
icon_state = "coatmedical"
item_state = "coatmedical"
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/classic_baton/telescopic)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0, fire = 0, acid = 45)
hoodtype = /obj/item/clothing/head/hooded/winterhood/medical
@@ -477,6 +480,7 @@
/obj/item/clothing/suit/hooded/wintercoat/science
name = "science winter coat"
icon_state = "coatscience"
item_state = "coatscience"
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/classic_baton/telescopic)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0, fire = 0, acid = 0)
hoodtype = /obj/item/clothing/head/hooded/winterhood/science
@@ -487,6 +491,7 @@
/obj/item/clothing/suit/hooded/wintercoat/engineering
name = "engineering winter coat"
icon_state = "coatengineer"
item_state = "coatengineer"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20, fire = 30, acid = 45)
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/pipe_dispenser)
hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering
@@ -497,6 +502,7 @@
/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos
name = "atmospherics winter coat"
icon_state = "coatatmos"
item_state = "coatatmos"
hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering/atmos
/obj/item/clothing/head/hooded/winterhood/engineering/atmos
@@ -505,6 +511,7 @@
/obj/item/clothing/suit/hooded/wintercoat/hydro
name = "hydroponics winter coat"
icon_state = "coathydro"
item_state = "coathydro"
allowed = list(/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/device/plant_analyzer,/obj/item/seeds,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/cultivator,/obj/item/weapon/reagent_containers/spray/pestspray,/obj/item/weapon/hatchet,/obj/item/weapon/storage/bag/plants)
hoodtype = /obj/item/clothing/head/hooded/winterhood/hydro
@@ -514,6 +521,7 @@
/obj/item/clothing/suit/hooded/wintercoat/cargo
name = "cargo winter coat"
icon_state = "coatcargo"
item_state = "coatcargo"
hoodtype = /obj/item/clothing/head/hooded/winterhood/cargo
/obj/item/clothing/head/hooded/winterhood/cargo
@@ -522,6 +530,7 @@
/obj/item/clothing/suit/hooded/wintercoat/miner
name = "mining winter coat"
icon_state = "coatminer"
item_state = "coatminer"
allowed = list(/obj/item/weapon/pickaxe,/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter)
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0)
hoodtype = /obj/item/clothing/head/hooded/winterhood/miner
+9 -9
View File
@@ -55,10 +55,10 @@
if(ishuman(src.loc))
var/mob/living/carbon/human/H = src.loc
if(H.wear_suit != src)
H << "<span class='warning'>You must be wearing [src] to put up the hood!</span>"
to_chat(H, "<span class='warning'>You must be wearing [src] to put up the hood!</span>")
return
if(H.head)
H << "<span class='warning'>You're already wearing something on your head!</span>"
to_chat(H, "<span class='warning'>You're already wearing something on your head!</span>")
return
else if(H.equip_to_slot_if_possible(hood,slot_head,0,0,1))
suittoggled = 1
@@ -95,7 +95,7 @@
/obj/item/clothing/suit/toggle/AltClick(mob/user)
..()
if(!user.canUseTopic(src, be_close=TRUE))
user << "<span class='warning'>You can't do that right now!</span>"
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
return
else
suit_toggle(user)
@@ -109,7 +109,7 @@
if(!can_use(usr))
return 0
usr << "<span class='notice'>You toggle [src]'s [togglename].</span>"
to_chat(usr, "<span class='notice'>You toggle [src]'s [togglename].</span>")
if(src.suittoggled)
src.icon_state = "[initial(icon_state)]"
src.suittoggled = 0
@@ -123,7 +123,7 @@
/obj/item/clothing/suit/toggle/examine(mob/user)
..()
user << "Alt-click on [src] to toggle the [togglename]."
to_chat(user, "Alt-click on [src] to toggle the [togglename].")
//Hardsuit toggle code
/obj/item/clothing/suit/space/hardsuit/New()
@@ -171,7 +171,7 @@
helmet.attack_self(H)
H.transferItemToLoc(helmet, src, TRUE)
H.update_inv_wear_suit()
H << "<span class='notice'>The helmet on the hardsuit disengages.</span>"
to_chat(H, "<span class='notice'>The helmet on the hardsuit disengages.</span>")
playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1)
else
helmet.forceMove(src)
@@ -189,13 +189,13 @@
if(!suittoggled)
if(ishuman(src.loc))
if(H.wear_suit != src)
H << "<span class='warning'>You must be wearing [src] to engage the helmet!</span>"
to_chat(H, "<span class='warning'>You must be wearing [src] to engage the helmet!</span>")
return
if(H.head)
H << "<span class='warning'>You're already wearing something on your head!</span>"
to_chat(H, "<span class='warning'>You're already wearing something on your head!</span>")
return
else if(H.equip_to_slot_if_possible(helmet,slot_head,0,0,1))
H << "<span class='notice'>You engage the helmet on the hardsuit.</span>"
to_chat(H, "<span class='notice'>You engage the helmet on the hardsuit.</span>")
suittoggled = 1
H.update_inv_wear_suit()
playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1)
+3 -3
View File
@@ -165,7 +165,7 @@
if(!isliving(usr))
return
if(!robe_charge)
usr << "<span class='warning'>\The robe's internal magic supply is still recharging!</span>"
to_chat(usr, "<span class='warning'>\The robe's internal magic supply is still recharging!</span>")
return
usr.say("Rise, my creation! Off your page into this realm!")
@@ -176,7 +176,7 @@
src.robe_charge = FALSE
sleep(30)
src.robe_charge = TRUE
usr << "<span class='notice'>\The robe hums, its internal magic supply restored.</span>"
to_chat(usr, "<span class='notice'>\The robe hums, its internal magic supply restored.</span>")
//Shielded Armour
@@ -221,7 +221,7 @@
/obj/item/wizard_armour_charge/afterattack(obj/item/clothing/suit/space/hardsuit/shielded/wizard/W, mob/user)
..()
if(!istype(W))
user << "<span class='warning'>The rune can only be used on battlemage armour!</span>"
to_chat(user, "<span class='warning'>The rune can only be used on battlemage armour!</span>")
return
W.current_charges += 8
user <<"<span class='notice'>You charge \the [W]. It can now absorb [W.current_charges] hits.</span>"
+7 -10
View File
@@ -22,10 +22,12 @@
random_sensor = 0
/obj/item/clothing/under/rank/security/grey
name = "grey security jumpsuit"
desc = "A tactical relic of years past before nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood."
icon_state = "security"
item_state = "gy_suit"
item_color = "security"
/obj/item/clothing/under/rank/warden
name = "security suit"
@@ -40,6 +42,8 @@
random_sensor = 0
/obj/item/clothing/under/rank/warden/grey
name = "grey security suit"
desc = "A formal relic of years past before nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood."
icon_state = "warden"
item_state = "gy_suit"
item_color = "warden"
@@ -83,6 +87,8 @@
random_sensor = 0
/obj/item/clothing/under/rank/head_of_security/grey
name = "head of security's grey jumpsuit"
desc = "There are old men, and there are bold men, but there are very few old, bold men."
icon_state = "hos"
item_state = "gy_suit"
item_color = "hos"
@@ -132,12 +138,3 @@
item_state = "blueshift"
item_color = "blueshift"
can_adjust = 0
/obj/item/clothing/under/rank/security/sneaksuit
name = "sneaking suit"
desc = "It's made of a strong material developed by the Soviet Union centuries ago which provides robust protection."
icon_state = "sneakingsuit"
item_state = "sneakingsuit"
item_color = "sneakingsuit"
can_adjust = 0
+3 -3
View File
@@ -611,7 +611,7 @@
/obj/item/clothing/under/plasmaman/examine(mob/user)
..()
user << "<span class='notice'>There are [extinguishes_left] extinguisher charges left in this suit.</span>"
to_chat(user, "<span class='notice'>There are [extinguishes_left] extinguisher charges left in this suit.</span>")
/obj/item/clothing/under/plasmaman/proc/Extinguish(mob/living/carbon/human/H)
@@ -632,11 +632,11 @@
/obj/item/clothing/under/plasmaman/attackby(obj/item/E, mob/user, params)
if (istype(E, /obj/item/device/extinguisher_refill))
if (extinguishes_left == 5)
user << "<span class='notice'>The inbuilt extinguisher is full.</span>"
to_chat(user, "<span class='notice'>The inbuilt extinguisher is full.</span>")
return
else
extinguishes_left = 5
user << "<span class='notice'>You refill the suit's built-in extinguisher, using up the cartridge.</span>"
to_chat(user, "<span class='notice'>You refill the suit's built-in extinguisher, using up the cartridge.</span>")
qdel(E)
return
return
+3 -3
View File
@@ -144,7 +144,7 @@
if(M.wear_suit)
if((M.wear_suit.flags_inv & HIDEJUMPSUIT)) //Check if the jumpsuit is covered
user << "<span class='warning'>Medals can only be pinned on jumpsuits.</span>"
to_chat(user, "<span class='warning'>Medals can only be pinned on jumpsuits.</span>")
return
if(M.w_uniform)
@@ -158,12 +158,12 @@
if(do_after(user, delay, target = M))
if(U.attachTie(src, user, 0)) //Attach it, do not notify the user of the attachment
if(user == M)
user << "<span class='notice'>You attach [src] to [U].</span>"
to_chat(user, "<span class='notice'>You attach [src] to [U].</span>")
else
user.visible_message("[user] pins \the [src] on [M]'s chest.", \
"<span class='notice'>You pin \the [src] on [M]'s chest.</span>")
else user << "<span class='warning'>Medals can only be pinned on jumpsuits!</span>"
else to_chat(user, "<span class='warning'>Medals can only be pinned on jumpsuits!</span>")
else ..()
/obj/item/clothing/tie/medal/conduct