diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 9aed3244949..8b5420497d2 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -980,13 +980,15 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
return 1
/mob/living/carbon/proc/forceFed(var/obj/item/weapon/reagent_containers/food/toEat, mob/user, fullness)
- if (fullness <= (550 * (1 + overeatduration / 1000)))
- visible_message("[user] attempts to force [src] to [toEat.apply_method] [toEat].")
+ if(fullness <= (550 * (1 + overeatduration / 1000)))
+ if(!toEat.instant_application)
+ visible_message("[user] attempts to force [src] to [toEat.apply_method] [toEat].")
else
visible_message("[user] cannot force anymore of [toEat] down [src]'s throat.")
return 0
- if(!do_mob(user, src))
- return 0
+ if(!toEat.instant_application)
+ if(!do_mob(user, src))
+ return 0
forceFedAttackLog(toEat, user)
visible_message("[user] forces [src] to [toEat.apply_method] [toEat].")
return 1
diff --git a/code/modules/reagents/newchem/patch.dm b/code/modules/reagents/newchem/patch.dm
index a7aae47d8de..793b6f8ae6f 100644
--- a/code/modules/reagents/newchem/patch.dm
+++ b/code/modules/reagents/newchem/patch.dm
@@ -10,37 +10,42 @@
apply_method = "apply"
transfer_efficiency = 0.5 //patches aren't as effective at getting chemicals into the bloodstream.
-/obj/item/weapon/reagent_containers/food/pill/patch/New()
- ..()
- icon_state = "bandaid"
-
/obj/item/weapon/reagent_containers/food/pill/patch/afterattack(obj/target, mob/user , proximity)
return // thanks inheritance again
/obj/item/weapon/reagent_containers/food/pill/patch/styptic
name = "healing patch"
desc = "Helps with brute injuries."
- New()
- ..()
- reagents.add_reagent("styptic_powder", 40)
+ icon_state = "bandaid_brute"
+ instant_application = 1
+
+/obj/item/weapon/reagent_containers/food/pill/patch/styptic/New()
+ ..()
+ reagents.add_reagent("styptic_powder", 40)
/obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf
name = "burn patch"
desc = "Helps with burn injuries."
- New()
- ..()
- reagents.add_reagent("silver_sulfadiazine", 40)
+ icon_state = "bandaid_burn"
+ instant_application = 1
+
+/obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf/New()
+ ..()
+ reagents.add_reagent("silver_sulfadiazine", 40)
/obj/item/weapon/reagent_containers/food/pill/patch/synthflesh
name = "syntheflesh patch"
desc = "Helps with burn injuries."
- New()
- ..()
- reagents.add_reagent("synthflesh", 20)
+ instant_application = 1
+
+/obj/item/weapon/reagent_containers/food/pill/patch/synthflesh/New()
+ ..()
+ reagents.add_reagent("synthflesh", 20)
/obj/item/weapon/reagent_containers/food/pill/patch/nicotine
name = "nicotine patch"
desc = "Helps temporarily curb the cravings of nicotine dependency."
- New()
- ..()
- reagents.add_reagent("nicotine", 20)
\ No newline at end of file
+
+/obj/item/weapon/reagent_containers/food/pill/patch/nicotine/New()
+ ..()
+ reagents.add_reagent("nicotine", 20)
\ No newline at end of file
diff --git a/code/modules/reagents/reagent_containers/food.dm b/code/modules/reagents/reagent_containers/food.dm
index 8caaa5ff653..50a3ecd1a1d 100644
--- a/code/modules/reagents/reagent_containers/food.dm
+++ b/code/modules/reagents/reagent_containers/food.dm
@@ -10,6 +10,7 @@
var/apply_type = INGEST
var/apply_method = "swallow"
var/transfer_efficiency = 1.0
+ var/instant_application = 0 //if we want to bypass the forcedfeed delay
/obj/item/weapon/reagent_containers/food/New()
..()
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 332375dae8d..610abd27950 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -248,6 +248,12 @@
else
trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
to_chat(user, "\blue You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units.")
+ if(istype(target, /obj/item/weapon/reagent_containers/food/pill/patch))
+ var/obj/item/weapon/reagent_containers/food/pill/patch/P = target
+ if(P.instant_application)
+ to_chat(user, "You break the medical seal on the [P]!")
+ P.instant_application = 0
+
if (reagents.total_volume <= 0 && mode==SYRINGE_INJECT)
mode = SYRINGE_DRAW
update_icon()
diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi
index 54ed8f57927..ccf3bad52b5 100644
Binary files a/icons/obj/chemical.dmi and b/icons/obj/chemical.dmi differ