mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 03:02:54 +00:00
[MIRROR] repaths casino grenades, cleans code slightly (#12034)
Co-authored-by: tacoguy7765093 <karokaromaro@gmail.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
6dff8798c3
commit
f7914b6cf6
@@ -8,6 +8,7 @@
|
|||||||
var/banglet = 0
|
var/banglet = 0
|
||||||
var/spawner_type = null // must be an object path
|
var/spawner_type = null // must be an object path
|
||||||
var/deliveryamt = 1 // amount of type to deliver
|
var/deliveryamt = 1 // amount of type to deliver
|
||||||
|
var/flash = TRUE //Will the grenade flash on detonation?
|
||||||
|
|
||||||
// Detonate now just handles the two loops that query for people in lockers and people who can see it.
|
// Detonate now just handles the two loops that query for people in lockers and people who can see it.
|
||||||
/obj/item/grenade/spawnergrenade/detonate()
|
/obj/item/grenade/spawnergrenade/detonate()
|
||||||
@@ -16,8 +17,9 @@
|
|||||||
// Make a quick flash
|
// Make a quick flash
|
||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
playsound(src, 'sound/effects/phasein.ogg', 100, 1)
|
playsound(src, 'sound/effects/phasein.ogg', 100, 1)
|
||||||
|
if(flash)
|
||||||
for(var/mob/living/carbon/human/M in viewers(T, null))
|
for(var/mob/living/carbon/human/M in viewers(T, null))
|
||||||
if(M:eyecheck() <= 0)
|
if(M.eyecheck() <= 0)
|
||||||
M.flash_eyes()
|
M.flash_eyes()
|
||||||
|
|
||||||
// Spawn some hostile syndicate critters
|
// Spawn some hostile syndicate critters
|
||||||
@@ -77,3 +79,97 @@
|
|||||||
throw_range = 4
|
throw_range = 4
|
||||||
w_class = ITEMSIZE_LARGE
|
w_class = ITEMSIZE_LARGE
|
||||||
deliveryamt = 6
|
deliveryamt = 6
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/manhacks/station/locked
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will deploy three weaponized survey drones. This one has a safety interlock that prevents release if used while in proximity to the facility."
|
||||||
|
req_access = list(ACCESS_ARMORY) //for toggling safety
|
||||||
|
var/locked = 1
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/manhacks/station/locked/detonate()
|
||||||
|
if(locked)
|
||||||
|
var/turf/T = get_turf(src)
|
||||||
|
if(T.z in using_map.station_levels)
|
||||||
|
icon_state = initial(icon_state)
|
||||||
|
active = 0
|
||||||
|
return 0
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/manhacks/station/locked/attackby(obj/item/I, mob/user)
|
||||||
|
var/obj/item/card/id/id = I.GetID()
|
||||||
|
if(istype(id))
|
||||||
|
if(check_access(id))
|
||||||
|
locked = !locked
|
||||||
|
to_chat(user, span_warning("You [locked ? "enable" : "disable"] the safety lock on \the [src]."))
|
||||||
|
else
|
||||||
|
to_chat(user, span_warning("Access denied."))
|
||||||
|
user.visible_message(span_notice("[user] swipes \the [I] against \the [src]."))
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/manhacks/station/locked/emag_act(var/remaining_charges,var/mob/user)
|
||||||
|
..()
|
||||||
|
locked = !locked
|
||||||
|
to_chat(user, span_warning("You [locked ? "enable" : "disable"] the safety lock on \the [src]!"))
|
||||||
|
|
||||||
|
// Generic creature spawner grenades for loadout.
|
||||||
|
/obj/item/grenade/spawnergrenade/loadout
|
||||||
|
name = "Creature Container (Cat)"
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will release a cat won from the grenade!"
|
||||||
|
icon = 'icons/obj/casino.dmi'
|
||||||
|
icon_state = "generic_delivery"
|
||||||
|
flash = FALSE
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/loadout/penguin
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will release a penguin from the grenade!"
|
||||||
|
name = "Creature Container (Penguin)"
|
||||||
|
spawner_type = /mob/living/simple_mob/animal/passive/penguin
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/loadout/chicken
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will release a chicken from the grenade!"
|
||||||
|
name = "Creature Container (Chicken)"
|
||||||
|
spawner_type = /mob/living/simple_mob/animal/passive/chicken
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/loadout/cow
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will release a cow from the grenade!"
|
||||||
|
name = "Creature Container (Cow)"
|
||||||
|
spawner_type = /mob/living/simple_mob/animal/passive/cow
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/loadout/corgi
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will release a corgi from the grenade!"
|
||||||
|
name = "Creature Container (Corgi)"
|
||||||
|
spawner_type = /mob/living/simple_mob/animal/passive/dog/corgi
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/loadout/fox
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will release a fox from the grenade!"
|
||||||
|
name = "Creature Container (Fox)"
|
||||||
|
spawner_type = /mob/living/simple_mob/animal/passive/fox
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/loadout/fennec
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will release a fennec from the grenade!"
|
||||||
|
name = "Creature Container (Fennec)"
|
||||||
|
spawner_type = /mob/living/simple_mob/vore/fennec
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/loadout/snake
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will release a snake from the grenade!"
|
||||||
|
name = "Creature Container (Snake)"
|
||||||
|
spawner_type = /mob/living/simple_mob/animal/passive/snake
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/loadout/redpanda
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will release a red panda from the grenade!"
|
||||||
|
name = "Creature Container (Red panda)"
|
||||||
|
spawner_type = /mob/living/simple_mob/vore/redpanda
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/loadout/otie
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will release a otie from the grenade!"
|
||||||
|
name = "Creature Container (Otie)"
|
||||||
|
spawner_type = /mob/living/simple_mob/vore/otie/friendly
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/loadout/goldcrest
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will release a bird from the grenade!"
|
||||||
|
name = "Creature Container (Bird)"
|
||||||
|
spawner_type = /mob/living/simple_mob/animal/passive/bird/goldcrest
|
||||||
|
|
||||||
|
/obj/item/grenade/spawnergrenade/loadout/teppi
|
||||||
|
desc = "It is set to detonate in 5 seconds. It will release a teppi from the grenade!"
|
||||||
|
name = "Creature Container (Teppi)"
|
||||||
|
spawner_type = /mob/living/simple_mob/vore/alienanimals/teppi
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
/obj/item/grenade/spawnergrenade/manhacks/station/locked
|
|
||||||
desc = "It is set to detonate in 5 seconds. It will deploy three weaponized survey drones. This one has a safety interlock that prevents release if used while in proximity to the facility."
|
|
||||||
req_access = list(ACCESS_ARMORY) //for toggling safety
|
|
||||||
var/locked = 1
|
|
||||||
|
|
||||||
/obj/item/grenade/spawnergrenade/manhacks/station/locked/detonate()
|
|
||||||
if(locked)
|
|
||||||
var/turf/T = get_turf(src)
|
|
||||||
if(T.z in using_map.station_levels)
|
|
||||||
icon_state = initial(icon_state)
|
|
||||||
active = 0
|
|
||||||
return 0
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/item/grenade/spawnergrenade/manhacks/station/locked/attackby(obj/item/I, mob/user)
|
|
||||||
var/obj/item/card/id/id = I.GetID()
|
|
||||||
if(istype(id))
|
|
||||||
if(check_access(id))
|
|
||||||
locked = !locked
|
|
||||||
to_chat(user, span_warning("You [locked ? "enable" : "disable"] the safety lock on \the [src]."))
|
|
||||||
else
|
|
||||||
to_chat(user, span_warning("Access denied."))
|
|
||||||
user.visible_message(span_notice("[user] swipes \the [I] against \the [src]."))
|
|
||||||
else
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/item/grenade/spawnergrenade/manhacks/station/locked/emag_act(var/remaining_charges,var/mob/user)
|
|
||||||
..()
|
|
||||||
locked = !locked
|
|
||||||
to_chat(user, span_warning("You [locked ? "enable" : "disable"] the safety lock on \the [src]!"))
|
|
||||||
@@ -7,21 +7,6 @@
|
|||||||
origin_tech = list(TECH_MATERIAL = 2, TECH_MAGNET = 2)
|
origin_tech = list(TECH_MATERIAL = 2, TECH_MAGNET = 2)
|
||||||
spawner_type = /mob/living/simple_mob/animal/passive/cat
|
spawner_type = /mob/living/simple_mob/animal/passive/cat
|
||||||
|
|
||||||
// Detonate now just handles the two loops that query for people in lockers and people who can see it.
|
|
||||||
/obj/item/grenade/spawnergrenade/casino/detonate()
|
|
||||||
|
|
||||||
if(spawner_type && deliveryamt)
|
|
||||||
var/turf/T = get_turf(src)
|
|
||||||
playsound(T, 'sound/effects/phasein.ogg', 100, 1)
|
|
||||||
|
|
||||||
for(var/i=1, i<=deliveryamt, i++)
|
|
||||||
var/atom/movable/x = new spawner_type(T)
|
|
||||||
if(prob(50))
|
|
||||||
for(var/j = 1, j <= rand(1, 3), j++)
|
|
||||||
step(x, pick(NORTH,SOUTH,EAST,WEST))
|
|
||||||
qdel(src)
|
|
||||||
return
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Creatures
|
// Creatures
|
||||||
//
|
//
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 79 KiB |
@@ -1,29 +1,7 @@
|
|||||||
/obj/item/grenade/spawnergrenade/casino
|
/obj/item/grenade/spawnergrenade/casino/goose
|
||||||
|
|
||||||
desc = "It is set to detonate in 5 seconds. It will release a goose that has been won from the golden goose casino!"
|
desc = "It is set to detonate in 5 seconds. It will release a goose that has been won from the golden goose casino!"
|
||||||
name = "Casino Creature Container (Goose)"
|
name = "Casino Creature Container (Goose)"
|
||||||
icon = 'icons/obj/grenade_ch.dmi'
|
|
||||||
icon_state = "casino"
|
|
||||||
item_state = "casino"
|
|
||||||
origin_tech = list(TECH_MATERIAL = 2, TECH_MAGNET = 2)
|
|
||||||
spawner_type = /mob/living/simple_mob/animal/space/goose/domesticated
|
spawner_type = /mob/living/simple_mob/animal/space/goose/domesticated
|
||||||
|
|
||||||
|
|
||||||
// Detonate now just handles the two loops that query for people in lockers and people who can see it.
|
|
||||||
/obj/item/grenade/spawnergrenade/casino/detonate()
|
|
||||||
|
|
||||||
if(spawner_type && deliveryamt)
|
|
||||||
var/turf/T = get_turf(src)
|
|
||||||
playsound(T, 'sound/effects/phasein.ogg', 100, 1)
|
|
||||||
|
|
||||||
for(var/i=1, i<=deliveryamt, i++)
|
|
||||||
var/atom/movable/x = new spawner_type(T)
|
|
||||||
if(prob(50))
|
|
||||||
for(var/j = 1, j <= rand(1, 3), j++)
|
|
||||||
step(x, pick(NORTH,SOUTH,EAST,WEST))
|
|
||||||
qdel(src)
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/grenade/spawnergrenade/casino/goat
|
/obj/item/grenade/spawnergrenade/casino/goat
|
||||||
desc = "It is set to detonate in 5 seconds. It will release a goat that has been won from the golden goose casino!"
|
desc = "It is set to detonate in 5 seconds. It will release a goat that has been won from the golden goose casino!"
|
||||||
name = "Casino Creature Container (Goat)"
|
name = "Casino Creature Container (Goat)"
|
||||||
|
|||||||
@@ -1899,7 +1899,6 @@
|
|||||||
#include "code\game\objects\items\weapons\grenades\projectile.dm"
|
#include "code\game\objects\items\weapons\grenades\projectile.dm"
|
||||||
#include "code\game\objects\items\weapons\grenades\smokebomb.dm"
|
#include "code\game\objects\items\weapons\grenades\smokebomb.dm"
|
||||||
#include "code\game\objects\items\weapons\grenades\spawnergrenade.dm"
|
#include "code\game\objects\items\weapons\grenades\spawnergrenade.dm"
|
||||||
#include "code\game\objects\items\weapons\grenades\spawnergrenade_vr.dm"
|
|
||||||
#include "code\game\objects\items\weapons\grenades\supermatter.dm"
|
#include "code\game\objects\items\weapons\grenades\supermatter.dm"
|
||||||
#include "code\game\objects\items\weapons\id cards\cards.dm"
|
#include "code\game\objects\items\weapons\id cards\cards.dm"
|
||||||
#include "code\game\objects\items\weapons\id cards\cards_vr.dm"
|
#include "code\game\objects\items\weapons\id cards\cards_vr.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user