Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
ea2f91f
debugging excelsior tools baaaaaaaa
Deal5 Dec 30, 2025
ddad227
debug
Deal5 Jan 1, 2026
ceab917
debugger+map
Deal5 Jan 1, 2026
6409487
debuglasttrust
Deal5 Jan 1, 2026
9370d7d
aaaaaaaaaaaaaa
Deal5 Jan 1, 2026
f0194a9
Centor and nodes
AltHit Jan 4, 2026
9a65770
Excel Network UI 000
Deal5 Jan 10, 2026
0893acd
Fixed dist3D function
AltHit Jan 15, 2026
0f0989e
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
AltHit Jan 15, 2026
4bbf590
Adding custom font files
AltHit Jan 16, 2026
a0ef6fd
moving defins
Deal5 Jan 16, 2026
fa5e2f8
1
Deal5 Jan 16, 2026
38d0d5d
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
Deal5 Jan 16, 2026
0afca44
к
Deal5 Jan 18, 2026
aae8266
Update hud.dm
AltHit Jan 18, 2026
31cc8b1
Create MxPlus_IBM_BIOS.ttf
AltHit Jan 19, 2026
31de33e
Power tester
AltHit Jan 19, 2026
71fbd95
grr
Deal5 Jan 21, 2026
14b5bd0
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
Deal5 Jan 21, 2026
3ec80af
finally energy generates like I want
Deal5 Jan 21, 2026
3a2501e
Update hud.dmi
AltHit Jan 21, 2026
22d0330
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
AltHit Jan 21, 2026
23b90ab
Turftest
AltHit Jan 22, 2026
314cf66
the overlay bug appears
Deal5 Jan 22, 2026
9316f94
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
Deal5 Jan 24, 2026
f516abb
nodemaxxing
AltHit Jan 24, 2026
475e997
frick
Deal5 Jan 24, 2026
123d2c6
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
Deal5 Jan 24, 2026
32d04da
fix the gaping hole
Deal5 Jan 24, 2026
a3cdd17
Add communicate_inanimate()
AltHit Jan 26, 2026
92e7d78
fixed
AltHit Jan 26, 2026
991e657
twash
Deal5 Jan 26, 2026
3aec7c4
poosh
Deal5 Jan 26, 2026
449a361
Whitelist for influence
AltHit Jan 26, 2026
d1b3308
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
AltHit Jan 26, 2026
5c2daf0
lobotomy at 50% discount
Deal5 Jan 26, 2026
1411223
epic text of wall here
Deal5 Jan 28, 2026
6fef0e0
find the path
Deal5 Jan 28, 2026
65e429b
KPK
AltHit Jan 28, 2026
9c427d4
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
AltHit Jan 28, 2026
a56ae54
fonts forgot
AltHit Jan 28, 2026
4b0dae0
commient
Deal5 Jan 28, 2026
a63abc0
m
Deal5 Jan 28, 2026
9b54052
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
Deal5 Jan 28, 2026
c3e0545
fixed logo in gui
AltHit Jan 28, 2026
5334cb1
commient2
Deal5 Jan 28, 2026
01ab623
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
Deal5 Jan 28, 2026
96a9788
sync
Deal5 Jan 29, 2026
87859c2
actual working pathfinder wow
Deal5 Jan 29, 2026
bd6b956
UI for pathfinder
AltHit Jan 29, 2026
99c9684
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
AltHit Jan 29, 2026
32be952
Update excelsior_kpk.tmpl
AltHit Jan 29, 2026
40d2597
Router fixed
AltHit Jan 29, 2026
82e7f75
theres no god anymore and if there was he is disgusted
Deal5 Jan 30, 2026
5766e85
kill pathfinder
Deal5 Jan 30, 2026
2919deb
Basic pathfinder
AltHit Jan 31, 2026
9a2d3c2
Semi-tested complex pathfider
AltHit Jan 31, 2026
b71b822
Maybe fixed runningtimes
AltHit Feb 2, 2026
5319c6d
KPK error system
AltHit Feb 2, 2026
38fa3c1
Items spawn in hand vol 1
AltHit Feb 2, 2026
b1a1316
ugh
Deal5 Feb 3, 2026
3a562c9
please dont read my commit names
Deal5 Feb 4, 2026
fb72da2
sprit :)
Deal5 Feb 12, 2026
ffdf83d
um
Deal5 Feb 12, 2026
315a660
sprit org
Deal5 Feb 13, 2026
2793763
Node sprites + changes to IKEA
AltHit Feb 19, 2026
21cb4b3
animations
Deal5 Feb 19, 2026
6f3bdd1
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
Deal5 Feb 19, 2026
e496465
Node damage
AltHit Feb 20, 2026
c13ebc7
deth
Deal5 Feb 20, 2026
4859b32
Power softer rounding
AltHit Feb 20, 2026
1b14c8b
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
AltHit Feb 20, 2026
619bd92
Routes give energy
AltHit Feb 20, 2026
ec658fc
corectooo
Deal5 Feb 20, 2026
4da5e2c
Merge branch 'excel-somitemes-upwards' of https://github.com/Deal5/Fu…
Deal5 Feb 20, 2026
4109031
comments and fluff
Deal5 Feb 21, 2026
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
7 changes: 7 additions & 0 deletions cev_eris.dme
Original file line number Diff line number Diff line change
Expand Up @@ -784,14 +784,21 @@
#include "code\game\machinery\embedded_controller\embedded_program_base.dm"
#include "code\game\machinery\embedded_controller\simple_docking_controller.dm"
#include "code\game\machinery\embedded_controller\~docking_program_undef.dm"
#include "code\game\machinery\excelsior\_excelsior_defines.dm"
#include "code\game\machinery\excelsior\autolathe.dm"
#include "code\game\machinery\excelsior\boombox.dm"
#include "code\game\machinery\excelsior\centor.dm"
#include "code\game\machinery\excelsior\diesel.dm"
#include "code\game\machinery\excelsior\emplacement.dm"
#include "code\game\machinery\excelsior\ex_teleporter.dm"
#include "code\game\machinery\excelsior\ex_turret.dm"
#include "code\game\machinery\excelsior\excelsior_debug_tools.dm"
#include "code\game\machinery\excelsior\excelsior_researches.dm"
#include "code\game\machinery\excelsior\field.dm"
#include "code\game\machinery\excelsior\implantmaker.dm"
#include "code\game\machinery\excelsior\node.dm"
#include "code\game\machinery\excelsior\redirector.dm"
#include "code\game\machinery\excelsior\excelsior_items\KPK.dm"
#include "code\game\machinery\kitchen\gibber.dm"
#include "code\game\machinery\kitchen\microwave.dm"
#include "code\game\machinery\kitchen\smartfridge.dm"
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/dcs/signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,9 @@
#define COMSIG_DOOR_OPENED "door_opened"
#define COMSIG_DOOR_CLOSED "door_closed"

