mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 11:43:31 +00:00
Merge pull request #5108 from CHOMPStation2/upstream-merge-13859
[MIRROR] ALL TERRAIN WINGS
This commit is contained in:
@@ -96,7 +96,7 @@
|
||||
explode(M)
|
||||
|
||||
if(istype(M, /mob/living/))
|
||||
if(!M.hovering)
|
||||
if(!M.hovering) //CHOMPedit: let's not make wings ignore mines because we use those here.
|
||||
explode(M)
|
||||
|
||||
/obj/effect/mine/attackby(obj/item/W as obj, mob/living/user as mob)
|
||||
@@ -398,6 +398,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) //CHOMPedit: Let's not trivialize mines.
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -136,7 +136,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
|
||||
@@ -215,4 +217,4 @@ var/list/shoreline_icon_cache = list()
|
||||
return
|
||||
poisonlevel *= 1 - L.get_water_protection()
|
||||
if(poisonlevel > 0)
|
||||
L.adjustToxLoss(poisonlevel)
|
||||
L.adjustToxLoss(poisonlevel)
|
||||
|
||||
@@ -253,11 +253,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 ..()
|
||||
|
||||
Reference in New Issue
Block a user