Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

misc. fixes and exploit patches #49

Merged
merged 7 commits into from
Aug 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions code/datums/autolathe/biomatter.dm
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,6 @@
materials = list(MATERIAL_BIOMATTER = 25)

// This separates regular clothes designs from NT clothes designs //
/datum/design/bioprinter/nt_clothes/armor_kit
name = "Armor Bundle"
build_path = /obj/item/gunbox/church
materials = list(MATERIAL_BIOMATTER = 20)

/datum/design/bioprinter/nt_clothes/acolyte_armor
name = "Vector Armor"
Expand Down
4 changes: 2 additions & 2 deletions code/datums/components/heat.dm
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/datum/component/heat
var/currentHeat = 0
var/heatThresholdSpecial //set this value to above overheat+heatperfire if you dont want to use it
var/heatThresholdSpecial //set this value to something above overheat+heatperfire if you dont want to use it
var/overheatThreshold = 100
var/lastFiredTick
var/heatPerFire
var/coolPerTick = 0.01 //world.time ticks in ds
var/coolPerTick = 0.01 //world.time ticks in ds, so x10 for cool per second
var/ventCooldown = 30 SECONDS
var/lastVentedTick

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,6 @@
/datum/design/autolathe/gun/plasma/martyr,
/datum/design/autolathe/gun/plasma/excubitor,
//armor
/datum/design/bioprinter/nt_clothes/armor_kit,
/datum/design/bioprinter/nt_clothes/acolyte_armor_helm,
/datum/design/bioprinter/nt_clothes/acolyte_armor,
/datum/design/bioprinter/nt_clothes/agrolyte_armor_helm,
Expand Down
4 changes: 2 additions & 2 deletions code/modules/clothing/spacesuits/rig/modules/vision.dm
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@
name = "hardsuit night vision interface"
desc = "A multi input night vision system for a hardsuit."
icon_state = "night"
matter = list(MATERIAL_STEEL = 12, MATERIAL_PLASTIC = 12, MATERIAL_GLASS = 6, MATERIAL_PLATINUM = 5)
matter = list(MATERIAL_STEEL = 12, MATERIAL_PLASTIC = 12, MATERIAL_GLASS = 6, MATERIAL_URANIUM = 3)
usable = 0
price_tag = 2000

Expand Down Expand Up @@ -193,4 +193,4 @@
if(!vision) vision = vision_datum
processed_vision += vision_datum

vision_modes = processed_vision
vision_modes = processed_vision
30 changes: 16 additions & 14 deletions code/modules/core_implant/cruciform/rituals/priest.dm
Original file line number Diff line number Diff line change
Expand Up @@ -432,9 +432,9 @@
success_message = "On the verge of audibility you hear pleasant music, a piece of paper slides out from a slit in the altar."

/datum/ritual/cruciform/priest/records/perform(mob/living/carbon/human/user, obj/item/implant/core_implant/cruciform/C)
var/list/OBJS = get_front(user)
var/list/get_front_list = get_front(user)

var/obj/machinery/optable/altar/altar = locate(/obj/machinery/optable/altar) in OBJS
var/obj/machinery/optable/altar/altar = locate(/obj/machinery/optable/altar) in get_front_list

if(!altar)
fail("This is not your altar, the litany is useless.", user, C)
Expand All @@ -452,20 +452,22 @@
success_message = "On the verge of audibility you hear pleasant music, the alter slides open and a new cruciform slips out."

/datum/ritual/cruciform/priest/new_cruciform/perform(mob/living/carbon/human/user, obj/item/implant/core_implant/cruciform/C)
var/list/OBJS = get_front(user)
var/list/get_front_list = get_front(user)

var/obj/machinery/optable/altar/altar = locate(/obj/machinery/optable/altar) in OBJS
var/obj/machinery/optable/altar/altar = locate(/obj/machinery/optable/altar) in get_front_list
var/altar_cooldown = 10 MINUTES //How long we're going to make the altar wait before doing this again

if(!altar)
fail("This is not your altar, the litany is useless.", user, C)
return FALSE



if(altar)
var/response = input(user, "Which cruciform do you require?") in list("Lemniscate","Tessellate","Monomial","Divisor","Factorial","No Path","Cancel Litany")
if(altar.request_cooldown)
fail("This altar cannot provide another item yet.", user, C)
return FALSE
var/response = input(user, "Which cruciform do you require?") in list("Lemniscate","Tessellate","Monomial","Divisor","Factorial","No Path","Cancel Litany")
if (response == "Lemniscate")
new /obj/item/implant/core_implant/cruciform/lemniscate(altar.loc)
altar.cooldown(altar_cooldown)
Expand Down Expand Up @@ -651,8 +653,8 @@
category = "Vitae"

