Skip to content

Commit 00a7356

Browse files
authored
Merge branch 'master220' into autoobserve-smallrefactor
2 parents 5522bd1 + 8c4abc8 commit 00a7356

File tree

16 files changed

+100
-81
lines changed

16 files changed

+100
-81
lines changed

code/__DEFINES/language.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#define LANGUAGE_XENOS "Ксеноморфский"
2424
#define LANGUAGE_HIVE_XENOS "Разум улья Ксеноморфов"
2525
#define LANGUAGE_HIVE_TERRORSPIDER "Разум улья Пауков Ужаса"
26-
#define LANGUAGE_HIVE_CHANGELING "Разум улья генокрадов"
26+
#define LANGUAGE_HIVE_CHANGELING "Коллективный разум Генокрадов"
2727
#define LANGUAGE_HIVE_EVENTLING "Инфильтрованный коллективный разум Генокрадов"
2828
#define LANGUAGE_HIVE_SHADOWLING "Коллективный разум Тенеморфов"
2929
#define LANGUAGE_HIVE_ABDUCTOR "Псисвязь Абдукторов"

code/datums/browser.dm

+4-4
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,17 @@
3636
ref = WEAKREF(nref)
3737

3838
/datum/browser/proc/set_title(ntitle)
39-
title = islist(ntitle) ? ntitle : list(ntitle)
39+
title = ntitle
4040

4141
/datum/browser/proc/user_deleted(datum/source)
4242
SIGNAL_HANDLER
4343
user = null
4444

4545
/datum/browser/proc/add_head_content(nhead_content)
46-
head_content = islist(nhead_content) ? nhead_content : list(nhead_content)
46+
head_content =islist(nhead_content) ? nhead_content : list(nhead_content)
4747

4848
/datum/browser/proc/set_window_options(nwindow_options)
49-
window_options = islist(nwindow_options) ? nwindow_options : list(nwindow_options)
49+
window_options = nwindow_options
5050

5151
/datum/browser/proc/add_stylesheet(name, file)
5252
if (istype(name, /datum/asset/spritesheet))
@@ -155,7 +155,7 @@
155155
/datum/browser/proc/setup_onclose()
156156
set waitfor = 0 //winexists sleeps, so we don't need to.
157157
for (var/i in 1 to 10)
158-
if (user?.client && winexists(user, window_id))
158+
if ((isclient(user) || user?.client) && winexists(user, window_id))
159159
var/atom/send_ref
160160
if(ref)
161161
send_ref = ref.resolve()

code/game/mecha/equipment/tools/work_tools.dm

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
return FALSE
2323
if(isobj(target))
2424
var/obj/O = target
25+
if(ismecha(O) || isspacepod(O)) //no fun allowed
26+
return FALSE
2527
if(!O.anchored)
2628
if(length(chassis.cargo) < chassis.cargo_capacity)
2729
chassis.visible_message("[chassis] lifts [target] and starts to load it into cargo compartment.")

code/game/objects/items/weapons/storage/boxes.dm

+5-5
Original file line numberDiff line numberDiff line change
@@ -1575,11 +1575,11 @@
15751575
name = "\improper Security Bombsuit"
15761576
desc = "It's a box with explosion-protective suit."
15771577

1578-
/obj/item/storage/box/bombclosetsecurity/populate_contents()
1579-
new /obj/item/clothing/suit/bomb_suit/security( src )
1580-
new /obj/item/clothing/under/rank/security( src )
1581-
new /obj/item/clothing/shoes/brown( src )
1582-
new /obj/item/clothing/head/bomb_hood/security( src )
1578+
/obj/item/storage/box/bombsecurity/populate_contents()
1579+
new /obj/item/clothing/suit/bomb_suit/security(src)
1580+
new /obj/item/clothing/under/rank/security(src)
1581+
new /obj/item/clothing/shoes/brown(src)
1582+
new /obj/item/clothing/head/bomb_hood/security(src)
15831583

