mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-03 22:13:24 +00:00
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.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user