mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-21 03:56:47 +01:00
f3175becc0
Clothes now have a flash protection and tint level. If one is wearing multiple items with these modifiers they do stack. Glasses also have a number of additional additions such as sight flags, see_invis level, and so forth. Flash protection comes in 4 levels: Reduced, none, moderate, major. Reduced protection, for example, means the user takes increased damaged from welding. Moderate protection safeguards mobs from flashes, flash grenades, projectors, etc. Major protection protects from the above as well as welding. Tint also comes in 4 levels: None, moderate, heavy, blind Moderate tint will apply the nearsighted overlay. Major tint will apply the welding overlay. Blind will apply the blindness overlay. The end result is an attempt of less type checking. Any set of glasses may now also contain HUD glasses. This should make a future rewrite of HUD glasses easier (could have the HUD functionality be a datum rather than separate item).
45 lines
1.6 KiB
Plaintext
45 lines
1.6 KiB
Plaintext
/obj/item/weapon/grenade/spawnergrenade
|
|
desc = "It is set to detonate in 5 seconds. It will unleash unleash an unspecified anomaly into the vicinity."
|
|
name = "delivery grenade"
|
|
icon = 'icons/obj/grenade.dmi'
|
|
icon_state = "delivery"
|
|
item_state = "flashbang"
|
|
origin_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 4)
|
|
var/banglet = 0
|
|
var/spawner_type = null // must be an object path
|
|
var/deliveryamt = 1 // amount of type to deliver
|
|
|
|
prime() // Prime now just handles the two loops that query for people in lockers and people who can see it.
|
|
|
|
if(spawner_type && deliveryamt)
|
|
// Make a quick flash
|
|
var/turf/T = get_turf(src)
|
|
playsound(T, 'sound/effects/phasein.ogg', 100, 1)
|
|
for(var/mob/living/carbon/human/M in viewers(T, null))
|
|
if(M.eyecheck() < FLASH_PROTECTION_MODERATE)
|
|
flick("e_flash", M.flash)
|
|
|
|
for(var/i=1, i<=deliveryamt, i++)
|
|
var/atom/movable/x = new spawner_type
|
|
x.loc = T
|
|
if(prob(50))
|
|
for(var/j = 1, j <= rand(1, 3), j++)
|
|
step(x, pick(NORTH,SOUTH,EAST,WEST))
|
|
|
|
// Spawn some hostile syndicate critters
|
|
|
|
qdel(src)
|
|
return
|
|
|
|
/obj/item/weapon/grenade/spawnergrenade/manhacks
|
|
name = "manhack delivery grenade"
|
|
spawner_type = /mob/living/simple_animal/hostile/viscerator
|
|
deliveryamt = 5
|
|
origin_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 4, TECH_ILLEGAL = 4)
|
|
|
|
/obj/item/weapon/grenade/spawnergrenade/spesscarp
|
|
name = "carp delivery grenade"
|
|
spawner_type = /mob/living/simple_animal/hostile/carp
|
|
deliveryamt = 5
|
|
origin_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 4, TECH_ILLEGAL = 4)
|