Skip to content

Commit

Permalink
TGS Test Merge (#1598)
Browse files Browse the repository at this point in the history
  • Loading branch information
tgstation-server committed Jan 19, 2025
2 parents 746489d + e539d71 commit f2f374a
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 23 deletions.
15 changes: 4 additions & 11 deletions code/game/objects/structures/ghost_role_spawners.dm
Original file line number Diff line number Diff line change
Expand Up @@ -961,23 +961,16 @@
. = ..()
if(new_spawn.client)
new_spawn.client.prefs.copy_to(new_spawn)
var/area/A = get_area(src)
var/datum/antagonist/ghost_role/ghost_cafe/GC = new_spawn.mind?.has_antag_datum(/datum/antagonist/ghost_role/ghost_cafe)
GC.adittonal_allowed_area = get_area(src)
GC.adittonal_allowed_area = GC.adittonal_allowed_area.type
var/datum/outfit/O = new /datum/outfit/ghostcafe()
O.equip(new_spawn, FALSE, new_spawn.client)
SSjob.equip_loadout(null, new_spawn)
SSjob.post_equip_loadout(null, new_spawn)
SSquirks.AssignQuirks(new_spawn, new_spawn.client, TRUE, TRUE, null, FALSE, new_spawn)
new_spawn.AddElement(/datum/element/ghost_role_eligibility, free_ghosting = TRUE)
new_spawn.AddElement(/datum/element/dusts_on_catatonia)
new_spawn.AddElement(/datum/element/dusts_on_leaving_area,list(A.type, /area/centcom/holding/exterior, /area/hilbertshotel)) // BLUEMOON EDIT - добавлена внешняя зона ГК
ADD_TRAIT(new_spawn, TRAIT_SIXTHSENSE, GHOSTROLE_TRAIT)
ADD_TRAIT(new_spawn, TRAIT_EXEMPT_HEALTH_EVENTS, GHOSTROLE_TRAIT)
ADD_TRAIT(new_spawn, TRAIT_NO_MIDROUND_ANTAG, GHOSTROLE_TRAIT) //The mob can't be made into a random antag, they are still eligible for ghost roles popups.
new_spawn.ghost_cafe_traits(TRUE, GC.adittonal_allowed_area)
to_chat(new_spawn,"<span class='boldwarning'>Ghosting is free!</span>")
var/datum/action/toggle_dead_chat_mob/D = new(new_spawn)
D.Grant(new_spawn)
var/datum/action/disguise/disguise_action = new(new_spawn)
disguise_action.Grant(new_spawn)

/datum/outfit/ghostcafe
name = "ID, jumpsuit and shoes"
Expand Down
5 changes: 5 additions & 0 deletions modular_bluemoon/Fink/code/items/summon_chalk.dm
Original file line number Diff line number Diff line change
Expand Up @@ -110,12 +110,17 @@
REMOVE_TRAIT(target, TRAIT_LEWD_SUMMONED, TRAIT_LEWD_SUMMONED)
else
ADD_TRAIT(target, TRAIT_LEWD_SUMMONED, TRAIT_LEWD_SUMMONED)
if(target.mind?.has_antag_datum(/datum/antagonist/ghost_role/ghost_cafe))
target.ghost_cafe_traits(FALSE) // Выдаём и забираем трэйты в разных места для ситуаций ухода госта обратно домой

playsound(loc, "modular_bluemoon/Gardelin0/sound/effect/spook.ogg", 50, 1)
new /obj/effect/temp_visual/yellowsparkles(target.loc)
if(nude_target)
nuding(target)
do_teleport(target, pos_to_teleport, channel = TELEPORT_CHANNEL_MAGIC, forced = TRUE)
if(!HAS_TRAIT(target, TRAIT_LEWD_SUMMONED) && switch_summoned && target.mind?.has_antag_datum(/datum/antagonist/ghost_role/ghost_cafe))
var/datum/antagonist/ghost_role/ghost_cafe/GC = target.mind?.has_antag_datum(/datum/antagonist/ghost_role/ghost_cafe)
target.ghost_cafe_traits(TRUE, GC.adittonal_allowed_area)
new /obj/effect/temp_visual/yellowsparkles(src.loc)
return TRUE

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
mob/living/proc/ghost_cafe_traits(switch_on = FALSE, additional_area)
if(switch_on)
AddElement(/datum/element/ghost_role_eligibility, free_ghosting = TRUE)
AddElement(/datum/element/dusts_on_catatonia)
var/list/Not_dust_area = list(/area/centcom/holding/exterior, /area/hilbertshotel)
if(additional_area)
Not_dust_area += additional_area
AddElement(/datum/element/dusts_on_leaving_area, Not_dust_area)

ADD_TRAIT(src, TRAIT_SIXTHSENSE, GHOSTROLE_TRAIT)
ADD_TRAIT(src, TRAIT_EXEMPT_HEALTH_EVENTS, GHOSTROLE_TRAIT)
ADD_TRAIT(src, TRAIT_NO_MIDROUND_ANTAG, GHOSTROLE_TRAIT) //The mob can't be made into a random antag, they are still eligible for ghost roles popups.

var/datum/action/toggle_dead_chat_mob/D = new(src)
D.Grant(src)
var/datum/action/disguise/disguise_action = new(src)
disguise_action.Grant(src)

else
RemoveElement(/datum/element/ghost_role_eligibility, free_ghosting = TRUE)
RemoveElement(/datum/element/dusts_on_catatonia)
var/datum/antagonist/ghost_role/ghost_cafe/GC = mind?.has_antag_datum(/datum/antagonist/ghost_role/ghost_cafe)
if(GC)
RemoveElement(/datum/element/dusts_on_leaving_area, list(/area/centcom/holding/exterior, /area/hilbertshotel, GC.adittonal_allowed_area))
else
RemoveElement(/datum/element/dusts_on_leaving_area, list(/area/centcom/holding/exterior, /area/hilbertshotel))

REMOVE_TRAIT(src, TRAIT_SIXTHSENSE, GHOSTROLE_TRAIT)
REMOVE_TRAIT(src, TRAIT_EXEMPT_HEALTH_EVENTS, GHOSTROLE_TRAIT)
REMOVE_TRAIT(src, TRAIT_NO_MIDROUND_ANTAG, GHOSTROLE_TRAIT)

var/datum/action/toggle_dead_chat_mob/D = locate(/datum/action/toggle_dead_chat_mob) in actions
if(D)
D.Remove(src)
var/datum/action/disguise/disguise_action = locate(/datum/action/disguise) in actions
if(disguise_action)
if(disguise_action.currently_disguised)
remove_alt_appearance("ghost_cafe_disguise")
disguise_action.Remove(src)
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

/datum/antagonist/ghost_role/ghost_cafe
name = "Ghost Cafe"
var/area/adittonal_allowed_area

/datum/antagonist/ghost_role/tarkov
name = "Port Tarkov"
Expand Down
16 changes: 4 additions & 12 deletions modular_sand/code/game/objects/structures/ghost_role_spawners.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,8 @@
if(new_spawn.client)
new_spawn.updatename(new_spawn.client)
new_spawn.gender = NEUTER
var/area/A = get_area(src)
new_spawn.AddElement(/datum/element/ghost_role_eligibility, free_ghosting = TRUE)
new_spawn.AddElement(/datum/element/dusts_on_catatonia)
new_spawn.AddElement(/datum/element/dusts_on_leaving_area,list(A.type, /area/centcom/holding/exterior, /area/hilbertshotel)) // BLUEMOON EDIT - добавлена внешняя зона ГК
ADD_TRAIT(new_spawn, TRAIT_SIXTHSENSE, GHOSTROLE_TRAIT)
ADD_TRAIT(new_spawn, TRAIT_EXEMPT_HEALTH_EVENTS, GHOSTROLE_TRAIT)
ADD_TRAIT(new_spawn, TRAIT_NO_MIDROUND_ANTAG, GHOSTROLE_TRAIT) //The mob can't be made into a random antag, they are still eligible for ghost roles popups.
var/datum/antagonist/ghost_role/ghost_cafe/GC = new_spawn.mind?.has_antag_datum(/datum/antagonist/ghost_role/ghost_cafe)
GC.adittonal_allowed_area = get_area(src)
GC.adittonal_allowed_area = GC.adittonal_allowed_area.type
new_spawn.ghost_cafe_traits(TRUE, GC.adittonal_allowed_area)
to_chat(new_spawn,"<span class='boldwarning'>Ghosting is free!</span>")
var/datum/action/toggle_dead_chat_mob/D = new(new_spawn)
D.Grant(new_spawn)
var/datum/action/disguise/disguise_action = new(new_spawn)
disguise_action.Grant(new_spawn)
new_spawn.mind.add_antag_datum(/datum/antagonist/ghost_role)
1 change: 1 addition & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -5477,6 +5477,7 @@
#include "modular_splurt\code\game\objects\structures\fence.dm"
#include "modular_splurt\code\game\objects\structures\flora.dm"
#include "modular_splurt\code\game\objects\structures\ghost_role_spawners.dm"
#include "modular_bluemoon\code\game\objects\structures\ghost_role_spawners.dm"
#include "modular_splurt\code\game\objects\structures\ladder.dm"
#include "modular_splurt\code\game\objects\structures\micro_bricks.dm"
#include "modular_splurt\code\game\objects\structures\pole.dm"
Expand Down

0 comments on commit f2f374a

Please sign in to comment.