diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index 5dd39f91a5c..313a3a76fbc 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -410,7 +410,7 @@ var/list/uplink_items = list()
cost = 1
/datum/uplink_item/device_tools/medkit
- name = "Syndicate Medical Supply Kit"
+ name = "Syndicate Combat Medic Kit"
desc = "The syndicate medkit is a suspicious black and red. Included is a combat stimulant injector for rapid healing, a medical hud for quick identification of injured comrades, \
and other medical supplies helpful for a medical field operative."
item = /obj/item/weapon/storage/firstaid/tactical
diff --git a/code/game/gamemodes/objective_items.dm b/code/game/gamemodes/objective_items.dm
index f854536cfc4..b2c96c0aa91 100644
--- a/code/game/gamemodes/objective_items.dm
+++ b/code/game/gamemodes/objective_items.dm
@@ -27,17 +27,13 @@ datum/objective_item/steal/rcd
name = "a rapid-construction-device"
targetitem = /obj/item/weapon/rcd
difficulty = 3
+ excludefromjob = list("Chief Engineer", "Quartermaster", "Cargo Technician")
datum/objective_item/steal/jetpack
name = "a jetpack"
targetitem = /obj/item/weapon/tank/jetpack
difficulty = 3
-
-datum/objective_item/steal/defib
- name = "a defibrillator"
- targetitem = /obj/item/weapon/defibrillator
- difficulty = 4
- excludefromjob = list("Chief Medical Officer", "Medical Doctor")
+ excludefromjob = list("Chief Engineer")
datum/objective_item/steal/magboots
name = "the chief engineer's advanced magnetic boots"
@@ -49,7 +45,7 @@ datum/objective_item/steal/corgimeat
name = "a piece of corgi meat"
targetitem = /obj/item/weapon/reagent_containers/food/snacks/meat/corgi
difficulty = 5
- excludefromjob = list("Head of Personnel") //>hurting your little buddy ever
+ excludefromjob = list("Head of Personnel", "Quartermaster", "Cargo Technician") //>hurting your little buddy ever
datum/objective_item/steal/capmedal
name = "the medal of captaincy"
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index 7ea19cbf78c..b018211f126 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -18,6 +18,7 @@
var/powered = 0 //if there's a cell in the defib with enough power for a revive, blocks paddles from reviving otherwise
var/obj/item/weapon/twohanded/shockpaddles/paddles
var/obj/item/weapon/stock_parts/cell/high/bcell = null
+ var/combat = 0 //can we revive through space suits?
/obj/item/weapon/defibrillator/New() //starts without a cell for rnd
..()
@@ -103,7 +104,6 @@
if(W == paddles)
paddles.unwield()
toggle_paddles()
- return
if(istype(W, /obj/item/weapon/stock_parts/cell))
var/obj/item/weapon/stock_parts/cell/C = W
if(bcell)
@@ -221,20 +221,49 @@
paddles.update_icon()
update_icon()
-/obj/item/weapon/defibrillator/combatdefibrillator
- name = "combat defibrillator"
- desc = "A expensive combat oriented defibrillator. It is more compact that civilian models."
- icon_state = "combatdefibunit"
- item_state = "combatdefibunit"
+/obj/item/weapon/defibrillator/compact
+ name = "compact defibrillator"
+ desc = "A belt-equipped defibrillator that can be rapidly deployed."
+ icon_state = "defibcompact"
+ item_state = "defibcompact"
w_class = 3
+ slot_flags = SLOT_BELT
+ origin_tech = "biotech=4"
-/obj/item/weapon/defibrillator/combatdefibrillator/loaded/New()
+/obj/item/weapon/defibrillator/compact/ui_action_click()
+ if(usr.get_item_by_slot(slot_belt) == src)
+ toggle_paddles()
+ else
+ usr << "Strap the defibrillator's belt on first!"
+ return
+
+/obj/item/weapon/defibrillator/compact/loaded/New()
..()
paddles = make_paddles()
bcell = new(src)
update_icon()
return
+/obj/item/weapon/defibrillator/compact/combat
+ name = "combat defibrillator"
+ desc = "A belt-equipped blood-red defibrillator that can be rapidly deployed. Does not have the restrictions or safeties of conventional defibrillators and can revive through space suits."
+ combat = 1
+ safety = 0
+
+/obj/item/weapon/defibrillator/compact/combat/loaded/New()
+ ..()
+ paddles = make_paddles()
+ bcell = new /obj/item/weapon/stock_parts/cell/infinite(src)
+ update_icon()
+ return
+
+/obj/item/weapon/defibrillator/compact/combat/attackby(obj/item/weapon/W, mob/user)
+ if(W == paddles)
+ paddles.unwield()
+ toggle_paddles()
+ update_icon()
+ return
+
//paddles
/obj/item/weapon/twohanded/shockpaddles
@@ -293,7 +322,7 @@
else
return 1
-/obj/item/weapon/twohanded/shockpaddles/attack(mob/M as mob, mob/user as mob)
+/obj/item/weapon/twohanded/shockpaddles/attack(mob/M, mob/user)
var/tobehealed
var/threshold = -config.health_threshold_dead
var/mob/living/carbon/human/H = M
@@ -339,18 +368,19 @@
playsound(get_turf(src), 'sound/machines/defib_charge.ogg', 50, 0)
var/mob/dead/observer/ghost = H.get_ghost()
var/tplus = world.time - H.timeofdeath
- var/tlimit = 3000 //past this much time the patient is unrecoverable (in deciseconds)
- var/tloss = 900 //brain damage starts setting in on the patient after some time left rotting
+ var/tlimit = 6000 //past this much time the patient is unrecoverable (in deciseconds)
+ var/tloss = 3000 //brain damage starts setting in on the patient after some time left rotting
var/total_burn = 0
var/total_brute = 0
if(do_after(user, 20)) //placed on chest and short delay to shock for dramatic effect, revive time is 5sec total
for(var/obj/item/carried_item in H.contents)
- if((istype(carried_item, /obj/item/clothing/suit/armor)) || (istype(carried_item, /obj/item/clothing/suit/space)))
- user.visible_message("[defib] buzzes: Patient's chest is obscured. Operation aborted.")
- playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0)
- busy = 0
- update_icon()
- return
+ if(istype(carried_item, /obj/item/clothing/suit/space))
+ if(!defib.combat)
+ user.visible_message("[defib] buzzes: Patient's chest is obscured. Operation aborted.")
+ playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0)
+ busy = 0
+ update_icon()
+ return
if(H.stat == 2)
var/health = H.health
M.visible_message("[M]'s body convulses a bit.")
diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm
index 6901e0e41af..6cd7602757b 100644
--- a/code/game/objects/items/weapons/storage/firstaid.dm
+++ b/code/game/objects/items/weapons/storage/firstaid.dm
@@ -116,7 +116,7 @@
..()
if(empty) return
new /obj/item/stack/medical/gauze(src)
- new /obj/item/stack/medical/gauze(src)
+ new /obj/item/weapon/defibrillator/compact/combat/loaded(src)
new /obj/item/weapon/reagent_containers/hypospray/combat(src)
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index a47ecc0f87e..e2db0360125 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -110,7 +110,7 @@
new /obj/item/clothing/shoes/sneakers/brown (src)
new /obj/item/weapon/cartridge/cmo(src)
new /obj/item/device/radio/headset/heads/cmo(src)
- new /obj/item/weapon/defibrillator/loaded(src)
+ new /obj/item/weapon/defibrillator/compact/loaded(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/device/flash/handheld(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/misc.dm b/code/game/objects/structures/crates_lockers/closets/secure/misc.dm
index c18e2ca667c..5701b358b4f 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/misc.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/misc.dm
@@ -66,6 +66,7 @@
new /obj/item/weapon/storage/firstaid/brute(src)
new /obj/item/weapon/storage/firstaid/regular(src)
new /obj/item/weapon/melee/baton/loaded(src)
+ new /obj/item/weapon/defibrillator/compact/combat(src)
new /obj/machinery/bot/medbot(src)
return
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
index 013841c43c9..1e8e50a3be1 100644
--- a/code/modules/research/designs/medical_designs.dm
+++ b/code/modules/research/designs/medical_designs.dm
@@ -92,14 +92,3 @@ datum/design/bluespacebodybag
reliability = 76
build_path = /obj/item/bodybag/bluespace
category = list("Medical Designs")
-
-datum/design/defib
- name = "Defibrillator"
- desc = "A device that delivers powerful shocks to detachable paddles that resuscitate incapacitated patients."
- id = "defib"
- req_tech = list("materials" = 7, "biotech" = 5, "powerstorage" = 5)
- build_type = PROTOLATHE
- materials = list("$metal" = 5000, "$glass" = 2000, "$silver" = 1000)
- reliability = 76
- build_path = /obj/item/weapon/defibrillator
- category = list("Medical Designs")
diff --git a/html/changelogs/Paprka-defibfuckupv2.yml b/html/changelogs/Paprka-defibfuckupv2.yml
new file mode 100644
index 00000000000..c24eb2a3102
--- /dev/null
+++ b/html/changelogs/Paprka-defibfuckupv2.yml
@@ -0,0 +1,6 @@
+author: Paprka
+
+delete-after: True
+
+changes:
+ - rscadd: "Removed the defib steal objective. Added a compact defibrillator for the CMO that equips to the belt. Removed defibrillators from RND. Removed the requirement for people to not wear armor to revive them with defibs. Doubled defib timers (10 minutes before permadeath)."
\ No newline at end of file
diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi
index be45636ff70..06fcb90a4a2 100644
Binary files a/icons/mob/belt.dmi and b/icons/mob/belt.dmi differ
diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi
index 5885a408c76..cfd7af59620 100644
Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