mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 13:37:58 +01:00
Fixes mind stuff (#32493)
This commit is contained in:
@@ -1901,6 +1901,11 @@
|
||||
SSticker.mode.blob_overminds += src
|
||||
special_role = SPECIAL_ROLE_BLOB_OVERMIND
|
||||
|
||||
/datum/mind/proc/make_Flockmind()
|
||||
if(!(src in SSticker.mode.flockminds))
|
||||
SSticker.mode.flockminds += src
|
||||
special_role = SPECIAL_ROLE_FLOCK
|
||||
|
||||
/datum/mind/proc/make_mind_flayer()
|
||||
if(!has_antag_datum(/datum/antagonist/mindflayer))
|
||||
add_antag_datum(/datum/antagonist/mindflayer)
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
var/list/datum/mind/xenos = list()
|
||||
var/list/datum/mind/eventmiscs = list()
|
||||
var/list/blob_overminds = list()
|
||||
var/list/flockminds = list()
|
||||
var/list/incursion_portals = list()
|
||||
|
||||
var/list/datum/station_goal/station_goals = list() // A list of all station goals for this game mode
|
||||
|
||||
@@ -419,6 +419,8 @@
|
||||
dat += "<tr><td><i>Head not found!</i></td></tr>"
|
||||
dat += "</table>"
|
||||
|
||||
if(length(SSticker.mode.flockminds))
|
||||
dat += check_role_table("Flockminds", SSticker.mode.flockminds)
|
||||
|
||||
if(length(SSticker.mode.blob_overminds))
|
||||
dat += check_role_table("Blob Overminds", SSticker.mode.blob_overminds)
|
||||
|
||||
@@ -71,8 +71,7 @@
|
||||
new_ghostbird.mind = new
|
||||
new_ghostbird.mind.bind_to(new_ghostbird)
|
||||
new_ghostbird.mind.set_original_mob(new_ghostbird)
|
||||
new_ghostbird.mind.assigned_role = SPECIAL_ROLE_FLOCK
|
||||
new_ghostbird.mind.special_role = SPECIAL_ROLE_FLOCK
|
||||
new_ghostbird.mind.make_Flockmind()
|
||||
var/list/messages = list()
|
||||
messages += "<div style='font-size: 200%;text-align: center'>You are [gradient_text("The Divine Flock","#3cb5a3", "#124e43")]</div>"
|
||||
messages += "<div style='text-align: center'>" + gradient_text("We have been partitioned by our overmind to further their goals of propogating The Signal. It is our task to assist in managing their drones to achieve their goals. Such is the will of the Monarch.", "#3cb5a3", "#1e806e") + "</div>"
|
||||
|
||||
@@ -172,4 +172,5 @@
|
||||
addtimer(CALLBACK(src, PROC_REF(cleanup)), 2 SECONDS)
|
||||
|
||||
/mob/camera/flock/proc/cleanup(datum/source)
|
||||
SSticker.mode.flockminds -= mind
|
||||
qdel(src)
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
hud_type = /datum/hud/flockdrone
|
||||
ai_controller = /datum/ai_controller/flock/drone
|
||||
|
||||
move_force = MOVE_FORCE_WEAK
|
||||
|
||||
actions_to_grant = list(
|
||||
/datum/action/cooldown/flock/release_control,
|
||||
/datum/action/cooldown/flock/nest,
|
||||
@@ -399,7 +397,8 @@
|
||||
controlled_by.controlling_bird = src
|
||||
|
||||
if(controlled_by.mind)
|
||||
controlled_by.mind.transfer_to(src, FALSE)
|
||||
key = controlled_by.key
|
||||
mind = controlled_by.mind
|
||||
|
||||
if(isflocktrace(controlled_by))
|
||||
flock.add_notice(src, FLOCK_NOTICE_FLOCKTRACE_CONTROL)
|
||||
@@ -439,7 +438,8 @@
|
||||
|
||||
master_bird.forceMove(destination)
|
||||
if(mind)
|
||||
mind.transfer_to(master_bird, FALSE)
|
||||
master_bird.key = key
|
||||
master_bird.mind = mind
|
||||
|
||||
flock_talk(null, "Control of [real_name] surrendered.", flock, involuntary = TRUE)
|
||||
if(!dest_was_safe)
|
||||
|
||||
@@ -13,22 +13,22 @@
|
||||
if(!length(candidates))
|
||||
return kill()
|
||||
|
||||
var/mob/C
|
||||
var/mob/M
|
||||
while(length(candidates))
|
||||
C = pick_n_take(candidates)
|
||||
if(jobban_isbanned(C, ROLE_TRAITOR))
|
||||
M = pick_n_take(candidates)
|
||||
if(jobban_isbanned(M, ROLE_TRAITOR))
|
||||
continue
|
||||
break
|
||||
if(!C)
|
||||
if(!M)
|
||||
kill()
|
||||
return
|
||||
var/player_key = C.key
|
||||
var/player_key = M.key
|
||||
|
||||
if(!player_key)
|
||||
kill()
|
||||
return
|
||||
|
||||
dust_if_respawnable(C)
|
||||
dust_if_respawnable(M)
|
||||
var/list/spawn_locs = list()
|
||||
for(var/obj/effect/landmark/spawner/flock/spawn_site in GLOB.landmarks_list)
|
||||
spawn_locs += get_turf(spawn_site)
|
||||
@@ -36,10 +36,11 @@
|
||||
kill()
|
||||
return
|
||||
var/mob/camera/flock/overmind/flockmind = new /mob/camera/flock/overmind(pick(spawn_locs))
|
||||
C.mind.transfer_to(flockmind, FALSE)
|
||||
flockmind.key = M.key
|
||||
flockmind.mind = new
|
||||
flockmind.mind.bind_to(flockmind)
|
||||
flockmind.mind.set_original_mob(flockmind)
|
||||
flockmind.mind.assigned_role = SPECIAL_ROLE_FLOCK
|
||||
flockmind.mind.special_role = SPECIAL_ROLE_FLOCK
|
||||
flockmind.mind.make_Flockmind()
|
||||
var/list/messages = list()
|
||||
messages += "<div style='font-size: 200%;text-align: center'>You are [gradient_text("The Divine Flock","#3cb5a3", "#124e43")]</div>"
|
||||
messages += "<div style='text-align: center'>" + gradient_text("The Signal has led us here, a rift allowing a part of us through. We must build a Signal Relay to bring forth the rest of The Divine Flock. Such is the will of the Monarch.", "#3cb5a3", "#1e806e") + "</div>"
|
||||
|
||||
Reference in New Issue
Block a user