Merge branch 'master' of https://github.com/tgstation/tgstation into multiplierspeed
@@ -0,0 +1,424 @@
|
||||
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||
"aa" = (
|
||||
/turf/open/space,
|
||||
/area/space)
|
||||
"ab" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"ac" = (
|
||||
/obj/structure/grille,
|
||||
/obj/structure/window/shuttle,
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/escape)
|
||||
"ad" = (
|
||||
/turf/open/space,
|
||||
/area/shuttle/escape)
|
||||
"ae" = (
|
||||
/turf/closed/wall/mineral/titanium/nodiagonal,
|
||||
/area/shuttle/escape)
|
||||
"af" = (
|
||||
/obj/structure/table/wood,
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"ag" = (
|
||||
/obj/structure/chair/comfy/brown{
|
||||
tag = "icon-comfychair (NORTH)";
|
||||
icon_state = "comfychair";
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"ah" = (
|
||||
/obj/machinery/computer/emergency_shuttle,
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"ai" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"aj" = (
|
||||
/obj/machinery/computer/atmos_alert,
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"ak" = (
|
||||
/obj/structure/chair/comfy/brown{
|
||||
tag = "icon-comfychair (WEST)";
|
||||
icon_state = "comfychair";
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"al" = (
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"am" = (
|
||||
/obj/structure/chair/comfy/brown{
|
||||
tag = "icon-comfychair (EAST)";
|
||||
icon_state = "comfychair";
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"an" = (
|
||||
/obj/machinery/computer/crew,
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"ao" = (
|
||||
/obj/item/device/radio/intercom{
|
||||
name = "Station Intercom (General)";
|
||||
pixel_x = 0;
|
||||
pixel_y = -29
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"ap" = (
|
||||
/obj/machinery/button/flasher{
|
||||
id = "cockpit_flasher";
|
||||
pixel_x = 6;
|
||||
pixel_y = -24
|
||||
},
|
||||
/obj/structure/table/wood/poker,
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"aq" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"ar" = (
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Emergency Shuttle Airlock";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
/turf/open/floor/plasteel/shuttle/red,
|
||||
/area/shuttle/escape)
|
||||
"as" = (
|
||||
/obj/machinery/door/airlock/glass{
|
||||
name = "Emergency Shuttle Cockpit";
|
||||
req_access_txt = "19"
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/shuttle/escape)
|
||||
"at" = (
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Emergency Shuttle Airlock";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
/turf/open/floor/plasteel/shuttle/white,
|
||||
/area/shuttle/escape)
|
||||
"au" = (
|
||||
/obj/structure/chair,
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"av" = (
|
||||
/obj/machinery/flasher{
|
||||
id = "cockpit_flasher";
|
||||
pixel_x = 6;
|
||||
pixel_y = 24
|
||||
},
|
||||
/turf/open/floor/plasteel/bar,
|
||||
/area/shuttle/escape)
|
||||
"aw" = (
|
||||
/turf/open/floor/plasteel/bar,
|
||||
/area/shuttle/escape)
|
||||
"ax" = (
|
||||
/turf/open/floor/plasteel/shuttle/white,
|
||||
/area/shuttle/escape)
|
||||
"ay" = (
|
||||
/obj/machinery/flasher{
|
||||
id = "shuttle_flasher";
|
||||
pixel_x = -24;
|
||||
pixel_y = 6
|
||||
},
|
||||
/obj/machinery/button/flasher{
|
||||
id = "shuttle_flasher";
|
||||
pixel_x = -24;
|
||||
pixel_y = -6
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"az" = (
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"aA" = (
|
||||
/obj/structure/grille,
|
||||
/obj/machinery/door/airlock/glass{
|
||||
name = "Emergency Shuttle Brig";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/escape)
|
||||
"aB" = (
|
||||
/obj/structure/grille/broken,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/shuttle/escape)
|
||||
"aC" = (
|
||||
/turf/closed/wall/mineral/titanium/interior,
|
||||
/area/shuttle/escape)
|
||||
"aD" = (
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Emergency Shuttle Airlock";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/escape)
|
||||
"aE" = (
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_y = -30
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/weapon/extinguisher,
|
||||
/obj/item/weapon/crowbar,
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"aF" = (
|
||||
/obj/structure/chair{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"aG" = (
|
||||
/obj/item/weapon/twohanded/required/kirbyplants/random,
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aH" = (
|
||||
/obj/structure/chair,
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aI" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/weapon/storage/firstaid/regular,
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aJ" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/device/radio/intercom{
|
||||
name = "Station Intercom (General)";
|
||||
pixel_x = 0;
|
||||
pixel_y = 23
|
||||
},
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aK" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/shuttle/white,
|
||||
/area/shuttle/escape)
|
||||
"aL" = (
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Emergency Shuttle Airlock"
|
||||
},
|
||||
/obj/docking_port/mobile/emergency{
|
||||
timid = 1;
|
||||
name = "Box emergency shuttle"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/escape)
|
||||
"aM" = (
|
||||
/obj/structure/chair{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aN" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/chair{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aO" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/toy/cards/deck/cas/black,
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aP" = (
|
||||
/obj/structure/table/wood,
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aQ" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/toy/cards/deck/cas,
|
||||
/turf/open/floor/plasteel/shuttle/white,
|
||||
/area/shuttle/escape)
|
||||
"aR" = (
|
||||
/obj/structure/chair/comfy/brown{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/shuttle/white,
|
||||
/area/shuttle/escape)
|
||||
"aS" = (
|
||||
/obj/structure/table_frame,
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aT" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/weapon/storage/firstaid/fire,
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aU" = (
|
||||
/obj/structure/chair{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_y = -30
|
||||
},
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aV" = (
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aW" = (
|
||||
/obj/structure/table,
|
||||
/obj/machinery/recharger,
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aX" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/shuttle,
|
||||
/area/shuttle/escape)
|
||||
"aY" = (
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/shuttle/escape)
|
||||
"aZ" = (
|
||||
/obj/structure/chair/wood{
|
||||
tag = "icon-wooden_chair (NORTH)";
|
||||
icon_state = "wooden_chair";
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/shuttle/escape)
|
||||
"ba" = (
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Emergency Shuttle Airlock"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/escape)
|
||||
"bb" = (
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_x = 0;
|
||||
pixel_y = -30
|
||||
},
|
||||
/turf/open/floor/plasteel/bar,
|
||||
/area/shuttle/escape)
|
||||
"bc" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/barricade/wooden,
|
||||
/turf/open/floor/plasteel/bar,
|
||||
/area/shuttle/escape)
|
||||
"bd" = (
|
||||
/obj/machinery/status_display,
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"be" = (
|
||||
/obj/machinery/door/airlock{
|
||||
name = "Unisex Restrooms";
|
||||
req_access_txt = "0"
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/shuttle/escape)
|
||||
"bf" = (
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/shuttle/escape)
|
||||
"bg" = (
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_y = 30
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/shuttle/escape)
|
||||
"bh" = (
|
||||
/obj/machinery/door/airlock{
|
||||
name = "Unit 1"
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/shuttle/escape)
|
||||
"bi" = (
|
||||
/obj/machinery/door/airlock{
|
||||
name = "Unit 2"
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/shuttle/escape)
|
||||
"bj" = (
|
||||
/obj/machinery/door/airlock{
|
||||
name = "Unit B"
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/shuttle/escape)
|
||||
"bk" = (
|
||||
/obj/structure/toilet{
|
||||
tag = "icon-toilet00 (EAST)";
|
||||
icon_state = "toilet00";
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/shuttle/escape)
|
||||
"bl" = (
|
||||
/obj/machinery/recharge_station,
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/shuttle/escape)
|
||||
"bm" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/shuttle/engine/heater,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/escape)
|
||||
"bn" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/shuttle/engine/heater,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/escape)
|
||||
"bo" = (
|
||||
/obj/structure/shuttle/engine/propulsion,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/escape)
|
||||
|
||||
(
|
||||
1,
|
||||
1,
|
||||
1) = {"
|
||||
aaaaabacacacacacadaaaa
|
||||
aaabaeafagahagaiadadaa
|
||||
aaabajakalalalamadadaa
|
||||
aaabanalaoapaqadadadaa
|
||||
abacaracababasacatacad
|
||||
abacauacacavawacaxacad
|
||||
abayazazaAaBacaCaxaCab
|
||||
aDaEaFaFacaGaHaHaxaIaJ
|
||||
ababababaeaxaxaxaxaxaK
|
||||
aLaMaMaMaMaxaMaMaMaMaN
|
||||
abaBacacacaxacacacacaN
|
||||
acaHaOaPaHaxaHaHaHaHaN
|
||||
acaxaQaRaxaxaxaxaxaxaK
|
||||
acaSaTaPaMaMaMaUaVaWaX
|
||||
abaYaZaZacacacabababab
|
||||
baawbbawawawbcadadadad
|
||||
ababababbdbeaeadadadad
|
||||
babfbfbgbfbfabadadadad
|
||||
abbhabbiabbjabadadadad
|
||||
abbkabbkabblabadadadad
|
||||
ababbmbmbmbmbnadadadad
|
||||
aaabboboboboboadadadaa
|
||||
"}
|
||||
@@ -114,6 +114,8 @@
|
||||
|
||||
#define is_cleanable(A) (istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/rune)) //if something is cleanable
|
||||
|
||||
#define isorgan(A) (istype(A, /obj/item/organ))
|
||||
|
||||
//Assemblies
|
||||
#define isassembly(O) (istype(O, /obj/item/device/assembly))
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
/*
|
||||
* A large number of misc global procs.
|
||||
|
||||
@@ -91,6 +91,9 @@
|
||||
leave_all_huds() //leave all the huds in the old body, so it won't get huds if somebody else enters it
|
||||
current = new_character //associate ourself with our new body
|
||||
new_character.mind = src //and associate our new body with ourself
|
||||
if(iscarbon(new_character))
|
||||
var/mob/living/carbon/C = new_character
|
||||
C.last_mind = src
|
||||
transfer_antag_huds(hud_to_transfer) //inherit the antag HUD
|
||||
transfer_actions(new_character)
|
||||
|
||||
@@ -1533,6 +1536,10 @@
|
||||
mind.name = real_name
|
||||
mind.current = src
|
||||
|
||||
/mob/living/carbon/mind_initialize()
|
||||
..()
|
||||
last_mind = mind
|
||||
|
||||
//HUMAN
|
||||
/mob/living/carbon/human/mind_initialize()
|
||||
..()
|
||||
|
||||
@@ -118,6 +118,13 @@
|
||||
credit_cost = 1000
|
||||
description = "Despite it's namesake, this shuttle is actually only slightly smaller than standard, and still complete with a brig and medbay."
|
||||
|
||||
/datum/map_template/shuttle/emergency/fuck
|
||||
suffix = "scrapheap"
|
||||
name = "Standby Evacuation Vessel \"Scrapheap Challenge\""
|
||||
credit_cost = -1000
|
||||
description = "Due to a lack of functional emergency shuttles, we bought this second hand from a scrapyard and pressed it into service. Please do not lean to heavily on the exterior windows, they are fragile."
|
||||
admin_notes = "An abomination with no functional medbay, sections missing, and some very fragile windows. Surprisingly airtight."
|
||||
|
||||
/datum/map_template/shuttle/emergency/narnar
|
||||
suffix = "narnar"
|
||||
name = "Shuttle 667"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
//Few global vars to track the blob
|
||||
var/list/blobs = list() //complete list of all blobs made.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
/datum/game_mode/blob/send_intercept(report = 0)
|
||||
var/intercepttext = ""
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
/datum/game_mode
|
||||
var/list/datum/mind/cult = list()
|
||||
|
||||
@@ -33,8 +33,10 @@
|
||||
if(!l_state)
|
||||
l_state = l_hand.icon_state
|
||||
|
||||
var/image/l_hand_image = l_hand.build_worn_icon(state = l_state, default_layer = DEVIL_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE)
|
||||
var/image/l_hand_image = l_hand.build_worn_icon(state = l_state, default_layer = DEVIL_HANDS_LAYER, default_icon_file = l_hand.righthand_file, isinhands = TRUE)
|
||||
|
||||
var/reflect = matrix(-1, 0, 0, 0, 1, 0)
|
||||
l_hand_image.transform = reflect
|
||||
hands_overlays += l_hand_image
|
||||
|
||||
if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
/*
|
||||
* GAMEMODES (by Rastaf0)
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
desc = "Use to send a declaration of hostilities to the target, delaying your shuttle departure for 20 minutes while they prepare for your assault. \
|
||||
Such a brazen move will attract the attention of powerful benefactors within the Syndicate, who will supply your team with a massive amount of bonus telecrystals. \
|
||||
Must be used within five minutes, or your benefactors will lose interest."
|
||||
var/declaring_war = 0
|
||||
var/declaring_war = FALSE
|
||||
|
||||
/obj/item/device/nuclear_challenge/attack_self(mob/living/user)
|
||||
if(!check_allowed(user))
|
||||
return
|
||||
|
||||
declaring_war = 1
|
||||
var/are_you_sure = alert(user, "Consult your team carefully before you declare war on [station_name()]]. Are you sure you want to alert the enemy crew? You have [round((world.time-round_start_time - CHALLENGE_TIME_LIMIT)/10)] seconds to decide", "Declare war?", "Yes", "No")
|
||||
declaring_war = 0
|
||||
declaring_war = TRUE
|
||||
var/are_you_sure = alert(user, "Consult your team carefully before you declare war on [station_name()]]. Are you sure you want to alert the enemy crew? You have [-round((world.time-round_start_time - CHALLENGE_TIME_LIMIT)/10)] seconds to decide", "Declare war?", "Yes", "No")
|
||||
declaring_war = FALSE
|
||||
|
||||
if(!check_allowed(user))
|
||||
return
|
||||
@@ -28,17 +28,20 @@
|
||||
return
|
||||
|
||||
var/war_declaration = "[user.real_name] has declared his intent to utterly destroy [station_name()] with a nuclear device, and dares the crew to try and stop them."
|
||||
var/custom_threat = alert(user, "Do you want to customize your declaration?", "Customize?", "Yes", "No")
|
||||
|
||||
if(custom_threat == "No")
|
||||
return
|
||||
declaring_war = TRUE
|
||||
var/custom_threat = alert(user, "Do you want to customize your declaration?", "Customize?", "Yes", "No")
|
||||
declaring_war = FALSE
|
||||
|
||||
if(!check_allowed(user))
|
||||
return
|
||||
|
||||
war_declaration = stripped_input(user, "Insert your custom declaration", "Declaration")
|
||||
if(custom_threat == "Yes")
|
||||
declaring_war = TRUE
|
||||
war_declaration = stripped_input(user, "Insert your custom declaration", "Declaration")
|
||||
declaring_war = FALSE
|
||||
|
||||
if(!check_allowed(user) && !war_declaration)
|
||||
if(!check_allowed(user) || !war_declaration)
|
||||
return
|
||||
|
||||
priority_announce(war_declaration, title = "Declaration of War", sound = 'sound/machines/Alarm.ogg')
|
||||
@@ -78,4 +81,4 @@
|
||||
|
||||
#undef CHALLENGE_TELECRYSTALS
|
||||
#undef CHALLENGE_MIN_PLAYERS
|
||||
#undef CHALLENGE_SHUTTLE_DELAY
|
||||
#undef CHALLENGE_SHUTTLE_DELAY
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
var/hsboxspawn = 1
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
//Keeps track of the time for the ID console. Having it as a global variable prevents people from dismantling/reassembling it to
|
||||
//increase the slots of many jobs.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
var/const/CALL_SHUTTLE_REASON_LENGTH = 12
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
/obj/machinery/computer/upload
|
||||
var/mob/living/silicon/current = null //The target of future law uploads
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
/obj/machinery/computer/med_data//TODO:SANITY
|
||||
name = "medical records console"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
|
||||
/obj/machinery/computer/robotics
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
/obj/machinery/computer/secure_data//TODO:SANITY
|
||||
name = "security records console"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#define PRESET_MEDIUM 3000
|
||||
#define PRESET_LONG 6000
|
||||
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Brig Door control displays.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
/obj/machinery/computer/telecomms/server
|
||||
name = "telecommunications server monitoring console"
|
||||
|
||||
@@ -100,10 +100,10 @@
|
||||
return
|
||||
|
||||
if(!check_hub_connection())
|
||||
say("<span class='warning'>Error: Unable to detect hub.</span>")
|
||||
say("Error: Unable to detect hub.")
|
||||
return
|
||||
if(calibrating)
|
||||
say("<span class='warning'>Error: Calibration in progress. Stand by.</span>")
|
||||
say("Error: Calibration in progress. Stand by.")
|
||||
return
|
||||
|
||||
if(href_list["regimeset"])
|
||||
@@ -123,21 +123,21 @@
|
||||
target = get_turf(locked.locked_location)
|
||||
if(href_list["calibrate"])
|
||||
if(!target)
|
||||
say("<span class='danger'>Error: No target set to calibrate to.</span>")
|
||||
say("Error: No target set to calibrate to.")
|
||||
return
|
||||
if(power_station.teleporter_hub.calibrated || power_station.teleporter_hub.accurate >= 3)
|
||||
say("<span class='warning'>Hub is already calibrated!</span>")
|
||||
say("Hub is already calibrated!")
|
||||
return
|
||||
say("<span class='notice'>Processing hub calibration to target...</span>")
|
||||
say("Processing hub calibration to target...")
|
||||
|
||||
calibrating = 1
|
||||
spawn(50 * (3 - power_station.teleporter_hub.accurate)) //Better parts mean faster calibration
|
||||
calibrating = 0
|
||||
if(check_hub_connection())
|
||||
power_station.teleporter_hub.calibrated = 1
|
||||
say("<span class='notice'>Calibration complete.</span>")
|
||||
say("Calibration complete.")
|
||||
else
|
||||
say("<span class='danger'>Error: Unable to detect hub.</span>")
|
||||
say("Error: Unable to detect hub.")
|
||||
updateDialog()
|
||||
|
||||
updateDialog()
|
||||
|
||||
@@ -4,7 +4,6 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
|
||||
name = "item"
|
||||
icon = 'icons/obj/items.dmi'
|
||||
var/item_state = null
|
||||
var/lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
|
||||
var/righthand_file = 'icons/mob/inhands/items_righthand.dmi'
|
||||
|
||||
//Dimensions of the icon file used when this item is worn, eg: hats.dmi
|
||||
|
||||
@@ -89,8 +89,18 @@
|
||||
else
|
||||
user << "<span class='warning'>You need one sheet of glass to replace lights!</span>"
|
||||
|
||||
if(istype(W, /obj/item/weapon/shard))
|
||||
if(uses >= max_uses)
|
||||
user << "<span class='warning'>[src.name] is full.</span>"
|
||||
return
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
AddUses(round(increment*0.75))
|
||||
user << "<span class='notice'>You insert a shard of glass into the [src.name]. You have [uses] light\s remaining.</span>"
|
||||
qdel(W)
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/light))
|
||||
var/new_bulbs = 0
|
||||
var/obj/item/weapon/light/L = W
|
||||
if(L.status == 0) // LIGHT OKAY
|
||||
if(uses < max_uses)
|
||||
@@ -101,11 +111,9 @@
|
||||
else
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
new_bulbs += AddShards(1)
|
||||
user << "<span class='notice'>You insert the [L.name] into the [src.name]</span>"
|
||||
AddShards(1, user)
|
||||
qdel(L)
|
||||
if(new_bulbs != 0)
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
user << "<span class='notice'>You insert the [L.name] into the [src.name]. " + status_string() + "</span>"
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/storage))
|
||||
@@ -126,7 +134,7 @@
|
||||
|
||||
else if(L.status == LIGHT_BROKEN || L.status == LIGHT_BURNED)
|
||||
replaced_something = TRUE
|
||||
AddShards(1)
|
||||
AddShards(1, user)
|
||||
qdel(L)
|
||||
|
||||
if(!found_lightbulbs)
|
||||
@@ -146,7 +154,6 @@
|
||||
/obj/item/device/lightreplacer/attack_self(mob/user)
|
||||
user << status_string()
|
||||
|
||||
|
||||
/obj/item/device/lightreplacer/update_icon()
|
||||
icon_state = "lightreplacer[emagged]"
|
||||
|
||||
@@ -154,7 +161,6 @@
|
||||
return "It has [uses] light\s remaining (plus [bulb_shards] fragment\s)."
|
||||
|
||||
/obj/item/device/lightreplacer/proc/Use(mob/user)
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
AddUses(-1)
|
||||
return 1
|
||||
@@ -163,12 +169,15 @@
|
||||
/obj/item/device/lightreplacer/proc/AddUses(amount = 1)
|
||||
uses = Clamp(uses + amount, 0, max_uses)
|
||||
|
||||
/obj/item/device/lightreplacer/proc/AddShards(amount = 1)
|
||||
/obj/item/device/lightreplacer/proc/AddShards(amount = 1, user)
|
||||
bulb_shards += amount
|
||||
var/new_bulbs = round(bulb_shards / shards_required)
|
||||
if(new_bulbs > 0)
|
||||
AddUses(new_bulbs)
|
||||
bulb_shards = bulb_shards % shards_required
|
||||
if(new_bulbs != 0)
|
||||
user << "<span class='notice'>\The [src] has fabricated a new bulb from the broken glass it has stored. It now has [uses] uses.</span>"
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
return new_bulbs
|
||||
|
||||
/obj/item/device/lightreplacer/proc/Charge(var/mob/user)
|
||||
@@ -185,11 +194,7 @@
|
||||
U << "<span class='notice'>You replace the [target.fitting] with \the [src].</span>"
|
||||
|
||||
if(target.status != LIGHT_EMPTY)
|
||||
var/new_bulbs = AddShards(1)
|
||||
if(new_bulbs != 0)
|
||||
U << "<span class='notice'>\The [src] has fabricated a new bulb from the broken bulbs it has stored. It now has [uses] uses.</span>"
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
|
||||
AddShards(1, U)
|
||||
target.status = LIGHT_EMPTY
|
||||
target.update()
|
||||
|
||||
@@ -223,11 +228,8 @@
|
||||
name = initial(name)
|
||||
update_icon()
|
||||
|
||||
//Can you use it?
|
||||
|
||||
/obj/item/device/lightreplacer/proc/CanUse(mob/living/user)
|
||||
src.add_fingerprint(user)
|
||||
//Not sure what else to check for. Maybe if clumsy?
|
||||
if(uses > 0)
|
||||
return 1
|
||||
else
|
||||
|
||||
@@ -330,7 +330,9 @@
|
||||
|
||||
|
||||
/obj/item/weapon/shard/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/weldingtool))
|
||||
if(istype(I, /obj/item/device/lightreplacer))
|
||||
I.attackby(src, user)
|
||||
else if(istype(I, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = I
|
||||
if(WT.remove_fuel(0, user))
|
||||
var/obj/item/stack/sheet/glass/NG = new (user.loc)
|
||||
@@ -367,4 +369,4 @@
|
||||
H.visible_message("<span class='danger'>[H] slides on the broken glass!</span>", \
|
||||
"<span class='userdanger'>You slide on the broken glass!</span>")
|
||||
|
||||
cooldown = world.time
|
||||
cooldown = world.time
|
||||
|
||||
@@ -135,7 +135,6 @@
|
||||
icon = 'icons/obj/guns/projectile.dmi'
|
||||
icon_state = "revolver"
|
||||
item_state = "gun"
|
||||
lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/guns_righthand.dmi'
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BELT
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
/*
|
||||
CONTAINS:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
/*
|
||||
CONTAINS:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
/obj/machinery/implantchair
|
||||
name = "mindshield implanter"
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
icon = 'icons/obj/pneumaticCannon.dmi'
|
||||
icon_state = "pneumaticCannon"
|
||||
item_state = "bulldog"
|
||||
lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/guns_righthand.dmi'
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 60, acid = 50)
|
||||
var/maxWeightClass = 20 //The max weight of items that can fit into the cannon
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
/obj/item/weapon/storage/lockbox
|
||||
name = "lockbox"
|
||||
|
||||
@@ -367,10 +367,10 @@
|
||||
W.plane = initial(W.plane)
|
||||
W.loc = new_location
|
||||
|
||||
if(usr)
|
||||
orient2hud(usr)
|
||||
if(usr.s_active)
|
||||
usr.s_active.show_to(usr)
|
||||
for(var/mob/M in can_see_contents())
|
||||
orient2hud(M)
|
||||
show_to(M)
|
||||
|
||||
if(W.maptext)
|
||||
W.maptext = ""
|
||||
W.on_exit_storage(src)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
/* Tools!
|
||||
* Note: Multitools are /obj/item/device
|
||||
|
||||
@@ -1,44 +1,5 @@
|
||||
/obj/item/weapon
|
||||
|
||||
var/unique_rename = 0 //allows renaming with a pen
|
||||
|
||||
/obj/item/weapon/examine(mob/user)
|
||||
..()
|
||||
if(unique_rename)
|
||||
user << "<span class='notice'>Use a pen on it to rename it or change its description.</span>"
|
||||
|
||||
/obj/item/weapon/attackby(obj/item/I, mob/user, params)
|
||||
if(unique_rename)
|
||||
if(istype(I, /obj/item/weapon/pen))
|
||||
var/penchoice = alert("What would you like to edit?", "Rename or change description?", "Rename", "Change description", "Cancel")
|
||||
if(!qdeleted(src) && user.canUseTopic(src, BE_CLOSE))
|
||||
if(penchoice == "Rename")
|
||||
rename_weapon(user)
|
||||
if(penchoice == "Change description")
|
||||
redesc_weapon(user)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/proc/rename_weapon(mob/M)
|
||||
var/oldname = name
|
||||
var/input = stripped_input(M,"What do you want to name /the [name]?", ,"", MAX_NAME_LEN)
|
||||
|
||||
if(!qdeleted(src) && M.canUseTopic(src, BE_CLOSE) && input != "")
|
||||
name = input
|
||||
M << "/The [oldname] has successfully been renamed to /the [input]."
|
||||
return
|
||||
else
|
||||
return
|
||||
|
||||
/obj/item/weapon/proc/redesc_weapon(mob/M)
|
||||
var/input = stripped_input(M,"Describe your object here", ,"", 100)
|
||||
|
||||
if(!qdeleted(src) && M.canUseTopic(src, BE_CLOSE) && input != "")
|
||||
desc = input
|
||||
M << "You have successfully changed /the [name]'s description."
|
||||
return
|
||||
else
|
||||
return
|
||||
|
||||
/obj/item/weapon/banhammer
|
||||
desc = "A banhammer"
|
||||
name = "banhammer"
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
var/persistence_replacement = null //have something WAY too amazing to live to the next round? Set a new path here. Overuse of this var will make me upset.
|
||||
var/is_frozen = FALSE
|
||||
var/unique_rename = 0 // can you customize the description/name of the thing?
|
||||
|
||||
|
||||
/obj/New()
|
||||
@@ -187,3 +188,44 @@
|
||||
/obj/vv_get_dropdown()
|
||||
. = ..()
|
||||
.["Delete all of type"] = "?_src_=vars;delall=\ref[src]"
|
||||
|
||||
/obj/examine(mob/user)
|
||||
..()
|
||||
if(unique_rename)
|
||||
user << "<span class='notice'>Use a pen on it to rename it or change its description.</span>"
|
||||
|
||||
/obj/attackby(obj/item/I, mob/user, params)
|
||||
if(unique_rename)
|
||||
if(istype(I, /obj/item/weapon/pen))
|
||||
var/penchoice = alert("What would you like to edit?", "Rename or change description?", "Rename", "Change description", "Cancel")
|
||||
if(!qdeleted(src) && user.canUseTopic(src, BE_CLOSE))
|
||||
if(penchoice == "Rename")
|
||||
rename_obj(user)
|
||||
if(penchoice == "Change description")
|
||||
redesc_obj(user)
|
||||
..()
|
||||
|
||||
/obj/proc/rename_obj(mob/M)
|
||||
var/input = stripped_input(M,"What do you want to name \the [name]?", ,"", MAX_NAME_LEN)
|
||||
var/oldname = name
|
||||
|
||||
if(!qdeleted(src) && M.canUseTopic(src, BE_CLOSE) && input != "")
|
||||
if(oldname == input)
|
||||
M << "You changed \the [name] to... well... \the [name]."
|
||||
return
|
||||
else
|
||||
name = input
|
||||
M << "\The [oldname] has been successfully been renamed to \the [input]."
|
||||
return
|
||||
else
|
||||
return
|
||||
|
||||
/obj/proc/redesc_obj(mob/M)
|
||||
var/input = stripped_input(M,"Describe \the [name] here", ,"", 100)
|
||||
|
||||
if(!qdeleted(src) && M.canUseTopic(src, BE_CLOSE) && input != "")
|
||||
desc = input
|
||||
M << "You have successfully changed \the [name]'s description."
|
||||
return
|
||||
else
|
||||
return
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
/datum/song
|
||||
var/name = "Untitled"
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
return 1
|
||||
|
||||
/turf/open/handle_slip(mob/living/carbon/C, s_amount, w_amount, obj/O, lube)
|
||||
if(C.movement_type & FLYING)
|
||||
if((C.movement_type & FLYING) || C.slipping)
|
||||
return 0
|
||||
if(has_gravity(src))
|
||||
var/obj/buckled_obj
|
||||
@@ -144,25 +144,29 @@
|
||||
C.accident(I)
|
||||
|
||||
var/olddir = C.dir
|
||||
if(!(lube&SLIDE_ICE))
|
||||
if(!(lube & SLIDE_ICE))
|
||||
C.Stun(s_amount)
|
||||
C.Weaken(w_amount)
|
||||
C.stop_pulling()
|
||||
else
|
||||
C.Stun(1)
|
||||
|
||||
if(buckled_obj)
|
||||
buckled_obj.unbuckle_mob(C)
|
||||
step(buckled_obj, olddir)
|
||||
else if(lube&SLIDE)
|
||||
C.slipping = TRUE
|
||||
for(var/i=1, i<5, i++)
|
||||
spawn (i)
|
||||
if(i == 4)
|
||||
C.slipping = FALSE
|
||||
step(C, olddir)
|
||||
C.spin(1,1)
|
||||
else if(lube&SLIDE_ICE)
|
||||
C.slipping = TRUE
|
||||
spawn(1)
|
||||
step(C, olddir)
|
||||
C.slipping = FALSE
|
||||
step(C, olddir)
|
||||
return 1
|
||||
|
||||
/turf/open/proc/MakeSlippery(wet_setting = TURF_WET_WATER, min_wet_time = 0, wet_time_to_add = 0) // 1 = Water, 2 = Lube, 3 = Ice, 4 = Permafrost, 5 = Slide
|
||||
|
||||
@@ -30,11 +30,11 @@
|
||||
user << "<span class='notice'>The support rods have been <i>sliced through</i>, and the outer sheath is <b>connected loosely</b> to the girder.</span>"
|
||||
|
||||
/turf/closed/wall/r_wall/break_wall()
|
||||
new sheet_type(loc)
|
||||
new sheet_type(src)
|
||||
return (new /obj/structure/girder/reinforced(src))
|
||||
|
||||
/turf/closed/wall/r_wall/devastate_wall()
|
||||
new sheet_type(loc)
|
||||
new sheet_type(src)
|
||||
new /obj/item/stack/sheet/metal(src, 2)
|
||||
|
||||
/turf/closed/wall/r_wall/attack_animal(mob/living/simple_animal/M)
|
||||
|
||||
@@ -43,12 +43,12 @@
|
||||
ChangeTurf(/turf/open/floor/plating)
|
||||
|
||||
/turf/closed/wall/proc/break_wall()
|
||||
var/obj/item/stack/sheet/builtin_sheet = new sheet_type(loc)
|
||||
var/obj/item/stack/sheet/builtin_sheet = new sheet_type(src)
|
||||
builtin_sheet.amount = 2
|
||||
return (new /obj/structure/girder(src))
|
||||
|
||||
/turf/closed/wall/proc/devastate_wall()
|
||||
var/obj/item/stack/sheet/builtin_sheet = new sheet_type(loc)
|
||||
var/obj/item/stack/sheet/builtin_sheet = new sheet_type(src)
|
||||
builtin_sheet.amount = 2
|
||||
new /obj/item/stack/sheet/metal(src)
|
||||
|
||||
|
||||
@@ -3,20 +3,13 @@
|
||||
for(var/A in typesof(/obj/item))
|
||||
var/obj/item/O = new A( locate(1,1,1) )
|
||||
if(!O) continue
|
||||
var/icon/IL = new(O.lefthand_file)
|
||||
var/list/Lstates = IL.IconStates()
|
||||
var/icon/IR = new(O.righthand_file)
|
||||
var/list/Rstates = IR.IconStates()
|
||||
var/icon/J = new(O.icon)
|
||||
var/list/istates = J.IconStates()
|
||||
if(!Lstates.Find(O.icon_state) && !Lstates.Find(O.item_state))
|
||||
if(O.icon_state)
|
||||
text += "[O.type] WANTS IN LEFT HAND CALLED\n\"[O.icon_state]\".\n"
|
||||
if(!Rstates.Find(O.icon_state) && !Rstates.Find(O.item_state))
|
||||
if(O.icon_state)
|
||||
text += "[O.type] WANTS IN RIGHT HAND CALLED\n\"[O.icon_state]\".\n"
|
||||
|
||||
|
||||
if(O.icon_state)
|
||||
if(!istates.Find(O.icon_state))
|
||||
text += "[O.type] MISSING NORMAL ICON CALLED\n\"[O.icon_state]\" IN \"[O.icon]\"\n"
|
||||
|
||||
@@ -220,3 +220,62 @@
|
||||
|
||||
/obj/item/device/assembly/flash/armimplant/proc/cooldown()
|
||||
overheat = FALSE
|
||||
|
||||
/obj/item/device/assembly/flash/shield
|
||||
name = "strobe shield"
|
||||
desc = "A shield with a built in, high intensity light capable of blinding and disorienting suspects. Takes regular handheld flashes as bulbs."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "flashshield"
|
||||
item_state = "flashshield"
|
||||
slot_flags = SLOT_BACK
|
||||
force = 10
|
||||
throwforce = 5
|
||||
throw_speed = 2
|
||||
throw_range = 3
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
materials = list(MAT_GLASS=7500, MAT_METAL=1000)
|
||||
origin_tech = "materials=3;combat=4"
|
||||
attack_verb = list("shoved", "bashed")
|
||||
block_chance = 50
|
||||
armor = list(melee = 50, bullet = 50, laser = 50, energy = 0, bomb = 30, bio = 0, rad = 0, fire = 80, acid = 70)
|
||||
|
||||
/obj/item/device/assembly/flash/shield/flash_recharge(interval=10)
|
||||
if(times_used >= 4)
|
||||
burn_out()
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/obj/item/device/assembly/flash/shield/attackby(obj/item/weapon/W, mob/user)
|
||||
if(istype(W, /obj/item/device/assembly/flash/handheld))
|
||||
var/obj/item/device/assembly/flash/handheld/flash = W
|
||||
if(flash.crit_fail)
|
||||
user << "No sense replacing it with a broken bulb."
|
||||
return
|
||||
else
|
||||
user << "You begin to replace the bulb."
|
||||
if(do_after(user, 20, target = src))
|
||||
if(flash.crit_fail || !flash || qdeleted(flash))
|
||||
return
|
||||
crit_fail = FALSE
|
||||
times_used = 0
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
update_icon()
|
||||
flash.crit_fail = TRUE
|
||||
flash.update_icon()
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/device/assembly/flash/shield/update_icon(flash = 0)
|
||||
item_state = "flashshield"
|
||||
item_state = "flashshield"
|
||||
|
||||
if(crit_fail)
|
||||
icon_state = "riot"
|
||||
item_state = "riot"
|
||||
else if(flash)
|
||||
item_state = "flashshield_flash"
|
||||
item_state = "flashshield_flash"
|
||||
addtimer(src, "update_icon", 5)
|
||||
|
||||
if(holder)
|
||||
holder.update_icon()
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
/*
|
||||
SwapMaps library by Lummox JR
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
|
||||
var/list/preferences_datums = list()
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
var/visor_flags = 0 // flags that are added/removed when an item is adjusted up/down
|
||||
var/visor_flags_inv = 0 // same as visor_flags, but for flags_inv
|
||||
var/visor_flags_cover = 0 // same as above, but for flags_cover
|
||||
lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/clothing_righthand.dmi'
|
||||
var/alt_desc = null
|
||||
var/toggle_message = null
|
||||
|
||||
@@ -39,6 +39,15 @@
|
||||
time = 15
|
||||
category = CAT_WEAPON
|
||||
|
||||
/datum/crafting_recipe/strobeshield
|
||||
name = "strobe shield"
|
||||
result = /obj/item/device/assembly/flash/shield
|
||||
reqs = list(/obj/item/wallframe/flasher = 1,
|
||||
/obj/item/device/assembly/flash/handheld = 1,
|
||||
/obj/item/weapon/shield/riot = 1)
|
||||
time = 40
|
||||
category = CAT_WEAPON
|
||||
|
||||
/datum/crafting_recipe/molotov
|
||||
name = "Molotov"
|
||||
result = /obj/item/weapon/reagent_containers/food/drinks/bottle/molotov
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/datum/round_event_control/sentience
|
||||
name = "Random Human-level Intelligence"
|
||||
typepath = /datum/round_event/ghost_role/sentience
|
||||
weight = 5
|
||||
|
||||
/datum/round_event/ghost_role/sentience
|
||||
minimum_required = 1
|
||||
role_name = "random animal"
|
||||
|
||||
/datum/round_event/ghost_role/sentience/spawn_role()
|
||||
var/list/mob/dead/observer/candidates
|
||||
candidates = get_candidates(ROLE_ALIEN, null, ROLE_ALIEN)
|
||||
|
||||
// find our chosen mob to breathe life into
|
||||
// Mobs have to be simple animals, mindless and on station
|
||||
var/list/potential = list()
|
||||
for(var/mob/living/simple_animal/L in living_mob_list)
|
||||
var/turf/T = get_turf(L)
|
||||
if(T.z != ZLEVEL_STATION)
|
||||
continue
|
||||
if(!(L in player_list) && !L.mind)
|
||||
potential += L
|
||||
|
||||
var/mob/living/simple_animal/SA = pick(potential)
|
||||
var/mob/dead/observer/SG = pick(candidates)
|
||||
|
||||
if(!SA || !SG)
|
||||
return FALSE
|
||||
|
||||
SA.key = SG.key
|
||||
SA.languages_spoken |= HUMAN
|
||||
SA.languages_understood |= HUMAN
|
||||
SA.sentience_act()
|
||||
|
||||
SA.maxHealth = max(SA.maxHealth, 200)
|
||||
SA.health = SA.maxHealth
|
||||
SA.del_on_death = FALSE
|
||||
|
||||
SA << "<span class='userdanger'>Hello world!</span>"
|
||||
SA << "<span class='warning'>Due to freak radiation and/or chemicals \
|
||||
and/or lucky chance, you have gained human level intelligence \
|
||||
and the ability to speak and understand human language!</span>"
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
//is this shit even used at all
|
||||
/proc/NewStutter(phrase,stunned)
|
||||
|
||||
@@ -181,10 +181,6 @@
|
||||
examine_line = "<span class='info'>It has a lot of liquid contents inside.</span>"
|
||||
origin_tech = list("biotech" = 5)
|
||||
|
||||
/datum/plant_gene/trait/squash/on_slip(obj/item/weapon/reagent_containers/food/snacks/grown/G, mob/living/carbon/target)
|
||||
G.squash(target)
|
||||
|
||||
|
||||
/datum/plant_gene/trait/slip
|
||||
// Makes plant slippery, unless it has a grown-type trash. Then the trash gets slippery.
|
||||
// Applies other trait effects (teleporting, etc) to the target by on_slip.
|
||||
@@ -321,7 +317,7 @@
|
||||
G.reagents.maximum_volume *= rate
|
||||
|
||||
/datum/plant_gene/trait/repeated_harvest
|
||||
name = "perennial growth"
|
||||
name = "Perennial Growth"
|
||||
|
||||
/datum/plant_gene/trait/repeated_harvest/can_add(obj/item/seeds/S)
|
||||
if(!..())
|
||||
@@ -331,7 +327,7 @@
|
||||
return TRUE
|
||||
|
||||
/datum/plant_gene/trait/battery
|
||||
name = "capacitive cellular production"
|
||||
name = "Capacitive Cell Production"
|
||||
|
||||
/datum/plant_gene/trait/battery/on_attackby(obj/item/weapon/reagent_containers/food/snacks/grown/G, obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/stack/cable_coil))
|
||||
@@ -359,7 +355,7 @@
|
||||
|
||||
|
||||
/datum/plant_gene/trait/stinging
|
||||
name = "hypodermic prickles"
|
||||
name = "Hypodermic Prickles"
|
||||
|
||||
/datum/plant_gene/trait/stinging/on_throw_impact(obj/item/weapon/reagent_containers/food/snacks/grown/G, atom/target)
|
||||
if(isliving(target) && G.reagents && G.reagents.total_volume)
|
||||
@@ -376,10 +372,10 @@
|
||||
trait_id = "plant_type"
|
||||
|
||||
/datum/plant_gene/trait/plant_type/weed_hardy
|
||||
name = "Robust Species"
|
||||
name = "Weed Adaptation"
|
||||
|
||||
/datum/plant_gene/trait/plant_type/fungal_metabolism
|
||||
name = "Fungal Vitality"
|
||||
|
||||
/datum/plant_gene/trait/plant_type/alien_properties
|
||||
name ="?????"
|
||||
name ="?????"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
/var/const/access_security = 1 // Security equipment
|
||||
/var/const/access_brig = 2 // Brig timers and permabrig
|
||||
|
||||
@@ -162,8 +162,13 @@
|
||||
blood_data["trace_chem"] = list2params(temp_chem)
|
||||
if(mind)
|
||||
blood_data["mind"] = mind
|
||||
else if(last_mind)
|
||||
blood_data["mind"] = last_mind
|
||||
if(ckey)
|
||||
blood_data["ckey"] = ckey
|
||||
else if(last_mind)
|
||||
blood_data["ckey"] = ckey(last_mind.key)
|
||||
|
||||
if(!suiciding)
|
||||
blood_data["cloneable"] = 1
|
||||
blood_data["blood_type"] = copytext(dna.blood_type,1,0)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
/obj/item/device/mmi
|
||||
name = "Man-Machine Interface"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
/mob/living/brain
|
||||
languages_spoken = HUMAN
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
/mob/living/carbon/alien/humanoid/proc/adjust_body_temperature(current, loc_temp, boost)
|
||||
var/temperature = current
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
/mob/living/carbon/alien/larva/Life()
|
||||
set invisibility = 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
//TODO: Make these simple_animals
|
||||
|
||||
|
||||
@@ -768,5 +768,5 @@
|
||||
. = ..()
|
||||
. += "---"
|
||||
.["Make AI"] = "?_src_=vars;makeai=\ref[src]"
|
||||
.["Modify bodypart"] = "<option value='?_src_=vars;editbodypart=\ref[src]'>Modify bodypart</option>"
|
||||
.["Modify bodypart"] = "?_src_=vars;editbodypart=\ref[src]"
|
||||
.["Modify organs"] = "?_src_=vars;editorgans=\ref[src]"
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
var/obj/item/ears = null //only used by humans.
|
||||
|
||||
var/datum/dna/dna = null//Carbon
|
||||
var/datum/mind/last_mind = null //last mind to control this mob, for blood-based cloning
|
||||
|
||||
var/failed_last_breath = 0 //This is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
//NOTE: Breathing happens once per FOUR TICKS, unless the last breath fails. In which case it happens once per ONE TICK! So oxyloss healing is done once per 4 ticks while oxyloss damage is applied once per tick!
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
/mob/living/carbon/monkey
|
||||
|
||||
|
||||
@@ -75,11 +75,12 @@
|
||||
if(!t_state)
|
||||
t_state = I.icon_state
|
||||
|
||||
var/icon_file = I.lefthand_file
|
||||
if(get_held_index_of_item(I) % 2 == 0)
|
||||
icon_file = I.righthand_file
|
||||
var/image/standing = I.build_worn_icon(state = t_state, default_layer = HANDS_LAYER, default_icon_file = I.righthand_file, isinhands = TRUE)
|
||||
|
||||
if(get_held_index_of_item(I) % 2 == 1)
|
||||
var/reflect = matrix(-1, 0, 0, 0, 1, 0)
|
||||
standing.transform = reflect
|
||||
|
||||
var/image/standing = I.build_worn_icon(state = t_state, default_layer = HANDS_LAYER, default_icon_file = icon_file, isinhands = TRUE)
|
||||
hands += standing
|
||||
|
||||
overlays_standing[HANDS_LAYER] = hands
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
// Mulebot - carries crates around for Quartermaster
|
||||
// Navigates via floor navbeacons
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
/mob/living/simple_animal/cockroach
|
||||
name = "cockroach"
|
||||
desc = "This station is just crawling with bugs."
|
||||
@@ -16,11 +14,15 @@
|
||||
response_help = "pokes"
|
||||
response_disarm = "shoos"
|
||||
response_harm = "splats"
|
||||
speak_emote = list("chitters")
|
||||
density = 0
|
||||
ventcrawler = VENTCRAWLER_ALWAYS
|
||||
gold_core_spawnable = 2
|
||||
verb_say = "chitters"
|
||||
verb_ask = "chitters inquisitively"
|
||||
verb_exclaim = "chitters loudly"
|
||||
verb_yell = "chitters loudly"
|
||||
var/squish_chance = 50
|
||||
loot = list(/obj/effect/decal/cleanable/deadcockroach)
|
||||
del_on_death = 1
|
||||
|
||||
/mob/living/simple_animal/cockroach/death(gibbed)
|
||||
@@ -28,6 +30,10 @@
|
||||
return
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/cockroach/proc/squish()
|
||||
adjustBruteLoss(1) // kills a normal cockroach
|
||||
new /obj/effect/decal/cleanable/deadcockroach(get_turf(src))
|
||||
|
||||
/mob/living/simple_animal/cockroach/Crossed(var/atom/movable/AM)
|
||||
if(ismob(AM))
|
||||
if(isliving(AM))
|
||||
@@ -35,14 +41,14 @@
|
||||
if(A.mob_size > MOB_SIZE_SMALL)
|
||||
if(prob(squish_chance))
|
||||
A.visible_message("<span class='notice'>\The [A] squashed \the [name].</span>", "<span class='notice'>You squashed \the [name].</span>")
|
||||
death()
|
||||
squish()
|
||||
else
|
||||
visible_message("<span class='notice'>\The [name] avoids getting crushed.</span>")
|
||||
else
|
||||
if(isobj(AM))
|
||||
if(istype(AM,/obj/structure))
|
||||
visible_message("<span class='notice'>As \the [AM] moved over \the [name], it was crushed.</span>")
|
||||
death()
|
||||
squish()
|
||||
|
||||
/mob/living/simple_animal/cockroach/ex_act() //Explosions are a terrible way to handle a cockroach.
|
||||
return
|
||||
|
||||
@@ -51,10 +51,13 @@
|
||||
if(!l_state)
|
||||
l_state = l_hand.icon_state
|
||||
|
||||
var/image/l_hand_image = l_hand.build_worn_icon(state = l_state, default_layer = DRONE_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE)
|
||||
var/image/l_hand_image = l_hand.build_worn_icon(state = l_state, default_layer = DRONE_HANDS_LAYER, default_icon_file = l_hand.righthand_file, isinhands = TRUE)
|
||||
if(y_shift)
|
||||
l_hand_image.pixel_y += y_shift
|
||||
|
||||
var/reflect = matrix(-1, 0, 0, 0, 1, 0)
|
||||
l_hand_image.transform = reflect
|
||||
|
||||
hands_overlays += l_hand_image
|
||||
|
||||
if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD)
|
||||
|
||||
@@ -293,8 +293,10 @@ var/global/list/parasites = list() //all currently existing/living guardians
|
||||
if(!l_state)
|
||||
l_state = l_hand.icon_state
|
||||
|
||||
var/image/l_hand_image = l_hand.build_worn_icon(state = l_state, default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE)
|
||||
var/image/l_hand_image = l_hand.build_worn_icon(state = l_state, default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = l_hand.righthand_file, isinhands = TRUE)
|
||||
|
||||
var/reflect = matrix(-1, 0, 0, 0, 1, 0)
|
||||
l_hand_image.transform = reflect
|
||||
hands_overlays += l_hand_image
|
||||
|
||||
if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD)
|
||||
|
||||
@@ -171,7 +171,7 @@ Difficulty: Medium
|
||||
var/range = 10
|
||||
var/turf/previousturf = get_turf(src)
|
||||
for(var/turf/J in getline(src,E))
|
||||
if(!range || !previousturf.atmos_adjacent_turfs || !previousturf.atmos_adjacent_turfs[J])
|
||||
if(!range || (J != previousturf && (!previousturf.atmos_adjacent_turfs || !previousturf.atmos_adjacent_turfs[J])))
|
||||
break
|
||||
range--
|
||||
PoolOrNew(/obj/effect/hotspot,J)
|
||||
|
||||
@@ -129,6 +129,8 @@
|
||||
return 0
|
||||
if(isliving(mob))
|
||||
var/mob/living/L = mob
|
||||
if(L.slipping)
|
||||
return 0
|
||||
if(L.incorporeal_move) //Move though walls
|
||||
Process_Incorpmove(direct)
|
||||
return 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
|
||||
/mob/new_player
|
||||
var/ready = 0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "paper cutter"
|
||||
desc = "Standard office equipment. Precisely cuts paper using a large blade."
|
||||
icon = 'icons/obj/bureaucracy.dmi'
|
||||
icon_state = "papercutter-cutter"
|
||||
icon_state = "papercutter"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
@@ -15,6 +15,7 @@
|
||||
/obj/item/weapon/papercutter/New()
|
||||
..()
|
||||
storedcutter = new /obj/item/weapon/hatchet/cutterblade(src)
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/item/weapon/papercutter/suicide_act(mob/user)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
|
||||
/* new portable generator - work in progress
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
var/global/list/rad_collectors = list()
|
||||
|
||||
/obj/machinery/power/rad_collector
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
|
||||
/obj/machinery/field/containment
|
||||
name = "containment field"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
|
||||
/obj/machinery/power/emitter
|
||||
name = "Emitter"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
|
||||
/obj/singularity
|
||||
name = "gravitational singularity"
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
var/current_skin = null //the skin choice if we had a reskin
|
||||
var/list/options = list()
|
||||
|
||||
lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/guns_righthand.dmi'
|
||||
|
||||
var/obj/item/device/firing_pin/pin = /obj/item/device/firing_pin //standard firing pin for most guns
|
||||
|
||||
@@ -70,7 +70,6 @@
|
||||
icon = 'icons/obj/bureaucracy.dmi'
|
||||
icon_state = "pen"
|
||||
item_state = "pen"
|
||||
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
trigger_guard = TRIGGER_GUARD_ALLOW_ALL // Has no trigger at all, uses magic instead
|
||||
pin = /obj/item/device/firing_pin/magic
|
||||
|
||||
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' //not really a gun and some toys use these inhands
|
||||
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
|
||||
|
||||
/obj/item/weapon/gun/magic/afterattack(atom/target, mob/living/user, flag)
|
||||
|
||||
@@ -225,7 +225,7 @@
|
||||
pixel_x = pixel_x_offset
|
||||
pixel_y = pixel_y_offset
|
||||
else
|
||||
animate(src, pixel_x = pixel_x_offset, pixel_y = pixel_y_offset, time = max(1, (delay <= 3 ? delay - 1 : delay)))
|
||||
animate(src, pixel_x = pixel_x_offset, pixel_y = pixel_y_offset, time = max(1, (delay <= 3 ? delay - 1 : delay)), flags = ANIMATION_END_NOW)
|
||||
|
||||
if(original && (original.layer>=2.75) || ismob(original))
|
||||
if(loc == get_turf(original))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
|
||||
var/const/TOUCH = 1 //splashing
|
||||
var/const/INGEST = 2 //ingestion
|
||||
|
||||
@@ -116,12 +116,17 @@
|
||||
// attack with item, place item on conveyor
|
||||
/obj/machinery/conveyor/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/crowbar))
|
||||
if(!(stat & BROKEN))
|
||||
var/obj/item/conveyor_construct/C = new/obj/item/conveyor_construct(src.loc)
|
||||
C.id = id
|
||||
transfer_fingerprints_to(C)
|
||||
user << "<span class='notice'>You remove the conveyor belt.</span>"
|
||||
qdel(src)
|
||||
user.visible_message("<span class='notice'>[user] struggles to pry up \the [src] with \the [I].</span>", \
|
||||
"<span class='notice'>You struggle to pry up \the [src] with \the [I].</span>")
|
||||
if(do_after(user, 40*I.toolspeed, target = src))
|
||||
if(qdeleted(src))
|
||||
return //prevent multiple decontructs
|
||||
if(!(stat & BROKEN))
|
||||
var/obj/item/conveyor_construct/C = new/obj/item/conveyor_construct(src.loc)
|
||||
C.id = id
|
||||
transfer_fingerprints_to(C)
|
||||
user << "<span class='notice'>You remove the conveyor belt.</span>"
|
||||
qdel(src)
|
||||
|
||||
else if(istype(I, /obj/item/weapon/wrench))
|
||||
if(!(stat & BROKEN))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
|
||||
/*
|
||||
Destructive Analyzer
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
|
||||
//All devices that link into the R&D console fall into thise type for easy identification and some shared procs.
|
||||
|
||||
|
||||
@@ -28,7 +28,3 @@
|
||||
|
||||
/mob/living/carbon/getorganslot(slot)
|
||||
return internal_organs_slot[slot]
|
||||
|
||||
|
||||
/proc/isorgan(atom/A)
|
||||
return istype(A, /obj/item/organ)
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
|
||||
//cursors
|
||||
#define Default_Cursor 0
|
||||
|
||||
@@ -66,10 +66,18 @@
|
||||
<h3 class="author">Joan updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">The clockwork slab's interface is now TGUI.</li>
|
||||
<li class="imageadd">You can now see what an ocular warden is attacking.</li>
|
||||
</ul>
|
||||
<h3 class="author">Mervill updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">The light replacer can now create bulbs from glass shards</li>
|
||||
<li class="rscadd">Click a light replacer while holding a glass shard to add the shard to the replacer</li>
|
||||
<li class="rscadd">Click a glass shard while holding a light replacer to consume the shard</li>
|
||||
</ul>
|
||||
<h3 class="author">MrStonedOne updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">world initialization is now faster.</li>
|
||||
<li class="bugfix">fixed the modify bodypart admin tool not working</li>
|
||||
</ul>
|
||||
<h3 class="author">PKPenguin321 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
@@ -79,6 +87,10 @@
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Nanotrasen Culinary Division has authorized the production of tacos, both plain and classic.</li>
|
||||
</ul>
|
||||
<h3 class="author">XDTM updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Replica Pod cloning now works on people who have been decapitated.</li>
|
||||
</ul>
|
||||
<h3 class="author">coiax updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Additional mice sometimes appear in the maintenance tunnels. Engineers beware!</li>
|
||||
|
||||
@@ -8310,13 +8310,22 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
|
||||
when thrown at someone
|
||||
Joan:
|
||||
- rscadd: The clockwork slab's interface is now TGUI.
|
||||
- imageadd: You can now see what an ocular warden is attacking.
|
||||
Mervill:
|
||||
- rscadd: The light replacer can now create bulbs from glass shards
|
||||
- rscadd: Click a light replacer while holding a glass shard to add the shard to
|
||||
the replacer
|
||||
- rscadd: Click a glass shard while holding a light replacer to consume the shard
|
||||
MrStonedOne:
|
||||
- tweak: world initialization is now faster.
|
||||
- bugfix: fixed the modify bodypart admin tool not working
|
||||
PKPenguin321:
|
||||
- tweak: Swarmer beacons now have 750 health, down from 3000.
|
||||
TehZombehz:
|
||||
- rscadd: Nanotrasen Culinary Division has authorized the production of tacos, both
|
||||
plain and classic.
|
||||
XDTM:
|
||||
- bugfix: Replica Pod cloning now works on people who have been decapitated.
|
||||
coiax:
|
||||
- rscadd: Additional mice sometimes appear in the maintenance tunnels. Engineers
|
||||
beware!
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Joan"
|
||||
delete-after: True
|
||||
changes:
|
||||
- imageadd: "You can now see what an ocular warden is attacking."
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "coiax"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Due to a combination of radiation and water supply contamination,
|
||||
stations have been reporting animals gaining self awareness."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Thunder12345"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Added the Standby Emergency Vessel \"Scrapheap Challenge\" as a new emergency shuttle option. You'll even be paid 1000 credits to use it!"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Supermichael777"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Conveyors have been more firmly anchored. No fun allowed"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Cyberboss"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "The slips bug (which made freon laggy) is fixed"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Kor"
|
||||
delete-after: True
|
||||
changes:
|
||||
- imagedel: "Deleted all (3000+) left handed inhand icons. They are now automatically mirrored from the right hand, saving spriters a lot of tedious busywork."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Kor"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "By crafting a wall mounted flasher frame (can be ordered via cargo), a flash, and a riot shield, you can now construct a strobe shield. The strobe shield combines the functionality of a riot shield and a flash, and can be reloaded with flash bulbs."
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "optional name here"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "fixed ashdrake's flame wall."
|
||||
- bugfix: "fixed walls decon spawning metal in a random location in the same room."
|
||||
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 56 KiB |
@@ -57,7 +57,7 @@ macro "default"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "INSERT"
|
||||
command = "a-intent right"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "DELETE"
|
||||
@@ -97,11 +97,11 @@ macro "default"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+F"
|
||||
command = "a-intent left"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+G"
|
||||
command = "a-intent right"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+H"
|
||||
@@ -263,7 +263,7 @@ macro "hotkeys"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "INSERT"
|
||||
command = "a-intent right"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "DELETE"
|
||||
@@ -335,19 +335,19 @@ macro "hotkeys"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "F"
|
||||
command = "a-intent left"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+F"
|
||||
command = "a-intent left"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "G"
|
||||
command = "a-intent right"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+G"
|
||||
command = "a-intent right"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "H"
|
||||
@@ -549,7 +549,7 @@ macro "robot-default"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "INSERT"
|
||||
command = "a-intent right"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "DELETE"
|
||||
@@ -569,7 +569,7 @@ macro "robot-default"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+4"
|
||||
command = "a-intent left"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+A+REP"
|
||||
@@ -589,11 +589,11 @@ macro "robot-default"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+F"
|
||||
command = "a-intent left"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+G"
|
||||
command = "a-intent right"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+Q"
|
||||
@@ -739,7 +739,7 @@ macro "robot-hotkeys"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "INSERT"
|
||||
command = "a-intent right"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "DELETE"
|
||||
@@ -771,11 +771,11 @@ macro "robot-hotkeys"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "4"
|
||||
command = "a-intent left"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+4"
|
||||
command = "a-intent left"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "A+REP"
|
||||
@@ -811,19 +811,19 @@ macro "robot-hotkeys"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "F"
|
||||
command = "a-intent left"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+F"
|
||||
command = "a-intent left"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "G"
|
||||
command = "a-intent right"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "CTRL+G"
|
||||
command = "a-intent right"
|
||||
command = "a-intent next"
|
||||
is-disabled = false
|
||||
elem
|
||||
name = "Q"
|
||||
|
||||