Files
Paradise/code/game/objects/devices/flashlight.dm
panurgomatic 1909ee2e91 - Tweaked cryo healing speed
- Added crawl-trough-vent travel time
- Tweaked placement of utility belt contents window & fixed one related small bug
- Added metabolization for several reagents 
- Other small tweaks

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

84 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
if ((O.client && !(O.blinded )))
O.show_message("\blue [(O==user?"You direct":"[user]")] [src] to [(M==user? "your":"[M]")] eyes", 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)