diff --git a/code/__defines/gamemode.dm b/code/__defines/gamemode.dm index 1fcfbe46a2b..2ddf8aa4324 100644 --- a/code/__defines/gamemode.dm +++ b/code/__defines/gamemode.dm @@ -63,7 +63,7 @@ #define MODE_REVENANT "revenant" #define MODE_GOLEM "golem" -#define DEFAULT_TELECRYSTAL_AMOUNT 15 +#define DEFAULT_TELECRYSTAL_AMOUNT 20 // Defines (NOT FLAGS) for making secret, random, and mixed secret less snowflake-string // and number dependant. diff --git a/code/datums/outfits/outfit_antag.dm b/code/datums/outfits/outfit_antag.dm index 89974852ff1..c8f57a62379 100644 --- a/code/datums/outfits/outfit_antag.dm +++ b/code/datums/outfits/outfit_antag.dm @@ -151,6 +151,7 @@ gloves = /obj/item/clothing/gloves/swat shoes = /obj/item/clothing/shoes/jackboots pda = /obj/item/modular_computer/handheld/pda/syndicate + r_pocket = /obj/item/device/special_uplink/mercenary backpack_contents = list( /obj/item/storage/box/survival/engineer = 1, @@ -323,7 +324,7 @@ /obj/item/clothing/glasses/sunglasses/visor ) l_ear = /obj/item/device/radio/headset/raider - l_pocket = /obj/item/device/contract_uplink + l_pocket = /obj/item/device/special_uplink/raider r_pocket = list( /obj/item/clothing/glasses/eyepatch/hud/thermal, /obj/item/clothing/glasses/thermal, @@ -399,7 +400,7 @@ ) belt = null - suit = /obj/item/clothing/suit/armor/carrier/ballistic + suit = null shoes = list( /obj/item/clothing/shoes/laceup/all_species, diff --git a/code/datums/uplink/ammunition.dm b/code/datums/uplink/ammunition.dm index 427fb185b7d..2f040ff5eee 100644 --- a/code/datums/uplink/ammunition.dm +++ b/code/datums/uplink/ammunition.dm @@ -52,6 +52,18 @@ path = /obj/item/ammo_magazine/boltaction desc = "Contains five rounds of 7.62mm bullets." +/datum/uplink_item/item/ammo/carbine_mag + name = "5.56 carbine magazine" + item_cost = 2 + path = /obj/item/ammo_magazine/a556/carbine + desc = "Contains 15 rounds of 5.56." + +/datum/uplink_item/item/ammo/lmg_drum + name = "7.62 LMG drum" + item_cost = 5 + path = /obj/item/ammo_magazine/a762 + desc = "Contains 50 rounds of 7.62." + /datum/uplink_item/item/ammo/peac name = "Anti-materiel Cannon Cartridge" path = /obj/item/ammo_casing/peac diff --git a/code/datums/uplink/highly visible and dangerous weapons.dm b/code/datums/uplink/highly visible and dangerous weapons.dm index ae3f470ec60..a0c507685f3 100644 --- a/code/datums/uplink/highly visible and dangerous weapons.dm +++ b/code/datums/uplink/highly visible and dangerous weapons.dm @@ -81,7 +81,7 @@ /datum/uplink_item/item/visible_weapons/gatling name = "Gatling Machine Gun" - item_cost = 30 + item_cost = 40 path = /obj/item/minigunpack /datum/uplink_item/item/visible_weapons/chainsaw @@ -104,6 +104,11 @@ item_cost = 8 path = /obj/item/gun/energy/rifle/laser +/datum/uplink_item/item/visible_weapons/ballistic_carbine + name = "Ballistic Carbine" + item_cost = 8 + path = /obj/item/gun/projectile/automatic/rifle/carbine + /datum/uplink_item/item/visible_weapons/energy_carbine name = "Energy Carbine" item_cost = 6 @@ -144,17 +149,27 @@ item_cost = 5 path = /obj/item/gun/projectile/recoilless_rifle -/datum/uplink_item/item/visible_weapons/random_weapon - name = "Random Gun" - item_cost = 3 - path = /obj/item/storage/box/syndie_kit/random_weapon - /datum/uplink_item/item/visible_weapons/ionrifle name = "Ion Rifle" item_cost = 5 path = /obj/item/gun/energy/rifle/ionrifle +/datum/uplink_item/item/visible_weapons/lmg + name = "Light Machine Gun" + item_cost = 20 + path = /obj/item/gun/projectile/automatic/rifle/l6_saw + +/datum/uplink_item/item/visible_weapons/random_weapon + name = "Random Gun" + item_cost = 6 + path = /obj/item/storage/box/syndie_kit/random_weapon + /datum/uplink_item/item/visible_weapons/super_heavy_pistol name = "Super Heavy Pistol" item_cost = 4 - path = /obj/item/gun/projectile/pistol/super_heavy \ No newline at end of file + path = /obj/item/gun/projectile/pistol/super_heavy + +/datum/uplink_item/item/visible_weapons/energy_pistol + name = "Energy Pistol" + item_cost = 2 + path = /obj/item/gun/energy/pistol diff --git a/code/datums/uplink/medical.dm b/code/datums/uplink/medical.dm index 958baf19737..6b9b05d6e37 100644 --- a/code/datums/uplink/medical.dm +++ b/code/datums/uplink/medical.dm @@ -14,6 +14,11 @@ item_cost = 1 path = /obj/item/storage/toolbox/lunchbox/syndicate/filled +/datum/uplink_item/item/medical/sanasomnum + name = "Sanasomnum Injector" + item_cost = 2 + path = /obj/item/reagent_containers/hypospray/autoinjector/sanasomnum + /datum/uplink_item/item/medical/combathypo name = "Combat Hypospray" item_cost = 1 diff --git a/code/datums/uplink/uplink_categories.dm b/code/datums/uplink/uplink_categories.dm index 6e8e1d6e49e..f7d111c0b69 100644 --- a/code/datums/uplink/uplink_categories.dm +++ b/code/datums/uplink/uplink_categories.dm @@ -32,11 +32,9 @@ /datum/uplink_category/grenades name = "Grenades and Thrown Objects" - restricted_antags = list(MODE_BURGLAR) /datum/uplink_category/visible_weapons name = "Highly Visible and Dangerous Weapons" - restricted_antags = list(MODE_BURGLAR) /datum/uplink_category/stealthy_weapons name = "Stealthy and Inconspicuous Weapons" @@ -64,15 +62,12 @@ /datum/uplink_category/exosuit name = "Exosuit" - restricted_antags = list(MODE_BURGLAR) /datum/uplink_category/exosuit_equipment name = "Exosuit Equipment" - restricted_antags = list(MODE_BURGLAR) /datum/uplink_category/corporate_equipment name = "Corporate Equipment" - restricted_antags = list(MODE_BURGLAR) /datum/uplink_category/telecrystals name = "Telecrystals" diff --git a/code/game/gamemodes/changeling/implements/powers/body.dm b/code/game/gamemodes/changeling/implements/powers/body.dm index 973173daf4b..e14b588f009 100644 --- a/code/game/gamemodes/changeling/implements/powers/body.dm +++ b/code/game/gamemodes/changeling/implements/powers/body.dm @@ -522,4 +522,4 @@ src.key = ling.key playsound(get_turf(src),'sound/effects/blobattack.ogg',50,1) src.forceMove(get_turf(ling)) - qdel(ling) + qdel(ling) \ No newline at end of file diff --git a/code/game/gamemodes/cult/items/clothes.dm b/code/game/gamemodes/cult/items/clothes.dm index 91843ff2921..5dbe4fa68ab 100644 --- a/code/game/gamemodes/cult/items/clothes.dm +++ b/code/game/gamemodes/cult/items/clothes.dm @@ -7,8 +7,8 @@ body_parts_covered = HEAD|EYES armor = list( melee = ARMOR_MELEE_RESISTANT, - bullet = ARMOR_BALLISTIC_SMALL, - laser = ARMOR_LASER_MAJOR, + bullet = ARMOR_BALLISTIC_PISTOL, + laser = ARMOR_LASER_MEDIUM, bomb = ARMOR_BOMB_PADDED, bio = ARMOR_BIO_SMALL ) @@ -34,8 +34,8 @@ allowed = list(/obj/item/book/tome, /obj/item/melee/cultblade) armor = list( melee = ARMOR_MELEE_RESISTANT, - bullet = ARMOR_BALLISTIC_SMALL, - laser = ARMOR_LASER_MAJOR, + bullet = ARMOR_BALLISTIC_PISTOL, + laser = ARMOR_LASER_MEDIUM, bomb = ARMOR_BOMB_PADDED, bio = ARMOR_BIO_SMALL ) @@ -61,8 +61,8 @@ siemens_coefficient = 0.35 //antags don't get exceptions, it's just heavy armor by magical standards armor = list( melee = ARMOR_MELEE_RESISTANT, - bullet = ARMOR_BALLISTIC_SMALL, - laser = ARMOR_LASER_MAJOR, + bullet = ARMOR_BALLISTIC_PISTOL, + laser = ARMOR_LASER_MEDIUM, bomb = ARMOR_BOMB_PADDED, bio = ARMOR_BIO_SMALL ) diff --git a/code/game/machinery/autolathe/autolathe_datums.dm b/code/game/machinery/autolathe/autolathe_datums.dm index 72331dc691a..0d6fae1737d 100644 --- a/code/game/machinery/autolathe/autolathe_datums.dm +++ b/code/game/machinery/autolathe/autolathe_datums.dm @@ -493,12 +493,24 @@ hidden = 1 category = "Arms and Ammunition" +/datum/autolathe/recipe/magazine_carbinepolymer + name = "ammunition (5.56mm, polymer)" + path = /obj/item/ammo_magazine/a556/polymer + hidden = 1 + category = "Arms and Ammunition" + /datum/autolathe/recipe/magazine_smallcarbine name = "ammunition (5.56mm, small)" path = /obj/item/ammo_magazine/a556/carbine hidden = 1 category = "Arms and Ammunition" +/datum/autolathe/recipe/magazine_smallcarbinepolymer + name = "ammunition (5.56mm, small polymer)" + path = /obj/item/ammo_magazine/a556/carbine/polymer + hidden = 1 + category = "Arms and Ammunition" + /datum/autolathe/recipe/shotgun name = "ammunition (slug, shotgun)" path = /obj/item/ammo_casing/shotgun diff --git a/code/game/objects/items/devices/uplink.dm b/code/game/objects/items/devices/uplink.dm index 0487e352b7f..83f47d32fd3 100644 --- a/code/game/objects/items/devices/uplink.dm +++ b/code/game/objects/items/devices/uplink.dm @@ -411,9 +411,17 @@ A list of items and costs is stored under the datum of every game mode, alongsid name = "infiltrator uplink" starting_telecrystals = 15 +/obj/item/device/special_uplink/mercenary + name = "milspec uplink" + starting_telecrystals = 15 + /obj/item/device/special_uplink/burglar name = "sponsored uplink" - starting_telecrystals = 15 + starting_telecrystals = 20 + +/obj/item/device/special_uplink/raider + name = "underground uplink" + starting_telecrystals = 3 /obj/item/device/special_uplink/rev name = "station bounced radio" diff --git a/code/game/objects/items/weapons/grenades/fragmentation.dm b/code/game/objects/items/weapons/grenades/fragmentation.dm index 900bbaf1c53..625707412c4 100644 --- a/code/game/objects/items/weapons/grenades/fragmentation.dm +++ b/code/game/objects/items/weapons/grenades/fragmentation.dm @@ -29,7 +29,7 @@ proc/fragem(var/source,var/fragx,var/fragy,var/light_dam,var/flash_dam,var/p_dam //Fragmentation grenade projectile /obj/item/projectile/bullet/pellet/fragment - damage = 15 + damage = 20 armor_penetration = 35 range_step = 2 diff --git a/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm b/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm index 877bf64a64d..1e44f644ff3 100644 --- a/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm +++ b/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm @@ -1,7 +1,6 @@ /obj/structure/closet/crate/secure/gear_loadout desc = "A secure gear crate." name = "gear crate" - req_access = list(access_syndicate) /obj/structure/closet/crate/gear_loadout/hephaestus desc = "A sturdy crate with Hephaestus Industries branding." diff --git a/code/modules/cargo/random_stock/t2_uncommon.dm b/code/modules/cargo/random_stock/t2_uncommon.dm index 82ec35fbe13..813c6fbc034 100644 --- a/code/modules/cargo/random_stock/t2_uncommon.dm +++ b/code/modules/cargo/random_stock/t2_uncommon.dm @@ -89,7 +89,7 @@ STOCK_ITEM_UNCOMMON(chempack, 5) var/list/exclusion = list(/decl/reagent/drink, /decl/reagent, /decl/reagent/adminordrazine, /decl/reagent/polysomnine/beer2, /decl/reagent/azoth, /decl/reagent/elixir,\ /decl/reagent/liquid_fire, /decl/reagent/philosopher_stone, /decl/reagent/toxin/undead, /decl/reagent/love_potion, /decl/reagent/shapesand, /decl/reagent/usolve,\ /decl/reagent/sglue, /decl/reagent/black_matter, /decl/reagent/bottle_lightning, /decl/reagent/toxin/trioxin, /decl/reagent/toxin/nanites, /decl/reagent/nitroglycerin, \ - /decl/reagent/aslimetoxin) + /decl/reagent/aslimetoxin, /decl/reagent/sanasomnum, /decl/reagent/rezadone) chems -= exclusion for (var/i in 1 to rand(2, 4)) var/obj/item/reagent_containers/chem_disp_cartridge/C = new /obj/item/reagent_containers/chem_disp_cartridge(L) diff --git a/code/modules/item_worth/reagents.dm b/code/modules/item_worth/reagents.dm index 7c624873957..9183e39bae7 100644 --- a/code/modules/item_worth/reagents.dm +++ b/code/modules/item_worth/reagents.dm @@ -654,6 +654,9 @@ /decl/reagent/rezadone value = 5 +/decl/reagent/sanasomnum + value = 5 + /decl/reagent/verunol value = 2 diff --git a/code/modules/mob/living/simple_animal/hostile/changeling.dm b/code/modules/mob/living/simple_animal/hostile/changeling.dm index 69b21eabef8..447d5baa9f1 100644 --- a/code/modules/mob/living/simple_animal/hostile/changeling.dm +++ b/code/modules/mob/living/simple_animal/hostile/changeling.dm @@ -19,6 +19,7 @@ response_help = "pets" response_disarm = "shoves" response_harm = "harmlessly punches" + blood_amount = 600 maxHealth = 750 health = 750 harm_intent_damage = 0 diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index 3531f70d143..6d440dd4668 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -308,6 +308,11 @@ origin_tech = list(TECH_COMBAT = 3) ammo_type = /obj/item/ammo_casing/a556/ap +/obj/item/ammo_magazine/a556/polymer + name = "magazine (5.56mm lethal polymer)" + icon_state = "5.56AP" + ammo_type = /obj/item/ammo_casing/a556/polymer + /obj/item/ammo_magazine/a556/carbine name = "carbine magazine (5.56mm)" icon_state = "5.56c" @@ -328,6 +333,11 @@ origin_tech = list(TECH_COMBAT = 3) ammo_type = /obj/item/ammo_casing/a556/ap +/obj/item/ammo_magazine/a556/carbine/polymer + name = "carbine magazine (5.56mm lethal polymer)" + icon_state = "5.56APc" + ammo_type = /obj/item/ammo_casing/a556/polymer + /obj/item/ammo_magazine/a556/makeshift name = "makeshift magazine (5.56mm)" icon_state = "5.56m" diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index dbef0e30664..0f94f4ae8d7 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -242,6 +242,10 @@ desc = "A 5.56mm practice bullet casing." projectile_type = /obj/item/projectile/bullet/rifle/a556/practice +/obj/item/ammo_casing/a556/polymer + desc = "A 5.56mm polymer bullet casing." + projectile_type = /obj/item/projectile/bullet/rifle/a556/polymer + /obj/item/ammo_casing/rocket name = "rocket shell" desc = "A high explosive designed to be fired from a launcher." diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index afe991a1ffc..dcb430aa309 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -212,6 +212,19 @@ ..() icon_state = (ammo_magazine)? "bcarbine" : "bcarbine-empty" +/obj/item/gun/projectile/automatic/rifle/carbine/civcarbine + name = "bullpup carbine" + desc = "A variant of the ZI Bulldog assault carbine, the ZI Terrier is a slimmer and lighter version, chambered in the same 5.56 caliber but only capable of accepting smaller magazines. It lacks the integral grenade launcher and the burst fire of the Bulldog." + desc_fluff = "It makes you feel like a corporate goon when you hold it." + icon = 'icons/obj/guns/civcarbine.dmi' + icon_state = "civcarbine" + item_state = "civcarbine" + can_bayonet = FALSE + +/obj/item/gun/projectile/automatic/rifle/carbine/civcarbine/update_icon() + ..() + icon_state = (ammo_magazine)? "civcarbine" : "civcarbine-empty" + /obj/item/gun/projectile/automatic/rifle/sol name = "solarian assault rifle" desc = "A reliable assault rifle manufactured by Zavodskoi Interstellar, the M469 is the standard service rifle of the Solarian Armed Forces, most commonly associated with its ground forces. \ @@ -237,7 +250,8 @@ /obj/item/gun/projectile/automatic/rifle/z8 name = "bullpup assault carbine" - desc = "The Z8 Bulldog bullpup carbine, made by the now defunct Zendai Foundries. Uses armor piercing 5.56mm rounds. Makes you feel like a space marine when you hold it." + desc = "The ZI Bulldog bullpup assault carbine, Zavodskoi Industries' answer to any problem that can be solved by an assault rifle. Uses 5.56mm rounds." + desc_fluff = "It makes you feel like a corporate commando when you hold it." icon = 'icons/obj/guns/carbine.dmi' icon_state = "carbine" item_state = "carbine" diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index b1673d7fb93..1decd95deea 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -226,7 +226,7 @@ /obj/item/gun/projectile/automatic/rifle/w556 name = "scout rifle" - desc = "The Z8M variant of the Bulldog carbine, made by the now defunct Zendai Foundries. \ + desc = "The ZI Pointer, the designated marksman rifle variant of Zavodskoi's ZI Bulldog carbine. \ Features a longer, heavier barrel and low-power fixed-magnification optic in lieu of the grenade launcher. \ A vertical grip has been attached under the forend to help offset the change in balance and improve handling. Uses 5.56mm rounds." icon = 'icons/obj/guns/w556.dmi' diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index c1ce3247c62..8f35640fb0f 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -187,9 +187,9 @@ //Should do about 80 damage at 1 tile distance (adjacent), and 50 damage at 3 tiles distance. //Overall less damage than slugs in exchange for more damage at very close range and more embedding /obj/item/projectile/bullet/pellet/shotgun - name = "shrapnel" - damage = 14 - pellets = 6 + name = "pellet" + damage = 25 + pellets = 3 range_step = 1 spread_step = 10 @@ -220,6 +220,11 @@ armor_penetration = 40 penetrating = TRUE +/obj/item/projectile/bullet/rifle/a556/polymer + damage = 25 + armor_penetration = 30 + penetrating = FALSE + /obj/item/projectile/bullet/rifle/a145 damage = 80 stun = 3 diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm index 238f48c593b..405f081ec03 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm @@ -300,7 +300,7 @@ /decl/reagent/mortaphenyl/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) if(prob(3)) to_chat(M, SPAN_GOOD(pick("You feel soothed and at ease.", "You feel content and at peace.", "You feel a pleasant emptiness.", "You feel like sharing the wonderful memories and feelings you're experiencing.", "All your anxieties fade away.", "You feel like you're floating off the ground.", "You don't want this feeling to end."))) - + if(check_min_dose(M)) M.add_chemical_effect(CE_PAINKILLER, 50) if(!M.chem_effects[CE_CLEARSIGHT]) @@ -937,7 +937,7 @@ /* mental */ -#define MEDICATION_MESSAGE_DELAY 10 MINUTES +#define MEDICATION_MESSAGE_DELAY 10 MINUTES /decl/reagent/mental name = null //Just like alcohol @@ -1306,6 +1306,59 @@ M.make_dizzy(5) M.make_jittery(5) +/decl/reagent/sanasomnum + name = "Sanasomnum" + description = "Not strictly a drug, Sanasomnum is actually a cocktail of biomechanical stem cells, which induce a regenerative state of unconsciousness capable healing almost any injury in minutes - however, usage nearly guarantees long-term and irreversible complications, and it is banned from medical use throughout the spur." + reagent_state = SOLID + color = "#b2db5e" + overdose = REAGENTS_OVERDOSE + scannable = TRUE + taste_description = "blood" + +/decl/reagent/sanasomnum/affect_chem_effect(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + . = ..() + if(.) + M.add_chemical_effect(CE_ORGANREPAIR, 20) + M.add_chemical_effect(CE_BLOODRESTORE, 15) + M.add_chemical_effect(CE_BLOODCLOT, 15) + M.add_chemical_effect(CE_BRAIN_REGEN, 20) + M.add_chemical_effect(CE_OXYGENATED, 15) + M.add_chemical_effect(CE_ANTITOXIN, 15) + M.add_chemical_effect(CE_ANTIBIOTIC, 15) + M.add_chemical_effect(CE_STABLE, 15) + M.add_chemical_effect(CE_UNDEXTROUS, 30) + M.add_chemical_effect(CE_CLUMSY, 30) + +/decl/reagent/sanasomnum/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + M.adjustCloneLoss(-20 * removed) + M.adjustOxyLoss(-2 * removed) + M.heal_organ_damage(20 * removed, 20 * removed) + if(M.is_asystole() && prob(20)) + M.resuscitate() + if(M.chem_doses[type] > 3) + M.status_flags &= ~DISFIGURED + var/mob/living/carbon/human/H = M + if(istype(H) && (H.species.flags & NO_SCAN)) + return + if (!(CE_UNDEXTROUS in M.chem_effects)) + to_chat(M, SPAN_WARNING("Your limbs start to feel numb and weak, and your legs wobble as it becomes hard to stand...")) + M.confused = max(M.confused, 250) + M.eye_blurry = max(M.eye_blurry, 250) + if(M.chem_doses[type] > 0.2) + M.Weaken(10) + if(M.chem_doses[type] > 5) + for(var/obj/item/organ/external/E in H.organs) + if(E.status & ORGAN_ARTERY_CUT && prob(10)) + E.status &= ~ORGAN_ARTERY_CUT + if(M.chem_doses[type] > 5) + for(var/obj/item/organ/external/E in H.organs) + if(E.status & ORGAN_BROKEN && prob(10)) + E.status &= ~ORGAN_BROKEN + if(M.chem_doses[type] > 5) + for(var/obj/item/organ/external/E in H.organs) + if(E.status & TENDON_CUT && prob(10)) + E.status &= ~TENDON_CUT + /decl/reagent/verunol name = "Verunol Syrup" description = "A complex emetic medication that causes the patient to vomit due to gastric irritation and the stimulating of the vomit centres of the brain." diff --git a/code/modules/reagents/dispenser/cartridge_presets.dm b/code/modules/reagents/dispenser/cartridge_presets.dm index 24b7651a79a..015f94ae6dd 100644 --- a/code/modules/reagents/dispenser/cartridge_presets.dm +++ b/code/modules/reagents/dispenser/cartridge_presets.dm @@ -121,3 +121,4 @@ thetamycin spawn_reagent = /decl/reagent/thetamycin mortaphenyl spawn_reagent = /decl/reagent/mortaphenyl tricord spawn_reagent = /decl/reagent/tricordrazine + sanasomnum spawn_reagent = /decl/reagent/sanasomnum \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index fe0fe58aa97..f84f668d0b0 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -314,3 +314,11 @@ name = "combat hypospray" desc = "A sleek black hypospray. Its needle has the ability to bypass armor." reagents_to_add = FALSE + +/obj/item/reagent_containers/hypospray/autoinjector/sanasomnum + name = "sanasomnum autoinjector" + desc = "A special autoinjector loaded with outlawed biomechanical stem cells, inducing a regenerative coma so intense it can heal almost any injury - even broken bones, organ and brain damage, severed tendons, and arterial damage. Upon use one will fall immediately into a state of unconsciousness lasting roughly three to five minutes, arising completely healed. The only thing it cannot fix are organs that have been destroyed outright, or so much cumulative damage that death is all but certain. The only downside is that Sanasomnum use guarantees extreme cancerous growth months or years down the line, which is invariably fatal in the long-term. However, in the short-term, it will save your life." + volume = 20 + amount_per_transfer_from_this = 20 + + reagents_to_add = list(/decl/reagent/sanasomnum = 20) \ No newline at end of file diff --git a/html/changelogs/dansemacabre-gunsarefun.yml b/html/changelogs/dansemacabre-gunsarefun.yml new file mode 100644 index 00000000000..c529317f908 --- /dev/null +++ b/html/changelogs/dansemacabre-gunsarefun.yml @@ -0,0 +1,55 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: DanseMacabre + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added a new reagent called Sanasomnum to the uplink for 2 TCs, which induces a regenerative paralysis that can heal almost any type of damage, including bone breaks, brain damage, arterial bleeding, and organ damage, at the cost of roughly four minutes of being unable to move." + - rscadd: "Added a new type of 5.56 bullet, 5.56 polymer." + - balance: "Added a bullpup carbine, two 9mm machine pistols, and two boxes of buckshot to the sec armory." + - balance: "Added the ballistic carbine and ammo to the uplink, the L6 LMG and ammo to the uplink, and the energy pistol." + - balance: "Changed telecrystals counts across the board - most antags with access to the uplink will have 20 TCs now. Mercs still have 15 TCs, with their own unique uplink." + - balance: "Raiders now have uplinks, with 3 TCs each." + - balance: "Minigun TC cost increased to 40 TC." + - rscadd: "New type of ballistic rifle added, the bullpup carbine. Mechanically identical to the ballistic carbine, more SCC-friendly flavor." + - balance: "Cult robes have more ballistic armor and less laser armor." + - balance: "Buckshot has been made from 6 x 14 pellets of damage to 3 x 25 pellets of damage. Frag grenade shrapnel does 5 more damage per shrapnel." + - balance: "Random gun cost increased, to make it more of a challenge option as opposed to a guaranteed win option." + - balance: "Rezadone is now blacklisted from spawning in cargo crates." + - bugfix: "Fixed a bug where the horror form would die at 2/3rds health." + - balance: "Gear crates are now available for all antagonists, and burglars are no longer locked out of a number of uplink categories." + - balance: "Burglars no longer spawn with ballistic armor." \ No newline at end of file diff --git a/icons/obj/guns/civcarbine.dmi b/icons/obj/guns/civcarbine.dmi new file mode 100644 index 00000000000..a24b0cb17e9 Binary files /dev/null and b/icons/obj/guns/civcarbine.dmi differ diff --git a/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm b/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm index 5364653b6de..ef2bc1490e3 100644 --- a/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm +++ b/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm @@ -5931,7 +5931,7 @@ /area/hallway/medical) "dhZ" = ( /obj/structure/closet/secure_closet/guncabinet{ - name = "Ammunition (shotgun less-than-lethal)" + name = "Ammunition (Longarms)" }, /obj/item/storage/box/stunshells, /obj/item/storage/box/flashshells{ @@ -5948,6 +5948,10 @@ }, /obj/item/storage/box/trackingslugs, /obj/effect/decal/warning_stripes, +/obj/item/storage/box/shotgunshells, +/obj/item/storage/box/shotgunshells, +/obj/item/ammo_magazine/a556/carbine/polymer, +/obj/item/ammo_magazine/a556/carbine/polymer, /turf/simulated/floor/tiled/dark, /area/security/armory) "dim" = ( @@ -6272,13 +6276,15 @@ /area/chapel/office) "dqy" = ( /obj/structure/closet/secure_closet/guncabinet{ - name = "Weaponry (.45 Pistol)" + name = "Weaponry (Pistols)" }, /obj/item/gun/projectile/sec, /obj/item/gun/projectile/sec, -/obj/item/gun/projectile/sec, -/obj/item/gun/projectile/sec, /obj/effect/decal/warning_stripes, +/obj/item/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/automatic/wt550, +/obj/item/gun/projectile/sec, +/obj/item/gun/projectile/sec, /turf/simulated/floor/tiled/dark, /area/security/armory) "drk" = ( @@ -19318,7 +19324,7 @@ /area/medical/exam) "kCr" = ( /obj/structure/closet/secure_closet/guncabinet{ - name = "Ammunition (.45)" + name = "Ammunition (Pistols)" }, /obj/effect/decal/warning_stripes, /obj/item/ammo_magazine/c45m/rubber, @@ -19327,15 +19333,30 @@ /obj/item/ammo_magazine/c45m/rubber, /obj/item/ammo_magazine/c45m/rubber, /obj/item/ammo_magazine/c45m/rubber, +/obj/item/ammo_magazine/c45m, +/obj/item/ammo_magazine/c45m, +/obj/item/ammo_magazine/c45m, +/obj/item/ammo_magazine/c45m, +/obj/item/ammo_magazine/mc9mmt, +/obj/item/ammo_magazine/mc9mmt, +/obj/item/ammo_magazine/mc9mmt/rubber, +/obj/item/ammo_magazine/mc9mmt/rubber, +/obj/item/ammo_magazine/mc9mmt/rubber, +/obj/item/ammo_magazine/mc9mmt/rubber, +/obj/item/ammo_magazine/mc9mmt/rubber, +/obj/item/ammo_magazine/mc9mmt/rubber, +/obj/item/ammo_magazine/mc9mmt, +/obj/item/ammo_magazine/mc9mmt, +/obj/item/ammo_magazine/mc9mmt, +/obj/item/ammo_magazine/mc9mmt, +/obj/item/ammo_magazine/c45m, +/obj/item/ammo_magazine/c45m, +/obj/item/ammo_magazine/c45m, +/obj/item/ammo_magazine/c45m, +/obj/item/ammo_magazine/c45m/rubber, /obj/item/ammo_magazine/c45m/rubber, /obj/item/ammo_magazine/c45m/rubber, /obj/item/ammo_magazine/c45m/rubber, -/obj/item/ammo_magazine/c45m, -/obj/item/ammo_magazine/c45m, -/obj/item/ammo_magazine/c45m, -/obj/item/ammo_magazine/c45m, -/obj/item/ammo_magazine/c45m, -/obj/item/ammo_magazine/c45m, /turf/simulated/floor/tiled/dark, /area/security/armory) "kCV" = ( @@ -27284,11 +27305,11 @@ pixel_y = 13 }, /obj/machinery/requests_console{ + announcementConsole = 1; department = "Operations Manager"; departmentType = 5; name = "Operations Manager Request Console"; - pixel_x = -32; - announcementConsole = 1 + pixel_x = -32 }, /obj/effect/floor_decal/spline/fancy/wood{ dir = 8 @@ -29364,11 +29385,11 @@ /area/rnd/hallway) "pZV" = ( /obj/structure/closet/secure_closet/guncabinet{ - name = "Weaponry (Shotgun)" + name = "Weaponry (Shotguns)" }, -/obj/item/gun/projectile/shotgun/pump, -/obj/item/gun/projectile/shotgun/pump, /obj/effect/decal/warning_stripes, +/obj/item/gun/projectile/shotgun/pump, +/obj/item/gun/projectile/shotgun/pump, /turf/simulated/floor/tiled/dark, /area/security/armory) "pZX" = ( @@ -30125,6 +30146,12 @@ /obj/item/reagent_containers/spray/pepper, /obj/item/reagent_containers/spray/pepper, /obj/item/reagent_containers/spray/pepper, +/obj/item/storage/box/firingpins, +/obj/item/storage/box/teargas, +/obj/item/storage/box/flashbangs{ + pixel_x = 2; + pixel_y = -2 + }, /turf/simulated/floor/tiled/dark, /area/security/armory) "qvZ" = ( @@ -36508,13 +36535,13 @@ name = "west bump"; pixel_x = -24 }, -/obj/structure/table/rack, -/obj/item/storage/box/flashbangs{ - pixel_x = 2; - pixel_y = -2 +/obj/effect/decal/warning_stripes, +/obj/structure/closet/secure_closet/guncabinet{ + name = "Weaponry (Ballistic Carbine)" + }, +/obj/item/gun/projectile/automatic/rifle/carbine/civcarbine{ + magazine_type = /obj/item/ammo_magazine/a556/carbine/polymer }, -/obj/item/storage/box/firingpins, -/obj/item/storage/box/teargas, /turf/simulated/floor/tiled/dark, /area/security/armory) "tTW" = (