15841584
/*
15851585
* Plant DNA Disks Box

code/modules/admin/admin_ranks.dm

+2
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,8 @@ GLOBAL_PROTECT(admin_ranks) // this shit is being protected for obvious reasons
129129
var/rights = query.item[4]
130130
if(istext(rights)) rights = text2num(rights)
131131
var/datum/admins/D = new /datum/admins(rank, rights, ckey)
132+
GLOB.de_admins -= ckey
133+
GLOB.de_mentors -= ckey
132134

133135
if(D.rights & R_DEBUG || D.rights & R_VIEWRUNTIMES) // Grants profiler access to anyone with R_DEBUG or R_VIEWRUNTIMES
134136
world.SetConfig("APP/admin", ckey, "role=admin")

code/modules/admin/admin_verbs.dm

+4-4
Original file line numberDiff line numberDiff line change
@@ -1045,12 +1045,12 @@ GLOBAL_LIST_INIT(view_runtimes_verbs, list(
10451045

10461046
log_admin("[key_name(usr)] deadmined themself.")
10471047
message_admins("[key_name_admin(usr)] deadmined themself.")
1048-
deadmin()
1049-
add_verb(src, /client/proc/readmin)
10501048
if(check_rights(R_ADMIN, FALSE))
1051-
GLOB.de_admins += ckey
1049+
GLOB.de_admins |= ckey
10521050
else
1053-
GLOB.de_mentors += ckey
1051+
GLOB.de_mentors |= ckey
1052+
deadmin()
1053+
add_verb(src, /client/proc/readmin)
10541054
update_active_keybindings()
10551055
to_chat(src, "<span class='interface'>You are now a normal player.</span>", confidential=TRUE)
10561056
SSblackbox.record_feedback("tally", "admin_verb", 1, "De-admin") //If you are copy-pasting this, ensure the 4th parameter is unique to the new proc!

code/modules/antagonists/terror_spiders/spider_team.dm

+9-9
Original file line numberDiff line numberDiff line change
@@ -207,19 +207,19 @@ GLOBAL_VAR_INIT(global_degenerate, FALSE)
207207
to_chat(world, "<b>Пауки Ужаса не были истреблены.</b>")
208208
to_chat(world, "<b>Целями Пауков Ужаса было:</b>")
209209
if(prince_target)
210-
to_chat(world, "<br/>Цель Принца: [prince_target.explanation_text] [prince_target.check_completion()?"<font color='green'><b>Успех!</b></font>": "<font color='red'>Провал.</font>"]")
211-
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[prince_target.type]", prince_target.check_completion()? "SUCCESS" : "FAIL"))
210+
to_chat(world, "<br/>Цель Принца: [prince_target.explanation_text] [prince_target.completed?"<font color='green'><b>Успех!</b></font>": "<font color='red'>Провал.</font>"]")
211+
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[prince_target.type]", prince_target.completed? "SUCCESS" : "FAIL"))
212212
if(infect_target)
213-
to_chat(world, "<br/>Цель Осквернителя: [infect_target.explanation_text] [infect_target.check_completion()?"<font color='green'><b>Успех!</b></font>": "<font color='red'>Провал.</font>"]")
214-
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[infect_target.type]", infect_target.check_completion()? "SUCCESS" : "FAIL"))
213+
to_chat(world, "<br/>Цель Осквернителя: [infect_target.explanation_text] [infect_target.check_completion(src)?"<font color='green'><b>Успех!</b></font>": "<font color='red'>Провал.</font>"]")
214+
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[infect_target.type]", infect_target.check_completion(src)? "SUCCESS" : "FAIL"))
215215
if(lay_eggs_target)
216-
to_chat(world, "<br/>Цель Принцессы/Королевы: [lay_eggs_target.explanation_text] [lay_eggs_target.check_completion()?"<font color='green'><b>Успех!</b></font>": "<font color='red'>Провал.</font>"]")
217-
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[lay_eggs_target.type]", lay_eggs_target.check_completion()? "SUCCESS" : "FAIL"))
216+
to_chat(world, "<br/>Цель Принцессы/Королевы: [lay_eggs_target.explanation_text] [lay_eggs_target.check_completion(src)?"<font color='green'><b>Успех!</b></font>": "<font color='red'>Провал.</font>"]")
217+
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[lay_eggs_target.type]", lay_eggs_target.check_completion(src)? "SUCCESS" : "FAIL"))
218218
if(other_target)
219-
to_chat(world, "<br/>Цель Пауков Ужаса: [other_target.explanation_text] [other_target.check_completion()?"<font color='green'><b>Успех!</b></font>": "<font color='red'>Провал.</font>"]")
220-
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[other_target.type]", other_target.check_completion()? "SUCCESS" : "FAIL"))
219+
to_chat(world, "<br/>Цель Пауков Ужаса: [other_target.explanation_text] [other_target.check_completion(src)?"<font color='green'><b>Успех!</b></font>": "<font color='red'>Провал.</font>"]")
220+
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[other_target.type]", other_target.check_completion(src)? "SUCCESS" : "FAIL"))
221221
if(protect_egg)
222-
var/completed = protect_egg.check_completion() && (!SSticker?.mode?.station_was_nuked || terror_stage == TERROR_STAGE_POST_END)
222+
var/completed = protect_egg.check_completion(src) && (!SSticker?.mode?.station_was_nuked || terror_stage == TERROR_STAGE_POST_END)
223223
to_chat(world, "<br/>Защита яйца: [protect_egg.explanation_text] [completed ?"<font color='green'><b>Успех!</b></font>": "<font color='red'>Провал.</font>"]")
224224
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[protect_egg.type]", completed ? "SUCCESS" : "FAIL"))
225225
return TRUE

code/modules/antagonists/terror_spiders/terror_spider_actions.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
to_chat(usr, span_warning("Вы или кто-то из вашего гнезда уже отложили яйцо Императрицы."))
1818
return
1919

20-
if(team.protect_egg.check_completion())
20+
if(!team.protect_egg && team.protect_egg.check_completion())
2121
to_chat(usr, span_warning("Императрица уже вылупилась. Вы не можете отложить еще одно яйцо."))
2222
return
2323

code/modules/antagonists/terror_spiders/terror_spider_objectives.dm

+3-3
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575

7676
if(alife_count >= targets_need)
7777
completed = TRUE
78-
spider_team.other_target?.check_completion()
78+
spider_team.other_target?.check_completion(spider_team)
7979
return TRUE
8080
return .
8181

@@ -94,7 +94,7 @@
9494

9595
if(spider_team?.terror_infections.len >= targets_need)
9696
completed = TRUE
97-
spider_team?.other_target?.check_completion()
97+
spider_team?.other_target?.check_completion(spider_team)
9898
return TRUE
9999
return .
100100

@@ -114,6 +114,6 @@
114114

115115
if(human_count >= targets_need)
116116
completed = TRUE
117-
spider_team?.other_target?.check_completion()
117+
spider_team?.other_target?.check_completion(spider_team)
118118
return TRUE
119119
return .

code/modules/client/client_procs.dm

+14-9
Original file line numberDiff line numberDiff line change
@@ -500,18 +500,23 @@
500500
/client/proc/send_to_server_by_url(url)
501501
if (!url)
502502
return
503-
src << browse({"
504-
<a id='link' href='[url]'>
505-
LINK
503+
var/datum/browser/browser = new(src, "redirect_[url]", null, 400, 400)
504+
browser.set_window_options("border=0;titlebar=0;focus=1;can_close=0;can_resize=0;")
505+
browser.set_content({"
506+
<h1>Вы перенаправлены на сервер [url].<br> Нажмите на ссылку, если переход не произошел автоматически.</h1>
507+
<a id='link' href='[url]' style='text-align: center; width=100%;' onclick='closeByond()' >
508+
Ссылка
506509
</a>
507-
<script type='text/javascript'>
508-
document.getElementById("link").click();
509-
window.location="byond://winset?command=.quit"
510+
<script type='text/javascript'>
511+
function closeByond(){
512+
window.location="byond://winset?command=.quit"
513+
}
514+
document.getElementById("link").click();
510515
</script>
511-
"},
512-
"border=0;titlebar=0;size=1x1"
513-
)
516+
"})
517+
browser.open(FALSE)
514518
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), 20)
519+
515520

516521
/client/proc/log_client_to_db(connectiontopic)
517522
set waitfor = FALSE // This needs to run async because any sleep() inside /client/New() breaks stuff badly

0 commit comments

Comments
 (0)