Baymerge fixes and custom items tweaks (#1515)

-fix missing bottles sprites
-fix some things related to custom items sprites and desc
-fix missing syndicate cyborg
-add delay to repairing robotic limbs and using first aid items
-allows sprints to be applied to hands and feet
-nanopaste can be used on robotic limbs, not only surgery
-fix #1512
-fix cargo maglocks beind centcom ones
-fix hardsuit vision restrictions not working as intended
-fix webbing being able to hold medium items
This commit is contained in:
Alberyk
2017-01-11 19:01:43 -02:00
committed by skull132
parent 64df4907df
commit 37f8366b62
19 changed files with 81 additions and 64 deletions

View File

@@ -91,7 +91,3 @@
name = "Syndicate Cyborg Teleporter"
item_cost = 35
path = /obj/item/weapon/antag_spawner/borg_tele
/datum/uplink_item/item/tools/syndieborg/New()
..()
antag_roles = list(MODE_MERCENARY)

View File

@@ -12,7 +12,7 @@
/obj/item/stack/medical/attack(mob/living/M as mob, mob/user as mob)
if (!istype(M) || istype(M, /mob/living/silicon))
user << "\red \The [src] cannot be applied to [M]!"
user << "<span class='warning'>\The [src] cannot be applied to [M]!</span>"
return 1
if ( ! (istype(user, /mob/living/carbon/human) || \
@@ -78,6 +78,7 @@
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been bandaged.</span>"
return 1
else
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
user.visible_message("<span class='notice'>\The [user] starts treating [M]'s [affecting.name].</span>", \
"<span class='notice'>You start treating [M]'s [affecting.name].</span>" )
var/used = 0
@@ -139,6 +140,7 @@
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been salved.</span>"
return 1
else
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
user.visible_message("<span class='notice'>\The [user] starts salving wounds on [M]'s [affecting.name].</span>", \
"<span class='notice'>You start salving the wounds on [M]'s [affecting.name].</span>" )
if(!do_mob(user, M, 10))
@@ -176,6 +178,7 @@
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been treated.</span>"
return 1
else
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
user.visible_message("<span class='notice'>\The [user] starts treating [M]'s [affecting.name].</span>", \
"<span class='notice'>You start treating [M]'s [affecting.name].</span>" )
var/used = 0
@@ -239,6 +242,7 @@
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been salved.</span>"
return 1
else
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
user.visible_message("<span class='notice'>\The [user] starts salving wounds on [M]'s [affecting.name].</span>", \
"<span class='notice'>You start salving the wounds on [M]'s [affecting.name].</span>" )
if(!do_mob(user, M, 10))
@@ -271,7 +275,7 @@
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
var/limb = affecting.name
if(!(affecting.limb_name in list("l_arm","r_arm","l_leg","r_leg")))
if(!(affecting.limb_name in list("l_arm","r_arm","l_leg","r_leg", "l_hand", "r_hand", "r_foot", "l_foot")))
user << "<span class='danger'>You can't apply a splint there!</span>"
return
if(affecting.status & ORGAN_SPLINTED)

View File

@@ -31,17 +31,16 @@
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/S = H.get_organ(target_zone)
if(S.open == 1)
if (S && (S.status & ORGAN_ROBOT))
if(S.get_damage())
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
S.heal_damage(15, 15, robo_repair = 1)
H.updatehealth()
use(1)
user.visible_message("<span class='notice'>\The [user] applies some nanite paste at[user != M ? " \the [M]'s" : " \the"][S.name] with \the [src].</span>",\
"<span class='notice'>You apply some nanite paste at [user == M ? "your" : "[M]'s"] [S.name].</span>")
else
user << "<span class='notice'>Nothing to fix here.</span>"
if (S && (S.status & ORGAN_ROBOT))
if(S.get_damage())
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
S.heal_damage(15, 15, robo_repair = 1)
H.updatehealth()
use(1)
user.visible_message("<span class='notice'>\The [user] applies some nanite paste at[user != M ? " \the [M]'s" : " \the"][S.name] with \the [src].</span>",\
"<span class='notice'>You apply some nanite paste at [user == M ? "your" : "[M]'s"] [S.name].</span>")
else
user << "<span class='notice'>Nothing to fix here.</span>"
else
if (can_operate(H))
if (do_surgery(H,user,src))

View File

@@ -316,6 +316,7 @@
if (src.remove_fuel(0))
// Use a bit of fuel and repair
S.heal_damage(15,0,0,1)
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
user.visible_message("<span class='warning'>\The [user] patches some dents on \the [M]'s [S.name] with \the [src].</span>")
else
// Welding tool is out of fuel

View File

@@ -720,7 +720,10 @@ var/list/global/random_stock_large = list(
if (prob(30))
new /obj/item/clothing/suit/straight_jacket(L)
if ("maglock")
new /obj/item/device/magnetic_lock(L)
if (prob(50))
new /obj/item/device/magnetic_lock/engineering(L)
else
new /obj/item/device/magnetic_lock/security(L)
if ("luminol")
new /obj/item/weapon/reagent_containers/spray/luminol(L)
if ("cleaning")

View File

@@ -71,8 +71,8 @@
var/sealing // Keeps track of seal status independantly of canremove.
var/offline = 1 // Should we be applying suit maluses?
var/offline_slowdown = 3 // If the suit is deployed and unpowered, it sets slowdown to this.
var/vision_restriction
var/offline_vision_restriction = 1 // 0 - none, 1 - welder vision, 2 - blind. Maybe move this to helmets.
var/vision_restriction = TINT_NONE
var/offline_vision_restriction = TINT_HEAVY
var/airtight = 1 //If set, will adjust AIRTIGHT and STOPPRESSUREDAMAGE flags on components. Otherwise it should leave them untouched.
var/emp_protection = 0
@@ -151,6 +151,7 @@
piece.unacidable = unacidable
if(islist(armor)) piece.armor = armor.Copy()
set_vision(!offline)
update_icon(1)
/obj/item/weapon/rig/Destroy()
@@ -166,6 +167,10 @@
spark_system = null
return ..()
/obj/item/weapon/rig/proc/set_vision(var/active)
if(helmet)
helmet.tint = (active? vision_restriction : offline_vision_restriction)
/obj/item/weapon/rig/proc/suit_is_deployed()
if(!istype(wearer) || src.loc != wearer || wearer.back != src)
return 0
@@ -341,7 +346,8 @@
if(istype(wearer) && !wearer.wearing_rig)
wearer.wearing_rig = src
chest.slowdown = initial(slowdown)
set_vision(!offline)
if(offline)
if(offline == 1)
for(var/obj/item/rig_module/module in installed_modules)

View File

@@ -7,8 +7,8 @@
emp_protection = -20
slowdown = 6
offline_slowdown = 10
vision_restriction = 1
offline_vision_restriction = 2
vision_restriction = TINT_HEAVY
offline_vision_restriction = TINT_BLIND
chest_type = /obj/item/clothing/suit/space/rig/unathi
helm_type = /obj/item/clothing/head/helmet/space/rig/unathi
@@ -24,6 +24,8 @@
armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 80) //Takes TEN TIMES as much damage to stop someone in a breacher. In exchange, it's slow.
vision_restriction = 0
slowdown = 4
vision_restriction = TINT_NONE
/obj/item/clothing/head/helmet/space/rig/unathi
species_restricted = list("Unathi")

View File

@@ -9,7 +9,7 @@
armor = list(melee = 80, bullet = 65, laser = 50, energy = 15, bomb = 80, bio = 100, rad = 60)
slowdown = 1
offline_slowdown = 3
offline_vision_restriction = 1
offline_vision_restriction = TINT_HEAVY
helm_type = /obj/item/clothing/head/helmet/space/rig/combat
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton)
@@ -27,7 +27,7 @@
/obj/item/rig_module/electrowarfare_suite,
/obj/item/rig_module/chem_dispenser/combat
)
/obj/item/weapon/rig/military
name = "military hardsuit control module"
desc = "A powerfull hardsuit designed for military operations."
@@ -36,7 +36,7 @@
armor = list(melee = 80, bullet = 75, laser = 60, energy = 15, bomb = 80, bio = 100, rad = 30)
slowdown = 1
offline_slowdown = 3
offline_vision_restriction = 1
offline_vision_restriction = TINT_HEAVY
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs)
chest_type = /obj/item/clothing/suit/space/rig/military

