diff --git a/_maps/map_files/generic/CentComm.dmm b/_maps/map_files/generic/CentComm.dmm index 7638ebaa58c..eb8ea144539 100644 --- a/_maps/map_files/generic/CentComm.dmm +++ b/_maps/map_files/generic/CentComm.dmm @@ -46541,7 +46541,7 @@ /obj/machinery/camera{ c_tag = "Centaral Command Supreme Court"; dir = 1; - network = list("SS13","CentComm"); + network = list("CentComm"); pixel_x = 12; pixel_y = -6 }, diff --git a/code/modules/clothing/spacesuits/ert.dm b/code/modules/clothing/spacesuits/ert.dm index 0455b4162cc..6e6aa84ca1d 100644 --- a/code/modules/clothing/spacesuits/ert.dm +++ b/code/modules/clothing/spacesuits/ert.dm @@ -5,7 +5,7 @@ icon_state = "hardsuit0-ert_commander" item_state = "helm-command" item_color = "ert_commander" - armor = list(melee = 45, bullet = 40, laser = 40, energy = 40, bomb = 25, bio = 100, rad = 75, fire = 100, acid = 80) + armor = list(melee = 45, bullet = 45, laser = 40, energy = 40, bomb = 25, bio = 100, rad = 75, fire = 100, acid = 80) resistance_flags = FIRE_PROOF var/obj/machinery/camera/camera var/has_camera = TRUE @@ -45,7 +45,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/ert/gamma max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) + armor = list(melee = 65, bullet = 55, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) /obj/item/clothing/suit/space/hardsuit/ert name = "emergency response team suit" @@ -54,7 +54,7 @@ item_state = "suit-command" w_class = WEIGHT_CLASS_NORMAL allowed = list(/obj/item/gun,/obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) - armor = list(melee = 45, bullet = 40, laser = 40, energy = 40, bomb = 25, bio = 100, rad = 75, fire = 100, acid = 80) + armor = list(melee = 45, bullet = 45, laser = 40, energy = 40, bomb = 25, bio = 100, rad = 75, fire = 100, acid = 80) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/rcd, /obj/item/crowbar, \ /obj/item/screwdriver, /obj/item/weldingtool, /obj/item/wirecutters, /obj/item/wrench, /obj/item/multitool, \ /obj/item/radio, /obj/item/analyzer, /obj/item/gun, /obj/item/melee/baton, /obj/item/reagent_containers/spray/pepper, \ @@ -71,7 +71,7 @@ /obj/item/clothing/suit/space/hardsuit/ert/gamma max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) + armor = list(melee = 65, bullet = 55, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) //Commander /obj/item/clothing/head/helmet/space/hardsuit/ert/commander @@ -237,27 +237,27 @@ name = "inquisitor's helmet" icon_state = "hardsuit0-inquisitor" item_color = "inquisitor" - armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) + armor = list(melee = 65, bullet = 55, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor name = "inquisitor's hardsuit" icon_state = "hardsuit-inquisitor" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/inquisitor - armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) + armor = list(melee = 65, bullet = 55, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/berserker name = "champion's helmet" desc = "Peering into the eyes of the helmet is enough to seal damnation." icon_state = "hardsuit0-berserker" item_color = "berserker" - armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) + armor = list(melee = 65, bullet = 55, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) /obj/item/clothing/suit/space/hardsuit/ert/paranormal/berserker name = "champion's hardsuit" desc = "Voices echo from the hardsuit, driving the user insane." icon_state = "hardsuit-berserker" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/berserker - armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) + armor = list(melee = 65, bullet = 55, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) // Solgov @@ -280,7 +280,7 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/solgov slowdown = 0 species_restricted = list("Human", "Slime People", "Skeleton", "Nucleation", "Machine") - armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 100, acid = 50) + armor = list(melee = 65, bullet = 55, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 100, acid = 50) resistance_flags = FIRE_PROOF /obj/item/clothing/head/helmet/space/hardsuit/ert/solgov/command @@ -342,7 +342,7 @@ item_state = "ert_evasuit" desc = "A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during peacemaker's mission." w_class = WEIGHT_CLASS_NORMAL - armor = list(melee = 20, bullet = 20, laser = 20, energy = 15, bomb = 10, bio = 100, rad = 20, fire = 50, acid = 65) + armor = list(melee = 20, bullet = 25, laser = 20, energy = 15, bomb = 10, bio = 100, rad = 20, fire = 50, acid = 65) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/rcd, /obj/item/crowbar, \ /obj/item/screwdriver, /obj/item/weldingtool, /obj/item/wirecutters, /obj/item/wrench, /obj/item/multitool, \ /obj/item/radio, /obj/item/analyzer, /obj/item/gun, /obj/item/melee/baton, /obj/item/reagent_containers/spray/pepper, \ @@ -357,7 +357,7 @@ desc = "A lightweight space helmet with the basic ability to protect the wearer from the vacuum of space during mission. Has camera module inside, can be activated." w_class = WEIGHT_CLASS_NORMAL flags_inv = HIDEMASK|HIDEHEADSETS|HIDEGLASSES - armor = list(melee = 20, bullet = 20, laser = 20, energy = 15, bomb = 10, bio = 100, rad = 20, fire = 50, acid = 65) + armor = list(melee = 20, bullet = 25, laser = 20, energy = 15, bomb = 10, bio = 100, rad = 20, fire = 50, acid = 65) flash_protect = 0 var/obj/machinery/camera/camera var/has_camera = TRUE diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index a7097b06785..1a7a07276ca 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -296,7 +296,7 @@ alt_desc = "A dual-mode advanced helmet designed for work in special operations. It is in combat mode. Property of Gorlex Marauders." icon_state = "hardsuit1-syndi" item_state = "syndie_helm" - armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 30, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90) + armor = list("melee" = 40, "bullet" = 55, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90) item_color = "syndi" on = 1 var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null @@ -373,7 +373,7 @@ alt_desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in combat mode. Property of Gorlex Marauders." icon_state = "hardsuit1-syndi" item_state = "syndie_hardsuit" - armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 30, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90) + armor = list("melee" = 40, "bullet" = 55, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90) item_color = "syndi" w_class = WEIGHT_CLASS_NORMAL var/on = 1 @@ -391,7 +391,7 @@ name = "elite syndicate hardsuit helmet" desc = "An elite version of the syndicate helmet, with improved armour and fire shielding. It is in travel mode. Property of Gorlex Marauders." icon_state = "hardsuit0-syndielite" - armor = list("melee" = 60, "bullet" = 60, "laser" = 50, "energy" = 40, "bomb" = 55, "bio" = 100, "rad" = 70, "fire" = 100, "acid" = 100) + armor = list("melee" = 60, "bullet" = 65, "laser" = 50, "energy" = 25, "bomb" = 55, "bio" = 100, "rad" = 70, "fire" = 100, "acid" = 100) item_color = "syndielite" heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -401,7 +401,7 @@ name = "elite syndicate hardsuit" desc = "An elite version of the syndicate hardsuit, with improved armour and fire shielding. It is in travel mode." icon_state = "hardsuit0-syndielite" - armor = list("melee" = 60, "bullet" = 60, "laser" = 50, "energy" = 40, "bomb" = 55, "bio" = 100, "rad" = 70, "fire" = 100, "acid" = 100) + armor = list("melee" = 60, "bullet" = 65, "laser" = 50, "energy" = 25, "bomb" = 55, "bio" = 100, "rad" = 70, "fire" = 100, "acid" = 100) item_color = "syndielite" heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS|TAIL max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT diff --git a/code/modules/mob/living/update_status.dm b/code/modules/mob/living/update_status.dm index 7769c227779..5f32ba2fa7c 100644 --- a/code/modules/mob/living/update_status.dm +++ b/code/modules/mob/living/update_status.dm @@ -86,7 +86,7 @@ /mob/living/update_canmove(delay_action_updates = 0) var/fall_over = !can_stand() var/buckle_lying = !(buckled && !buckled.buckle_lying) - if(fall_over || resting || stunned || health <= HEALTH_THRESHOLD_CRIT) + if(fall_over || resting || stunned) drop_r_hand() drop_l_hand() else @@ -94,7 +94,7 @@ canmove = 1 if(buckled) lying = 90 * buckle_lying - else if((fall_over || resting || health <= HEALTH_THRESHOLD_CRIT) && !lying) + else if((fall_over || resting) && !lying) fall(fall_over) canmove = !(fall_over || stunned || IsFrozen() || buckled) diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm index 4cfb152347f..48deb12a2d2 100644 --- a/code/modules/projectiles/ammunition/energy.dm +++ b/code/modules/projectiles/ammunition/energy.dm @@ -15,6 +15,11 @@ muzzle_flash_color = LIGHT_COLOR_DARKRED select_name = "kill" +/obj/item/ammo_casing/energy/laser/security + projectile_type = /obj/item/projectile/beam/laser/security + +/obj/item/ammo_casing/energy/lasergun/security/advanced + projectile_type = /obj/item/projectile/beam/laser/security/advanced /obj/item/ammo_casing/energy/laser/cyborg //to balance cyborg energy cost seperately e_cost = 250 diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 5973768977a..ab08d09cbe5 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -6,7 +6,7 @@ w_class = WEIGHT_CLASS_NORMAL materials = list(MAT_METAL=2000) origin_tech = "combat=4;magnets=2" - ammo_type = list(/obj/item/ammo_casing/energy/lasergun) + ammo_type = list(/obj/item/ammo_casing/energy/lasergun/security/advanced) ammo_x_offset = 1 shaded_charge = 1 diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index a0b479dfe68..d4363caf37e 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -3,7 +3,7 @@ desc = "A basic energy-based gun with two settings: kill and disable." icon_state = "energy" item_state = null //so the human update icon uses the icon_state instead. - ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) + ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser/security) origin_tech = "combat=4;magnets=3" modifystate = 2 can_flashlight = 1 diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 4d15243edcf..a95fb12585f 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -17,6 +17,12 @@ /obj/item/projectile/beam/laser +/obj/item/projectile/beam/laser/security + damage = 22 + +/obj/item/projectile/beam/laser/security/advanced + damage = 25 + /obj/item/projectile/beam/laser/heavylaser name = "heavy laser" icon_state = "heavylaser" @@ -191,6 +197,7 @@ /obj/item/projectile/beam/dominator/eliminator impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser icon_state = "blue_laser" + damage = 22 light_color = LIGHT_COLOR_LIGHT_CYAN /obj/item/projectile/beam/dominator/slaughter diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 36176f78972..f2d9c2d346a 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -31,6 +31,7 @@ var/disfigured = 0 var/cannot_amputate var/cannot_break + var/break_chance_cap = 15 var/s_tone = null var/s_col = null // If this is instantiated, it should be a hex value. var/list/child_icons = list() @@ -426,7 +427,7 @@ Note that amputating the affected organ does in fact remove the infection from t //Updates brute_damn and burn_damn from wound damages. Updates BLEEDING status. /obj/item/organ/external/proc/check_fracture(damage) if(config.bones_can_break && brute_dam + burn_dam + damage > min_broken_damage && !is_robotic()) - if(prob(damage * FRAGILITY(owner))) + if(prob(min(damage * FRAGILITY(owner), break_chance_cap))) fracture() add_attack_logs(owner, null, "Suffered fracture to [src](Damage: [damage], Organ HP: [max_damage - (brute_dam + burn_dam) ])")