diff --git a/html/changelogs/AutoChangeLog-pr-1684.yml b/html/changelogs/AutoChangeLog-pr-1684.yml new file mode 100644 index 0000000000000..fc8df6021b837 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1684.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - balance: "Bloodsuckers can only reach 560 max blood via drinking blood bags or the blood reagent, and bloodsuckers above level 4 will get 30% less blood and be disgusted by it." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-1795.yml b/html/changelogs/AutoChangeLog-pr-1795.yml new file mode 100644 index 0000000000000..5b815d817f1d2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1795.yml @@ -0,0 +1,4 @@ +author: "nikothedude" +delete-after: True +changes: + - rscadd: "Mothroaches can now be milked for moth milk" \ No newline at end of file diff --git a/modular_zubbers/code/modules/antagonists/bloodsucker/bloodsuckers/integration.dm b/modular_zubbers/code/modules/antagonists/bloodsucker/bloodsuckers/integration.dm index e50e1d3cbcec3..b5ab59e326faf 100644 --- a/modular_zubbers/code/modules/antagonists/bloodsucker/bloodsuckers/integration.dm +++ b/modular_zubbers/code/modules/antagonists/bloodsucker/bloodsuckers/integration.dm @@ -8,10 +8,15 @@ var/datum/antagonist/bloodsucker/bloodsuckerdatum = IS_BLOODSUCKER(exposed_mob) if(!bloodsuckerdatum) return ..() + if(!(methods & (INJECT|INGEST))) + return ..() - if(istype(bloodsuckerdatum.my_clan, /datum/bloodsucker_clan/ventrue) && bloodsuckerdatum.GetBloodVolume() >= BLOOD_VOLUME_SAFE) + if(bloodsuckerdatum.my_clan && istype(bloodsuckerdatum.my_clan, /datum/bloodsucker_clan/ventrue) && bloodsuckerdatum.GetBloodVolume() >= BLOOD_VOLUME_SAFE) return ..() - if(bloodsuckerdatum.GetBloodVolume() >= BLOOD_VOLUME_MAXIMUM) + if(bloodsuckerdatum.GetRank() >= BLOODSUCKER_HIGH_LEVEL) + exposed_mob.adjust_disgust(5 SECONDS, DISGUST_LEVEL_GROSS) + reac_volume = reac_volume * 0.3 + if(bloodsuckerdatum.GetBloodVolume() >= BLOOD_VOLUME_NORMAL) return ..() bloodsuckerdatum.AdjustBloodVolume(round(reac_volume, 0.1)) diff --git a/modular_zubbers/code/modules/antagonists/bloodsucker/clans/clan.dm b/modular_zubbers/code/modules/antagonists/bloodsucker/clans/clan.dm index 454318b242fce..04f0616e10c7d 100644 --- a/modular_zubbers/code/modules/antagonists/bloodsucker/clans/clan.dm +++ b/modular_zubbers/code/modules/antagonists/bloodsucker/clans/clan.dm @@ -211,7 +211,7 @@ // Ranked up enough to get your true Reputation? if(bloodsuckerdatum.GetRank() == BLOODSUCKER_HIGH_LEVEL) - to_chat(bloodsuckerdatum.owner.current, span_warning("Drinking from mindless humans is now much more less effective.")) + to_chat(bloodsuckerdatum.owner.current, span_warning("Drinking from mindless humans and blood bags is now much more less effective.")) bloodsuckerdatum.SelectReputation(am_fledgling = FALSE, forced = TRUE) diff --git a/modular_zubbers/code/modules/reagents/drink_reagents.dm b/modular_zubbers/code/modules/reagents/drink_reagents.dm index 0b21c250b4c60..94b556fe55076 100644 --- a/modular_zubbers/code/modules/reagents/drink_reagents.dm +++ b/modular_zubbers/code/modules/reagents/drink_reagents.dm @@ -11,3 +11,9 @@ if(!ismoth(M)) M.adjust_disgust(10 * REM * delta_time,DISGUST_LEVEL_DISGUSTED) return UPDATE_MOB_HEALTH + + +/mob/living/basic/mothroach/Initialize(mapload) + . = ..() + + AddComponent(/datum/component/udder, reagent_produced_override = /datum/reagent/consumable/moth_milk)