Merge branch 'master' of https://github.com/tgstation/-tg-station into turfs

Conflicts:
	_maps/RandomZLevels/Cabin.dmm
	_maps/RandomZLevels/beach2.dmm
	_maps/RandomZLevels/caves.dmm
	_maps/RandomZLevels/research.dmm
	_maps/RandomZLevels/snowdin.dmm
	_maps/RandomZLevels/undergroundoutpost45.dmm
	_maps/map_files/DreamStation/dreamstation04.dmm
	_maps/map_files/EfficiencyStation/EfficiencyStation.dmm
	_maps/map_files/MetaStation/MetaStation.v41I.dmm
	_maps/map_files/MiniStation/MiniStation.dmm
	_maps/map_files/TgStation/tgstation.2.1.3.dmm
	_maps/map_files/generic/z4.dmm
	_maps/templates/lavaland_surface_automated_trade_outpost.dmm
	_maps/templates/lavaland_surface_biodome_winter.dmm
	_maps/templates/lavaland_surface_prisoner_crash.dmm
	_maps/templates/lavaland_surface_seed_vault.dmm
	code/controllers/subsystem/air.dm
	code/game/asteroid.dm
	code/game/atoms.dm
	code/game/gamemodes/nuclear/nuclearbomb.dm
	code/game/machinery/computer/arcade.dm
	code/game/objects/effects/aliens.dm
	code/game/objects/effects/overlays.dm
	code/game/objects/items/apc_frame.dm
	code/game/objects/structures/false_walls.dm
	code/game/objects/structures/girders.dm
	code/game/turfs/simulated.dm
	code/game/turfs/simulated/floor/fancy_floor.dm
	code/game/turfs/simulated/floor/mineral_floor.dm
	code/game/turfs/simulated/floor/plating.dm
	code/game/turfs/simulated/river.dm
	code/game/turfs/simulated/walls_misc.dm
	code/game/turfs/simulated/walls_reinforced.dm
	code/modules/admin/verbs/buildmode.dm
	code/modules/atmospherics/environmental/LINDA_turf_tile.dm
	code/modules/events/spacevine.dm
	code/modules/flufftext/Hallucination.dm
	code/modules/holodeck/turfs.dm
	code/modules/mining/mine_items.dm
	code/modules/mining/mine_turfs.dm
	code/modules/mob/interactive.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/simple_animal/bot/floorbot.dm
	code/modules/mob/living/simple_animal/guardian/guardian.dm
	code/modules/mob/living/simple_animal/hostile/hostile.dm
	code/modules/mob/mob_movement.dm
	code/modules/power/singularity/narsie.dm
	code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm
	code/modules/research/server.dm
This commit is contained in:
duncathan
2016-03-29 14:46:06 -06:00
477 changed files with 400407 additions and 32092 deletions
+1 -1
View File
@@ -17,7 +17,7 @@
/datum/surgery_step/dethrall/success(mob/user, mob/living/carbon/target, target_zone, datum/surgery/surgery)
if(target.dna.species.id == "l_shadowling") //Empowered thralls cannot be deconverted
target << "<span class='shadowling'><b><i>NOT LIKE THIS!</i></b></span>"
user.visible_message("<span class='warning'><b>[target] suddenly slams upward and knocks down [user]!</span>", \
user.visible_message("<span class='danger'>[target] suddenly slams upward and knocks down [user]!</span>", \
"<span class='userdanger'>[target] suddenly bolts up and slams you with tremendous force!</span>")
user.resting = 0 //Remove all stuns
user.SetSleeping(0)
+1 -1
View File
@@ -176,7 +176,7 @@
/obj/item/organ/internal/cyberimp/arm/toolset/emag_act()
if(!(locate(/obj/item/weapon/kitchen/knife/combat/cyborg) in items_list))
owner << "<span class='notice'>You unlock [src]'s integrated knife!</span>"
usr << "<span class='notice'>You unlock [src]'s integrated knife!</span>"
items_list += new /obj/item/weapon/kitchen/knife/combat/cyborg(src)
return 1
return 0
+91 -1
View File
@@ -103,4 +103,94 @@
spawn(600 / severity)
H.heart_attack = 0
if(H.stat == CONSCIOUS)
H << "<span class='notice'>You feel your heart beating again!</span>"
H << "<span class='notice'>You feel your heart beating again!</span>"
/obj/item/organ/internal/cyberimp/chest/thrusters
name = "implantable thrusters set"
desc = "An implantable set of thruster ports. They use the gas from environment or subject's internals for propulsion in zero-gravity areas. \
Unlike regular jetpack, this device has no stablilzation system."
slot = "thrusters"
icon_state = "imp_jetpack"
origin_tech = "materials=6;programming=4;magnets=3;biotech=4;engineering=4"
implant_overlay = null
implant_color = null
actions_types = list(/datum/action/item_action/organ_action/toggle)
w_class = 3
var/on = 0
var/datum/effect_system/trail_follow/ion/ion_trail
/obj/item/organ/internal/cyberimp/chest/thrusters/Insert(mob/living/carbon/M, special = 0)
..()
if(!ion_trail)
ion_trail = new
ion_trail.set_up(M)
/obj/item/organ/internal/cyberimp/chest/thrusters/Remove(mob/living/carbon/M, special = 0)
if(on)
toggle(silent=1)
..()
/obj/item/organ/internal/cyberimp/chest/thrusters/ui_action_click()
toggle()
/obj/item/organ/internal/cyberimp/chest/thrusters/proc/toggle(silent=0)
if(!on)
if(crit_fail)
if(!silent)
owner << "<span class='warning'>Your thrusters set seems to be broken!</span>"
return 0
on = 1
if(allow_thrust(0.01))
ion_trail.start()
if(!silent)
owner << "<span class='notice'>You turn your thrusters set on.</span>"
else
ion_trail.stop()
if(!silent)
owner << "<span class='notice'>You turn your thrusters set off.</span>"
on = 0
update_icon()
/obj/item/organ/internal/cyberimp/chest/thrusters/update_icon()
if(on)
icon_state = "imp_jetpack-on"
else
icon_state = "imp_jetpack"
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
/obj/item/organ/internal/cyberimp/chest/thrusters/proc/allow_thrust(num)
if(!on || !owner)
return 0
var/turf/T = get_turf(owner)
if(!T) // No more runtimes from being stuck in nullspace.
return 0
// Priority 1: use air from environment.
var/datum/gas_mixture/environment = T.return_air()
if(environment && environment.return_pressure() > 30)
return 1
// Priority 2: use plasma from internal plasma storage.
// (just in case someone would ever use this implant system to make cyber-alien ops with jetpacks and taser arms)
if(owner.getPlasma() >= num*100)
owner.adjustPlasma(-num*100)
return 1
// Priority 3: use internals tank.
var/obj/item/weapon/tank/I = owner.internal
if(I && I.air_contents && I.air_contents.total_moles() > num)
var/datum/gas_mixture/removed = I.air_contents.remove(num)
if(removed.total_moles() > 0.005)
T.assume_air(removed)
return 1
else
T.assume_air(removed)
toggle(silent=1)
return 0
@@ -152,7 +152,7 @@
/obj/item/organ/internal/cyberimp/mouth/breathing_tube
name = "breathing tube implant"
desc = "This simple implant adds an internals connector to your back, allowing you to use internals without a mask and protecting you from being choked."
icon_state = "breathing_tube"
icon_state = "implant_mask"
slot = "breathing_tube"
w_class = 1
origin_tech = "materials=2;biotech=3"