Merge remote-tracking branch 'upstream/dev-freeze' into dev

Conflicts:
	code/game/objects/items/stacks/tiles/plasteel.dm
	code/game/objects/items/stacks/tiles/tile_types.dm
	code/modules/materials/materials.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/silicon/pai/pai.dm
	code/modules/surgery/implant.dm
	code/setup.dm
This commit is contained in:
PsiOmega
2015-06-26 20:28:47 +02:00
41 changed files with 290 additions and 149 deletions

View File

@@ -28,7 +28,7 @@
/obj/item/weapon/scalpel/laser1 = 75, \
/obj/item/weapon/melee/energy/sword = 5
)
priority = 2
min_duration = 90
max_duration = 110
@@ -69,7 +69,7 @@
allowed_tools = list(
/obj/item/weapon/scalpel/manager = 100
)
priority = 2
min_duration = 80
max_duration = 120

View File

@@ -51,7 +51,7 @@
can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
if(..())
var/obj/item/organ/external/affected = target.get_organ(target_zone)
return affected && !affected.cavity && !affected.hidden
return affected && !affected.cavity
begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone)
@@ -106,7 +106,15 @@
can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
if(..())
var/obj/item/organ/external/affected = target.get_organ(target_zone)
return affected && !istype(user,/mob/living/silicon/robot) && !affected.hidden && affected.cavity && tool.w_class <= get_max_wclass(affected)
if(istype(user,/mob/living/silicon/robot))
return
if(affected && affected.cavity)
var/total_volume = tool.w_class
for(var/obj/item/I in affected.implants)
if(istype(I,/obj/item/weapon/implant))
continue
total_volume += I.w_class
return total_volume <= get_max_wclass(affected)
begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone)
@@ -126,8 +134,8 @@
affected.wounds += I
affected.owner.custom_pain("You feel something rip in your [affected.name]!", 1)
user.drop_item()
affected.hidden = tool
tool.loc = target
affected.implants += tool
tool.loc = affected
affected.cavity = 0
//////////////////////////////////////////////////////////////////
@@ -162,7 +170,7 @@
if (affected.implants.len)
var/obj/item/obj = affected.implants[1]
var/obj/item/obj = pick(affected.implants)
if(istype(obj,/obj/item/weapon/implant))
var/obj/item/weapon/implant/imp = obj
@@ -189,6 +197,8 @@
worm.leave_host()
else
obj.loc = get_turf(target)
obj.add_blood(target)
obj.update_icon()
if(istype(obj,/obj/item/weapon/implant))
var/obj/item/weapon/implant/imp = obj
imp.imp_in = null
@@ -196,16 +206,6 @@
else
user.visible_message("\blue [user] removes \the [tool] from [target]'s [affected.name].", \
"\blue There's something inside [target]'s [affected.name], but you just missed it this time." )
else if (affected.hidden)
user.visible_message("\blue [user] takes something out of [target]'s [affected.name] with \the [tool].", \
"\blue You take something out of [target]'s [affected.name]s with \the [tool]." )
affected.hidden.loc = get_turf(target)
if(!affected.hidden.blood_DNA)
affected.hidden.blood_DNA = list()
affected.hidden.blood_DNA[target.dna.unique_enzymes] = target.dna.b_type
affected.hidden.update_icon()
affected.hidden = null
else
user.visible_message("\blue [user] could not find anything inside [target]'s [affected.name], and pulls \the [tool] out.", \
"\blue You could not find anything inside [target]'s [affected.name]." )