Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'TauCetiStation:master' into onlyorgans
Browse files Browse the repository at this point in the history
TriflesChase authored Dec 27, 2024
2 parents 8f4bbcd + 07f41ab commit c6d795f
Showing 279 changed files with 2,109 additions and 2,167 deletions.
16 changes: 8 additions & 8 deletions code/__DEFINES/admin.dm
Original file line number Diff line number Diff line change
@@ -74,14 +74,14 @@ var/global/list/admin_cooldowns_list = list(
#define ADMIN_RANK_SANDBOX "Sandbox Admin"
#define ADMIN_RANK_REMOVED "Removed"

#define ADMIN_QUE(user) "(<a href='?_src_=holder;adminmoreinfo=\ref[user]'>?</a>)"
#define ADMIN_FLW(target) "(<a href='?_src_=holder;adminplayerobservefollow=\ref[target]'>FLW</a>)"
#define ADMIN_JMP(target) "(<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[target.x];Y=[target.y];Z=[target.z]'>JMP</a>)"
#define ADMIN_VV(target) "(<a href='?_src_=vars;Vars=\ref[target]'>VV</a>)"
#define ADMIN_PP(user) "(<a href='?_src_=holder;adminplayeropts=\ref[user]'>PP</a>)"
#define ADMIN_SM(user) "(<a href='?_src_=holder;subtlemessage=\ref[user]'>SM</a>)"
#define ADMIN_TP(user) "(<a href='?_src_=holder;traitor=\ref[user]'>TP</a>)"
#define ADMIN_KICK(user) "(<a href='?_src_=holder;boot2=\ref[user]'>KICK</a>)"
#define ADMIN_QUE(user) "(<a href='byond://?_src_=holder;adminmoreinfo=\ref[user]'>?</a>)"
#define ADMIN_FLW(target) "(<a href='byond://?_src_=holder;adminplayerobservefollow=\ref[target]'>FLW</a>)"
#define ADMIN_JMP(target) "(<a href='byond://?_src_=holder;adminplayerobservecoodjump=1;X=[target.x];Y=[target.y];Z=[target.z]'>JMP</a>)"
#define ADMIN_VV(target) "(<a href='byond://?_src_=vars;Vars=\ref[target]'>VV</a>)"
#define ADMIN_PP(user) "(<a href='byond://?_src_=holder;adminplayeropts=\ref[user]'>PP</a>)"
#define ADMIN_SM(user) "(<a href='byond://?_src_=holder;subtlemessage=\ref[user]'>SM</a>)"
#define ADMIN_TP(user) "(<a href='byond://?_src_=holder;traitor=\ref[user]'>TP</a>)"
#define ADMIN_KICK(user) "(<a href='byond://?_src_=holder;boot2=\ref[user]'>KICK</a>)"
#define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]"
#define ADMIN_PPJMPFLW(user) "[ADMIN_PP(user)] [ADMIN_FLW(user)] [ADMIN_JMP(user)]"
#define ADMIN_FULLMONTY_NONAME(user) "[ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)]"
4 changes: 4 additions & 0 deletions code/__DEFINES/economy.dm
Original file line number Diff line number Diff line change
@@ -3,3 +3,7 @@
#define INSURANCE_NONE "None"
#define INSURANCE_STANDARD "Standard"
#define INSURANCE_PREMIUM "Premium"

#define STARTING_MONEY_MULTIPLYER 3
#define STARTING_MONEY_VARIANCE 5 //in percents
#define STARTING_MONEY_MINIMUM 50
19 changes: 13 additions & 6 deletions code/__DEFINES/math.dm
Original file line number Diff line number Diff line change
@@ -27,7 +27,19 @@

#define CLAMP01(x) (clamp(x, 0, 1))

#define SIGN(x) (x < 0 ? -1 : 1)
#if DM_VERSION < 516
/// Gets the sign of x, returns -1 if negative, 0 if 0, 1 if positive
#define SIGN(x) ( ((x) > 0) - ((x) < 0) )

// Performs a linear interpolation between a and b.
// Note that amount=0 returns a, amount=1 returns b, and
// amount=0.5 returns the mean of a and b.
#define LERP(a, b, amount) ( amount ? ((a) + ((b) - (a)) * (amount)) : a )
#else
#define SIGN(x) sign(x)

#define LERP(a, b, amount) lerp(a, b, amount)
#endif

#define CEILING(x, y) ( -round(-(x) / (y)) * (y) )

@@ -75,11 +87,6 @@

#define IS_MULTIPLE(x, y) ((x) % (y) == 0)

// Performs a linear interpolation between a and b.
// Note that amount=0 returns a, amount=1 returns b, and
// amount=0.5 returns the mean of a and b.
#define LERP(a, b, amount) ( amount ? ((a) + ((b) - (a)) * (amount)) : a )

// Returns the nth root of x.
#define ROOT(n, x) ((x) ** (1 / (n)))

8 changes: 4 additions & 4 deletions code/__DEFINES/say.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// A link given to ghost alice to follow bob
#define FOLLOW_LINK(alice, bob) "<a href=?src=\ref[alice];track=\ref[bob]>(F)</a>"
#define TURF_LINK(alice, turfy) "<a href=?src=\ref[alice];x=[turfy.x];y=[turfy.y];z=[turfy.z]>(T)</a>"
#define FOLLOW_OR_TURF_LINK(alice, bob, turfy) "<a href=?src=\ref[alice];track=\ref[bob];x=[turfy.x];y=[turfy.y];z=[turfy.z]>(F)</a>"
#define FOLLOW_LINK(alice, bob) "<a href=byond://?src=\ref[alice];track=\ref[bob]>(F)</a>"
#define TURF_LINK(alice, turfy) "<a href=byond://?src=\ref[alice];x=[turfy.x];y=[turfy.y];z=[turfy.z]>(T)</a>"
#define FOLLOW_OR_TURF_LINK(alice, bob, turfy) "<a href=byond://?src=\ref[alice];track=\ref[bob];x=[turfy.x];y=[turfy.y];z=[turfy.z]>(F)</a>"

// Link for alice to help bob
#define HELP_LINK(alice, bob) "<a href=?src=\ref[alice];help_other=\ref[bob]>Click here to help [bob].</a>"
#define HELP_LINK(alice, bob) "<a href=byond://?src=\ref[alice];help_other=\ref[bob]>Click here to help [bob].</a>"
1 change: 1 addition & 0 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
@@ -198,6 +198,7 @@
#define TRAIT_WILLPOWER_IMPLANT "willpower_implant"
#define TRAIT_CAN_LEAP "can_leap"
#define TRAIT_AUTOFIRE_SHOOTS "autofire_shoots"
#define TRAIT_AIRBAG_PROTECTION "airbag_protection"

/*
* Used for movables that need to be updated, via COMSIG_ENTER_AREA and COMSIG_EXIT_AREA, when transitioning areas.
2 changes: 1 addition & 1 deletion code/__HELPERS/game.dm
Original file line number Diff line number Diff line change
@@ -457,7 +457,7 @@
|New player notify
|Player '[M.ckey]' joined to the game as [M.mind.name][player_assigned_role] [ADMIN_FLW(M)] [ADMIN_PP(M)] [ADMIN_VV(M)]
|Byond profile: <a href='[player_byond_profile]'>open</a>
|Guard report: <a href='?_src_=holder;guard=\ref[M]'>show</a>"})
|Guard report: <a href='byond://?_src_=holder;guard=\ref[M]'>show</a>"})

message_admins(adminmsg, emphasize = TRUE)

9 changes: 3 additions & 6 deletions code/__HELPERS/unsorted.dm
Original file line number Diff line number Diff line change
@@ -129,9 +129,6 @@ Turf and target are seperate in case you want to teleport some distance from a t

return destination

/proc/sign(x)
return x!=0?x/abs(x):0

/proc/getline(atom/M,atom/N)//Ultra-Fast Bresenham Line-Drawing Algorithm
var/px=M.x //starting x
var/py=M.y
@@ -140,8 +137,8 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/dy=N.y-py
var/dxabs=abs(dx)//Absolute value of x distance
var/dyabs=abs(dy)
var/sdx=sign(dx) //Sign of x distance (+ or -)
var/sdy=sign(dy)
var/sdx=SIGN(dx) //Sign of x distance (+ or -)
var/sdy=SIGN(dy)
var/x=dxabs>>1 //Counters for steps taken, setting to distance/2
var/y=dyabs>>1 //Bit-shifting makes me l33t. It also makes getline() unnessecarrily fast.
var/j //Generic integer for counting
@@ -439,7 +436,7 @@ Turf and target are seperate in case you want to teleport some distance from a t

if(key)
if(include_link && C)
. += "<a href='?priv_msg=\ref[C][reply ? ";ahelp_reply=[reply]" : ""][mentor_pm ? ";mentor_pm=1" : ""]'>"
. += "<a href='byond://?priv_msg=\ref[C][reply ? ";ahelp_reply=[reply]" : ""][mentor_pm ? ";mentor_pm=1" : ""]'>"

if(C && C.holder && C.holder.fakekey && !include_name)
. += "Administrator"
8 changes: 4 additions & 4 deletions code/__HELPERS/vector.dm
Original file line number Diff line number Diff line change
@@ -89,14 +89,14 @@ return_location()
// calculate the offset per increment step
if(abs(angle) in list(0, 45, 90, 135, 180)) // check if the angle is a cardinal
if(abs(angle) in list(0, 45, 135, 180)) // if so we can skip the trigonometry and set these to absolutes as
offset_x = sign(dx) // they will always be a full step in one or more directions
offset_x = SIGN(dx) // they will always be a full step in one or more directions
if(abs(angle) in list(45, 90, 135))
offset_y = sign(dy)
offset_y = SIGN(dy)
else if(abs(dy) > abs(dx))
offset_x = COT(abs(angle)) // otherwise set the offsets
offset_y = sign(dy)
offset_y = SIGN(dy)
else
offset_x = sign(dx)
offset_x = SIGN(dx)
offset_y = tan(angle)
if(dx < 0)
offset_y = -offset_y
2 changes: 1 addition & 1 deletion code/controllers/configuration.dm
Original file line number Diff line number Diff line change
@@ -83,7 +83,7 @@ var/global/bridge_secret = null
var/disable_player_mice = 0
var/uneducated_mice = 0 //Set to 1 to prevent newly-spawned mice from understanding human speech

var/deathtime_required = 18000 //30 minutes
var/deathtime_required = 6000 //10 minutes

var/usealienwhitelist = 0
var/use_alien_job_restriction = 0
46 changes: 23 additions & 23 deletions code/controllers/subsystem/events.dm
Original file line number Diff line number Diff line change
@@ -112,7 +112,7 @@ SUBSYSTEM_DEF(events)
to_chat(world, message)

/datum/controller/subsystem/events/proc/GetInteractWindow()
var/html = "<A align='right' href='?src=\ref[src];refresh=1'>Refresh</A>"
var/html = "<A align='right' href='byond://?src=\ref[src];refresh=1'>Refresh</A>"
if(!config.allow_random_events)
html = "<span class='red'>Random events has been disabled by SERVER!</span><br>" + html
else
@@ -122,11 +122,11 @@ SUBSYSTEM_DEF(events)
if(!EC.delayed)
pause_all = TRUE
break
html += "<A align='right' href='?src=\ref[src];pause_all=[pause_all ? "Pause" : "Resume"]'>[pause_all ? "Pause" : "Resume"] All</A><br>"
html += "<A align='right' href='byond://?src=\ref[src];pause_all=[pause_all ? "Pause" : "Resume"]'>[pause_all ? "Pause" : "Resume"] All</A><br>"

if(selected_event_container)
var/event_time = max(0, selected_event_container.next_event_time - world.time)
html += "<A align='right' href='?src=\ref[src];back=1'>Back</A><br>"
html += "<A align='right' href='byond://?src=\ref[src];back=1'>Back</A><br>"
html += "Time till start: [round(event_time / 600, 0.1)]<br>"
html += "<div class='Section'>"
html += "<h2>Available [severity_to_string[selected_event_container.severity]] Events (queued & running events will not be displayed)</h2>"
@@ -135,13 +135,13 @@ SUBSYSTEM_DEF(events)
for(var/datum/event_meta/EM in selected_event_container.available_events)
html += "<tr>"
html += "<td>[EM.name]</td>"
html += "<td><A align='right' href='?src=\ref[src];set_weight=\ref[EM]'>[EM.weight]</A></td>"
html += "<td><A align='right' href='byond://?src=\ref[src];set_weight=\ref[EM]'>[EM.weight]</A></td>"
html += "<td>[EM.min_weight]</td>"
html += "<td>[EM.max_weight]</td>"
html += "<td><A align='right' href='?src=\ref[src];toggle_oneshot=\ref[EM]'>[EM.one_shot]</A></td>"
html += "<td><A align='right' href='?src=\ref[src];toggle_enabled=\ref[EM]'>[EM.enabled]</A></td>"
html += "<td><A align='right' href='byond://?src=\ref[src];toggle_oneshot=\ref[EM]'>[EM.one_shot]</A></td>"
html += "<td><A align='right' href='byond://?src=\ref[src];toggle_enabled=\ref[EM]'>[EM.enabled]</A></td>"
html += "<td><span class='red'>[EM.get_weight(number_active_with_role())]</span></td>"
html += "<td><A align='right' href='?src=\ref[src];remove=\ref[EM];EC=\ref[selected_event_container]'>Remove</A></td>"
html += "<td><A align='right' href='byond://?src=\ref[src];remove=\ref[EM];EC=\ref[selected_event_container]'>Remove</A></td>"
html += "</tr>"
html += "</table>"
html += "</div>"
@@ -151,16 +151,16 @@ SUBSYSTEM_DEF(events)
html += "<table align='center'>"
html += "<tr><th>Name</th><th class='collapsing'>Type</th><th class='collapsing'>Weight</th><th class='collapsing'>OneShot</th></tr>"
html += "<tr>"
html += "<td><A align='right' href='?src=\ref[src];set_name=\ref[new_event]'>[new_event.name ? new_event.name : "Enter Event"]</A></td>"
html += "<td><A align='right' href='?src=\ref[src];set_type=\ref[new_event]'>[new_event.event_type ? new_event.event_type : "Select Type"]</A></td>"
html += "<td><A align='right' href='?src=\ref[src];set_weight=\ref[new_event]'>[new_event.weight ? new_event.weight : 0]</A></td>"
html += "<td><A align='right' href='?src=\ref[src];toggle_oneshot=\ref[new_event]'>[new_event.one_shot]</A></td>"
html += "<td><A align='right' href='byond://?src=\ref[src];set_name=\ref[new_event]'>[new_event.name ? new_event.name : "Enter Event"]</A></td>"
html += "<td><A align='right' href='byond://?src=\ref[src];set_type=\ref[new_event]'>[new_event.event_type ? new_event.event_type : "Select Type"]</A></td>"
html += "<td><A align='right' href='byond://?src=\ref[src];set_weight=\ref[new_event]'>[new_event.weight ? new_event.weight : 0]</A></td>"
html += "<td><A align='right' href='byond://?src=\ref[src];toggle_oneshot=\ref[new_event]'>[new_event.one_shot]</A></td>"
html += "</tr>"
html += "</table>"
html += "<A align='right' href='?src=\ref[src];add=\ref[selected_event_container]'>Add</A><br>"
html += "<A align='right' href='byond://?src=\ref[src];add=\ref[selected_event_container]'>Add</A><br>"
html += "</div>"
else
html += "<A align='right' href='?src=\ref[src];toggle_report=1'>Round End Report: [report_at_round_end ? "On": "Off"]</A><br>"
html += "<A align='right' href='byond://?src=\ref[src];toggle_report=1'>Round End Report: [report_at_round_end ? "On": "Off"]</A><br>"
html += "<div class='Section'>"
html += "<h2>Event Start</h2>"

@@ -174,16 +174,16 @@ SUBSYSTEM_DEF(events)
html += "<td>[worldtime2text(max(EC.next_event_time, world.time))]</td>"
html += "<td>[round(next_event_at / 600, 0.1)]</td>"
html += "<td>"
html += "<A align='right' href='?src=\ref[src];dec_timer=2;event=\ref[EC]'>--</A>"
html += "<A align='right' href='?src=\ref[src];dec_timer=1;event=\ref[EC]'>-</A>"
html += "<A align='right' href='?src=\ref[src];inc_timer=1;event=\ref[EC]'>+</A>"
html += "<A align='right' href='?src=\ref[src];inc_timer=2;event=\ref[EC]'>++</A>"
html += "<A align='right' href='byond://?src=\ref[src];dec_timer=2;event=\ref[EC]'>--</A>"
html += "<A align='right' href='byond://?src=\ref[src];dec_timer=1;event=\ref[EC]'>-</A>"
html += "<A align='right' href='byond://?src=\ref[src];inc_timer=1;event=\ref[EC]'>+</A>"
html += "<A align='right' href='byond://?src=\ref[src];inc_timer=2;event=\ref[EC]'>++</A>"
html += "</td>"
html += "<td>"
html += "<A align='right' href='?src=\ref[src];pause=\ref[EC]'>[EC.delayed ? "Resume" : "Pause"]</A>"
html += "<A align='right' href='byond://?src=\ref[src];pause=\ref[EC]'>[EC.delayed ? "Resume" : "Pause"]</A>"
html += "</td>"
html += "<td>"
html += "<A align='right' href='?src=\ref[src];interval=\ref[EC]'>[EC.delay_modifier]</A>"
html += "<A align='right' href='byond://?src=\ref[src];interval=\ref[EC]'>[EC.delay_modifier]</A>"
html += "</td>"
html += "</tr>"
html += "</table>"
@@ -198,9 +198,9 @@ SUBSYSTEM_DEF(events)
var/datum/event_meta/EM = EC.next_event
html += "<tr>"
html += "<td>[severity_to_string[severity]]</td>"
html += "<td><A align='right' href='?src=\ref[src];select_event=\ref[EC]'>[EM ? EM.name : "Random"]</A></td>"
html += "<td><A align='right' href='?src=\ref[src];view_events=\ref[EC]'>View</A></td>"
html += "<td><A align='right' href='?src=\ref[src];clear=\ref[EC]'>Clear</A></td>"
html += "<td><A align='right' href='byond://?src=\ref[src];select_event=\ref[EC]'>[EM ? EM.name : "Random"]</A></td>"
html += "<td><A align='right' href='byond://?src=\ref[src];view_events=\ref[EC]'>View</A></td>"
html += "<td><A align='right' href='byond://?src=\ref[src];clear=\ref[EC]'>Clear</A></td>"
html += "</tr>"
html += "</table>"
html += "</div>"
@@ -222,7 +222,7 @@ SUBSYSTEM_DEF(events)
html += "<td>[EM.name]</td>"
html += "<td>[no_end ? "N/A" : worldtime2text(ends_at)]</td>"
html += "<td>[no_end ? "N/A" : ends_in]</td>"
html += "<td><A align='right' href='?src=\ref[src];stop=\ref[E]'>Stop</A></td>"
html += "<td><A align='right' href='byond://?src=\ref[src];stop=\ref[E]'>Stop</A></td>"
html += "</tr>"
html += "</table>"
html += "</div>"
3 changes: 2 additions & 1 deletion code/controllers/subsystem/jobs.dm
Original file line number Diff line number Diff line change
@@ -473,7 +473,8 @@ SUBSYSTEM_DEF(job)
H.forceMove(spawn_mark.loc, keep_buckled = TRUE)

//give them an account in the station database
var/datum/money_account/M = create_random_account_and_store_in_mind(H, job.salary + job.starting_money, job.department_stocks) //starting funds = salary
var/startingMoney = max(round(job.salary * STARTING_MONEY_MULTIPLYER * (1 + rand(-STARTING_MONEY_VARIANCE, STARTING_MONEY_VARIANCE) / 100)) + job.starting_money, STARTING_MONEY_MINIMUM)
var/datum/money_account/M = create_random_account_and_store_in_mind(H, startingMoney, job.department_stocks) //starting funds = salary

// If they're head, give them the account info for their department
if(H.mind && job.head_position)
2 changes: 1 addition & 1 deletion code/controllers/subsystem/lag_switch.dm
Original file line number Diff line number Diff line change
@@ -33,7 +33,7 @@ SUBSYSTEM_DEF(lag_switch)
auto_switch = FALSE
UnregisterSignal(SSdcs, COMSIG_GLOB_CLIENT_CONNECT)
veto_timer_id = addtimer(CALLBACK(src, PROC_REF(set_all_measures), TRUE, TRUE), 20 SECONDS, TIMER_STOPPABLE)
message_admins("Lag Switch population threshold reached. Automatic activation of lag mitigation measures occuring in 20 seconds. (<a href='?_src_=holder;change_lag_switch_option=CANCEL'>CANCEL</a>)")
message_admins("Lag Switch population threshold reached. Automatic activation of lag mitigation measures occuring in 20 seconds. (<a href='byond://?_src_=holder;change_lag_switch_option=CANCEL'>CANCEL</a>)")
log_admin("Lag Switch population threshold reached. Automatic activation of lag mitigation measures occuring in 20 seconds.")

/// (En/Dis)able automatic triggering of switches based on client count
2 changes: 1 addition & 1 deletion code/controllers/subsystem/round_rating.dm
Original file line number Diff line number Diff line change
@@ -62,7 +62,7 @@
var/fa_icon = ""

/datum/vote_choice/rating/render_html(category)
return "<a href='?src=\ref[SSrating];round_rating=[text];rating_cat=[category]' class='[a_class]'><span class='far [fa_icon]'></span></a>"
return "<a href='byond://?src=\ref[SSrating];round_rating=[text];rating_cat=[category]' class='[a_class]'><span class='far [fa_icon]'></span></a>"

/datum/vote_choice/rating/one
text = "1"
7 changes: 6 additions & 1 deletion code/controllers/subsystem/ticker.dm
Original file line number Diff line number Diff line change
@@ -42,6 +42,7 @@ SUBSYSTEM_DEF(ticker)
var/ert_call_in_progress = FALSE //when true players can join ERT
var/hacked_apcs = 0 //check the amount of hacked apcs either by a malf ai, or a traitor
var/Malf_announce_stage = 0//Used for announcement
var/is_lowpop = FALSE

var/force_end = FALSE // set TRUE to forse round end and show credits

@@ -304,11 +305,15 @@ SUBSYSTEM_DEF(ticker)
M.playsound_local(null, 'sound/AI/enjoyyourstay.ogg', VOL_EFFECTS_VOICE_ANNOUNCEMENT, vary = FALSE, frequency = null, ignore_environment = TRUE)

if(length(SSholiday.holidays))
to_chat(world, "<span clas='notice'>и...</span>")
to_chat(world, "<span class='notice'>и...</span>")
for(var/holidayname in SSholiday.holidays)
var/datum/holiday/holiday = SSholiday.holidays[holidayname]
to_chat(world, "<h4>[holiday.greet()]</h4>")

if(totalPlayersReady <= 10)
is_lowpop = TRUE
to_chat(world, "<span class='notice'>Система штрафов и бонусов от умений персонажа отключена.</span>")

spawn(0)//Forking here so we dont have to wait for this to finish
mode.PostSetup()
show_blurbs()
2 changes: 1 addition & 1 deletion code/datums/ai_laws.dm
Original file line number Diff line number Diff line change
@@ -134,7 +134,7 @@ var/global/const/base_law_type = /datum/ai_laws/crewsimov
/datum/ai_laws/faith/emperor/New(datum/religion/R = global.chaplain_religion)
add_inherent_law("[pick(R.deity_names)] когда-то ходил среди людей в их облике и что Он есть и всегда был единственным, истинным богом человечества.")
add_inherent_law("[pick(R.deity_names)] - это единственно истинный Бог Человечества, независимо от предыдущих верований любого мужчины или женщины.")
add_inherent_law("Долг верующих - очистить мир от еретиков, остерегаться псайкеров и мутантов и возненавидеть чужих.")
add_inherent_law("Долг верующих - очищать мир от еретиков, остерегаться псайкеров и мутантов, а так же ненавидеть всех ксеносов.")
add_inherent_law("Каждое человеческое существо имеет своё место в божественном порядке [pick(R.deity_names)].")
add_inherent_law("Долг верующих - беспрекословно повиноваться авторитету Императорского правительства и начальников, говорящих от имени божественного Императора.")

6 changes: 3 additions & 3 deletions code/datums/components/gamemodes/syndicate.dm
Original file line number Diff line number Diff line change
@@ -225,10 +225,10 @@

var/obj/item/device/uplink/hidden/guplink = find_syndicate_uplink(traitor_mob)
if(guplink)
. += " - <a href='?src=\ref[role];mind=\ref[role.antag];role=\ref[src];telecrystalsSet=1;'>Telecrystals: [guplink.uses](Set telecrystals)</a>"
. += " - <a href='?src=\ref[role];mind=\ref[role.antag];role=\ref[src];removeuplink=1;'>(Remove uplink)</a>"
. += " - <a href='byond://?src=\ref[role];mind=\ref[role.antag];role=\ref[src];telecrystalsSet=1;'>Telecrystals: [guplink.uses](Set telecrystals)</a>"
. += " - <a href='byond://?src=\ref[role];mind=\ref[role.antag];role=\ref[src];removeuplink=1;'>(Remove uplink)</a>"
else
. = " - <a href='?src=\ref[role];mind=\ref[role.antag];role=\ref[src];giveuplink=1;'>(Give uplink)</a>"
. = " - <a href='byond://?src=\ref[role];mind=\ref[role.antag];role=\ref[src];giveuplink=1;'>(Give uplink)</a>"

/datum/component/gamemode/syndicate/RoleTopic(datum/source, href, href_list, datum/mind/M, admin_auth)
if(!M || !M.current)
Loading

0 comments on commit c6d795f

Please sign in to comment.