mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-05 23:12:26 +00:00
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:
@@ -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
|
||||
|
||||
|
||||
@@ -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]." )
|
||||
|
||||
Reference in New Issue
Block a user