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

Recoup of atom exposure (Part 1) and miscellaneous chemical holder fixes #11498

Merged
merged 27 commits into from
Jan 25, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
cb09fe1
aheals fix addiction
Tsar-Salat Sep 15, 2024
75c2c4f
reagent transfer
Tsar-Salat Sep 15, 2024
ec1b698
fix reaction chambers sometimes not working
Tsar-Salat Sep 15, 2024
a1b18ca
oranges addiction fix
Tsar-Salat Sep 15, 2024
de8aca4
cleaning skill (without the skill)
Tsar-Salat Sep 15, 2024
120fc96
chem holdover
Tsar-Salat Sep 15, 2024
14e3ca2
autodoc
Tsar-Salat Sep 15, 2024
af9184e
Revert "fix reaction chambers sometimes not working"
Tsar-Salat Sep 15, 2024
50f02bd
gettem
Tsar-Salat Sep 15, 2024
349a9ff
exposure code
Tsar-Salat Sep 15, 2024
b923241
reagent transfer fix
Tsar-Salat Sep 15, 2024
34d0ae2
fixing jupyter's shit
Tsar-Salat Sep 15, 2024
1dea661
bad pathing
Tsar-Salat Sep 15, 2024
8ca27f9
Merge branch 'master' into reagentrerun
Tsar-Salat Oct 3, 2024
9edcfad
Merge remote-tracking branch 'BeeStation/master' into reagentrerun
Tsar-Salat Oct 19, 2024
790cdfb
Merge remote-tracking branch 'BeeStation/master' into reagentrerun
Tsar-Salat Nov 13, 2024
214e3b3
Merge remote-tracking branch 'BeeStation/master' into reagentrerun
Tsar-Salat Nov 18, 2024
3cd9031
Merge remote-tracking branch 'BeeStation/master' into reagentrerun
Tsar-Salat Nov 27, 2024
323142a
xeonmations(fucking sucks at porting)
Tsar-Salat Dec 4, 2024
e9334ac
Merge remote-tracking branch 'BeeStation/master' into reagentrerun
Tsar-Salat Dec 8, 2024
d4bd5a1
Merge remote-tracking branch 'BeeStation/master' into reagentrerun
Tsar-Salat Jan 9, 2025
9826ec5
clean up
Tsar-Salat Jan 9, 2025
2fde9b0
fixes the issue
Tsar-Salat Jan 9, 2025
95b88ae
what a mess
Tsar-Salat Jan 9, 2025
822bed4
Merge remote-tracking branch 'BeeStation/master' into reagentrerun
Tsar-Salat Jan 9, 2025
df3c34a
args SUCK
Tsar-Salat Jan 11, 2025
bf8e240
Merge remote-tracking branch 'BeeStation/master' into reagentrerun
Tsar-Salat Jan 23, 2025
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
Prev Previous commit
Next Next commit
reagent transfer fix
  • Loading branch information
Tsar-Salat committed Sep 15, 2024
commit b923241872592d9a245e963c8e5face35121b1d3
5 changes: 2 additions & 3 deletions code/game/atoms.dm
Original file line number Diff line number Diff line change
Expand Up @@ -540,13 +540,12 @@ CREATION_TEST_IGNORE_SUBTYPES(/atom)
* - show_message: Whether to display anything to mobs when they are exposed.
*/
/atom/proc/expose_reagents(list/reagents, datum/reagents/source, method=TOUCH, volume_modifier=1, show_message=TRUE)
. = SEND_SIGNAL(src, COMSIG_ATOM_EXPOSE_REAGENTS, reagents, source, method, volume_modifier, show_message)
if(. & COMPONENT_NO_EXPOSE_REAGENTS)
if((. = SEND_SIGNAL(src, COMSIG_ATOM_EXPOSE_REAGENTS, reagents, source, method, volume_modifier, show_message)) & COMPONENT_NO_EXPOSE_REAGENTS)
return

for(var/reagent in reagents)
var/datum/reagent/R = reagent
. |= R.expose_atom(src, reagents[R] || (R.volume * volume_modifier))
. |= R.expose_atom(src, reagents[R])

/// Is this atom grindable to get reagents
/atom/proc/is_grindable()
Expand Down
19 changes: 19 additions & 0 deletions code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -564,6 +564,25 @@
new /obj/item/multitool/abductor(src)
new /obj/item/stack/cable_coil/white(src)

