diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index 0787f538e6b..fa94f2e4608 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -188,4 +188,4 @@ inhand_icon_state = "plasticx4" worn_icon_state = "x4" directional = TRUE - boom_sizes = list(0, 2, 5) + boom_sizes = list(0, 5, 7) diff --git a/code/game/objects/items/implants/implant_misc.dm b/code/game/objects/items/implants/implant_misc.dm index 819091eef6b..a99a028dd0d 100644 --- a/code/game/objects/items/implants/implant_misc.dm +++ b/code/game/objects/items/implants/implant_misc.dm @@ -12,7 +12,7 @@ Function: Allows operation of implant-locked weaponry, preventing equipment from falling into enemy hands." /obj/item/implant/emp - name = "emp implant" + name = "\improper EMP implant" desc = "Triggers an EMP." icon_state = "emp" uses = 3 @@ -30,6 +30,25 @@ special_desc_requirement = EXAMINE_CHECK_SYNDICATE // Skyrat edit special_desc = "A Syndicate implanter used for a EMP implant" // Skyrat edit +/obj/item/implant/smoke + name = "smoke implant" + desc = "Releases a plume of smoke." + icon_state = "smoke" + uses = 3 + +/obj/item/implant/smoke/activate() + . = ..() + uses-- + var/datum/effect_system/fluid_spread/smoke/bad/smoke = new + smoke.set_up(6, holder = imp_in, location = imp_in) + smoke.start() + if(!uses) + qdel(src) + +/obj/item/implanter/smoke + name = "implanter (Smoke)" + imp_type = /obj/item/implant/smoke + /obj/item/implant/radio name = "internal radio implant" var/obj/item/radio/radio diff --git a/code/game/objects/items/storage/dufflebags.dm b/code/game/objects/items/storage/dufflebags.dm index 47fb886997e..de80f3e782b 100644 --- a/code/game/objects/items/storage/dufflebags.dm +++ b/code/game/objects/items/storage/dufflebags.dm @@ -358,7 +358,7 @@ new /obj/item/grenade/c4(src) /obj/item/storage/backpack/duffelbag/syndie/x4/PopulateContents() - for(var/i in 1 to 3) + for(var/i in 1 to 10) new /obj/item/grenade/c4/x4(src) /obj/item/storage/backpack/duffelbag/syndie/firestarter diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index dde40b22393..e9a1657a016 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -459,6 +459,8 @@ /obj/item/storage/box/syndie_kit/smoke/PopulateContents() for(var/i in 1 to 5) new /obj/item/grenade/smokebomb(src) + new /obj/item/implanter/smoke(src) + new /obj/item/clothing/mask/gas(src) /obj/item/storage/box/syndie_kit/mail_counterfeit name = "mail counterfeit kit" @@ -626,6 +628,14 @@ for(var/i in 1 to 3) new /obj/item/grenade/spawnergrenade/manhacks(src) +/obj/item/storage/box/syndie_kit/feral_cat_grenades/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/grenade/spawnergrenade/cat(src) + +/obj/item/storage/box/syndie_kit/frag_grenades/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/grenade/frag(src) + /obj/item/storage/box/syndie_kit/sleepytime/PopulateContents() new /obj/item/clothing/under/syndicate/bloodred/sleepytime(src) new /obj/item/reagent_containers/cup/glass/mug/coco(src) diff --git a/code/modules/mob/living/basic/pets/cat/feral.dm b/code/modules/mob/living/basic/pets/cat/feral.dm index 1a5bf1ca9b1..40085b81c4e 100644 --- a/code/modules/mob/living/basic/pets/cat/feral.dm +++ b/code/modules/mob/living/basic/pets/cat/feral.dm @@ -3,7 +3,10 @@ desc = "Kitty!! Wait, no no DON'T BITE-" health = 30 maxHealth = 30 - melee_damage_lower = 7 + melee_damage_lower = 15 melee_damage_upper = 15 + wound_bonus = -10 + exposed_wound_bonus = 20 + obj_damage = 0 ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile faction = list(FACTION_CAT, ROLE_SYNDICATE) diff --git a/code/modules/uplink/uplink_items/dangerous.dm b/code/modules/uplink/uplink_items/dangerous.dm index 8cc8b8b6fca..59d5644778d 100644 --- a/code/modules/uplink/uplink_items/dangerous.dm +++ b/code/modules/uplink/uplink_items/dangerous.dm @@ -96,10 +96,3 @@ cost = 13 surplus = 50 purchasable_from = ~UPLINK_ALL_SYNDIE_OPS //only traitors get the original revolver - -/datum/uplink_item/dangerous/cat - name = "Feral cat grenade" - desc = "This grenade is filled with 5 feral cats in stasis. Upon activation, the feral cats are awoken and unleashed unto unlucky bystanders. WARNING: The cats are not trained to discern friend from foe!" - cost = 5 - item = /obj/item/grenade/spawnergrenade/cat - surplus = 30 diff --git a/code/modules/uplink/uplink_items/explosive.dm b/code/modules/uplink/uplink_items/explosive.dm index 714b0f2731b..16662fa8f8c 100644 --- a/code/modules/uplink/uplink_items/explosive.dm +++ b/code/modules/uplink/uplink_items/explosive.dm @@ -9,7 +9,7 @@ name = "Slipocalypse Clusterbang" desc = "A traditional clusterbang grenade with a payload consisting entirely of Syndicate soap. Useful in any scenario!" item = /obj/item/grenade/clusterbuster/soap - cost = 3 + cost = 1 /datum/uplink_item/explosives/c4 name = "Composition C-4" @@ -19,21 +19,32 @@ item = /obj/item/grenade/c4 cost = 1 +/datum/uplink_item/explosives/x4 + name = "Composition X-4" + desc = "Similar to C4, but with a stronger blast that is directional instead of circular. X-4 can be placed on a solid surface, such as a wall or window, \ + and it will blast through the wall, injuring anything on the opposite side, while being safer to the user. For when you want a controlled explosion that \ + leaves a wider, deeper, hole." + item = /obj/item/grenade/c4/x4 + cost = 2 + limited_stock = 5 + purchasable_from = ~UPLINK_ALL_SYNDIE_OPS //nukies get their own version + /datum/uplink_item/explosives/c4bag name = "Bag of C-4 explosives" desc = "Because sometimes quantity is quality. Contains 10 C-4 plastic explosives." item = /obj/item/storage/backpack/duffelbag/syndie/c4 - cost = 8 //20% discount! + cost = 5 // 50% discount! cant_discount = TRUE + limited_stock = 2 + purchasable_from = ~UPLINK_ALL_SYNDIE_OPS //nukies get their own version -/datum/uplink_item/explosives/x4bag - name = "Bag of X-4 explosives" - desc = "Contains 3 X-4 shaped plastic explosives. Similar to C4, but with a stronger blast that is directional instead of circular. \ - X-4 can be placed on a solid surface, such as a wall or window, and it will blast through the wall, injuring anything on the opposite side, while being safer to the user. \ - For when you want a controlled explosion that leaves a wider, deeper, hole." - item = /obj/item/storage/backpack/duffelbag/syndie/x4 - cost = 4 - cant_discount = TRUE +/datum/uplink_item/explosives/frag + name = "Frag Grenade" + desc = "A frag grenade. Pop the pin. Throw towards enemy. Keep clear of the shrapnel. Easy!" + item = /obj/item/storage/backpack/duffelbag/syndie/c4 + cost = 1 + limited_stock = 10 + purchasable_from = ~UPLINK_ALL_SYNDIE_OPS //nukies get a whole box of these at once at a considerable discount. /* // SKYRAT EDIT REMOVAL START /datum/uplink_item/explosives/detomatix @@ -59,7 +70,8 @@ /datum/uplink_item/explosives/smoke name = "Smoke Grenades" - desc = "A box that contains five smoke grenades. Useful for vanishing and ninja fans with katana." + desc = "A box that contains five smoke grenades a smoke implant with three uses and a gas smask. For when you want to sow discord, vanish \ + without a trace, or run with your arms awkwardly trailing behind you." item = /obj/item/storage/box/syndie_kit/smoke cost = 2 @@ -68,8 +80,10 @@ desc = "A pizza box with a bomb cunningly attached to the lid. The timer needs to be set by opening the box; afterwards, \ opening the box again will trigger the detonation after the timer has elapsed. Comes with free pizza, for you or your target!" item = /obj/item/pizzabox/bomb - cost = 6 + cost = 2 + limited_stock = 4 surplus = 8 + purchasable_from = ~UPLINK_ALL_SYNDIE_OPS /// Ops get their own version. /datum/uplink_item/explosives/syndicate_minibomb name = "Syndicate Minibomb" @@ -77,15 +91,16 @@ in addition to dealing high amounts of damage to nearby personnel." progression_minimum = 30 MINUTES item = /obj/item/grenade/syndieminibomb - cost = 6 - purchasable_from = ~UPLINK_CLOWN_OPS - + cost = 2 + limited_stock = 4 + purchasable_from = ~UPLINK_ALL_SYNDIE_OPS /// Ops get their own version. /datum/uplink_item/explosives/syndicate_bomb/emp name = "Syndicate EMP Bomb" desc = "A variation of the syndicate bomb designed to produce a large EMP effect." item = /obj/item/sbeacondrop/emp cost = 7 + purchasable_from = ~UPLINK_ALL_SYNDIE_OPS /// Ops get their own version. limited_discount_stock = 4 /datum/uplink_item/explosives/syndicate_bomb/emp/New() @@ -104,8 +119,18 @@ progression_minimum = 30 MINUTES item = /obj/item/sbeacondrop/bomb cost = 11 + purchasable_from = ~UPLINK_ALL_SYNDIE_OPS /// Ops get their own version. limited_discount_stock = 4 /datum/uplink_item/explosives/syndicate_bomb/New() . = ..() desc = replacetext(desc, "%MIN_BOMB_TIMER", SYNDIEBOMB_MIN_TIMER_SECONDS) + +/datum/uplink_item/dangerous/cat + name = "Feral Cat Grenade Box" + desc = "This box contains 5 grenades filled with 5 feral cats in stasis. Upon activation, the feral cats are awoken and unleashed unto unlucky bystanders. WARNING: The cats are not trained to discern friend from foe!" + cost = 5 + item = /obj/item/storage/box/syndie_kit/feral_cat_grenades + surplus = 30 + limited_stock = 2 + purchasable_from = ~UPLINK_ALL_SYNDIE_OPS diff --git a/code/modules/uplink/uplink_items/nukeops.dm b/code/modules/uplink/uplink_items/nukeops.dm index c0b1f10faf9..98bf130181b 100644 --- a/code/modules/uplink/uplink_items/nukeops.dm +++ b/code/modules/uplink/uplink_items/nukeops.dm @@ -410,18 +410,18 @@ // Explosives and Grenades // ~~ Grenades ~~ -/datum/uplink_item/explosives/grenades +/datum/uplink_item/explosives/military_grade cost = 15 surplus = 35 purchasable_from = UPLINK_ALL_SYNDIE_OPS -/datum/uplink_item/explosives/grenades/buzzkill +/datum/uplink_item/explosives/military_grade/buzzkill name = "Buzzkill Grenade Box" desc = "A box with three grenades that release a swarm of angry bees upon activation. These bees indiscriminately attack friend or foe \ with random toxins. Courtesy of the BLF and Tiger Cooperative." item = /obj/item/storage/box/syndie_kit/bee_grenades -/datum/uplink_item/explosives/grenades/virus_grenade +/datum/uplink_item/explosives/military_grade/virus_grenade name = "Fungal Tuberculosis Grenade Box" desc = "A primed bio-grenade packed into a compact box. Comes with five Bio Virus Antidote Kit (BVAK) \ autoinjectors for rapid application on up to two targets each, a syringe, and a bottle containing \ @@ -429,12 +429,44 @@ item = /obj/item/storage/box/syndie_kit/tuberculosisgrenade restricted = TRUE -/datum/uplink_item/explosives/grenades/viscerators +/datum/uplink_item/explosives/military_grade/viscerators name = "Viscerator Delivery Grenade Box" desc = "A box containing unique grenades that deploys a swarm of viscerators upon activation, which will chase down and shred \ any non-operatives in the area." item = /obj/item/storage/box/syndie_kit/manhack_grenades +/datum/uplink_item/explosives/military_grade/frag_grenade + name = "Frag Grenade Box" + desc = "A box containing 7 frag grenades. Simple. Destructive." + item = /obj/item/storage/box/syndie_kit/frag_grenades + cost = 5 + purchasable_from = UPLINK_SERIOUS_OPS + +/datum/uplink_item/explosives/military_grade/x4 + name = "Composition X-4" + desc = "Similar to C4, but with a stronger blast that is directional instead of circular. X-4 can be placed on a solid surface, such as a wall or window, \ + and it will blast through the wall, injuring anything on the opposite side, while being safer to the user. For when you want a controlled explosion that \ + leaves a wider, deeper, hole." + item = /obj/item/grenade/c4/x4 + cost = 2 + +/datum/uplink_item/explosives/military_grade/syndicate_minibomb + name = "Syndicate Minibomb" + desc = "The minibomb is a grenade with a five-second fuse. Upon detonation, it will create a small hull breach \ + in addition to dealing high amounts of damage to nearby personnel." + item = /obj/item/grenade/syndieminibomb + cost = 2 + purchasable_from = UPLINK_SERIOUS_OPS + +/datum/uplink_item/explosives/military_grade/pizza_bomb + name = "Pizza Bomb" + desc = "A pizza box with a bomb cunningly attached to the lid. The timer needs to be set by opening the box; afterwards, \ + opening the box again will trigger the detonation after the timer has elapsed. Comes with free pizza, for you or your target!\ + Cybersun Industries would like to remind you that eating pizza in the middle of a delicate infiltration operation is not recommened, \ + and that there are no guarantees that the pizza is safe from any explosive contaminants." + item = /obj/item/pizzabox/bomb + cost = 2 + // ~~ Grenadier's Belt Kit ~~ /datum/uplink_item/weapon_kits/high_cost/grenadier @@ -445,7 +477,7 @@ // ~~ Detonator: In case you lose the old one ~~ -/datum/uplink_item/explosives/syndicate_detonator +/datum/uplink_item/explosives/military_grade/syndicate_detonator name = "Syndicate Detonator" desc = "The Syndicate detonator is a companion device to the Syndicate bomb. Simply press the included button \ and an encrypted radio frequency will instruct all live Syndicate bombs to detonate. \ @@ -453,7 +485,44 @@ the blast radius before using the detonator." item = /obj/item/syndicatedetonator cost = 1 - purchasable_from = UPLINK_ALL_SYNDIE_OPS + +/datum/uplink_item/explosives/military_grade/c4bag + name = "Bag of C-4 explosives" + desc = "Because sometimes quantity is quality. Contains 10 C-4 plastic explosives." + item = /obj/item/storage/backpack/duffelbag/syndie/c4 + cost = 5 // 50% discount! + +/datum/uplink_item/explosives/military_grade/x4bag + name = "Bag of X-4 explosives" + desc = "For when you didn't bring the bunker buster to your latest operation. Contains 10 X-4 shaped plastic explosives." + item = /obj/item/storage/backpack/duffelbag/syndie/x4 + cost = 10 // 50% discount! + +/datum/uplink_item/explosives/military_grade/emp + name = "Syndicate EMP Bomb" + desc = "A variation of the syndicate bomb designed to produce a large EMP effect." + item = /obj/item/sbeacondrop/emp + cost = 6 + +/datum/uplink_item/explosives/syndicate_bomb/emp/New() + ..() + if(HAS_TRAIT(SSstation, STATION_TRAIT_CYBERNETIC_REVOLUTION)) + cost *= 2 + +/datum/uplink_item/explosives/syndicate_bomb + name = "Syndicate Bomb" + desc = "The Syndicate bomb is a fearsome device capable of massive destruction. It has an adjustable timer, \ + with a minimum of %MIN_BOMB_TIMER seconds, and can be bolted to the floor with a wrench to prevent \ + movement. The bomb is bulky and cannot be moved; upon ordering this item, a smaller beacon will be \ + transported to you that will teleport the actual bomb to it upon activation. Note that this bomb can \ + be defused, and some crew may attempt to do so. \ + The bomb core can be pried out and manually detonated with other explosives." + item = /obj/item/sbeacondrop/bomb + cost = 8 + +/datum/uplink_item/explosives/syndicate_bomb/New() + . = ..() + desc = replacetext(desc, "%MIN_BOMB_TIMER", SYNDIEBOMB_MIN_TIMER_SECONDS) // Support (Borgs and Reinforcements) diff --git a/icons/hud/implants.dmi b/icons/hud/implants.dmi index f7821c40117..b85ab4573ff 100644 Binary files a/icons/hud/implants.dmi and b/icons/hud/implants.dmi differ