Merge with upstream

This commit is contained in:
DZD
2015-01-24 19:41:24 -05:00
31 changed files with 337 additions and 152 deletions
+3
View File
@@ -187,6 +187,9 @@
var/cooldown = 0
var/aggressiveness = 2
species_fit = list()
action_button_name = "HALT!"
icon_action_button = "action_officermask"
/obj/item/clothing/mask/gas/sechailer/warden
icon_state = "wardenmask"
+12 -5
View File
@@ -46,20 +46,27 @@
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
siemens_coefficient = 0.6
/obj/item/clothing/suit/armor/hos/alt
name = "armored trenchoat"
desc = "A trenchcoat enchanced with a special lightweight kevlar. The epitome of tactical plainclothes."
icon_state = "hostrench"
item_state = "hostrench"
flags_inv = 0
verb/toggle()
set name = "Toggle Trenchcoat Buttons"
set category = "Object"
if(!usr.canmove || usr.stat || usr.restrained())
return 0
if(icon_state == "hos")
if(icon_state == "hostrench")
icon_state = "hostrench_button"
item_state = "hostrench_button"
usr<< "You button the [src]."
else
icon_state = "hostrench"
item_state = "hostrench"
usr<< "You unbutton the [src]."
else
icon_state = "hos"
item_state = "hos"
usr<< "You button the [src]."
usr.update_inv_wear_suit()
+10
View File
@@ -13,6 +13,16 @@
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
//Brig Physician
/obj/item/clothing/suit/storage/brigdoc
name = "brig physician vest"
desc = "A vest often worn by doctors caring for inmates."
icon_state = "brigphysician-vest"
item_state = "brigphysician-vest"
allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \
/obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
//Botonist
/obj/item/clothing/suit/apron
name = "apron"
+4 -3
View File
@@ -322,15 +322,16 @@
on_fire = 0
suiciding = 0
buckled = initial(src.buckled)
if(iscarbon(src))
var/mob/living/carbon/C = src
C.handcuffed = initial(C.handcuffed)
// restore all of the human's blood
// restore all of the human's blood and reset their shock stage
if(ishuman(src))
var/mob/living/carbon/human/human_mob = src
human_mob.restore_blood()
human_mob.shock_stage = 0
restore_all_organs()
if(stat == 2)
@@ -757,6 +758,6 @@
else if(!on && floating)
animate(src, pixel_y = initial(pixel_y), time = 10)
floating = 0
/mob/living/proc/can_use_vents()
return "You can't fit into that vent."
@@ -338,9 +338,9 @@
src.modules += new /obj/item/device/flash/cyborg(src)
src.modules += new /obj/item/device/flashlight(src)
src.modules += new /obj/item/weapon/melee/energy/sword/cyborg(src)
src.modules += new /obj/item/weapon/gun/energy/crossbow/cyborg(src)
src.modules += new /obj/item/weapon/gun/energy/printer(src)
src.modules += new /obj/item/weapon/gun/projectile/revolver/grenadelauncher/multi/cyborg(src)
src.modules += new /obj/item/weapon/card/emag(src)
src.modules += new /obj/item/weapon/gun/energy/laser/cyborg(src)
src.modules += new /obj/item/weapon/tank/jetpack/carbondioxide(src)
src.modules += new /obj/item/weapon/crowbar(src)
src.emag = null
+6 -1
View File
@@ -516,7 +516,12 @@
else if(M_TK in user.mutations)
user << "You telekinetically remove the light [fitting]."
else
user << "You try to remove the light [fitting], but it's too hot and you don't want to burn your hand."
user << "You try to remove the light [fitting], but you burn your hand on it!"
var/datum/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand")
if(affecting.take_damage( 0, 5 )) // 5 burn damage
H.UpdateDamageIcon()
H.updatehealth()
return // if burned, don't remove the light
else
user << "You remove the light [fitting]."
@@ -256,4 +256,44 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
item_state = null
projectile_type = "/obj/item/projectile/beam/disabler"
cell_type = "/obj/item/weapon/cell"
charge_cost = 500
charge_cost = 500
/* 3d printer 'pseudo guns' for borgs */
/obj/item/weapon/gun/energy/printer
name = "cyborg lmg"
desc = "A machinegun that fires 3d-printed flachettes slowly regenerated using a cyborg's internal power source."
icon_state = "l6closed0"
icon = 'icons/obj/gun.dmi'
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
cell_type = "/obj/item/weapon/cell/secborg"
projectile_type = "/obj/item/projectile/bullet/midbullet3"
charge_cost = 300 //Yeah, let's NOT give them a 300 round clip that recharges, 20 is more reasonable and will actually hurt the borg's battery for overuse.
var/charge_tick = 0
var/recharge_time = 5
/obj/item/weapon/gun/energy/printer/update_icon()
return
/obj/item/weapon/gun/energy/printer/New()
..()
processing_objects.Add(src)
/obj/item/weapon/gun/energy/printer/Destroy()
processing_objects.Remove(src)
..()
/obj/item/weapon/gun/energy/printer/process()
charge_tick++
if(charge_tick < recharge_time) return 0
charge_tick = 0
if(!power_supply) return 0 //sanity
if(isrobot(src.loc))
var/mob/living/silicon/robot/R = src.loc
if(R && R.cell)
if(R.cell.use(charge_cost)) //Take power from the borg...
power_supply.give(charge_cost) //...to recharge the shot
return 1
+9 -27
View File
@@ -28,19 +28,19 @@
..()
/obj/item/weapon/gun/energy/taser/cyborg/process() //Every [recharge_time] ticks, recharge a shot for the cyborg
return 1
charge_tick++
if(charge_tick < recharge_time) return 0
charge_tick = 0
/obj/item/weapon/gun/energy/taser/cyborg/process_chambered()
if(in_chamber)
return 1
if(!power_supply) return 0 //sanity
if(isrobot(src.loc))
var/mob/living/silicon/robot/R = src.loc
if(R && R.cell && R.cell.charge >= 250)
R.cell.use(250)
in_chamber = new /obj/item/projectile/energy/electrode(src)
return 1
return 0
if(R && R.cell)
if(R.cell.use(charge_cost)) //Take power from the borg...
power_supply.give(charge_cost) //... to recharge the shot
update_icon()
return 1
/obj/item/weapon/gun/energy/stunrevolver
name = "stun revolver"
@@ -87,24 +87,6 @@
/obj/item/weapon/gun/energy/crossbow/update_icon()
return
/obj/item/weapon/gun/energy/crossbow/cyborg
desc = "An energy-based crossbow that draws power from the cyborg's internal energy cell directly."
/obj/item/weapon/gun/energy/crossbow/cyborg/process()
return 1
/obj/item/weapon/gun/energy/crossbow/cyborg/process_chambered()
if(in_chamber)
return 1
if(isrobot(src.loc))
var/mob/living/silicon/robot/R = src.loc
if(R && R.cell && R.cell.charge >= 250)
R.cell.use(250)
in_chamber = new /obj/item/projectile/energy/bolt(src)
return 1
return 0
/obj/item/weapon/gun/energy/crossbow/largecrossbow
name = "Energy Crossbow"
desc = "A weapon favored by syndicate carp hunters."
@@ -47,4 +47,12 @@
icon_state = "bulldog"
item_state = "bulldog"
icon_override = 'icons/mob/in-hand/guns.dmi'
mag_type = "/obj/item/ammo_box/magazine/internal/cylinder/grenadelauncher/multi"
mag_type = "/obj/item/ammo_box/magazine/internal/cylinder/grenadelauncher/multi"
/obj/item/weapon/gun/projectile/revolver/grenadelauncher/multi/cyborg
desc = "A 6-shot grenade launcher."
icon = 'icons/mecha/mecha_equipment.dmi'
icon_state = "mecha_grenadelnchr"
/obj/item/weapon/gun/projectile/revolver/grenadelauncher/multi/cyborg/attack_self()
return