Adds the bluespace anchor cybernetic implant (#26978)

* Anchor? I hardly know her!

* biochip code my hated

* yeah that's fair

* Apply suggestions from code review

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>

---------

Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2024-10-25 18:20:45 +00:00
committed by GitHub
co-authored by Luc
parent 8202e9a438
commit dc7d24c28c
21 changed files with 132 additions and 7 deletions
+2
View File
@@ -90,6 +90,8 @@
/datum/disease/wizarditis/proc/teleport()
if(!is_teleport_allowed(affected_mob.z))
return
if(SEND_SIGNAL(affected_mob, COMSIG_MOVABLE_TELEPORTING, get_turf(affected_mob)) & COMPONENT_BLOCK_TELEPORT)
return FALSE
var/list/possible_areas = get_areas_in_range(80, affected_mob)
for(var/area/space/S in possible_areas)
+4
View File
@@ -149,6 +149,10 @@
if(!is_teleport_allowed(destturf.z) && !ignore_area_flag)
return FALSE
if(!ignore_area_flag) // Admin or contractor portal, let em through without running signals
if(SEND_SIGNAL(teleatom, COMSIG_MOVABLE_TELEPORTING, destination) & COMPONENT_BLOCK_TELEPORT)
return FALSE
// Only check the destination zlevel for is_teleport_allowed. Checking origin as well breaks ERT teleporters.
var/area/destarea = get_area(destturf)
+2
View File
@@ -29,6 +29,8 @@
return
if(!isliving(user))
return FALSE
if(SEND_SIGNAL(user, COMSIG_MOB_PRE_JAUNT, get_turf(user)) & COMPONENT_BLOCK_JAUNT)
return FALSE
/datum/spell/bloodcrawl/cast(list/targets, mob/living/user)
var/atom/target = targets[1]
+2
View File
@@ -26,6 +26,8 @@
/datum/spell/ethereal_jaunt/cast(list/targets, mob/user = usr) //magnets, so mostly hardcoded
playsound(get_turf(user), sound1, 50, TRUE, -1)
for(var/mob/living/target in targets)
if(SEND_SIGNAL(target, COMSIG_MOB_PRE_JAUNT, target) & COMPONENT_BLOCK_JAUNT)
continue
if(!target.can_safely_leave_loc()) // No more brainmobs hopping out of their brains
to_chat(target, "<span class='warning'>You are somehow too bound to your current location to abandon it.</span>")
continue
+2
View File
@@ -22,6 +22,8 @@
playsound(get_turf(user), sound1, 50, TRUE)
for(var/mob/living/target in targets)
if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT)
continue
var/list/turfs = list()
for(var/turf/T in range(target,outer_tele_radius))
if(T in range(target,inner_tele_radius)) continue