Skip to content

Commit

Permalink
leech movement
Browse files Browse the repository at this point in the history
  • Loading branch information
PotatoTomahto committed Feb 4, 2025
1 parent 9924472 commit dcbccde
Showing 1 changed file with 30 additions and 12 deletions.
42 changes: 30 additions & 12 deletions code/game/turfs/open/water.dm
Original file line number Diff line number Diff line change
Expand Up @@ -481,17 +481,23 @@
/turf/open/water/sewer/Entered(atom/movable/AM, atom/oldLoc)
. = ..()
if(isliving(AM) && !AM.throwing)
if(!prob(3))
var/mob/living/living = AM
var/chance = 3
if(living.m_intent == MOVE_INTENT_RUN)
chance *= 2
else if(living.m_intent == MOVE_INTENT_SNEAK)
chance /= 2
if(!prob(chance))
return
if(iscarbon(AM))
var/mob/living/carbon/C = AM
// if(HAS_TRAIT(AM, TRAIT_LEECHIMMUNE))
// return
if(C.blood_volume <= 0)
return
var/zonee = list(BODY_ZONE_R_LEG,BODY_ZONE_L_LEG)
for(var/X in zonee)
var/obj/item/bodypart/BP = C.get_bodypart(X)
var/list/zonee = list(BODY_ZONE_R_LEG,BODY_ZONE_L_LEG)
for(var/i = 1, i <= zonee.len, i++)
var/obj/item/bodypart/BP = C.get_bodypart(pick_n_take(zonee))
if(!BP)
continue
if(BP.skeletonized)
Expand Down Expand Up @@ -525,17 +531,23 @@
/turf/open/water/swamp/Entered(atom/movable/AM, atom/oldLoc)
. = ..()
if(isliving(AM) && !AM.throwing)
if(!prob(3))
var/mob/living/living = AM
var/chance = 3
if(living.m_intent == MOVE_INTENT_RUN)
chance *= 2
else if(living.m_intent == MOVE_INTENT_SNEAK)
chance /= 2
if(!prob(chance))
return
if(iscarbon(AM))
var/mob/living/carbon/C = AM
// if(HAS_TRAIT(AM, TRAIT_LEECHIMMUNE))
// return
if(C.blood_volume <= 0)
return
var/zonee = list(BODY_ZONE_R_LEG,BODY_ZONE_L_LEG)
for(var/X in zonee)
var/obj/item/bodypart/BP = C.get_bodypart(X)
var/list/zonee = list(BODY_ZONE_R_LEG,BODY_ZONE_L_LEG)
for(var/i = 1, i <= zonee.len, i++)
var/obj/item/bodypart/BP = C.get_bodypart(pick_n_take(zonee))
if(!BP)
continue
if(BP.skeletonized)
Expand All @@ -555,17 +567,23 @@
/turf/open/water/swamp/deep/Entered(atom/movable/AM, atom/oldLoc)
. = ..()
if(isliving(AM) && !AM.throwing)
if(!prob(8))
var/mob/living/living = AM
var/chance = 8
if(living.m_intent == MOVE_INTENT_RUN)
chance *= 2
else if(living.m_intent == MOVE_INTENT_SNEAK)
chance /= 2
if(!prob(chance))
return
if(iscarbon(AM))
var/mob/living/carbon/C = AM
// if(HAS_TRAIT(AM, TRAIT_LEECHIMMUNE))
// return
if(C.blood_volume <= 0)
return
var/zonee = list(BODY_ZONE_CHEST,BODY_ZONE_R_LEG,BODY_ZONE_L_LEG,BODY_ZONE_R_ARM,BODY_ZONE_L_ARM)
for(var/X in zonee)
var/obj/item/bodypart/BP = C.get_bodypart(X)
var/list/zonee = list(BODY_ZONE_CHEST,BODY_ZONE_R_LEG,BODY_ZONE_L_LEG,BODY_ZONE_R_ARM,BODY_ZONE_L_ARM)
for(var/i = 1, i <= zonee.len, i++)
var/obj/item/bodypart/BP = C.get_bodypart(pick_n_take(zonee))
if(!BP)
continue
if(BP.skeletonized)
Expand Down

0 comments on commit dcbccde

Please sign in to comment.