Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Factions Rework (part 1) #8225

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
7cb9ba1
stage_one save for branch change
blackcrystall Jan 22, 2025
088cadc
some parts of what I need to dooo... ... ... there only half way tru …
blackcrystall Jan 23, 2025
704b153
ONE MORE STEP FORWARD INTO THE HELL OF CODE
blackcrystall Jan 23, 2025
f871fc0
moreeeeeeeee
blackcrystall Jan 23, 2025
4bbaf17
what a hell, another keypoint, just 515 more untouched lines of code!…
blackcrystall Jan 24, 2025
f412c9f
almost done, two more step and I can find out 99999999 runtimes...
blackcrystall Jan 24, 2025
ca41e39
green text, final it's OVER
blackcrystall Jan 24, 2025
895e13f
finalyaaaaa.... fuck da shit random rework drop here AAAAAAA
blackcrystall Jan 24, 2025
7df109e
Merge branch 'master' into newreworkthatnobodywillcheck
blackcrystall Jan 24, 2025
7700887
fixes after merge
blackcrystall Jan 24, 2025
968a571
fix maps and linters
blackcrystall Jan 24, 2025
441ebac
some minor fixes
blackcrystall Jan 24, 2025
3b285cf
some minor fixes
blackcrystall Jan 24, 2025
05ea0a9
Merge branch 'newreworkthatnobodywillcheck' of https://github.com/ind…
blackcrystall Jan 24, 2025
9dea7f1
sss
blackcrystall Jan 24, 2025
3f81038
some fixes
blackcrystall Jan 25, 2025
0947e8b
some fixes and improvements
blackcrystall Jan 25, 2025
1072d9e
some local test issues, stop bothering me! just work!
blackcrystall Jan 25, 2025
7589e01
fix?
blackcrystall Jan 25, 2025
05a7068
this one probably will solve issue?
blackcrystall Jan 25, 2025
1632d28
some fixes
blackcrystall Jan 25, 2025
a70730a
fix of runtimes at tests?
blackcrystall Jan 26, 2025
0b9a72e
maybe this one will solve issue?
blackcrystall Jan 26, 2025
7038c09
hhhhhhhhhhhmmmmmmmmmm
blackcrystall Jan 26, 2025
1f31dd6
funny issue with test made by me changing a little bit of place call …
blackcrystall Jan 26, 2025
403f1e7
Merge branch 'master' into newreworkthatnobodywillcheck
blackcrystall Jan 28, 2025
29918e1
Merge branch 'master' into newreworkthatnobodywillcheck
blackcrystall Jan 28, 2025
f01ebc6
Merge branch 'master' into newreworkthatnobodywillcheck
blackcrystall Jan 29, 2025
1f528cd
Merge branch 'master' into newreworkthatnobodywillcheck
blackcrystall Jan 30, 2025
e12b0f5
aaaaaaaaaaaaaa
blackcrystall Jan 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion code/__DEFINES/ARES.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
#define ARES_RECORD_FLIGHT "Flight Record"
#define ARES_RECORD_TECH "Tech Control Record"

/// Not by ARES logged through marine_announcement()
/// Not by ARES logged through faction_announcement()
#define ARES_LOG_NONE 0
/// Logged with all announcements
#define ARES_LOG_MAIN 1
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/dcs/signals/signals_datum.dm
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
// from /datum/emergency_call/proc/spawn_candidates()
#define COMSIG_ERT_SETUP "ert_setup"

// from /proc/update_living_queens() : /mob/living/carbon/xenomorph/queen
// from /datum/faction_module/hive_mind/proc/set_living_xeno_queen() : /mob/living/carbon/xenomorph/queen
#define COMSIG_HIVE_NEW_QUEEN "hive_new_queen"

/// Fired on the lazy template datum when the template is finished loading. (list/loaded_atom_movables, list/loaded_turfs, list/loaded_areas)
Expand Down
33 changes: 33 additions & 0 deletions code/__DEFINES/factions.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* Modules, it's a critical parts, as example for hivemind, they contain all information required for them to live
*
*
*
* Factions relations pregen, used to generate relations, so every faction know about each other
*/

#define FACTION_MODULE_HIVE_MIND "hm_module"


