Merge branch 'master' of github.com:tgstation/-tg-station into FUTURE_DNA_2

Conflicts:
	code/game/dna.dm  <-- leave this shit alone unless it's a small-tidy change. ffs.
This commit is contained in:
carnie
2013-08-06 09:54:24 +01:00
53 changed files with 944 additions and 971 deletions
@@ -15,38 +15,3 @@
src.laws_sanity_check()
src.laws.show_laws(who)
/mob/living/silicon/ai/proc/laws_sanity_check()
if (!src.laws)
src.laws = new /datum/ai_laws/asimov
/mob/living/silicon/ai/proc/set_zeroth_law(var/law, var/law_borg)
src.laws_sanity_check()
src.laws.set_zeroth_law(law, law_borg)
/mob/living/silicon/ai/proc/add_inherent_law(var/law)
src.laws_sanity_check()
src.laws.add_inherent_law(law)
/mob/living/silicon/ai/proc/clear_inherent_laws()
src.laws_sanity_check()
src.laws.clear_inherent_laws()
/mob/living/silicon/ai/proc/add_ion_law(var/law)
src.laws_sanity_check()
src.laws.add_ion_law(law)
for(var/mob/living/silicon/robot/R in mob_list)
if(R.lawupdate && (R.connected_ai == src))
R << "\red " + law + "\red...LAWS UPDATED"
/mob/living/silicon/ai/proc/clear_ion_laws()
src.laws_sanity_check()
src.laws.clear_ion_laws()
/mob/living/silicon/ai/proc/add_supplied_law(var/number, var/law)
src.laws_sanity_check()
src.laws.add_supplied_law(number, law)
/mob/living/silicon/ai/proc/clear_supplied_laws()
src.laws_sanity_check()
src.laws.clear_supplied_laws()
+34
View File
@@ -0,0 +1,34 @@
/mob/living/silicon/proc/show_laws() //Redefined in ai/laws.dm and robot/laws.dm
return
/mob/living/silicon/proc/laws_sanity_check()
if (!laws)
laws = new /datum/ai_laws/asimov
/mob/living/silicon/proc/set_zeroth_law(var/law, var/law_borg)
src.laws_sanity_check()
src.laws.set_zeroth_law(law, law_borg)
/mob/living/silicon/proc/add_inherent_law(var/law)
laws_sanity_check()
laws.add_inherent_law(law)
/mob/living/silicon/proc/clear_inherent_laws()
laws_sanity_check()
laws.clear_inherent_laws()
/mob/living/silicon/proc/add_supplied_law(var/number, var/law)
laws_sanity_check()
laws.add_supplied_law(number, law)
/mob/living/silicon/proc/clear_supplied_laws()
laws_sanity_check()
laws.clear_supplied_laws()
/mob/living/silicon/proc/add_ion_law(var/law)
laws_sanity_check()
laws.add_ion_law(law)
/mob/living/silicon/proc/clear_ion_laws()
laws_sanity_check()
laws.clear_ion_laws()
+1 -33
View File
@@ -68,36 +68,4 @@
temp = master.supplied[index]
if (length(temp) > 0)
laws.supplied[index] = temp
return
/mob/living/silicon/robot/proc/laws_sanity_check()
if (!laws)
laws = new /datum/ai_laws/asimov
/mob/living/silicon/robot/proc/set_zeroth_law(var/law)
laws_sanity_check()
laws.set_zeroth_law(law)
/mob/living/silicon/robot/proc/add_inherent_law(var/law)
laws_sanity_check()
laws.add_inherent_law(law)
/mob/living/silicon/robot/proc/clear_inherent_laws()
laws_sanity_check()
laws.clear_inherent_laws()
/mob/living/silicon/robot/proc/add_supplied_law(var/number, var/law)
laws_sanity_check()
laws.add_supplied_law(number, law)
/mob/living/silicon/robot/proc/clear_supplied_laws()
laws_sanity_check()
laws.clear_supplied_laws()
/mob/living/silicon/robot/proc/add_ion_law(var/law)
laws_sanity_check()
laws.add_ion_law(law)
/mob/living/silicon/robot/proc/clear_ion_laws()
laws_sanity_check()
laws.clear_ion_laws()
return
@@ -20,9 +20,6 @@
/mob/living/silicon/proc/triggerAlarm()
return
/mob/living/silicon/proc/show_laws()
return
/mob/living/silicon/proc/queueAlarm(var/message, var/type, var/incoming = 1)
var/in_cooldown = (alarms_to_show.len > 0 || alarms_to_clear.len > 0)
if(incoming)
+27 -8
View File
@@ -286,22 +286,41 @@
var/mins = (mills % 36000) / 600
var/hours = mills / 36000
var/dat = "<html><body><center>"
dat += "Round Duration: [round(hours)]h [round(mins)]m<br>"
var/dat = "<div class='notice'>Round Duration: [round(hours)]h [round(mins)]m</div>"
if(emergency_shuttle) //In case Nanotrasen decides reposess Centcom's shuttles.
if(emergency_shuttle.direction == 2) //Shuttle is going to centcom, not recalled
dat += "<font color='red'><b>The station has been evacuated.</b></font><br>"
dat += "<div class='notice red'>The station has been evacuated.</div><br>"
if(emergency_shuttle.direction == 1 && emergency_shuttle.timeleft() < 300) //Shuttle is past the point of no recall
dat += "<font color='red'>The station is currently undergoing evacuation procedures.</font><br>"
dat += "<div class='notice red'>The station is currently undergoing evacuation procedures.</div><br>"
dat += "Choose from the following open positions:<br>"
var/available_job_count = 0
for(var/datum/job/job in job_master.occupations)
if(job && IsJobAvailable(job.title))
dat += "<a href='byond://?src=\ref[src];SelectedJob=[job.title]'>[job.title] ([job.current_positions])</a><br>"
available_job_count++;
dat += "</center>"
src << browse(dat, "window=latechoices;size=300x640;can_close=1")
dat += "<div class='clearBoth'>Choose from the following open positions:</div><br>"
dat += "<div class='jobs'><div class='jobsColumn'>"
var/job_count = 0
for(var/datum/job/job in job_master.occupations)
if(job && IsJobAvailable(job.title))
job_count++;
if (job_count > round(available_job_count / 2))
dat += "</div><div class='jobsColumn'>"
var/position_class = "otherPosition"
if (job.title in command_positions)
position_class = "commandPosition"
dat += "<a class='[position_class]' href='byond://?src=\ref[src];SelectedJob=[job.title]'>[job.title] ([job.current_positions])</a><br>"
dat += "</div></div>"
// Removing the old window method but leaving it here for reference
//src << browse(dat, "window=latechoices;size=300x640;can_close=1")
// Added the new browser window method
var/datum/browser/popup = new(src, "latechoices", "Choose Profession", 440, 500)
popup.add_stylesheet("playeroptions", 'html/browser/playeroptions.css')
popup.set_content(dat)
popup.open(0) // 0 is passed to open so that it doesn't use the onclose() proc
proc/create_character()