Merge pull request #13859 from Cameron653/FLYING

ALL TERRAIN WINGS
This commit is contained in:
Casey
2022-10-09 23:02:50 -04:00
committed by GitHub
8 changed files with 23 additions and 12 deletions
+3 -2
View File
@@ -96,7 +96,8 @@
explode(M)
if(istype(M, /mob/living/))
if(!M.hovering)
var/mob/living/mob = M
if(!mob.hovering || !mob.flying)
explode(M)
/obj/effect/mine/attackby(obj/item/W as obj, mob/living/user as mob)
@@ -398,6 +399,6 @@
// This tells AI mobs to not be dumb and step on mines willingly.
/obj/item/weapon/mine/is_safe_to_step(mob/living/L)
if(!L.hovering)
if(!L.hovering || !L.flying)
return FALSE
return ..()
+2 -2
View File
@@ -153,7 +153,7 @@ two tiles on initialization, and which way a cliff is facing may change during m
/obj/structure/cliff/CanPass(atom/movable/mover, turf/target)
if(isliving(mover))
var/mob/living/L = mover
if(L.hovering) // Flying mobs can always pass.
if(L.hovering || L.flying) // Flying mobs can always pass.
return TRUE
return ..()
@@ -174,7 +174,7 @@ two tiles on initialization, and which way a cliff is facing may change during m
..()
/obj/structure/cliff/proc/should_fall(mob/living/L)
if(L.hovering)
if(L.hovering || L.flying)
return FALSE
var/turf/T = get_turf(L)
+3 -1
View File
@@ -514,7 +514,9 @@
/turf/simulated/floor/snow/Entered(atom/A)
if(isliving(A))
var/mob/living/L = A
if(L.hovering) // Flying things shouldn't make footprints.
if(L.hovering || L.flying) // Flying things shouldn't make footprints.
if(L.flying)
L.adjust_nutrition(-0.5)
return ..()
var/mdir = "[A.dir]"
crossed_dirs[mdir] = 1
+3 -1
View File
@@ -14,7 +14,9 @@
/turf/simulated/floor/outdoors/snow/Entered(atom/A)
if(isliving(A))
var/mob/living/L = A
if(L.hovering) // Flying things shouldn't make footprints.
if(L.hovering || L.flying) // Flying things shouldn't make footprints.
if(L.flying)
L.adjust_nutrition(-0.5)
return ..()
var/mdir = "[A.dir]"
crossed_dirs[mdir] = 1
+4 -2
View File
@@ -127,7 +127,9 @@
/mob/living/proc/check_submerged()
if(buckled)
return 0
if(hovering)
if(hovering || flying)
if(flying)
adjust_nutrition(-0.5)
return 0
if(locate(/obj/structure/catwalk) in loc)
return 0
@@ -206,4 +208,4 @@ var/list/shoreline_icon_cache = list()
return
poisonlevel *= 1 - L.get_water_protection()
if(poisonlevel > 0)
L.adjustToxLoss(poisonlevel)
L.adjustToxLoss(poisonlevel)
@@ -243,11 +243,13 @@
// Turf related slowdown
var/turf/T = get_turf(src)
if(T && T.movement_cost && !hovering) // Flying mobs ignore turf-based slowdown. Aquatic mobs ignore water slowdown, and can gain bonus speed in it.
if(T && T.movement_cost && (!hovering || !flying)) // Flying mobs ignore turf-based slowdown. Aquatic mobs ignore water slowdown, and can gain bonus speed in it.
if(istype(T,/turf/simulated/floor/water) && aquatic_movement)
. -= aquatic_movement - 1
else
. += T.movement_cost
if(flying)
adjust_nutrition(-0.5)
if(purge)//Purged creatures will move more slowly. The more time before their purge stops, the slower they'll move.
if(. <= 0)
@@ -101,7 +101,7 @@
if(!istype(H))
return .
if(istype(L.buckled, /obj/vehicle) || L.hovering) // Ignore people hovering or on boats.
if(istype(L.buckled, /obj/vehicle) || L.hovering || L.flying) // Ignore people hovering or on boats.
return TRUE
if(!.)
@@ -501,4 +501,4 @@
holder.a_intent = I_HURT
/decl/mob_organ_names/leech
hit_zones = list("mouthparts", "central segment", "tail segment")
hit_zones = list("mouthparts", "central segment", "tail segment")
@@ -17,7 +17,9 @@
/turf/simulated/floor/smole/Entered(atom/A)
if(isliving(A))
var/mob/living/L = A
if(L.hovering) // Flying things shouldn't make footprints.
if(L.hovering || L.flying) // Flying things shouldn't make footprints.
if(L.flying)
L.adjust_nutrition(-0.5)
return ..()
if(L.get_effective_size(FALSE) <= RESIZE_NORMAL)
return ..()