//FACTIONS RELATIONS
#define RELATIONS_FACTION_NEUTRAL list(FACTION_USCM = RELATIONS_NEUTRAL, FACTION_WY = RELATIONS_NEUTRAL, FACTION_UPP = RELATIONS_NEUTRAL, FACTION_CLF = RELATIONS_NEUTRAL, FACTION_COLONIST = RELATIONS_NEUTRAL, FACTION_RESS = RELATIONS_NEUTRAL, FACTION_TWE = RELATIONS_NEUTRAL, FACTION_MERCENARY = RELATIONS_NEUTRAL, FACTION_FREELANCER = RELATIONS_NEUTRAL, FACTION_THREEWE = RELATIONS_NEUTRAL)
#define RELATIONS_FACTION_USCM list(FACTION_WY = RELATIONS_FRIENDLY, FACTION_UPP = RELATIONS_HOSTILE, FACTION_CLF = RELATIONS_HOSTILE, FACTION_COLONIST = RELATIONS_NEUTRAL, FACTION_RESS = RELATIONS_FRIENDLY, FACTION_TWE = RELATIONS_FRIENDLY, FACTION_MERCENARY = RELATIONS_NEUTRAL, FACTION_FREELANCER = RELATIONS_NEUTRAL, FACTION_THREEWE = RELATIONS_TENSE, FACTION_NEUTRAL = RELATIONS_NEUTRAL)
#define RELATIONS_FACTION_WY list(FACTION_USCM = RELATIONS_FRIENDLY, FACTION_UPP = RELATIONS_NEUTRAL, FACTION_CLF = RELATIONS_HOSTILE, FACTION_COLONIST = RELATIONS_NEUTRAL, FACTION_RESS = RELATIONS_FRIENDLY, FACTION_TWE = RELATIONS_HOSTILE, FACTION_MERCENARY = RELATIONS_NEUTRAL, FACTION_FREELANCER = RELATIONS_NEUTRAL, FACTION_THREEWE = RELATIONS_NEUTRAL, FACTION_NEUTRAL = RELATIONS_NEUTRAL)
#define RELATIONS_FACTION_CLF list(FACTION_USCM = RELATIONS_HOSTILE, FACTION_WY = RELATIONS_NEUTRAL, FACTION_UPP = RELATIONS_HOSTILE, FACTION_COLONIST = RELATIONS_NEUTRAL, FACTION_RESS = RELATIONS_HOSTILE, FACTION_TWE = RELATIONS_HOSTILE, FACTION_MERCENARY = RELATIONS_HOSTILE, FACTION_FREELANCER = RELATIONS_HOSTILE, FACTION_THREEWE = RELATIONS_HOSTILE, FACTION_NEUTRAL = RELATIONS_NEUTRAL)
#define RELATIONS_FACTION_UPP list(FACTION_USCM = RELATIONS_HOSTILE, FACTION_WY = RELATIONS_FRIENDLY, FACTION_CLF = RELATIONS_HOSTILE, FACTION_COLONIST = RELATIONS_NEUTRAL, FACTION_RESS = RELATIONS_HOSTILE, FACTION_TWE = RELATIONS_FRIENDLY, FACTION_MERCENARY = RELATIONS_HOSTILE, FACTION_FREELANCER = RELATIONS_HOSTILE, FACTION_THREEWE = RELATIONS_HOSTILE, FACTION_NEUTRAL = RELATIONS_NEUTRAL)
#define RELATIONS_FACTION_XENOMORPH list(FACTION_XENOMORPH_NORMAL = RELATIONS_HOSTILE, FACTION_XENOMORPH_CORRUPTED = RELATIONS_HOSTILE, FACTION_XENOMORPH_ALPHA = RELATIONS_HOSTILE, FACTION_XENOMORPH_BRAVO = RELATIONS_HOSTILE, FACTION_XENOMORPH_CHARLIE = RELATIONS_HOSTILE, FACTION_XENOMORPH_DELTA = RELATIONS_HOSTILE, FACTION_XENOMORPH_FERAL = RELATIONS_HOSTILE, FACTION_XENOMORPH_FORSAKEN = RELATIONS_HOSTILE, FACTION_XENOMORPH_TAMED = RELATIONS_HOSTILE, FACTION_XENOMORPH_MUTATED = RELATIONS_HOSTILE, FACTION_XENOMORPH_YAUTJA = RELATIONS_HOSTILE, FACTION_XENOMORPH_RENEGADE = RELATIONS_HOSTILE, FACTION_NEUTRAL = RELATIONS_NEUTRAL)

