Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8,956 changes: 3,618 additions & 5,338 deletions _maps/map_files/generic/CentCom.dmm

Large diffs are not rendered by default.

1,412 changes: 0 additions & 1,412 deletions _maps/shuttles/infiltrator_cutter.dmm

This file was deleted.

3,105 changes: 0 additions & 3,105 deletions _maps/templates/infiltrator_base.dmm

This file was deleted.

2 changes: 0 additions & 2 deletions code/__DEFINES/role_preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@
#define ROLE_DARKSPAWN "darkspawn" // Yogs
#define ROLE_HOLOPARASITE "Holoparasite" // Yogs
#define ROLE_HORROR "Eldritch Horror" // Yogs
#define ROLE_INFILTRATOR "Infiltrator" // Yogs
#define ROLE_ZOMBIE "Zombie"
#define ROLE_BLOODSUCKER "Bloodsucker"
#define ROLE_VAMPIRICACCIDENT "Vampiric Accident"
Expand Down Expand Up @@ -88,7 +87,6 @@ GLOBAL_LIST_INIT(special_roles, list(
ROLE_GANG = /datum/game_mode/gang, // yogs
ROLE_HERETIC = /datum/game_mode/heretics,
ROLE_HIVE = /datum/game_mode/hivemind,
ROLE_INFILTRATOR = /datum/game_mode/infiltration, // Yogs
ROLE_INTERNAL_AFFAIRS = /datum/game_mode/traitor/internal_affairs,
ROLE_DARKSPAWN = /datum/game_mode/darkspawn,
ROLE_SENTIENCE,
Expand Down
1 change: 0 additions & 1 deletion code/__DEFINES/{yogs_defines}/antagonists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
#define ANTAG_DATUM_SLING /datum/antagonist/shadowling
#define ANTAG_DATUM_DARKSPAWN /datum/antagonist/darkspawn
#define ANTAG_DATUM_VEIL /datum/antagonist/veil
#define ANTAG_DATUM_INFILTRATOR /datum/antagonist/infiltrator
#define ANTAG_DATUM_HIJACKEDAI /datum/antagonist/hijacked_ai
#define ANTAG_DATUM_SINFULDEMON /datum/antagonist/sinfuldemon

Expand Down
1 change: 0 additions & 1 deletion code/__DEFINES/{yogs_defines}/atom_hud.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
#define ANTAG_HUD_VAMPIRE 23
#define ANTAG_HUD_DARKSPAWN 24
#define ANTAG_HUD_INFILTRATOR 32
3 changes: 1 addition & 2 deletions code/__DEFINES/{yogs_defines}/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
#define is_traitor(M) (istype(M, /mob/living) && M.mind && M.mind.has_antag_datum(/datum/antagonist/traitor) || is_mindslaved(M))
#define is_blood_brother(M) (istype(M, /mob/living) && M.mind && M.mind.has_antag_datum(/datum/antagonist/brother))
#define is_nukeop(M) (M.mind && M.mind.has_antag_datum(/datum/antagonist/nukeop)) // also detects clownOP
#define is_infiltrator(M) (M.mind && M.mind.has_antag_datum(/datum/antagonist/infiltrator))
#define is_syndicate(M) (istype(M, /mob/living) && is_traitor(M) || is_blood_brother(M) || is_nukeop(M) || is_infiltrator(M))
#define is_syndicate(M) (istype(M, /mob/living) && is_traitor(M) || is_blood_brother(M) || is_nukeop(M))

#define isspacepod(A) (istype(A, /obj/spacepod))
4 changes: 0 additions & 4 deletions code/__DEFINES/{yogs_defines}/misc.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
//Endgame Results
#define GANG_LOSS 6
#define GANG_TAKEOVER 7
#define INFILTRATION_ALLCOMPLETE 25
#define INFILTRATION_MOSTCOMPLETE 26
#define INFILTRATION_SOMECOMPLETE 27
#define INFILTRATION_NONECOMPLETE 28
1 change: 0 additions & 1 deletion code/datums/hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ GLOBAL_LIST_INIT(huds, list(
ANTAG_HUD_HERETIC = new/datum/atom_hud/antag/hidden(),
ANTAG_HUD_MINDSLAVE = new/datum/atom_hud/antag/hidden(),
ANTAG_HUD_ZOMBIE = new/datum/atom_hud/antag(),
ANTAG_HUD_INFILTRATOR = new/datum/atom_hud/antag(), // Yogs
ANTAG_HUD_BLOODSUCKER = new/datum/atom_hud/antag(),
ANTAG_HUD_MHUNTER = new/datum/atom_hud/antag/hidden()
))
Expand Down
7 changes: 0 additions & 7 deletions code/datums/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,6 @@
/datum/map_template/shuttle/arrival
port_id = "arrival"

/datum/map_template/shuttle/infiltrator
port_id = "infiltrator"

/datum/map_template/shuttle/aux_base
port_id = "aux_base"

Expand Down Expand Up @@ -529,10 +526,6 @@
suffix = "gax"
name = "labour shuttle (Gax)"

/datum/map_template/shuttle/infiltrator/basic
suffix = "basic"
name = "basic syndicate infiltrator"

/datum/map_template/shuttle/cargo/delta
suffix = "delta"
name = "cargo ferry (Delta)"
Expand Down
41 changes: 0 additions & 41 deletions code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
Original file line number Diff line number Diff line change
Expand Up @@ -348,47 +348,6 @@
else
return ..()

//////////////////////////////////////////////
// //
// INFILTRATORS (MIDROUND) //
// //
//////////////////////////////////////////////

/datum/dynamic_ruleset/midround/from_ghosts/infiltration
name = "Infiltration"
antag_flag = ROLE_INFILTRATOR
antag_datum = ANTAG_DATUM_INFILTRATOR
enemy_roles = list("AI", "Cyborg", "Security Officer", "Warden","Detective","Head of Security", "Captain")
required_enemies = list(3,3,3,3,2,2,1,1,0,0)
required_candidates = 5
weight = 3
cost = 22
requirements = list(90,90,90,80,60,40,30,20,10,10)
var/list/agents_cap = list(2,2,3,3,4,5,5,5,5,5)
var/datum/team/infiltrator/sit_team
flags = HIGH_IMPACT_RULESET
minimum_players = 35

/datum/dynamic_ruleset/midround/from_ghosts/infiltration/acceptable(population=0, threat=0)
if (locate(/datum/dynamic_ruleset/roundstart/infiltration) in mode.executed_rules)
return FALSE
indice_pop = min(agents_cap.len, round(living_players.len/5)+1)
required_candidates = agents_cap[indice_pop]
return ..()

/datum/dynamic_ruleset/midround/from_ghosts/infiltration/ready(forced = FALSE)
if (required_candidates > (dead_players.len + list_observers.len))
return FALSE
return ..()

/datum/dynamic_ruleset/midround/from_ghosts/infiltration/finish_setup(mob/new_character, index)
new_character.mind.special_role = "Syndicate Infiltrator"
new_character.mind.assigned_role = "Syndicate Infiltrator"
if(!sit_team)
sit_team = new /datum/team/infiltrator
new_character.mind.add_antag_datum(ANTAG_DATUM_INFILTRATOR, sit_team)
sit_team.update_objectives()

//////////////////////////////////////////////
// //
// BLOB (GHOST) //
Expand Down
56 changes: 0 additions & 56 deletions code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
Original file line number Diff line number Diff line change
Expand Up @@ -358,62 +358,6 @@
SSticker.mode_result = "halfwin - interrupted"
SSticker.news_report = OPERATIVE_SKIRMISH

//////////////////////////////////////////////
// //
// INFILTRATORS //
// //
//////////////////////////////////////////////

/datum/dynamic_ruleset/roundstart/infiltration
name = "Infiltration"
antag_flag = ROLE_INFILTRATOR
antag_datum = ANTAG_DATUM_INFILTRATOR
minimum_required_age = 14
restricted_roles = list("Head of Security", "Captain")
required_candidates = 5
weight = 4
cost = 18
requirements = list(90,90,90,80,60,40,30,20,10,10)
flags = HIGH_IMPACT_RULESET
antag_cap = list("denominator" = 15, "offset" = 1)
var/datum/team/infiltrator/sit_team
minimum_players = 30

/datum/dynamic_ruleset/roundstart/infiltration/ready(population, forced = FALSE)
required_candidates = get_antag_cap(population)
. = ..()

/datum/dynamic_ruleset/roundstart/infiltration/pre_execute(population)
. = ..()
var/inflitrators_amount = get_antag_cap(population)
for(var/i = 1 to inflitrators_amount)
if(candidates.len <= 0)
break
var/mob/M = pick_n_take(candidates)
assigned += M.mind
M.mind.assigned_role = "Syndicate Infiltrator"
M.mind.special_role = "Syndicate Infiltrator"
return TRUE

/datum/dynamic_ruleset/roundstart/infiltration/execute()
sit_team = new /datum/team/infiltrator
for(var/datum/mind/sit_mind in assigned)
sit_mind.add_antag_datum(ANTAG_DATUM_INFILTRATOR, sit_team)
sit_team.update_objectives()
return TRUE

/datum/dynamic_ruleset/roundstart/infiltration/round_result()
var/result = sit_team.get_result()
switch(result)
if(INFILTRATION_ALLCOMPLETE)
SSticker.mode_result = "major win - objectives complete"
if(INFILTRATION_MOSTCOMPLETE)
SSticker.mode_result = "minor win - most objectives complete"
if(INFILTRATION_SOMECOMPLETE)
SSticker.mode_result = "neutral - some objectives complete"
else
SSticker.mode_result = "loss - no objectives complete"

//////////////////////////////////////////////
// //
// REVS //
Expand Down
30 changes: 0 additions & 30 deletions code/game/gamemodes/objective.dm
Original file line number Diff line number Diff line change
Expand Up @@ -183,13 +183,6 @@ GLOBAL_LIST_EMPTY(objectives)
explanation_text = team_explanation_text

/datum/objective/proc/give_special_equipment(special_equipment)
if(istype(team, /datum/team/infiltrator))
for(var/eq_path in special_equipment)
if(eq_path)
for(var/turf/T in GLOB.infiltrator_objective_items)
if(!(eq_path in T.contents))
new eq_path(T)
return
var/datum/mind/receiver = pick(get_owners())
if(receiver && receiver.current)
if(ishuman(receiver.current))
Expand Down Expand Up @@ -719,21 +712,6 @@ GLOBAL_LIST_EMPTY(possible_items)
if(targetinfo && (I.type in targetinfo.altitems)) //Ok, so you don't have the item. Do you have an alternative, at least?
if(targetinfo.check_special_completion(I))//Yeah, we do! Don't return 0 if we don't though - then you could fail if you had 1 item that didn't pass and got checked first!
return TRUE
if (istype(team, /datum/team/infiltrator))
for (var/area/A in world)
if (is_type_in_typecache(A, GLOB.infiltrator_objective_areas))
for (var/obj/item/I in A.GetAllContents()) //Check for items
if (istype(I, steal_target))
if (!targetinfo)
return TRUE
else if (targetinfo.check_special_completion(I))
return TRUE
if (targetinfo && (I.type in targetinfo.altitems))
if (targetinfo.check_special_completion(I))
return TRUE
CHECK_TICK
CHECK_TICK
CHECK_TICK
return FALSE

GLOBAL_LIST_EMPTY(possible_items_special)
Expand Down Expand Up @@ -814,14 +792,6 @@ GLOBAL_LIST_EMPTY(possible_items_special)
var/list/otherwise = M.GetAllContents()
for(var/obj/item/disk/tech_disk/TD in otherwise)
TD.stored_research.copy_research_to(checking)
if (istype(team, /datum/team/infiltrator))
for (var/area/A in world)
if (is_type_in_typecache(A, GLOB.infiltrator_objective_areas))
for (var/obj/item/disk/tech_disk/TD in A.GetAllContents()) //Check for items
TD.stored_research.copy_research_to(checking)
CHECK_TICK
CHECK_TICK
CHECK_TICK
return checking.researched_nodes.len >= target_amount

/datum/objective/download/admin_edit(mob/admin)
Expand Down
8 changes: 0 additions & 8 deletions code/game/gamemodes/objective_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -135,14 +135,6 @@
continue
var/obj/item/tank/T = o
found_amount += T.air_contents.get_moles(/datum/gas/plasma)
if (istype(objective.team, /datum/team/infiltrator))
for (var/area/A in world)
if (is_type_in_typecache(A, GLOB.infiltrator_objective_areas))
for (var/obj/item/tank/T in A.GetAllContents()) //Check for items
found_amount += T.air_contents.get_moles(/datum/gas/plasma)
CHECK_TICK
CHECK_TICK
CHECK_TICK
return found_amount >= target_amount


Expand Down
8 changes: 0 additions & 8 deletions code/modules/admin/topic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -219,14 +219,6 @@
else
message_admins("[key_name_admin(usr)] tried to create a vampire. Unfortunately, there were no candidates available.")
log_admin("[key_name(usr)] failed to create a vampire.")
if("infiltrator")
message_admins("[key_name(usr)] is creating an infiltration team...")
if(makeInfiltratorTeam())
message_admins("[key_name(usr)] created an infiltration team.")
log_admin("[key_name(usr)] created an infiltration team.")
else
message_admins("[key_name_admin(usr)] tried to create an infiltration team. Unfortunately, there were not enough candidates available.")
log_admin("[key_name(usr)] failed to create an infiltration team.")
else if(href_list["forceevent"])
if(!check_rights(R_FUN))
return
Expand Down
1 change: 0 additions & 1 deletion code/modules/admin/verbs/one_click_antag.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
<a href='?src=[REF(src)];[HrefToken()];makeAntag=revenant'>Make Revenant (Requires Ghost)</a><br>
<a href='?src=[REF(src)];[HrefToken()];makeAntag=shadowling'>Make Shadowling</a><br>
<a href='?src=[REF(src)];[HrefToken()];makeAntag=vampire'>Make Vampire</a><br>
<a href='?src=[REF(src)];[HrefToken()];makeAntag=infiltrator'>Make Infiltration Team (Requires Ghosts)</a>
"}

var/datum/browser/popup = new(usr, "oneclickantag", "Quick-Create Antagonist", 400, 400)
Expand Down
4 changes: 0 additions & 4 deletions code/modules/antagonists/nukeop/equipment/pinpointer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@
msg += "\"nuclear_disk\"."
if(TRACK_MALF_AI)
msg += "\"01000001 01001001\"."
if(TRACK_INFILTRATOR)
msg += "\"vasvygengbefuvc\"."
else
msg = "Its tracking indicator is blank."
. += msg
Expand Down Expand Up @@ -45,8 +43,6 @@
var/obj/machinery/power/apc/A = V
if(A.malfhack && A.occupier)
target = A
if(TRACK_INFILTRATOR)
target = SSshuttle.getShuttle("syndicate")
..()

/obj/item/pinpointer/nuke/proc/switch_mode_to(new_mode)
Expand Down
9 changes: 0 additions & 9 deletions code/modules/clothing/chameleon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -224,15 +224,6 @@
var/obj/item/clothing/CL = I
var/obj/item/clothing/PCL = picked_item
CL.flags_cover = initial(PCL.flags_cover)
if(istype(target, /obj/item/clothing/suit/space/hardsuit/infiltration)) //YOGS START
var/obj/item/clothing/suit/space/hardsuit/infiltration/I = target
var/obj/item/clothing/suit/space/hardsuit/HS = picked_item
var/obj/item/clothing/head/helmet/helmet = initial(HS.helmettype)
I.head_piece.initial_state = initial(helmet.icon_state)
update_item(helmet, I.head_piece)
I.head_piece.update_icon()
qdel(helmet)
//YOGS END
target.icon = initial(picked_item.icon)
target.on_chameleon_change()

Expand Down
9 changes: 9 additions & 0 deletions code/modules/mob/living/silicon/ai/ai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,15 @@
sleep(0.1 SECONDS)
forceMove(core)

/mob/living/silicon/ai/proc/set_core_display_icon_yogs(input) //moved because original file gone
var/datum/ai_skin/S = input

for (var/each in GLOB.ai_core_displays) //change status of displays
var/obj/machinery/status_display/ai_core/M = each
M.set_ai(S.icon_state, S.icon)
M.update()


/mob/living/silicon/ai/verb/pick_icon()
set category = "AI Commands"
set name = "Set AI Core Display"
Expand Down
Loading