Merge branch 'master' of git://github.com/Baystation12/Baystation12 into TGUpdates

This commit is contained in:
Ren Erthilo
2012-04-29 17:31:59 +01:00
28 changed files with 7667 additions and 7372 deletions

View File

@@ -1091,6 +1091,21 @@ var/global/BSACooldown = 0
alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
return
if (href_list["makeaisilent"])
if (src.level>=3)
var/mob/M = locate(href_list["makeaisilent"])
if(istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = M
message_admins("\red Admin [key_name_admin(usr)] AIized [key_name_admin(M)] silently!", 1)
log_admin("[key_name(usr)] AIized [key_name(M)] silently")
H.AIizeSilent()
else
alert("I cannot allow this.")
return
else
alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
return
if (href_list["makealien"])
if (src.level>=3)
var/mob/M = locate(href_list["makealien"])
@@ -2345,6 +2360,7 @@ var/global/BSACooldown = 0
foo += text("<B>Is an AI</B> | ")
else if(ishuman(M))
foo += text("<A HREF='?src=\ref[src];makeai=\ref[M]'>Make AI</A> | ")
foo += text("<A HREF='?src=\ref[src];makeaisilent=\ref[M]'>Make AI Silently</A> | ")
foo += text("<A HREF='?src=\ref[src];makerobot=\ref[M]'>Make Robot</A> | ")
foo += text("<A HREF='?src=\ref[src];makealien=\ref[M]'>Make Alien</A> | ")
foo += text("<A HREF='?src=\ref[src];makemetroid=\ref[M]'>Make Metroid</A> | ")

View File

@@ -1871,6 +1871,20 @@
del(D)
del(src)
/obj/item/weapon/reagent_containers/glass/watercan
name = "watering can"
desc = "A watering can, for all your watering needs."
icon = 'hydroponics.dmi'
icon_state = "watercan"
item_state = "bucket"
m_amt = 200
g_amt = 0
w_class = 3.0
amount_per_transfer_from_this = 20
possible_transfer_amounts = list(10,20,30,50,70)
volume = 70
flags = FPRINT | OPENCONTAINER
/obj/item/weapon/reagent_containers/glass/cantister
desc = "It's a canister. Mainly used for transporting fuel."
name = "canister"
@@ -2053,7 +2067,7 @@
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,25,30)
flags = FPRINT | TABLEPASS | OPENCONTAINER
volume = 30
volume = 50
New()
..()

View File

@@ -531,22 +531,6 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
armor = list(melee = 100, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100)
/obj/item/clothing/under/rank/medical_sleeve
desc = "Made of a special fiber that gives special protection against biohazards. Has a cross on the chest denoting that the wearer is trained medical personnel."
name = "short sleeve medical jumpsuit"
icon_state = "medical_sleeve"
item_state = "w_suit"
color = "medical_sleeve"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/jumpsuitdown
desc = "A rolled down jumpsuit. Great for mechanics."
name = "rolled down jumpsuit"
icon_state = "jumpsuitdown"
item_state = "jumpsuitdown"
color = "jumpsuitdown"
// Cheerleader outfits or something
/obj/item/clothing/under/cheerleader
name = "cheerleader uniform"

View File

@@ -45,13 +45,3 @@
name = "Scientist Labcoat"
desc = "A suit that protects against minor chemical spills. Has a purple stripe on the shoulder."
icon_state = "labcoat_tox_open"
/obj/item/clothing/suit/storage/labcoat/pink
name = "Pink Labcoat"
desc = "A suit that protects against minor chemical spills. Has a pink stripe down from the shoulders."
icon_state = "labcoat_pink_open"
/obj/item/clothing/suit/storage/labcoat/red
name = "Red Labcoat"
desc = "A suit that protects against minor chemical spills. Has a red stripe on the shoulders and rolled up sleeves."
icon_state = "labcoat_sleeve_open"

View File