#define RELATIONS_MAP list(FACTION_NEUTRAL = null, FACTION_USCM = null, FACTION_MARINE = null, FACTION_MARSHAL = null, FACTION_CONTRACTOR = null, FACTION_CONTRACTOR = null, FACTION_WY = null, FACTION_PMC = null, FACTION_WY_DEATHSQUAD = null, FACTION_CLF = null, FACTION_UPP = null, FACTION_FREELANCER = null, FACTION_COLONIST = null, FACTION_MERCENARY = null, FACTION_DUTCH = null, FACTION_HEFA = null, FACTION_GLADIATOR = null, FACTION_PIRATE = null, FACTION_PIZZA = null, FACTION_SOUTO = null, FACTION_YAUTJA = null, FACTION_XENOMORPH_NORMAL = null, FACTION_XENOMORPH_CORRUPTED = null, FACTION_XENOMORPH_ALPHA = null, FACTION_XENOMORPH_BRAVO = null, FACTION_XENOMORPH_CHARLIE = null, FACTION_XENOMORPH_DELTA = null, FACTION_XENOMORPH_FERAL = null, FACTION_XENOMORPH_FORSAKEN = null, FACTION_XENOMORPH_TAMED = null, FACTION_XENOMORPH_MUTATED = null, FACTION_XENOMORPH_YAUTJA = null)
#define RELATIONS_MAP_HOSTILE list(FACTION_USCM = RELATIONS_HOSTILE, FACTION_WY = RELATIONS_HOSTILE, FACTION_UPP = RELATIONS_HOSTILE, FACTION_CLF = RELATIONS_HOSTILE, FACTION_COLONIST = RELATIONS_HOSTILE, FACTION_RESS = RELATIONS_HOSTILE, FACTION_TWE = RELATIONS_HOSTILE, FACTION_MERCENARY = RELATIONS_HOSTILE, FACTION_FREELANCER = RELATIONS_HOSTILE, FACTION_THREEWE = RELATIONS_HOSTILE, FACTION_XENOMORPH_NORMAL = RELATIONS_HOSTILE, FACTION_XENOMORPH_CORRUPTED = RELATIONS_HOSTILE, FACTION_XENOMORPH_ALPHA = RELATIONS_HOSTILE, FACTION_XENOMORPH_BRAVO = RELATIONS_HOSTILE, FACTION_XENOMORPH_CHARLIE = RELATIONS_HOSTILE, FACTION_XENOMORPH_DELTA = RELATIONS_HOSTILE, FACTION_XENOMORPH_FERAL = RELATIONS_HOSTILE, FACTION_XENOMORPH_FORSAKEN = RELATIONS_HOSTILE, FACTION_XENOMORPH_TAMED = RELATIONS_HOSTILE, FACTION_XENOMORPH_MUTATED = RELATIONS_HOSTILE, FACTION_XENOMORPH_YAUTJA = RELATIONS_HOSTILE, FACTION_NEUTRAL = RELATIONS_HOSTILE)

// For this BATCH, it's predefined, because otherwise this pr will be TOO big
#define RELATIONS_UNKNOWN null
#define RELATIONS_DISABLED list(0, 0)
#define RELATIONS_WAR list(1, 200)
#define RELATIONS_HOSTILE list(201, 400)
#define RELATIONS_TENSE list(401, 500)
#define RELATIONS_NEUTRAL list(501, 700)
#define RELATIONS_FRIENDLY list(701, 900)
#define RELATIONS_VERY_GOOD list(901, 1000)
#define RELATIONS_SELF 1100
#define RELATIONS_MAX 1000
20 changes: 0 additions & 20 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -122,26 +122,6 @@
#define NO_PERMANENT_DAMAGE (1<<20)
#define CORRUPTED_ALLY (1<<21)

// =============================
// hive types