//Im pissed off at the amount of times I have to do this. So its a belt now
/obj/item/storage/belt/military/abductor/med
name = "agent belt"
desc = "A belt used by abductor agents."
icon = 'icons/obj/abductor.dmi'
icon_state = "belt"
item_state = "security"
worn_icon_state = "security"

/obj/item/storage/belt/military/abductor/med/PopulateContents()
new /obj/item/scalpel/alien(src)
new /obj/item/hemostat/alien(src)
new /obj/item/retractor/alien(src)
new /obj/item/circular_saw/alien(src)
new /obj/item/surgicaldrill/alien(src)
new /obj/item/cautery/alien(src)
new /obj/item/surgical_drapes(src)
new /obj/item/blood_filter(src)

/obj/item/storage/belt/military/army
name = "army belt"
desc = "A belt used by military forces."
Expand Down
5 changes: 2 additions & 3 deletions code/game/objects/objs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -438,13 +438,12 @@ CREATION_TEST_IGNORE_SELF(/obj)

/// Handles exposing an object to reagents.
/obj/expose_reagents(list/reagents, datum/reagents/source, method=TOUCH, volume_modifier=1, show_message=TRUE)
. = ..()
if(. & COMPONENT_NO_EXPOSE_REAGENTS)
if((. = ..()) & COMPONENT_NO_EXPOSE_REAGENTS)
return

for(var/reagent in reagents)
var/datum/reagent/R = reagent
R.expose_obj(src, reagents[R] || (R.volume * volume_modifier))
. |= R.expose_obj(src, reagents[R])

///attempt to freeze this obj if possible. returns TRUE if it succeeded, FALSE otherwise.
/obj/proc/freeze()
Expand Down
5 changes: 2 additions & 3 deletions code/game/turfs/turf_integrity.dm
Original file line number Diff line number Diff line change
Expand Up @@ -418,13 +418,12 @@

/// Handles exposing a turf to reagents.
/turf/expose_reagents(list/reagents, datum/reagents/source, method=TOUCH, volume_modifier=1, show_message=TRUE)
. = ..()
if(. & COMPONENT_NO_EXPOSE_REAGENTS)
if((. = ..()) & COMPONENT_NO_EXPOSE_REAGENTS)
return

for(var/reagent in reagents)
var/datum/reagent/R = reagent
. |= R.expose_turf(src, reagents[R] || (R.volume * volume_modifier))
. |= R.expose_turf(src, reagents[R])

/turf/proc/burn_tile()
return
Expand Down
5 changes: 2 additions & 3 deletions code/modules/mob/living/living_defense.dm
Original file line number Diff line number Diff line change
Expand Up @@ -621,8 +621,7 @@
* If the method is VAPOR it incorporates permiability protection.
*/
/mob/living/expose_reagents(list/reagents, datum/reagents/source, method=TOUCH, volume_modifier=1, show_message=TRUE)
. = ..()
if(. & COMPONENT_NO_EXPOSE_REAGENTS)
if((. = ..()) & COMPONENT_NO_EXPOSE_REAGENTS)
return

if(method == INGEST)
Expand All @@ -631,4 +630,4 @@
var/touch_protection = (method == VAPOR) ? get_permeability_protection() : 0
for(var/reagent in reagents)
var/datum/reagent/R = reagent
. |= R.expose_mob(src, method, reagents[R] || (R.volume * volume_modifier), show_message, touch_protection)
. |= R.expose_mob(src, method, reagents[R], show_message, touch_protection)
9 changes: 5 additions & 4 deletions code/modules/reagents/chemistry/holder.dm
Original file line number Diff line number Diff line change
Expand Up @@ -706,12 +706,13 @@
if(isnull(A))
return null

if(!istype(R))
if(ispath(R))
R = get_reagent(R)
if(isnull(R))
return null
if(isnull(R))
return null

return A.expose_reagents(list(R = R.volume * volume_modifier), src, method, volume_modifier, show_message)
// Yes, we need the parentheses.
return A.expose_reagents(list((R) = R.volume * volume_modifier), src, method, volume_modifier, show_message)

/// Is this holder full or not
/datum/reagents/proc/holder_full()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,8 @@
if(M.stat == DEAD)
show_message = FALSE
if(method == PATCH)
if(affecting.heal_damage(reac_volume, reac_volume))
//you could be targeting a limb that doesnt exist while applying the patch, so lets avoid a runtime
if(affecting?.heal_damage(brute = reac_volume, burn = reac_volume))
M.update_damage_overlays()
M.adjustStaminaLoss(reac_volume*2)
if(show_message)
Expand Down
Loading