diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index c77ea003196..c75fd9212ee 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -131,6 +131,13 @@ var/list/uplink_items = list()
cost = 15
job = list("Mime")
+/datum/uplink_item/dangerous/cat_grenade
+ name = "Feral Cat Delivery Grenade"
+ desc = "The feral cat delivery grenade contains 8 dehydrated feral cats in a similar manner to dehydrated monkeys, which, upon detonation, will be rehydrated by a small reservoir of water contained within the grenade. These cats will then attack anything in sight."
+ item = /obj/item/weapon/grenade/spawnergrenade/feral_cats
+ cost = 5
+ job = list("Psychiatrist")//why? Becuase its funny that a person in charge of your mental wellbeing has a cat granade..
+
//Chef
/datum/uplink_item/jobspecific/specialsauce
name = "Chef Excellence's Special Sauce"
@@ -267,16 +274,6 @@ var/list/uplink_items = list()
job = list("Botanist")
-//Chemist
-
-/datum/uplink_item/jobspecific/antisocial
- name = "Explosive Hug Chemical"
- desc = "30 units of Bicarodyne, a chemical that causes a devastating explosion when exposed to endorphins released in the body by a hug. Metabolizes quite slowly."
- reference = "HUG"
- item = /obj/item/weapon/storage/box/syndie_kit/explosive_hug //Had to be put in a box because it didn't play well with reagent creation
- cost = 4
- job = list("Chemist", "Chief Medical Officer")
-
//Atmos Tech
/datum/uplink_item/jobspecific/contortionist
name = "Contortionist's Jumpsuit"
diff --git a/code/game/objects/items/weapons/dice.dm b/code/game/objects/items/weapons/dice.dm
index 24fe5ebd97c..0b090581595 100644
--- a/code/game/objects/items/weapons/dice.dm
+++ b/code/game/objects/items/weapons/dice.dm
@@ -90,7 +90,8 @@
/obj/item/weapon/dice/d20/e20/diceroll(mob/user as mob, thrown)
- if(triggered) return
+ if(triggered)
+ return
..()
if(result == 1)
to_chat(user, "Rocks fall, you die.")
diff --git a/code/game/objects/items/weapons/grenades/spawnergrenade.dm b/code/game/objects/items/weapons/grenades/spawnergrenade.dm
index 074617d4d10..eb492df234f 100644
--- a/code/game/objects/items/weapons/grenades/spawnergrenade.dm
+++ b/code/game/objects/items/weapons/grenades/spawnergrenade.dm
@@ -40,4 +40,28 @@
name = "carp delivery grenade"
spawner_type = /mob/living/simple_animal/hostile/carp
deliveryamt = 5
- origin_tech = "materials=3;magnets=4;syndicate=4"
\ No newline at end of file
+ origin_tech = "materials=3;magnets=4;syndicate=4"
+
+/obj/item/weapon/grenade/spawnergrenade/feral_cats
+ name = "feral cat delivery grenade"
+ desc = "This grenade contains 8 dehydrated feral cats in a similar manner to dehydrated monkeys, which, upon detonation, will be rehydrated by a small reservoir of water contained within the grenade. These cats will then attack anything in sight."
+ spawner_type = /mob/living/simple_animal/hostile/feral_cat
+ deliveryamt = 8
+ origin_tech = "materials=3;magnets=4;syndicate=4"
+
+/obj/item/weapon/grenade/spawnergrenade/feral_cats/prime() //Own proc for this because the regular one would flash people which was dumb.
+ update_mob()
+ if(spawner_type && deliveryamt)
+ var/turf/T = get_turf(src)
+ playsound(T, 'sound/effects/phasein.ogg', 100, 1)
+
+ for(var/i=1, i<=deliveryamt, i++)
+ var/atom/movable/x = new spawner_type
+ x.loc = T
+ if(prob(50))
+ for(var/j = 1, j <= rand(1, 3), j++)
+ step(x, pick(NORTH,SOUTH,EAST,WEST))
+
+
+ qdel(src)
+ return
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm
index 8c20759786b..e5ebf843c6e 100644
--- a/code/game/objects/items/weapons/storage/uplink_kits.dm
+++ b/code/game/objects/items/weapons/storage/uplink_kits.dm
@@ -186,13 +186,4 @@
new /obj/item/ammo_casing/shotgun/dart/assassination(src)
new /obj/item/ammo_casing/shotgun/dart/assassination(src)
new /obj/item/ammo_casing/shotgun/dart/assassination(src)
- new /obj/item/weapon/gun/projectile/revolver/doublebarrel/improvised/cane(src)
-
-/obj/item/weapon/storage/box/syndie_kit/explosive_hug
- name = "box"
-
-/obj/item/weapon/storage/box/syndie_kit/explosive_hug/New()
- ..()
- new /obj/item/weapon/reagent_containers/glass/bottle/antisocial(src)
- new /obj/item/weapon/reagent_containers/syringe(src)
- return
\ No newline at end of file
+ new /obj/item/weapon/gun/projectile/revolver/doublebarrel/improvised/cane(src)
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index 0e4f49de46a..3ab237084e6 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -299,7 +299,7 @@
return ..()
//Putting heads on spears
-/obj/item/weapon/organ/head/attackby(var/obj/item/weapon/W, var/mob/living/user, params)
+/obj/item/organ/external/head/attackby(var/obj/item/weapon/W, var/mob/living/user, params)
if(istype(W, /obj/item/weapon/twohanded/spear))
to_chat(user, "You stick the head onto the spear and stand it upright on the ground.")
var/obj/structure/headspear/HS = new /obj/structure/headspear(user.loc)
@@ -315,7 +315,7 @@
return ..()
/obj/item/weapon/twohanded/spear/attackby(var/obj/item/I, var/mob/living/user)
- if(istype(I, /obj/item/weapon/organ/head))
+ if(istype(I, /obj/item/organ/external/head))
to_chat(user, "You stick the head onto the spear and stand it upright on the ground.")
var/obj/structure/headspear/HS = new /obj/structure/headspear(user.loc)
var/matrix/M = matrix()
@@ -339,7 +339,7 @@
/obj/structure/headspear/attack_hand(mob/living/user)
user.visible_message("[user] kicks over \the [src]!", "You kick down \the [src]!")
new /obj/item/weapon/twohanded/spear(user.loc)
- for(var/obj/item/weapon/organ/head/H in src)
+ for(var/obj/item/organ/external/head/H in src)
H.loc = user.loc
qdel(src)
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index cb947519818..f7af2ddc549 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -696,6 +696,6 @@
var/list/slot_must_be_empty = list(slot_back,slot_handcuffed,slot_legcuffed,slot_l_hand,slot_r_hand,slot_belt,slot_head,slot_wear_suit)
for(var/slot_id in slot_must_be_empty)
if(user.get_item_by_slot(slot_id))
- user << "You can't fit inside while wearing that \the [user.get_item_by_slot(slot_id)]."
+ to_chat(user,"You can't fit inside while wearing that \the [user.get_item_by_slot(slot_id)].")
return 0
return 1
diff --git a/code/modules/mob/living/simple_animal/hostile/feral_cat.dm b/code/modules/mob/living/simple_animal/hostile/feral_cat.dm
new file mode 100644
index 00000000000..f1f99244c80
--- /dev/null
+++ b/code/modules/mob/living/simple_animal/hostile/feral_cat.dm
@@ -0,0 +1,28 @@
+/mob/living/simple_animal/hostile/feral_cat
+ name = "feral cat"
+ desc = "Kitty!! Wait..."
+ icon = 'icons/mob/pets.dmi'
+ icon_state = "cat2"
+ icon_living = "cat2"
+ icon_dead = "cat2_dead"
+ gender = MALE
+ maxHealth = 30
+ health = 30
+ melee_damage_lower = 10
+ melee_damage_upper = 5
+ attacktext = "claws"
+ speak = list("Meow!", "Esp!", "Purr!", "HSSSSS")
+ speak_emote = list("purrs", "meows")
+ emote_hear = list("meows", "mews")
+ speak_chance = 1
+ turns_per_move = 5
+ see_in_dark = 6
+ butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab = 2)
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "kicks"
+ gold_core_spawnable = 1
+ faction = list("cat")
+ atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0)
+ unsuitable_atmos_damage = 5
+ pass_flags = PASSTABLE
\ No newline at end of file
diff --git a/code/modules/projectiles/ammunition/ammo_casings.dm b/code/modules/projectiles/ammunition/ammo_casings.dm
index ea8d3f586d0..44189411515 100644
--- a/code/modules/projectiles/ammunition/ammo_casings.dm
+++ b/code/modules/projectiles/ammunition/ammo_casings.dm
@@ -301,4 +301,3 @@
/obj/item/ammo_casing/shotgun/dart/assassination/New()
..()
reagents.add_reagent("neurotoxin", 6)
- reagents.add_reagent("lexorin", 6)
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index e1590c47db4..d4af171ac50 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -87,7 +87,7 @@
proj.silenced = silenced
return
-/obj/item/weapon/gun/energy/New()
+/obj/item/weapon/gun/New()
build_zooming()
/obj/item/weapon/gun/pickup(mob/user)
diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm
index 180862441f1..8f5b20a9baa 100644
--- a/code/modules/projectiles/guns/projectile/sniper.dm
+++ b/code/modules/projectiles/guns/projectile/sniper.dm
@@ -119,7 +119,7 @@
/obj/item/projectile/bullet/sniper/haemorrhage/on_hit(atom/target, blocked = 0, hit_zone)
if((blocked != 100) && istype(target, /mob/living/carbon/human))
var/mob/living/carbon/human/H = target
- H.drip(100)
+ H.drip(1000)
return ..()
diff --git a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_harm.dm b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_harm.dm
index 5b75f6aabf7..3a5cf0e73dd 100644
--- a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_harm.dm
+++ b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_harm.dm
@@ -72,17 +72,4 @@
result = "condensedcapsaicin"
required_reagents = list("capsaicin" = 2)
required_catalysts = list("plasma" = 5)
- result_amount = 1
-
-/datum/chemical_reaction/explosion_bicarodyne
- name = "Explosion"
- id = "explosion_bicarodyne"
- result = null
- required_reagents = list("bicarodyne" = 1, "sal_acid" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/explosion_bicarodyne/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/datum/effect/system/reagents_explosion/e = new()
- e.set_up(created_volume, holder.my_atom, 0, 0)
- e.start()
- return
\ No newline at end of file
+ result_amount = 1
\ No newline at end of file
diff --git a/code/modules/reagents/oldchem/reagents/reagents_toxin.dm b/code/modules/reagents/oldchem/reagents/reagents_toxin.dm
index 6eb3c144e03..8dcb1a77d6e 100644
--- a/code/modules/reagents/oldchem/reagents/reagents_toxin.dm
+++ b/code/modules/reagents/oldchem/reagents/reagents_toxin.dm
@@ -394,14 +394,6 @@
..()
return
-/datum/reagent/bicarodyne
- name = "Bicarodyne"
- id = "bicarodyne"
- description = "Not to be confused with the old chemical Bicaridine, Bicarodyne is a volatile chemical that reacts violently in the presence of most human endorphins."
- reagent_state = LIQUID
- color = "#C8A5DC" // rgb: 200, 165, 220
- metabolization_rate = 0.01
-
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/reagent/condensedcapsaicin
name = "Condensed Capsaicin"
diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm
index 57d5c8807ff..3079a5286ec 100644
--- a/code/modules/reagents/reagent_containers/glass/bottle.dm
+++ b/code/modules/reagents/reagent_containers/glass/bottle.dm
@@ -301,15 +301,6 @@
..()
reagents.add_reagent(pick("polonium","initropidril","concentrated_initro","pancuronium","sodium_thiopental","ketamine","sulfonal","amanitin","coniine","curare","sarin","histamine","venom","cyanide","spidereggs","nanomachines"), 40)
-/obj/item/weapon/reagent_containers/glass/bottle/antisocial
- desc = "It has a skull and heart on the bottle..what?"
- possible_transfer_amounts = list(5,10,15,25,30)
- volume = 30
-
- New()
- ..()
- reagents.add_reagent("bicarodyne", 30)
-
/obj/item/weapon/reagent_containers/glass/bottle/plasma
name = "plasma dust bottle"
desc = "A small bottle of plasma in dust form. Extremely toxic and reacts with micro-organisms inside blood."
diff --git a/paradise.dme b/paradise.dme
index db70b0e6819..d0592b530ea 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -1602,6 +1602,7 @@
#include "code\modules\mob\living\simple_animal\hostile\carp.dm"
#include "code\modules\mob\living\simple_animal\hostile\creature.dm"
#include "code\modules\mob\living\simple_animal\hostile\faithless.dm"
+#include "code\modules\mob\living\simple_animal\hostile\feral_cat.dm"
#include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm"
#include "code\modules\mob\living\simple_animal\hostile\headcrab.dm"
#include "code\modules\mob\living\simple_animal\hostile\hivebot.dm"