/datum/ritual/cruciform/priest/prosthetic/perform(mob/living/carbon/human/user, obj/item/implant/core_implant/cruciform/C)
var/list/OBJS = get_front(user)
var/obj/machinery/optable/altar/altar = locate(/obj/machinery/optable/altar) in OBJS
var/list/get_front_list = get_front(user)
var/obj/machinery/optable/altar/altar = locate(/obj/machinery/optable/altar) in get_front_list
var/O = "prosthetic limb"
var/altar_cooldown = 10 MINUTES
success_message = "On the verge of audibility you hear pleasant music, the altar slides open and a [O] slips out."
Expand All @@ -662,10 +664,10 @@
return FALSE

if(altar)
var/response = input(user, "What limb do you require?") in list("Right Arm", "Left Arm", "Right Leg", "Left Leg", "Longsword", "Ritual Knife", "Bible", "Cancel Litany")
if(altar.request_cooldown)
fail("This altar cannot provide another item yet.", user, C)
return FALSE
var/response = input(user, "What limb do you require?") in list("Right Arm", "Left Arm", "Right Leg", "Left Leg", "Longsword", "Ritual Knife", "Bible", "Cancel Litany")
if (response == "Right Arm")
new /obj/item/organ/external/robotic/church/r_arm(altar.loc)
altar.cooldown(altar_cooldown)
Expand Down Expand Up @@ -710,9 +712,9 @@
success_message = "On the verge of audibility you hear pleasant music, the alter slides open and a devout upgrade circuit slips out."

/datum/ritual/targeted/cruciform/priest/upgrade_kit/perform(mob/living/carbon/human/user, obj/item/implant/core_implant/cruciform/C,list/targets)
var/list/OBJS = get_front(user)
var/list/get_front_list = get_front(user)

var/obj/machinery/optable/altar/altar = locate(/obj/machinery/optable/altar) in OBJS
var/obj/machinery/optable/altar/altar = locate(/obj/machinery/optable/altar) in get_front_list
var/altar_cooldown = 10 MINUTES

if(!altar)
Expand Down Expand Up @@ -904,9 +906,9 @@
power = 20

/datum/ritual/cruciform/priest/offering/buy_item/perform(mob/living/carbon/human/H, obj/item/implant/core_implant/cruciform/C, targets)
var/list/OBJS = get_front(H)
var/list/get_front_list = get_front(H)

var/obj/machinery/power/eotp/EOTP = locate(/obj/machinery/power/eotp) in OBJS
var/obj/machinery/power/eotp/EOTP = locate(/obj/machinery/power/eotp) in get_front_list
if(!EOTP)
fail("You must be in front of the Will of the Protector.", H, C)
return FALSE
Expand All @@ -925,9 +927,9 @@
var/list/miracles = list(ALERT, INSPIRATION, STAT_BUFF, ENERGY_REWARD)

/datum/ritual/cruciform/priest/offering/perform(mob/living/carbon/human/H, obj/item/implant/core_implant/cruciform/C, targets)
var/list/OBJS = get_front(H)
var/list/get_front_list = get_front(H)

var/obj/machinery/power/eotp/EOTP = locate(/obj/machinery/power/eotp) in OBJS
var/obj/machinery/power/eotp/EOTP = locate(/obj/machinery/power/eotp) in get_front_list
if(!EOTP)
fail("You must be in front of the Will of the Protector.", H, C)
return FALSE
Expand Down
5 changes: 2 additions & 3 deletions code/modules/projectiles/guns/energy/laser/concilium.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,8 @@
gun_tags = list(GUN_LASER, GUN_ENERGY)
init_firemodes = list(
FULL_AUTO_300,
list(mode_name="short bursts", mode_desc="Fire 5 shots in succession", burst=5, burst_delay=4, move_delay=6, icon="burst"),
list(mode_name="long bursts", mode_desc="Fire 8 shots in succession", burst=8, burst_delay=4, move_delay=8, icon="burst"),
list(mode_name="suppressing fire", mode_desc="Fire 16 shots back to back to keep targets inside cover", burst=16, burst_delay=4, move_delay=11, icon="burst")
BURST_5_ROUND,
BURST_8_ROUND
)
blacklist_upgrades = list(/obj/item/gun_upgrade/mechanism/greyson_master_catalyst = TRUE)
twohanded = TRUE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
stored_matter = 0 //We do not print with free biomatter
projectile_cost = 0.5
projectile_type = /obj/item/arrow/cleansing
gun_parts = list()