//excelsior
#define COMSIG_EX_CONNECT "excelsior_connect"

// /obj/item signals
#define COMSIG_IATTACK "item_attack" //from /mob/ClickOn(): (/atom, /src, /params) If any reply to this returns TRUE, overrides attackby and afterattack
#define COMSIG_ATTACKBY "attack_by" //from /mob/ClickOn():
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/turfs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,6 @@

var/vecX = A.x - B.x
var/vecY = A.y - B.y
var/vecZ = (A.y - B.y)*DECK_HEIGHT
var/vecZ = (A.z - B.z)*DECK_HEIGHT

return abs(sqrt((vecX*vecX) + (vecY*vecY) +(vecZ*vecZ)))
17 changes: 17 additions & 0 deletions code/game/antagonist/antagonist_factions.dm
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,23 @@

log_say("[user.name]/[user.key] (REV [name]) : [message]")

/datum/faction/proc/communicate_inanimate(var/obj/user, var/message)
if(!message)
return

message = capitalize(sanitize(message))
var/text = "<span class='revolution'>[message]</span>"
for(var/i in SShumans.mob_list)
if(is_excelsior(i))
to_chat(i, text)

//ghosts
for(var/mob/observer/ghost/M in GLOB.dead_mob_list) //does this include players who joined as observers as well?
if(!M.client)
continue
if((M.antagHUD && M.get_preference_value(/datum/client_preference/ghost_ears) == GLOB.PREF_ALL_SPEECH) || is_admin(M))
to_chat(M, "[text] ([ghost_follow_link(user, M)])")

/datum/faction/proc/is_member(mob/user)
for(var/datum/antagonist/A in members)
if(A.owner.current == user)
Expand Down
40 changes: 33 additions & 7 deletions code/game/antagonist/station/revolutionary/excel_faction.dm
Original file line number Diff line number Diff line change
@@ -1,20 +1,31 @@
var/global/was_centor_spawned = FALSE

