mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Prevents some teleporting abuses with taur riding
This commit is contained in:
@@ -158,6 +158,13 @@
|
||||
precision = rand(1,100)
|
||||
|
||||
var/list/bagholding = teleatom.search_contents_for(/obj/item/weapon/storage/backpack/holding)
|
||||
//VOREStation Addition Start: Prevent taurriding abuse
|
||||
if(istype(teleatom, /mob/living))
|
||||
var/mob/living/L = teleatom
|
||||
if(LAZYLEN(L.buckled_mobs))
|
||||
for(var/mob/rider in L.buckled_mobs)
|
||||
bagholding += rider.search_contents_for(/obj/item/weapon/storage/backpack/holding)
|
||||
//VOREStation Addition End: Prevent taurriding abuse
|
||||
if(bagholding.len)
|
||||
precision = max(rand(1,100)*bagholding.len,100)
|
||||
if(istype(teleatom, /mob/living))
|
||||
|
||||
@@ -209,6 +209,14 @@
|
||||
O.show_message("<span class='warning'>Failure: Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.</span>")
|
||||
return
|
||||
if(istype(M, /atom/movable))
|
||||
//VOREStation Addition Start: Prevent taurriding abuse
|
||||
if(istype(M, /mob/living))
|
||||
var/mob/living/L = M
|
||||
if(LAZYLEN(L.buckled_mobs))
|
||||
var/datum/riding/R = L.riding_datum
|
||||
for(var/rider in L.buckled_mobs)
|
||||
R.force_dismount(rider)
|
||||
//VOREStation Addition End: Prevent taurriding abuse
|
||||
if(prob(5) && !accurate) //oh dear a problem, put em in deep space
|
||||
do_teleport(M, locate(rand((2*TRANSITIONEDGE), world.maxx - (2*TRANSITIONEDGE)), rand((2*TRANSITIONEDGE), world.maxy - (2*TRANSITIONEDGE)), 3), 2)
|
||||
else
|
||||
|
||||
@@ -60,6 +60,14 @@ GLOBAL_LIST_BOILERPLATE(all_portals, /obj/effect/portal)
|
||||
qdel(src)
|
||||
return
|
||||
if (istype(M, /atom/movable))
|
||||
//VOREStation Addition Start: Prevent taurriding abuse
|
||||
if(istype(M, /mob/living))
|
||||
var/mob/living/L = M
|
||||
if(LAZYLEN(L.buckled_mobs))
|
||||
var/datum/riding/R = L.riding_datum
|
||||
for(var/rider in L.buckled_mobs)
|
||||
R.force_dismount(rider)
|
||||
//VOREStation Addition End: Prevent taurriding abuse
|
||||
if(prob(failchance)) //oh dear a problem, put em in deep space
|
||||
src.icon_state = "portal1"
|
||||
do_teleport(M, locate(rand(5, world.maxx - 5), rand(5, world.maxy -5), 3), 0)
|
||||
|
||||
@@ -133,6 +133,14 @@ obj/machinery/gateway/centerstation/process()
|
||||
M.set_dir(SOUTH)
|
||||
return
|
||||
else
|
||||
//VOREStation Addition Start: Prevent taurriding abuse
|
||||
if(istype(M, /mob/living))
|
||||
var/mob/living/L = M
|
||||
if(LAZYLEN(L.buckled_mobs))
|
||||
var/datum/riding/R = L.riding_datum
|
||||
for(var/rider in L.buckled_mobs)
|
||||
R.force_dismount(rider)
|
||||
//VOREStation Addition End: Prevent taurriding abuse
|
||||
var/obj/effect/landmark/dest = pick(awaydestinations)
|
||||
if(dest)
|
||||
M.forceMove(dest.loc)
|
||||
|
||||
@@ -62,22 +62,30 @@
|
||||
var/turf/FromTurf = mode ? get_turf(user) : get_turf(A)
|
||||
var/turf/ToTurf = mode ? get_turf(A) : get_turf(user)
|
||||
|
||||
var/recievefailchance = 5
|
||||
var/sendfailchance = 5
|
||||
if(istype(user, /mob/living))
|
||||
var/mob/living/L = user
|
||||
if(LAZYLEN(L.buckled_mobs))
|
||||
for(var/rider in L.buckled_mobs)
|
||||
sendfailchance += 15
|
||||
|
||||
if(mode)
|
||||
if(user in FromTurf)
|
||||
if(prob(5))
|
||||
if(prob(sendfailchance))
|
||||
user.forceMove(pick(trange(24,user)))
|
||||
else
|
||||
user.forceMove(ToTurf)
|
||||
else
|
||||
for(var/obj/O in FromTurf)
|
||||
if(O.anchored) continue
|
||||
if(prob(5))
|
||||
if(prob(recievefailchance))
|
||||
O.forceMove(pick(trange(24,user)))
|
||||
else
|
||||
O.forceMove(ToTurf)
|
||||
|
||||
for(var/mob/living/M in FromTurf)
|
||||
if(prob(5))
|
||||
if(prob(recievefailchance))
|
||||
M.forceMove(pick(trange(24,user)))
|
||||
else
|
||||
M.forceMove(ToTurf)
|
||||
|
||||
Reference in New Issue
Block a user