Merge remote-tracking branch 'origin/master'

This commit is contained in:
Necaladun
2014-06-23 00:26:41 +09:30
11 changed files with 7182 additions and 7092 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
var/global/vs_control/vsc = new
/vs_control
var/fire_consuption_rate = 0.25
var/fire_consuption_rate = 1
var/fire_consuption_rate_NAME = "Fire - Air Consumption Ratio"
var/fire_consuption_rate_DESC = "Ratio of air removed and combusted per tick."
-2
View File
@@ -22,7 +22,6 @@ var/global/list/side_effects = list() //list of all medical sideeffects types
var/global/list/mechas_list = list() //list of all mechs. Used by hostile mobs target tracking.
var/global/list/joblist = list() //list of all jobstypes, minus borg and AI
var/global/list/flag_list = list() //list of flags during Nations gamemode
var/global/list/clothing_list = list() //list of all /obj/item/clothing instances in the world
//Languages/species/whitelist.
var/global/list/all_species[0]
@@ -111,7 +110,6 @@ var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Al
var/datum/language/L = new T
all_languages[L.name] = L
var/rkey = 0
paths = typesof(/datum/species)-/datum/species
for(var/T in paths)
+6 -4
View File
@@ -108,7 +108,9 @@
/obj/machinery/computer/crew/proc/scan()
for(var/obj/item/clothing/under/C in clothing_list)
if((C.has_sensor) && (istype(C.loc, /mob/living/carbon/human)))
tracked |= C
return 1
for(var/mob/living/carbon/human/H in mob_list)
if(istype(H.w_uniform, /obj/item/clothing/under))
var/obj/item/clothing/under/C = H.w_uniform
if (C.has_sensor)
tracked |= C
return 1
+1
View File
@@ -133,6 +133,7 @@ var/list/admin_verbs_server = list(
/client/proc/one_click_antag,
/client/proc/cmd_admin_change_custom_event,
/client/proc/cmd_admin_create_centcom_report,
/client/proc/cmd_admin_dress,
/client/proc/response_team // Response Teams admin verb
)
+33 -15
View File
@@ -25,7 +25,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
src.verbs += /client/verb/adminhelp // 2 minute cool-down for adminhelps//Go to hell
**/
var/msg
var/list/type = list("Player Complaint","Question","Bug Report")
var/list/type = list("Player Complaint","Question","Bug Report","Event")
var/selected_type = input("Pick a category.", "Admin Help", null, null) as null|anything in type
if(selected_type)
msg = input("Please enter your message.", "Admin Help", null, null) as text
@@ -103,8 +103,10 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
//send this msg to all admins
var/admin_number_afk = 0
var/list/modholders = list()
var/list/adminholders = list()
var/list/banholders = list()
var/list/debugholders = list()
var/list/adminholders = list()
var/list/eventholders = list()
for(var/client/X in admins)
if(R_MOD & X.holder.rights)
if(X.is_afk())
@@ -114,10 +116,12 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
if(X.is_afk())
admin_number_afk++
adminholders += X
if(R_BAN & X.holder.rights)
banholders += X
if(R_DEBUG & X.holder.rights)
if(X.is_afk())
admin_number_afk++
debugholders += X
if(R_EVENT & X.holder.rights)
eventholders += X
switch(selected_type)
if("Question")
@@ -127,16 +131,11 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
X << 'sound/effects/adminhelp.ogg'
X << msg
else
for(var/client/X in adminholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
else if("Player Complaint")
if(adminholders.len)
for(var/client/X in adminholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
if(adminholders.len)
for(var/client/X in adminholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
else if("Bug Report")
if(debugholders.len)
for(var/client/X in debugholders)
@@ -144,7 +143,26 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
X << 'sound/effects/adminhelp.ogg'
X << msg
else
for(var/client/X in adminholders)
if(adminholders.len)
for(var/client/X in adminholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
else if("Event")
if(eventholders.len)
for(var/client/X in eventholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
else
if(banholders.len)
for(var/client/X in banholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
else if("Player Complaint")
if(banholders.len)
for(var/client/X in banholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
+17 -6
View File
@@ -180,8 +180,10 @@
var/list/modholders = list()
var/list/adminholders = list()
var/list/banholders = list()
var/list/debugholders = list()
var/list/adminholders = list()
var/list/eventholders = list()
for(var/client/X in admins)
if(R_MOD & X.holder.rights)
modholders += X
@@ -189,6 +191,10 @@
adminholders += X
if(R_DEBUG & X.holder.rights)
debugholders += X
if(R_BAN & X.holder.rights)
banholders += X
if(R_EVENT & X.holder.rights)
eventholders += X
//we don't use message_admins here because the sender/receiver might get it too
for(var/client/X in admins)
@@ -201,18 +207,23 @@
if(X.holder.rights & R_MOD)
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //inform X
else if(!modholders.len && X.holder.rights & R_ADMIN)
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //inform X
if("Player Complaint")
if(X.holder.rights & R_ADMIN)
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //inform X
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //Any admins in backup of mod question
if("Bug Report")
if(X.holder.rights & R_DEBUG)
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //inform X
else if(!debugholders.len && X.holder.rights & R_ADMIN)
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //Any admins in backup of bug reports
if("Event")
if(X.holder.rights & R_EVENT)
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //inform X
else if(!eventholders.len && X.holder.rights & R_BAN)
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //Quality in backup of Event
if("Player Complaint")
if(X.holder.rights & R_BAN)
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //There should always be at least 1 person with +BAN on
else
if((X.holder.rights & R_ADMIN) || (X.holder.rights & R_MOD) )
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //inform X
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //If there's no type, send to all admins.
/client/proc/cmd_admin_irc_pm()
if(prefs.muted & MUTE_ADMINHELP)
+73 -7
View File
@@ -1,4 +1,4 @@
/mob/verb/pray(msg as text)
/mob/living/verb/pray(msg as text)
set category = "IC"
set name = "Pray"
@@ -19,9 +19,24 @@
var/image/cross = image('icons/obj/storage.dmi',"bible")
msg = "\blue \icon[cross] <b><font color=purple>PRAY: </font>[key_name(src, 1)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[src]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=\ref[src]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[src]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[src]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[src]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;adminspawncookie=\ref[src]'>SC</a>):</b> [msg]"
for(var/client/C in admins)
if(C.prefs.toggles & CHAT_PRAYER)
C << msg
var/list/eventholders = list()
var/list/banholders = list()
for(var/client/X in admins)
if(R_EVENT & X.holder.rights)
eventholders += X
if(R_BAN & X.holder.rights)
banholders += X
if(eventholders.len)
for(var/client/C in eventholders)
if(C.prefs.toggles & CHAT_PRAYER)
C << msg
else if (banholders.len)
for(var/client/C in banholders)
if(C.prefs.toggles & CHAT_PRAYER)
C << msg
usr << "Your prayers have been received by the gods."
feedback_add_details("admin_verb","PR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -30,14 +45,65 @@
/proc/Centcomm_announce(var/text , var/mob/Sender)
var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN)
msg = "\blue <b><font color=orange>CENTCOMM:</font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[Sender]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[Sender]'>BSA</A>) (<A HREF='?_src_=holder;CentcommReply=\ref[Sender]'>RPLY</A>):</b> [msg]"
admins << msg
var/list/eventholders = list()
var/list/banholders = list()
for(var/client/X in admins)
if(R_EVENT & X.holder.rights)
eventholders += X
if(R_BAN & X.holder.rights)
banholders += X
if(eventholders.len)
for(var/client/C in eventholders)
C << msg
return
else if (banholders.len)
for(var/client/C in banholders)
C << msg
return
/proc/Syndicate_announce(var/text , var/mob/Sender)
var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN)
msg = "\blue <b><font color=crimson>SYNDICATE:</font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[Sender]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[Sender]'>BSA</A>) (<A HREF='?_src_=holder;SyndicateReply=\ref[Sender]'>RPLY</A>):</b> [msg]"
admins << msg
var/list/eventholders = list()
var/list/banholders = list()
for(var/client/X in admins)
if(R_EVENT & X.holder.rights)
eventholders += X
if(R_BAN & X.holder.rights)
banholders += X
if(eventholders.len)
for(var/client/C in eventholders)
C << msg
return
else if (banholders.len)
for(var/client/C in banholders)
C << msg
return
/proc/HONK_announce(var/text , var/mob/Sender)
var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN)
msg = "\blue <b><font color=pink>HONK:</font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[Sender]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[Sender]'>BSA</A>) (<A HREF='?_src_=holder;HONKReply=\ref[Sender]'>RPLY</A>):</b> [msg]"
admins << msg
var/list/eventholders = list()
var/list/banholders = list()
for(var/client/X in admins)
if(R_EVENT & X.holder.rights)
eventholders += X
if(R_BAN & X.holder.rights)
banholders += X
if(eventholders.len)
for(var/client/C in eventholders)
C << msg
return
else if (banholders.len)
for(var/client/C in banholders)
C << msg
return
-8
View File
@@ -2,14 +2,6 @@
name = "clothing"
var/list/species_restricted = null //Only these species can wear this kit.
/obj/item/clothing/New()
. = ..()
clothing_list += src
/obj/item/clothing/Del()
clothing_list -= src
return ..()
//BS12: Species-restricted clothing check.
/obj/item/clothing/mob_can_equip(M as mob, slot)
+11 -11
View File
@@ -1473,19 +1473,19 @@ datum
if (egg.grown)
egg.Hatch()*/
if((!O) || (!volume)) return 0
var/turf/the_turf = get_turf(O)
var/datum/gas_mixture/napalm = new
var/datum/gas/volatile_fuel/fuel = new
fuel.moles = 5
napalm.trace_gases += fuel
the_turf.assume_air(napalm)
// var/turf/the_turf = get_turf(O)
// var/datum/gas_mixture/napalm = new
// var/datum/gas/volatile_fuel/fuel = new
// fuel.moles = 5
// napalm.trace_gases += fuel
// the_turf.assume_air(napalm)
reaction_turf(var/turf/T, var/volume)
src = null
var/datum/gas_mixture/napalm = new
var/datum/gas/volatile_fuel/fuel = new
fuel.moles = 5
napalm.trace_gases += fuel
T.assume_air(napalm)
// var/datum/gas_mixture/napalm = new
// var/datum/gas/volatile_fuel/fuel = new
// fuel.moles = 5
// napalm.trace_gases += fuel
// T.assume_air(napalm)
return
reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with plasma is stronger than fuel!
if(!istype(M, /mob/living))
+7 -7
View File
@@ -421,15 +421,15 @@ datum
var/turf/location = get_turf(holder.my_atom.loc)
for(var/turf/simulated/floor/target_tile in range(0,location))
var/datum/gas_mixture/napalm = new
var/datum/gas/volatile_fuel/fuel = new
fuel.moles = created_volume
napalm.trace_gases += fuel
// var/datum/gas_mixture/napalm = new
// var/datum/gas/volatile_fuel/fuel = new
// fuel.moles = created_volume
// napalm.trace_gases += fuel
napalm.temperature = 400+T0C
napalm.update_values()
// napalm.temperature = 400+T0C
// napalm.update_values()
target_tile.assume_air(napalm)
// target_tile.assume_air(napalm)
spawn (0) target_tile.hotspot_expose(700, 400)
holder.del_reagent("napalm")
return
+7033 -7031
View File
File diff suppressed because it is too large Load Diff