mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-31 07:57:47 +01:00
Adds the emp bomb, and a beacon to summon it. (#14737)
* Adds the emp bomb * Allows traitors to buy it, corrects mistake in syndicate uplink Also prevents explosions from setting it off * Update code/game/machinery/syndicatebomb.dm Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com> * Update code/game/objects/items/devices/radio/beacon.dm Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com> * steels suggestion * Dave's request Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
This commit is contained in:
co-authored by
SteelSlayer
parent
8a772acc0b
commit
997f527f3a
@@ -997,7 +997,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
|
||||
|
||||
/datum/uplink_item/explosives/syndicate_bomb
|
||||
name = "Syndicate Bomb"
|
||||
desc = "The Syndicate Bomb has an adjustable timer with a minimum setting of 60 seconds. Ordering the bomb sends you a small beacon, which will teleport the explosive to your location when you activate it. \
|
||||
desc = "The Syndicate Bomb has an adjustable timer with a minimum setting of 90 seconds. Ordering the bomb sends you a small beacon, which will teleport the explosive to your location when you activate it. \
|
||||
You can wrench the bomb down to prevent removal. The crew may attempt to defuse the bomb."
|
||||
reference = "SB"
|
||||
item = /obj/item/radio/beacon/syndicate/bomb
|
||||
@@ -1005,6 +1005,16 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
|
||||
surplus = 0
|
||||
cant_discount = TRUE
|
||||
|
||||
/datum/uplink_item/explosives/emp_bomb
|
||||
name = "EMP bomb"
|
||||
desc = "The EMP has an adjustable timer with a minimum setting of 90 seconds. Ordering the bomb sends you a small beacon, which will teleport the explosive to your location when you activate it. \
|
||||
You can wrench the bomb down to prevent removal. The crew may attempt to defuse the bomb."
|
||||
reference = "SBEMP"
|
||||
item = /obj/item/radio/beacon/syndicate/bomb/emp
|
||||
cost = 10
|
||||
surplus = 0
|
||||
cant_discount = TRUE
|
||||
|
||||
/datum/uplink_item/explosives/syndicate_minibomb
|
||||
name = "Syndicate Minibomb"
|
||||
desc = "The minibomb is a grenade with a five-second fuse."
|
||||
|
||||
@@ -273,6 +273,12 @@
|
||||
desc = "A salvaged syndicate device gutted of its explosives to be used as a training aid for aspiring bomb defusers."
|
||||
payload = /obj/item/bombcore/training
|
||||
|
||||
/obj/machinery/syndicatebomb/emp
|
||||
name = "emp bomb"
|
||||
icon_state = "emp-bomb"
|
||||
desc = "A large bomb, seemingly made to make a large electromagnetic pulse."
|
||||
payload = /obj/item/bombcore/emp
|
||||
|
||||
/obj/machinery/syndicatebomb/badmin
|
||||
name = "generic summoning badmin bomb"
|
||||
desc = "Oh god what is in this thing?"
|
||||
@@ -449,6 +455,35 @@
|
||||
range_light = 4
|
||||
range_flame = 2
|
||||
|
||||
/obj/item/bombcore/emp
|
||||
name = "EMP bomb core"
|
||||
var/light_emp = 36
|
||||
var/heavy_emp = 18
|
||||
var/pulse_number = 1 //Since one EMP wont destroy anything other then consoles and IPCS, here is an option to have multiple pulses when dentonating. DO NOT USE THIS WITH REALLY LARGE AREAS
|
||||
var/adminlogged = FALSE //If it exploded once, don't do it again.
|
||||
|
||||
/obj/item/bombcore/emp/ex_act(severity) //It's an EMP bomb, not a chemical explosive
|
||||
return
|
||||
|
||||
/obj/item/bombcore/emp/burn()
|
||||
return
|
||||
|
||||
/obj/item/bombcore/emp/detonate()
|
||||
if(adminlog && !adminlogged)
|
||||
message_admins(adminlog)
|
||||
log_game(adminlog)
|
||||
adminlogged = TRUE
|
||||
empulse(src, heavy_emp, light_emp, 1)
|
||||
if(pulse_number <= 1)
|
||||
src.visible_message("<span class='warning'>The bomb's core burns out, and the bomb disintegrates into ash.</span>")
|
||||
new /obj/effect/decal/cleanable/ash(get_turf(src))
|
||||
if(loc && istype(loc, /obj/machinery/syndicatebomb))
|
||||
qdel(loc)
|
||||
qdel(src)
|
||||
else
|
||||
pulse_number -= 1
|
||||
addtimer(CALLBACK(src, .proc/detonate), 20) // every 2 seconds go off again till pulses run out
|
||||
|
||||
/obj/item/bombcore/chemical
|
||||
name = "chemical payload"
|
||||
desc = "An explosive payload designed to spread chemicals, dangerous or otherwise, across a large area. It is able to hold up to four chemical containers, and must be loaded before use."
|
||||
|
||||
@@ -76,15 +76,20 @@
|
||||
name = "suspicious beacon"
|
||||
desc = "A label on it reads: <i>Warning: Activating this device will send a high-ordinance explosive to your location</i>."
|
||||
origin_tech = "bluespace=5;syndicate=5"
|
||||
var/bomb = /obj/machinery/syndicatebomb
|
||||
|
||||
/obj/item/radio/beacon/syndicate/bomb/attack_self(mob/user)
|
||||
if(user)
|
||||
to_chat(user, "<span class='notice'>Locked In</span>")
|
||||
new /obj/machinery/syndicatebomb( user.loc )
|
||||
new bomb(user.loc)
|
||||
playsound(src, 'sound/effects/pop.ogg', 100, 1, 1)
|
||||
user.drop_item()
|
||||
qdel(src)
|
||||
|
||||
/obj/item/radio/beacon/syndicate/bomb/emp
|
||||
desc = "A label on it reads: <i>Warning: Activating this device will send a high-ordinance EMP explosive to your location</i>."
|
||||
bomb = /obj/machinery/syndicatebomb/emp
|
||||
|
||||
/obj/item/radio/beacon/engine
|
||||
desc = "A label on it reads: <i>Warning: This device is used for transportation of high-density objects used for high-yield power generation. Stay away!</i>."
|
||||
anchored = 1 //Let's not move these around. Some folk might get the idea to use these for assassinations
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 31 KiB |
Reference in New Issue
Block a user