Merge remote-tracking branch 'upstream/master' into I_WILL_FUCKING_NUKE_THIS_GODDDDAMMMNIIITTT

This commit is contained in:
Tigercat2000
2015-12-17 07:26:41 -08:00
34 changed files with 254 additions and 74 deletions
@@ -13,6 +13,7 @@
item_state = "camera_bug"
throw_speed = 4
throw_range = 20
origin_tech = "syndicate=3;engineering=1"
var/obj/machinery/camera/current = null
+12 -6
View File
@@ -25,28 +25,34 @@
if(spamcheck)
user << "\red \The [src] needs to recharge!"
return
var/message = sanitize(copytext(input(user, "Shout a message?", "Megaphone", null) as text,1,MAX_MESSAGE_LEN))
var/message = input(user, "Shout a message:", "Megaphone") as text|null
if(!message)
return
message = sanitize(copytext(message, 1, MAX_MESSAGE_LEN))
if(!message)
return
message = capitalize(message)
if ((src.loc == user && usr.stat == 0))
if(emagged)
if(insults)
for(var/mob/O in (viewers(user)))
O.show_message("<B>[user]</B> broadcasts, <FONT size=3>\"[pick(insultmsg)]\"</FONT>",2) // 2 stands for hearable message
saymsg(user, pick(insultmsg))
insults--
else
user << "\red *BZZZZzzzzzt*"
else
for(var/mob/O in (viewers(user)))
O.show_message("<B>[user]</B> broadcasts, <FONT size=3>\"[message]\"</FONT>",2) // 2 stands for hearable message
saymsg(user, message)
spamcheck = 1
spawn(20)
spamcheck = 0
return
/obj/item/device/megaphone/proc/saymsg(mob/living/user as mob, message)
audible_message("<span class='game say'><span class='name'>[user]</span> broadcasts, <FONT size=3>\"[message]\"</FONT></span>", hearing_distance = 14)
for(var/obj/O in oview(14, get_turf(src)))
O.hear_talk(user, "<FONT size=3>[message]</FONT>")
/obj/item/device/megaphone/emag_act(user as mob)
if(!emagged)
user << "\red You overload \the [src]'s voice synthesizer."
@@ -93,7 +93,11 @@
mytape.storedinfo += "\[[time2text(mytape.used_capacity * 10,"mm:ss")]\] [M.name] exclaims, \"[msg]\""
return
mytape.storedinfo += "\[[time2text(mytape.used_capacity * 10,"mm:ss")]\] [M.name] says, \"[msg]\""
/obj/item/device/taperecorder/hear_message(mob/living/M as mob, msg)
if(mytape && recording)
mytape.timestamp += mytape.used_capacity
mytape.storedinfo += "\[[time2text(mytape.used_capacity * 10,"mm:ss")]\] [M.name] [msg]"
/obj/item/device/taperecorder/verb/record()
set name = "Start Recording"
@@ -68,6 +68,11 @@
for(var/obj/O in contents)
O.hear_talk(M, msg)
/obj/item/device/transfer_valve/hear_message(mob/living/M as mob, msg)
..()
for(var/obj/O in contents)
O.hear_message(M, msg)
/obj/item/device/transfer_valve/attack_self(mob/user as mob)
ui_interact(user)
+4 -4
View File
@@ -1644,7 +1644,7 @@ obj/item/toy/cards/deck/syndicate/black
/obj/item/toy/figure/attack_self(mob/user as mob)
if(cooldown < world.time)
cooldown = (world.time + 30) //3 second cooldown
user << "<span class='notice'>The [src] says \"[toysay]\".</span>"
user.visible_message("<span class='notice'>\icon[src] The [src] says \"[toysay]\".</span>")
playsound(user, 'sound/machines/click.ogg', 20, 1)
/obj/item/toy/figure/cmo
@@ -1738,7 +1738,7 @@ obj/item/toy/cards/deck/syndicate/black
toysay = "I'm not qualified for this job."
/obj/item/toy/figure/hop
name = "Head of Persomnel action figure"
name = "Head of Personnel action figure"
icon_state = "hop"
toysay = "Giving out all access!"
@@ -1758,9 +1758,9 @@ obj/item/toy/cards/deck/syndicate/black
toysay = "Look at the signs, you idiot."
/obj/item/toy/figure/lawyer
name = "Lawyer action figure"
name = "Internal Affairs Agent action figure"
icon_state = "lawyer"
toysay = "My client is a dirty traitor!"
toysay = "Standard Operating Procedure says they're guilty! Hacking is proof they're an Enemy of the Corporation!"
/obj/item/toy/figure/librarian
name = "Librarian action figure"
@@ -235,6 +235,10 @@
if(nadeassembly)
nadeassembly.hear_talk(M, msg)
/obj/item/weapon/grenade/chem_grenade/hear_message(mob/living/M, msg)
if(nadeassembly)
nadeassembly.hear_message(M, msg)
/obj/item/weapon/grenade/chem_grenade/Bump()
..()
if(nadeassembly)
@@ -9,7 +9,7 @@
throwforce = 5.0
throw_speed = 3
throw_range = 5
w_class = 3.0
w_class = 2
var/charge = 0 // note %age conveted to actual charge in New
var/maxcharge = 10000
rating = 1
@@ -24,7 +24,7 @@
/obj/item/weapon/stock_parts/cell/crap
name = "\improper Nanotrasen brand rechargable AA battery"
desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT
origin_tech = "powerstorage=0"
origin_tech = null
maxcharge = 5000
rating = 2
materials = list(MAT_GLASS=40)
@@ -35,7 +35,7 @@
/obj/item/weapon/stock_parts/cell/secborg
name = "\improper Security borg rechargable D battery"
origin_tech = "powerstorage=0"
origin_tech = null
maxcharge = 6000 //6000 max charge / 1000 charge per shot = six shots
rating = 2.5
materials = list(MAT_GLASS=40)
@@ -160,4 +160,4 @@
name = "temperature gun cell"
desc = "A specially designed power cell for heating and cooling projectiles"
icon_state = "icell"
maxcharge = 900
maxcharge = 900
@@ -344,17 +344,17 @@
///Aquatic Starter Kit
/obj/item/weapon/storage/aquatic_kit
/obj/item/weapon/storage/firstaid/aquatic_kit
name = "aquatic starter kit"
desc = "It's a starter kit box for an acquarium."
desc = "It's a starter kit box for an aquarium."
icon_state = "AquaticKit"
throw_speed = 2
throw_range = 8
/obj/item/weapon/storage/aquatic_kit/full
/obj/item/weapon/storage/firstaid/aquatic_kit/full
desc = "It's a starter kit for an acquarium; includes 1 tank brush, 1 egg scoop, 1 fish net, and 1 container of fish food."
/obj/item/weapon/storage/aquatic_kit/full/New()
/obj/item/weapon/storage/firstaid/aquatic_kit/full/New()
..()
new /obj/item/weapon/egg_scoop(src)
new /obj/item/weapon/fish_net(src)
@@ -15,6 +15,12 @@
throw_speed = 2
throw_range = 8
var/empty = 0
req_one_access =list(access_medical, access_robotics) //Access and treatment are utilized for medbots.
var/treatment_brute = "salglu_solution"
var/treatment_oxy = "salbutamol"
var/treatment_fire = "salglu_solution"
var/treatment_tox = "charcoal"
var/treatment_virus = "spaceacillin"
/obj/item/weapon/storage/firstaid/fire
@@ -38,6 +44,8 @@
new /obj/item/weapon/reagent_containers/pill/salicylic( src )
return
/obj/item/weapon/storage/firstaid/fire/empty
empty = 1
/obj/item/weapon/storage/firstaid/regular
desc = "A general medical kit that contains medical patches for both brute damage and burn damage. Also contains an epinephrine syringe for emergency use and a health analyzer"
@@ -76,6 +84,9 @@
new /obj/item/device/healthanalyzer( src )
return
/obj/item/weapon/storage/firstaid/toxin/empty
empty = 1
/obj/item/weapon/storage/firstaid/o2
name = "oxygen deprivation first aid kit"
desc = "A first aid kit that contains four pills of salbutamol, which is able to counter injuries caused by suffocation. Also contains a health analyzer to determine the health of the patient."
@@ -92,6 +103,9 @@
new /obj/item/device/healthanalyzer( src )
return
/obj/item/weapon/storage/firstaid/o2/empty
empty = 1
/obj/item/weapon/storage/firstaid/brute
name = "brute trauma treatment kit"
desc = "A medical kit that contains several medical patches and pills for treating brute injuries. Contains one epinephrine syringe for emergency use and a health analyzer."
@@ -113,6 +127,9 @@
new /obj/item/stack/medical/bruise_pack(src)
return
/obj/item/weapon/storage/firstaid/brute/empty
empty = 1
/obj/item/weapon/storage/firstaid/adv
name = "advanced first-aid kit"
desc = "Contains advanced medical treatments."
@@ -131,11 +148,19 @@
new /obj/item/stack/medical/splint(src)
return
/obj/item/weapon/storage/firstaid/adv/empty
empty = 1
/obj/item/weapon/storage/firstaid/tactical
name = "first-aid kit"
icon_state = "bezerk"
desc = "I hope you've got insurance."
max_w_class = 3
treatment_oxy = "perfluorodecalin"
treatment_brute = "styptic_powder"
treatment_fire = "silver_sulfadiazine"
treatment_tox = "charcoal"
req_one_access =list(access_syndicate)
/obj/item/weapon/storage/firstaid/tactical/New()
..()
@@ -149,6 +174,9 @@
new /obj/item/clothing/glasses/hud/health/night(src)
return
/obj/item/weapon/storage/firstaid/tactical/empty
empty =1
/obj/item/weapon/storage/firstaid/surgery
name = "field surgery kit"
icon_state = "duffel-med"