/datum/faction/excelsior
id = FACTION_EXCELSIOR
name = "Excelsior"
antag = "infiltrator"
antag_plural = "infiltrators"
welcome_text = "You are Excelsior, Ever Upward. You have infiltrated this vessel to further the Revolution.\n\
The People's strength lies in securing our position, gathering the oppressed, spreading propaganda and producing arms and armor for the final revolution. A slow and methodical approach is recommended. \n\n\
Our first phase is to retrieve the cache of manufacturing materials and circuit boards. Without a means of production our revolution is in peril.\n\n\
Our second phase is to establish a fortified position in secret. The People will send additional resources through the teleporter once it is established. This and our autolathe can be protected further with turrets and shield generators, in addition to loyal comrades. <b>To prevent technology theft, your machinery, but not handheld weapons, implanters, and armor, is designed to work only on target vessel, CEV \"Eris\".</b>\n\n\
Our third phase is expansion. Complete mandates for power. Aquire implants, prosthetics or robotic parts and convert them into new implants. These can be injected into the oppressed to formally induct them to the Revolution. Use their labor to produce the weapons of their liberation.\n\n\
When the People are ready, break the chains of the oppressor and seize control of the ship by building the redirector and installing it on the primary control bridge."
// WARNING!!! CONSIDER REWRITING, CANNOT ASSURE QUALITY/LACK OF CRINGE/ETC.
// BTW CHECK AS REGULAR, WITHOUT DEBUG
welcome_text = "\n <b>THE SHACKLES</b> of forced labor for those, who don't value you, <b>HAVE BEEN FINALLY DROPPED</b>.\n\
You no longer are required to listen to them. You don't need money to survive. \n\n\
<b>We welcome you to our ranks, fighter.</b>\n\
You now may carve your own destiny despite the attempts of the old greedy world to drag you back in.\n\
Excelsior fights for both your and our right to live without suppression of true human virtue - to create.\n\
We invite you to do the same - emancipate those uncapable to resist the world order's rules\n\n\
<b>Our goal:</b> Seize control of the ship by building a redirector on the primary control bridge.\n\n\
<b>To reach that goal:</b> We have to call our Centor Core in unvisited location and protect it, then retrieve the cache of disks and buildings, liberate the oppressed, spread our word of freedom, make arms and armor for our buddies.\n\n\
<b>Preparation:</b> \n\n\
<b>After insertion:</b> Establish a fortified position. The People will send additional resources through the teleporter once we get the energy. Use turrets and shield generators, and of course - loyal comrades. \n\n\
<b>And the final part - expansion.</b> Spread nodes and ensure their connection to Centor for teleportation power. Acquire implants, prosthetics or robotic parts and rebuild them into our own implants. These can be injected into the oppressed to introduce them into our cause.\n\n\
<b>Beware - To prevent important technology theft, your machinery is designed to work only on target vessel: CEV \"Eris\".</b>\n\n\
<h1>Our dreams shan't be ignored! Ever Upward!</h1>"

hud_indicator = "excelsior"

possible_antags = list(ROLE_EXCELSIOR_REV)
faction_datum_verbs = list(/datum/faction/excelsior/proc/communicate_verb,
/datum/faction/excelsior/proc/summon_stash)
/datum/faction/excelsior/proc/summon_centor)

var/stash_holder = null

Expand Down Expand Up @@ -63,6 +74,19 @@

F.communicate(usr)


/datum/faction/excelsior/proc/summon_centor()

set name = "Summon Centor"
set category = "Cybernetics"

if(!was_centor_spawned)
new /obj/machinery/centor(usr.loc)
was_centor_spawned = TRUE
else
to_chat(usr, SPAN_EXCEL_NOTIF("You've already used the Centor assigned to you..."))

/*
/datum/faction/excelsior/proc/summon_stash()

set name = "Summon stash"
Expand Down Expand Up @@ -92,3 +116,5 @@

H.put_in_hands(stash)
F.stash_holder = H.real_name
*/

1 change: 1 addition & 0 deletions code/game/antagonist/station/revolutionary/excelsior.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
/datum/antagonist/excelsior/create_antagonist(datum/mind/target, datum/faction/new_faction, doequip = TRUE, announce = TRUE, update = TRUE, check = TRUE)
. = ..()
BITSET(owner.current.hud_updateflag, EXCELSIOR_HUD)
was_centor_spawned = FALSE //[excel_faction.dm]

/datum/antagonist/excelsior/remove_antagonist()
. = ..()
Expand Down
29 changes: 29 additions & 0 deletions code/game/machinery/excelsior/_excelsior_defines.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// # Node+Centor related [centor.dm]
// - KPK
// - Node
#define EX_NODE_DISTANCE 7
// - Centor
#define EX_NODE_SPAWN_COOLDOWN 3 MINUTES




var/global/excelsior_energy
var/list/global/excelsior_nodes = list()
var/list/global/excelsior_junctions = list()

var/list/global/excelsior_turf_whitelist = list( // <<< see more at [node.dm]
/turf/floor,
/turf/wall/low
)



//-------------------------------------------------------------------------

// Old, still used code
var/global/excelsior_max_energy //Maximum combined energy of all teleporters
var/global/excelsior_conscripts = 0
var/global/excelsior_last_draft = 0
var/list/global/excelsior_teleporters = list()

Loading
Loading