diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm
index 173888258..ae91ee72f 100644
--- a/code/modules/mob/living/carbon/human/species_types/vampire.dm
+++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm
@@ -25,7 +25,7 @@
to_chat(C, "[info_text]")
C.skin_tone = "albino"
C.update_body(0)
- var/obj/effect/proc_holder/spell/targeted/shapeshift/bat/B = new
+ var/obj/effect/proc_holder/spell/targeted/shapeshift/bat/vampire/B = new
C.AddSpell(B)
/datum/species/vampire/on_species_loss(mob/living/carbon/C)
@@ -33,7 +33,7 @@
if(C.mind)
for(var/S in C.mind.spell_list)
var/obj/effect/proc_holder/spell/S2 = S
- if(S2.type == /obj/effect/proc_holder/spell/targeted/shapeshift/bat)
+ if(S2.type == /obj/effect/proc_holder/spell/targeted/shapeshift/bat/vampire)
C.mind.spell_list.Remove(S2)
qdel(S2)
@@ -135,6 +135,9 @@
var/ventcrawl_nude_only = TRUE
var/transfer_name = TRUE
+/obj/effect/proc_holder/spell/targeted/shapeshift/bat/vampire
+ shapeshift_type = /mob/living/simple_animal/hostile/retaliate/bat/vampire
+
/obj/effect/proc_holder/spell/targeted/shapeshift/bat/Shapeshift(mob/living/caster) //cit change
var/obj/shapeshift_holder/H = locate() in caster
if(H)
@@ -152,3 +155,17 @@
clothes_req = 0
human_req = 0
+
+/obj/effect/proc_holder/spell/targeted/shapeshift/bat/vampire/Shapeshift(mob/living/caster) //cit change
+ var/obj/shapeshift_holder/H = locate() in caster
+ if(H)
+ to_chat(caster, "You're already shapeshifted!")
+ return
+
+ var/mob/living/shape = new shapeshift_type(caster.loc)
+ H = new(shape,src,caster)
+ if(transfer_name)
+ H.name = caster.name
+
+ clothes_req = 0
+ human_req = 0
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm
index cc17759cc..179bb736c 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm
@@ -49,3 +49,6 @@
emote_see = list("is ready to law down the law.", "flaps about with an air of authority.")
response_help = "respects the authority of"
gold_core_spawnable = FRIENDLY_SPAWN
+
+/mob/living/simple_animal/hostile/retaliate/bat/vampire //Too many people use this to vent into places they shouldn't, *cough cough* armory
+ ventcrawler = VENTCRAWLER_NONE
\ No newline at end of file
diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm
index a10180e0f..8db04d858 100644
--- a/modular_citadel/code/modules/arousal/organs/penis.dm
+++ b/modular_citadel/code/modules/arousal/organs/penis.dm
@@ -33,6 +33,9 @@
var/obj/item/organ/genital/penis/P = o.getorganslot("penis")
to_chat(o, "You feel your tallywacker shrinking away from your body as your groin flattens out!")
P.Remove(o)
+ if(girth_ratio == null)
+ girth_ratio = COCK_GIRTH_RATIO_DEF
+ o.update_genitals()
switch(round(cached_length))
if(0 to 4) //If modest size
length = cached_length