@@ -1,15 +1,86 @@
//add custom items you give to people here, and put their icons in custom_items.dmi
// Add custom items you give to people here, and put their icons in custom_items.dmi
// Remember to change 'icon = 'custom_items.dmi'' for items not using /obj/item/fluff as a base
// Clothing item_state doesn't use custom_items.dmi. Just add them to the normal clothing files.
/obj/item/fluff // so that they don't spam up the object tree
icon = 'custom_items.dmi'
w_class = 1.0
/obj/item/fluff/wes_solari_1
name = "Family Photograph"
desc = "A family photograph of a couple and a young child, Written on the back it says \"See you soon Dad -Roy\"."
icon_state = "wes_solari_1"
//////////// Clothing
/obj/item/clothing/glasses/meson/fluff/book_berner_1
name = "bespectacled mesonic surveyors"
desc = "One of the older meson scanner models retrofitted to perform like its modern counterparts."
icon = 'custom_items.dmi'
icon_state = "book_berner_1"
/obj/item/clothing/glasses/fluff/serithi_artalis_1
name = "extranet HUD"
desc = "A heads-up display with limited connectivity to the NanoTrasen Extranet, capable of displaying information from official NanoTrasen records."
icon = 'custom_items.dmi'
icon_state = "serithi_artalis_1"
/obj/item/clothing/head/helmet/hardhat/fluff/greg_anderson_1
name = "old hard hat"
desc = "An old dented hard hat with the nametag \"Anderson\". It seems to be backwards."
icon_state = "hardhat0_dblue" //Already an in-game sprite
item_state = "hardhat0_dblue"
color = "dblue"
/obj/item/clothing/under/rank/virologist/fluff/cdc_jumpsuit
name = "\improper CDC jumpsuit"
desc = "A modified standard-issue CDC jumpsuit made of a special fiber that gives special protection against biohazards. It has a biohazard symbol sewn into the back."
icon = 'custom_items.dmi'
icon_state = "cdc_jumpsuit"
color = "cdc_jumpsuit"
/obj/item/clothing/suit/storage/labcoat/fluff/cdc_labcoat
name = "\improper CDC labcoat"
desc = "A standard-issue CDC labcoat that protects against minor chemical spills. It has the name \"Wiles\" sewn on to the breast pocket."
icon = 'custom_items.dmi'
icon_state = "labcoat_cdc_open"
/obj/item/clothing/suit/storage/labcoat/fluff/pink
name = "pink labcoat"
desc = "A suit that protects against minor chemical spills. Has a pink stripe down from the shoulders."
icon = 'custom_items.dmi'
icon_state = "labcoat_pink_open"
/obj/item/clothing/suit/storage/labcoat/fluff/red
name = "red labcoat"
desc = "A suit that protects against minor chemical spills. Has a red stripe on the shoulders and rolled up sleeves."
icon = 'custom_items.dmi'
icon_state = "labcoat_red_open"
/obj/item/clothing/under/rank/medical/fluff/short
name = "short sleeve medical jumpsuit"
desc = "Made of a special fiber that gives special protection against biohazards. Has a cross on the chest denoting that the wearer is trained medical personnel and short sleeves."
icon = 'custom_items.dmi'
icon_state = "medical_short"
color = "medical_short"
/obj/item/clothing/under/fluff/jumpsuitdown
name = "rolled down jumpsuit"
desc = "A rolled down jumpsuit. Great for mechanics."
icon = 'custom_items.dmi'
icon_state = "jumpsuitdown"
item_state = "jumpsuitdown"
color = "jumpsuitdown"
//////////// Useable Items
/obj/item/weapon/pen/fluff/multi
name = "multicolor pen"
desc = "It's a cool looking pen. Lots of colors!"
/obj/item/weapon/pen/fluff/fancypen
name = "multicolor pen"
desc = "A fancy metal pen. It uses blue ink. An inscription on one side reads,\"L.L. - L.R.\""
icon = 'custom_items.dmi'
icon_state = "fancypen"
/obj/item/fluff/victor_kaminsky_1
name = "\improper Golden Detective's Badge"
name = "golden detective's badge"
desc = "NanoTrasen Security Department detective's badge, made from gold. Badge number is 564."
icon_state = "victor_kaminsky_1"
@@ -18,45 +89,41 @@
O.show_message(text("[] shows you: \icon[] [].", user, src, src.name), 1)
src.add_fingerprint(user)
/obj/item/weapon/clipboard/fluff/smallnote
name = "small notebook"
desc = "A generic small spiral notebook that flips upwards."
icon = 'custom_items.dmi'
icon_state = "smallnotetext"
/obj/item/weapon/storage/fluff/maye_daye_1
name = "pristine lunchbox"
desc = "A pristine stainless steel lunch box. The initials M.D. are engraved on the inside of the lid."
icon = 'custom_items.dmi'
icon_state = "maye_daye_1"
//////////// Misc Items
/obj/item/fluff/wes_solari_1
name = "family photograph"
desc = "A family photograph of a couple and a young child, Written on the back it says \"See you soon Dad -Roy\"."
icon_state = "wes_solari_1"
/obj/item/fluff/sarah_calvera_1
name = "Old Photo"
name = "old photo"
desc = "Looks like it was made on a really old, cheap camera. Low quality. The camera shows a young hispanic looking girl with red hair wearing a white dress is standing in front of an old looking wall. On the back there is a note in black marker that reads \"Sara, Siempre pensé que eras tan linda con ese vestido. Tu hermano, Carlos.\""
icon_state = "sarah_calvera_1"
/obj/item/fluff/angelo_wilkerson_1
name = "Fancy Watch"
name = "fancy watch"
desc = "An old and expensive pocket watch. Engraved on the bottom is \"Odium est Source De Dolor\". On the back, there is an engraving that does not match the bottom and looks more recent. \"Angelo, If you find this, you shall never see me again. Please, for your sake, go anywhere and do anything but stay. I'm proud of you and I will always love you. Your father, Jacob Wilkerson.\" Jacob Wilkerson... Wasn't he that serial killer?"
icon_state = "angelo_wilkerson_1"
/obj/item/clothing/glasses/meson/fluff/book_berner_1
name = "Bespectacled Mesonic Surveyors"
desc = "One of the older meson scanner models retrofitted to perform like its modern counterparts."
icon = 'custom_items.dmi'
icon_state = "book_berner_1"
/obj/item/fluff/sarah_carbrokes_1
name = "Locket"
name = "locket"
desc = "A grey locket with a picture of a black haired man in it. The text above it reads: \"Edwin Carbrokes\"."
icon_state = "sarah_carbrokes_1"
/obj/item/clothing/glasses/fluff/serithi_artalis_1
name = "Extranet HUD"
desc = "A heads-up display with limited connectivity to the NanoTrasen Extranet, capable of displaying information from official NanoTrasen records."
icon_state = "serithi_artalis_1"
/obj/item/clothing/head/fluff/greg_anderson_1
name = "old hard hat"
desc = "An old dented hard hat with the nametag \"Anderson\". It seems to be backwards."
icon_state = "hardhat0_red"
flags = FPRINT | TABLEPASS | SUITSPACE
item_state = "hardhat0_red"
color = "red"
armor = list(melee = 30, bullet = 5, laser = 20,energy = 10, bomb = 20, bio = 10, rad = 20)
flags_inv = 0
/obj/item/fluff/ethan_way_1
name = "Old ID"
name = "old ID"
desc = "A scratched and worn identification card; it appears too damaged to inferface with any technology. You can almost make out \"Tom Cabinet\" in the smeared ink."
icon = 'custom_items.dmi'
icon_state = "ethan_way_1"
flags = FPRINT | TABLEPASS

