From 5e02857320e2999efe294690ac67b52e26f7e796 Mon Sep 17 00:00:00 2001 From: Cadyn Date: Sun, 23 Aug 2020 19:54:11 -0700 Subject: [PATCH 1/6] Many bugfixes! --- code/_onclick/cyborg.dm | 5 +++-- code/controllers/subsystems/supply.dm | 3 ++- code/game/machinery/flasher.dm | 3 +++ code/modules/reagents/reagent_containers/syringes.dm | 2 +- code/modules/vore/eating/belly_obj_vr.dm | 2 +- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index 0c99425147..6ddb4453ad 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -60,7 +60,6 @@ A.add_hiddenprint(src) A.attack_robot(src) return - // buckled cannot prevent machine interlinking but stops arm movement if( buckled ) return @@ -69,7 +68,9 @@ W.attack_self(src) return - + if(A.type==/obj/structure/flora/pottedplant || A.parent_type==/obj/structure/flora/pottedplant) + return + // cyborgs are prohibited from using storage items so we can I think safely remove (A.loc in contents) if(A == loc || (A in loc) || (A in contents)) // No adjacency checks diff --git a/code/controllers/subsystems/supply.dm b/code/controllers/subsystems/supply.dm index ad14c1e6cd..8d1ad6bcb0 100644 --- a/code/controllers/subsystems/supply.dm +++ b/code/controllers/subsystems/supply.dm @@ -205,7 +205,8 @@ SUBSYSTEM_DEF(supply) else if(islist(SP.access) && SP.one_access) var/list/L = SP.access // access var is a plain var, we need a list A.req_one_access = L.Copy() - A.req_access.Cut() + if(A.req_access) + A.req_access.Cut() else if(islist(SP.access) && !SP.one_access) var/list/L = SP.access A.req_access = L.Copy() diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index ad82ffd656..694b27c437 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -68,6 +68,9 @@ var/flash_time = strength if(istype(O, /mob/living/carbon/human)) var/mob/living/carbon/human/H = O + if(H.nif && H.nif.flag_check(NIF_V_FLASHPROT,NIF_FLAGS_VISION)) + H.nif.notify("High intensity light detected, and blocked!",TRUE) + continue if(!H.eyecheck() <= 0) continue flash_time *= H.species.flash_mod diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 6d9becfbc6..9dc3cf37a7 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -63,7 +63,7 @@ to_chat(user, "This syringe is broken!") return - if(user.a_intent == I_HURT && ismob(target)) + if(user.a_intent == I_HURT && ismob(target) && user.type!=/mob/living/silicon/robot) if((CLUMSY in user.mutations) && prob(50)) target = user syringestab(target, user) diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index 69979ecc1e..e9b093a611 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -482,7 +482,7 @@ var/mob/living/carbon/human/Pred = owner //Reagent sharing for absorbed with pred - Copy so both pred and prey have these reagents. Prey.bloodstr.trans_to_holder(Pred.bloodstr, Prey.bloodstr.total_volume, copy = TRUE) - Prey.ingested.trans_to_holder(Pred.bloodstr, Prey.ingested.total_volume, copy = TRUE) + Prey.ingested.trans_to_holder(Pred.ingested, Prey.ingested.total_volume, copy = TRUE) Prey.touching.trans_to_holder(Pred.bloodstr, Prey.touching.total_volume, copy = TRUE) // TODO - Find a way to make the absorbed prey share the effects with the pred. // Currently this is infeasible because reagent containers are designed to have a single my_atom, and we get From 7139225191b4529f82f69bf92255ed298663ea28 Mon Sep 17 00:00:00 2001 From: Cadyn Date: Mon, 24 Aug 2020 14:23:08 -0700 Subject: [PATCH 2/6] Following feedback --- code/modules/reagents/reagent_containers/syringes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 9dc3cf37a7..e1155a023f 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -63,7 +63,7 @@ to_chat(user, "This syringe is broken!") return - if(user.a_intent == I_HURT && ismob(target) && user.type!=/mob/living/silicon/robot) + if(user.a_intent == I_HURT && ismob(target) && !isrobot(user)) if((CLUMSY in user.mutations) && prob(50)) target = user syringestab(target, user) From 3bc407b0d3a7a448cd91ba64b0267fc2cf1b8f46 Mon Sep 17 00:00:00 2001 From: Cadyn Date: Mon, 24 Aug 2020 14:28:07 -0700 Subject: [PATCH 3/6] Consistency with upstream PRs --- code/game/machinery/flasher.dm | 2 ++ code/modules/vore/eating/belly_obj_vr.dm | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 694b27c437..5aa42ff26a 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -68,9 +68,11 @@ var/flash_time = strength if(istype(O, /mob/living/carbon/human)) var/mob/living/carbon/human/H = O + //VOREStation Edit Start if(H.nif && H.nif.flag_check(NIF_V_FLASHPROT,NIF_FLAGS_VISION)) H.nif.notify("High intensity light detected, and blocked!",TRUE) continue + //VOREStation Edit End if(!H.eyecheck() <= 0) continue flash_time *= H.species.flash_mod diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index e9b093a611..48961a0362 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -481,9 +481,9 @@ var/mob/living/carbon/human/Prey = M var/mob/living/carbon/human/Pred = owner //Reagent sharing for absorbed with pred - Copy so both pred and prey have these reagents. - Prey.bloodstr.trans_to_holder(Pred.bloodstr, Prey.bloodstr.total_volume, copy = TRUE) + Prey.bloodstr.trans_to_holder(Pred.ingested, Prey.bloodstr.total_volume, copy = TRUE) Prey.ingested.trans_to_holder(Pred.ingested, Prey.ingested.total_volume, copy = TRUE) - Prey.touching.trans_to_holder(Pred.bloodstr, Prey.touching.total_volume, copy = TRUE) + Prey.touching.trans_to_holder(Pred.ingested, Prey.touching.total_volume, copy = TRUE) // TODO - Find a way to make the absorbed prey share the effects with the pred. // Currently this is infeasible because reagent containers are designed to have a single my_atom, and we get // problems when A absorbs B, and then C absorbs A, resulting in B holding onto an invalid reagent container. From 860615c70c3424a1da1911cc4534734babc46b31 Mon Sep 17 00:00:00 2001 From: cadyn Date: Fri, 28 Aug 2020 13:00:42 -0700 Subject: [PATCH 4/6] Upstream oopsie-fixes --- code/_onclick/cyborg.dm | 2 -- code/game/objects/structures/flora/flora.dm | 3 +++ code/modules/reagents/reagent_containers/syringes.dm | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index 6ddb4453ad..a05a948f09 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -68,8 +68,6 @@ W.attack_self(src) return - if(A.type==/obj/structure/flora/pottedplant || A.parent_type==/obj/structure/flora/pottedplant) - return // cyborgs are prohibited from using storage items so we can I think safely remove (A.loc in contents) if(A == loc || (A in loc) || (A in contents)) diff --git a/code/game/objects/structures/flora/flora.dm b/code/game/objects/structures/flora/flora.dm index a0f2c8c307..b50331aedd 100644 --- a/code/game/objects/structures/flora/flora.dm +++ b/code/game/objects/structures/flora/flora.dm @@ -233,6 +233,9 @@ . += "You can see something in there..." /obj/structure/flora/pottedplant/attackby(obj/item/I, mob/user) + if(!issilicon(user)) + break_syringe(target, user) + if(stored_item) to_chat(user, "[I] won't fit in. There already appears to be something in here...") return diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index e1155a023f..f1a7d5cc2b 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -63,7 +63,7 @@ to_chat(user, "This syringe is broken!") return - if(user.a_intent == I_HURT && ismob(target) && !isrobot(user)) + if(user.a_intent == I_HURT && ismob(target)) if((CLUMSY in user.mutations) && prob(50)) target = user syringestab(target, user) @@ -298,7 +298,8 @@ var/trans = reagents.trans_to_mob(target, syringestab_amount_transferred, CHEM_BLOOD) if(isnull(trans)) trans = 0 add_attack_logs(user,target,"Stabbed with [src.name] containing [contained], trasferred [trans] units") - break_syringe(target, user) + if(!issilicon(user)) + break_syringe(target, user) /obj/item/weapon/reagent_containers/syringe/proc/break_syringe(mob/living/carbon/target, mob/living/carbon/user) desc += " It is broken." From 9101e37e6fd1ce6346e191dcc28ec7ce90d0559b Mon Sep 17 00:00:00 2001 From: cadyn Date: Fri, 28 Aug 2020 13:06:58 -0700 Subject: [PATCH 5/6] Big woopsie-dasies fixed --- code/game/objects/structures/flora/flora.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/flora/flora.dm b/code/game/objects/structures/flora/flora.dm index b50331aedd..0e05e64539 100644 --- a/code/game/objects/structures/flora/flora.dm +++ b/code/game/objects/structures/flora/flora.dm @@ -233,8 +233,8 @@ . += "You can see something in there..." /obj/structure/flora/pottedplant/attackby(obj/item/I, mob/user) - if(!issilicon(user)) - break_syringe(target, user) + if(issilicon(user)) + return // Don't try to put modules in here, you're a borg. TODO: Inventory refactor to not be ass. if(stored_item) to_chat(user, "[I] won't fit in. There already appears to be something in here...") From 6e0c91a0bc5bb832887521094237b4a4a8bea9e8 Mon Sep 17 00:00:00 2001 From: cadyn Date: Fri, 28 Aug 2020 13:10:17 -0700 Subject: [PATCH 6/6] Add Chompstation Edit Comments --- code/controllers/subsystems/supply.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/controllers/subsystems/supply.dm b/code/controllers/subsystems/supply.dm index 8d1ad6bcb0..52a8776071 100644 --- a/code/controllers/subsystems/supply.dm +++ b/code/controllers/subsystems/supply.dm @@ -205,8 +205,8 @@ SUBSYSTEM_DEF(supply) else if(islist(SP.access) && SP.one_access) var/list/L = SP.access // access var is a plain var, we need a list A.req_one_access = L.Copy() - if(A.req_access) - A.req_access.Cut() + if(A.req_access) //Chompstation Edit (TODO: Figure out why the fuck this works for others but not us) + A.req_access.Cut() //Chompstation Edit else if(islist(SP.access) && !SP.one_access) var/list/L = SP.access A.req_access = L.Copy()