mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 02:09:41 +00:00
[MIRROR] More PSG changes (#10709)
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
committed by
GitHub
parent
ff63262b79
commit
b76e7c00e1
@@ -148,7 +148,8 @@
|
||||
/obj/item/clothing/gloves/sterile/latex,
|
||||
/obj/item/healthanalyzer,
|
||||
/obj/item/flashlight/pen,
|
||||
/obj/item/reagent_containers/syringe
|
||||
/obj/item/reagent_containers/syringe,
|
||||
/obj/item/personal_shield_generator/belt/medical/loaded
|
||||
)
|
||||
cost = 50
|
||||
containertype = /obj/structure/closet/crate/secure/nanomed
|
||||
|
||||
@@ -269,11 +269,13 @@
|
||||
|
||||
/datum/supply_pack/randomised/misc/explorer_shield
|
||||
name = JOB_EXPLORER + " shield"
|
||||
desc = "A pair of shields for use by away teams. Requires EVA or Pilot's access."
|
||||
desc = "Two Physical and Two PSG shields for use by away teams. Requires EVA or Pilot's access."
|
||||
num_contained = 2
|
||||
contains = list(
|
||||
/obj/item/shield/riot/explorer,
|
||||
/obj/item/shield/riot/explorer/purple
|
||||
/obj/item/shield/riot/explorer/purple,
|
||||
/obj/item/personal_shield_generator/belt/melee,
|
||||
/obj/item/personal_shield_generator/belt/mining/upgraded
|
||||
)
|
||||
cost = 75
|
||||
containertype = /obj/structure/closet/crate/secure/gear
|
||||
|
||||
@@ -627,7 +627,8 @@
|
||||
/obj/item/melee/telebaton,
|
||||
/obj/item/shield/riot/tele,
|
||||
/obj/item/clothing/head/beret/sec/corporate/hos,
|
||||
/obj/item/flashlight/maglight
|
||||
/obj/item/flashlight/maglight,
|
||||
/obj/item/personal_shield_generator/belt/security/loaded
|
||||
)
|
||||
cost = 50
|
||||
containertype = /obj/structure/closet/crate/secure/nanotrasen
|
||||
|
||||
@@ -254,7 +254,8 @@
|
||||
/obj/item/clothing/accessory/holster/machete,
|
||||
/obj/item/storage/box/explorerkeys,
|
||||
/obj/item/mapping_unit,
|
||||
/obj/item/clothing/accessory/watch/survival
|
||||
/obj/item/clothing/accessory/watch/survival,
|
||||
/obj/item/personal_shield_generator/belt/melee/loaded
|
||||
)
|
||||
cost = 75
|
||||
containertype = /obj/structure/closet/crate/secure/xion
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
actions_types = list(/datum/action/item_action/toggle_shield)
|
||||
var/obj/item/gun/energy/gun/generator/active_weapon
|
||||
var/obj/item/cell/device/bcell = null
|
||||
var/upgraded = 0 // If the PSG has been upgraded by some method or not. Only used for the mining belt ATM.
|
||||
var/upgraded = FALSE // If the PSG has been upgraded by some method or not. Only used for the mining belt ATM.
|
||||
|
||||
|
||||
var/generator_hit_cost = 100 // Power used when a special effect (such as a bullet being blocked) is performed! Could also be expanded to other things.
|
||||
@@ -488,13 +488,21 @@
|
||||
|
||||
// Mining belts
|
||||
/obj/item/personal_shield_generator/belt/mining
|
||||
name = "mining PSG"
|
||||
desc = "A personal shield generator designed for mining. It has a warning on the back: 'Do NOT expose the shield to stun-based weaponry.'"
|
||||
name = "PSG Variant-M"
|
||||
desc = "A personal shield generator designed for mining and combat with hostile creatures. \
|
||||
It has a warning on the back: 'Do NOT expose the shield to stun-based weaponry.'"
|
||||
modifier_type = /datum/modifier/shield_projection/mining
|
||||
|
||||
/obj/item/personal_shield_generator/belt/mining/loaded
|
||||
bcell = /obj/item/cell/device/shield_generator
|
||||
|
||||
/obj/item/personal_shield_generator/belt/mining/upgraded
|
||||
upgraded = TRUE
|
||||
modifier_type = /datum/modifier/shield_projection/mining/strong
|
||||
|
||||
/obj/item/personal_shield_generator/belt/mining/upgraded/loaded
|
||||
bcell = /obj/item/cell/device/shield_generator
|
||||
|
||||
/obj/item/personal_shield_generator/belt/mining/update_icon()
|
||||
if(shield_active)
|
||||
icon_state = "shieldpack_mining_on"
|
||||
@@ -515,7 +523,7 @@
|
||||
to_chat(user, span_warning("This shield generator is already upgraded!"))
|
||||
return
|
||||
modifier_type = /datum/modifier/shield_projection/mining/strong
|
||||
upgraded = 1
|
||||
upgraded = TRUE
|
||||
to_chat(user, span_notice("You upgrade the [src] with the [W]!"))
|
||||
user.drop_from_inventory(W)
|
||||
qdel(W)
|
||||
@@ -526,7 +534,7 @@
|
||||
//Security belts
|
||||
|
||||
/obj/item/personal_shield_generator/belt/security
|
||||
name = "security PSG"
|
||||
name = "PSG Variant-S"
|
||||
desc = "A personal shield generator designed for security."
|
||||
modifier_type = /datum/modifier/shield_projection/security/weak
|
||||
|
||||
@@ -539,19 +547,34 @@
|
||||
else
|
||||
icon_state = "shieldpack_security"
|
||||
|
||||
//Misc belts. Admin-spawn only atm.
|
||||
//PvE focused belt
|
||||
/obj/item/personal_shield_generator/belt/melee
|
||||
name = "PSG Variant-B"
|
||||
desc = "A personal shield generator that creates a field that prevents the functionality of firearms in exchange \
|
||||
for enhanceing melee potential. The shield makes its user more resistant to brute and burn, \
|
||||
makes them harder to hit, able to hit harder, able to hit faster, allows faster movement, and \
|
||||
allows the user to get up from disabling strikes faster."
|
||||
damage_cost = 5
|
||||
|
||||
/obj/item/personal_shield_generator/belt/adminbus
|
||||
desc = DEVELOPER_WARNING_NAME + " You REALLY should not see this. If you do, you have either been blessed or are about to be the target of some sick prank."
|
||||
modifier_type = /datum/modifier/shield_projection/admin
|
||||
generator_hit_cost = 0
|
||||
generator_active_cost = 0
|
||||
shield_active = 0
|
||||
damage_cost = 0
|
||||
modifier_type = /datum/modifier/shield_projection/melee_focus
|
||||
|
||||
/obj/item/personal_shield_generator/belt/melee/loaded
|
||||
bcell = /obj/item/cell/device/shield_generator
|
||||
|
||||
//Misc belts.
|
||||
|
||||
/obj/item/personal_shield_generator/belt/medical
|
||||
name = "PSG Variant-BIO"
|
||||
desc = "A personal shield generator that creates a field that helps against biohazards \
|
||||
for enhanceing melee potential. The shield makes its user resistant to toxic attacks, suffocating attacks, and DNA attacks"
|
||||
|
||||
modifier_type = /datum/modifier/shield_projection/biohazard
|
||||
|
||||
/obj/item/personal_shield_generator/belt/medical/loaded
|
||||
bcell = /obj/item/cell/device/shield_generator
|
||||
|
||||
/obj/item/personal_shield_generator/belt/parry //The 'provides one second of pure immunity to brute/burn/halloss' belt.
|
||||
name = "PSG variant-P" //Not meant to be used in any serious capacity.
|
||||
name = "PSG Variant-P" //Not meant to be used in any serious capacity.
|
||||
desc = "A personal shield generator that sacrifices long-term usability in exchange for a strong, short-lived shield projection, enabling the user to be nigh \
|
||||
impervious for a second."
|
||||
modifier_type = /datum/modifier/shield_projection/parry
|
||||
@@ -561,11 +584,21 @@
|
||||
shield_active = 0
|
||||
bcell = /obj/item/cell/device/shield_generator/parry
|
||||
|
||||
//Badmin belt
|
||||
/obj/item/personal_shield_generator/belt/adminbus
|
||||
desc = DEVELOPER_WARNING_NAME + " You REALLY should not see this. If you do, you have either been blessed or are about to be the target of some sick prank."
|
||||
modifier_type = /datum/modifier/shield_projection/admin
|
||||
generator_hit_cost = 0
|
||||
generator_active_cost = 0
|
||||
shield_active = 0
|
||||
damage_cost = 0
|
||||
bcell = /obj/item/cell/device/shield_generator
|
||||
|
||||
// Backpacks. These are meant to be MUCH stronger in exchange for the fact that you are giving up a backpack slot.
|
||||
// HOWEVER, be careful with these. They come loaded with a gun in them, so they shouldn't be handed out willy-nilly.
|
||||
|
||||
/obj/item/personal_shield_generator/security
|
||||
name = "security PSG"
|
||||
name = "Backpack PSG Variant-S"
|
||||
desc = "A personal shield generator designed for security. Comes with a built in defense pistol."
|
||||
modifier_type = /datum/modifier/shield_projection/security
|
||||
|
||||
|
||||
@@ -123,7 +123,8 @@
|
||||
/obj/item/reagent_containers/food/snacks/liquidfood,
|
||||
/obj/item/reagent_containers/food/snacks/liquidprotein,
|
||||
/obj/item/cataloguer/compact/pathfinder,
|
||||
/obj/item/mapping_unit)
|
||||
/obj/item/mapping_unit,
|
||||
/obj/item/personal_shield_generator/belt/melee/loaded)
|
||||
|
||||
/obj/structure/closet/secure_closet/pathfinder/Initialize(mapload)
|
||||
if(prob(50))
|
||||
@@ -175,7 +176,8 @@
|
||||
/obj/item/gps/medical,
|
||||
/obj/item/geiger,
|
||||
/obj/item/bodybag/cryobag,
|
||||
/obj/item/cataloguer/compact)
|
||||
/obj/item/cataloguer/compact,
|
||||
/obj/item/personal_shield_generator/belt/medical/loaded)
|
||||
|
||||
/obj/structure/closet/secure_closet/sar/Initialize(mapload)
|
||||
if(prob(50))
|
||||
|
||||
@@ -160,8 +160,9 @@
|
||||
/obj/item/clothing/suit/bio_suit/cmo,
|
||||
/obj/item/clothing/head/bio_hood/cmo,
|
||||
/obj/item/clothing/shoes/white,
|
||||
/obj/item/reagent_containers/glass/beaker/vial, //VOREStation Add
|
||||
/obj/item/storage/belt/medical) //VOREStation Add
|
||||
/obj/item/reagent_containers/glass/beaker/vial,
|
||||
/obj/item/storage/belt/medical,
|
||||
/obj/item/personal_shield_generator/belt/medical/loaded)
|
||||
|
||||
/obj/structure/closet/secure_closet/CMO/Initialize(mapload)
|
||||
if(prob(50))
|
||||
|
||||
@@ -73,7 +73,8 @@
|
||||
// /obj/item/clothing/shoes/boots/winter/security, //CHOMP Remove
|
||||
/obj/item/ticket_printer, //CHOMP Add
|
||||
/obj/item/gun/energy/taser, // CHOMPADD
|
||||
/obj/item/flashlight/maglight)
|
||||
/obj/item/flashlight/maglight,
|
||||
/obj/item/personal_shield_generator/security/loaded)
|
||||
|
||||
//Custom NT Security Lockers, Only found at central command
|
||||
/obj/structure/closet/secure_closet/nanotrasen_security
|
||||
|
||||
@@ -437,3 +437,11 @@ the artifact triggers the rage.
|
||||
stacks = MODIFIER_STACK_EXTEND
|
||||
|
||||
slowdown = 2
|
||||
|
||||
/datum/modifier/trait/thickdigits
|
||||
name = "Thick Digits"
|
||||
desc = "Your hands cannot properly wield weapons."
|
||||
|
||||
/datum/modifier/rednet //Not used here currently, but used downstream. Todo: Port it.
|
||||
mob_overlay_state = "red_electricity_constant"
|
||||
slowdown = 1
|
||||
|
||||
@@ -337,3 +337,45 @@
|
||||
max_hal_resistance = 0
|
||||
min_hal_resistance = 0
|
||||
effective_hal_resistance = 1
|
||||
|
||||
/datum/modifier/shield_projection/melee_focus
|
||||
|
||||
//You are expected to be taking a LOT more hits while this is up.
|
||||
damage_cost = 5
|
||||
|
||||
//.50% resistance at a full charge, 35% resistance at when we're about to empty.
|
||||
max_brute_resistance = 0.5
|
||||
min_brute_resistance = 0.65
|
||||
effective_brute_resistance = 1
|
||||
|
||||
//.50% resistance at a full charge, 35% resistance at when we're about to empty.
|
||||
max_fire_resistance = 0.5
|
||||
min_fire_resistance = 0.65
|
||||
effective_fire_resistance = 1
|
||||
|
||||
//500% damage taken from halloss. Anti PVP. This is meant to be a PvE weapon.
|
||||
//This also means that mobs that deal halloss will wreck users of this...Those are (extremely) rare as far as I know.
|
||||
min_hal_resistance = 5
|
||||
max_hal_resistance = 5
|
||||
effective_hal_resistance = 1
|
||||
|
||||
//Stuns are HALF as long. Get stunned for 4 seconds? Only stunned for 2, now.
|
||||
disable_duration_percent = 0.5
|
||||
|
||||
//You are QUITE harder to shoot.
|
||||
evasion = 35
|
||||
|
||||
//You move SOMEWHAT faster.
|
||||
slowdown = -0.5
|
||||
|
||||
//You can't shoot, though. This isn't actually used as this modifier is checked in gun.dm, but it's here anyways.
|
||||
accuracy = -1000
|
||||
|
||||
//You attack SOMEWHAT faster
|
||||
attack_speed_percent = 0.8
|
||||
|
||||
//You hit SOMEWHAT harder
|
||||
outgoing_melee_damage_percent = 1.25
|
||||
|
||||
//You bleed SLIGHTLY slower, since you are taking more hits.
|
||||
bleeding_rate_percent = 0.75
|
||||
|
||||
@@ -716,6 +716,16 @@
|
||||
var_changes = list("dirtslip" = TRUE)
|
||||
excludes = list(/datum/trait/positive/absorbent) // CHOMPAdd
|
||||
|
||||
/datum/trait/negative/thick_digits
|
||||
name = "Thick Digits"
|
||||
desc = "Your hands are not shaped in a way that allows useage of guns."
|
||||
cost = -4
|
||||
custom_only = FALSE
|
||||
|
||||
/datum/trait/negative/thick_digits/apply(var/datum/species/S,var/mob/living/carbon/human/H)
|
||||
..()
|
||||
H.add_modifier(/datum/modifier/trait/thickdigits)
|
||||
|
||||
/datum/trait/negative/nodefib
|
||||
name = "Unreviveable"
|
||||
desc = "For whatever strange genetic reason, defibs cannot restart your heart."
|
||||
|
||||
@@ -183,6 +183,19 @@
|
||||
return 0
|
||||
|
||||
var/mob/living/M = user
|
||||
if(istype(M))
|
||||
if(M.has_modifier_of_type(/datum/modifier/underwater_stealth))
|
||||
to_chat(user,span_warning("You cannot use guns whilst hiding underwater!"))
|
||||
return 0
|
||||
else if(M.has_modifier_of_type(/datum/modifier/rednet))
|
||||
to_chat(user,span_warning("Your gun refuses to fire!"))
|
||||
return 0
|
||||
else if(M.has_modifier_of_type(/datum/modifier/trait/thickdigits))
|
||||
to_chat(user,span_warning("Your hands can't pull the trigger!!"))
|
||||
return 0
|
||||
else if(M.has_modifier_of_type(/datum/modifier/shield_projection/melee_focus))
|
||||
to_chat(user,span_warning("The shield projection around you prevents you from using anything but melee!!"))
|
||||
return 0
|
||||
if(dna_lock && attached_lock.stored_dna)
|
||||
if(!authorized_user(user))
|
||||
if(attached_lock.safety_level == 0)
|
||||
|
||||
Reference in New Issue
Block a user