diff --git a/code/game/objects/effects/effect_system/effects_sparks.dm b/code/game/objects/effects/effect_system/effects_sparks.dm index 19b0dc76dd..a388d3bc67 100644 --- a/code/game/objects/effects/effect_system/effects_sparks.dm +++ b/code/game/objects/effects/effect_system/effects_sparks.dm @@ -63,3 +63,23 @@ /datum/effect_system/lightning_spread effect_type = /obj/effect/particle_effect/sparks/electricity + +//fake sparks, not subtyped because we don't want light/heat, nor checks inside an often used proc for a rare subcase for saving like 10 lines of code +/obj/effect/particle_effect/fake_sparks + name = "lightning" + icon_state = "electricity" + +/obj/effect/particle_effect/fake_sparks/Initialize() + . = ..() + flick(icon_state, src) // replay the animation + playsound(src, "sparks", 100, TRUE) + QDEL_IN(src, 20) + +/datum/effect_system/fake_spark_spread + effect_type = /obj/effect/particle_effect/fake_sparks + +/proc/do_fake_sparks(n, c, source) + var/datum/effect_system/fake_spark_spread/sparks = new + sparks.set_up(n, c, source) + sparks.autocleanup = TRUE + sparks.start() diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index a6b34c59e3..73246276c2 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -281,6 +281,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) /obj/item/clothing/suit/armor/vest/infiltrator, /obj/item/clothing/under/syndicate/bloodred, /obj/item/clothing/gloves/color/latex/nitrile/infiltrator, + /obj/item/clothing/gloves/tackler/combat/insulated/infiltrator, /obj/item/clothing/mask/infiltrator, /obj/item/clothing/shoes/combat/sneakboots, /obj/item/gun/ballistic/automatic/pistol, @@ -292,7 +293,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) new /obj/item/clothing/head/helmet/infiltrator(src) new /obj/item/clothing/suit/armor/vest/infiltrator(src) new /obj/item/clothing/under/syndicate/bloodred(src) - new /obj/item/clothing/gloves/color/latex/nitrile/infiltrator(src) + new /obj/item/clothing/gloves/tackler/combat/insulated/infiltrator(src) new /obj/item/clothing/mask/infiltrator(src) new /obj/item/clothing/shoes/combat/sneakboots(src) diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index 11b2afa968..f4b4140a1a 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -72,6 +72,25 @@ siemens_coefficient = 0 permeability_coefficient = 0.05 +/obj/item/clothing/gloves/tackler/combat/insulated/infiltrator + name = "insidious guerrilla gloves" + desc = "Specialized combat gloves for carrying people around. Transfers tactical kidnapping and tackling knowledge to the user via the use of nanochips." + icon_state = "infiltrator" + item_state = "infiltrator" + siemens_coefficient = 0 + permeability_coefficient = 0.05 + resistance_flags = FIRE_PROOF | ACID_PROOF + var/carrytrait = TRAIT_QUICKER_CARRY + +/obj/item/clothing/gloves/tackler/combat/insulated/infiltrator/equipped(mob/user, slot) + . = ..() + if(slot == SLOT_GLOVES) + ADD_TRAIT(user, carrytrait, GLOVE_TRAIT) + +/obj/item/clothing/gloves/tackler/combat/insulated/infiltrator/dropped(mob/user) + . = ..() + REMOVE_TRAIT(user, carrytrait, GLOVE_TRAIT) + /obj/item/clothing/gloves/tackler/rocket name = "rocket gloves" desc = "The ultimate in high risk, high reward, perfect for when you need to stop a criminal from fifty feet away or die trying. Banned in most Spinward gridiron football and rugby leagues." diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 6364a9a1c1..d6853f52ca 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -625,7 +625,7 @@ desc = "An arctic white winter coat with a small blue caduceus instead of a plastic zipper tab. Snazzy." icon_state = "coatmedical" item_state = "coatmedical" - allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) + allowed = list(/obj/item/analyzer, /obj/item/sensor_device, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 50, "rad" = 0, "fire" = 0, "acid" = 45) hoodtype = /obj/item/clothing/head/hooded/winterhood/medical @@ -638,7 +638,7 @@ desc = "An arctic white winter coat with a small blue caduceus instead of a plastic zipper tab. The normal liner is replaced with an exceptionally thick, soft layer of fur." icon_state = "coatcmo" item_state = "coatcmo" - allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) + allowed = list(/obj/item/analyzer, /obj/item/sensor_device, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) armor = list("melee" = 5, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 50, "rad" = 0, "fire" = 0, "acid" = 0) hoodtype = /obj/item/clothing/head/hooded/winterhood/cmo @@ -651,7 +651,7 @@ desc = "A lab-grade winter coat made with acid resistant polymers. For the enterprising chemist who was exiled to a frozen wasteland on the go." icon_state = "coatchemistry" item_state = "coatchemistry" - allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) + allowed = list(/obj/item/analyzer, /obj/item/sensor_device, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 30, "rad" = 0, "fire" = 30, "acid" = 45) hoodtype = /obj/item/clothing/head/hooded/winterhood/chemistry @@ -664,7 +664,7 @@ desc = "A white winter coat with green markings. Warm, but wont fight off the common cold or any other disease. Might make people stand far away from you in the hallway. The zipper tab looks like an oversized bacteriophage." icon_state = "coatviro" item_state = "coatviro" - allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) + allowed = list(/obj/item/analyzer, /obj/item/sensor_device, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 30, "rad" = 0, "fire" = 0, "acid" = 0) hoodtype = /obj/item/clothing/head/hooded/winterhood/viro @@ -677,7 +677,7 @@ desc = "A winter coat with blue markings. Warm, but probably won't protect from biological agents. For the cozy doctor on the go." icon_state = "coatparamed" item_state = "coatparamed" - allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) + allowed = list(/obj/item/analyzer, /obj/item/sensor_device, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 50, "rad" = 0, "fire" = 0, "acid" = 45) hoodtype = /obj/item/clothing/head/hooded/winterhood/paramedic diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index cb0dbef332..1bfb72a415 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -7,6 +7,11 @@ message = "cries." emote_type = EMOTE_AUDIBLE +/datum/emote/living/carbon/human/cry/run_emote(mob/user, params) + . = ..() + if(. && isipcperson(user)) + do_fake_sparks(5,FALSE,user) + /datum/emote/living/carbon/human/dap key = "dap" key_third_person = "daps" diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index ad1a3bc9b9..fe5a78de21 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -8,8 +8,6 @@ spill_organs(no_brain, no_organs, no_bodyparts) - release_vore_contents(silent = TRUE) // return of the bomb safe internals. - if(!no_bodyparts) spread_bodyparts(no_brain, no_organs) @@ -46,7 +44,6 @@ buckled.unbuckle_mob(src, force = TRUE) dust_animation() - release_vore_contents(silent = TRUE) //technically grief protection, I guess? if they're SM'd it doesn't matter seconds after anyway. spawn_dust(just_ash) QDEL_IN(src,5) // since this is sometimes called in the middle of movement, allow half a second for movement to finish, ghosting to happen and animation to play. Looks much nicer and doesn't cause multiple runtimes. @@ -103,5 +100,5 @@ for(var/s in sharedSoullinks) var/datum/soullink/S = s S.sharerDies(gibbed) - + release_vore_contents(silent = TRUE) return TRUE diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 97de8bfd6c..a735baceae 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -9,6 +9,11 @@ key_third_person = "blushes" message = "blushes." +/datum/emote/living/blush/run_emote(mob/user, params) + . = ..() + if(. && isipcperson(user)) + do_fake_sparks(5,FALSE,user) + /datum/emote/living/bow key = "bow" key_third_person = "bows" diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 78a20e5b62..54b1362518 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -66,7 +66,7 @@ var/energy_transfer = delta_temperature*hot_air_heat_capacity*cold_air_heat_capacity/(hot_air_heat_capacity+cold_air_heat_capacity) var/heat = energy_transfer*(1-efficiency) - lastgen += energy_transfer*efficiency + lastgen += LOGISTIC_FUNCTION(1000000,0.0034,delta_temperature,2000) hot_air.set_temperature(hot_air.return_temperature() - energy_transfer/hot_air_heat_capacity) cold_air.set_temperature(cold_air.return_temperature() + heat/cold_air_heat_capacity) diff --git a/html/changelog.html b/html/changelog.html index fd590f4673..d2f9fd9a86 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -50,6 +50,26 @@ -->
+