View File

@@ -10,7 +10,7 @@
armor = list(melee = 80, bullet = 65, laser = 50, energy = 15, bomb = 80, bio = 100, rad = 60)
slowdown = 1
offline_slowdown = 3
offline_vision_restriction = 1
offline_vision_restriction = TINT_HEAVY
emp_protection = 30
helm_type = /obj/item/clothing/head/helmet/space/rig/merc

View File

@@ -28,7 +28,7 @@
siemens_coefficient = 0.9
slowdown = 0
offline_slowdown = 0
offline_vision_restriction = 0
offline_vision_restriction = TINT_HEAVY
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/briefcase,/obj/item/weapon/storage/secure/briefcase)
@@ -63,7 +63,7 @@
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 100, rad = 50)
slowdown = 3
offline_slowdown = 10
offline_vision_restriction = 2
offline_vision_restriction = TINT_HEAVY
emp_protection = -20
helm_type = /obj/item/clothing/head/helmet/space/rig/industrial
@@ -96,7 +96,7 @@
armor = list(melee = 30, bullet = 10, laser = 20,energy = 25, bomb = 20, bio = 100, rad = 100)
slowdown = 0
offline_slowdown = 1
offline_vision_restriction = 1
offline_vision_restriction = TINT_HEAVY
helm_type = /obj/item/clothing/head/helmet/space/rig/eva
glove_type = /obj/item/clothing/gloves/rig/eva
@@ -161,7 +161,7 @@
icon_state = "science_rig"
armor = list(melee = 45, bullet = 5, laser = 40, energy = 65, bomb = 60, bio = 100, rad = 100)
slowdown = 1
offline_vision_restriction = 1
offline_vision_restriction = TINT_HEAVY
emp_protection = 40
helm_type = /obj/item/clothing/head/helmet/space/rig/hazmat
@@ -189,7 +189,7 @@
icon_state = "medical_rig"
armor = list(melee = 30, bullet = 15, laser = 20, energy = 60, bomb = 30, bio = 100, rad = 100)
slowdown = 1
offline_vision_restriction = 1
offline_vision_restriction = TINT_HEAVY
helm_type = /obj/item/clothing/head/helmet/space/rig/medical
@@ -215,7 +215,7 @@
armor = list(melee = 60, bullet = 40, laser = 30, energy = 15, bomb = 60, bio = 100, rad = 30)
slowdown = 1
offline_slowdown = 3
offline_vision_restriction = 1
offline_vision_restriction = TINT_HEAVY
helm_type = /obj/item/clothing/head/helmet/space/rig/hazard

