mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
Redspace Purge (#23641)
* The Green Terror marches on * Update code/datums/spells/construct_spells.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/gamemodes/cult/cult_structures.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Updated Icons * one extra i forgor --------- Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
co-authored by
Henri215
parent
1e93bf7408
commit
16e000e549
@@ -57,7 +57,7 @@
|
||||
/// The flare indicating the extraction point.
|
||||
var/obj/effect/contractor_flare/extraction_flare = null
|
||||
/// The extraction portal.
|
||||
var/obj/effect/portal/redspace/contractor/extraction_portal = null
|
||||
var/obj/effect/portal/advanced/contractor/extraction_portal = null
|
||||
/// The world.time at which the current extraction fulton will vanish and another extraction can be requested.
|
||||
var/extraction_deadline = -1
|
||||
/// Name of the target to display on the UI.
|
||||
@@ -285,7 +285,7 @@
|
||||
U.message_holder("Extraction signal received, agent. [SSmapping.map_datum.fluff_name]'s bluespace transport jamming systems have been sabotaged. "\
|
||||
+ "We have opened a temporary portal at your flare location - proceed to the target's extraction by inserting them into the portal.", 'sound/effects/confirmdropoff.ogg')
|
||||
// Open a portal
|
||||
var/obj/effect/portal/redspace/contractor/P = new(get_turf(F), pick(GLOB.syndieprisonwarp), F, 0, M)
|
||||
var/obj/effect/portal/advanced/contractor/P = new(get_turf(F), pick(GLOB.syndieprisonwarp), F, 0, M)
|
||||
P.contract = src
|
||||
P.contractor_mind = M.mind
|
||||
P.target_mind = contract.target
|
||||
@@ -299,7 +299,7 @@
|
||||
* * M - The target mob.
|
||||
* * P - The extraction portal.
|
||||
*/
|
||||
/datum/syndicate_contract/proc/target_received(mob/living/M, obj/effect/portal/redspace/contractor/P)
|
||||
/datum/syndicate_contract/proc/target_received(mob/living/M, obj/effect/portal/advanced/contractor/P)
|
||||
INVOKE_ASYNC(src, PROC_REF(clean_up))
|
||||
add_attack_logs(owning_hub.owner.current, M, "extracted to Syndicate Jail")
|
||||
complete(M.stat == DEAD)
|
||||
@@ -327,7 +327,7 @@
|
||||
* * M - The target mob.
|
||||
* * P - The extraction portal.
|
||||
*/
|
||||
/datum/syndicate_contract/proc/handle_target_experience(mob/living/M, obj/effect/portal/redspace/contractor/P)
|
||||
/datum/syndicate_contract/proc/handle_target_experience(mob/living/M, obj/effect/portal/advanced/contractor/P)
|
||||
var/turf/T = get_turf(P)
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* # Contractor Extraction Flare
|
||||
*
|
||||
* Used to designate where the [/obj/effect/portal/redspace/contractor] should spawn during the extraction process.
|
||||
* Used to designate where the [/obj/effect/portal/advanced/contractor] should spawn during the extraction process.
|
||||
*/
|
||||
/obj/effect/contractor_flare
|
||||
name = "contractor extraction flare"
|
||||
@@ -22,7 +22,7 @@
|
||||
*
|
||||
* Used to extract contract targets and send them to the Syndicate jail for a few minutes.
|
||||
*/
|
||||
/obj/effect/portal/redspace/contractor
|
||||
/obj/effect/portal/advanced/contractor
|
||||
name = "suspicious portal"
|
||||
icon_state = "portal-syndicate"
|
||||
/// The contract associated with this portal.
|
||||
@@ -32,7 +32,7 @@
|
||||
/// The mind of the kidnapping target. Prevents non-targets from taking the portal.
|
||||
var/datum/mind/target_mind = null
|
||||
|
||||
/obj/effect/portal/redspace/contractor/can_teleport(atom/movable/A)
|
||||
/obj/effect/portal/advanced/contractor/can_teleport(atom/movable/A)
|
||||
var/mob/living/M = A
|
||||
if(!istype(M))
|
||||
return FALSE
|
||||
@@ -49,7 +49,7 @@
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/obj/effect/portal/redspace/contractor/teleport(atom/movable/M)
|
||||
/obj/effect/portal/advanced/contractor/teleport(atom/movable/M)
|
||||
. = ..()
|
||||
if(.)
|
||||
contract.target_received(M, src)
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
|
||||
/obj/item/wormhole_jaunter/contractor/proc/create_portal(turf/destination)
|
||||
new /obj/effect/decal/cleanable/ash(get_turf(src))
|
||||
new /obj/effect/portal/redspace/getaway(get_turf(src), get_turf(destination), src, 100)
|
||||
new /obj/effect/portal/advanced/getaway(get_turf(src), get_turf(destination), src, 100)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/wormhole_jaunter/contractor/emag_act(mob/user)
|
||||
@@ -162,7 +162,7 @@
|
||||
new /obj/item/wormhole_jaunter/contractor(src)
|
||||
new /obj/item/radio/beacon/emagged(src)
|
||||
|
||||
/obj/effect/portal/redspace/getaway
|
||||
/obj/effect/portal/advanced/getaway
|
||||
one_use = TRUE
|
||||
|
||||
/obj/effect/temp_visual/getaway_flare // Because the original contractor flare is not a temp visual, for some reason.
|
||||
@@ -210,7 +210,7 @@
|
||||
playsound(src, 'sound/magic/lightningbolt.ogg', 100, TRUE)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
var/list/portal_turfs = list()
|
||||
for(var/turf/PT in circleviewturfs(T, 3))
|
||||
if(!PT.density)
|
||||
|
||||
@@ -63,7 +63,7 @@ Difficulty: Hard
|
||||
/// Is it on its enraged exclusive second life?
|
||||
var/second_life = FALSE
|
||||
/// Does it have a portal to the funny second life arena created?
|
||||
var/obj/effect/portal/redspace/second_life_portal
|
||||
var/obj/effect/portal/advanced/second_life_portal
|
||||
/// Enraged healing recived
|
||||
var/enraged_healing = 0
|
||||
internal_gps = /obj/item/gps/internal/bubblegum
|
||||
@@ -649,7 +649,7 @@ Difficulty: Hard
|
||||
/mob/living/simple_animal/hostile/megafauna/bubblegum/round_2/Initialize(mapload)
|
||||
. = ..()
|
||||
for(var/obj/effect/landmark/spawner/bubblegum_exit/E in GLOB.landmarks_list)
|
||||
second_life_portal = new /obj/effect/portal/redspace(get_turf(E), get_turf(src), null, 2 HOURS, src, FALSE)
|
||||
second_life_portal = new /obj/effect/portal/advanced(get_turf(E), get_turf(src), null, 2 HOURS, src, FALSE)
|
||||
break
|
||||
RegisterSignal(src, COMSIG_HOSTILE_FOUND_TARGET, PROC_REF(i_see_you))
|
||||
for(var/mob/living/carbon/human/H in range(20))
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
. = ..()
|
||||
|
||||
if(length(active_nether_portals))
|
||||
icon_state = "redspace_tap"
|
||||
icon_state = "cascade_tap"
|
||||
return
|
||||
|
||||
if(get_available_power() <= 0)
|
||||
@@ -275,7 +275,7 @@
|
||||
underlays.Cut()
|
||||
|
||||
if(length(active_nether_portals))
|
||||
. += "redspace"
|
||||
. += "cascade"
|
||||
set_light(15, 5, "#ff0000")
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user