mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-25 01:22:13 +00:00
Merge branch 'master' of git://github.com/Baystation12/Baystation12 into TGUpdates
This commit is contained in:
@@ -113,7 +113,7 @@ proc/airborne_can_reach(turf/source, turf/target)
|
||||
var/infectionchance = 10
|
||||
var/speed = 1
|
||||
var/spreadtype = "Blood" // Can also be "Airborne"
|
||||
var/stage = 1
|
||||
var/stage = 0
|
||||
var/stageprob = 10
|
||||
var/dead = 0
|
||||
var/clicks = 0
|
||||
@@ -225,7 +225,7 @@ proc/airborne_can_reach(turf/source, turf/target)
|
||||
if(mob.reagents.has_reagent("virusfood"))
|
||||
mob.reagents.remove_reagent("virusfood",0.1)
|
||||
clicks += 10
|
||||
if(clicks > stage*100 && prob(10))
|
||||
if(clicks > (stage+1)*100 && prob(10))
|
||||
if(stage == 4)
|
||||
var/datum/disease2/resistance/res = new /datum/disease2/resistance(src)
|
||||
src.cure(mob)
|
||||
@@ -246,13 +246,13 @@ proc/airborne_can_reach(turf/source, turf/target)
|
||||
if(stage>1)
|
||||
E = effects[1]
|
||||
E.effect.deactivate(mob)
|
||||
if(stage>2)
|
||||
if(stage>=2)
|
||||
E = effects[2]
|
||||
E.effect.deactivate(mob)
|
||||
if(stage>3)
|
||||
if(stage>=3)
|
||||
E = effects[3]
|
||||
E.effect.deactivate(mob)
|
||||
if(stage>4)
|
||||
if(stage>=4)
|
||||
E = effects[4]
|
||||
E.effect.deactivate(mob)
|
||||
|
||||
@@ -272,6 +272,7 @@ proc/airborne_can_reach(turf/source, turf/target)
|
||||
disease.spreadtype = spreadtype
|
||||
disease.stageprob = stageprob
|
||||
disease.antigen = antigen
|
||||
disease.uniqueID = uniqueID
|
||||
for(var/datum/disease2/effectholder/holder in effects)
|
||||
// world << "adding effects"
|
||||
var/datum/disease2/effectholder/newholder = new /datum/disease2/effectholder
|
||||
|
||||
@@ -242,6 +242,7 @@ client
|
||||
if(ishuman(D))
|
||||
body += "<option value>---</option>"
|
||||
body += "<option value='byond://?src=\ref[src];makeai=\ref[D]'>Make AI</option>"
|
||||
body += "<option value='byond://?src=\ref[src];makeaisilent=\ref[D]'>Make AI (Silently)</option>"
|
||||
body += "<option value='byond://?src=\ref[src];makerobot=\ref[D]'>Make cyborg</option>"
|
||||
body += "<option value='byond://?src=\ref[src];makemonkey=\ref[D]'>Make monkey</option>"
|
||||
body += "<option value='byond://?src=\ref[src];makealien=\ref[D]'>Make alien</option>"
|
||||
@@ -670,6 +671,23 @@ client
|
||||
usr << "Mob doesn't exist anymore"
|
||||
return
|
||||
holder.Topic(href, list("makeai"=href_list["makeai"]))
|
||||
else if (href_list["makeaisilent"])
|
||||
var/mob/M = locate(href_list["makeaisilent"])
|
||||
if(!M)
|
||||
return
|
||||
if(!ishuman(M))
|
||||
usr << "This can only be done to objects of type /mob/living/carbon/human"
|
||||
return
|
||||
if(!src.holder)
|
||||
usr << "You are not an administrator."
|
||||
return
|
||||
var/action_type = alert("Confirm mob type change?",,"Transform","Cancel")
|
||||
if(!action_type || action_type == "Cancel")
|
||||
return
|
||||
if(!M)
|
||||
usr << "Mob doesn't exist anymore"
|
||||
return
|
||||
holder.Topic(href, list("makeaisilent"=href_list["makeaisilent"]))
|
||||
else if (href_list["adjustDamage"] && href_list["mobToDamage"])
|
||||
var/mob/M = locate(href_list["mobToDamage"])
|
||||
var/Text = locate(href_list["adjustDamage"])
|
||||
|
||||
@@ -1015,10 +1015,6 @@ eternal248: Found broken and buggy Z-levels 7-12, ended up leading to my discove
|
||||
icon_state = "pen_red"
|
||||
text_color = "#FF0000"
|
||||
|
||||
/obj/item/weapon/pen/multi
|
||||
desc = "It's a cool looking pen. Lots of colors!"
|
||||
name = "multicolor pen"
|
||||
|
||||
/obj/item/weapon/pen/feather
|
||||
name = "feathery pen"
|
||||
desc = "A gold pen disguised as a quill. How quaint."
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
var/checkwin_counter =0
|
||||
var/finished = 0
|
||||
|
||||
var/cruiser_arrival
|
||||
|
||||
var/virus_name = ""
|
||||
|
||||
var/stage = 0
|
||||
|
||||
///////////////////////////
|
||||
//Announces the game type//
|
||||
///////////////////////////
|
||||
@@ -31,6 +37,51 @@
|
||||
|
||||
return 1
|
||||
|
||||
/datum/game_mode/epidemic/proc/cruiser_seconds()
|
||||
return (cruiser_arrival - world.time) / 10
|
||||
|
||||
////////////////////// INTERCEPT ////////////////////////
|
||||
/// OVERWRITE THE INTERCEPT WITH A QUARANTINE WARNING ///
|
||||
/////////////////////////////////////////////////////////
|
||||
|
||||
/datum/game_mode/epidemic/send_intercept()
|
||||
var/intercepttext = "<FONT size = 3 color='red'><B>CONFIDENTIAL REPORT</FONT><HR>"
|
||||
virus_name = "X-[rand(1,99)]™"
|
||||
intercepttext += "<B>Warning: Pathogen [virus_name] has been detected on [station_name()].</B><BR><BR>"
|
||||
intercepttext += "<B>Code violet quarantine of [station_name()] put under immediate effect.</B><BR>"
|
||||
intercepttext += "<B>Class [rand(2,5)] cruiser has been dispatched. ETA: [round(cruiser_seconds() / 60)] minutes.</B><BR>"
|
||||
intercepttext += "<BR><B><FONT size = 2 color='blue'>Instructions</FONT></B><BR>"
|
||||
intercepttext += "<B>* ELIMINATE THREAT WITH EXTREME PREJUDICE. [virus_name] IS HIGHLY CONTAGIOUS. INFECTED CREW MEMBERS MUST BE QUARANTINED IMMEDIATELY.</B><BR>"
|
||||
intercepttext += "<B>* [station_name()] is under QUARANTINE. Any vessels outbound from [station_name()] will be tracked down and destroyed.</B><BR>"
|
||||
intercepttext += "<B>* The existence of [virus_name] is highly confidential. To prevent a panic, only high-ranking staff members are authorized to know of its existence. Crew members that illegally obtained knowledge of [virus_name] are to be neutralized.</B><BR>"
|
||||
intercepttext += "<B>* A cure is to be researched immediately, but NanoTrasen intellectual property must be respected. To prevent knowledge of [virus_name] from falling into unauthorized hands, all medical staff that work with the pathogen must be enhanced with a NanoTrasen loyality implant.</B><BR>"
|
||||
|
||||
|
||||
for (var/obj/machinery/computer/communications/comm in world)
|
||||
if (!(comm.stat & (BROKEN | NOPOWER)) && comm.prints_intercept)
|
||||
var/obj/item/weapon/paper/intercept = new /obj/item/weapon/paper( comm.loc )
|
||||
intercept.name = "paper"
|
||||
intercept.info = intercepttext
|
||||
|
||||
comm.messagetitle.Add("Cent. Com. CONFIDENTIAL REPORT")
|
||||
comm.messagetext.Add(intercepttext)
|
||||
world << sound('commandreport.ogg')
|
||||
|
||||
/datum/game_mode/epidemic/proc/announce_to_kill_crew()
|
||||
var/intercepttext = "<FONT size = 3 color='red'><B>CONFIDENTIAL REPORT</FONT><HR>"
|
||||
intercepttext += "<FONT size = 2;color='red'><B>PATHOGEN [virus_name] IS STILL PRESENT ON [station_name()]. IN COMPLIANCE WITH NANOTRASEN LAWS FOR INTERSTELLAR SAFETY, EMERGENCY SAFETY MEASURES HAVE BEEN AUTHORIZED. ALL INFECTED CREW MEMBERS ON [station_name()] ARE TO BE NEUTRALIZED AND DISPOSED OF IN A MANNER THAT WILL DESTROY ALL TRACES OF THE PATHOGEN. FAILURE TO COMPLY WILL RESULT IN IMMEDIATE DESTRUCTION OF [station_name].</B></FONT><BR>"
|
||||
intercepttext += "<B>CRUISER WILL ARRIVE IN [round(cruiser_seconds()/60)] MINUTES</B><BR>"
|
||||
|
||||
for (var/obj/machinery/computer/communications/comm in world)
|
||||
if (!(comm.stat & (BROKEN | NOPOWER)) && comm.prints_intercept)
|
||||
var/obj/item/weapon/paper/intercept = new /obj/item/weapon/paper( comm.loc )
|
||||
intercept.name = "paper"
|
||||
intercept.info = intercepttext
|
||||
|
||||
comm.messagetitle.Add("Cent. Com. CONFIDENTIAL REPORT")
|
||||
comm.messagetext.Add(intercepttext)
|
||||
world << sound('commandreport.ogg')
|
||||
|
||||
|
||||
/datum/game_mode/epidemic/post_setup()
|
||||
var/list/crew = list()
|
||||
@@ -39,7 +90,6 @@
|
||||
|
||||
if(crew.len < 2)
|
||||
world << "\red There aren't enough players for this mode!"
|
||||
return
|
||||
|
||||
var/datum/disease2/disease/lethal = new
|
||||
lethal.makerandom(1)
|
||||
@@ -62,18 +112,24 @@
|
||||
continue
|
||||
H.virus2 = nonlethal.getcopy()
|
||||
|
||||
cruiser_arrival = world.time + (10 * 90 * 60)
|
||||
stage = 1
|
||||
|
||||
spawn (rand(waittime_l, waittime_h))
|
||||
send_intercept()
|
||||
|
||||
spawn(10 * 60 * 30)
|
||||
command_alert("Unknown pathogen detected in routine biological scans.", "Biohazard Alert")
|
||||
spawn(300)
|
||||
command_alert("Pathogen identified as level 7 biohazard. All crew, take precaution immediately. Avoid contact with other biological personnel when necessary. Initiate quarantine immediately.", "Biohazard Alert")
|
||||
|
||||
..()
|
||||
|
||||
|
||||
/datum/game_mode/epidemic/process()
|
||||
if(stage == 1 && cruiser_seconds() < 60 * 30)
|
||||
announce_to_kill_crew()
|
||||
stage = 2
|
||||
else if(stage == 2 && cruiser_seconds() <= 0)
|
||||
crew_lose()
|
||||
stage = 3
|
||||
|
||||
checkwin_counter++
|
||||
if(checkwin_counter >= 20)
|
||||
if(!finished)
|
||||
@@ -106,6 +162,30 @@
|
||||
else
|
||||
return 0
|
||||
|
||||
///////////////////////////////////////////
|
||||
///Handle crew failure(station explodes)///
|
||||
///////////////////////////////////////////
|
||||
/datum/game_mode/epidemic/proc/crew_lose()
|
||||
ticker.mode:explosion_in_progress = 1
|
||||
for(var/mob/M in world)
|
||||
if(M.client)
|
||||
M << 'Alarm.ogg'
|
||||
world << "\blue<b>Incoming missile detected.. Impact in 10..</b>"
|
||||
for (var/i=9 to 1 step -1)
|
||||
sleep(10)
|
||||
world << "\blue<b>[i]..</b>"
|
||||
sleep(10)
|
||||
enter_allowed = 0
|
||||
for(var/mob/M in world)
|
||||
if(M.client)
|
||||
spawn(0)
|
||||
M.client.station_explosion_cinematic()
|
||||
sleep(110)
|
||||
ticker.mode:station_was_nuked = 1
|
||||
ticker.mode:explosion_in_progress = 0
|
||||
return
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//Announces the end of the game with all relavent information stated//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
///////////////////////////
|
||||
/datum/game_mode/revolution/announce()
|
||||
world << "<B>The current game mode is - Revolution!</B>"
|
||||
world << "<B>Some crewmembers are attempting to start a revolution!<BR>\nRevolutionaries - Kill the Captain, HoP, HoS, CE, RD and CMO. Convert other crewmembers (excluding the heads of staff, and security officers) to your cause by flashing them. Protect your leaders.<BR>\nPersonnel - Protect the heads of staff. Kill the leaders of the revolution, and brainwash the other revolutionaries (by beating them in the head).</B>"
|
||||
world << "<B>Some crewmembers are attempting to start a revolution!<BR>\nRevolutionaries - Kill the Captain, HoP, HoS, CE, RD and CMO. Convert other crewmembers (excluding the heads of staff, and security officers) to your cause by convincing and then flashing them. Protect your leaders.<BR>\nPersonnel - Protect the heads of staff. Kill the leaders of the revolution, and brainwash the other revolutionaries (by beating them in the head).</B>"
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@@ -139,7 +139,8 @@
|
||||
if (!where)
|
||||
mob << "The Syndicate were unfortunately unable to get you a flash."
|
||||
else
|
||||
mob << "The flash in your [where] will implant a memory engram to convert others to our cause."
|
||||
mob << "The flash in your [where] can be used to mark a crew member as revolutionist. Use this only on those true to your cause, to ensure that everyone bearing the mark can be trusted."
|
||||
mob << "\red Do not use the flash on players who haven't agreed to join your cause. This is known as 'LOLFLASHING' and can get you banned."
|
||||
return 1
|
||||
|
||||
//////////////////////////////////////
|
||||
|
||||
@@ -383,13 +383,18 @@ THERMAL GLASSES
|
||||
else if(src.icon_state == "labcoat_pink")
|
||||
src.icon_state = "labcoat_pink_open"
|
||||
usr << "You unbutton the labcoat."
|
||||
else if(src.icon_state == "labcoat_sleeve_open")
|
||||
src.icon_state = "labcoat_sleeve"
|
||||
else if(src.icon_state == "labcoat_red_open")
|
||||
src.icon_state = "labcoat_red"
|
||||
usr << "You button up the labcoat."
|
||||
else if(src.icon_state == "labcoat_sleeve")
|
||||
src.icon_state = "labcoat_sleeve_open"
|
||||
else if(src.icon_state == "labcoat_red")
|
||||
src.icon_state = "labcoat_red_open"
|
||||
usr << "You unbutton the labcoat."
|
||||
else if(src.icon_state == "labcoat_cdc_open")
|
||||
src.icon_state = "labcoat_cdc"
|
||||
usr << "You button up the labcoat."
|
||||
else if(src.icon_state == "labcoat_cdc")
|
||||
src.icon_state = "labcoat_cdc_open"
|
||||
usr << "You unbutton the labcoat."
|
||||
|
||||
else
|
||||
usr << "Sorry! The suit you're wearing doesn't have buttons!"
|
||||
usr.update_clothing()
|
||||
|
||||
@@ -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> | ")
|
||||
|
||||
@@ -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()
|
||||
..()
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user