View File

@@ -335,4 +335,81 @@
new_corgi << "<B>You are now a Corgi!.</B>"
spawn(0)//To prevent the proc from returning null.
del(src)
return
return
/mob/living/carbon/human/AIizeSilent()
if (monkeyizing)
return
for(var/name in organs)
del(organs[name])
if(client)
src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // stop the jams for AIs
return ..()
/mob/living/carbon/AIizeSilent()
if (monkeyizing)
return
for(var/obj/item/W in src)
drop_from_slot(W)
update_clothing()
monkeyizing = 1
canmove = 0
icon = null
invisibility = 101
return ..()
/mob/proc/AIizeSilent()
if(client)
client.screen.len = null
var/mob/living/silicon/ai/O = new (loc, /datum/ai_laws/nanotrasen,,1)//No MMI but safety is in effect.
O.invisibility = 0
O.aiRestorePowerRoutine = 0
O.lastKnownIP = client.address
if(mind)
mind.transfer_to(O)
O.mind.original = O
else
O.mind = new
O.mind.current = O
O.mind.original = O
O.mind.assigned_role = "AI"
O.key = key
if(!(O.mind in ticker.minds))
ticker.minds += O.mind//Adds them to regular mind list.
O << "<B>You are playing the station's AI. The AI cannot move, but can interact with many objects while viewing them (through cameras).</B>"
O << "<B>To look at other parts of the station, double-click yourself to get a camera menu, use the freelook command, or use the Show Camera List command..</B>"
O << "<B>While observing through a camera, you can use most (networked) devices which you can see, such as computers, APCs, intercoms, doors, etc.</B>"
O << "To use something, simply click or double-click it."
O << "Currently right-click functions will not work for the AI (except examine), and will either be replaced with dialogs or won't be usable by the AI."
if (!(ticker && ticker.mode && (O.mind in ticker.mode.malf_ai)))
O.show_laws()
O << "<b>These laws may be changed by other players, or by you being the traitor.</b>"
O << "<br><b><font color=red>IMPORTANT GAMEPLAY ASPECTS:</font></b>"
O << "1.) Act like an AI. If someone is breaking into your upload, say something like \"Alert. Unauthorised Access Detected: AI Upload.\" not \"Help! Urist is trying to subvert me!\""
O << "2.) Do not watch the traitor like a hawk alerting the station to his/her every move. This relates to 1."
O << "3.) You are theoretically omniscient, but you should not be Beepsky 5000, laying down the law left and right. That is security's job. Instead, try to keep the station productive and effective. (Feel free to report the location of major violence and crimes and all that, just do not be the evil thing looking over peoples shoulders)"
O << "4.) Your laws are not in preference, laws do not take preference over one another unless specifically stated in the law."
O << "<br>We want everyone to have a good time, so we, the admins, will try to correct you if you stray from these rules. Just try to keep it sensible."
O.verbs += /mob/living/silicon/ai/proc/ai_call_shuttle
O.verbs += /mob/living/silicon/ai/proc/show_laws_verb
O.verbs += /mob/living/silicon/ai/proc/ai_camera_track
O.verbs += /mob/living/silicon/ai/proc/ai_alerts
O.verbs += /mob/living/silicon/ai/proc/ai_camera_list
O.verbs += /mob/living/silicon/ai/proc/ai_statuschange
O.verbs += /mob/living/silicon/ai/proc/ai_roster
// O.verbs += /mob/living/silicon/ai/proc/ai_cancel_call
O.job = "AI"
spawn(0)
ainame(O)
del(src)
return O

View File

@@ -107,6 +107,11 @@
update_icon()
return
else if(user.a_intent != "hurt" && load_into_chamber() && istype(in_chamber,/obj/item/projectile/energy/electrode)) //Point blank tasering.
if (M.canstun == 0 || M.canweaken == 0)
user.visible_message("\red <B>[M] has been stunned with the taser gun by [user] to no effect!</B>")
del(in_chamber)
update_icon()
return
if (prob(50))
if (M.paralysis < 60 && (!(M.mutations & 8)) )
M.paralysis = 60