Merge remote-tracking branch 'upstream/master' into kk-ships

This commit is contained in:
Killian
2020-12-22 04:08:57 +00:00
16 changed files with 170 additions and 101 deletions
+45
View File
@@ -145,6 +145,51 @@ obj/machinery/gateway/centerstation/process()
if(dest)
M.forceMove(dest.loc)
M.set_dir(SOUTH)
//VOREStation Addition Start: Abduction!
if(istype(M, /mob/living) && dest.abductor)
var/mob/living/L = M
//Situations to get the mob out of
if(L.buckled)
L.buckled.unbuckle_mob()
if(istype(L.loc,/obj/mecha))
var/obj/mecha/ME = L.loc
ME.go_out()
else if(istype(L.loc,/obj/machinery/sleeper))
var/obj/machinery/sleeper/SL = L.loc
SL.go_out()
else if(istype(L.loc,/obj/machinery/recharge_station))
var/obj/machinery/recharge_station/RS = L.loc
RS.go_out()
if(!issilicon(L)) //Don't drop borg modules...
var/list/mob_contents = list() //Things which are actually drained as a result of the above not being null.
mob_contents |= L // The recursive check below does not add the object being checked to its list.
mob_contents |= recursive_content_check(L, mob_contents, recursion_limit = 3, client_check = 0, sight_check = 0, include_mobs = 1, include_objects = 1, ignore_show_messages = 1)
for(var/obj/item/weapon/holder/I in mob_contents)
var/obj/item/weapon/holder/H = I
var/mob/living/MI = H.held_mob
MI.forceMove(get_turf(H))
if(!issilicon(MI)) //Don't drop borg modules...
for(var/obj/item/II in MI)
if(istype(II,/obj/item/weapon/implant) || istype(II,/obj/item/device/nif))
continue
MI.drop_from_inventory(II, dest.loc)
var/obj/effect/landmark/finaldest = pick(awayabductors)
MI.forceMove(finaldest.loc)
sleep(1)
MI.Paralyse(10)
MI << 'sound/effects/bamf.ogg'
to_chat(MI,"<span class='warning'>You're starting to come to. You feel like you've been out for a few minutes, at least...</span>")
for(var/obj/item/I in L)
if(istype(I,/obj/item/weapon/implant) || istype(I,/obj/item/device/nif))
continue
L.drop_from_inventory(I, dest.loc)
var/obj/effect/landmark/finaldest = pick(awayabductors)
L.forceMove(finaldest.loc)
sleep(1)
L.Paralyse(10)
L << 'sound/effects/bamf.ogg'
to_chat(L,"<span class='warning'>You're starting to come to. You feel like you've been out for a few minutes, at least...</span>")
//VOREStation Addition End
return
/obj/machinery/gateway/centerstation/attackby(obj/item/device/W as obj, mob/user as mob)
+21 -1
View File
@@ -63,9 +63,29 @@ proc/createRandomZlevel()
. = ..()
awaydestinations += src
/obj/effect/landmark/gateway_scatter/abduct
name = "uncalibrated gateway abductor"
abductor = 1
/obj/effect/landmark/event_scatter
name = "uncalibrated gateway destination"
name = "uncalibrated event destination"
/obj/effect/landmark/event_scatter/Initialize()
. = ..()
eventdestinations += src
/obj/effect/landmark/event_scatter/abduct
name = "uncalibrated event abductor"
abductor = 1
/obj/effect/landmark/gateway_abduct_dest
name = "abductor gateway destination"
/obj/effect/landmark/gateway_abduct_dest/Initialize()
. = ..()
awayabductors += src
/obj/effect/landmark/event_abduct_dest
name = "abductor event destination"
/obj/effect/landmark/event_abduct_dest/Initialize()
. = ..()
eventabductors += src
//VOREStation Add End