Skip to content

Commit

Permalink
Cloaker, trailblazers harmless cousin (#13619)
Browse files Browse the repository at this point in the history
* sticky varients galore

* only one remains, cloaker

* adds it to the vendor, minor amount

* proper spacing

Co-authored-by: TiviPlus <[email protected]>

---------

Co-authored-by: TiviPlus <[email protected]>
  • Loading branch information
Scarlet-Oduko and TiviPlus authored Aug 1, 2023
1 parent 8ba70db commit 72ffeeb
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 0 deletions.
41 changes: 41 additions & 0 deletions code/game/objects/items/explosives/grenades/marines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,47 @@
UnregisterSignal(stuck_to, COMSIG_MOVABLE_MOVED)
return ..()

/obj/item/explosive/grenade/sticky/cloaker
name = "\improper M45 Cloaker grenade"
desc = "Capsule based grenade that sticks to sufficiently hard surfaces, causing a trail of air combustable gel to form. This one creates cloaking smoke! It is set to detonate in 5 seconds."
icon_state = "grenade_sticky_cloak"
item_state = "grenade_sticky_cloak"
det_time = 5 SECONDS
light_impact_range = 1
/// smoke type created when the grenade is primed
var/datum/effect_system/smoke_spread/smoketype = /datum/effect_system/smoke_spread/tactical
///radius this smoke grenade will encompass
var/smokeradius = 1
///The duration of the smoke
var/smoke_duration = 8

/obj/item/explosive/grenade/sticky/cloaker/prime()
var/datum/effect_system/smoke_spread/smoke = new smoketype()
playsound(loc, 'sound/effects/smoke_bomb.ogg', 35)
smoke.set_up(smokeradius, loc, smoke_duration)
smoke.start()
if(stuck_to)
clean_refs()
qdel(src)

/obj/item/explosive/grenade/sticky/cloaker/throw_impact(atom/hit_atom, speed)
. = ..()
if(.)
return
RegisterSignal(stuck_to, COMSIG_MOVABLE_MOVED, PROC_REF(make_smoke))

///causes fire tiles underneath target when stuck_to
/obj/item/explosive/grenade/sticky/cloaker/proc/make_smoke(datum/source, old_loc, movement_dir, forced, old_locs)
SIGNAL_HANDLER
var/datum/effect_system/smoke_spread/smoke = new smoketype()
smoke.set_up(smokeradius, loc, smoke_duration)
smoke.start()

/obj/item/explosive/grenade/sticky/cloaker/clean_refs()
stuck_to.cut_overlay(saved_overlay)
UnregisterSignal(stuck_to, COMSIG_MOVABLE_MOVED)
return ..()

/obj/item/explosive/grenade/incendiary
name = "\improper M40 HIDP incendiary grenade"
desc = "The M40 HIDP is a small, but deceptively strong incendiary grenade. It is set to detonate in 4 seconds."
Expand Down
7 changes: 7 additions & 0 deletions code/game/objects/items/storage/boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1118,6 +1118,13 @@
spawn_type = /obj/item/explosive/grenade/incendiary
closed_overlay = "grenade_box_overlay_hidp"

/obj/item/storage/box/visual/grenade/cloaker
name = "\improper M45 Cloaker grenade box"
desc = "A secure box holding 25 M45 Cloaker greandes. Warning: causes cancer!!!"
spawn_number = 25
spawn_type = /obj/item/explosive/grenade/sticky/cloaker
closed_overlay = "grenade_box_overlay_cloaker"

/obj/item/storage/box/visual/grenade/trailblazer
name = "\improper M45 Trailblazer grenade box"
desc = "A secure box holding 25 M45 Trailblazer grenades. Warning: highly flammable!!!"
Expand Down
1 change: 1 addition & 0 deletions code/game/objects/machinery/vending/marine_vending.dm
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@
/obj/item/explosive/grenade/incendiary = 50,
/obj/item/explosive/grenade/smokebomb = 25,
/obj/item/explosive/grenade/smokebomb/cloak = 25,
/obj/item/explosive/grenade/sticky/cloaker = 10,
/obj/item/explosive/grenade/smokebomb/drain = 10,
/obj/item/explosive/grenade/mirage = 100,
/obj/item/storage/box/m94 = 200,
Expand Down
6 changes: 6 additions & 0 deletions code/modules/reqs/supplypacks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -770,6 +770,12 @@ EXPLOSIVES
contains = list(/obj/item/storage/box/visual/grenade/trailblazer)
cost = 500

/datum/supply_packs/explosives/explosives_cloaker
name = "M45 Cloaker grenade box crate"
notes = "Contains 25 grenades"
contains = list(/obj/item/storage/box/visual/grenade/cloaker)
cost = 500

/datum/supply_packs/explosives/explosives_cloak
name = "M40-2 SCDP grenade box crate"
notes = "contains 25 grenades"
Expand Down
Binary file modified icons/obj/items/grenade.dmi
Binary file not shown.
Binary file modified icons/obj/items/storage/storage_boxes.dmi
Binary file not shown.

0 comments on commit 72ffeeb

Please sign in to comment.