mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Sprays now respect blocking
This commit is contained in:
@@ -97,30 +97,30 @@
|
|||||||
return 0
|
return 0
|
||||||
if(my_atom.flags & NOREACT) // No reactions here
|
if(my_atom.flags & NOREACT) // No reactions here
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
var/reaction_occured
|
var/reaction_occured
|
||||||
var/list/effect_reactions = list()
|
var/list/effect_reactions = list()
|
||||||
var/list/eligible_reactions = list()
|
var/list/eligible_reactions = list()
|
||||||
for(var/i in 1 to PROCESS_REACTION_ITER)
|
for(var/i in 1 to PROCESS_REACTION_ITER)
|
||||||
reaction_occured = 0
|
reaction_occured = 0
|
||||||
|
|
||||||
//need to rebuild this to account for chain reactions
|
//need to rebuild this to account for chain reactions
|
||||||
for(var/datum/reagent/R in reagent_list)
|
for(var/datum/reagent/R in reagent_list)
|
||||||
eligible_reactions |= chemical_reactions_list[R.id]
|
eligible_reactions |= chemical_reactions_list[R.id]
|
||||||
|
|
||||||
for(var/datum/chemical_reaction/C in eligible_reactions)
|
for(var/datum/chemical_reaction/C in eligible_reactions)
|
||||||
if(C.can_happen(src) && C.process(src))
|
if(C.can_happen(src) && C.process(src))
|
||||||
effect_reactions |= C
|
effect_reactions |= C
|
||||||
reaction_occured = 1
|
reaction_occured = 1
|
||||||
|
|
||||||
eligible_reactions.Cut()
|
eligible_reactions.Cut()
|
||||||
|
|
||||||
if(!reaction_occured)
|
if(!reaction_occured)
|
||||||
break
|
break
|
||||||
|
|
||||||
for(var/datum/chemical_reaction/C in effect_reactions)
|
for(var/datum/chemical_reaction/C in effect_reactions)
|
||||||
C.post_reaction(src)
|
C.post_reaction(src)
|
||||||
|
|
||||||
update_total()
|
update_total()
|
||||||
return reaction_occured
|
return reaction_occured
|
||||||
|
|
||||||
@@ -300,7 +300,7 @@
|
|||||||
amount -= spill
|
amount -= spill
|
||||||
if(spill)
|
if(spill)
|
||||||
splash(target.loc, spill, multiplier, copy, min_spill, max_spill)
|
splash(target.loc, spill, multiplier, copy, min_spill, max_spill)
|
||||||
|
|
||||||
trans_to(target, amount, multiplier, copy)
|
trans_to(target, amount, multiplier, copy)
|
||||||
|
|
||||||
/datum/reagents/proc/trans_id_to(var/atom/target, var/id, var/amount = 1)
|
/datum/reagents/proc/trans_id_to(var/atom/target, var/id, var/amount = 1)
|
||||||
@@ -366,6 +366,10 @@
|
|||||||
var/perm = 1
|
var/perm = 1
|
||||||
if(isliving(target)) //will we ever even need to tranfer reagents to non-living mobs?
|
if(isliving(target)) //will we ever even need to tranfer reagents to non-living mobs?
|
||||||
var/mob/living/L = target
|
var/mob/living/L = target
|
||||||
|
if(ishuman(L))
|
||||||
|
var/mob/living/carbon/human/H = L
|
||||||
|
if(H.check_shields(0, null, null, null, "the spray") == 1) //If they block the spray, it does nothing.
|
||||||
|
amount = 0
|
||||||
perm = L.reagent_permeability()
|
perm = L.reagent_permeability()
|
||||||
return trans_to_mob(target, amount, CHEM_TOUCH, perm, copy)
|
return trans_to_mob(target, amount, CHEM_TOUCH, perm, copy)
|
||||||
|
|
||||||
@@ -416,4 +420,4 @@
|
|||||||
/* Atom reagent creation - use it all the time */
|
/* Atom reagent creation - use it all the time */
|
||||||
|
|
||||||
/atom/proc/create_reagents(var/max_vol)
|
/atom/proc/create_reagents(var/max_vol)
|
||||||
reagents = new/datum/reagents(max_vol, src)
|
reagents = new/datum/reagents(max_vol, src)
|
||||||
|
|||||||
36
html/changelogs/anewbe.yml
Normal file
36
html/changelogs/anewbe.yml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
################################
|
||||||
|
# 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
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Your name.
|
||||||
|
author: Anewbe
|
||||||
|
|
||||||
|
# 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: "Sprays now respect shields."
|
||||||
Reference in New Issue
Block a user