#define XENO_HIVE_NORMAL "xeno_hive_normal"
#define XENO_HIVE_CORRUPTED "xeno_hive_corrupted"
#define XENO_HIVE_ALPHA "xeno_hive_alpha"
#define XENO_HIVE_BRAVO "xeno_hive_bravo"
#define XENO_HIVE_CHARLIE "xeno_hive_charlie"
#define XENO_HIVE_DELTA "xeno_hive_delta"
#define XENO_HIVE_FERAL "xeno_hive_feral"
#define XENO_HIVE_TAMED "xeno_hive_tamed"
#define XENO_HIVE_MUTATED "xeno_hive_mutated"
#define XENO_HIVE_FORSAKEN "xeno_hive_forsaken"
#define XENO_HIVE_YAUTJA "xeno_hive_yautja"
#define XENO_HIVE_RENEGADE "xeno_hive_renegade"

#define XENO_HIVE_TUTORIAL "xeno_hive_tutorial"

#define ALL_XENO_HIVES list(XENO_HIVE_NORMAL, XENO_HIVE_CORRUPTED, XENO_HIVE_ALPHA, XENO_HIVE_BRAVO, XENO_HIVE_CHARLIE, XENO_HIVE_DELTA, XENO_HIVE_FERAL, XENO_HIVE_TAMED, XENO_HIVE_MUTATED, XENO_HIVE_FORSAKEN, XENO_HIVE_YAUTJA, XENO_HIVE_RENEGADE, XENO_HIVE_TUTORIAL)

//=================================================

