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)
|
explode(M)
|
||||||
|
|
||||||
if(istype(M, /mob/living/))
|
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)
|
explode(M)
|
||||||
|
|
||||||
/obj/effect/mine/attackby(obj/item/W as obj, mob/living/user as mob)
|
/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.
|
// This tells AI mobs to not be dumb and step on mines willingly.
|
||||||
/obj/item/weapon/mine/is_safe_to_step(mob/living/L)
|
/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 FALSE
|
||||||
return ..()
|
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)
|
/obj/structure/cliff/CanPass(atom/movable/mover, turf/target)
|
||||||
if(isliving(mover))
|
if(isliving(mover))
|
||||||
var/mob/living/L = 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 TRUE
|
||||||
return ..()
|
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)
|
/obj/structure/cliff/proc/should_fall(mob/living/L)
|
||||||
if(L.hovering)
|
if(L.hovering || L.flying)
|
||||||
return FALSE
|
return FALSE
|
||||||
|
|
||||||
var/turf/T = get_turf(L)
|
var/turf/T = get_turf(L)
|
||||||
|
|||||||
@@ -514,7 +514,9 @@
|
|||||||
/turf/simulated/floor/snow/Entered(atom/A)
|
/turf/simulated/floor/snow/Entered(atom/A)
|
||||||
if(isliving(A))
|
if(isliving(A))
|
||||||
var/mob/living/L = 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 ..()
|
return ..()
|
||||||
var/mdir = "[A.dir]"
|
var/mdir = "[A.dir]"
|
||||||
crossed_dirs[mdir] = 1
|
crossed_dirs[mdir] = 1
|
||||||
|
|||||||
@@ -14,7 +14,9 @@
|
|||||||
/turf/simulated/floor/outdoors/snow/Entered(atom/A)
|
/turf/simulated/floor/outdoors/snow/Entered(atom/A)
|
||||||
if(isliving(A))
|
if(isliving(A))
|
||||||
var/mob/living/L = 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 ..()
|
return ..()
|
||||||
var/mdir = "[A.dir]"
|
var/mdir = "[A.dir]"
|
||||||
crossed_dirs[mdir] = 1
|
crossed_dirs[mdir] = 1
|
||||||
|
|||||||
@@ -136,7 +136,9 @@
|
|||||||
/mob/living/proc/check_submerged()
|
/mob/living/proc/check_submerged()
|
||||||
if(buckled)
|
if(buckled)
|
||||||
return 0
|
return 0
|
||||||
if(hovering)
|
if(hovering || flying)
|
||||||
|
if(flying)
|
||||||
|
adjust_nutrition(-0.5)
|
||||||
return 0
|
return 0
|
||||||
if(locate(/obj/structure/catwalk) in loc)
|
if(locate(/obj/structure/catwalk) in loc)
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -253,11 +253,13 @@
|
|||||||
|
|
||||||
// Turf related slowdown
|
// Turf related slowdown
|
||||||
var/turf/T = get_turf(src)
|
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)
|
if(istype(T,/turf/simulated/floor/water) && aquatic_movement)
|
||||||
. -= aquatic_movement - 1
|
. -= aquatic_movement - 1
|
||||||
else
|
else
|
||||||
. += T.movement_cost
|
. += 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(purge)//Purged creatures will move more slowly. The more time before their purge stops, the slower they'll move.
|
||||||
if(. <= 0)
|
if(. <= 0)
|
||||||
|
|||||||
@@ -101,7 +101,7 @@
|
|||||||
if(!istype(H))
|
if(!istype(H))
|
||||||
return .
|
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
|
return TRUE
|
||||||
|
|
||||||
if(!.)
|
if(!.)
|
||||||
|
|||||||
@@ -17,7 +17,9 @@
|
|||||||
/turf/simulated/floor/smole/Entered(atom/A)
|
/turf/simulated/floor/smole/Entered(atom/A)
|
||||||
if(isliving(A))
|
if(isliving(A))
|
||||||
var/mob/living/L = 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 ..()
|
return ..()
|
||||||
if(L.get_effective_size(FALSE) <= RESIZE_NORMAL)
|
if(L.get_effective_size(FALSE) <= RESIZE_NORMAL)
|
||||||
return ..()
|
return ..()
|
||||||
|
|||||||
Reference in New Issue
Block a user