[MIRROR] browse to browser continued (#11088)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-06-18 13:11:21 -07:00
committed by GitHub
parent 2a0bb3120b
commit 590a653d5a
38 changed files with 203 additions and 319 deletions

View File

@@ -217,7 +217,11 @@
to_chat(O, span_infoplain(span_bold("[U]") + " holds \a [itemname] up to one of your cameras ...")) to_chat(O, span_infoplain(span_bold("[U]") + " holds \a [itemname] up to one of your cameras ..."))
else else
to_chat(O, span_infoplain(span_bold("<a href='byond://?src=\ref[O];track2=\ref[O];track=\ref[U];trackname=[U.name]'>[U]</a>") + " holds \a [itemname] up to one of your cameras ...")) to_chat(O, span_infoplain(span_bold("<a href='byond://?src=\ref[O];track2=\ref[O];track=\ref[U];trackname=[U.name]'>[U]</a>") + " holds \a [itemname] up to one of your cameras ..."))
O << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", itemname, info), text("window=[]", itemname))
var/datum/browser/popup = new(O, itemname, itemname)
popup.add_head_content("<TITLE>[itemname]</TITLE>")
popup.set_content("<TT>[info]</TT>")
popup.open()
else if (istype(W, /obj/item/camera_bug)) else if (istype(W, /obj/item/camera_bug))
if (!src.can_use()) if (!src.can_use())

View File

@@ -242,7 +242,7 @@
if(stat & (BROKEN|NOPOWER)) if(stat & (BROKEN|NOPOWER))
return return
user.set_machine(src) user.set_machine(src)
var/dat = span_bold("Magnetic Control Console") + "<BR><BR>" var/dat = ""
if(!autolink) if(!autolink)
dat += {" dat += {"
Frequency: <a href='byond://?src=\ref[src];operation=setfreq'>[frequency]</a><br> Frequency: <a href='byond://?src=\ref[src];operation=setfreq'>[frequency]</a><br>
@@ -263,8 +263,9 @@
dat += "Moving: <a href='byond://?src=\ref[src];operation=togglemoving'>[moving ? "Enabled":"Disabled"]</a>" dat += "Moving: <a href='byond://?src=\ref[src];operation=togglemoving'>[moving ? "Enabled":"Disabled"]</a>"
user << browse("<html>[dat]</html>", "window=magnet;size=400x500") var/datum/browser/popup = new(user, "magnet", "Magnetic Control Console", 400, 500)
onclose(user, "magnet") popup.set_content(dat)
popup.open()
/obj/machinery/magnetic_controller/Topic(href, href_list) /obj/machinery/magnetic_controller/Topic(href, href_list)
if(stat & (BROKEN|NOPOWER)) if(stat & (BROKEN|NOPOWER))

View File

@@ -56,9 +56,10 @@ Please wait until completion...</TT><BR>
<A href='byond://?src=\ref[src];make=7'>Robot Frame (75,000 cc metal).<BR> <A href='byond://?src=\ref[src];make=7'>Robot Frame (75,000 cc metal).<BR>
"} "}
user << browse("<html><HEAD><TITLE>Robotic Fabricator Control Panel</TITLE></HEAD><TT>[dat]</TT></html>", "window=robot_fabricator") var/datum/browser/popup = new(user, "robot_fabricator", "Robot Fabricator")
onclose(user, "robot_fabricator") popup.add_head_content("<TITLE>Robotic Fabricator Control Panel</TITLE>")
return popup.set_content("<TT>[dat]</TT>")
popup.open()
/obj/machinery/robotic_fabricator/Topic(href, href_list) /obj/machinery/robotic_fabricator/Topic(href, href_list)
if(..()) if(..())

View File

@@ -32,8 +32,10 @@
if(!selfdestructing) if(!selfdestructing)
dat += "<br><br><A href='byond://?src=\ref[src];betraitor=1;traitormob=\ref[user]'>\"[pick("I want to switch teams.", "I want to work for you.", "Let me join you.", "I can be of use to you.", "You want me working for you, and here's why...", "Give me an objective.", "How's the 401k over at the Syndicate?")]\"</A><BR>" dat += "<br><br><A href='byond://?src=\ref[src];betraitor=1;traitormob=\ref[user]'>\"[pick("I want to switch teams.", "I want to work for you.", "Let me join you.", "I can be of use to you.", "You want me working for you, and here's why...", "Give me an objective.", "How's the 401k over at the Syndicate?")]\"</A><BR>"
dat += temptext dat += temptext
user << browse("<html>[dat]</html>", "window=syndbeacon")
onclose(user, "syndbeacon") var/datum/browser/popup = new(user, "syndbeacon", "Ominous Beacon")
popup.set_content(dat)
popup.open()
/obj/machinery/syndicate_beacon/Topic(href, href_list) /obj/machinery/syndicate_beacon/Topic(href, href_list)
if(..()) if(..())

View File

@@ -16,8 +16,10 @@
if(!selfdestructing) if(!selfdestructing)
dat += "<br><br><A href='byond://?src=\ref[src];betraitor=1;traitormob=\ref[user]'>\"[pick("Send me some supplies!", "Transfer supplies.")]\"</A><BR>" dat += "<br><br><A href='byond://?src=\ref[src];betraitor=1;traitormob=\ref[user]'>\"[pick("Send me some supplies!", "Transfer supplies.")]\"</A><BR>"
dat += temptext dat += temptext
user << browse("<html>[dat]</html>", "window=syndbeacon")
onclose(user, "syndbeacon") var/datum/browser/popup = new(user, "syndbeacon", "Ominous Beacon")
popup.set_content(dat)
popup.open()
/obj/machinery/syndicate_beacon/virgo/Topic(href, href_list) /obj/machinery/syndicate_beacon/virgo/Topic(href, href_list)
if(href_list["betraitor"]) if(href_list["betraitor"])

View File

@@ -42,9 +42,10 @@
if(src.occupant) if(src.occupant)
dat += "[src.ready ? "<A href='byond://?src=\ref[src];implant=1'>Implant</A>" : "Recharging"]<BR>" dat += "[src.ready ? "<A href='byond://?src=\ref[src];implant=1'>Implant</A>" : "Recharging"]<BR>"
user.set_machine(src) user.set_machine(src)
user << browse("<html>[dat]</html>", "window=implant")
onclose(user, "implant")
var/datum/browser/popup = new(user, "implant", "Implant")
popup.set_content(dat)
popup.open()
/obj/machinery/implantchair/Topic(href, href_list) /obj/machinery/implantchair/Topic(href, href_list)
if((get_dist(src, usr) <= 1) || isAI(usr)) if((get_dist(src, usr) <= 1) || isAI(usr))

View File

@@ -26,9 +26,10 @@
dat += span_bold("Four uses use them wisely:") + "<BR>" dat += span_bold("Four uses use them wisely:") + "<BR>"
dat += "<A href='byond://?src=\ref[src];spell_teleport=1'>Teleport</A><BR>" dat += "<A href='byond://?src=\ref[src];spell_teleport=1'>Teleport</A><BR>"
dat += "Kind regards,<br>Wizards Federation<br><br>P.S. Don't forget to bring your gear, you'll need it to cast most spells.<HR>" dat += "Kind regards,<br>Wizards Federation<br><br>P.S. Don't forget to bring your gear, you'll need it to cast most spells.<HR>"
user << browse("<html>[dat]</html>", "window=scroll")
onclose(user, "scroll") var/datum/browser/popup = new(user, "scroll", "Scroll")
return popup.set_content(dat)
popup.open()
/obj/item/teleportation_scroll/Topic(href, href_list) /obj/item/teleportation_scroll/Topic(href, href_list)
..() ..()

View File

@@ -483,4 +483,6 @@
output += "</table></div>" output += "</table></div>"
qdel(select_query) qdel(select_query)
usr << browse("<html>[output]</html>","window=lookupbans;size=900x700") var/datum/browser/popup = new(owner, "lookupbans", "Lookup Bans", 900, 700)
popup.set_content(output)
popup.open()

View File

@@ -190,7 +190,10 @@ var/savefile/Banlist
dat += "</table>" dat += "</table>"
dat = "<HR>" + span_bold("Bans:") + " " + span_blue("(U) = Unban , (E) = Edit Ban") + " - " + span_green("([count] Bans)") + "<HR><table border=1 rules=all frame=void cellspacing=0 cellpadding=3 >[dat]" dat = "<HR>" + span_bold("Bans:") + " " + span_blue("(U) = Unban , (E) = Edit Ban") + " - " + span_green("([count] Bans)") + "<HR><table border=1 rules=all frame=void cellspacing=0 cellpadding=3 >[dat]"
usr << browse("<html>[dat]</html>", "window=unbanp;size=875x400")
var/datum/browser/popup = new(owner, "unbanp", "Unban", 875, 400)
popup.set_content(dat)
popup.open()
//////////////////////////////////// DEBUG //////////////////////////////////// //////////////////////////////////// DEBUG ////////////////////////////////////

View File

@@ -67,7 +67,11 @@
dat = "<table width='100%'>[dat]</table>" dat = "<table width='100%'>[dat]</table>"
else else
dat = "No addresses in list." dat = "No addresses in list."
src << browse("<html>[dat]</html>","window=ToRban_show")
var/datum/browser/popup = new(src, "ToRban_show", "Torban")
popup.set_content(dat)
popup.open()
if("remove") if("remove")
var/savefile/F = new(TORFILE) var/savefile/F = new(TORFILE)
var/choice = tgui_input_list(src,"Please select an IP address to remove from the ToR banlist:","Remove ToR ban", F.dir) var/choice = tgui_input_list(src,"Please select an IP address to remove from the ToR banlist:","Remove ToR ban", F.dir)

View File

@@ -53,8 +53,7 @@ GLOBAL_VAR_INIT(floorIsLava, 0)
to_chat(usr, "Error: you are not an admin!") to_chat(usr, "Error: you are not an admin!")
return return
var/body = "<html><head><title>Options for [M.key]</title></head>" var/body = "Options panel for" + span_bold("[M]")
body += "<body>Options panel for" + span_bold("[M]")
if(M.client) if(M.client)
body += " played by " + span_bold("[M.client]") body += " played by " + span_bold("[M.client]")
body += "\[<A href='byond://?src=\ref[src];[HrefToken()];editrights=show'>[M.client.holder ? M.client.holder.rank_names() : "Player"]</A>\]" body += "\[<A href='byond://?src=\ref[src];[HrefToken()];editrights=show'>[M.client.holder ? M.client.holder.rank_names() : "Player"]</A>\]"
@@ -236,11 +235,13 @@ GLOBAL_VAR_INIT(floorIsLava, 0)
else else
body += "<a href='byond://?src=\ref[src];[HrefToken()];toglang=\ref[M];lang=[html_encode(k)]' style='color:#ff0000'>[k]</a>" body += "<a href='byond://?src=\ref[src];[HrefToken()];toglang=\ref[M];lang=[html_encode(k)]' style='color:#ff0000'>[k]</a>"
body += {"<br> body += {"<br>"}
</body></html>
"} var/datum/browser/popup = new(owner, "adminplayeropts", "Edit Player", 550, 515)
popup.add_head_content("<title>Options for [M.key]</title>")
popup.set_content(body)
popup.open()
usr << browse(body, "window=adminplayeropts;size=550x515")
feedback_add_details("admin_verb","SPP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! feedback_add_details("admin_verb","SPP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -314,7 +315,7 @@ GLOBAL_VAR_INIT(floorIsLava, 0)
to_chat(usr, "Error: you are not an admin!") to_chat(usr, "Error: you are not an admin!")
return return
var/dat var/dat
dat = text("<HEAD><TITLE>Admin Newscaster</TITLE></HEAD><H3>Admin Newscaster Unit</H3>") dat = text("<H3>Admin Newscaster Unit</H3>")
switch(admincaster_screen) switch(admincaster_screen)
if(0) if(0)
@@ -547,10 +548,11 @@ GLOBAL_VAR_INIT(floorIsLava, 0)
//to_world("Channelname: [src.admincaster_feed_channel.channel_name] [src.admincaster_feed_channel.author]") //to_world("Channelname: [src.admincaster_feed_channel.channel_name] [src.admincaster_feed_channel.author]")
//to_world("Msg: [src.admincaster_feed_message.author] [src.admincaster_feed_message.body]") //to_world("Msg: [src.admincaster_feed_message.author] [src.admincaster_feed_message.body]")
usr << browse("<html>[dat]</html>", "window=admincaster_main;size=400x600")
onclose(usr, "admincaster_main")
var/datum/browser/popup = new(owner, "admincaster_main", "Admin Newscaster", 400, 600)
popup.add_head_content("<TITLE>Admin Newscaster</TITLE>")
popup.set_content(dat)
popup.open()
/datum/admins/proc/Jobbans() /datum/admins/proc/Jobbans()
if(!check_rights(R_BAN)) return if(!check_rights(R_BAN)) return
@@ -562,13 +564,17 @@ GLOBAL_VAR_INIT(floorIsLava, 0)
r = copytext( r, 1, findtext(r,"##") )//removes the description r = copytext( r, 1, findtext(r,"##") )//removes the description
dat += text("<tr><td>[t] (<A href='byond://?src=\ref[src];[HrefToken()];removejobban=[r]'>unban</A>)</td></tr>") dat += text("<tr><td>[t] (<A href='byond://?src=\ref[src];[HrefToken()];removejobban=[r]'>unban</A>)</td></tr>")
dat += "</table>" dat += "</table>"
usr << browse("<html>[dat]</html>", "window=ban;size=400x400")
var/datum/browser/popup = new(owner, "ban", "Job Bans", 400, 400)
popup.add_head_content("<TITLE>Admin Newscaster</TITLE>")
popup.set_content(dat)
popup.open()
/datum/admins/proc/Game() /datum/admins/proc/Game()
if(!check_rights(0)) return if(!check_rights(0)) return
var/dat = {" var/dat = {"
<html><center>"} + span_bold("Game Panel") + {"</center><hr>\n <center>"} + span_bold("Game Panel") + {"</center><hr>\n
<A href='byond://?src=\ref[src];[HrefToken()];c_mode=1'>Change Game Mode</A><br> <A href='byond://?src=\ref[src];[HrefToken()];c_mode=1'>Change Game Mode</A><br>
"} "}
if(GLOB.master_mode == "secret") if(GLOB.master_mode == "secret")
@@ -582,11 +588,12 @@ GLOBAL_VAR_INIT(floorIsLava, 0)
<A href='byond://?src=\ref[src];[HrefToken()];create_mob=1'>Create Mob</A><br> <A href='byond://?src=\ref[src];[HrefToken()];create_mob=1'>Create Mob</A><br>
<br><A href='byond://?src=\ref[src];[HrefToken()];vsc=airflow'>Edit Airflow Settings</A><br> <br><A href='byond://?src=\ref[src];[HrefToken()];vsc=airflow'>Edit Airflow Settings</A><br>
<A href='byond://?src=\ref[src];[HrefToken()];vsc=phoron'>Edit Phoron Settings</A><br> <A href='byond://?src=\ref[src];[HrefToken()];vsc=phoron'>Edit Phoron Settings</A><br>
<A href='byond://?src=\ref[src];[HrefToken()];vsc=default'>Choose a default ZAS setting</A><br></html> <A href='byond://?src=\ref[src];[HrefToken()];vsc=default'>Choose a default ZAS setting</A><br>
"} "}
usr << browse(dat, "window=admin2;size=210x280") var/datum/browser/popup = new(owner, "admin2", "Game Panel", 210, 280)
return popup.set_content(dat)
popup.open()
/datum/admins/proc/Secrets(var/datum/admin_secret_category/active_category = null) /datum/admins/proc/Secrets(var/datum/admin_secret_category/active_category = null)
if(!check_rights(0)) return if(!check_rights(0)) return
@@ -1255,7 +1262,9 @@ var/datum/announcement/minor/admin_min_announcer = new
out += " None." out += " None."
out += " <a href='byond://?src=\ref[ticker.mode];[HrefToken()];add_antag_type=1'>\[+\]</a><br/>" out += " <a href='byond://?src=\ref[ticker.mode];[HrefToken()];add_antag_type=1'>\[+\]</a><br/>"
usr << browse("<html>[out]</html>", "window=edit_mode[src]") var/datum/browser/popup = new(owner, "edit_mode[src]", "Edit Game Mode")
popup.set_content(out)
popup.open()
feedback_add_details("admin_verb","SGM") feedback_add_details("admin_verb","SGM")

View File

@@ -115,8 +115,9 @@ world/New()
else else
output += "Whoops, no reports!" output += "Whoops, no reports!"
usr << browse("<html>[output]</html>", "window=news;size=600x400") var/datum/browser/popup = new(src, "news", "News", 600, 400)
popup.set_content(output)
popup.open()
/client/proc/Report(mob/M as mob in world) /client/proc/Report(mob/M as mob in world)
set category = "Admin.Moderation" set category = "Admin.Moderation"

View File

@@ -721,8 +721,10 @@ ADMIN_VERB(removetickets, R_ADMIN, "Security Tickets", "Allows one to remove tic
dat += "</table>" dat += "</table>"
qdel(query) qdel(query)
usr << browse("<html>[dat]</html>", "window=library")
onclose(usr, "library") var/datum/browser/popup = new(src, "library", "Delete Book")
popup.set_content(dat)
popup.open()
/client/proc/toggle_spawning_with_recolour() /client/proc/toggle_spawning_with_recolour()
set name = "Toggle Simple/Robot recolour verb" set name = "Toggle Simple/Robot recolour verb"

View File

@@ -232,7 +232,10 @@ var/savefile/Banlistjob
dat += "</table>" dat += "</table>"
dat = "<HR>" + span_bold("Bans:") + " " span_blue("(U) = Unban , ") + " - " + span_green("([count] Bans)") + "<HR><table border=1 rules=all frame=void cellspacing=0 cellpadding=3 >[dat]" dat = "<HR>" + span_bold("Bans:") + " " span_blue("(U) = Unban , ") + " - " + span_green("([count] Bans)") + "<HR><table border=1 rules=all frame=void cellspacing=0 cellpadding=3 >[dat]"
usr << browse("<html>[dat]</html>", "window=unbanp;size=875x400")
var/datum/browser/popup = new(owner, "unbanjob", "Unban Job", 875, 400)
popup.set_content(dat)
popup.open()
/*/datum/admins/proc/permjobban(ckey, computerid, reason, bannedby, temp, minutes, rank) /*/datum/admins/proc/permjobban(ckey, computerid, reason, bannedby, temp, minutes, rank)
if(AddBanjob(ckey, computerid, reason, usr.ckey, 0, 0, job)) if(AddBanjob(ckey, computerid, reason, usr.ckey, 0, 0, job))

View File

@@ -133,7 +133,10 @@
output += "</table></div><div id='top'><b>Search:</b> <input type='text' id='filter' value='' style='width:70%;' onkeyup='updateSearch();'></div></body>" output += "</table></div><div id='top'><b>Search:</b> <input type='text' id='filter' value='' style='width:70%;' onkeyup='updateSearch();'></div></body>"
if(QDELETED(usr)) if(QDELETED(usr))
return return
usr << browse("<!DOCTYPE html><html>[jointext(output, "")]</html>","window=editrights;size=1000x650")
var/datum/browser/popup = new(owner, "editrights", "Edit Rights", 1000, 650)
popup.set_content(jointext(output, ""))
popup.open()
/datum/admins/proc/edit_rights_topic(list/href_list) /datum/admins/proc/edit_rights_topic(list/href_list)
if(!check_rights(R_PERMISSIONS)) if(!check_rights(R_PERMISSIONS))

View File

@@ -9,4 +9,7 @@
var/dat = span_bold("Bombing List") var/dat = span_bold("Bombing List")
for(var/l in GLOB.bombers) for(var/l in GLOB.bombers)
dat += text("[l]<BR>") dat += text("[l]<BR>")
user << browse("<html>[dat]</html>", "window=bombers")
var/datum/browser/popup = new(user, "bombers", "Bombers")
popup.set_content(dat)
popup.open()

View File

@@ -11,4 +11,7 @@
if(H.dna && H.ckey) if(H.dna && H.ckey)
dat += "<tr><td>[H]</td><td>[H.dna.unique_enzymes]</td><td>[H.dna ? H.dna.b_type : DEFAULT_BLOOD_TYPE]</td></tr>" dat += "<tr><td>[H]</td><td>[H.dna.unique_enzymes]</td><td>[H.dna ? H.dna.b_type : DEFAULT_BLOOD_TYPE]</td></tr>"
dat += "</table>" dat += "</table>"
user << browse("<html>[dat]</html>", "window=DNA;size=440x410")
var/datum/browser/popup = new(user, "DNA", "DNA", 440, 410)
popup.set_content(dat)
popup.open()

View File

@@ -16,4 +16,7 @@
else if(!H.dna) else if(!H.dna)
dat += "<tr><td>[H]</td><td>H.dna = null</td></tr>" dat += "<tr><td>[H]</td><td>H.dna = null</td></tr>"
dat += "</table>" dat += "</table>"
user << browse("<html>[dat]</html>", "window=fingerprints;size=440x410")
var/datum/browser/popup = new(user, "fingerprints", "Fingerprints", 440, 410)
popup.set_content(dat)
popup.open()

View File

@@ -9,4 +9,6 @@
dat += "<h4>Crew Manifest</h4>" dat += "<h4>Crew Manifest</h4>"
dat += GLOB.data_core.get_manifest() dat += GLOB.data_core.get_manifest()
user << browse("<html>[dat]</html>", "window=manifest;size=370x420;can_close=1") var/datum/browser/popup = new(user, "manifest", "Manifest", 370, 420)
popup.set_content(dat)
popup.open()

View File

@@ -12,4 +12,7 @@
var/dat = span_bold("Showing last [length(GLOB.lawchanges)] law changes.") + "<HR>" var/dat = span_bold("Showing last [length(GLOB.lawchanges)] law changes.") + "<HR>"
for(var/sig in GLOB.lawchanges) for(var/sig in GLOB.lawchanges)
dat += "[sig]<BR>" dat += "[sig]<BR>"
user << browse("<html>[dat]</html>", "window=GLOB.lawchanges;size=800x500")
var/datum/browser/popup = new(user, "lawchanges", "Lawcahnges", 800, 500)
popup.set_content(dat)
popup.open()

View File

@@ -12,4 +12,7 @@
var/dat = span_bold("Showing last [length(GLOB.lastsignalers)] signalers.") + "<HR>" var/dat = span_bold("Showing last [length(GLOB.lastsignalers)] signalers.") + "<HR>"
for(var/sig in GLOB.lastsignalers) for(var/sig in GLOB.lastsignalers)
dat += "[sig]<BR>" dat += "[sig]<BR>"
user << browse("<html>[dat]</html>", "window=lastsignalers;size=800x500")
var/datum/browser/popup = new(user, "lastsignalers", "Last Signallers", 800, 500)
popup.set_content(dat)
popup.open()

View File

@@ -21,7 +21,9 @@ var/inactive_keys = "None<br>"
else else
dat += "<a href='byond://?src=\ref[src];_src_=holder;[HrefToken()];populate_inactive_customitems=1'>Populate list (requires an active database connection)</a><br>" dat += "<a href='byond://?src=\ref[src];_src_=holder;[HrefToken()];populate_inactive_customitems=1'>Populate list (requires an active database connection)</a><br>"
usr << browse("<html>[dat]</html>", "window=inactive_customitems;size=600x480") var/datum/browser/popup = new(src, "inactive_customitems", "Inactive Custom Items", 600, 480)
popup.set_content(dat)
popup.open()
/proc/populate_inactive_customitems_list(var/client/C) /proc/populate_inactive_customitems_list(var/client/C)
set background = 1 set background = 1

View File

@@ -23,7 +23,7 @@
else else
inactive_on_main_station++ inactive_on_main_station++
var/output = {"<html><B>AIR SYSTEMS REPORT</B><HR> var/output = {"<B>AIR SYSTEMS REPORT</B><HR>
<B>General Processing Data</B><BR> <B>General Processing Data</B><BR>
Cycle: [SSair.current_cycle]<br> Cycle: [SSair.current_cycle]<br>
Groups: [SSair.zones.len]<BR> Groups: [SSair.zones.len]<BR>
@@ -36,10 +36,12 @@
Hotspot Processing: [hotspots]<BR> Hotspot Processing: [hotspots]<BR>
<br> <br>
<B>Geometry Processing Data</B><BR> <B>Geometry Processing Data</B><BR>
Tile Update: [SSair.tiles_to_update.len]<BR></html> Tile Update: [SSair.tiles_to_update.len]<BR>
"} "}
usr << browse(output,"window=airreport") var/datum/browser/popup = new(src, "airreport", "Airreport")
popup.set_content(output)
popup.open()
/client/proc/fix_next_move() /client/proc/fix_next_move()
set category = "Debug.Game" set category = "Debug.Game"
@@ -95,7 +97,9 @@
else else
output += "&nbsp;&nbsp;&nbsp;&nbsp;[device]<br>" output += "&nbsp;&nbsp;&nbsp;&nbsp;[device]<br>"
usr << browse("<html>[output]</html>","window=radioreport") var/datum/browser/popup = new(src, "radioreport", "Radioreport")
popup.set_content(output)
popup.open()
feedback_add_details("admin_verb","RR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! feedback_add_details("admin_verb","RR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/reload_admins() /client/proc/reload_admins()

View File

@@ -78,7 +78,7 @@ GLOBAL_LIST_BOILERPLATE(all_debugging_effects, /obj/effect/debugging)
for(var/obj/machinery/camera/C in cameranet.cameras) for(var/obj/machinery/camera/C in cameranet.cameras)
CL += C CL += C
var/output = {""} + span_bold("CAMERA ANNOMALITIES REPORT") + {"<HR> var/output = span_bold("CAMERA ANNOMALITIES REPORT") + {"<HR>
"} + span_bold("The following annomalities have been detected. The ones in red need immediate attention: Some of those in black may be intentional.") + {"<BR><ul>"} "} + span_bold("The following annomalities have been detected. The ones in red need immediate attention: Some of those in black may be intentional.") + {"<BR><ul>"}
for(var/obj/machinery/camera/C1 in CL) for(var/obj/machinery/camera/C1 in CL)
@@ -102,7 +102,10 @@ GLOBAL_LIST_BOILERPLATE(all_debugging_effects, /obj/effect/debugging)
output += "<li>" + span_red("Camera not connected to wall at \[[C1.x], [C1.y], [C1.z]\] ([C1.loc.loc]) Network: [C1.network]") + "</li>" output += "<li>" + span_red("Camera not connected to wall at \[[C1.x], [C1.y], [C1.z]\] ([C1.loc.loc]) Network: [C1.network]") + "</li>"
output += "</ul>" output += "</ul>"
usr << browse("<html>[output]</html>","window=airreport;size=1000x500")
var/datum/browser/popup = new(src, "airreport", "Airreport", 1000, 500)
popup.set_content(output)
popup.open()
feedback_add_details("admin_verb","mCRP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! feedback_add_details("admin_verb","mCRP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/intercom_view() /client/proc/intercom_view()

View File

@@ -27,9 +27,10 @@
dat += span_bold("Charge progress: [reload]/180:") + "<BR>" dat += span_bold("Charge progress: [reload]/180:") + "<BR>"
dat += "<A href='byond://?src=\ref[src];fire=1'>Open Fire</A><BR>" dat += "<A href='byond://?src=\ref[src];fire=1'>Open Fire</A><BR>"
dat += "Deployment of weapon authorized by <br>[using_map.company_name] Naval Command<br><br>Remember, friendly fire is grounds for termination of your contract and life.<HR>" dat += "Deployment of weapon authorized by <br>[using_map.company_name] Naval Command<br><br>Remember, friendly fire is grounds for termination of your contract and life.<HR>"
user << browse("<html>[dat]</html>", "window=scroll")
onclose(user, "scroll") var/datum/browser/popup = new(user, "artillery", "Artillery")
return popup.set_content(dat)
popup.open()
/obj/machinery/artillerycontrol/Topic(href, href_list) /obj/machinery/artillerycontrol/Topic(href, href_list)
..() ..()

View File

@@ -43,7 +43,10 @@
dat += text("Phoron coins: [amt_phoron] <A href='byond://?src=\ref[src];remove=phoron'>Remove one</A><br>") dat += text("Phoron coins: [amt_phoron] <A href='byond://?src=\ref[src];remove=phoron'>Remove one</A><br>")
if (amt_uranium) if (amt_uranium)
dat += text("Uranium coins: [amt_uranium] <A href='byond://?src=\ref[src];remove=uranium'>Remove one</A><br>") dat += text("Uranium coins: [amt_uranium] <A href='byond://?src=\ref[src];remove=uranium'>Remove one</A><br>")
user << browse("<html>[dat]</html>", "window=moneybag")
var/datum/browser/popup = new(user, "moneybag", "Moneybag")
popup.set_content(dat)
popup.open()
/obj/item/moneybag/attackby(obj/item/W, mob/user) /obj/item/moneybag/attackby(obj/item/W, mob/user)
..() ..()

View File

@@ -88,11 +88,10 @@
dat += "<br>" dat += "<br>"
dat += "<i>Device ID:</i> [machine_id]" dat += "<i>Device ID:</i> [machine_id]"
dat = "<html><head><title>Retail Scanner</title></head><body>[dat]</body></html>" var/datum/browser/popup = new(user, "retail", "Retail", 350, 500)
popup.add_head_content("<title>Retail Scanner</title>")
user << browse(dat, "window=retail;size=350x500") popup.set_content(dat)
onclose(user, "retail") popup.open()
/obj/item/retail_scanner/Topic(var/href, var/href_list) /obj/item/retail_scanner/Topic(var/href, var/href_list)
if(..()) if(..())

View File

@@ -22,7 +22,10 @@
t += "#[i] | [display_data(line)] | " t += "#[i] | [display_data(line)] | "
t += "<a href='byond://?src=\ref[src];edit=1;pos=[i]'>\[Edit\]</a> | " t += "<a href='byond://?src=\ref[src];edit=1;pos=[i]'>\[Edit\]</a> | "
t += "<a href='byond://?src=\ref[src];remove=1;pos=[i]'>\[Remove\]</a><br>" t += "<a href='byond://?src=\ref[src];remove=1;pos=[i]'>\[Remove\]</a><br>"
user << browse("<html>[t]</html>", "window=list_pin_\ref[src];size=500x400")
var/datum/browser/popup = new(user, "list_pin_\ref[src]", null, 500, 400)
popup.set_content(t)
popup.open()
/datum/integrated_io/list/proc/add_to_list(mob/user, var/new_entry) /datum/integrated_io/list/proc/add_to_list(mob/user, var/new_entry)
if(!new_entry && user) if(!new_entry && user)

View File

@@ -205,9 +205,9 @@ Book Cart End
/// Proc that handles sending the book information to the user, as well as some housekeeping stuff. /// Proc that handles sending the book information to the user, as well as some housekeeping stuff.
/obj/item/book/proc/display_content(mob/living/user) /obj/item/book/proc/display_content(mob/living/user)
if(!findtext(dat, regex("^<html"))) var/datum/browser/popup = new(user, "book", "<TT><I>Penned by [author].</I></TT>")
dat = "<html>[dat]</html>" popup.set_content(dat)
user << browse(replacetext(dat, "<html>", "<html><TT><I>Penned by [author].</I></TT> <BR>"), "window=book") popup.open()
/obj/item/book/attackby(obj/item/W, mob/user) /obj/item/book/attackby(obj/item/W, mob/user)
if(carved) if(carved)

View File

@@ -52,12 +52,15 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new)
title = "Resolved Tickets" title = "Resolved Tickets"
if(!l2b) if(!l2b)
return return
var/list/dat = list("<html><head><title>[title]</title></head>") var/list/dat = list()
dat += "<A href='byond://?_src_=mentorholder;[HrefToken()];mhelp_tickets=[state]'>Refresh</A><br><br>" dat += "<A href='byond://?_src_=mentorholder;[HrefToken()];mhelp_tickets=[state]'>Refresh</A><br><br>"
for(var/datum/mentor_help/MH as anything in l2b) for(var/datum/mentor_help/MH as anything in l2b)
dat += span_adminnotice(span_adminhelp("Ticket #[MH.id]") + " <A href='byond://?_src_=mentorholder;mhelp=\ref[MH];[HrefToken()];mhelp_action=ticket'>[MH.initiator_ckey]: [MH.name]</A>") + "<br>" dat += span_adminnotice(span_adminhelp("Ticket #[MH.id]") + " <A href='byond://?_src_=mentorholder;mhelp=\ref[MH];[HrefToken()];mhelp_action=ticket'>[MH.initiator_ckey]: [MH.name]</A>") + "<br>"
dat += "</html>"
usr << browse(dat.Join(), "window=mhelp_list[state];size=600x480") var/datum/browser/popup = new(usr, "mhelp_list[state]", "Mentor Help List", 600, 480)
popup.add_head_content("<title>[title]</title>")
popup.set_content(dat.Join())
popup.open()
//Tickets statpanel //Tickets statpanel
/datum/mentor_help_tickets/proc/stat_entry() /datum/mentor_help_tickets/proc/stat_entry()
@@ -269,7 +272,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/statclick/mticket_list)
tgui_interact(usr.client.mob) tgui_interact(usr.client.mob)
/datum/mentor_help/proc/TicketPanelLegacy() /datum/mentor_help/proc/TicketPanelLegacy()
var/list/dat = list("<html><head><title>Ticket #[id]</title></head>") var/list/dat = list()
var/ref_src = "\ref[src]" var/ref_src = "\ref[src]"
dat += "<h4>Mentor Help Ticket #[id]: [LinkedReplyName(ref_src)]</h4>" dat += "<h4>Mentor Help Ticket #[id]: [LinkedReplyName(ref_src)]</h4>"
dat += span_bold("State: ") dat += span_bold("State: ")
@@ -294,8 +297,11 @@ INITIALIZE_IMMEDIATE(/obj/effect/statclick/mticket_list)
dat += "<br>" + span_bold("Log:") + "<br><br>" dat += "<br>" + span_bold("Log:") + "<br><br>"
for(var/I in _interactions) for(var/I in _interactions)
dat += "[I]<br>" dat += "[I]<br>"
dat += "</html>"
usr << browse(dat.Join(), "window=mhelp[id];size=620x480") var/datum/browser/popup = new(usr, "mhelp[id]", "Mento Help [id]", 620, 480)
popup.add_head_content("<title>Ticket #[id]</title>")
popup.set_content(dat.Join())
popup.open()
/datum/mentor_help/tgui_fallback(payload) /datum/mentor_help/tgui_fallback(payload)
if(..()) if(..())

View File

@@ -410,7 +410,10 @@ var/list/_simple_mob_default_emotes = list(
HTML += "<hr />" HTML += "<hr />"
HTML +="<a href='byond://?src=\ref[src];flavor_change=done'>\[Done\]</a>" HTML +="<a href='byond://?src=\ref[src];flavor_change=done'>\[Done\]</a>"
HTML += "<tt></body></html>" HTML += "<tt></body></html>"
src << browse(HTML, "window=flavor_changes;size=430x300")
var/datum/browser/popup = new(src, "flavor_changes", "Change Flavortexts", 430, 300)
popup.set_content(HTML)
popup.open()
/mob/living/carbon/human/proc/toggle_tail(var/setting,var/message = 0) /mob/living/carbon/human/proc/toggle_tail(var/setting,var/message = 0)
if(!tail_style || !tail_style.ani_state) if(!tail_style || !tail_style.ani_state)

View File

@@ -537,7 +537,9 @@
else else
dat += span_bold("Primarily [u_attack.attack_name]") + " - <a href='byond://?src=\ref[src];default_attk=\ref[u_attack]'>set default</a><br/><br/><br/>" dat += span_bold("Primarily [u_attack.attack_name]") + " - <a href='byond://?src=\ref[src];default_attk=\ref[u_attack]'>set default</a><br/><br/><br/>"
src << browse("<html>[dat]</html>", "window=checkattack") var/datum/browser/popup = new(src, "checkattack")
popup.set_content(dat)
popup.open()
/mob/living/carbon/human/Topic(href, href_list) /mob/living/carbon/human/Topic(href, href_list)
if(href_list["default_attk"]) if(href_list["default_attk"])
@@ -555,7 +557,6 @@
/mob/living/carbon/human/proc/set_default_attack(var/datum/unarmed_attack/u_attack) /mob/living/carbon/human/proc/set_default_attack(var/datum/unarmed_attack/u_attack)
default_attack = u_attack default_attack = u_attack
/mob/living/carbon/human/proc/perform_cpr(var/mob/living/carbon/human/reviver) /mob/living/carbon/human/proc/perform_cpr(var/mob/living/carbon/human/reviver)
// Check for sanity // Check for sanity
if(!istype(reviver,/mob/living/carbon/human)) if(!istype(reviver,/mob/living/carbon/human))

View File

@@ -1,63 +0,0 @@
/mob/living/carbon/human
var/datum/unarmed_attack/default_attack
/mob/living/carbon/human/verb/check_attacks()
set name = "Check Attacks"
set category = "IC.Game"
set src = usr
var/dat = span_bold(span_giant("Known Attacks")) + "<br/><br/>"
for(var/datum/unarmed_attack/u_attack in species.unarmed_attacks)
dat += span_bold("Primarily [u_attack.attack_name] ") + "<br/><br/><br/>"
src << browse("<html>[dat]</html>", "window=checkattack")
return
/mob/living/carbon/human/check_attacks()
var/dat = span_bold(span_giant("Known Attacks")) + "<br/><br/>"
if(default_attack)
dat += "Current default attack: [default_attack.attack_name] - <a href='byond://?src=\ref[src];default_attk=reset_attk'>reset</a><br/><br/>"
for(var/datum/unarmed_attack/u_attack in species.unarmed_attacks)
if(u_attack == default_attack)
dat += span_bold("Primarily [u_attack.attack_name]") + " - default - <a href='byond://?src=\ref[src];default_attk=reset_attk'>reset</a><br/><br/><br/>"
else
dat += span_bold("Primarily [u_attack.attack_name]") + " - <a href='byond://?src=\ref[src];default_attk=\ref[u_attack]'>set default</a><br/><br/><br/>"
src << browse("<html>[dat]</html>", "window=checkattack")
/mob/living/carbon/human/Topic(href, href_list)
if(href_list["default_attk"])
if(href_list["default_attk"] == "reset_attk")
set_default_attack(null)
else
var/datum/unarmed_attack/u_attack = locate(href_list["default_attk"])
if(u_attack && (u_attack in species.unarmed_attacks))
set_default_attack(u_attack)
check_attacks()
return 1
else
return ..()
/mob/living/carbon/human/proc/set_default_attack(var/datum/unarmed_attack/u_attack)
default_attack = u_attack
/datum/unarmed_attack
var/attack_name = "fist"
/datum/unarmed_attack
bite/attack_name = "bite"
bite/sharp/attack_name = "sharp bite"
bite/strong/attack_name = "strong bite"
punch/attack_name = "punch"
kick/attack_name = "kick"
stomp/attack_name = "stomp"
stomp/weak/attack_name = "weak stomp"
light_strike/attack_name = "light hit"
diona attack_name = "tendrils"
claws/attack_name = "claws"
claws/strong/attack_name = "strong claws"
slime_glomp/attack_name = "glomp"
bite/sharp/numbing/attack_name = "numbing bite"

View File

@@ -3,6 +3,7 @@
status_flags = GODMODE|CANPUSH status_flags = GODMODE|CANPUSH
has_huds = FALSE has_huds = FALSE
blocks_emissive = FALSE blocks_emissive = FALSE
no_vore = TRUE //Dummies don't need bellies.
/mob/living/carbon/human/dummy/Initialize(mapload) /mob/living/carbon/human/dummy/Initialize(mapload)
. = ..() . = ..()
@@ -148,3 +149,43 @@
/mob/living/carbon/human/stok/Initialize(mapload) /mob/living/carbon/human/stok/Initialize(mapload)
. = ..(mapload, SPECIES_MONKEY_UNATHI) . = ..(mapload, SPECIES_MONKEY_UNATHI)
species.produceCopy(species.traits.Copy(),src,null,FALSE) species.produceCopy(species.traits.Copy(),src,null,FALSE)
/mob/living/carbon/human/sergal/Initialize(mapload)
h_style = "Sergal Plain"
. = ..(mapload, SPECIES_SERGAL)
/mob/living/carbon/human/akula/Initialize(mapload)
. = ..(mapload, SPECIES_AKULA)
/mob/living/carbon/human/nevrean/Initialize(mapload)
. = ..(mapload, SPECIES_NEVREAN)
/mob/living/carbon/human/xenochimera/Initialize(mapload)
. = ..(mapload, SPECIES_XENOCHIMERA)
/mob/living/carbon/human/spider/Initialize(mapload)
. = ..(mapload, SPECIES_VASILISSAN)
/mob/living/carbon/human/vulpkanin/Initialize(mapload)
. = ..(mapload, SPECIES_VULPKANIN)
/mob/living/carbon/human/protean/Initialize(mapload)
. = ..(mapload, SPECIES_PROTEAN)
/mob/living/carbon/human/alraune/Initialize(mapload)
. = ..(mapload, SPECIES_ALRAUNE)
/mob/living/carbon/human/shadekin/Initialize(mapload)
. = ..(mapload, SPECIES_SHADEKIN)
/mob/living/carbon/human/altevian/Initialize(mapload)
. = ..(mapload, SPECIES_ALTEVIAN)
/mob/living/carbon/human/lleill/Initialize(mapload)
. = ..(mapload, SPECIES_LLEILL)
/mob/living/carbon/human/hanner/Initialize(mapload)
. = ..(mapload, SPECIES_HANNER)
/mob/living/carbon/human/sparkledog/Initialize(mapload)
. = ..(mapload, SPECIES_SPARKLE)

View File

@@ -1,42 +0,0 @@
/mob/living/carbon/human/dummy
no_vore = TRUE //Dummies don't need bellies.
/mob/living/carbon/human/sergal/Initialize(mapload)
h_style = "Sergal Plain"
. = ..(mapload, SPECIES_SERGAL)
/mob/living/carbon/human/akula/Initialize(mapload)
. = ..(mapload, SPECIES_AKULA)
/mob/living/carbon/human/nevrean/Initialize(mapload)
. = ..(mapload, SPECIES_NEVREAN)
/mob/living/carbon/human/xenochimera/Initialize(mapload)
. = ..(mapload, SPECIES_XENOCHIMERA)
/mob/living/carbon/human/spider/Initialize(mapload)
. = ..(mapload, SPECIES_VASILISSAN)
/mob/living/carbon/human/vulpkanin/Initialize(mapload)
. = ..(mapload, SPECIES_VULPKANIN)
/mob/living/carbon/human/protean/Initialize(mapload)
. = ..(mapload, SPECIES_PROTEAN)
/mob/living/carbon/human/alraune/Initialize(mapload)
. = ..(mapload, SPECIES_ALRAUNE)
/mob/living/carbon/human/shadekin/Initialize(mapload)
. = ..(mapload, SPECIES_SHADEKIN)
/mob/living/carbon/human/altevian/Initialize(mapload)
. = ..(mapload, SPECIES_ALTEVIAN)
/mob/living/carbon/human/lleill/Initialize(mapload)
. = ..(mapload, SPECIES_LLEILL)
/mob/living/carbon/human/hanner/Initialize(mapload)
. = ..(mapload, SPECIES_HANNER)
/mob/living/carbon/human/sparkledog/Initialize(mapload)
. = ..(mapload, SPECIES_SPARKLE)

View File

@@ -1083,7 +1083,7 @@
to_chat(src, span_notice("You will [trait_injection_verb] your targets.")) to_chat(src, span_notice("You will [trait_injection_verb] your targets."))
return return
if(choice == "Chemical Refresher") if(choice == "Chemical Refresher")
var/output = {""} + span_bold("Chemical Refresher!") + {"<HR> var/output = {"<HR>
"} + span_bold("Options for venoms") + {"<BR> "} + span_bold("Options for venoms") + {"<BR>
<BR> <BR>
"} + span_bold("Size Chemicals") + {"<BR> "} + span_bold("Size Chemicals") + {"<BR>
@@ -1112,7 +1112,10 @@
You can also bite synthetics, but due to how synths work, they won't have anything injected into them. You can also bite synthetics, but due to how synths work, they won't have anything injected into them.
<br> <br>
"} "}
src << browse("<html>[output]</html>","window=chemicalrefresher")
var/datum/browser/popup = new(src, "chemicalrefresher", "Chemical Refresher")
popup.set_content(output)
popup.open()
return return
else else
var/list/targets = list() //IF IT IS NOT BROKEN. DO NOT FIX IT. AND KEEP COPYPASTING IT (Pointing Rick Dalton: "That's my code!" ~CL) var/list/targets = list() //IF IT IS NOT BROKEN. DO NOT FIX IT. AND KEEP COPYPASTING IT (Pointing Rick Dalton: "That's my code!" ~CL)

View File

@@ -297,138 +297,3 @@
inserted_battery.battery_effect.ToggleActivate() inserted_battery.battery_effect.ToggleActivate()
src.visible_message(span_bold("[name]") + " states, \"Battery dump completed.\"") src.visible_message(span_bold("[name]") + " states, \"Battery dump completed.\"")
icon_state = "incubator" icon_state = "incubator"
/* //This is old and unused.
/obj/machinery/artifact_harvester/Topic(href, href_list)
if (href_list["harvest"])
if(!inserted_battery)
src.visible_message(span_bold("[src]") + " states, \"Cannot harvest. No battery inserted.\"")
else if(inserted_battery.stored_charge >= inserted_battery.capacity)
src.visible_message(span_bold("[src]") + " states, \"Cannot harvest. battery is full.\"")
else
//locate artifact on analysis pad
cur_artifact = null
var/articount = 0
var/obj/machinery/artifact/analysed
for(var/obj/A in get_turf(owned_scanner))
analysed = A
articount++
if(articount <= 0)
var/message = span_bold("[src]") + " states, \"Cannot harvest. No noteworthy energy signature isolated.\""
src.visible_message(message)
else if(analysed && analysed.being_used)
src.visible_message(span_bold("[src]") + " states, \"Cannot harvest. Source already being harvested.\"")
else
if(articount > 1)
state("Cannot harvest. Too many artifacts on the pad.")
else if(analysed)
cur_artifact = analysed
//if both effects are active, we can't harvest either
var/datum/component/artifact_master/ScannedMaster = analysed.GetComponent(/datum/component/artifact_master)
if(ScannedMaster && istype(ScannedMaster))
active_effects = ScannedMaster.get_all_effects()
var/list/active_effects = ScannedMaster.artifact_id.get_active_effects()
if(active_effects.len > 1)
src.visible_message(span_bold("[src]") + " states, \"Cannot harvest. Source is emitting conflicting energy signatures.\"")
else if(!active_effects.len)
src.visible_message(span_bold("[src]") + " states, \"Cannot harvest. No energy emitting from source.\"")
else
//see if we can clear out an old effect
//delete it when the ids match to account for duplicate ids having different effects
if(inserted_battery.battery_effect && inserted_battery.stored_charge <= 0)
qdel(inserted_battery.battery_effect)
inserted_battery.battery_effect = null
//
var/datum/artifact_effect/source_effect
var/datum/artifact_effect/active_effect = active_effects[1]
//if we already have charge in the battery, we can only recharge it from the source artifact
if(inserted_battery.stored_charge > 0)
var/battery_matches_primary_id = 0
if(inserted_battery.battery_effect && inserted_battery.battery_effect.artifact_id == cur_artifact.artifact_master.artifact_id)
battery_matches_primary_id = 1
if(battery_matches_primary_id && active_effect.activated)
//we're good to recharge the primary effect!
source_effect = active_effect
if(!source_effect)
src.visible_message(span_bold("[src]") + " states, \"Cannot harvest. Battery is charged with a different energy signature.\"")
else
//we're good to charge either
if(active_effect.activated)
//charge the primary effect
source_effect = active_effect
if(source_effect)
harvesting = 1
update_use_power(USE_POWER_ACTIVE)
cur_artifact.anchored = 1
cur_artifact.being_used = 1
icon_state = "incubator_on"
var/message = span_bold("[src]") + " states, \"Beginning energy harvesting.\""
src.visible_message(message)
last_process = world.time
//duplicate the artifact's effect datum
if(!inserted_battery.battery_effect)
var/effecttype = source_effect.type
var/datum/artifact_effect/E = new effecttype(inserted_battery)
//duplicate it's unique settings
for(var/varname in list("chargelevelmax","artifact_id","effect","effectrange","trigger"))
E.vars[varname] = source_effect.vars[varname]
//copy the new datum into the battery
inserted_battery.battery_effect = E
inserted_battery.stored_charge = 0
if (href_list["stopharvest"])
if(harvesting)
if(harvesting < 0 && inserted_battery.battery_effect && inserted_battery.battery_effect.activated)
inserted_battery.battery_effect.ToggleActivate()
harvesting = 0
cur_artifact.anchored = 0
cur_artifact.being_used = 0
cur_artifact = null
src.visible_message(span_bold("[name]") + " states, \"Energy harvesting interrupted.\"")
icon_state = "incubator"
if (href_list["ejectbattery"])
src.inserted_battery.loc = src.loc
src.inserted_battery = null
if (href_list["drainbattery"])
if(inserted_battery)
if(inserted_battery.battery_effect && inserted_battery.stored_charge > 0)
if(tgui_alert(usr, "This action will dump all charge, safety gear is recommended before proceeding","Warning",list("Continue","Cancel")) == "Continue")
if(!inserted_battery.battery_effect.activated)
inserted_battery.battery_effect.ToggleActivate(1)
last_process = world.time
harvesting = -1
update_use_power(USE_POWER_ACTIVE)
icon_state = "incubator_on"
var/message = span_bold("[src]") + " states, \"Warning, battery charge dump commencing.\""
src.visible_message(message)
else
var/message = span_bold("[src]") + " states, \"Cannot dump energy. Battery is drained of charge already.\""
src.visible_message(message)
else
var/message = span_bold("[src]") + " states, \"Cannot dump energy. No battery inserted.\""
src.visible_message(message)
if(href_list["close"])
usr << browse(null, "window=artharvester")
usr.unset_machine(src)
updateDialog()
*/

View File

@@ -3341,7 +3341,6 @@
#include "code\modules\mob\living\carbon\human\human_powers_YW.dm" #include "code\modules\mob\living\carbon\human\human_powers_YW.dm"
#include "code\modules\mob\living\carbon\human\human_resist.dm" #include "code\modules\mob\living\carbon\human\human_resist.dm"
#include "code\modules\mob\living\carbon\human\human_species.dm" #include "code\modules\mob\living\carbon\human\human_species.dm"
#include "code\modules\mob\living\carbon\human\human_species_vr.dm"
#include "code\modules\mob\living\carbon\human\inventory.dm" #include "code\modules\mob\living\carbon\human\inventory.dm"
#include "code\modules\mob\living\carbon\human\life.dm" #include "code\modules\mob\living\carbon\human\life.dm"
#include "code\modules\mob\living\carbon\human\life_vr.dm" #include "code\modules\mob\living\carbon\human\life_vr.dm"