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:
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 ..()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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'
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
..()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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'
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>"
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user