mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
General bugfixing.
I don't really get this if statement in policetape, but it should be fixed now maybe. Added a proc for checking if two stacks can merge, used it on coloured cables. Fixes #4156. Made the welding damage message list the item intensifying the damage. Fixes #4187. Added Vox exclusion to RIG helmets, removed it from Wiz and Nukeops hardsuits. Fixes #4790, fixes #4756, fixes #4496. Orebag now only gives borgs a message if it finds ore. Fixes #4150. Throws something at #4267, hardcode is bad and everyone should feel bad.
This commit is contained in:
@@ -173,8 +173,8 @@
|
|||||||
breaktape(/obj/item/weapon/wirecutters,user)
|
breaktape(/obj/item/weapon/wirecutters,user)
|
||||||
|
|
||||||
/obj/item/tape/proc/breaktape(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/item/tape/proc/breaktape(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
if(user.a_intent == I_HELP && ((!is_sharp(W) && src.allowed(user))))
|
if(user.a_intent == I_HELP && (!W || !W.is_sharp()) && !src.allowed(user))
|
||||||
user << "<span class='notice'>You can't break [src] with that!</span>"
|
user << "<span class='notice'>You can't break [src] [W ? "with \the [W] " : ""]unless you use force.</span>"
|
||||||
return
|
return
|
||||||
user.visible_message("<span class='warning'>[user] breaks [src]!</span>")
|
user.visible_message("<span class='warning'>[user] breaks [src]!</span>")
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,9 @@ var/global/list/datum/stack_recipe/cable_recipes = list ( \
|
|||||||
. = ..()
|
. = ..()
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
|
/obj/item/stack/cable_coil/can_stack_with(obj/item/other_stack)
|
||||||
|
return istype(other_stack, /obj/item/stack/cable_coil) && !istype(other_stack, /obj/item/stack/cable_coil/heavyduty) //it can be any cable, except the fat stuff
|
||||||
|
|
||||||
/obj/item/stack/cable_coil/update_icon()
|
/obj/item/stack/cable_coil/update_icon()
|
||||||
if(!_color)
|
if(!_color)
|
||||||
_color = pick("red", "yellow", "blue", "green")
|
_color = pick("red", "yellow", "blue", "green")
|
||||||
|
|||||||
@@ -186,13 +186,16 @@
|
|||||||
for (var/obj/item/stack/item in usr.loc)
|
for (var/obj/item/stack/item in usr.loc)
|
||||||
if (src == item)
|
if (src == item)
|
||||||
continue
|
continue
|
||||||
if(src.type != item.type)
|
if(!can_stack_with(item))
|
||||||
continue
|
continue
|
||||||
if (item.amount>=item.max_amount)
|
if (item.amount>=item.max_amount)
|
||||||
continue
|
continue
|
||||||
src.preattack(item, usr,1)
|
src.preattack(item, usr,1)
|
||||||
break
|
break
|
||||||
|
|
||||||
|
/obj/item/stack/proc/can_stack_with(obj/item/other_stack)
|
||||||
|
return src.type == other_stack.type
|
||||||
|
|
||||||
/obj/item/stack/attack_hand(mob/user as mob)
|
/obj/item/stack/attack_hand(mob/user as mob)
|
||||||
if (user.get_inactive_hand() == src)
|
if (user.get_inactive_hand() == src)
|
||||||
var/obj/item/stack/F = new src.type( user, amount=1)
|
var/obj/item/stack/F = new src.type( user, amount=1)
|
||||||
@@ -211,7 +214,7 @@
|
|||||||
if (!proximity_flag)
|
if (!proximity_flag)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
if (istype(target, src.type) && src.type==target.type)
|
if (can_stack_with(target))
|
||||||
var/obj/item/stack/S = target
|
var/obj/item/stack/S = target
|
||||||
if (amount >= max_amount)
|
if (amount >= max_amount)
|
||||||
user << "\The [src] cannot hold anymore [singular_name]."
|
user << "\The [src] cannot hold anymore [singular_name]."
|
||||||
@@ -276,7 +279,7 @@
|
|||||||
|
|
||||||
/obj/item/stack/verb_pickup(mob/living/user)
|
/obj/item/stack/verb_pickup(mob/living/user)
|
||||||
var/obj/item/I = user.get_active_hand()
|
var/obj/item/I = user.get_active_hand()
|
||||||
if(I && I.type == src.type)
|
if(I && can_stack_with(I))
|
||||||
src.attackby(I, user)
|
I.preattack(src, user, 1)
|
||||||
return
|
return
|
||||||
return ..()
|
return ..()
|
||||||
|
|||||||
@@ -454,7 +454,10 @@
|
|||||||
if(E.damage > 10)
|
if(E.damage > 10)
|
||||||
E.damage += rand(4,10)
|
E.damage += rand(4,10)
|
||||||
if(-1)
|
if(-1)
|
||||||
usr << "<span class='warning'>Your thermals intensify the welder's glow. Your eyes itch and burn severely.</span>"
|
var/obj/item/clothing/to_blame = H.head //blame the hat
|
||||||
|
if(!to_blame || (istype(to_blame) && H.glasses && H.glasses.eyeprot < to_blame.eyeprot)) //if we don't have a hat, the issue is the glasses. Otherwise, if the glasses are worse, blame the glasses
|
||||||
|
to_blame = H.glasses
|
||||||
|
usr << "<span class='warning'>Your [to_blame] intensifies the welder's glow. Your eyes itch and burn severely.</span>"
|
||||||
user.eye_blurry += rand(12,20)
|
user.eye_blurry += rand(12,20)
|
||||||
E.damage += rand(12, 16)
|
E.damage += rand(12, 16)
|
||||||
if(E.damage > 10 && safety < 2)
|
if(E.damage > 10 && safety < 2)
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
|
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||||
pressure_resistance = 200 * ONE_ATMOSPHERE
|
pressure_resistance = 200 * ONE_ATMOSPHERE
|
||||||
eyeprot = 3
|
eyeprot = 3
|
||||||
|
species_restricted = list("exclude","Vox")
|
||||||
|
|
||||||
/obj/item/clothing/head/helmet/space/rig/New()
|
/obj/item/clothing/head/helmet/space/rig/New()
|
||||||
..()
|
..()
|
||||||
@@ -156,6 +157,8 @@
|
|||||||
var/obj/machinery/camera/camera
|
var/obj/machinery/camera/camera
|
||||||
pressure_resistance = 40 * ONE_ATMOSPHERE
|
pressure_resistance = 40 * ONE_ATMOSPHERE
|
||||||
|
|
||||||
|
species_restricted = null
|
||||||
|
|
||||||
/obj/item/clothing/head/helmet/space/rig/syndi/attack_self(mob/user)
|
/obj/item/clothing/head/helmet/space/rig/syndi/attack_self(mob/user)
|
||||||
if(camera)
|
if(camera)
|
||||||
..(user)
|
..(user)
|
||||||
@@ -184,6 +187,7 @@
|
|||||||
siemens_coefficient = 0.6
|
siemens_coefficient = 0.6
|
||||||
pressure_resistance = 40 * ONE_ATMOSPHERE
|
pressure_resistance = 40 * ONE_ATMOSPHERE
|
||||||
|
|
||||||
|
species_restricted = null
|
||||||
|
|
||||||
//Wizard Rig
|
//Wizard Rig
|
||||||
/obj/item/clothing/head/helmet/space/rig/wizard
|
/obj/item/clothing/head/helmet/space/rig/wizard
|
||||||
@@ -199,6 +203,8 @@
|
|||||||
|
|
||||||
wizard_garb = 1
|
wizard_garb = 1
|
||||||
|
|
||||||
|
species_restricted = null
|
||||||
|
|
||||||
/obj/item/clothing/suit/space/rig/wizard
|
/obj/item/clothing/suit/space/rig/wizard
|
||||||
icon_state = "rig-wiz"
|
icon_state = "rig-wiz"
|
||||||
name = "gem-encrusted hardsuit"
|
name = "gem-encrusted hardsuit"
|
||||||
@@ -213,6 +219,8 @@
|
|||||||
|
|
||||||
wizard_garb = 1
|
wizard_garb = 1
|
||||||
|
|
||||||
|
species_restricted = null
|
||||||
|
|
||||||
//Medical Rig
|
//Medical Rig
|
||||||
/obj/item/clothing/head/helmet/space/rig/medical
|
/obj/item/clothing/head/helmet/space/rig/medical
|
||||||
name = "medical hardsuit helmet"
|
name = "medical hardsuit helmet"
|
||||||
|
|||||||
@@ -39,16 +39,8 @@
|
|||||||
src << "<span class='warning'>Your hands are full.</span>"
|
src << "<span class='warning'>Your hands are full.</span>"
|
||||||
user << "<span class='warning'>Their hands are full.</span>"
|
user << "<span class='warning'>Their hands are full.</span>"
|
||||||
return
|
return
|
||||||
else
|
user.drop_item(I)
|
||||||
user.drop_item(I)
|
src.put_in_hands(I)
|
||||||
src.put_in_hands(I)
|
|
||||||
I.loc = src
|
|
||||||
I.layer = 20
|
|
||||||
I.add_fingerprint(src)
|
|
||||||
src.update_inv_l_hand()
|
|
||||||
src.update_inv_r_hand()
|
|
||||||
user.update_inv_l_hand()
|
|
||||||
user.update_inv_r_hand()
|
|
||||||
src.visible_message("<span class='notice'>[user] handed \the [I] to [src].</span>")
|
src.visible_message("<span class='notice'>[user] handed \the [I] to [src].</span>")
|
||||||
if("No")
|
if("No")
|
||||||
src.visible_message("<span class='warning'>[user] tried to hand \the [I] to [src] but \he didn't want it.</span>")
|
src.visible_message("<span class='warning'>[user] tried to hand \the [I] to [src] but \he didn't want it.</span>")
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
if(..())
|
if(..())
|
||||||
if(istype(newloc, /turf/unsimulated/floor/asteroid) && istype(module, /obj/item/weapon/robot_module/miner))
|
if(istype(newloc, /turf/unsimulated/floor/asteroid) && istype(module, /obj/item/weapon/robot_module/miner))
|
||||||
var/obj/item/weapon/storage/bag/ore/ore_bag = locate(/obj/item/weapon/storage/bag/ore) in get_all_slots() //find it in our modules
|
var/obj/item/weapon/storage/bag/ore/ore_bag = locate(/obj/item/weapon/storage/bag/ore) in get_all_slots() //find it in our modules
|
||||||
var/list/to_collect = newloc.contents - src
|
if(ore_bag)
|
||||||
if(ore_bag && to_collect.len)
|
for(var/obj/item/weapon/ore/ore in newloc.contents)
|
||||||
ore_bag.preattack(newloc, src, 1) //collects everything
|
ore_bag.preattack(newloc, src, 1) //collects everything
|
||||||
|
break
|
||||||
|
|||||||
Reference in New Issue
Block a user