Files
Paradise/code/game/objects/devices/flashlight.dm
panurgomatic aa57719d52 - Scrubbers in the area can be controlled by air alarms. Air alarm interface must be unlocked with an ID card (minimum access level - atmospheric technician), usable only by humans and AI. Panic syphon drains the air from affected room (simple syphoning does too, but much slower).
- Sleeper consoles inject soporific and track the amounts of rejuvination chemicals and sleep toxins in occupants bloodstream.
- Flashlights can be used to check if mob is dead, blind or has certain superpower. Aim for the eyes.
- Radiation collectors and collector controls can be moved. Secured\unsecured with a wrench.
- Air sensors report nitrogen and carbon dioxide in air composition(if set to).
- Air Control console in Toxins.
- Additional DNA console in genetics
- Enough equipment to build another singularity engine can be found in engineering secure storage.
- Air scrubber, vent and air alarm added to library
- Air alarm added to brig
- Air scrubbers in Toxins turned on, set to filter toxins
- Empty tanks, portable air pumps and similar can be filled with air in Aft Primary Hallway, just connect them to the port. Target pressure is set by Mixed Air Supply console in Atmospherics (defaults to 4000kPa).

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@262 316c924e-a436-60f5-8080-3fe189b3f50e
2010-10-10 13:25:47 +00:00

83 lines
3.1 KiB
Plaintext

#define FLASHLIGHT_LUM 4
/obj/item/device/flashlight/attack_self(mob/user)
on = !on
icon_state = "flight[on]"
if(on)
user.sd_SetLuminosity(user.luminosity + FLASHLIGHT_LUM)
else
user.sd_SetLuminosity(user.luminosity - FLASHLIGHT_LUM)
/obj/item/device/flashlight/attack(mob/M as mob, mob/user as mob)
src.add_fingerprint(user)
if(src.on && user.zone_sel.selecting == "eyes")
if ((user.mutations & 16 || user.brainloss >= 60) && prob(50))//too dumb to use flashlight properly
return ..()//just hit them in the head
/*user << "\blue You bounce the light spot up and down and drool."
for(var/mob/O in viewers(M, null))
O.show_message(text("\blue [] bounces the light spot up and down and drools", user), 1)
src.add_fingerprint(user)
return*/
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")//don't have dexterity
usr.show_message("\red You don't have the dexterity to do this!",1)
return
var/mob/living/carbon/human/H = M//mob has protective eyewear
if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES)))
user << text("\blue You're going to need to remove that [] first.", ((H.head && H.head.flags & HEADCOVERSEYES) ? "helmet" : ((H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) ? "mask": "glasses")))
return
for(var/mob/O in viewers(M, null))//echo message
O.show_message(text("\blue [] [] to [] eyes", (O == user ? "You direct" : text("[] directs", user)), src, (M==user ? "your" : text("[]", M))),1)
if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey))//robots and aliens are unaffected
if(M.stat > 1 || M.sdisabilities & 1)//mob is dead or fully blind
if(M!=user)
user.show_message(text("\red [] pupils does not react to the light!", M),1)
else if(M.mutations&4)//mob has X-RAY vision
if(M!=user)
user.show_message(text("\red [] pupils give an eerie glow!", M),1)
else //nothing wrong
flick("flash", M.flash)//flash the affected mob
if(M!=user)
user.show_message(text("\blue [] pupils narrow", M),1)
else
return ..()
/obj/item/device/flashlight/pickup(mob/user)
if(on)
src.sd_SetLuminosity(0)
user.sd_SetLuminosity(user.luminosity + FLASHLIGHT_LUM)
/obj/item/device/flashlight/dropped(mob/user)
if(on)
user.sd_SetLuminosity(user.luminosity - FLASHLIGHT_LUM)
src.sd_SetLuminosity(FLASHLIGHT_LUM)
/obj/item/clothing/head/helmet/hardhat/attack_self(mob/user)
on = !on
icon_state = "hardhat[on]"
item_state = "hardhat[on]"
if(on)
user.sd_SetLuminosity(user.luminosity + FLASHLIGHT_LUM)
else
user.sd_SetLuminosity(user.luminosity - FLASHLIGHT_LUM)
/obj/item/clothing/head/helmet/hardhat/pickup(mob/user)
if(on)
src.sd_SetLuminosity(0)
user.sd_SetLuminosity(user.luminosity + FLASHLIGHT_LUM)
/obj/item/clothing/head/helmet/hardhat/dropped(mob/user)
if(on)
user.sd_SetLuminosity(user.luminosity - FLASHLIGHT_LUM)
src.sd_SetLuminosity(FLASHLIGHT_LUM)