View File

@@ -6,7 +6,7 @@
armor = list(melee = 80, bullet = 75, laser = 60, energy = 15, bomb = 80, bio = 100, rad = 30)
slowdown = 1
offline_slowdown = 3
offline_vision_restriction = 1
offline_vision_restriction = TINT_HEAVY
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs)
chest_type = /obj/item/clothing/suit/space/rig/terminator

View File

@@ -88,7 +88,7 @@
icon_state = "generic_hood"
body_parts_covered = HEAD
cold_protection = HEAD
flags_inv = HIDEEARS | BLOCKHAIR
flags_inv = HIDEEARS | BLOCKHAIR | HIDEEARS
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
canremove = 0

View File

@@ -12,6 +12,7 @@
hold = new/obj/item/weapon/storage/internal(src)
hold.storage_slots = slots
hold.max_storage_space = 12
hold.max_w_class = 2
/obj/item/clothing/accessory/storage/attack_hand(mob/user as mob)
if (has_suit) //if we are part of a suit

View File

@@ -27,7 +27,7 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/clothing/head/soft/sec/corp/fluff/mendoza_cap //Mendoza's cap - Chance Mendoza - loow
name = "well-worn corporate security cap"
desc = "A baseball hat in corporate colors.'C. Mendoza' is embroidered in fine print on the bill. On the underside of the cap, in dark ink, the phrase 'Gamble till you're Lucky!' is written in loopy cursive handwriting."
desc = "A baseball hat in corporate colors.\"C. Mendoza\" is embroidered in fine print on the bill. On the underside of the cap, in dark ink, the phrase \"Gamble till you're Lucky!\" is written in loopy cursive handwriting."
/obj/item/clothing/head/fluff/ziva_bandana //Ziva's Bandana - Ziva Ta'Kim - sierrakomodo
@@ -149,7 +149,7 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/clothing/suit/storage/det_trench/fluff/bell_coat //Pinned Brown Coat - Avery Bell - serveris6
name = "pinned brown coat"
desc = "A worn mid 20th century brown trenchcoat. If you look closely at the breast, you can see an ID flap stitched into the leather - 'Avery Bell, Silhouette Co.'."
desc = "A worn mid 20th century brown trenchcoat. If you look closely at the breast, you can see an ID flap stitched into the leather - \"Avery Bell, Silhouette Co\"."
icon = 'icons/obj/custom_items/bell_coat.dmi'
icon_state = "bell_coat"
item_state = "bell_coat"
@@ -191,9 +191,9 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/weapon/cane/fluff/usiki_cane/attack_self(mob/user as mob)
if(user.get_species() == "Unathi")
user << "This cane has the words 'A new and better life' carved into one side in basic, and on the other side in Sinta'Unathi."
user << "This cane has the words \"A new and better life\" carved into one side in basic, and on the other side in Sinta'Unathi."
else
user << "This cane has the words 'A new and better life' carved into the side, the other side has some unreadable carvings."
user << "This cane has the words \"A new and better life\" carved into the side, the other side has some unreadable carvings."
/obj/item/clothing/gloves/black/fluff/kathleen_glove //Black Left Glove - Kathleen Mistral - valkywalky2
@@ -368,7 +368,7 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/clothing/suit/armor/vest/fabian_coat //NT APF Armor - Fabian Goellstein - mirkoloio
name = "NT APF armor"
desc = "This is a NT Asset Protection Force Armor, it is fashioned as a jacket in NT Security Colors. The nameplate carries the Name 'Goellstein'."
desc = "This is a NT Asset Protection Force Armor, it is fashioned as a jacket in NT Security Colors. The nameplate carries the Name \"Goellstein\"."
icon = 'icons/obj/custom_items/fabian_coat.dmi'
icon_state = "fabian_coat_open"
item_state = "fabian_coat_open"
@@ -399,7 +399,7 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/clothing/head/beret/centcom/officer/fluff/fabian_beret //Worn Security Beret - Fabian Goellstein - mirkoloio
name = "worn security beret"
desc = "A NT Asset Protection Force Beret. It has the NT APF insignia on it as well as the Name 'Goellstein' inside."
desc = "A NT Asset Protection Force Beret. It has the NT APF insignia on it as well as the Name \"Goellstein\" inside."
/obj/item/clothing/accessory/armband/fluff/vittorio_armband //ATLAS Armband - Vittorio Giurifiglio - tytostyris
@@ -440,7 +440,8 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/clothing/suit/storage/toggle/bomber/fluff/ash_jacket //Hand-me-down Bomber Jacket - Ash LaCroix - superballs
name = "hand-me-down bomber jacket"
desc = "A custom tailored bomber jacket that seems to have been through some action. A silver badge is pinned to it, along with a black and blue strip covering it halfway. The badge reads, \"Christopher LaCroix, Special Agent, Mendell City, E.O.W. 10-7-38, 284\""
desc = "A custom tailored bomber jacket that seems to have been through some action. A silver badge is pinned to it, along with a black and blue strip covering it halfway. \
The badge reads, \"Christopher LaCroix, Special Agent, Mendell City, E.O.W. 10-7-38, 284\"."
icon = 'icons/obj/custom_items/ash_jacket.dmi'
icon_state = "ash_jacket"
item_state = "ash_jacket"
@@ -451,7 +452,7 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/clothing/accessory/badge/holo/cord/fluff/dylan_tags //Dog Tags - Dylan Sutton - sircatnip
name = "dog tags"
desc = "Some black dog tags, engraved on them is the following: \"Wright, Dylan L, O POS, Pacific Union Special Forces.\""
desc = "Some black dog tags, engraved on them is the following: \"Wright, Dylan L, O POS, Pacific Union Special Forces\"."
icon = 'icons/obj/custom_items/dylan_tags.dmi'
icon_state = "dylan_tags"
item_state = "dylan_tags"
@@ -638,16 +639,14 @@ All custom items with worn sprites must follow the contained sprite system: http
species_restricted = list("Machine")
var/emagged = 0
/obj/item/clothing/mask/fluff/rur_collar/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/weapon/card/emag) && !emagged)
/obj/item/clothing/mask/fluff/rur_collar/emag_act(var/remaining_charges, var/mob/user)
if (!emagged)
user << "<span class='danger'>You short out \the [src]'s locking mechanism.</span>"
src.icon_state = "rur_collar_broken"
src.canremove = 1
src.emagged = 1
playsound(src.loc, 'sound/effects/sparks1.ogg', 100, 0)
return
return
return 1
/obj/item/clothing/mask/bluescarf/fluff/simon_scarf //Fancy Scarf - Simon Greene - icydew
@@ -661,7 +660,7 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/clothing/head/soft/sec/corp/fluff/karson_cap //Karson's Cap - Eric Karson - dronzthewolf
name = "well-worn corporate security cap"
desc = "A well-worn corporate security cap. The name Karson is written on the underside of the brim, it is well-worn at the point where it has shaped to the owner's head."
desc = "A well-worn corporate security cap. The name \"Karson\" is written on the underside of the brim, it is well-worn at the point where it has shaped to the owner's head."
/obj/item/sign/fluff/triaka_atimono //Framed Zatimono - Azkuyua Triaka - jackboot
@@ -801,6 +800,7 @@ All custom items with worn sprites must follow the contained sprite system: http
icon = 'icons/obj/custom_items/basil_coat.dmi'
icon_state = "basil_hood"
/obj/item/clothing/under/fluff/iskra_uniform //Worn People's Republic Service Uniform - Iskra Ayrat - alberyk
name = "worn people's republic service uniform"
desc = "A well-worn shirt with blue strips, coupled with brown uniform pants. It seems to be part of the people's republic of Adhomai service uniform."
@@ -812,7 +812,8 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/clothing/suit/storage/fluff/tsali_coat //Mariziite Shroud - Cruz Tsali - serveris6
name = "mariziite shroud"
desc = "A worn duster coat frayed near the bottom, with a dark-hide shoulder cape thrown over the torso bearing the mark of a Mariziite warrior priest. Commonly known as the garb worn by members of the Mariziite Order in the performance of their duties."
desc = "A worn duster coat frayed near the bottom, with a dark-hide shoulder cape thrown over the torso bearing the mark of a Mariziite warrior priest. \
Commonly known as the garb worn by members of the Mariziite Order in the performance of their duties."
icon = 'icons/obj/custom_items/tsali_coat.dmi'
icon_state = "tsali_coat"
item_state = "tsali_coat"
@@ -821,7 +822,7 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/clothing/under/fluff/ana_uniform //Retired Uniform - Ana Roh'hi'tin - suethecake
name = "retired uniform"
desc = "A silken blouse paired with dark-colored slacks. It has the words 'Chief Investigator' embroidered into the shoulder bar."
desc = "A silken blouse paired with dark-colored slacks. It has the words \"Chief Investigator\" embroidered into the shoulder bar."
icon = 'icons/obj/custom_items/ana_clothing.dmi'
icon_state = "ana_uniform"
item_state = "ana_uniform"
@@ -829,7 +830,7 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/clothing/suit/storage/forensics/fluff/ana_jacket //CSI Jacket - Ana Roh'hi'tin - suethecake
name = "CSI jacket"
desc = "A black jacket with the words 'CSI' printed in the back in bright, white letters."
desc = "A black jacket with the words \"CSI\" printed in the back in bright, white letters."
icon = 'icons/obj/custom_items/ana_clothing.dmi'
icon_state = "ana_jacket"
item_state = "ana_jacket"
@@ -837,12 +838,12 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/clothing/accessory/badge/old/fluff/ana_badge //Faded Badge - Ana Roh'hi'tin - suethecake
name = "faded badge"
desc = "A faded badge, backed with leather, that reads 'NT Security Force' across the front. It bears the emblem of the Forensic division."
desc = "A faded badge, backed with leather, that reads \"NT Security Force\" across the front. It bears the emblem of the Forensic division."
stored_name = "Ana Issek"
badge_string = "NanoTrasen Security Department"
/obj/item/clothing/head/hairflower/fluff/aquila_pin //Magnetic Flower Pin - Aquila - nandabun
/obj/item/clothing/head/hairflower/fluff/aquila_pin //Magnetic Flower Pin - Aquila - nandastar
name = "magnetic flower pin"
desc = "That's a magnet in the shape of a hair flower pin. Smells nice."

View File

@@ -76,8 +76,5 @@
G.process_hud(src)
/mob/living/carbon/human/proc/process_rig(var/obj/item/weapon/rig/O)
if(O.helmet && O.helmet == head && (O.helmet.body_parts_covered & EYES))
if((O.offline && O.offline_vision_restriction == 2) || (!O.offline && O.vision_restriction == 2))
equipment_tint_total += TINT_BLIND
if(O.visor && O.visor.active && O.visor.vision && O.visor.vision.glasses && (!O.helmet || (head && O.helmet == head)))
process_glasses(O.visor.vision.glasses)