init_firemodes = list(
list(mode_name="normal", mode_desc="Small short lasting cleansing bolt that cleans a few tiles", projectile_type=/obj/item/arrow/cleansing, fire_sound='sound/weapons/Genhit.ogg', fire_delay=14, icon="toxin", projectile_cost = 0.5),
Expand Down
5 changes: 3 additions & 2 deletions code/modules/projectiles/projectile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -168,9 +168,10 @@

/obj/item/projectile/multiply_projectile_damage(newmult)
for(var/i in damage_types)
damage_types[i] *= i == HALLOSS ? 1 : newmult
if(i != HALLOSS)
damage_types[i] *= newmult

/obj/item/projectile/multiply_projectile_damage(newmult)
/obj/item/projectile/multiply_projectile_agony(newmult) //why are these seperate? i don't know, probably to avoid instastunning people with 10x damage on bullets that naturally have some pain (hollow points i think)
if(HALLOSS in damage_types)
damage_types[HALLOSS] *= newmult

Expand Down
16 changes: 8 additions & 8 deletions code/modules/research/designs/rigmodules.dm
Original file line number Diff line number Diff line change
Expand Up @@ -72,16 +72,16 @@

/datum/design/research/item/rig_grenade_launcher
name = "hardsuit grenade launcher"
desc = "A mounted grenade launcher onto a rig. Holds smoke bombs, emps and flashbangs for non-lethal riot controle."
desc = "A mounted grenade launcher onto a rig. Holds smoke bombs, EMP grenades and flashbangs for non-lethal riot control."
build_path = /obj/item/rig_module/grenade_launcher
materials = list(MATERIAL_STEEL = 75, MATERIAL_PLASTIC = 65)
materials = list(MATERIAL_STEEL = 45, MATERIAL_PLASTIC = 30)
category = "RIG"

/datum/design/research/item/rig_flash
name = "hardsuit integrated flash"
desc = "A flash that has been integrated into a hardsuit."
build_path = /obj/item/rig_module/device/flash
materials = list(MATERIAL_STEEL = 25, MATERIAL_PLASTIC = 25, MATERIAL_GLASS = 45)
materials = list(MATERIAL_STEEL = 25, MATERIAL_PLASTIC = 15, MATERIAL_GLASS = 20)
category = "RIG"

//MISC and odds and sods for hardsuits/rigs
Expand All @@ -90,14 +90,14 @@
name = "hardsuit storage system"
desc = "A storage case that has been integrated into a hardsuit."
build_path = /obj/item/rig_module/storage
materials = list(MATERIAL_STEEL = 45, MATERIAL_PLASTIC = 25)
materials = list(MATERIAL_STEEL = 30, MATERIAL_PLASTIC = 15)
category = "RIG"

/datum/design/research/item/storage/large
name = "hardsuit distributed storage system"
desc = "A system of pouches that has been integrated into a hardsuit."
build_path = /obj/item/rig_module/storage/large
materials = list(MATERIAL_STEEL = 60, MATERIAL_PLASTIC = 40)
materials = list(MATERIAL_STEEL = 45, MATERIAL_PLASTIC = 40)
category = "RIG"

/datum/design/research/item/storagemed
Expand Down Expand Up @@ -141,7 +141,7 @@
name = "hardsuit integrated jetpack"
desc = "Integrated jets into a hardsuit."
build_path = /obj/item/rig_module/maneuvering_jets //Kinda useless on a planet...
materials = list(MATERIAL_STEEL = 45, MATERIAL_PLASTIC = 25)
materials = list(MATERIAL_STEEL = 20, MATERIAL_PLASTIC = 15)
category = "RIG"

/datum/design/research/item/rig_drill
Expand All @@ -155,7 +155,7 @@
name = "hardsuit integrated anomaly scanner"
desc = "Integrated anomaly scanner for a hardsuit."
build_path = /obj/item/rig_module/device/anomaly_scanner
materials = list(MATERIAL_STEEL = 15, MATERIAL_PLASTIC = 5, MATERIAL_GLASS = 15)
materials = list(MATERIAL_STEEL = 15, MATERIAL_PLASTIC = 5, MATERIAL_GLASS = 5)
category = "RIG"

/datum/design/research/item/rig_ore_scanner
Expand Down Expand Up @@ -201,7 +201,7 @@
name = "hardsuit integrated grappler"
desc = "Integrated grappling hook into a hardsuit."
build_path = /obj/item/rig_module/grappler
materials = list(MATERIAL_STEEL = 15, MATERIAL_PLASTIC = 50)
materials = list(MATERIAL_STEEL = 15, MATERIAL_PLASTIC = 30)
category = "RIG"

/datum/design/research/item/rig_clamp
Expand Down
Loading