diff --git a/code/datums/tips/tips.dm b/code/datums/tips/tips.dm index 3f0aa68bd76..2c564037bb0 100644 --- a/code/datums/tips/tips.dm +++ b/code/datums/tips/tips.dm @@ -173,7 +173,8 @@ GLOBAL_LIST_EMPTY(tips_by_category) "As a Paramedic, you can take special drop pouches. These let you have more room for medical equipment. You can find them in the accessories tab.", "As a Paramedic, its a good idea to stop the bleeding before transportation.", "As a Paramedic, you're naturally cool.", - "As the Psychiatrist, advertise yourself. Go talk to people. Otherwise, you'll be bored out of your mind." + "As the Psychiatrist, advertise yourself. Go talk to people. Otherwise, you'll be bored out of your mind.", + "Implanted Greimorian eggs can be removed by administering the anti-parasitic drug helmizole, or by performing surgery to remove the eggsac from the affected body part like any other organ or parasite." ) @@ -303,9 +304,6 @@ GLOBAL_LIST_EMPTY(tips_by_category) "As a Mercenary, you should look into purchasing a Combat Robot, as they can provide fire support, are immune to conventional stuns, and can take down most enemies.", "As a Mercenary, stick together! While your equipment is robust, your fellow operatives are much better at saving your life: they can drag you away from danger while stunned and provide cover fire.", "As a Mercenary, you might end up in a situation where the AI has bolted you into a room. Having some spare C4 in your pocket can save your life.", - "As a Monkey, you can crawl through air vents by alt+left clicking them. You must drop everything you are wearing and holding to do this, however.", - "As a Monkey, you can still wear a few human items, such as backpacks, gas masks and hats, and still have two free hands.", - "As the Malfunctioning AI, you should either order your cyborgs to dismantle the robotics console or blow it up yourself in order to protect them. Make sure to hunt down all those laptops too!", "As a Revolutionary, you cannot convert a head of staff or someone who has a mindshield implant. Implants can however be surgically removed. Take control of medbay to keep control of conversions!", "As a Revolutionary, cargo can be your best friend or your worst nightmare. In the best case scenario you will be able to order a limitless amount of guns and armor, in the worst case scenario security will take control and order a limitless number of loyalty implants to turn your fellow revolutionaries against you.", "As a Revolutionary, your main power comes from how quickly you spread. Convert people as fast as you can and overwhelm the heads of staff before security can arm up.", @@ -324,11 +322,11 @@ GLOBAL_LIST_EMPTY(tips_by_category) "As a Death Commando you have only one course of action: RIP AND TEAR.", "As a Highlander, there can be only one.", "As a Loyalist, remember that you are an antagonist too!", - "As a Renegade, consider playing a better gamemode.", "As a Vampire, you can create new vampires out of willing and less than willing crew. Mind that new vampires may decide to turn their powers against you.", "As a Vampire, if you start going hungry for blood don't expect to stay hidden for long.", "As a Loner, your psionic powers are a mystery to us all.", - "EMP or Emag the bluespace inhibitor for a whacky, wild adventure." + "EMP or Emag the bluespace inhibitor for a whacky, wild adventure.", + "If you can't afford a radioactive waste canister, stealing a uranium or radium canister and spilling some of its contents will also generate weak puddles of radioactive goo." ) diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm index de2dfa6c020..afa80840a15 100644 --- a/code/game/objects/effects/decals/Cleanable/misc.dm +++ b/code/game/objects/effects/decals/Cleanable/misc.dm @@ -61,7 +61,7 @@ /obj/effect/decal/cleanable/greenglow/post_sweep(var/mob/user) if(ishuman(user)) var/mob/living/carbon/human/H = user - H.apply_radiation(5) + H.apply_radiation(3) STOP_PROCESSING(SSprocessing, src) ABSTRACT_TYPE(/obj/effect/decal/cleanable/greenglow/radioactive) diff --git a/code/modules/organs/subtypes/parasite/greim_eggs.dm b/code/modules/organs/subtypes/parasite/greim_eggs.dm index b827a0b6300..c3c4d082906 100644 --- a/code/modules/organs/subtypes/parasite/greim_eggs.dm +++ b/code/modules/organs/subtypes/parasite/greim_eggs.dm @@ -8,8 +8,8 @@ parent_organ = BP_CHEST subtle = 1 - /// ~2 minutes/stage (at two seconds/tick) - stage_interval = 60 + /// ~3 minutes/stage (at two seconds/tick) + stage_interval = 90 max_stage = 5 @@ -28,15 +28,16 @@ /obj/item/organ/internal/parasite/greimorian_eggcluster/process() ..() - if(!owner && gestating_spiderlings) - return + // Make sure if its been removed from the host, it dissolves into goo. + if(!owner) + qdel() if(ruptured) return var/obj/item/organ/external/affecting_organ = owner.organs_by_name[parent_organ] - if(prob(8)) + if(prob(6)) gestating_spiderlings += 1 if(prob(5)) @@ -45,27 +46,27 @@ if(prob(33)) owner.adjustNutritionLoss(3) - if(stage >= 2) //after ~2.5 minutes + if(stage >= 2) if(prob(8)) - gestating_spiderlings += rand(1,2) + gestating_spiderlings += 1 if(prob(33)) owner.adjustNutritionLoss(4) if(prob(5)) owner.emote("whimper") - if(prob(3)) + if(prob(2)) to_chat(owner, SPAN_WARNING(pick("You feel nauseous and hungry at the same time.", "You feel a burning pain in your [parent_organ].", "Your sense of balance seems broken."))) - if(stage >= 3) //after ~5 minutes - if(prob(8)) - gestating_spiderlings += rand(1,3) + if(stage >= 3) + if(prob(6)) + gestating_spiderlings += 1 if(prob(33)) owner.adjustNutritionLoss(5) if(prob(10)) affecting_organ.take_damage(rand(1,3)) owner.adjustHalLoss(8) - if(world.time > last_crawling_msg + 15 SECONDS) + if(world.time > last_crawling_msg + 20 SECONDS) last_crawling_msg = world.time owner.visible_message( SPAN_WARNING("You think you see something moving around in \the [owner.name]'s [affecting_organ.name]."), @@ -73,9 +74,9 @@ if(prob(1)) owner.seizure(0.4) - if(stage >= 4) //after ~7.5 minutes - if(prob(8)) - gestating_spiderlings += rand(1,4) + if(stage >= 4) + if(prob(6)) + gestating_spiderlings += rand(1,2) if(prob(5)) owner.reagents.add_reagent(/singleton/reagent/toxin/greimorian_eggs, (gestating_spiderlings / 3)) @@ -84,9 +85,9 @@ if(prob(5)) owner.seizure(0.5) - if(stage >= 5) //after ~9 minutes - if(prob(8)) - gestating_spiderlings += rand(1,5) + if(stage >= 5) + if(prob(6)) + gestating_spiderlings += rand(1,2) if(prob(10)) owner.seizure(0.6) @@ -98,11 +99,12 @@ owner.visible_message( SPAN_DANGER("You can see the flesh of [owner.name]'s [affecting_organ.name] begin rippling violently!"), SPAN_DANGER("An extreme, nauseating pain erupts from your [affecting_organ.name]; you feel something burst inside it. The flesh begins to ripple violently!")) - addtimer(CALLBACK(src, PROC_REF(rupture)), rand(30, 50)) + addtimer(CALLBACK(src, PROC_REF(rupture)), rand(2 SECONDS, 4 SECONDS)) /obj/item/organ/internal/parasite/greimorian_eggcluster/Destroy() - var/obj/item/organ/external/affecting_organ = owner.organs_by_name[parent_organ] - to_chat(src.owner, SPAN_WARNING("Mercifully, you feel something finally dissolve in your [affecting_organ.name]...")) + if(owner) + var/obj/item/organ/external/affecting_organ = owner.organs_by_name[parent_organ] + to_chat(src.owner, SPAN_WARNING("Mercifully, you feel something finally dissolve in your [affecting_organ.name]...")) ..() /** @@ -121,7 +123,9 @@ src.owner.emote("scream") var/target_loc = src.owner ? src.owner.loc : src.loc - for(var/i = 0 to gestating_spiderlings) + // Average of 8 adult greimorians (larva 'can_mature_chance' is 50). + var/clamped_spiderlings = max(gestating_spiderlings, 16) + for(var/i = 0 to clamped_spiderlings) // For details on the spiderlings, check out 'code\game\objects\effects\spiders.dm' new /obj/effect/spider/spiderling(target_loc, src, 3) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm index b2eb62b5753..36815a596f4 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm @@ -444,7 +444,7 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol) if(!istype(T, /turf/space)) var/obj/effect/decal/cleanable/greenglow/glow = locate(/obj/effect/decal/cleanable/greenglow, T) if(!glow) - new /obj/effect/decal/cleanable/greenglow(T) + new /obj/effect/decal/cleanable/greenglow/radioactive/low(T) return /singleton/reagent/acid diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm index 1d81fecbdd2..f4b8e6eb641 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm @@ -185,10 +185,11 @@ affect_ingest(M, alien, removed, holder) /singleton/reagent/radioactive_waste/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) - M.apply_effect(25 * removed, DAMAGE_RADIATION, blocked = 0) + var/rad_damage = min(75, 40 * removed) + M.apply_effect(rad_damage, DAMAGE_RADIATION, blocked = 0) /singleton/reagent/radioactive_waste/touch_turf(var/turf/T, var/amount, var/datum/reagents/holder) - if(amount >= 5) + if(amount >= 3) if(!istype(T, /turf/space)) var/obj/effect/decal/cleanable/greenglow/glow = locate(/obj/effect/decal/cleanable/greenglow, T) if(!glow) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm index 5d509022bb1..1dc9500698a 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm @@ -1061,8 +1061,11 @@ if(victim.chem_effects[CE_ANTIPARASITE]) return - if(!victim.internal_organs_by_name[BP_GREIMORIAN_EGGCLUSTER]) + if(!victim.internal_organs_by_name[BP_GREIMORIAN_EGGCLUSTER] && prob(20)) var/obj/item/organ/external/affected = pick(victim.organs) + // Give the victim an extra chance to NOT get an eggsac in their head; reroll. + if(affected == BP_HEAD) + affected = pick(victim.organs) var/obj/item/organ/internal/parasite/greimorian_eggcluster/infest = new() infest.parent_organ = affected.limb_name infest.replaced(victim, affected) diff --git a/html/changelogs/bat-antagtuningstuff.yml b/html/changelogs/bat-antagtuningstuff.yml new file mode 100644 index 00000000000..18971c2f0ad --- /dev/null +++ b/html/changelogs/bat-antagtuningstuff.yml @@ -0,0 +1,20 @@ +# Your name. +author: Batrachophrenoboocosmomachia + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Spilled radium now generates (weakly) radioactive puddles of green goo, just like Uranium." + - balance: "Extends Greimorian eggsac incubation time by 50%." + - balance: "Introduces a probability element to greimorian egg toxin metabolism; after being injected with the reagent, each metabolism tick only has a % chance to create the eggsac 'organ', meaning quick helmizole injection (or dumb luck) can prevent incubation entirely." + - balance: "Introduces clamp on spiderling generation counter to prevent RNG from causing outsized impact from single eggsac rupture." + - balance: "If the randomly chosen body part a Greimorian eggsac would infest is the head, the victim will get an extra reroll of target body part to avoid the associated instant death risk." + - balance: "Consuming radioactive waste is now MUCH unhealthier. Don't eat radioactive waste." + - qol: "Updates some antagonist tips (removed old/deprecated ones, added new one.)" + - bugfix: "Removed greimorian eggsacs now dissolve into goo as intended."