24 August 2020

+

MrJWhit updated:

+ +

silicons updated:

+ +

timothyteakettle updated:

+ +

zeroisthebiggay updated:

+ +

23 August 2020

DeltaFire15 updated:

- -

22 June 2020

-

Ghommie (porting PRs by zxaber, Ryll-Ryll, AnturK) updated:

- -

kevinz000 updated:

- -

shellspeed1 updated:

-
GoonStation 13 Development Team diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index d4243a01ec..88aef958e8 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -27060,3 +27060,15 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - rscadd: suiciding with the temporal katana omae wa mou shinderius you into the shadow realm - soundadd: twilight isnt earrape +2020-08-24: + MrJWhit: + - bugfix: Fixes areas on expanded airlocks + silicons: + - bugfix: wormhole jaunters work + - tweak: wormhole jaunters no longer get interference from bags of holding + - bugfix: airlocks now only shock on pulse/wirecutters instead of on tgui panel + open. + timothyteakettle: + - rscadd: three new items are in the loadout for all donators + zeroisthebiggay: + - rscadd: contraband black evening gloves in kinkvend diff --git a/html/changelogs/AutoChangeLog-pr-13182.yml b/html/changelogs/AutoChangeLog-pr-13182.yml deleted file mode 100644 index 9beb8f28c5..0000000000 --- a/html/changelogs/AutoChangeLog-pr-13182.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "silicons" -delete-after: True -changes: - - bugfix: "airlocks now only shock on pulse/wirecutters instead of on tgui panel open." diff --git a/html/changelogs/AutoChangeLog-pr-13204.yml b/html/changelogs/AutoChangeLog-pr-13204.yml deleted file mode 100644 index e9033c299d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-13204.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "timothyteakettle" -delete-after: True -changes: - - rscadd: "three new items are in the loadout for all donators" diff --git a/html/changelogs/AutoChangeLog-pr-13209.yml b/html/changelogs/AutoChangeLog-pr-13209.yml deleted file mode 100644 index f885a4dc93..0000000000 --- a/html/changelogs/AutoChangeLog-pr-13209.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "silicons" -delete-after: True -changes: - - bugfix: "wormhole jaunters work" - - tweak: "wormhole jaunters no longer get interference from bags of holding" diff --git a/html/changelogs/AutoChangeLog-pr-13225.yml b/html/changelogs/AutoChangeLog-pr-13225.yml new file mode 100644 index 0000000000..d185917e7f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13225.yml @@ -0,0 +1,4 @@ +author: "raspy-on-osu" +delete-after: True +changes: + - tweak: "Thermoelectric Generator power output" diff --git a/html/changelogs/AutoChangeLog-pr-13238.yml b/html/changelogs/AutoChangeLog-pr-13238.yml new file mode 100644 index 0000000000..8e3d2c148b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13238.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - rscadd: "Insidious combat gloves have been replaced by insidious guerilla gloves. They're generally the same, except now you can tackle with them." diff --git a/html/changelogs/AutoChangeLog-pr-13239.yml b/html/changelogs/AutoChangeLog-pr-13239.yml deleted file mode 100644 index 0f01f680c6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-13239.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "zeroisthebiggay" -delete-after: True -changes: - - rscadd: "contraband black evening gloves in kinkvend" diff --git a/html/changelogs/AutoChangeLog-pr-13240.yml b/html/changelogs/AutoChangeLog-pr-13240.yml new file mode 100644 index 0000000000..396515c90e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13240.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - tweak: "I.P.Cs now short their circuits when expressing emotion, causing sparks to appear around them." diff --git a/html/changelogs/AutoChangeLog-pr-13241.yml b/html/changelogs/AutoChangeLog-pr-13241.yml new file mode 100644 index 0000000000..f11a9408b3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13241.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - tweak: "vore now ejects occupants on death" diff --git a/html/changelogs/AutoChangeLog-pr-13242.yml b/html/changelogs/AutoChangeLog-pr-13242.yml new file mode 100644 index 0000000000..0cfcdf183b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13242.yml @@ -0,0 +1,4 @@ +author: "Literallynotpickles" +delete-after: True +changes: + - tweak: "You can now equip handheld crew monitors on all medical-related winter coats." diff --git a/html/changelogs/AutoChangeLog-pr-13243.yml b/html/changelogs/AutoChangeLog-pr-13243.yml deleted file mode 100644 index a09ae5d607..0000000000 --- a/html/changelogs/AutoChangeLog-pr-13243.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "MrJWhit" -delete-after: True -changes: - - bugfix: "Fixes areas on expanded airlocks"