diff --git a/code/datums/diseases/viruses/_virus.dm b/code/datums/diseases/viruses/_virus.dm index 6cee6d43282f..493cc252c5ef 100644 --- a/code/datums/diseases/viruses/_virus.dm +++ b/code/datums/diseases/viruses/_virus.dm @@ -9,6 +9,7 @@ var/infectivity = 65 ///affects how well the virus will pass through the protection. The more the better. In range (0-2] var/permeability_mod = 1 + var/no_vaccine = FALSE /datum/disease/virus/New() ..() diff --git a/code/datums/diseases/viruses/loyalty_syndrome.dm b/code/datums/diseases/viruses/loyalty_syndrome.dm index 42b1c6cce3c5..584943a91024 100644 --- a/code/datums/diseases/viruses/loyalty_syndrome.dm +++ b/code/datums/diseases/viruses/loyalty_syndrome.dm @@ -6,11 +6,11 @@ desc = "Болезнь, вызывающая острую массовую одержимость определённым человеком, а также различные навязчивые идеи." spread_flags = CONTACT permeability_mod = 0.8 - can_immunity = FALSE cure_text = "Галоперидол" cures = list("haloperidol") visibility_flags = HIDDEN_HUD severity = DISEASE_SEVERITY_BIOHAZARD + no_vaccine = TRUE var/is_master = FALSE var/mob/living/carbon/human/master var/timer = 0 @@ -164,4 +164,5 @@ need_master_death_message = FALSE affected_mob.adjustBrainLoss(50) addtimer(CALLBACK(affected_mob, TYPE_PROC_REF(/mob/living/carbon/human, emote), "cry"), rand(3, 10) SECONDS) + #undef STAGE_TIME diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 3f1a8d64994e..fd59dc6bb5a1 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -101,7 +101,6 @@ vaccine_name = disease.name if(vaccine_type) - B.name = "вакцина [capitalize(vaccine_name)]" B.ru_names = list( NOMINATIVE = "вакцина [capitalize(vaccine_name)]", @@ -359,6 +358,15 @@ return ..() beaker = I balloon_alert(user, "ёмкость вставлена") + var/datum/reagents/reagents = beaker.reagents + for(var/datum/reagent/reagent in reagents.reagent_list) + if((reagent.id in GLOB.diseases_carrier_reagents) && reagent.data && reagent.data["resistances"]) + var/list/original_resistances = reagent.data["resistances"] + var/list/resistances = original_resistances.Copy() + for(var/path in resistances) + var/datum/disease/virus/virus_res = new path + if(virus_res.no_vaccine) + reagent.data["resistances"] -= path updateUsrDialog() update_icon(UPDATE_ICON_STATE) return ATTACK_CHAIN_BLOCKED_ALL @@ -381,4 +389,3 @@ /obj/machinery/computer/pandemic/wrench_act(mob/living/user, obj/item/I) return default_unfasten_wrench(user, I) -