diff --git a/code/__defines/_reagents_ch.dm b/code/__defines/_reagents_ch.dm index 5fc1742725..96a0348098 100644 --- a/code/__defines/_reagents_ch.dm +++ b/code/__defines/_reagents_ch.dm @@ -281,3 +281,9 @@ #define REAGENT_ID_NEOLIQUIDFIRE "neoliquidfire" #define REAGENT_LIQUIDLIFE "Liquid Life" #define REAGENT_ID_LIQUIDLIFE "liquidlife" + +#define REAGENT_NUMBING_FLUID "Numbing Fluid" +#define REAGENT_ID_NUMBING_FLUID "succubi_numbing" +#define REAGENT_PARALYZE_FLUID "Paralyzing Fluid" +#define REAGENT_ID_PARALYZE_FLUID "succubi_paralize" +#define REAGENT_ID_APHRODIAC_FLUID "succubi_aphrodisiac" diff --git a/code/game/objects/items/weapons/capture_crystal.dm b/code/game/objects/items/weapons/capture_crystal.dm index c640eb21e6..cafd2563b2 100644 --- a/code/game/objects/items/weapons/capture_crystal.dm +++ b/code/game/objects/items/weapons/capture_crystal.dm @@ -50,7 +50,7 @@ if(isanimal(bound_mob)) . += span_notice("[bound_mob.health / bound_mob.maxHealth * 100]%") if(bound_mob.ooc_notes) - . += span_deptradio("OOC Notes:") + " \[View\] - \[Print\]" + . += span_deptradio("OOC Notes:") + " \[View\] - \[Print\]" . += span_deptradio("\[Mechanical Vore Preferences\]") //Command! This lets the owner toggle hostile on AI controlled mobs, or send a silent command message to your bound mob, wherever they may be. diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_ch.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_ch.dm index 8d761759e7..1d7cb949af 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_ch.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_ch.dm @@ -41,16 +41,16 @@ if(choice == REAGENT_APHRODISIAC) src.show_message(span_warning("You sink your fangs into [T] and inject your aphrodisiac!")) src.visible_message(span_red("[src] sinks their fangs into [T]!")) - T.bloodstr.add_reagent("succubi_aphrodisiac",100) + T.bloodstr.add_reagent(REAGENT_ID_APHRODIAC_FLUID,100) return 0 else if(choice == "Numbing") src.show_message(span_warning("You sink your fangs into [T] and inject your poison!")) src.visible_message(span_red("[src] sinks their fangs into [T]!")) - T.bloodstr.add_reagent("numbing_enzyme",20) //Poisons should work when more units are injected + T.bloodstr.add_reagent(REAGENT_ID_NUMBING_FLUID,20) //Poisons should work when more units are injected else if(choice == "Paralyzing") src.show_message(span_warning("You sink your fangs into [T] and inject your poison!")) src.visible_message(span_red("[src] sinks their fangs into [T]!")) - T.bloodstr.add_reagent("succubi_paralize",20) //Poisons should work when more units are injected + T.bloodstr.add_reagent(REAGENT_ID_PARALYZE_FLUID,20) //Poisons should work when more units are injected else return //Should never happen @@ -65,7 +65,7 @@ mob/living/carbon/proc/charmed() //TODO /datum/reagent/succubi_aphrodisiac name = REAGENT_APHRODISIAC - id = "succubi_aphrodisiac" + id = REAGENT_ID_APHRODIAC_FLUID description = "A unknown liquid, it smells sweet" metabolism = REM * 0.8 color = "#8A0829" @@ -79,8 +79,8 @@ mob/living/carbon/proc/charmed() //TODO return /datum/reagent/succubi_numbing //Using numbing_enzyme instead. - name = "Numbing Fluid" - id = "succubi_numbing" + name = REAGENT_NUMBING_FLUID + id = REAGENT_ID_NUMBING_FLUID description = "A unknown liquid, it doesn't smell" metabolism = REM * 0.5 color = "#41029B" @@ -97,8 +97,8 @@ mob/living/carbon/proc/charmed() //TODO return /datum/reagent/succubi_paralize - name = "Paralyzing Fluid" - id = "succubi_paralize" + name = REAGENT_PARALYZE_FLUID + id = REAGENT_ID_PARALYZE_FLUID description = "A unknown liquid, it doesn't smell" metabolism= REM * 0.5 color = "#41029B" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm index 3dc4530250..efa69b42ed 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm @@ -129,7 +129,7 @@ AddComponent(/datum/component/swarming) /mob/living/simple_mob/animal/giant_spider/CanPass(atom/movable/mover, turf/target) - if(isliving(mover) && !istype(mover, /mob/living/simple_mob/animal/giant_spider) && mover.density == TRUE) + if(isliving(mover) && !istype(mover, /mob/living/simple_mob/animal/giant_spider) && mover.density == TRUE && stat != DEAD) return FALSE return ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm index ee288342c6..5732cb7a04 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm @@ -96,7 +96,7 @@ // This is so carps can swarm /mob/living/simple_mob/animal/space/carp/CanPass(atom/movable/mover, turf/target) - if(isliving(mover) && !istype(mover, /mob/living/simple_mob/animal/space/carp) && mover.density == TRUE) + if(isliving(mover) && !istype(mover, /mob/living/simple_mob/animal/space/carp) && mover.density == TRUE && stat != DEAD) return FALSE return ..() diff --git a/code/modules/nifsoft/nif.dm b/code/modules/nifsoft/nif.dm index 5a8cf233ad..dd55cff3b5 100644 --- a/code/modules/nifsoft/nif.dm +++ b/code/modules/nifsoft/nif.dm @@ -156,7 +156,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return FALSE /obj/item/nif/proc/quick_install(var/mob/living/carbon/human/H) - if(!H) //Or letting them get deleted + if(QDELETED(H)) //Or letting them get deleted return if(H.mind) owner = H.mind.name diff --git a/code/modules/nifsoft/software/14_commlink.dm b/code/modules/nifsoft/software/14_commlink.dm index f9d4ed8e47..def34c3e17 100644 --- a/code/modules/nifsoft/software/14_commlink.dm +++ b/code/modules/nifsoft/software/14_commlink.dm @@ -39,9 +39,9 @@ var/obj/item/nif/nif var/datum/nifsoft/commlink/nifsoft -/obj/item/communicator/commlink/New(var/newloc,var/soft) - ..() - nif = newloc +/obj/item/communicator/commlink/Initialize(mapload, var/soft) + . = ..() + nif = loc nifsoft = soft /obj/item/communicator/commlink/Destroy() diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 78a32767d6..e9a4873145 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -554,6 +554,10 @@ else var/mob/living/L = target if(!direct_target) + // Swarms are special scuffed critters. They must have density FALSE to swarm, but then they don't get hit. + // So we'll check before, just in case. Lying might gives a chance to dodge, however. + if(L.GetComponent(/datum/component/swarming) && L.stat != DEAD && !L.lying) + return TRUE if(!L.density) return FALSE return TRUE diff --git a/modular_chomp/code/modules/organs/internal/malignant/malignant.dm b/modular_chomp/code/modules/organs/internal/malignant/malignant.dm index 80ba202b90..9326fbcb2a 100644 --- a/modular_chomp/code/modules/organs/internal/malignant/malignant.dm +++ b/modular_chomp/code/modules/organs/internal/malignant/malignant.dm @@ -38,7 +38,7 @@ // engineered ones don't do all of the above if(force_location) parent_organ = force_location - return ..(mapload, internal) + return ..(mapload, internal) /mob/living/carbon/human/proc/random_malignant_organ( var/allowtumors = TRUE, var/allowparasites = TRUE, var/allowengineered = TRUE) // get a list of valid malignant organs and spawn one