// =============================
Expand Down
132 changes: 75 additions & 57 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -259,65 +259,83 @@ DEFINE_BITFIELD(whitelist_status, list(
//=================================================

// Faction names
#define FACTION_NEUTRAL "Neutral"
#define FACTION_MARINE "USCM"
#define FACTION_SURVIVOR "Survivor"
#define FACTION_UPP "UPP"
#define FACTION_TWE "TWE"
#define FACTION_WY "Wey-Yu"
#define FACTION_CLF "CLF"
#define FACTION_PMC "PMC"
#define FACTION_CONTRACTOR "VAI"
#define FACTION_MARSHAL "Colonial Marshal"
#define FACTION_NSPA "NSPA"
#define FACTION_WY_DEATHSQUAD "WY Death Squad"
#define FACTION_MERCENARY "Mercenary"
#define FACTION_FREELANCER "Freelancer"
#define FACTION_HEFA "HEFA Order"
#define FACTION_DUTCH "Dutch's Dozen"
#define FACTION_PIRATE "Pirate"
#define FACTION_GLADIATOR "Gladiator"
#define FACTION_PIZZA "Pizza Delivery"
#define FACTION_SOUTO "Souto Man"
#define FACTION_COLONIST "Colonist"
#define FACTION_YAUTJA "Yautja"
#define FACTION_HUNTED "Hunted"
#define FACTION_ZOMBIE "Zombie"
#define FACTION_MONKEY "Monkey" // Nanu
#define FACTION_FAX "Fax Responder"

#define FACTION_LIST_MARINE list(FACTION_MARINE)
#define FACTION_LIST_HUMANOID list(FACTION_MARINE, FACTION_PMC, FACTION_WY, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_MARSHAL, FACTION_UPP, FACTION_FREELANCER, FACTION_SURVIVOR, FACTION_NEUTRAL, FACTION_COLONIST, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_YAUTJA, FACTION_ZOMBIE, FACTION_TWE, FACTION_HUNTED, FACTION_FAX)
#define FACTION_NEUTRAL "nfo"

// United States Colonial Marines
#define FACTION_USCM "uscm"
#define FACTION_MARINE "cmf"
#define FACTION_MARSOC "msoc"
#define FACTION_MARSHAL "clmr"

// Colonists (TO BE IMPROVED)
#define FACTION_COLONIST "colo"

// Weyland-Yutani Corporation
#define FACTION_WY "wy"
#define FACTION_PMC "pmc"
#define FACTION_WY_DEATHSQUAD "wyds"

// Union of Progressive Peoples
#define FACTION_UPP "upp"

// Three World Empire
#define FACTION_TWE "twe"
#define FACTION_THREEWE "threewe"

// Others
#define FACTION_RESS "ress"
#define FACTION_CLF "clf"
#define FACTION_CONTRACTOR "vai"
#define FACTION_NSPA "nspa"
#define FACTION_MERCENARY "merc"
#define FACTION_FREELANCER "frl"
#define FACTION_HEFA "hef"
#define FACTION_DUTCH "dut"
#define FACTION_PIRATE "pir"
#define FACTION_GLADIATOR "gla"
#define FACTION_PIZZA "piz"
#define FACTION_SOUTO "sou"
#define FACTION_YAUTJA "yakut"
#define FACTION_ZOMBIE "zom"

// TO BE DELETED
#define FACTION_FAX "fax"
#define FACTION_SURVIVOR "surv"
#define FACTION_XENOMORPH_TUTORIAL "tutzen"

// I have no idea where to put it, we even need that?
#define FACTION_MONKEY "ng" // Nanu

GLOBAL_LIST_INIT(FACTION_LIST_HUMANOID, list(
FACTION_NEUTRAL, FACTION_USCM, FACTION_MARINE, FACTION_MARSOC, FACTION_MARSHAL, FACTION_COLONIST, FACTION_WY, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_UPP,
FACTION_TWE, FACTION_THREEWE, FACTION_RESS, FACTION_CLF, FACTION_CONTRACTOR, FACTION_NSPA, FACTION_MERCENARY, FACTION_FREELANCER, FACTION_HEFA, FACTION_DUTCH,
FACTION_PIRATE, FACTION_GLADIATOR, FACTION_PIZZA, FACTION_SOUTO, FACTION_YAUTJA, FACTION_ZOMBIE, FACTION_FAX, FACTION_SURVIVOR, FACTION_MONKEY,
))

// Zenomorphs
#define FACTION_XENOMORPH "zen"
#define FACTION_XENOMORPH_NORMAL "nzen"
#define FACTION_XENOMORPH_CORRUPTED "corzen"
#define FACTION_XENOMORPH_ALPHA "alpzen"
#define FACTION_XENOMORPH_BRAVO "bravzen"
#define FACTION_XENOMORPH_CHARLIE "charzen"
#define FACTION_XENOMORPH_DELTA "deltzen"
#define FACTION_XENOMORPH_FERAL "ferzen"
#define FACTION_XENOMORPH_FORSAKEN "forszen"
#define FACTION_XENOMORPH_TAMED "tamzen"
#define FACTION_XENOMORPH_MUTATED "mutzen"
#define FACTION_XENOMORPH_YAUTJA "yakutzen"
#define FACTION_XENOMORPH_RENEGADE "renegzen"

GLOBAL_LIST_INIT(FACTION_LIST_XENOMORPH, list(
FACTION_XENOMORPH_NORMAL, FACTION_XENOMORPH_CORRUPTED, FACTION_XENOMORPH_ALPHA, FACTION_XENOMORPH_BRAVO, FACTION_XENOMORPH_CHARLIE, FACTION_XENOMORPH_DELTA,
FACTION_XENOMORPH_FERAL, FACTION_XENOMORPH_FORSAKEN, FACTION_XENOMORPH_TAMED, FACTION_XENOMORPH_MUTATED, FACTION_XENOMORPH_YAUTJA, FACTION_XENOMORPH_RENEGADE,
FACTION_XENOMORPH_TUTORIAL,
))

#define FACTION_LIST_ERT_OTHER list(FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO)
#define FACTION_LIST_ERT_ALL list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_MARSHAL, FACTION_TWE, FACTION_HUNTED)
#define FACTION_LIST_ERT_ALL list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_MARSHAL, FACTION_TWE)
#define FACTION_LIST_WY list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY)
#define FACTION_LIST_UPP list(FACTION_UPP)
#define FACTION_LIST_CLF list(FACTION_CLF)
#define FACTION_LIST_TWE list(FACTION_TWE)
#define FACTION_LIST_FREELANCER list(FACTION_FREELANCER)
#define FACTION_LIST_CONTRACTOR list(FACTION_CONTRACTOR)
#define FACTION_LIST_MERCENARY list(FACTION_MERCENARY)
#define FACTION_LIST_MARSHAL list(FACTION_MARSHAL)
#define FACTION_LIST_DUTCH list(FACTION_DUTCH)
#define FACTION_LIST_SURVIVOR_WY list(FACTION_SURVIVOR, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY)
#define FACTION_LIST_SURVIVOR_NSPA list(FACTION_SURVIVOR, FACTION_NSPA, FACTION_TWE)
#define FACTION_LIST_MARINE_WY list(FACTION_MARINE, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY)
#define FACTION_LIST_MARINE_UPP list(FACTION_MARINE, FACTION_UPP)
#define FACTION_LIST_MARINE_TWE list(FACTION_MARINE, FACTION_TWE)
#define FACTION_LIST_YAUTJA list(FACTION_YAUTJA)
#define FACTION_LIST_HUNTED list(FACTION_HUNTED)

// Xenomorphs
#define FACTION_PREDALIEN "Predalien"

#define FACTION_XENOMORPH "Xenomorph"
#define FACTION_XENOMORPH_CORRPUTED "Corrupted Xenomoprh"
#define FACTION_XENOMORPH_ALPHA "Alpha Xenomorph"
#define FACTION_XENOMORPH_BRAVO "Bravo Xenomorph"
#define FACTION_XENOMORPH_CHARLIE "Charlie Xenomorph"
#define FACTION_XENOMORPH_DELTA "Delta Xenomorph"

#define FACTION_LIST_XENOMORPH list(FACTION_XENOMORPH, FACTION_XENOMORPH_CORRPUTED, FACTION_XENOMORPH_ALPHA, FACTION_XENOMORPH_BRAVO, FACTION_XENOMORPH_CHARLIE, FACTION_XENOMORPH_DELTA)

// Faction allegiances within a certain faction.

Expand Down
5 changes: 2 additions & 3 deletions code/__DEFINES/sentry_laptop_configurations.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#define SENTRY_FACTION_WEYLAND "WY"
#define SENTRY_FACTION_HUMAN "HUMAN"
#define SENTRY_FACTION_COLONY "COLONY"
#define SENTRY_FACTION_OWN "INTERNAL ONLY SIGNALS"
#define SENTRY_FACTION_ALLY "OTHER ALLIES SIGNALS"

#define ROF_SINGLE "SINGLE"
#define ROF_BURST "BURST"
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_OPPOSABLE_THUMBS" = TRAIT_OPPOSABLE_THUMBS,
"TRAIT_INTERFERENCE" = TRAIT_HIVEMIND_INTERFERENCE,
),
/datum/hive_status = list(
/datum/faction_module/hive_mind = list(
"TRAIT_XENONID" = TRAIT_XENONID,
"TRAIT_NO_HIVE_DELAY" = TRAIT_NO_HIVE_DELAY,
"TRAIT_NO_COLOR" = TRAIT_NO_COLOR,
Expand Down
21 changes: 6 additions & 15 deletions code/__DEFINES/typecheck/xenos.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,24 +31,15 @@
if(!istype(attempt_harm_mob))
return FALSE

if(!hive)
hive = GLOB.hive_datum[hivenumber]

if(!hive)
if(!faction)
return FALSE

if(hivenumber == XENO_HIVE_RENEGADE)
var/datum/hive_status/corrupted/renegade/renegade_hive = hive
return renegade_hive.iff_protection_check(src, attempt_harm_mob)

return hive.is_ally(attempt_harm_mob)
return attempt_harm_mob.ally_faction(faction)

// need this to set the data for walls/eggs/huggers when they are initialized
/proc/set_hive_data(atom/focused_atom, hivenumber)
var/datum/hive_status/hive = GLOB.hive_datum[hivenumber]
if (hive.color)
focused_atom.color = hive.color
focused_atom.name = "[lowertext(hive.prefix)][focused_atom.name]"
/proc/set_hive_data(atom/focused_atom, datum/faction/faction)
if(faction.color)
focused_atom.color = faction.color
focused_atom.name = "[lowertext(faction.prefix)][focused_atom.name]"

/proc/get_xeno_stun_duration(mob/stun_mob, duration)
if(iscarbonsizexeno(stun_mob))
Expand Down
2 changes: 1 addition & 1 deletion code/__HELPERS/game.dm
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@
* * sorted - Whether to sort by larva_queue_time (default TRUE) or leave unsorted
* * abomination - Whether the potential larva is for an abomination
*/
/proc/get_alien_candidates(datum/hive_status/hive = null, sorted = TRUE, abomination = FALSE)
/proc/get_alien_candidates(datum/faction/hive = null, sorted = TRUE, abomination = FALSE)
var/list/candidates = list()

for(var/mob/dead/observer/cur_obs as anything in GLOB.observer_list)
Expand Down
39 changes: 0 additions & 39 deletions code/_globalvars/global_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -203,23 +203,6 @@ GLOBAL_LIST_INIT(language_keys, setup_language_keys()) //table of say codes for
GLOBAL_REFERENCE_LIST_INDEXED(origins, /datum/origin, name)
GLOBAL_LIST_INIT(player_origins, USCM_ORIGINS)

//Xeno hives
GLOBAL_LIST_INIT_TYPED(hive_datum, /datum/hive_status, list(
XENO_HIVE_NORMAL = new /datum/hive_status(),
XENO_HIVE_CORRUPTED = new /datum/hive_status/corrupted(),
XENO_HIVE_ALPHA = new /datum/hive_status/alpha(),
XENO_HIVE_BRAVO = new /datum/hive_status/bravo(),
XENO_HIVE_CHARLIE = new /datum/hive_status/charlie(),
XENO_HIVE_DELTA = new /datum/hive_status/delta(),
XENO_HIVE_FERAL = new /datum/hive_status/feral(),
XENO_HIVE_TAMED = new /datum/hive_status/corrupted/tamed(),
XENO_HIVE_MUTATED = new /datum/hive_status/mutated(),
XENO_HIVE_FORSAKEN = new /datum/hive_status/forsaken(),
XENO_HIVE_YAUTJA = new /datum/hive_status/yautja(),
XENO_HIVE_RENEGADE = new /datum/hive_status/corrupted/renegade(),
XENO_HIVE_TUTORIAL = new /datum/hive_status/tutorial()
))

GLOBAL_VAR_INIT(king_acquisition_time, 1 HOURS + 30 MINUTES + rand(0, 25) MINUTES)
GLOBAL_LIST_INIT(xeno_evolve_times, setup_xeno_evolve_times())

Expand All @@ -230,8 +213,6 @@ GLOBAL_LIST_INIT(xeno_evolve_times, setup_xeno_evolve_times())
else
LAZYADDASSOCLIST(., num2text(initial(caste.minimum_evolve_time)), caste)

GLOBAL_LIST_INIT(custom_event_info_list, setup_custom_event_info())

// Posters
GLOBAL_LIST_INIT(poster_designs, subtypesof(/datum/poster))

Expand Down Expand Up @@ -476,26 +457,6 @@ GLOBAL_LIST_INIT(uppj_emotes, setup_upp_joe_emotes())
mobtypes["[T]"] = typecacheof(T.target_mobtypes)
return mobtypes

/proc/setup_custom_event_info()
//faction event messages
var/list/custom_event_info_list = list()
var/datum/custom_event_info/CEI = new /datum/custom_event_info
CEI.faction = "Global" //the old public one for whole server to see
custom_event_info_list[CEI.faction] = CEI
for(var/T in FACTION_LIST_HUMANOID)
CEI = new /datum/custom_event_info
CEI.faction = T
custom_event_info_list[T] = CEI

var/datum/hive_status/hive
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
CEI = new /datum/custom_event_info
CEI.faction = hive.internal_faction
custom_event_info_list[hive.name] = CEI

return custom_event_info_list

/proc/setup_taskbar_icons()
var/list/png_list = flist("icons/taskbar")
for(var/png in png_list)
Expand Down
2 changes: 0 additions & 2 deletions code/_globalvars/lists/mapping_globals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ GLOBAL_LIST_EMPTY(thunderdome_observer)
GLOBAL_LIST_EMPTY(latewhiskey)

GLOBAL_LIST_EMPTY(latejoin)
GLOBAL_LIST_EMPTY(latejoin_by_squad)
GLOBAL_LIST_EMPTY(latejoin_by_job)

GLOBAL_LIST_EMPTY(zombie_landmarks)

Expand Down
Loading