From 5b06b76a108ab1add01c7103af7016b405ec81fa Mon Sep 17 00:00:00 2001 From: MisterBook Date: Sun, 16 Jun 2013 19:05:10 -0500 Subject: [PATCH 1/2] Updates --- code/modules/DetectiveWork/scanner.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/modules/DetectiveWork/scanner.dm b/code/modules/DetectiveWork/scanner.dm index 7bafd4a31fc..448425e454d 100644 --- a/code/modules/DetectiveWork/scanner.dm +++ b/code/modules/DetectiveWork/scanner.dm @@ -34,9 +34,11 @@ attack(mob/living/carbon/human/M as mob, mob/user as mob) if (!ishuman(M)) user << "\red [M] is not human and cannot have the fingerprints." + flick("forensic0",src) return 0 if (( !( istype(M.dna, /datum/dna) ) || M.gloves) ) user << "\blue No fingerprints found on [M]" + flick("forensic0",src) return 0 else if (src.amount < 1) @@ -71,6 +73,7 @@ return if(istype(A,/obj/item/weapon/f_card)) user << "The scanner displays on the screen: \"ERROR 43: Object on Excluded Object List.\"" + flick("forensic0",src) return add_fingerprint(user) @@ -81,6 +84,7 @@ if(!isnull(A.blood_DNA)) for(var/blood in A.blood_DNA) user << "\blue Blood type: [A.blood_DNA[blood]]\nDNA: [blood]" + flick("forensic2",src) return //General @@ -88,10 +92,12 @@ user.visible_message("\The [user] scans \the [A] with \a [src], the air around [user.gender == MALE ? "him" : "her"] humming[prob(70) ? " gently." : "."]" ,\ "\blue Unable to locate any fingerprints, materials, fibers, or blood on [A]!",\ "You hear a faint hum of electrical equipment.") + flick("forensic0",src) return 0 if(add_data(A)) user << "\blue Object already in internal memory. Consolidating data..." + flick("forensic2",src) return @@ -116,6 +122,7 @@ //FIBERS if(A.suit_fibers) user << "\blue Fibers/Materials Data Stored: Scan with Hi-Res Forensic Scanner to retrieve." + flick("forensic2",src) //Blood if (A.blood_DNA) @@ -127,11 +134,13 @@ user.visible_message("\The [user] scans \the [A] with \a [src], the air around [user.gender == MALE ? "him" : "her"] humming[prob(70) ? " gently." : "."]" ,\ "You finish scanning \the [A].",\ "You hear a faint hum of electrical equipment.") + flick("forensic2",src) return 0 else user.visible_message("\The [user] scans \the [A] with \a [src], the air around [user.gender == MALE ? "him" : "her"] humming[prob(70) ? " gently." : "."]\n[user.gender == MALE ? "He" : "She"] seems to perk up slightly at the readout." ,\ "The results of the scan pique your interest.",\ "You hear a faint hum of electrical equipment, and someone making a thoughtful noise.") + flick("forensic2",src) return 0 return From b9fb3538b14fb7491611c69eb249a79c73470a88 Mon Sep 17 00:00:00 2001 From: MisterBook Date: Sat, 29 Jun 2013 23:05:06 -0500 Subject: [PATCH 2/2] Pulled the teeth out of bees. Less damage, will not attack you unless they are pissed off (And then, only when the target of their rage has disappeared). Will no longer murder you from seven tiles away. Bio defenses lowered - having only a helmet means they can't get to 30% of your body. Only a suit means they can't get to 70% of your body. Full coverage? Full protection. All spacesuits have bio armor, so covers pressure sealed suits too. Turned down halloss regen. Added flashing pain and an owie message when you get shot by tasers. Feel that agony. --- code/game/machinery/bees.dm | 37 ++++++++++--------- code/game/machinery/bees_apiary.dm | 13 ++++--- .../mob/living/carbon/human/human_defense.dm | 4 +- code/modules/mob/living/carbon/human/life.dm | 8 ++-- code/modules/mob/living/carbon/monkey/life.dm | 8 ++-- 5 files changed, 38 insertions(+), 32 deletions(-) diff --git a/code/game/machinery/bees.dm b/code/game/machinery/bees.dm index 27a317a91a3..102b6874400 100644 --- a/code/game/machinery/bees.dm +++ b/code/game/machinery/bees.dm @@ -10,7 +10,7 @@ var/turf/target_turf var/mob/target_mob var/obj/machinery/apiary/parent - pass_flags = PASSGRILLE|PASSTABLE + pass_flags = PASSTABLE turns_per_move = 6 var/obj/machinery/hydroponics/my_hydrotray @@ -29,21 +29,19 @@ if(stat == CONSCIOUS) //if we're strong enough, sting some people - var/overrun = strength - 5 + feral / 2 - if(prob(max( overrun * 10 + feral * 10, 0))) - var/mob/living/carbon/human/M = pick(range(1,src)) - if(M) - var/sting_prob = 100 + var/mob/living/carbon/human/M = target_mob + var/sting_prob = 100 // Bees will always try to sting. + if(M in view(src,1)) // Can I see my target? + if(prob(max(feral * 10, 0))) // Am I mad enough to want to sting? And yes, when I initially appear, I AM mad enough var/obj/item/clothing/worn_suit = M.wear_suit var/obj/item/clothing/worn_helmet = M.head - if(worn_suit) - sting_prob -= worn_suit.armor["bio"] + if(worn_suit) // Are you wearing clothes? + sting_prob -= min(worn_suit.armor["bio"],70) // Is it sealed? I can't get to 70% of your body. if(worn_helmet) - sting_prob -= worn_helmet.armor["bio"] - - if( prob(sting_prob) && (M.stat == CONSCIOUS || (M.stat == UNCONSCIOUS && prob(25))) ) - M.apply_damage(overrun / 2 + mut / 2, BRUTE) - M.apply_damage(overrun / 2 + toxic / 2, TOX) + sting_prob -= min(worn_helmet.armor["bio"],30) // Is your helmet sealed? I can't get to 30% of your body. + if( prob(sting_prob) && (M.stat == CONSCIOUS || (M.stat == UNCONSCIOUS && prob(25))) ) // Try to sting! If you're not moving, think about stinging. + M.apply_damage(min(strength,2)+mut, BRUTE) // Stinging. The more mutated I am, the harder I sting. + M.apply_damage((round(feral/5,1)*(max((round(strength/10,1)),1)))+toxic, TOX) // Bee venom based on how angry I am and how many there are of me! M << "\red You have been stung!" M.flash_pain() @@ -134,14 +132,17 @@ if(target_mob in view(src,7)) target_turf = get_turf(target_mob) wander = 0 - else - for(var/mob/living/carbon/M in view(src,7)) - target_mob = M + + else // My target's gone! But I might still be pissed! You there. You look like a good stinging target! + for(var/mob/living/carbon/G in view(src,7)) + target_mob = G break if(target_turf) - Move(get_step(src, get_dir(src,target_turf))) - + if (!(DirBlocked(get_step(src, get_dir(src,target_turf)),get_dir(src,target_turf)))) // Check for windows and doors! + Move(get_step(src, get_dir(src,target_turf))) + if (prob(0.1)) + src.visible_message("\blue The bees swarm after [target_mob]!") if(src.loc == target_turf) target_turf = null wander = 1 diff --git a/code/game/machinery/bees_apiary.dm b/code/game/machinery/bees_apiary.dm index 982feec1f2a..2c2de70163d 100644 --- a/code/game/machinery/bees_apiary.dm +++ b/code/game/machinery/bees_apiary.dm @@ -87,7 +87,7 @@ if(harvestable_honey > 0) if(health > 0) user << "\red You begin to harvest the honey. The bees don't seem to like it." - angry_swarm() + angry_swarm(user) else user << "\blue You begin to harvest the honey." if(do_after(user,50)) @@ -97,7 +97,7 @@ else user << "\blue There is no honey left to harvest." else - angry_swarm() + angry_swarm(user) ..() /obj/machinery/apiary/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) @@ -171,16 +171,19 @@ //find some plants, harvest for(var/obj/machinery/hydroponics/H in view(7, src)) if(H.planted && !H.dead && H.myseed && prob(owned_bee_swarms.len * 10)) + src.nutrilevel++ + H.nutrilevel++ if(mut < H.mutmod - 1) mut = H.mutmod - 1 else if(mut > H.mutmod - 1) H.mutmod = mut //flowers give us pollen (nutrients) +/* - All plants should be giving nutrients to the hive. if(H.myseed.type == /obj/item/seeds/harebell || H.myseed.type == /obj/item/seeds/sunflowerseed) src.nutrilevel++ H.nutrilevel++ - +*/ //have a few beneficial effects on nearby plants if(prob(10)) H.lastcycle -= 5 @@ -206,7 +209,7 @@ /obj/machinery/apiary/proc/angry_swarm(var/mob/M) for(var/mob/living/simple_animal/bee/B in owned_bee_swarms) - B.feral = 50 + B.feral = 25 B.target_mob = M swarming = 25 @@ -219,7 +222,7 @@ var/mob/living/simple_animal/bee/B = new(get_turf(src), src) B.target_mob = M B.strength = spawn_strength - B.feral = 5 + B.feral = 25 B.mut = mut B.toxic = toxic bees_in_hive -= spawn_strength diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index e22bbf47467..c8a0ed3e807 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -23,6 +23,8 @@ emp_act if(C.body_parts_covered & select_area.body_part) // Is that body part being targeted covered? P.agony=P.agony*C.siemens_coefficient apply_effect(P.agony,AGONY,0) + flash_pain() + src <<"\red You have been shot!" del P /* Commenting out new-old taser nerf. if(C.siemens_coefficient == 0) //If so, is that clothing shock proof? @@ -41,7 +43,7 @@ emp_act // END TASER NERF if(wear_suit && istype(wear_suit, /obj/item/clothing/suit/armor/laserproof)) - if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) + if(istype(P, /obj/item/projectile/energy) || !(istype(P, /obj/item/projectile/energy/electrode)) || istype(P, /obj/item/projectile/beam)) var/reflectchance = 40 - round(P.damage/3) if(!(def_zone in list("chest", "groin"))) reflectchance /= 2 diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 0db1f949c5f..366ea5e02b3 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -978,10 +978,10 @@ blinded = 1 stat = UNCONSCIOUS if(halloss > 0) - adjustHalLoss(-6) + adjustHalLoss(-3) else if(sleeping) handle_dreams() - adjustHalLoss(-6) + adjustHalLoss(-3) if (mind) if((mind.active && client != null) || immune_to_ssd) //This also checks whether a client is connected, if not, sleep is not reduced. sleeping = max(sleeping-1, 0) @@ -992,12 +992,12 @@ emote("snore") else if(resting) if(halloss > 0) - adjustHalLoss(-6) + adjustHalLoss(-3) //CONSCIOUS else stat = CONSCIOUS if(halloss > 0) - adjustHalLoss(-2) + adjustHalLoss(-1) //Eyes if(sdisabilities & BLIND) //disabled-blind, doesn't get better on its own diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index 5e215b6966e..b1fe07b32f5 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -450,10 +450,10 @@ blinded = 1 stat = UNCONSCIOUS if(halloss > 0) - adjustHalLoss(-6) + adjustHalLoss(-3) else if(sleeping) handle_dreams() - adjustHalLoss(-6) + adjustHalLoss(-3) sleeping = max(sleeping-1, 0) blinded = 1 stat = UNCONSCIOUS @@ -462,12 +462,12 @@ emote("snore") else if(resting) if(halloss > 0) - adjustHalLoss(-6) + adjustHalLoss(-3) //CONSCIOUS else stat = CONSCIOUS if(halloss > 0) - adjustHalLoss(-2) + adjustHalLoss(-1) //Eyes if(sdisabilities & BLIND) //disabled-blind, doesn't get better on its own