Bug fixes, implements new copying/faxing system from Bay

This commit is contained in:
Markolie
2014-11-27 21:00:58 +01:00
parent 6cfea53224
commit b66f3effae
31 changed files with 987 additions and 738 deletions
+1 -1
View File
@@ -639,7 +639,7 @@
if (href_list["selectUIBlock"] && href_list["selectUISubblock"]) // This chunk of code updates selected block / sub-block based on click
var/select_block = text2num(href_list["selectUIBlock"])
var/select_subblock = text2num(href_list["selectUISubblock"])
if ((select_block <= 13) && (select_block >= 1))
if ((select_block <= DNA_UI_LENGTH) && (select_block >= 1))
src.selected_ui_block = select_block
if ((select_subblock <= DNA_BLOCK_SIZE) && (select_subblock >= 1))
src.selected_ui_subblock = select_subblock
+1 -1
View File
@@ -5,7 +5,7 @@
mode = M
proc/announce_directives()
for (var/obj/machinery/faxmachine/fax in world)
for (var/obj/machinery/photocopier/faxmachine/fax in world)
if (fax.department == "Captain's Office")
var/obj/item/weapon/paper/directive_x = new(fax.loc)
directive_x.name = "emergency action message"
+4
View File
@@ -63,6 +63,10 @@
if("Mortician")
H.equip_or_collect(new /obj/item/clothing/under/rank/medical/mortician(H), slot_w_uniform)
H.equip_or_collect(new /obj/item/clothing/suit/storage/labcoat/mortician(H), slot_wear_suit)
if(H.backbag != 1)
H.equip_or_collect(new /obj/item/weapon/autopsy_scanner(H.back), slot_in_backpack)
H.equip_or_collect(new /obj/item/device/mass_spectrometer(H.back), slot_in_backpack)
H.equip_or_collect(new /obj/item/weapon/storage/box/bodybags(H.back), slot_in_backpack)
if("Surgeon")
H.equip_or_collect(new /obj/item/clothing/under/rank/medical/blue(H), slot_w_uniform)
H.equip_or_collect(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit)
+4 -4
View File
@@ -49,12 +49,12 @@
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
dir = pick(WEST,EAST,SOUTH,NORTH)
var/node_connect = dir
initialize_directions = dir
for(var/obj/machinery/atmospherics/target in get_step(src,node_connect))
if(target.initialize_directions & get_dir(target,src))
node = target
break
build_network()
update_icon()
/obj/machinery/atmospherics/unary/cold_sink/freezer/update_icon()
@@ -184,12 +184,12 @@
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
dir = pick(WEST,EAST,SOUTH,NORTH)
var/node_connect = dir
initialize_directions = dir
for(var/obj/machinery/atmospherics/target in get_step(src,node_connect))
if(target.initialize_directions & get_dir(target,src))
node = target
break
build_network()
update_icon()
/obj/machinery/atmospherics/unary/heat_reservoir/heater/update_icon()
+2 -1
View File
@@ -106,8 +106,9 @@
holding_text = {"<BR><B>Tank Pressure</B>: [holding.air_contents.return_pressure()] KPa<BR>
<A href='?src=\ref[src];remove_tank=1'>Remove Tank</A><BR>
"}
var/pumppressure = max(0,air_contents.return_pressure())
var/output_text = {"<TT><B>[name]</B><BR>
Pressure: [air_contents.return_pressure()] KPa<BR>
Pressure: [pumppressure] KPa<BR>
Port Status: [(connected_port)?("Connected"):("Disconnected")]
[holding_text]
<BR>
+1 -1
View File
@@ -195,7 +195,7 @@
spawn(30)
src.eject_wait = 0
var/mob/living/carbon/human/H = new /mob/living/carbon/human(src, delay_ready_dna=1)
var/mob/living/carbon/human/H = new /mob/living/carbon/human(src, R.dna.species)
occupant = H
if(!R.dna.real_name) //to prevent null names
+4 -4
View File
@@ -325,10 +325,10 @@
scantemp = "<span class=\"bad\">Error: Subject's brain is not responding to scanning stimuli.</span>"
nanomanager.update_uis(src)
return
if ((!subject.ckey) || (!subject.client))
scantemp = "<span class=\"bad\">Error: Mental interface failure.</span>"
nanomanager.update_uis(src)
return
//if ((!subject.ckey) || (!subject.client))
//scantemp = "<span class=\"bad\">Error: Mental interface failure.</span>"
//nanomanager.update_uis(src)
//return
if ((M_NOCLONE in subject.mutations) && src.scanner.scan_level < 2)
scantemp = "<span class=\"bad\">Error: Mental interface failure.</span>"
nanomanager.update_uis(src)
+2 -1
View File
@@ -354,7 +354,8 @@
if (src.product_records.len == 0)
dat += "<font color = 'red'>No product loaded!</font>"
else
var/list/display_records = src.product_records
var/list/display_records = list()
display_records += src.product_records
if(src.extended_inventory)
display_records += src.hidden_records
@@ -396,6 +396,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(user.r_hand == src || user.l_hand == src)
if(!lit)
lit = 1
w_class = 4
icon_state = icon_on
item_state = icon_on
if(istype(src, /obj/item/weapon/lighter/zippo) )
@@ -413,6 +414,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
processing_objects.Add(src)
else
lit = 0
w_class = 1
icon_state = icon_off
item_state = icon_off
if(istype(src, /obj/item/weapon/lighter/zippo) )
@@ -112,6 +112,25 @@ var/last_chew = 0
/obj/item/weapon/handcuffs/cyborg
dispenser = 1
/obj/item/weapon/handcuffs/cyborg/attack(mob/living/carbon/C as mob, mob/user as mob)
if(!C.handcuffed)
var/turf/p_loc = user.loc
var/turf/p_loc_m = C.loc
playsound(src.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -2)
user.visible_message("\red <B>[user] is trying to put handcuffs on [C]!</B>")
if (ishuman(C))
var/mob/living/carbon/human/H = C
if (!H.has_organ_for_slot(slot_handcuffed))
user << "\red \The [H] needs at least two wrists before you can cuff them together!"
return
spawn(30)
if(!C) return
if(p_loc == user.loc && p_loc_m == C.loc)
C.handcuffed = new /obj/item/weapon/handcuffs(C)
C.update_inv_handcuffed()
/obj/item/weapon/handcuffs/pinkcuffs
name = "fluffy pink handcuffs"
@@ -64,7 +64,7 @@
icon_state = "plasticbag"
item_state = "plasticbag"
slot_flags = SLOT_HEAD|SLOT_BELT
throwforce = 0
w_class = 4
max_w_class = 2
storage_slots = 21
@@ -91,6 +91,8 @@
if(is_equipped() && head)
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
if(H.internal)
return
H.losebreath += 1
else
head = 0
+4 -1
View File
@@ -15,7 +15,7 @@
var/status = 0 //whether the thing is on or not
var/obj/item/weapon/cell/high/bcell = null
var/mob/foundmob = "" //Used in throwing proc.
var/hitcost = 1500 //oh god why do power cells carry so much charge? We probably need to make a distinction between "industrial" sized power cells for APCs and power cells for everything else.
var/hitcost = 1000 //oh god why do power cells carry so much charge? We probably need to make a distinction between "industrial" sized power cells for APCs and power cells for everything else.
var/allowharm = 1 // Allow or disallow harming with the stunbaton
/obj/item/weapon/melee/baton/suicide_act(mob/user)
@@ -219,6 +219,9 @@
..()
//secborg stun baton module
/obj/item/weapon/melee/baton/robot
hitcost = 500
/obj/item/weapon/melee/baton/robot/attack_self(mob/user)
//try to find our power cell
var/mob/living/silicon/robot/R = loc
+2
View File
@@ -339,6 +339,7 @@
if (src.welding)
if (remove_fuel(1))
usr << "\blue You switch the [src] on."
src.w_class = 4
src.force = 15
src.damtype = "fire"
src.icon_state = "welder1"
@@ -352,6 +353,7 @@
usr << "\blue You switch the [src] off."
else
usr << "\blue The [src] shuts off!"
src.w_class = 2
src.force = 3
src.damtype = "brute"
src.icon_state = "welder"
@@ -145,6 +145,7 @@
else
new /obj/item/clothing/tie/storage/webbing(src)
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/clothing/head/hardhat/red(src)
new /obj/item/device/flashlight(src)
new /obj/item/weapon/extinguisher(src)
new /obj/item/device/radio/headset/headset_eng(src)
@@ -35,7 +35,10 @@
/obj/structure/transit_tube/station/Bumped(mob/AM as mob|obj)
if(!pod_moving && icon_state == "open" && istype(AM, /mob))
for(var/obj/structure/transit_tube_pod/pod in loc)
if(!pod.moving && pod.dir in directions())
if(pod.contents.len)
AM << "<span class=The pod is already occupied.</span>"
return
else if(!pod.moving && pod.dir in directions())
AM.loc = pod
return
@@ -96,19 +99,29 @@
/obj/structure/transit_tube/station/proc/launch_pod()
if(launch_cooldown >= world.time)
return
for(var/obj/structure/transit_tube_pod/pod in loc)
if(!pod.moving && turn(pod.dir, (reverse_launch ? 180 : 0)) in directions())
spawn(0)
if(!pod.moving && pod.dir in directions())
spawn(5)
pod_moving = 1
close_animation()
sleep(CLOSE_DURATION + 2)
//reverse directions for automated cycling
var/turf/next_loc = get_step(loc, pod.dir)
var/obj/structure/transit_tube/nexttube
for(var/obj/structure/transit_tube/tube in next_loc)
if(tube.has_entrance(pod.dir))
nexttube = tube
break
if(!nexttube)
pod.dir = turn(pod.dir, 180)
if(icon_state == "closed" && pod)
pod.follow_tube(reverse_launch)
pod.follow_tube()
pod_moving = 0
return 1
return 0
return
/obj/structure/transit_tube/station/process()
if(!pod_moving)