Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
82a331e
Update computer.dm
Jun 2, 2022
3fc045e
Update meat.dm
Jun 4, 2022
7e9c538
Merge branch 'yogstation13:master' into master
Jun 6, 2022
e6e36c9
Merge branch 'yogstation13:master' into master
Jun 7, 2022
db1f407
Update objects.dm
Jun 7, 2022
e43bf46
Merge branch 'yogstation13:master' into master
Jun 8, 2022
fa56816
Merge branch 'yogstation13:master' into master
Jun 9, 2022
2558753
Update computer.dm
Jun 14, 2022
e5a044c
Update meat.dm
Jun 14, 2022
6705493
Update objects.dm
Jun 14, 2022
7208d09
Merge branch 'yogstation13:master' into master
Jun 14, 2022
6d29e1d
Merge branch 'yogstation13:master' into master
Jun 18, 2022
731b43e
Merge branch 'yogstation13:master' into master
Jun 19, 2022
fb20864
Merge branch 'yogstation13:master' into master
Jun 27, 2022
86f4d4f
boowomp
Jun 27, 2022
7f26672
e
Jun 27, 2022
4d2a2f3
s
Jun 27, 2022
f2a5fd3
s
Jun 28, 2022
dfc5e8a
3
Jun 28, 2022
7ae0659
rev
Jun 29, 2022
42f71b8
Update antagonists.dm
Jun 29, 2022
55a1411
Update blob_overmind.dm
Jun 29, 2022
dd6e91b
Update radial.dm
Jun 29, 2022
0ac0cb4
Delete info.dm
Jun 29, 2022
d4bdf34
Update overmind.dm
Jun 29, 2022
5fc36bf
Update overmind.dm
Jun 29, 2022
a283836
Update powers.dm
Jun 29, 2022
172019b
Update role_preferences.dm
Jun 29, 2022
e329b12
Update job.dm
Jun 29, 2022
5515ca0
Update mind.dm
Jun 29, 2022
f01a65e
Update dynamic_rulesets.dm
Jun 29, 2022
986a199
Update dynamic_rulesets_latejoin.dm
Jun 29, 2022
a4bd274
Update dynamic_rulesets_roundstart.dm
Jun 29, 2022
32c0f01
Update antag_panel.dm
Jun 29, 2022
3ade95a
Update revolution.dm
Jun 29, 2022
9152bcd
Update bureaucratic_error.dm
Jun 29, 2022
27d1267
Update _job.dm
Jun 29, 2022
05a1a16
Update ai.dm
Jun 29, 2022
dafd04d
Delete anti_union_propaganda.txt
Jun 29, 2022
e8d7e8e
Update antagonists.dm
Jun 29, 2022
6cb432a
Update blob_overmind.dm
Jun 29, 2022
4adce07
Update generic_negative_events.dm
Jun 29, 2022
0237048
Update _blobstrain.dm
Jun 29, 2022
fb0ad06
Update _blob.dm
Jun 29, 2022
c3269d8
Update _job.dm
Jun 29, 2022
a384daa
amonus
Jul 2, 2022
f216470
del
Jul 2, 2022
087ba12
Merge branch 'yogstation13:master' into master
Jul 2, 2022
34a7125
Merge branch 'yogstation13:master' into master
Jul 10, 2022
821b6b2
Merge branch 'yogstation13:master' into geyser
Jul 10, 2022
f08f550
amogus
Jul 10, 2022
c406340
mapping shit
Jul 10, 2022
1b3d071
removes stupid hivemind shit that i forgot to remove from my master b…
Jul 10, 2022
adfb9c7
Update traits.dm
Jul 10, 2022
7bd7834
Update objectives.dm
Jul 10, 2022
71109cb
Update dynamic_rulesets_roundstart.dm
Jul 10, 2022
1371371
e
Jul 10, 2022
9a44443
Merge pull request #1 from TymurShatillo/geyser
Jul 10, 2022
73387bd
fork cleanup
Jul 10, 2022
4d6158b
cleans useless shit from the fork
Jul 11, 2022
3327242
amongus
Jul 11, 2022
90b406f
removes inflitrators from the game
Jul 14, 2022
5669982
e
Jul 14, 2022
1516b93
fix
Jul 14, 2022
f49f0c3
sex
Aug 28, 2022
035ae2c
Update yogstation/code/modules/events/infiltrators.dm
Bibby0110 Sep 10, 2022
0ad5061
Update config/game_options.txt
JamieD1 Sep 17, 2022
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
41 changes: 41 additions & 0 deletions code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,47 @@
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: 56 additions & 0 deletions code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,62 @@
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
2 changes: 1 addition & 1 deletion yogstation/code/modules/events/infiltrators.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

min_players = 23

gamemode_blacklist = list("nuclear","wizard","revolution","abduction","infiltration","gang","cult","clockcult","darkspawn")
gamemode_blacklist = list("nuclear","wizard","revolution","abduction","infiltration","gang","cult","clockcult","darkspawn","dynamic")

/datum/round_event_control/infiltrators/canSpawnEvent(var/players_amt, var/gamemode)
. = ..()
Expand Down