From ef992601644ba46eb8f5484890dc7d9fb56946d1 Mon Sep 17 00:00:00 2001 From: Kashargul <144968721+Kashargul@users.noreply.github.com> Date: Wed, 6 Dec 2023 19:41:28 +0100 Subject: [PATCH] radstorm changes and borg module fixes --- code/modules/events/radiation_storm.dm | 6 +++++- .../living/silicon/robot/dogborg/dog_modules_vr.dm | 13 +++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/code/modules/events/radiation_storm.dm b/code/modules/events/radiation_storm.dm index a8668e561a4..b084efe773c 100644 --- a/code/modules/events/radiation_storm.dm +++ b/code/modules/events/radiation_storm.dm @@ -34,6 +34,8 @@ SSradiation.z_radiate(locate(1, 1, z), radiation_level, 1) for(var/mob/living/carbon/C in living_mob_list) + if(!(C.z in using_map.station_levels) || C.isSynthetic() || isbelly(C.loc)) + continue var/area/A = get_area(C) if(!A) continue @@ -41,7 +43,9 @@ continue if(istype(C,/mob/living/carbon/human)) var/mob/living/carbon/human/H = C - if(prob(5)) + var/chance = 5.0 + chance -= (chance / 100) * C.getarmor(null, "rad") + if(prob(chance)) if (prob(75)) randmutb(H) // Applies bad mutation domutcheck(H,null,MUTCHK_FORCED) diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm index 48d5b89ceec..5bca7ddae6a 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm @@ -237,6 +237,7 @@ icon_state = "synthtongue" hitsound = 'sound/effects/attackblob.ogg' var/emagged = 0 + var/busy = 0 //prevents abuse and runtimes /obj/item/device/robot_tongue/New() ..() @@ -263,21 +264,27 @@ return user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) + if(busy) + to_chat(user, "You are already licking something else.") + return if(user.client && (target in user.client.screen)) to_chat(user, "You need to take \the [target.name] off before cleaning it!") return else if(istype(target,/obj/item)) if(istype(target,/obj/item/trash)) user.visible_message("[user] nibbles away at \the [target.name].", "You begin to nibble away at \the [target.name]...") + busy = 1 if(do_after (user, 50)) user.visible_message("[user] finishes eating \the [target.name].", "You finish eating \the [target.name].") to_chat(user, "You finish off \the [target.name].") qdel(target) var/mob/living/silicon/robot/R = user R.cell.charge += 250 + busy = 0 return if(istype(target,/obj/item/weapon/cell)) user.visible_message("[user] begins cramming \the [target.name] down its throat.", "You begin cramming \the [target.name] down your throat...") + busy = 1 if(do_after (user, 50)) user.visible_message("[user] finishes gulping down \the [target.name].", "You finish swallowing \the [target.name].") to_chat(user, "You finish off \the [target.name], and gain some charge!") @@ -285,6 +292,7 @@ var/obj/item/weapon/cell/C = target R.cell.charge += C.charge / 3 qdel(target) + busy = 0 return else if(ishuman(target)) if(src.emagged) @@ -345,7 +353,8 @@ icon = 'icons/mob/dogborg_vr.dmi' icon_state = "swordtail" desc = "A glowing dagger. It appears to be extremely sharp." - force = 20 //Takes 5 hits to 100-0 + force = 35 //Takes 3 hits to 100-0 + armor_penetration = 70 sharp = TRUE edge = TRUE throwforce = 0 //This shouldn't be thrown in the first place. @@ -466,4 +475,4 @@ var/armor_soak = get_armor_soak(T, "melee") T.apply_damage(20, HALLOSS,, armor_block, armor_soak) if(prob(75)) //75% chance to stun for 5 seconds, really only going to be 4 bcus click cooldown+animation. - T.apply_effect(5, WEAKEN, armor_block) \ No newline at end of file + T.apply_effect(5, WEAKEN, armor_block)