diff --git a/code/modules/mob/living/simple_animal/astral.dm b/code/modules/mob/living/simple_animal/astral.dm
index 7e0132ccd3..bf0c1f8fd8 100644
--- a/code/modules/mob/living/simple_animal/astral.dm
+++ b/code/modules/mob/living/simple_animal/astral.dm
@@ -10,8 +10,8 @@
response_disarm = "wafts"
friendly = "communes with"
loot = null
- maxHealth = 5
- health = 5
+ maxHealth = 10
+ health = 10
melee_damage_lower = 0
melee_damage_upper = 0
obj_damage = 0
@@ -41,5 +41,7 @@
if(pseudo_death == FALSE)
if(isliving(A))
var/message = html_decode(stripped_input(src, "Enter a message to send to [A]", MAX_MESSAGE_LEN))
- to_chat(A, "[src] projects into your mind, \"[message].\"")
+ if(!message)
+ return
+ to_chat(A, "[src] projects into your mind, \"[message]\"")
log_game("FERMICHEM: [src] has astrally transmitted [message] into [A]")
diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm
index 415dfdf6f2..c7253c0b28 100644
--- a/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm
+++ b/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm
@@ -70,25 +70,29 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die
if(prob(50))
to_chat(G, "The high conentration of Astrogen in your blood causes you to lapse your concentration for a moment, bringing your projection back to yourself!")
do_teleport(G, M.loc)
- M.reagents.remove_reagent(id, current_cycle/8, FALSE)//exponent
+ M.reagents.remove_reagent(id, current_cycle/10, FALSE)//exponent
sleepytime+=5
- if(G.stat == DEAD || !G || G.pseudo_death == TRUE)
- G.mind.transfer_to(M)
- qdel(G)
- if(!G)
- M.Sleeping(10, 0)
+ if(G.mind)
+ if(G.stat == DEAD || G.pseudo_death == TRUE)
+ G.mind.transfer_to(M)
+ qdel(G)
+ else
+ M.Sleeping(20, 0)
+ M.reagents.remove_reagent(id, 2, FALSE)
..()
/datum/reagent/fermi/astral/on_mob_delete(mob/living/carbon/M)
if(!G)
originalmind.transfer_to(M)
- else
+ else if(G.mind)
G.mind.transfer_to(origin)
- qdel(G)
+ qdel(G)
if(overdosed)
to_chat(M, "The high volume of Astrogren you just took causes you to black out momentarily as your mind snaps back to your body.")
M.Sleeping(sleepytime, 0)
antiGenetics = 255
+ if(G)//just in case
+ qdel(G)
..()
//Okay so, this might seem a bit too good, but my counterargument is that it'll likely take all round to eventually kill you this way, then you have to be revived without a body. It takes approximately 50-80 minutes to die from this.