diff --git a/code/game/objects/alien/facehugger.dm b/code/game/objects/alien/facehugger.dm index b38935224a0..25d304f47eb 100644 --- a/code/game/objects/alien/facehugger.dm +++ b/code/game/objects/alien/facehugger.dm @@ -163,7 +163,7 @@ var/const/MAX_ACTIVE_TIME = 600 return proc/Impregnate(mob/living/carbon/target as mob) - if(target.wear_mask != src) //was taken off or something + if(!target || target.wear_mask != src) //was taken off or something return if(!sterile) diff --git a/code/game/objects/devices/chameleonproj.dm b/code/game/objects/devices/chameleonproj.dm index c8e7ff754c0..50e92dfbef3 100644 --- a/code/game/objects/devices/chameleonproj.dm +++ b/code/game/objects/devices/chameleonproj.dm @@ -23,6 +23,8 @@ ..() master.disrupt() relaymove(var/mob/user, direction) + if(istype(loc, /turf/space)) return //No magical space movement! + if(can_move) can_move = 0 switch(usr.bodytemperature) diff --git a/code/modules/mob/mob_cleanup.dm b/code/modules/mob/mob_cleanup.dm index 7c356a1d613..30c7f7c1cdb 100644 --- a/code/modules/mob/mob_cleanup.dm +++ b/code/modules/mob/mob_cleanup.dm @@ -9,9 +9,11 @@ Put (mob/proc)s here that are in dire need of a code cleanup. /mob/proc/contract_disease(var/datum/disease/virus, var/skip_this = 0, var/force_species_check=1) // world << "Contract_disease called by [src] with virus [virus]" if(stat >=2) return - if(virus.type in resistances) - if(prob(99.9)) return - resistances.Remove(virus.type)//the resistance is futile + +//This gives a chance to re-infect cured/vaccinated mobs +// if(virus.type in resistances) +// if(prob(99.9)) return +// resistances.Remove(virus.type)//the resistance is futile for(var/datum/disease/D in viruses) if(istype(D, virus.type))