From 0e652cb64c29fb17047b2eb6999aeedc889206b3 Mon Sep 17 00:00:00 2001 From: raspy-on-osu Date: Sat, 26 Dec 2020 06:02:09 -0500 Subject: [PATCH 01/75] init --- code/__DEFINES/dcs/signals.dm | 4 +++ code/__DEFINES/mobs.dm | 7 +++-- code/datums/diseases/transformation.dm | 2 +- code/datums/elements/ventcrawling.dm | 31 +++++++++++++++++++ code/game/objects/structures/plasticflaps.dm | 4 +-- .../abductor/equipment/glands/ventcrawl.dm | 2 +- .../devil/true_devil/_true_devil.dm | 1 - code/modules/antagonists/morph/morph.dm | 5 ++- code/modules/antagonists/swarmer/swarmer.dm | 2 +- .../atmospherics/machinery/atmosmachinery.dm | 4 +-- code/modules/mob/living/carbon/alien/alien.dm | 3 +- .../mob/living/carbon/alien/humanoid/queen.dm | 1 - .../carbon/human/species_types/golems.dm | 4 +-- .../carbon/human/species_types/vampire.dm | 2 +- .../mob/living/carbon/monkey/monkey.dm | 3 +- code/modules/mob/living/living_defines.dm | 1 - code/modules/mob/living/login.dm | 4 --- .../living/simple_animal/friendly/bumbles.dm | 2 +- .../simple_animal/friendly/butterfly.dm | 2 +- .../mob/living/simple_animal/friendly/cat.dm | 2 +- .../simple_animal/friendly/cockroach.dm | 5 ++- .../mob/living/simple_animal/friendly/crab.dm | 5 ++- .../simple_animal/friendly/drone/_drone.dm | 3 +- .../friendly/drone/extra_drone_types.dm | 1 - .../friendly/drone/interaction.dm | 4 +-- .../simple_animal/friendly/farm_animals.dm | 11 ++++--- .../living/simple_animal/friendly/lizard.dm | 2 +- .../living/simple_animal/friendly/mouse.dm | 2 +- .../living/simple_animal/friendly/possum.dm | 5 ++- .../living/simple_animal/friendly/snake.dm | 4 ++- .../simple_animal/hostile/banana_spider.dm | 3 +- .../simple_animal/hostile/giant_spider.dm | 3 +- .../living/simple_animal/hostile/headcrab.dm | 5 ++- .../simple_animal/hostile/killertomato.dm | 5 ++- .../hostile/megafauna/colossus.dm | 2 +- .../hostile/mining_mobs/gutlunch.dm | 2 +- .../living/simple_animal/hostile/mushroom.dm | 5 ++- .../living/simple_animal/hostile/regalrat.dm | 5 +-- .../simple_animal/hostile/retaliate/bat.dm | 6 ++-- .../simple_animal/hostile/retaliate/clown.dm | 5 ++- .../simple_animal/hostile/retaliate/frog.dm | 2 +- .../mob/living/simple_animal/slime/slime.dm | 3 +- code/modules/mob/living/ventcrawling.dm | 15 ++++++--- code/modules/recycling/disposal/bin.dm | 2 +- tgstation.dme | 1 + 45 files changed, 132 insertions(+), 60 deletions(-) create mode 100644 code/datums/elements/ventcrawling.dm diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 51a5fb3ece..2a375a38ae 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -536,3 +536,7 @@ #define COMSIG_XENO_TURF_CLICK_SHIFT "xeno_turf_click_shift" //from turf ShiftClickOn(): (/mob) #define COMSIG_XENO_TURF_CLICK_CTRL "xeno_turf_click_alt" //from turf AltClickOn(): (/mob) #define COMSIG_XENO_MONKEY_CLICK_CTRL "xeno_monkey_click_ctrl" //from monkey CtrlClickOn(): (/mob) + +// /datum/element/ventcrawling signals +#define COMSIG_HANDLE_VENTCRAWL "handle_ventcrawl" //when atom with ventcrawling element attempts to ventcrawl +#define COMSIG_CHECK_VENTCRAWL "check_ventcrawl" //to check an atom's ventcrawling element tier (if applicable) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 153a82ad5e..6604120d27 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -29,9 +29,10 @@ #define MOB_SIZE_LARGE 3 // Ventcrawling defines -#define VENTCRAWLER_NONE 0 -#define VENTCRAWLER_NUDE 1 -#define VENTCRAWLER_ALWAYS 2 +#define VENTCRAWLER_NONE 0 +#define VENTCRAWLER_NUDE 1 +#define VENTCRAWLER_IMPLANT 2 +#define VENTCRAWLER_ALWAYS 3 // Bloodcrawling defines #define BLOODCRAWL 1 diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index 44775ed031..8dca59ea94 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -121,7 +121,7 @@ add_monkey(affected_mob.mind) if(ishuman(affected_mob)) var/mob/living/carbon/monkey/M = affected_mob.monkeyize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSE) - M.ventcrawler = VENTCRAWLER_ALWAYS + M.AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /datum/disease/transformation/jungle_fever/stage_act() diff --git a/code/datums/elements/ventcrawling.dm b/code/datums/elements/ventcrawling.dm new file mode 100644 index 0000000000..f1429b94fd --- /dev/null +++ b/code/datums/elements/ventcrawling.dm @@ -0,0 +1,31 @@ +/datum/element/ventcrawling + element_flags = ELEMENT_BESPOKE|ELEMENT_DETACH + id_arg_index = 2 + var/tier + +/datum/element/ventcrawling/Attach(datum/target, duration = 0, given_tier = VENTCRAWLER_NUDE) + . = ..() + + src.tier = given_tier + + RegisterSignal(target, COMSIG_HANDLE_VENTCRAWL, .proc/handle_ventcrawl) + RegisterSignal(target, COMSIG_CHECK_VENTCRAWL, .proc/check_ventcrawl) + to_chat(target, "You can ventcrawl! Use alt+click on vents to quickly travel about the station.") + + if(duration!=0) + addtimer(CALLBACK(src, .proc/Detach, target), duration) + +/datum/element/ventcrawling/Detach(datum/target) + . = ..() + + UnregisterSignal(target, COMSIG_HANDLE_VENTCRAWL) + +/datum/element/ventcrawling/proc/handle_ventcrawl(datum/target,atom/A) + var/mob/living/person = target + if(!istype(person)) + return FALSE + + person.handle_ventcrawl(A,tier) + +/datum/element/ventcrawling/proc/check_ventcrawl() + return tier diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index a07e9a26d5..ff8287d77b 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -62,7 +62,7 @@ return 1 var/mob/living/M = caller - if(!M.ventcrawler && M.mob_size != MOB_SIZE_TINY) + if(!(SEND_SIGNAL(M, COMSIG_CHECK_VENTCRAWL)) && M.mob_size != MOB_SIZE_TINY) return 0 var/atom/movable/M = caller if(M && M.pulling) @@ -91,7 +91,7 @@ return 1 if(M.buckled && istype(M.buckled, /mob/living/simple_animal/bot/mulebot)) // mulebot passenger gets a free pass. return 1 - if(!M.lying && !M.ventcrawler && M.mob_size != MOB_SIZE_TINY) //If your not laying down, or a ventcrawler or a small creature, no pass. + if(!M.lying && !(SEND_SIGNAL(M, COMSIG_CHECK_VENTCRAWL)) && M.mob_size != MOB_SIZE_TINY) //If your not laying down, or a ventcrawler or a small creature, no pass. return 0 return ..() diff --git a/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm b/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm index 8ac083f68b..a0ee2a9bc3 100644 --- a/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm +++ b/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm @@ -9,4 +9,4 @@ /obj/item/organ/heart/gland/ventcrawling/activate() to_chat(owner, "You feel very stretchy.") - owner.ventcrawler = VENTCRAWLER_ALWAYS + owner.AddElement(/datum/element/ventcrawling, duration = mind_control_duration, given_tier = VENTCRAWLER_ALWAYS) diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm index 293b1de3dc..069080170e 100644 --- a/code/modules/antagonists/devil/true_devil/_true_devil.dm +++ b/code/modules/antagonists/devil/true_devil/_true_devil.dm @@ -11,7 +11,6 @@ gender = NEUTER health = 350 maxHealth = 350 - ventcrawler = VENTCRAWLER_NONE density = TRUE pass_flags = 0 sight = (SEE_TURFS | SEE_OBJS) diff --git a/code/modules/antagonists/morph/morph.dm b/code/modules/antagonists/morph/morph.dm index e91feda006..00a2039ac2 100644 --- a/code/modules/antagonists/morph/morph.dm +++ b/code/modules/antagonists/morph/morph.dm @@ -15,7 +15,6 @@ stop_automated_movement = 1 status_flags = CANPUSH pass_flags = PASSTABLE - ventcrawler = VENTCRAWLER_ALWAYS atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 maxHealth = 150 @@ -51,6 +50,10 @@ You can attack any item or dead creature to consume it - creatures will fully restore your health. \ Finally, you can restore yourself to your original form while morphed by shift-clicking yourself." +/mob/living/simple_animal/hostile/morph/Initialize() + . = ..() + src.AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/hostile/morph/examine(mob/user) if(morphed) . = form.examine(user) diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index 7444905b89..fb8f4c5f07 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -93,7 +93,6 @@ AIStatus = AI_OFF pass_flags = PASSTABLE mob_size = MOB_SIZE_TINY - ventcrawler = VENTCRAWLER_ALWAYS ranged = 1 projectiletype = /obj/item/projectile/beam/disabler ranged_cooldown_time = 20 @@ -112,6 +111,7 @@ remove_verb(src, /mob/living/verb/pulled) for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) diag_hud.add_to_hud(src) + src.AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/hostile/swarmer/med_hud_set_health() var/image/holder = hud_list[DIAG_HUD] diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index 25e4084524..7f4a8cd794 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -44,7 +44,7 @@ . = ..() if(is_type_in_list(src, GLOB.ventcrawl_machinery) && isliving(user)) var/mob/living/L = user - if(L.ventcrawler) + if(SEND_SIGNAL(L, COMSIG_CHECK_VENTCRAWL)) . += "Alt-click to crawl through it." /obj/machinery/atmospherics/New(loc, process = TRUE, setdir) @@ -318,7 +318,7 @@ /obj/machinery/atmospherics/AltClick(mob/living/L) if(is_type_in_typecache(src, GLOB.ventcrawl_machinery)) - return L.handle_ventcrawl(src) + return SEND_SIGNAL(L, COMSIG_HANDLE_VENTCRAWL, src) return ..() diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index e7ad67d240..e8c78c668c 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -4,7 +4,6 @@ gender = FEMALE //All xenos are girls!! dna = null faction = list(ROLE_ALIEN) - ventcrawler = VENTCRAWLER_ALWAYS sight = SEE_MOBS see_in_dark = 4 verb_say = "hisses" @@ -40,6 +39,8 @@ create_internal_organs() + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + . = ..() /mob/living/carbon/alien/create_internal_organs() diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm index 1200220ce4..ba6ec19dcb 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm @@ -2,7 +2,6 @@ //Common stuffs for Praetorian and Queen icon = 'icons/mob/alienqueen.dmi' status_flags = 0 - ventcrawler = VENTCRAWLER_NONE //pull over that ass too fat unique_name = 0 pixel_x = -16 bubble_icon = "alienroyal" diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index ff0287d7b9..858e3000fb 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -801,11 +801,11 @@ /datum/species/golem/plastic/on_species_gain(mob/living/carbon/C, datum/species/old_species) . = ..() - C.ventcrawler = VENTCRAWLER_NUDE + C.AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /datum/species/golem/plastic/on_species_loss(mob/living/carbon/C) . = ..() - C.ventcrawler = initial(C.ventcrawler) + C.RemoveElement(/datum/element/ventcrawling) /datum/species/golem/bronze name = "Bronze Golem" diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 558fdc6594..2296b69762 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -169,7 +169,7 @@ if(istype(H, /mob/living/simple_animal)) var/mob/living/simple_animal/SA = H if((human_caster.blood_volume <= (BLOOD_VOLUME_BAD*human_caster.blood_ratio)) || (ventcrawl_nude_only && length(human_caster.get_equipped_items(include_pockets = TRUE)))) - SA.ventcrawler = FALSE + SA.RemoveElement(/datum/element/ventcrawling) if(transfer_name) H.name = human_caster.name diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 1f3e0a1b81..d49059f839 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -6,7 +6,6 @@ icon_state = "" gender = NEUTER pass_flags = PASSTABLE - ventcrawler = VENTCRAWLER_NUDE mob_biotypes = MOB_ORGANIC|MOB_HUMANOID butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/monkey = 5, /obj/item/stack/sheet/animalhide/monkey = 1) type_of_meat = /obj/item/reagent_containers/food/snacks/meat/slab/monkey @@ -29,6 +28,8 @@ create_bodyparts() create_internal_organs() + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_NUDE) + . = ..() if (cubespawned) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 5621fab9c1..d96540d928 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -75,7 +75,6 @@ var/bloodcrawl = 0 //0 No blood crawling, BLOODCRAWL for bloodcrawling, BLOODCRAWL_EAT for crawling+mob devour var/holder = null //The holder for blood crawling - var/ventcrawler = 0 //0 No vent crawling, 1 vent crawling in the nude, 2 vent crawling always var/limb_destroyer = 0 //1 Sets AI behavior that allows mobs to target and dismember limbs with their basic attack. var/mob_size = MOB_SIZE_HUMAN diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index 931f87eb7c..2b1c2de17a 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -17,10 +17,6 @@ if (isturf(T)) update_z(T.z) - //Vents - if(ventcrawler) - to_chat(src, "You can ventcrawl! Use alt+click on vents to quickly travel about the station.") - if(ranged_ability) ranged_ability.add_ranged_ability(src, "You currently have [ranged_ability] active!") if((vore_flags & VORE_INIT) && !(vore_flags & VOREPREF_INIT)) //Vore's been initialized, voreprefs haven't. If this triggers then that means that voreprefs failed to load due to the client being missing. diff --git a/code/modules/mob/living/simple_animal/friendly/bumbles.dm b/code/modules/mob/living/simple_animal/friendly/bumbles.dm index 0debb7b98c..6ed6d03b68 100644 --- a/code/modules/mob/living/simple_animal/friendly/bumbles.dm +++ b/code/modules/mob/living/simple_animal/friendly/bumbles.dm @@ -20,7 +20,6 @@ density = FALSE movement_type = FLYING pass_flags = PASSTABLE | PASSGRILLE | PASSMOB - ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY mob_biotypes = MOB_ORGANIC|MOB_BEAST gold_core_spawnable = FRIENDLY_SPAWN @@ -35,6 +34,7 @@ /mob/living/simple_animal/pet/bumbles/Initialize() . = ..() add_verb(src, /mob/living/proc/lay_down) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/pet/bumbles/ComponentInitialize() . = ..() diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/simple_animal/friendly/butterfly.dm index bf4f45e283..1e6afd6044 100644 --- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm +++ b/code/modules/mob/living/simple_animal/friendly/butterfly.dm @@ -20,7 +20,6 @@ density = FALSE movement_type = FLYING pass_flags = PASSTABLE | PASSGRILLE | PASSMOB - ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY mob_biotypes = MOB_ORGANIC|MOB_BUG gold_core_spawnable = FRIENDLY_SPAWN @@ -33,6 +32,7 @@ . = ..() var/newcolor = rgb(rand(0, 255), rand(0, 255), rand(0, 255)) add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/butterfly/bee_friendly() return TRUE //treaty signed at the Beeneeva convention diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 71ae3b4c03..4594d27ecd 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -14,7 +14,6 @@ speak_chance = 1 turns_per_move = 5 see_in_dark = 6 - ventcrawler = VENTCRAWLER_ALWAYS pass_flags = PASSTABLE mob_size = MOB_SIZE_SMALL mob_biotypes = MOB_ORGANIC|MOB_BEAST @@ -40,6 +39,7 @@ /mob/living/simple_animal/pet/cat/Initialize() . = ..() add_verb(src, /mob/living/proc/lay_down) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/pet/cat/ComponentInitialize() . = ..() diff --git a/code/modules/mob/living/simple_animal/friendly/cockroach.dm b/code/modules/mob/living/simple_animal/friendly/cockroach.dm index 384fa8146f..67119139fc 100644 --- a/code/modules/mob/living/simple_animal/friendly/cockroach.dm +++ b/code/modules/mob/living/simple_animal/friendly/cockroach.dm @@ -22,7 +22,6 @@ response_harm_simple = "splat" speak_emote = list("chitters") density = FALSE - ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY gold_core_spawnable = FRIENDLY_SPAWN verb_say = "chitters" @@ -32,6 +31,10 @@ var/squish_chance = 50 del_on_death = 1 +/mob/living/simple_animal/cockroach/Initialize() + . = ..() + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/cockroach/death(gibbed) if(SSticker.mode && SSticker.mode.station_was_nuked) //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes. return diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index 7f3693f622..addbd493a5 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -21,12 +21,15 @@ stop_automated_movement = 1 friendly_verb_continuous = "pinches" friendly_verb_simple = "pinch" - ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY var/obj/item/inventory_head var/obj/item/inventory_mask gold_core_spawnable = FRIENDLY_SPAWN +/mob/living/simple_animal/crab/Initialize() + . = ..() + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/crab/BiologicalLife(seconds, times_fired) if(!(. = ..())) return diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index a8c0e7d207..e11facb4ba 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -28,7 +28,6 @@ unsuitable_atmos_damage = 0 wander = 0 speed = 0 - ventcrawler = VENTCRAWLER_ALWAYS healable = 0 density = FALSE pass_flags = PASSTABLE | PASSMOB @@ -101,6 +100,8 @@ for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) diag_hud.add_to_hud(src) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/drone/ComponentInitialize() . = ..() if(can_be_held) diff --git a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm index 55339a02fd..22dbdd3db7 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm @@ -114,7 +114,6 @@ harm_intent_damage = 5 density = TRUE speed = 1 - ventcrawler = VENTCRAWLER_NONE faction = list("neutral", "ratvar") speak_emote = list("clanks", "clinks", "clunks", "clangs") verb_ask = "requests" diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm index 54184310a8..0728484cea 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm @@ -110,7 +110,7 @@ to_chat(src, "Your onboard antivirus has initiated lockdown. Motor servos are impaired, ventilation access is denied, and your display reports that you are hacked to all nearby.") hacked = TRUE mind.special_role = "hacked drone" - ventcrawler = VENTCRAWLER_NONE //Again, balance + RemoveElement(/datum/element/ventcrawling) // balance speed = 1 //gotta go slow message_admins("[src] ([src.key]) became a hacked drone hellbent on [clockwork ? "serving Ratvar" : "destroying the station"]!") else @@ -125,7 +125,7 @@ to_chat(src, "Having been restored, your onboard antivirus reports the all-clear and you are able to perform all actions again.") hacked = FALSE mind.special_role = null - ventcrawler = initial(ventcrawler) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) speed = initial(speed) if(is_servant_of_ratvar(src)) remove_servant_of_ratvar(src, TRUE) diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 51e7ee6c03..81925d922f 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -241,7 +241,6 @@ attack_verb_simple = "kick" health = 3 maxHealth = 3 - ventcrawler = VENTCRAWLER_ALWAYS var/amount_grown = 0 pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY @@ -253,6 +252,7 @@ . = ..() pixel_x = rand(-6, 6) pixel_y = rand(0, 10) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/chick/BiologicalLife(seconds, times_fired) if(!(. = ..())) @@ -296,7 +296,6 @@ attack_verb_simple = "kick" health = 15 maxHealth = 15 - ventcrawler = VENTCRAWLER_ALWAYS var/eggsleft = 0 var/eggsFertile = TRUE var/body_color @@ -322,6 +321,8 @@ pixel_y = rand(0, 10) ++chicken_count + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/chicken/Destroy() --chicken_count return ..() @@ -392,7 +393,6 @@ attack_verb_simple = "kick" health = 25 maxHealth = 25 - ventcrawler = VENTCRAWLER_ALWAYS var/eggsleft = 0 var/eggsFertile = TRUE pass_flags = PASSTABLE | PASSMOB @@ -412,6 +412,8 @@ . = ..() ++kiwi_count + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/kiwi/BiologicalLife(seconds, times_fired) if(!(. = ..())) return @@ -473,7 +475,6 @@ attack_verb_simple = "kick" health = 10 maxHealth = 10 - ventcrawler = VENTCRAWLER_ALWAYS var/amount_grown = 0 pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY @@ -486,6 +487,8 @@ pixel_x = rand(-6, 6) pixel_y = rand(0, 10) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/babyKiwi/BiologicalLife(seconds, times_fired) if(!(. = ..())) return diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index b9ff99b677..fd0095bf87 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -18,7 +18,6 @@ response_disarm_simple = "shoo" response_harm_continuous = "stomps on" response_harm_simple = "stomp on" - ventcrawler = VENTCRAWLER_ALWAYS density = FALSE pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_SMALL @@ -31,6 +30,7 @@ /mob/living/simple_animal/hostile/lizard/ComponentInitialize() . = ..() AddElement(/datum/element/mob_holder, worn_state = "lizard", inv_slots = ITEM_SLOT_HEAD) //you can hold lizards now. + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/hostile/lizard/CanAttack(atom/the_target)//Can we actually attack a possible target? if(see_invisible < the_target.invisibility)//Target's invisible to us, forget it diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 51c903ee16..8348af43fa 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -22,7 +22,6 @@ response_harm_continuous = "splats" response_harm_simple = "splat" density = FALSE - ventcrawler = VENTCRAWLER_ALWAYS pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY mob_biotypes = MOB_ORGANIC|MOB_BEAST @@ -40,6 +39,7 @@ icon_state = "mouse_[body_color]" icon_living = "mouse_[body_color]" icon_dead = "mouse_[body_color]_dead" + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/mouse/proc/splat() src.health = 0 diff --git a/code/modules/mob/living/simple_animal/friendly/possum.dm b/code/modules/mob/living/simple_animal/friendly/possum.dm index 71fdbd1465..5e7ed572e2 100644 --- a/code/modules/mob/living/simple_animal/friendly/possum.dm +++ b/code/modules/mob/living/simple_animal/friendly/possum.dm @@ -22,12 +22,15 @@ response_harm_continuous = "stamps on" response_harm_simple = "stamp" density = FALSE - ventcrawler = VENTCRAWLER_ALWAYS pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_TINY mob_biotypes = MOB_ORGANIC|MOB_BEAST gold_core_spawnable = FRIENDLY_SPAWN +/mob/living/simple_animal/opossum/Initialize() + . = ..() + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/opossum/poppy name = "Poppy the Safety Possum" desc = "Safety first!" diff --git a/code/modules/mob/living/simple_animal/friendly/snake.dm b/code/modules/mob/living/simple_animal/friendly/snake.dm index 4d20b927a6..61c735c7c1 100644 --- a/code/modules/mob/living/simple_animal/friendly/snake.dm +++ b/code/modules/mob/living/simple_animal/friendly/snake.dm @@ -30,7 +30,6 @@ response_harm_continuous = "steps on" response_harm_simple = "step on" faction = list("hostile") - ventcrawler = VENTCRAWLER_ALWAYS density = FALSE pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_SMALL @@ -39,6 +38,9 @@ obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE +/mob/living/simple_animal/hostile/retaliate/poison/snake/Initialize() + . = ..() + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/hostile/retaliate/poison/snake/ListTargets(atom/the_target) . = oview(vision_range, targets_from) //get list of things in vision range diff --git a/code/modules/mob/living/simple_animal/hostile/banana_spider.dm b/code/modules/mob/living/simple_animal/hostile/banana_spider.dm index 259c0bc721..a88593ed74 100644 --- a/code/modules/mob/living/simple_animal/hostile/banana_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/banana_spider.dm @@ -22,7 +22,6 @@ speak_emote = list("chitters") mouse_opacity = 2 density = TRUE - ventcrawler = VENTCRAWLER_ALWAYS verb_say = "chitters" verb_ask = "chitters inquisitively" verb_exclaim = "chitters loudly" @@ -37,6 +36,8 @@ if(A) notify_ghosts("A banana spider has been created in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE, ignore_dnr_observers = TRUE) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/banana_spider/attack_ghost(mob/user) if(key) //please stop using src. without a good reason. return diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index bde5a19518..609a6d9420 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -44,7 +44,6 @@ var/busy = SPIDER_IDLE pass_flags = PASSTABLE move_to_delay = 6 - ventcrawler = VENTCRAWLER_ALWAYS attack_verb_continuous = "bites" attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' @@ -63,6 +62,8 @@ lay_web = new lay_web.Grant(src) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/hostile/poison/giant_spider/Destroy() QDEL_NULL(lay_web) return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 850beeb099..5e34d17bb2 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -20,11 +20,14 @@ obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE speak_emote = list("squeaks") - ventcrawler = VENTCRAWLER_ALWAYS var/datum/mind/origin var/egg_lain = 0 gold_core_spawnable = NO_SPAWN //are you sure about this?? // CITADEL CHANGE, Yes. +/mob/living/simple_animal/hostile/headcrab/Initialize() + . = ..() + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/hostile/headcrab/proc/Infect(mob/living/carbon/victim) var/obj/item/organ/body_egg/changeling_egg/egg = new(victim) egg.Insert(victim) diff --git a/code/modules/mob/living/simple_animal/hostile/killertomato.dm b/code/modules/mob/living/simple_animal/hostile/killertomato.dm index b86d5d87fc..d3d3dadd1e 100644 --- a/code/modules/mob/living/simple_animal/hostile/killertomato.dm +++ b/code/modules/mob/living/simple_animal/hostile/killertomato.dm @@ -22,10 +22,13 @@ attack_verb_continuous = "slams" attack_verb_simple = "slam" attack_sound = 'sound/weapons/punch1.ogg' - ventcrawler = VENTCRAWLER_ALWAYS faction = list("plants") atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 150 maxbodytemp = 500 gold_core_spawnable = HOSTILE_SPAWN + +/mob/living/simple_animal/hostile/killertomato/Initialize() + . = ..() + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index fa3a59a6b9..a584d34995 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -620,7 +620,6 @@ Difficulty: Very Hard density = FALSE movement_type = FLYING pass_flags = PASSTABLE | PASSGRILLE | PASSMOB - ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY gold_core_spawnable = HOSTILE_SPAWN verb_say = "warps" @@ -648,6 +647,7 @@ Difficulty: Very Hard remove_verb(src, /mob/verb/me_verb) var/datum/atom_hud/medsensor = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] medsensor.add_hud_to(src) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/hostile/lightgeist/AttackingTarget() . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm index 0ccc4525c7..e35220a920 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm @@ -27,7 +27,6 @@ friendly_verb_continuous = "pinches" friendly_verb_simple = "pinch" a_intent = INTENT_HELP - ventcrawler = VENTCRAWLER_ALWAYS gold_core_spawnable = FRIENDLY_SPAWN stat_attack = UNCONSCIOUS gender = NEUTER @@ -50,6 +49,7 @@ /mob/living/simple_animal/hostile/asteroid/gutlunch/Initialize() udder = new() . = ..() + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/hostile/asteroid/gutlunch/CanAttack(atom/the_target) // Gutlunch-specific version of CanAttack to handle stupid stat_exclusive = true crap so we don't have to do it for literally every single simple_animal/hostile except the two that spawn in lavaland if(isturf(the_target) || !the_target || the_target.type == /atom/movable/lighting_object) // bail out on invalids diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index 9101430ccc..f41746ea69 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -28,7 +28,6 @@ stat_attack = DEAD mouse_opacity = MOUSE_OPACITY_ICON speed = 1 - ventcrawler = VENTCRAWLER_ALWAYS robust_searching = 1 unique_name = 1 speak_emote = list("squeaks") @@ -41,6 +40,10 @@ var/static/mutable_appearance/cap_living //Where we store our cap icons so we dont generate them constantly to update our icon var/static/mutable_appearance/cap_dead +/mob/living/simple_animal/hostile/mushroom/Initialize() + . = ..() + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/hostile/mushroom/examine(mob/user) . = ..() if(health >= maxHealth) diff --git a/code/modules/mob/living/simple_animal/hostile/regalrat.dm b/code/modules/mob/living/simple_animal/hostile/regalrat.dm index 77b2d4268a..77731f0ea4 100644 --- a/code/modules/mob/living/simple_animal/hostile/regalrat.dm +++ b/code/modules/mob/living/simple_animal/hostile/regalrat.dm @@ -23,7 +23,6 @@ attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/weapons/punch1.ogg' - ventcrawler = VENTCRAWLER_ALWAYS unique_name = TRUE faction = list("rat") var/datum/action/cooldown/coffer @@ -42,6 +41,8 @@ key = C.key notify_ghosts("All rise for the rat king, ascendant to the throne in \the [get_area(src)].", source = src, action = NOTIFY_ORBIT, flashwindow = FALSE) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/hostile/regalrat/handle_automated_action() if(prob(20)) riot.Trigger() @@ -175,7 +176,6 @@ health = 15 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 1) density = FALSE - ventcrawler = VENTCRAWLER_ALWAYS pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY mob_biotypes = MOB_ORGANIC|MOB_BEAST @@ -185,6 +185,7 @@ . = ..() SSmobs.cheeserats += src AddComponent(/datum/component/swarming) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/hostile/rat/Destroy() SSmobs.cheeserats -= src diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm index 9045ccef51..cb1ee6c6f6 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm @@ -30,7 +30,6 @@ attack_sound = 'sound/weapons/bite.ogg' obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE - ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY movement_type = FLYING speak_emote = list("squeaks") @@ -38,11 +37,14 @@ var/min_oxy = 0 var/max_tox = 0 - //Space bats need no air to fly in. atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 +/mob/living/simple_animal/hostile/retaliate/bat/Initialize() + . = ..() + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/hostile/retaliate/bat/secbat name = "Security Bat" icon_state = "secbat" diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm index dec2159dc0..96418686d3 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm @@ -137,7 +137,6 @@ emote_see = list("honks", "sweats", "jiggles", "contemplates its existence") speak_chance = 5 dextrous = TRUE - ventcrawler = VENTCRAWLER_ALWAYS maxHealth = 140 health = 140 speed = -5 @@ -147,6 +146,10 @@ obj_damage = 5 loot = list(/obj/item/clothing/suit/hooded/bloated_human, /obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) +/mob/living/simple_animal/hostile/retaliate/clown/fleshclown/Initialize() + . = ..() + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/hostile/retaliate/clown/longface name = "Longface" desc = "Often found walking into the bar." diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm index 8424a0a576..5953de72ad 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm @@ -22,7 +22,6 @@ response_harm_continuous = "splats" response_harm_simple = "splat" density = FALSE - ventcrawler = VENTCRAWLER_ALWAYS faction = list("hostile") attack_sound = 'sound/effects/reee.ogg' butcher_results = list(/obj/item/reagent_containers/food/snacks/nugget = 1) @@ -40,6 +39,7 @@ icon_living = "rare_frog" icon_dead = "rare_frog_dead" butcher_results = list(/obj/item/reagent_containers/food/snacks/nugget = 5) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/hostile/retaliate/frog/Crossed(AM as mob|obj) if(!stat && isliving(AM)) diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 1f45e57718..d5b9fa5f68 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -4,7 +4,6 @@ icon_state = "grey baby slime" pass_flags = PASSTABLE mob_size = MOB_SIZE_SMALL - ventcrawler = VENTCRAWLER_ALWAYS gender = NEUTER var/is_adult = 0 var/docile = 0 @@ -108,6 +107,8 @@ AddComponent(/datum/component/footstep, FOOTSTEP_MOB_SLIME, 7.5) set_nutrition(rand(650, 800)) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + /mob/living/simple_animal/slime/Destroy() for (var/A in actions) var/datum/action/AC = A diff --git a/code/modules/mob/living/ventcrawling.dm b/code/modules/mob/living/ventcrawling.dm index 4c00fd0033..06c75f9b8e 100644 --- a/code/modules/mob/living/ventcrawling.dm +++ b/code/modules/mob/living/ventcrawling.dm @@ -5,7 +5,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, typecacheof(list( //VENTCRAWLING -/mob/living/proc/handle_ventcrawl(atom/A) +/mob/living/proc/handle_ventcrawl(atom/A, ventcrawler) if(!ventcrawler || !Adjacent(A)) return . = TRUE //return value to stop the client from being shown the turf contents stat tab on alt-click. @@ -59,10 +59,15 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, typecacheof(list( if(!client) return - if(iscarbon(src) && ventcrawler == VENTCRAWLER_NUDE) - if(length(get_equipped_items(include_pockets = TRUE)) || get_num_held_items()) - to_chat(src, "You can't crawl around in the ventilation ducts with items!") - return + if(iscarbon(src)) + switch(ventcrawler) + if(VENTCRAWLER_NUDE) + if(length(get_equipped_items(include_pockets = TRUE)) || get_num_held_items()) + to_chat(src, "You can't crawl around in the ventilation ducts with items!") + return + if(VENTCRAWLER_IMPLANT) + if(getBackSlot() || getBeltSlot() || get_num_held_items()) + to_chat(src, "You can't crawl around in the ventilation ducts with what you have equipped!") visible_message("[src] scrambles into the ventilation ducts!","You climb into the ventilation ducts.") forceMove(vent_found) diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index b106005a15..ef3a053027 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -141,7 +141,7 @@ update_icon() /obj/machinery/disposal/proc/can_stuff_mob_in(mob/living/target, mob/living/user, pushing = FALSE) - if(!pushing && !iscarbon(user) && !user.ventcrawler) //only carbon and ventcrawlers can climb into disposal by themselves. + if(!pushing && !iscarbon(user) && !(SEND_SIGNAL(user, COMSIG_CHECK_VENTCRAWL))) //only carbon and ventcrawlers can climb into disposal by themselves. if(iscyborg(user)) var/mob/living/silicon/robot/borg = user if (!borg.module || !borg.module.canDispose) diff --git a/tgstation.dme b/tgstation.dme index bac0ffbdd3..4d4274bf54 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -609,6 +609,7 @@ #include "code\datums\elements\tactical.dm" #include "code\datums\elements\update_icon_blocker.dm" #include "code\datums\elements\update_icon_updates_onmob.dm" +#include "code\datums\elements\ventcrawling.dm" #include "code\datums\elements\wuv.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" From e7a2690db19534f2b71c039c1d6873eeb6bae652 Mon Sep 17 00:00:00 2001 From: raspy-on-osu Date: Sat, 26 Dec 2020 06:17:11 -0500 Subject: [PATCH 02/75] fixes UnregisterSignal to include COMSIG_CHECK_VENTCRAWL --- code/datums/elements/ventcrawling.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/elements/ventcrawling.dm b/code/datums/elements/ventcrawling.dm index f1429b94fd..4af3a085ef 100644 --- a/code/datums/elements/ventcrawling.dm +++ b/code/datums/elements/ventcrawling.dm @@ -18,7 +18,7 @@ /datum/element/ventcrawling/Detach(datum/target) . = ..() - UnregisterSignal(target, COMSIG_HANDLE_VENTCRAWL) + UnregisterSignal(target, list(COMSIG_HANDLE_VENTCRAWL, COMSIG_CHECK_VENTCRAWL)) /datum/element/ventcrawling/proc/handle_ventcrawl(datum/target,atom/A) var/mob/living/person = target From c8831b622e3ef9154cf1b2a780e3bca4d0660aa9 Mon Sep 17 00:00:00 2001 From: raspy-on-osu Date: Sun, 27 Dec 2020 01:13:35 -0500 Subject: [PATCH 03/75] fixes abductor ventcrawl gland to no longer have a duration --- code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm b/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm index a0ee2a9bc3..c35016cf2e 100644 --- a/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm +++ b/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm @@ -9,4 +9,4 @@ /obj/item/organ/heart/gland/ventcrawling/activate() to_chat(owner, "You feel very stretchy.") - owner.AddElement(/datum/element/ventcrawling, duration = mind_control_duration, given_tier = VENTCRAWLER_ALWAYS) + owner.AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) From 3738f09ca044a1bdeeaadbfae01d9e6021d2dd00 Mon Sep 17 00:00:00 2001 From: raspy-on-osu Date: Sun, 27 Dec 2020 02:20:19 -0500 Subject: [PATCH 04/75] removes setup for ventcrawl implant in case of redundancy --- code/__DEFINES/mobs.dm | 3 +-- code/modules/mob/living/ventcrawling.dm | 13 ++++--------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 6604120d27..cf2a8a9477 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -31,8 +31,7 @@ // Ventcrawling defines #define VENTCRAWLER_NONE 0 #define VENTCRAWLER_NUDE 1 -#define VENTCRAWLER_IMPLANT 2 -#define VENTCRAWLER_ALWAYS 3 +#define VENTCRAWLER_ALWAYS 2 // Bloodcrawling defines #define BLOODCRAWL 1 diff --git a/code/modules/mob/living/ventcrawling.dm b/code/modules/mob/living/ventcrawling.dm index 06c75f9b8e..9ade9f097f 100644 --- a/code/modules/mob/living/ventcrawling.dm +++ b/code/modules/mob/living/ventcrawling.dm @@ -59,15 +59,10 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, typecacheof(list( if(!client) return - if(iscarbon(src)) - switch(ventcrawler) - if(VENTCRAWLER_NUDE) - if(length(get_equipped_items(include_pockets = TRUE)) || get_num_held_items()) - to_chat(src, "You can't crawl around in the ventilation ducts with items!") - return - if(VENTCRAWLER_IMPLANT) - if(getBackSlot() || getBeltSlot() || get_num_held_items()) - to_chat(src, "You can't crawl around in the ventilation ducts with what you have equipped!") + if(iscarbon(src) && ventcrawler==VENTCRAWLER_NUDE) + if(length(get_equipped_items(include_pockets = TRUE)) || get_num_held_items()) + to_chat(src, "You can't crawl around in the ventilation ducts with items!") + return visible_message("[src] scrambles into the ventilation ducts!","You climb into the ventilation ducts.") forceMove(vent_found) From 13b223d56d2763f587e2f00a5341394bed0ab758 Mon Sep 17 00:00:00 2001 From: raspy-on-osu Date: Sun, 27 Dec 2020 02:23:20 -0500 Subject: [PATCH 05/75] removes artifact of extra spaces in ventcrawling defines from previous commit --- code/__DEFINES/mobs.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index cf2a8a9477..153a82ad5e 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -29,9 +29,9 @@ #define MOB_SIZE_LARGE 3 // Ventcrawling defines -#define VENTCRAWLER_NONE 0 -#define VENTCRAWLER_NUDE 1 -#define VENTCRAWLER_ALWAYS 2 +#define VENTCRAWLER_NONE 0 +#define VENTCRAWLER_NUDE 1 +#define VENTCRAWLER_ALWAYS 2 // Bloodcrawling defines #define BLOODCRAWL 1 From 367bcdc5684b137a815f3c9bf0863ad3b488f648 Mon Sep 17 00:00:00 2001 From: raspy-on-osu Date: Sun, 27 Dec 2020 02:26:13 -0500 Subject: [PATCH 06/75] i think it's ready now (why did i put src. here) --- code/modules/antagonists/swarmer/swarmer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index fb8f4c5f07..d1bdac7e05 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -111,7 +111,7 @@ remove_verb(src, /mob/living/verb/pulled) for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) diag_hud.add_to_hud(src) - src.AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/hostile/swarmer/med_hud_set_health() var/image/holder = hud_list[DIAG_HUD] From d5e99e9cefd457e0fabdc1725f6f32a83c1bcfd8 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 13 Jan 2021 05:56:10 +0200 Subject: [PATCH 09/75] TESTING --- code/game/atoms_movable.dm | 6 ++--- code/game/objects/items.dm | 17 ++++++++++++- code/modules/antagonists/revenant/revenant.dm | 24 +++++++++++++------ 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 4715c3bed3..c9d471e82a 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -492,13 +492,13 @@ return TRUE //TODO: Better floating -/atom/movable/proc/float(on) +/atom/movable/proc/float(on, float_height) if(throwing) return if(on && (!(movement_type & FLOATING) || floating_need_update)) - animate(src, pixel_y = pixel_y + 2, time = 10, loop = -1) + animate(src, pixel_y = pixel_y + 2 + float_height, time = 10, loop = -1) sleep(10) - animate(src, pixel_y = pixel_y - 2, time = 10, loop = -1) + animate(src, pixel_y = pixel_y - 2 - float_height, time = 10, loop = -1) if(!(movement_type & FLOATING)) setMovetype(movement_type | FLOATING) else if (!on && movement_type & FLOATING) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 1c75f1e533..dc84006c2d 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -11,7 +11,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb name = "item" icon = 'icons/obj/items_and_weapons.dmi' blocks_emissive = EMISSIVE_BLOCK_GENERIC - + attack_hand_speed = 0 attack_hand_is_action = FALSE attack_hand_unwieldlyness = 0 @@ -467,6 +467,21 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb melee_attack_chain(usr, over) usr.FlushCurrentAction() return TRUE //returning TRUE as a "is this overridden?" flag + if(isrevenant(usr)) + var/mob/living/simple_animal/revenant/spooker = usr + if(!anchored && !spooker.telekinesis_cooldown) + spooker.change_essence_amount(-5, FALSE, "telekinesis") + spooker.stun(10) + spooker.reveal(20) + spooker.telekinesis_cooldown = TRUE + float(TRUE, 2) + sleep(10) + throw_at(src_location) + new /obj/effect/temp_visual/telekinesis(get_turf(src)) + addtimer(CALLBACK(src, /atom/movable.proc/float, FALSE), 2) + addtimer(CALLBACK(spooker, /mob/living/simple_animal/revenant.proc/telekinesis_cooldown_end), 30) + return + if(!Adjacent(usr) || !over.Adjacent(usr)) return // should stop you from dragging through windows diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index f5ebcffe35..1a45663ff7 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -72,6 +72,7 @@ var/list/drained_mobs = list() //Cannot harvest the same mob twice var/perfectsouls = 0 //How many perfect, regen-cap increasing souls the revenant has. //TODO, add objective for getting a perfect soul(s?) var/generated_objectives_and_spells = FALSE + var/telekinesis_cooldown /mob/living/simple_animal/revenant/Initialize(mapload) . = ..() @@ -93,13 +94,16 @@ /mob/living/simple_animal/revenant/Login() ..() - to_chat(src, "You are a revenant.") - to_chat(src, "Your formerly mundane spirit has been infused with alien energies and empowered into a revenant.") - to_chat(src, "You are not dead, not alive, but somewhere in between. You are capable of limited interaction with both worlds.") - to_chat(src, "You are invincible and invisible to everyone but other ghosts. Most abilities will reveal you, rendering you vulnerable.") - to_chat(src, "To function, you are to drain the life essence from humans. This essence is a resource, as well as your health, and will power all of your abilities.") - to_chat(src, "You do not remember anything of your past lives, nor will you remember anything about this one after your death.") - to_chat(src, "Be sure to read the wiki page to learn more.") + var/revenant_greet + revenant_greet += "You are a revenant." + revenant_greet += "Your formerly mundane spirit has been infused with alien energies and empowered into a revenant." + revenant_greet += "You are not dead, not alive, but somewhere in between. You are capable of limited interaction with both worlds." + revenant_greet += "You are invincible and invisible to everyone but other ghosts. Most abilities will reveal you, rendering you vulnerable." + revenant_greet += "To function, you are to drain the life essence from humans. This essence is a resource, as well as your health, and will power all of your abilities." + revenant_greet += "You do not remember anything of your past lives, nor will you remember anything about this one after your death." + revenant_greet += "Be sure to read the wiki page to learn more." + revenant_greet += "You are also able to telekinetically throw objects by clickdragging them." + to_chat(src, revenant_greet) if(!generated_objectives_and_spells) generated_objectives_and_spells = TRUE mind.assigned_role = ROLE_REVENANT @@ -317,6 +321,12 @@ to_chat(src, "Lost [essence_amt]E[source ? " from [source]":""].") return 1 +/mob/living/simple_animal/revenant/proc/telekinesis_cooldown_end() + if(!telekinesis_cooldown) + CRASH("telekinesis_cooldown_end ran when telekinesis_cooldown on [src] was false") + else + telekinesis_cooldown = FALSE + /mob/living/simple_animal/revenant/proc/death_reset() revealed = FALSE unreveal_time = 0 From 2f619ffc4e30d06093b6a5199e60b467eb98b4b0 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 13 Jan 2021 10:27:10 +0200 Subject: [PATCH 10/75] Traits --- code/__DEFINES/traits.dm | 1 + code/_globalvars/traits.dm | 3 ++- code/game/objects/items.dm | 41 +++++++++++++++++++++++++++++++++----- 3 files changed, 39 insertions(+), 6 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 2275c4b90b..b7750556d5 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -253,6 +253,7 @@ // item traits #define TRAIT_NODROP "nodrop" +#define TRAIT_SPOOKY_THROW "spooky_throw" // common trait sources #define TRAIT_GENERIC "generic" diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index 4e593ba904..f376ba50d7 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -130,7 +130,8 @@ GLOBAL_LIST_INIT(traits_by_type, list( ), /obj/item = list( "TRAIT_NODROP" = TRAIT_NODROP, - "TRAIT_NO_TELEPORT" = TRAIT_NO_TELEPORT + "TRAIT_NO_TELEPORT" = TRAIT_NO_TELEPORT, + "TRAIT_SPOOKY_THROW" = TRAIT_SPOOKY_THROW ) )) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index dc84006c2d..bf53947ad6 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -454,6 +454,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item/MouseDrop(atom/over, src_location, over_location, src_control, over_control, params) //Copypaste of /atom/MouseDrop() since this requires code in a very specific spot if(!usr || !over) return + message_admins("[src], [usr], [over], [src_location], [over_location], [src_control], [over_control], [params]") if(SEND_SIGNAL(src, COMSIG_MOUSEDROP_ONTO, over, usr) & COMPONENT_NO_MOUSEDROP) //Whatever is receiving will verify themselves for adjacency. return if(over == src) @@ -472,14 +473,19 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb if(!anchored && !spooker.telekinesis_cooldown) spooker.change_essence_amount(-5, FALSE, "telekinesis") spooker.stun(10) - spooker.reveal(20) + spooker.reveal(30) spooker.telekinesis_cooldown = TRUE float(TRUE, 2) sleep(10) - throw_at(src_location) - new /obj/effect/temp_visual/telekinesis(get_turf(src)) + safe_throw_at(over, 10, 2) + ADD_TRAIT(src, TRAIT_SPOOKY_THROW) + src.DoRevenantThrowEffects() + var/obj/effect/temp_visual/telekinesis/T = new(get_turf(src)) + T.color = purple addtimer(CALLBACK(src, /atom/movable.proc/float, FALSE), 2) - addtimer(CALLBACK(spooker, /mob/living/simple_animal/revenant.proc/telekinesis_cooldown_end), 30) + addtimer(CALLBACK(spooker, /mob/living/simple_animal/revenant.proc/telekinesis_cooldown_end), 50) + sleep(2) + REMOVE_TRAIT(src, TRAIT_SPOOKY_THROW) return if(!Adjacent(usr) || !over.Adjacent(usr)) @@ -487,7 +493,32 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb over.MouseDrop_T(src,usr) return - +/obj/item/proc/DoRevenantThrowEffects() + var/hijink_to_do + switch(istype) + if(obj/item/gun) + hijink_to_do = "shoot" + if(obj/item/storage) + if(GetComponent(datum/component/storage)) + hijink_to_do = "scatter items" + if(obj/item/card/id) + hijink_to_do = "flash id" + if(obj/item/weldingtool) + hijink_to_do = "welder toggle" + if(obj/item/tank) + hijink_to_do = "toggle tank" + if(obj/item/paper) + hijink_to_do = "paper into plane" + if(obj/item/paper_bin) + hijink_to_do = "paperbin scatter" + if(obj/item/assembly/flash) + hijink_to_do = "flash randomly" + if(obj/item/flashlight) + hijinks_to_do = "toggle flashlight" + if(obj/item/grenade/flashbang) + + if(obj/item/grenade/stingbang) + while(HAS_TRAIT(src, TRAIT_SPOOKY_THROW)) // called after an item is placed in an equipment slot // user is mob that equipped it // slot uses the slot_X defines found in setup.dm From 5e6ace26687e71ddd0d6e12f928380c0dc505b6f Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Thu, 14 Jan 2021 20:49:46 -0600 Subject: [PATCH 11/75] bruh --- .../mob/living/simple_animal/hostile/mining_mobs/hivelord.dm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 11ce4f9214..ae0f5ea3ca 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -398,7 +398,6 @@ uniform = /obj/item/clothing/under/color/grey belt = /obj/item/tank/internals/emergency_oxygen mask = /obj/item/clothing/mask/gas - ears = /obj/item/radio/headset gloves = /obj/item/clothing/gloves/color/fyellow id = /obj/item/card/id/silver/reaper //looks cool and has a fancy name but only a 1% chance if(prob(99)) @@ -412,7 +411,7 @@ back = /obj/item/spear else if(prob(80)) //Now they dont always have a backpack back = /obj/item/storage/backpack - backpack_contents = list(/obj/item/stack/cable_coil = 1, /obj/item/assembly/flash = 1, /obj/item/storage/fancy/donut_box = 1, /obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 1, /obj/item/lighter = 1) + backpack_contents = list(/obj/item/stack/cable_coil = 1, /obj/item/storage/fancy/donut_box = 1, /obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 1, /obj/item/lighter = 1) if(prob(90)) r_pocket = /obj/item/kitchen/knife if(prob(60)) @@ -423,7 +422,6 @@ suit = /obj/item/clothing/suit/hooded/bee_costume shoes = /obj/item/clothing/shoes/sneakers/yellow gloves = /obj/item/clothing/gloves/color/yellow - ears = /obj/item/radio/headset belt = /obj/item/storage/belt/fannypack/yellow id_job = "Assisant" id = /obj/item/card/id From e006587f4b9f0767d77f9c29d6c9f05c6f63d92e Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Tue, 19 Jan 2021 17:24:33 -0600 Subject: [PATCH 12/75] today i will not test my code --- code/modules/hydroponics/hydroponics.dm | 35 +++++++++++++++++-- .../mob/living/carbon/human/species.dm | 2 ++ .../carbon/human/species_types/podpeople.dm | 5 +++ .../projectiles/ammunition/energy/special.dm | 5 +++ .../projectiles/guns/energy/special.dm | 2 +- .../projectiles/projectile/special/floral.dm | 12 +++++-- 6 files changed, 56 insertions(+), 5 deletions(-) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 8467d00124..a164013c65 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -92,6 +92,11 @@ return BULLET_ACT_HIT else if(istype(Proj , /obj/item/projectile/energy/florayield)) return myseed.bullet_act(Proj) + else if(istype(Proj , /obj/item/projectile/energy/florarevolution)) + if(myseed) + if(myseed.mutatelist.len > 0) + myseed.instability = (myseed.instability/2) + mutatespecie() else return ..() @@ -384,7 +389,6 @@ /obj/machinery/hydroponics/proc/hardmutate() mutate(4, 10, 2, 4, 50, 4, 10, 3) - /obj/machinery/hydroponics/proc/mutatespecie() // Mutagent produced a new plant! if(!myseed || dead) return @@ -600,7 +604,34 @@ desc = initial(desc) weedlevel = 0 //Has a side effect of cleaning up those nasty weeds update_icon() - + else if(istype(O, /obj/item/gun/energy/floragun)) + var/obj/item/gun/energy/floragun/flowergun = O + if(flowergun.cell.charge < flowergun.cell.maxcharge) + to_chat(user, "[flowergun] must be fully charged to lock in a mutation!") + return + if(!myseed) + to_chat(user, "[src] is empty!") + return + if(myseed.endurance <= 20) + to_chat(user, "[myseed.plantname] isn't hardy enough to sequence it's mutation!") + return + if(!myseed.mutatelist) + to_chat(user, "[myseed.plantname] has nothing else to mutate into!") + return + else + var/list/fresh_mut_list = list() + for(var/muties in myseed.mutatelist) + var/obj/item/seeds/another_mut = new muties + fresh_mut_list[another_mut.plantname] = muties + var/locked_mutation = (input(user, "Select a mutation to lock.", "Plant Mutation Locks") as null|anything in sortList(fresh_mut_list)) + if(!user.canUseTopic(src, BE_CLOSE) || !locked_mutation) + return + myseed.mutatelist = list(fresh_mut_list[locked_mutation]) + myseed.endurance = (myseed.endurance/2) + flowergun.cell.use(flowergun.cell.charge) + flowergun.update_icon() + to_chat(user, "[myseed.plantname]'s mutation was set to [locked_mutation], depleting [flowergun]'s cell!") + return else return ..() diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 94d7e84c6b..c61b9fb20d 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1987,6 +1987,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) H.show_message("The radiation beam dissipates harmlessly through your body.") if(/obj/item/projectile/energy/florayield) H.show_message("The radiation beam dissipates harmlessly through your body.") + if(/obj/item/projectile/energy/florarevolution) + H.show_message("The radiation beam dissipates harmlessly through your body.") /datum/species/proc/bullet_act(obj/item/projectile/P, mob/living/carbon/human/H) // called before a projectile hit diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index c25c5efb6c..697c3db35e 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -64,6 +64,11 @@ H.show_message("The radiation beam singes you!") if(/obj/item/projectile/energy/florayield) H.adjust_nutrition(30, NUTRITION_LEVEL_FULL) + if(/obj/item/projectile/energy/florarevolution) + H.show_message("The radiation beam leaves you feeling disoriented!") + H.Dizzy(15) + H.emote("flip") + H.emote("spin") /datum/species/pod/pseudo_weak name = "Anthromorphic Plant" diff --git a/code/modules/projectiles/ammunition/energy/special.dm b/code/modules/projectiles/ammunition/energy/special.dm index fc4207d084..2bf7c06ec6 100644 --- a/code/modules/projectiles/ammunition/energy/special.dm +++ b/code/modules/projectiles/ammunition/energy/special.dm @@ -24,6 +24,11 @@ projectile_type = /obj/item/projectile/energy/floramut select_name = "mutation" +/obj/item/ammo_casing/energy/flora/revolution + projectile_type = /obj/item/projectile/energy/florarevolution + select_name = "revolution" + e_cost = 250 + /obj/item/ammo_casing/energy/temp projectile_type = /obj/item/projectile/temp select_name = "freeze" diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index ae6050a68e..f965100846 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -45,7 +45,7 @@ desc = "A tool that discharges controlled radiation which induces mutation in plant cells." icon_state = "flora" item_state = "gun" - ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut) + ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut, /obj/item/ammo_casing/energy/flora/revolution) modifystate = 1 ammo_x_offset = 1 selfcharge = EGUN_SELFCHARGE diff --git a/code/modules/projectiles/projectile/special/floral.dm b/code/modules/projectiles/projectile/special/floral.dm index c3fe1f0fcb..b855322f09 100644 --- a/code/modules/projectiles/projectile/special/floral.dm +++ b/code/modules/projectiles/projectile/special/floral.dm @@ -2,7 +2,7 @@ name = "alpha somatoray" icon_state = "energy" damage = 0 - damage_type = TOX + damage_type = TRUE nodamage = 1 flag = "energy" @@ -21,5 +21,13 @@ icon_state = "energy2" damage = 0 damage_type = TOX - nodamage = 1 + nodamage = TRUE + flag = "energy" + +/obj/item/projectile/energy/florarevolution + name = "gamma somatorary" + icon_state = "energy3" + damage = 0 + damage_type = TOX + nodamage = TRUE flag = "energy" From a8cb8b79c6a9e46bd3943e025791e7f353b9ae9f Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Tue, 19 Jan 2021 17:40:34 -0600 Subject: [PATCH 13/75] for one, dont forget the sprites, dumbass --- code/modules/hydroponics/hydroponics.dm | 2 +- .../research/designs/weapon_designs.dm | 3 +-- icons/obj/guns/energy.dmi | Bin 46197 -> 46267 bytes icons/obj/projectiles.dmi | Bin 131360 -> 132345 bytes 4 files changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index a164013c65..24f65756c8 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -613,7 +613,7 @@ to_chat(user, "[src] is empty!") return if(myseed.endurance <= 20) - to_chat(user, "[myseed.plantname] isn't hardy enough to sequence it's mutation!") + to_chat(user, "[myseed.plantname] isn't hardy enough to sequence its mutation!") return if(!myseed.mutatelist) to_chat(user, "[myseed.plantname] has nothing else to mutate into!") diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 8c934d39a9..11dd29a416 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -324,8 +324,7 @@ desc = "A tool that discharges controlled radiation which induces mutation in plant cells. Harmless to other organic life." id = "flora_gun" build_type = PROTOLATHE - materials = list(/datum/material/iron = 2000, /datum/material/glass = 500) - reagents_list = list(/datum/reagent/radium = 20) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 500, /datum/material/uranium = 2000) build_path = /obj/item/gun/energy/floragun category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_SCIENCE diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index 7e7e4a644b607733d27071d4eb12b8a07992b66b..158c95ee5d8098b27c2944493a2062422d631f6e 100644 GIT binary patch literal 46267 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≶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 F{vVpJzEc1I diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index 94568b8633457649e86cedb125ac1dd2c8ff705f..740c64b1dc98800b6b5aadfae7bb8668fffefbf7 100644 GIT binary patch literal 132345 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�-MEze zB&x8%ji){*#|2!#>X_p8X&kd;b+@OqH=44&dCeRAo8*QPb)1#ibp*xSI2>d_} z_Nrd6k@;TZEUj2Vx~9h4?+sFFv{L~P+RQJgQ8E_w0JmPfF<~e^ko#ou1*qfGq!|WP zR4|$9I@sQO)P7z=w;p>qjx?0T2MEj2APzzV{u}3#{>hLGLcr0{p6(~+u&g}4ZCu=P z&rr_ZW3NY4uX$Z0KK{d@4kp`S)9qp{!bRZyN;I)K|meYv#FVebgA;}=0k5{GN6dRkRwQa+^!zPg8i$21hlQH5^H=39^zqT8! zp?)MQs@P(ns!F2zS?zd9dXU?W)P3MfR<#cb{_mt;r909x@y%>QysZsq;w}Ua(owaX#e!cYB%Q3 zT6)XTQPy($osEyxU;`8+mRQb2k}ZGV|IBSu*k~|`f`@4t}SR|!3Sp(QYn4UdEBc0U!dRiW$4=NU+RaV&uP7HP^)odYs(;Zcy=X2S!U z?Uu>-)Dy)&$dG!+jbb?|e1njJzk>}4ECg5neNhW$qU{BY!iusfCyazX95^&DhZ}G$ z1^6jVFxkzAE2h%>=KUV+dbq&D^vcMaTPnq8-=Ny0{Q?`n=w~?K(zPw$yiOXA(q#3p z4Bo*q4+JjzzgJlW>UU7ZG7zio80e?nGfCAi&~%%4~x{99W24L{;&^rXOnaOS#T>E*Yq*4?#ZaxH48JbkwpKT1~kif%Yra zmI%luc2$tZu+gMT@MlA;6yhiMLm25H)r^O&KNr-nOAEB)1Aq4FDAp5Y+It+_^0nEN zb?xlz-tOX3#Xx|h;?hV>bpoK}zsqpLaE;xqXu$s@<5!!2qtjsh-;VDOUZBnzxoxEf z>Z`@?Ll_3rzIos;Od}@E-iZn8adl(-tG<1U!g`;7aQRl_7f>(D^C{Nrt8S^}L65HE zC~1u6&O}I9?Hx zFDd@%nvj;`HB}sG@?8u0KzhV4#&`R@M%HQyrQr52e~~!bOkg<-h2eY%TjmMG!x8ou zIrj=|o0SdTzqyPMq><0`RFsYusMQ9JO7JwZ)BjtOMndWhi{hACIDZMHbk9OoPB9D+ zapDMZeH~z|i#@8JGKU_>Kpm!#`4q0Q(GaszHF2l$6DVP$ljEU$*drI=eS(*Fu}TG& iPzm6FV+qclqgnVO2Li>{IwS$?@6`(prE&#};Qs?rRCI*^ From 4578f30001ca835a6a3b29293c24d6c6087ad05f Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Wed, 20 Jan 2021 05:54:38 +0100 Subject: [PATCH 14/75] brrt --- code/__DEFINES/antagonists.dm | 3 ++ .../eldritch_cult/eldritch_antag.dm | 29 +++++++++++++++++++ .../eldritch_cult/eldritch_items.dm | 11 +++++++ .../eldritch_cult/eldritch_knowledge.dm | 29 +++++++++++++++++-- 4 files changed, 70 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm index 68515426c3..e71243994d 100644 --- a/code/__DEFINES/antagonists.dm +++ b/code/__DEFINES/antagonists.dm @@ -69,6 +69,9 @@ #define LINGBLOOD_EXPLOSION_THRESHOLD (LINGBLOOD_DETECTION_THRESHOLD * LINGBLOOD_EXPLOSION_MULT) //Hey, important to note here: the explosion threshold is explicitly more than, rather than more than or equal to. This stops a single loud ability from triggering the explosion threshold. ///Heretics -- +GLOBAL_LIST_EMPTY(living_heart_cache) //A list of all living hearts in existance, for us to iterate through. + + #define IS_HERETIC(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic)) #define IS_HERETIC_MONSTER(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic_monster)) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm index ea226a3cb6..b59d6af61b 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm @@ -10,6 +10,8 @@ var/give_equipment = TRUE var/list/researched_knowledge = list() var/total_sacrifices = 0 + var/list/sac_targetted = list() //Which targets did living hearts give them, but they did not sac? + var/list/actually_sacced = list() //Which targets did they actually sac? var/ascended = FALSE /datum/antagonist/heretic/admin_add(datum/mind/new_owner,mob/admin) @@ -175,6 +177,17 @@ knowledge_message += "[EK.name]" parts += knowledge_message.Join(", ") + parts += "Targets assigned by living hearts, but not sacrificed:" + if(!sac_targetted.len) + parts += "None." + else + parts += sac_targetted.Join(",") + parts += "Sacrifices performed:" + if(!actually_sacced.len) + parts += "None!" + else + parts += actually_sacced.Join(",") + return parts.Join("
") //////////////// // Knowledge // @@ -213,6 +226,22 @@ if(ascended) . += 20 +/datum/antagonist/heretic/antag_panel() + var/list/parts = list() + parts += ..() + parts += "Targets currently assigned by living hearts (Can give a false negative if they stole someone elses living heart, check the other heretics if this is suspected to be the case):" + if(!sac_targetted.len) + parts += "None." + else + parts += sac_targetted.Join(",") + parts += "Targets actually sacrificed:" + if(!actually_sacced.len) + parts += "None." + else + parts += actually_sacced.Join(",") + return parts.Join("
") + + //////////////// // Objectives // //////////////// diff --git a/code/modules/antagonists/eldritch_cult/eldritch_items.dm b/code/modules/antagonists/eldritch_cult/eldritch_items.dm index da2c61ad16..fbf0740e50 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_items.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_items.dm @@ -6,6 +6,17 @@ w_class = WEIGHT_CLASS_SMALL ///Target var/mob/living/carbon/human/target + var/datum/antagonist/heretic/sac_targetter //The heretic who used this to acquire the current target - gets cleared when target gets sacrificed. + +/obj/item/living_heart/Initialize() + . = ..() + GLOB.living_heart_cache.Add(src) //Add is better than +=. + +/obj/item/living_heart/Destroy() + GLOB.living_heart_cache.Remove(src) + if(sac_targetter && target) + sac_targetter.sac_targetted.Remove(target.real_name) + return ..() /obj/item/living_heart/attack_self(mob/user) . = ..() diff --git a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm index e0189944e5..481ac08ea5 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm @@ -1,6 +1,6 @@ /** - * #Eldritch Knwoledge + * #Eldritch Knowledge * * Datum that makes eldritch cultist interesting. * @@ -252,6 +252,10 @@ LH.target = null var/datum/antagonist/heretic/EC = carbon_user.mind.has_antag_datum(/datum/antagonist/heretic) + EC.actually_sacced.Add(H.real_name) + if(LH.sac_targetter) + LH.sac_targetter.sac_targetted.Remove(H.real_name) + LH.sac_targetter = null EC.total_sacrifices++ for(var/X in carbon_user.get_all_gear()) if(!istype(X,/obj/item/forbidden_book)) @@ -265,8 +269,14 @@ var/datum/objective/A = new A.owner = user.mind var/list/targets = list() + var/list/target_blacklist = list() + for(var/obj/item/living_heart/CLH in GLOB.living_heart_cache) + if(!CLH || !CLH.target || !CLH.target.mind) + continue + target_blacklist.Add(CLH.target.mind) + for(var/i in 0 to 3) - var/datum/mind/targeted = A.find_target()//easy way, i dont feel like copy pasting that entire block of code + var/datum/mind/targeted = A.find_target(blacklist = target_blacklist)//easy way, i dont feel like copy pasting that entire block of code if(!targeted) break targets[targeted.current.real_name] = targeted.current @@ -274,9 +284,24 @@ if(!LH.target && targets.len) LH.target = pick(targets) //Tsk tsk, you can and will get another target if you want it or not. + + if(LH.target) + target_blacklist = list() + for(var/obj/item/living_heart/CLH in (GLOB.living_heart_cache - LH)) //Recreate blacklist, excluding ourselves. + if(!CLH || !CLH.target || !CLH.target.mind) + continue + target_blacklist.Add(CLH.target.mind) + if(LH.target.mind in target_blacklist) //Someone was faster, or you tried to cheese the system. + to_chat(user, "It seems you were too slow, and your target of choice has already been selected by another living heart!") + LH.target = null + qdel(A) if(LH.target) to_chat(user,"Your new target has been selected, go and sacrifice [LH.target.real_name]!") + var/datum/antagonist/heretic/EC = carbon_user.mind.has_antag_datum(/datum/antagonist/heretic) + LH.sac_targetter = EC + EC.sac_targetted.Add(LH.target.real_name) + else to_chat(user,"target could not be found for living heart.") From 7136f5cffb170f2ac621a14320d98f6a9005c740 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Wed, 20 Jan 2021 06:09:20 +0100 Subject: [PATCH 15/75] boop --- code/modules/antagonists/eldritch_cult/eldritch_antag.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm index b59d6af61b..1e43754477 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm @@ -229,7 +229,7 @@ /datum/antagonist/heretic/antag_panel() var/list/parts = list() parts += ..() - parts += "Targets currently assigned by living hearts (Can give a false negative if they stole someone elses living heart, check the other heretics if this is suspected to be the case):" + parts += "Targets currently assigned by living hearts (Can give a false negative if they stole someone elses living heart):" if(!sac_targetted.len) parts += "None." else @@ -239,7 +239,8 @@ parts += "None." else parts += actually_sacced.Join(",") - return parts.Join("
") + + return (parts.Join("
") + "
") //////////////// From 3737c52df802cb053ef432dce0c79d959c71cbed Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 20 Jan 2021 15:23:34 +0200 Subject: [PATCH 16/75] Funny actions --- code/controllers/subsystem/throwing.dm | 2 ++ code/game/objects/items.dm | 40 ++++++---------------- code/game/objects/items/candle.dm | 4 +++ code/game/objects/items/cigs_lighters.dm | 3 ++ code/game/objects/items/eightball.dm | 3 ++ code/game/objects/items/extinguisher.dm | 15 +++++--- code/game/objects/items/pinpointer.dm | 6 +++- code/game/objects/items/plushes.dm | 4 +++ code/game/objects/items/pneumaticCannon.dm | 40 ++++++++++++++++------ code/game/objects/items/stunbaton.dm | 3 ++ code/modules/paperwork/paper.dm | 10 ++++++ code/modules/projectiles/gun.dm | 32 +++++++++++------ 12 files changed, 107 insertions(+), 55 deletions(-) diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index 8c5abc5469..567eed9bf6 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -71,6 +71,8 @@ SUBSYSTEM_DEF(throwing) target = null thrower = null callback = null + if(HAS_TRAIT(thrownthing, TRAIT_SPOOKY_THROW) + REMOVE_TRAIT(thrownthing, TRAIT_SPOOKY_THROW) return ..() /datum/thrownthing/proc/tick() diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index bf53947ad6..846e49682f 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -475,17 +475,16 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb spooker.stun(10) spooker.reveal(30) spooker.telekinesis_cooldown = TRUE - float(TRUE, 2) + float(TRUE, 1) sleep(10) safe_throw_at(over, 10, 2) ADD_TRAIT(src, TRAIT_SPOOKY_THROW) - src.DoRevenantThrowEffects() + DoRevenantThrowEffects(over) + log_combat(usr, over, "spooky telekinesised at", src) var/obj/effect/temp_visual/telekinesis/T = new(get_turf(src)) T.color = purple addtimer(CALLBACK(src, /atom/movable.proc/float, FALSE), 2) addtimer(CALLBACK(spooker, /mob/living/simple_animal/revenant.proc/telekinesis_cooldown_end), 50) - sleep(2) - REMOVE_TRAIT(src, TRAIT_SPOOKY_THROW) return if(!Adjacent(usr) || !over.Adjacent(usr)) @@ -493,32 +492,13 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb over.MouseDrop_T(src,usr) return -/obj/item/proc/DoRevenantThrowEffects() - var/hijink_to_do - switch(istype) - if(obj/item/gun) - hijink_to_do = "shoot" - if(obj/item/storage) - if(GetComponent(datum/component/storage)) - hijink_to_do = "scatter items" - if(obj/item/card/id) - hijink_to_do = "flash id" - if(obj/item/weldingtool) - hijink_to_do = "welder toggle" - if(obj/item/tank) - hijink_to_do = "toggle tank" - if(obj/item/paper) - hijink_to_do = "paper into plane" - if(obj/item/paper_bin) - hijink_to_do = "paperbin scatter" - if(obj/item/assembly/flash) - hijink_to_do = "flash randomly" - if(obj/item/flashlight) - hijinks_to_do = "toggle flashlight" - if(obj/item/grenade/flashbang) - - if(obj/item/grenade/stingbang) - while(HAS_TRAIT(src, TRAIT_SPOOKY_THROW)) + +//Use this for effects you want to happen when a revenant throws itself, check the TRAIT_SPOOKY_THROW if you want to know if its still being thrown +/obj/item/proc/DoRevenantThrowEffects(atom/target) + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + if(STR) + + // called after an item is placed in an equipment slot // user is mob that equipped it // slot uses the slot_X defines found in setup.dm diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index a3366e714e..960e3ce499 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -82,4 +82,8 @@ /obj/item/candle/infinite/hugbox heats_space = FALSE +/obj/item/candle/DoRevenantThrowEffects(atom/target) + if(!infinite) + put_out_candle() + #undef CANDLE_LUMINOSITY diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index de32375642..a21c7780b2 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -136,6 +136,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM STOP_PROCESSING(SSobj, src) . = ..() +/obj/item/clothing/mask/cigarette/DoRevenantThrowEffects(atom/target) + attackby(src) + /obj/item/clothing/mask/cigarette/attackby(obj/item/W, mob/user, params) if(!lit && smoketime > 0) var/lighting_text = W.ignition_effect(src, user) diff --git a/code/game/objects/items/eightball.dm b/code/game/objects/items/eightball.dm index 0d5c9a22aa..39c8143ee9 100644 --- a/code/game/objects/items/eightball.dm +++ b/code/game/objects/items/eightball.dm @@ -46,6 +46,9 @@ if(.) new /obj/item/toy/eightball/haunted(loc) +/obj/item/toy/eightball/DoRevenantThrowEffects(atom/target) + MakeHaunted() + /obj/item/toy/eightball/attack_self(mob/user) if(shaking) return diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index b1f51f608d..c1579dfe15 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -235,16 +235,23 @@ return EmptyExtinguisher(user) -/obj/item/extinguisher/proc/EmptyExtinguisher(var/mob/user) - if(loc == user && reagents.total_volume) +/obj/item/extinguisher/DoRevenantThrowEffects(atom/target) + EmptyExtinguisher() + +/obj/item/extinguisher/proc/EmptyExtinguisher(mob/user) + if(!reagents.total_volume) + return + if(loc == user || !user) reagents.clear_reagents() var/turf/T = get_turf(loc) if(isopenturf(T)) var/turf/open/theturf = T theturf.MakeSlippery(TURF_WET_WATER, min_wet_time = 10 SECONDS, wet_time_to_add = 5 SECONDS) - - user.visible_message("[user] empties out \the [src] onto the floor using the release valve.", "You quietly empty out \the [src] by using its release valve.") + if(user) + user.visible_message("[user] empties out \the [src] onto the floor using the release valve.", "You quietly empty out \the [src] by using its release valve.") + else + user.visible_message("The release valve of \the [src] suddenly opens and sprays it's contents on the floor!") //firebot assembly /obj/item/extinguisher/attackby(obj/O, mob/user, params) diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index abd9cec950..81bae3d54b 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -30,9 +30,13 @@ target = null return ..() +/obj/item/pinpointer/DoRevenantThrowEffects(atom/target) + attack_self() + /obj/item/pinpointer/attack_self(mob/living/user) active = !active - user.visible_message("[user] [active ? "" : "de"]activates [user.p_their()] pinpointer.", "You [active ? "" : "de"]activate your pinpointer.") + if(user) + user.visible_message("[user] [active ? "" : "de"]activates [user.p_their()] pinpointer.", "You [active ? "" : "de"]activate your pinpointer.") playsound(src, 'sound/items/screwdriver2.ogg', 50, 1) if(active) START_PROCESSING(SSfastprocess, src) diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index d1174cded7..3470d5e2c8 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -45,6 +45,10 @@ return set_snowflake_from_config(id) +/obj/item/toy/plush/DoRevenantThrowEffects(atom/target) + var/datum/component/squeak/squeaker = GetComponent(datum/component/squeak) + squeaker.do_play_squeak(TRUE) + /obj/item/toy/plush/Initialize(mapload, set_snowflake_id) . = ..() AddComponent(/datum/component/squeak, squeak_override) diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index 23be8cbb9a..6cd00f3434 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -43,6 +43,14 @@ /obj/item/pneumatic_cannon/proc/init_charge() //wrapper so it can be vv'd easier START_PROCESSING(SSobj, src) +/obj/item/pneumatic_cannon/DoRevenantThrowEffects(atom/target) + var/target + var/list/possible_targets = range(3,src) + target = pick(possible_targets) + if(target) + discharge = TRUE + Fire(null, target) + /obj/item/pneumatic_cannon/process() if(++charge_tick >= charge_ticks && charge_type) fill_with_type(charge_type, charge_amount) @@ -134,21 +142,29 @@ Fire(user, target) /obj/item/pneumatic_cannon/proc/Fire(mob/living/user, var/atom/target) - if(!istype(user) && !target) + if(!target) return + if(user) + if(!isliving(user)) + return var/discharge = 0 if(!can_trigger_gun(user)) return if(!loadedItems || !loadedWeightClass) - to_chat(user, "\The [src] has nothing loaded.") + if(user) + to_chat(user, "\The [src] has nothing loaded.") return if(!tank && checktank) - to_chat(user, "\The [src] can't fire without a source of gas.") + if(user) + to_chat(user, "\The [src] can't fire without a source of gas.") return if(tank && !tank.air_contents.remove(gasPerThrow * pressureSetting)) - to_chat(user, "\The [src] lets out a weak hiss and doesn't react!") + if(user) + to_chat(user, "\The [src] lets out a weak hiss and doesn't react!") + else + visible_message(src, "\The [src] lets out a weak hiss and doesn't react!") return - if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(75) && clumsyCheck && iscarbon(user)) + if(user && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(75) && clumsyCheck && iscarbon(user)) var/mob/living/carbon/C = user C.visible_message("[C] loses [C.p_their()] grip on [src], causing it to go off!", "[src] slips out of your hands and goes off!") C.dropItemToGround(src, TRUE) @@ -157,15 +173,19 @@ else var/list/possible_targets = range(3,src) target = pick(possible_targets) - discharge = 1 + discharge = TRUE if(!discharge) user.visible_message("[user] fires \the [src]!", \ "You fire \the [src]!") - log_combat(user, target, "fired at", src) + if(user) + log_combat(user, target, "fired at", src) var/turf/T = get_target(target, get_turf(src)) - playsound(src, 'sound/weapons/sonic_jackhammer.ogg', 50, 1) - fire_items(T, user) - if(pressureSetting >= 3 && iscarbon(user)) + playsound(src, 'sound/weapons/sonic_jackhammer.ogg', 50, TRUE) + if(user) + fire_items(T, user) + else + fire_items(T) + if(user && pressureSetting >= 3 && iscarbon(user)) var/mob/living/carbon/C = user C.visible_message("[C] is thrown down by the force of the cannon!", "[src] slams into your shoulder, knocking you down!") C.DefaultCombatKnockdown(60) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 16efecec7c..0b0f37a1e0 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -47,6 +47,9 @@ cell = new preload_cell_type(src) update_icon() +/obj/item/melee/baton/DoRevenantThrowEffects(atom/target) + switch_status() + /obj/item/melee/baton/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) ..() //Only mob/living types have stun handling diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 20ec678e45..1f5280a5ce 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -194,6 +194,16 @@ add_fingerprint(user) fire_act(I.get_temperature()) +/obj/item/paper/DoRevenantThrowEffects(atom/target) + sleep(5) + if(HAS_TRAIT(src, TRAIT_SPOOKY_THROW)) + sleep(5) + DoRevenantThrowEffects(atom/target) + return + var/obj/item/paperplane/plane = new(get_turf(src)) + qdel(src) + plane.safe_throw_at(over, 10, 2) + /obj/item/paper/attackby(obj/item/P, mob/living/user, params) if(burn_paper_product_attackby_check(P, user)) SStgui.close_uis(src) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 1c3a0d230f..9e8af0cd00 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -146,7 +146,8 @@ return TRUE /obj/item/gun/proc/shoot_with_empty_chamber(mob/living/user as mob|obj) - to_chat(user, "*click*") + if(user) + to_chat(user, "*click*") playsound(src, "gun_dry_fire", 30, 1) /obj/item/gun/proc/shoot_live_shot(mob/living/user, pointblank = FALSE, mob/pbtarget, message = 1, stam_cost = 0) @@ -175,7 +176,7 @@ /obj/item/gun/afterattack(atom/target, mob/living/user, flag, params) . = ..() - if(!CheckAttackCooldown(user, target)) + if(user && !CheckAttackCooldown(user, target)) return process_afterattack(target, user, flag, params) @@ -184,6 +185,8 @@ return if(firing) return + if(!user) + return var/stamloss = user.getStaminaLoss() if(flag) //It's adjacent, is the user, or is on the user's person if(target in user.contents) //can't shoot stuff inside us. @@ -290,7 +293,8 @@ return busy_action || firing || ((last_fire + fire_delay) > world.time) /obj/item/gun/proc/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0, stam_cost = 0) - add_fingerprint(user) + if(user) + add_fingerprint(user) if(on_cooldown()) return @@ -328,7 +332,7 @@ shoot_with_empty_chamber(user) return else - if(get_dist(user, target) <= 1) //Making sure whether the target is in vicinity for the pointblank shot + if(user && get_dist(user, target) <= 1) //Making sure whether the target is in vicinity for the pointblank shot shoot_live_shot(user, 1, target, message, stam_cost) else shoot_live_shot(user, 0, target, message, stam_cost) @@ -342,29 +346,29 @@ return TRUE /obj/item/gun/proc/do_burst_shot(mob/living/user, atom/target, message = TRUE, params=null, zone_override = "", sprd = 0, randomized_gun_spread = 0, randomized_bonus_spread = 0, rand_spr = 0, iteration = 0, stam_cost = 0) - if(!user || !firing) - firing = FALSE + if(!firing) return FALSE - if(!issilicon(user)) + if(user && !issilicon(user)) if(iteration > 1 && !(user.is_holding(src))) //for burst firing firing = FALSE return FALSE if(chambered && chambered.BB) if(HAS_TRAIT(user, TRAIT_PACIFISM)) // If the user has the pacifist trait, then they won't be able to fire [src] if the round chambered inside of [src] is lethal. if(chambered.harmful) // Is the bullet chambered harmful? - to_chat(user, " [src] is lethally chambered! You don't want to risk harming anyone...") + if(user) + to_chat(user, " [src] is lethally chambered! You don't want to risk harming anyone...") return if(randomspread) sprd = round((rand() - 0.5) * DUALWIELD_PENALTY_EXTRA_MULTIPLIER * (randomized_gun_spread + randomized_bonus_spread), 1) else //Smart spread sprd = round((((rand_spr/burst_size) * iteration) - (0.5 + (rand_spr * 0.25))) * (randomized_gun_spread + randomized_bonus_spread), 1) - before_firing(target,user) + before_firing(target, user) if(!chambered.fire_casing(target, user, params, ,suppressed, zone_override, sprd, src)) shoot_with_empty_chamber(user) firing = FALSE return FALSE else - if(get_dist(user, target) <= 1) //Making sure whether the target is in vicinity for the pointblank shot + if(user && get_dist(user, target) <= 1) //Making sure whether the target is in vicinity for the pointblank shot shoot_live_shot(user, 1, target, message, stam_cost) else shoot_live_shot(user, 0, target, message, stam_cost) @@ -621,3 +625,11 @@ . = recoil if(user && !user.has_gravity()) . = recoil*5 + +/obj/item/gun/DoRevenantThrowEffects(atom/target) + while(HAS_TRAIT(src, TRAIT_SPOOKY_THROW)) + var/target + var/list/possible_targets = range(3,src) + target = pick(possible_targets) + if(target) + process_fire(null, target) From e24eb1412174898bb3479f7be33420002f4be809 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Wed, 20 Jan 2021 16:32:15 +0100 Subject: [PATCH 17/75] args these are needed for the CI not to fail, even if unused in most cases. --- code/game/gamemodes/objective.dm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index d8617e0b48..0ee07951a9 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -455,7 +455,7 @@ If not set, defaults to check_completion instead. Set it. It's used by cryo. var/target_real_name // Has to be stored because the target's real_name can change over the course of the round var/target_missing_id -/datum/objective/escape/escape_with_identity/find_target() +/datum/objective/escape/escape_with_identity/find_target(dupe_search_range, blacklist) target = ..() update_explanation_text() @@ -553,7 +553,7 @@ GLOBAL_LIST_EMPTY(possible_items) for(var/I in subtypesof(/datum/objective_item/steal)) new I -/datum/objective/steal/find_target() +/datum/objective/steal/find_target(dupe_search_range, blacklist) var/list/datum/mind/owners = get_owners() var/approved_targets = list() check_items: @@ -631,7 +631,7 @@ GLOBAL_LIST_EMPTY(possible_items_special) for(var/I in subtypesof(/datum/objective_item/special) + subtypesof(/datum/objective_item/stack)) new I -/datum/objective/steal/special/find_target() +/datum/objective/steal/special/find_target(dupe_search_range, blacklist) return set_target(pick(GLOB.possible_items_special)) /datum/objective/steal/exchange @@ -844,7 +844,7 @@ GLOBAL_LIST_EMPTY(possible_items_special) name = "destroy AI" martyr_compatible = 1 -/datum/objective/destroy/find_target() +/datum/objective/destroy/find_target(dupe_search_range, blacklist) var/list/possible_targets = active_ais(1) var/mob/living/silicon/ai/target_ai = pick(possible_targets) target = target_ai.mind @@ -1124,7 +1124,7 @@ GLOBAL_LIST_EMPTY(possible_items_special) /datum/objective/hoard/heirloom name = "steal heirloom" -/datum/objective/hoard/heirloom/find_target() +/datum/objective/hoard/heirloom/find_target(dupe_search_range, blacklist) set_target(pick(GLOB.family_heirlooms)) GLOBAL_LIST_EMPTY(traitor_contraband) @@ -1141,7 +1141,7 @@ GLOBAL_LIST_EMPTY(cult_contraband) if(!GLOB.cult_contraband.len) GLOB.cult_contraband = list(/obj/item/clockwork/slab,/obj/item/clockwork/component/belligerent_eye,/obj/item/clockwork/component/belligerent_eye/lens_gem,/obj/item/shuttle_curse,/obj/item/cult_shift) -/datum/objective/hoard/collector/find_target() +/datum/objective/hoard/collector/find_target(dupe_search_range, blacklist) var/obj/item/I var/I_type if(prob(50)) @@ -1172,7 +1172,7 @@ GLOBAL_LIST_EMPTY(possible_sabotages) for(var/I in subtypesof(/datum/sabotage_objective)) new I -/datum/objective/sabotage/find_target() +/datum/objective/sabotage/find_target(dupe_search_range, blacklist) var/list/datum/mind/owners = get_owners() var/approved_targets = list() check_sabotages: From 16e0b85b4416f266513c3974da07b5a47a45876e Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 20 Jan 2021 18:23:28 +0200 Subject: [PATCH 18/75] More funshit --- code/controllers/subsystem/throwing.dm | 4 ++-- code/datums/components/storage/storage.dm | 4 ++++ code/game/atoms_movable.dm | 8 +++---- code/game/objects/items.dm | 23 +----------------- code/game/objects/items/cigs_lighters.dm | 8 ++++++- code/game/objects/items/devices/flashlight.dm | 7 ++++-- code/game/objects/items/plushes.dm | 2 +- code/game/objects/items/pneumaticCannon.dm | 14 +++++------ code/game/objects/items/tools/weldingtool.dm | 9 +++++-- code/modules/antagonists/revenant/revenant.dm | 24 +++++++++++++++++++ code/modules/assembly/flash.dm | 3 +++ code/modules/paperwork/paper.dm | 9 +++---- code/modules/projectiles/gun.dm | 12 +++++----- 13 files changed, 73 insertions(+), 54 deletions(-) diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index 567eed9bf6..9814f3e46e 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -65,14 +65,14 @@ SUBSYSTEM_DEF(throwing) var/last_move = 0 /datum/thrownthing/Destroy() + if(HAS_TRAIT_FROM(thrownthing, TRAIT_SPOOKY_THROW, "revenant")) + REMOVE_TRAIT(thrownthing, TRAIT_SPOOKY_THROW, "revenant") SSthrowing.processing -= thrownthing thrownthing.throwing = null thrownthing = null target = null thrower = null callback = null - if(HAS_TRAIT(thrownthing, TRAIT_SPOOKY_THROW) - REMOVE_TRAIT(thrownthing, TRAIT_SPOOKY_THROW) return ..() /datum/thrownthing/proc/tick() diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index f93d40bb04..2fa5a20d7a 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -449,6 +449,10 @@ // this must come before the screen objects only block, dunno why it wasn't before if(over_object == M) user_show_to_mob(M) + return + if(isrevenant(M)) + RevenantThrow(over_object, M, source) + return if(!M.incapacitated()) if(!istype(over_object, /obj/screen)) dump_content_at(over_object, M) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index c9d471e82a..09a0fad645 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -492,13 +492,13 @@ return TRUE //TODO: Better floating -/atom/movable/proc/float(on, float_height) - if(throwing) +/atom/movable/proc/float(on, throw_override) + if(throwing || !throw_override) return if(on && (!(movement_type & FLOATING) || floating_need_update)) - animate(src, pixel_y = pixel_y + 2 + float_height, time = 10, loop = -1) + animate(src, pixel_y = pixel_y + 2, time = 10, loop = -1) sleep(10) - animate(src, pixel_y = pixel_y - 2 - float_height, time = 10, loop = -1) + animate(src, pixel_y = pixel_y - 2, time = 10, loop = -1) if(!(movement_type & FLOATING)) setMovetype(movement_type | FLOATING) else if (!on && movement_type & FLOATING) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 846e49682f..fa5ab19fba 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -469,22 +469,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb usr.FlushCurrentAction() return TRUE //returning TRUE as a "is this overridden?" flag if(isrevenant(usr)) - var/mob/living/simple_animal/revenant/spooker = usr - if(!anchored && !spooker.telekinesis_cooldown) - spooker.change_essence_amount(-5, FALSE, "telekinesis") - spooker.stun(10) - spooker.reveal(30) - spooker.telekinesis_cooldown = TRUE - float(TRUE, 1) - sleep(10) - safe_throw_at(over, 10, 2) - ADD_TRAIT(src, TRAIT_SPOOKY_THROW) - DoRevenantThrowEffects(over) - log_combat(usr, over, "spooky telekinesised at", src) - var/obj/effect/temp_visual/telekinesis/T = new(get_turf(src)) - T.color = purple - addtimer(CALLBACK(src, /atom/movable.proc/float, FALSE), 2) - addtimer(CALLBACK(spooker, /mob/living/simple_animal/revenant.proc/telekinesis_cooldown_end), 50) + if(RevenantThrow(over, usr, src)) return if(!Adjacent(usr) || !over.Adjacent(usr)) @@ -493,12 +478,6 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb over.MouseDrop_T(src,usr) return -//Use this for effects you want to happen when a revenant throws itself, check the TRAIT_SPOOKY_THROW if you want to know if its still being thrown -/obj/item/proc/DoRevenantThrowEffects(atom/target) - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - if(STR) - - // called after an item is placed in an equipment slot // user is mob that equipped it // slot uses the slot_X defines found in setup.dm diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index a21c7780b2..4280e7105f 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -137,7 +137,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM . = ..() /obj/item/clothing/mask/cigarette/DoRevenantThrowEffects(atom/target) - attackby(src) + if(lit) + attackby() + else + light() /obj/item/clothing/mask/cigarette/attackby(obj/item/W, mob/user, params) if(!lit && smoketime > 0) @@ -520,6 +523,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM overlay_state = pick(overlay_list) update_icon() +/obj/item/lighter/DoRevenantThrowEffects(atom/target) + set_lit() + /obj/item/lighter/suicide_act(mob/living/carbon/user) if (lit) user.visible_message("[user] begins holding \the [src]'s flame up to [user.p_their()] face! It looks like [user.p_theyre()] trying to commit suicide!") diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index a2459bce9f..e29519406a 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -37,11 +37,14 @@ /obj/item/flashlight/attack_self(mob/user) on = !on update_brightness(user) - playsound(user, on ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, 1) + playsound(src, on ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, TRUE) for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() - return 1 + return TRUE + +/obj/item/flashlight/DoRevenantThrowEffects(atom/target) + attack_self() /obj/item/flashlight/suicide_act(mob/living/carbon/human/user) if (user.eye_blind) diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index 3470d5e2c8..a5a3762a4f 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -46,7 +46,7 @@ set_snowflake_from_config(id) /obj/item/toy/plush/DoRevenantThrowEffects(atom/target) - var/datum/component/squeak/squeaker = GetComponent(datum/component/squeak) + var/datum/component/squeak/squeaker = GetComponent(/datum/component/squeak) squeaker.do_play_squeak(TRUE) /obj/item/toy/plush/Initialize(mapload, set_snowflake_id) diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index 6cd00f3434..1db5cdd526 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -44,12 +44,11 @@ START_PROCESSING(SSobj, src) /obj/item/pneumatic_cannon/DoRevenantThrowEffects(atom/target) - var/target + var/picked_target var/list/possible_targets = range(3,src) - target = pick(possible_targets) + picked_target = pick(possible_targets) if(target) - discharge = TRUE - Fire(null, target) + Fire(null, picked_target) /obj/item/pneumatic_cannon/process() if(++charge_tick >= charge_ticks && charge_type) @@ -148,7 +147,7 @@ if(!isliving(user)) return var/discharge = 0 - if(!can_trigger_gun(user)) + if(user && !can_trigger_gun(user)) return if(!loadedItems || !loadedWeightClass) if(user) @@ -174,14 +173,13 @@ var/list/possible_targets = range(3,src) target = pick(possible_targets) discharge = TRUE - if(!discharge) + if(!discharge && user) user.visible_message("[user] fires \the [src]!", \ "You fire \the [src]!") - if(user) - log_combat(user, target, "fired at", src) var/turf/T = get_target(target, get_turf(src)) playsound(src, 'sound/weapons/sonic_jackhammer.ogg', 50, TRUE) if(user) + log_combat(user, target, "fired at", src) fire_items(T, user) else fire_items(T) diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 92b222aed7..6b92b885bb 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -57,6 +57,9 @@ else item_state = "[initial(item_state)]" +/obj/item/weldingtool/DoRevenantThrowEffects(atom/target) + attack_self() + /obj/item/weldingtool/update_overlays() . = ..() if(change_icons) @@ -208,12 +211,14 @@ //Switches the welder on /obj/item/weldingtool/proc/switched_on(mob/user) if(!status) - to_chat(user, "[src] can't be turned on while unsecured!") + if(user) + to_chat(user, "[src] can't be turned on while unsecured!") return welding = !welding if(welding) if(get_fuel() >= 1) - to_chat(user, "You switch [src] on.") + if(user) + to_chat(user, "You switch [src] on.") playsound(loc, acti_sound, 50, 1) force = 15 damtype = "fire" diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index 1a45663ff7..f4ad961d54 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -441,6 +441,30 @@ qdel(revenant) ..() +/proc/RevenantThrow(over, mob/user, obj/item/throwable) + var/mob/living/simple_animal/revenant/spooker = user + if(!istype(throwable)) + return + if(!throwable.anchored && !spooker.telekinesis_cooldown && spooker.castcheck(-5)) + spooker.change_essence_amount(-5, FALSE, "telekinesis") + spooker.stun(20) + spooker.reveal(50) + spooker.telekinesis_cooldown = TRUE + throwable.float(TRUE) + sleep(10) + throwable.DoRevenantThrowEffects(over) + throwable.throw_at(over, 10, 2) + ADD_TRAIT(throwable, TRAIT_SPOOKY_THROW, "revenant") + throwable.float(FALSE, TRUE) + log_combat(throwable, over, "spooky telekinesised at", throwable) + var/obj/effect/temp_visual/telekinesis/T = new(get_turf(throwable)) + T.color = "#8715b4" + addtimer(CALLBACK(spooker, /mob/living/simple_animal/revenant.proc/telekinesis_cooldown_end), 50) + +//Use this for effects you want to happen when a revenant throws itself, check the TRAIT_SPOOKY_THROW if you want to know if its still being thrown +/obj/item/proc/DoRevenantThrowEffects(atom/target) + return TRUE + //objectives /datum/objective/revenant var/targetAmount = 100 diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 8a0645f311..07a9f499f8 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -30,6 +30,9 @@ attack(user,user) return FIRELOSS +/obj/item/assembly/flash/DoRevenantThrowEffects(atom/target) + AOE_flash() + /obj/item/assembly/flash/update_icon(flash = FALSE) cut_overlays() attached_overlays = list() diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 1f5280a5ce..a00145f9dc 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -193,16 +193,13 @@ user.visible_message(ignition_message) add_fingerprint(user) fire_act(I.get_temperature()) - +//I would have it become a paper plane before the throw, but that would risk runtimes /obj/item/paper/DoRevenantThrowEffects(atom/target) - sleep(5) + sleep(10) if(HAS_TRAIT(src, TRAIT_SPOOKY_THROW)) - sleep(5) - DoRevenantThrowEffects(atom/target) return - var/obj/item/paperplane/plane = new(get_turf(src)) + new /obj/item/paperplane(get_turf(src)) qdel(src) - plane.safe_throw_at(over, 10, 2) /obj/item/paper/attackby(obj/item/P, mob/living/user, params) if(burn_paper_product_attackby_check(P, user)) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 9e8af0cd00..eb75a37f19 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -626,10 +626,10 @@ if(user && !user.has_gravity()) . = recoil*5 + /obj/item/gun/DoRevenantThrowEffects(atom/target) - while(HAS_TRAIT(src, TRAIT_SPOOKY_THROW)) - var/target - var/list/possible_targets = range(3,src) - target = pick(possible_targets) - if(target) - process_fire(null, target) + var/picked_target + var/list/possible_targets = range(3,src) + picked_target = pick(possible_targets) + if(picked_target) + process_fire(null, picked_target) From 87c92017074325935634763cc63d66289c3d1318 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 20 Jan 2021 19:51:11 +0200 Subject: [PATCH 19/75] No gunning sadly --- code/game/objects/items/tanks/tanks.dm | 6 ++++++ code/modules/antagonists/revenant/revenant.dm | 12 +++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 08b91332ef..0c55cdd701 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -73,6 +73,12 @@ /obj/item/tank/proc/populate_gas() return +/obj/item/tank/DoRevenantThrowEffects(atom/target) + if(air_contents) + var/turf/location = get_turf(src) + location.assume_air(air_contents) + visible_message(" Date: Wed, 20 Jan 2021 20:25:36 +0200 Subject: [PATCH 20/75] Tank memes finished --- code/game/objects/items/tanks/tanks.dm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 0c55cdd701..d57f0cc51f 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -75,9 +75,12 @@ /obj/item/tank/DoRevenantThrowEffects(atom/target) if(air_contents) - var/turf/location = get_turf(src) - location.assume_air(air_contents) - visible_message(" Date: Wed, 20 Jan 2021 22:30:14 +0200 Subject: [PATCH 21/75] Forgot to undo some testing changes --- code/game/objects/items.dm | 1 - code/modules/projectiles/gun.dm | 32 ++++++++++---------------------- 2 files changed, 10 insertions(+), 23 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 46ac106b45..9cc8617b5e 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -455,7 +455,6 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item/MouseDrop(atom/over, src_location, over_location, src_control, over_control, params) //Copypaste of /atom/MouseDrop() since this requires code in a very specific spot if(!usr || !over) return - message_admins("[src], [usr], [over], [src_location], [over_location], [src_control], [over_control], [params]") if(SEND_SIGNAL(src, COMSIG_MOUSEDROP_ONTO, over, usr) & COMPONENT_NO_MOUSEDROP) //Whatever is receiving will verify themselves for adjacency. return if(over == src) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 25a718ff29..e3a2da68da 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -148,8 +148,7 @@ return TRUE /obj/item/gun/proc/shoot_with_empty_chamber(mob/living/user as mob|obj) - if(user) - to_chat(user, "*click*") + to_chat(user, "*click*") playsound(src, "gun_dry_fire", 30, 1) /obj/item/gun/proc/shoot_live_shot(mob/living/user, pointblank = FALSE, mob/pbtarget, message = 1, stam_cost = 0) @@ -188,7 +187,7 @@ /obj/item/gun/afterattack(atom/target, mob/living/user, flag, params) . = ..() - if(user && !CheckAttackCooldown(user, target, TRUE)) + if(!CheckAttackCooldown(user, target, TRUE)) return process_afterattack(target, user, flag, params) @@ -200,8 +199,6 @@ return if(firing) return - if(!user) - return var/stamloss = user.getStaminaLoss() if(flag) //It's adjacent, is the user, or is on the user's person if(target in user.contents) //can't shoot stuff inside us. @@ -308,8 +305,7 @@ return busy_action || firing || ((last_fire + fire_delay) > world.time) /obj/item/gun/proc/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0, stam_cost = 0) - if(user) - add_fingerprint(user) + add_fingerprint(user) if(on_cooldown()) return @@ -347,7 +343,7 @@ shoot_with_empty_chamber(user) return else - if(user && get_dist(user, target) <= 1) //Making sure whether the target is in vicinity for the pointblank shot + if(get_dist(user, target) <= 1) //Making sure whether the target is in vicinity for the pointblank shot shoot_live_shot(user, 1, target, message, stam_cost) else shoot_live_shot(user, 0, target, message, stam_cost) @@ -361,29 +357,29 @@ return TRUE /obj/item/gun/proc/do_burst_shot(mob/living/user, atom/target, message = TRUE, params=null, zone_override = "", sprd = 0, randomized_gun_spread = 0, randomized_bonus_spread = 0, rand_spr = 0, iteration = 0, stam_cost = 0) - if(!firing) + if(!user || !firing) + firing = FALSE return FALSE - if(user && !issilicon(user)) + if(!issilicon(user)) if(iteration > 1 && !(user.is_holding(src))) //for burst firing firing = FALSE return FALSE if(chambered && chambered.BB) if(HAS_TRAIT(user, TRAIT_PACIFISM)) // If the user has the pacifist trait, then they won't be able to fire [src] if the round chambered inside of [src] is lethal. if(chambered.harmful) // Is the bullet chambered harmful? - if(user) - to_chat(user, " [src] is lethally chambered! You don't want to risk harming anyone...") + to_chat(user, " [src] is lethally chambered! You don't want to risk harming anyone...") return if(randomspread) sprd = round((rand() - 0.5) * DUALWIELD_PENALTY_EXTRA_MULTIPLIER * (randomized_gun_spread + randomized_bonus_spread), 1) else //Smart spread sprd = round((((rand_spr/burst_size) * iteration) - (0.5 + (rand_spr * 0.25))) * (randomized_gun_spread + randomized_bonus_spread), 1) - before_firing(target, user) + before_firing(target,user) if(!chambered.fire_casing(target, user, params, ,suppressed, zone_override, sprd, src)) shoot_with_empty_chamber(user) firing = FALSE return FALSE else - if(user && get_dist(user, target) <= 1) //Making sure whether the target is in vicinity for the pointblank shot + if(get_dist(user, target) <= 1) //Making sure whether the target is in vicinity for the pointblank shot shoot_live_shot(user, 1, target, message, stam_cost) else shoot_live_shot(user, 0, target, message, stam_cost) @@ -640,11 +636,3 @@ . = recoil if(user && !user.has_gravity()) . = recoil*5 - - -/obj/item/gun/DoRevenantThrowEffects(atom/target) - var/picked_target - var/list/possible_targets = range(3,src) - picked_target = pick(possible_targets) - if(picked_target) - process_fire(null, picked_target) From 95db018de8fbb19e28a9174c2146cab0f322a1ac Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Wed, 20 Jan 2021 18:34:57 -0600 Subject: [PATCH 22/75] itt: i dont test my code again --- _maps/RandomRuins/AnywhereRuins/golem_ship.dmm | 12 ++++++------ code/datums/components/gps.dm | 4 +++- code/game/objects/items/devices/gps.dm | 6 +++++- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm b/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm index 37a89ba2ff..274c814cf5 100644 --- a/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm +++ b/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm @@ -18,7 +18,7 @@ /obj/item/mining_scanner, /obj/item/flashlight/lantern, /obj/item/card/id/mining, -/obj/item/gps/mining, +/obj/item/gps/mining/off, /turf/open/floor/plating, /area/ruin/powered/golem_ship) "d" = ( @@ -32,7 +32,7 @@ /obj/item/mining_scanner, /obj/item/flashlight/lantern, /obj/item/card/id/mining, -/obj/item/gps/mining, +/obj/item/gps/mining/off, /turf/open/floor/plating, /area/ruin/powered/golem_ship) "e" = ( @@ -71,8 +71,8 @@ /area/ruin/powered/golem_ship) "k" = ( /obj/machinery/computer/arcade/battle{ - icon_state = "arcade"; - dir = 4 + dir = 4; + icon_state = "arcade" }, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/golem_ship) @@ -112,8 +112,8 @@ /area/ruin/powered/golem_ship) "s" = ( /obj/machinery/computer/arcade/orion_trail{ - icon_state = "arcade"; - dir = 4 + dir = 4; + icon_state = "arcade" }, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/golem_ship) diff --git a/code/datums/components/gps.dm b/code/datums/components/gps.dm index c2b3ad1f30..61098c8b66 100644 --- a/code/datums/components/gps.dm +++ b/code/datums/components/gps.dm @@ -21,7 +21,7 @@ GLOBAL_LIST_EMPTY(GPS_list) var/updating = TRUE //Automatic updating of GPS list. Can be set to manual by user. var/global_mode = TRUE //If disabled, only GPS signals of the same Z level are shown -/datum/component/gps/item/Initialize(_gpstag = "COM0", emp_proof = FALSE) +/datum/component/gps/item/Initialize(_gpstag = "COM0", emp_proof = FALSE, starton = TRUE) . = ..() if(. == COMPONENT_INCOMPATIBLE || !isitem(parent)) return COMPONENT_INCOMPATIBLE @@ -33,6 +33,8 @@ GLOBAL_LIST_EMPTY(GPS_list) RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp_act) RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_examine) RegisterSignal(parent, COMSIG_CLICK_ALT, .proc/on_AltClick) + if(!starton) + tracking = FALSE ///Called on COMSIG_ITEM_ATTACK_SELF /datum/component/gps/item/proc/interact(datum/source, mob/user) diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index bb46577702..a0b695e29f 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -8,10 +8,11 @@ slot_flags = ITEM_SLOT_BELT obj_flags = UNIQUE_RENAME var/gpstag = "COM0" + var/starton = TRUE /obj/item/gps/Initialize() . = ..() - AddComponent(/datum/component/gps/item, gpstag) + AddComponent(/datum/component/gps/item, gpstag, starton) /obj/item/gps/science icon_state = "gps-s" @@ -26,6 +27,9 @@ gpstag = "MINE0" desc = "A positioning system helpful for rescuing trapped or injured miners, keeping one on you at all times while mining might just save your life." +/obj/item/gps/mining/off + starton = FALSE + /obj/item/gps/cyborg icon_state = "gps-b" gpstag = "BORG0" From 401e6a76907bf0136b237bec3196fc6c6626087a Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 21 Jan 2021 20:17:25 +0000 Subject: [PATCH 23/75] test --- code/modules/admin/verbs/adminhelp.dm | 6 +++--- code/modules/admin/verbs/adminpm.dm | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 4348ae7661..45d05c70b9 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -174,7 +174,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //is_bwoink is TRUE if this ticket was started by an admin PM /datum/admin_help/New(msg, client/C, is_bwoink) //clean the input msg - msg = sanitize(copytext_char(msg,1,MAX_MESSAGE_LEN)) + msg = copytext_char(msg,1,MAX_MESSAGE_LEN) if(!msg || !C || !C.mob) qdel(src) return @@ -263,7 +263,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //message from the initiator without a target, all admins will see this //won't bug irc /datum/admin_help/proc/MessageNoRecipient(msg) - msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) + msg = copytext_char(msg, 1, MAX_MESSAGE_LEN) var/ref_src = "[REF(src)]" //Message to be sent to all admins var/admin_msg = "Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]: [keywords_lookup(msg)]" @@ -523,7 +523,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) if(handle_spam_prevention(msg,MUTE_ADMINHELP)) return - msg = trim(msg) + msg = sanitize(trim(msg)) if(!msg) return diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 2931c52a5c..1f4313dfda 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -80,6 +80,12 @@ to_chat(src, "Message: [msg]", confidential = TRUE) return + //clean the message if it's not sent by a high-rank admin + if(!check_rights(R_SERVER|R_DEBUG,0)||external)//no sending html to the poor bots + msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) + if(!msg) + return + var/client/recipient var/recipient_ckey // Stored in case client is deleted between this and after the message is input var/datum/admin_help/recipient_ticket // Stored in case client is deleted between this and after the message is input @@ -141,15 +147,9 @@ to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).", confidential = TRUE) return - if (src.handle_spam_prevention(msg,MUTE_ADMINHELP)) + if(src.handle_spam_prevention(msg,MUTE_ADMINHELP)) return - //clean the message if it's not sent by a high-rank admin - if(!check_rights(R_SERVER|R_DEBUG,0)||external)//no sending html to the poor bots - msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) - if(!msg) - return - var/rawmsg = msg if(holder) From 8569c40ce5647763211bcc9b0be41a01e28fb57f Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 21 Jan 2021 22:23:48 +0000 Subject: [PATCH 24/75] Update adminpm.dm --- code/modules/admin/verbs/adminpm.dm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 1f4313dfda..4856f5af32 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -80,12 +80,6 @@ to_chat(src, "Message: [msg]", confidential = TRUE) return - //clean the message if it's not sent by a high-rank admin - if(!check_rights(R_SERVER|R_DEBUG,0)||external)//no sending html to the poor bots - msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) - if(!msg) - return - var/client/recipient var/recipient_ckey // Stored in case client is deleted between this and after the message is input var/datum/admin_help/recipient_ticket // Stored in case client is deleted between this and after the message is input @@ -119,6 +113,11 @@ to_chat(src, "Error: Use the admin IRC/Discord channel, nerd.", confidential = TRUE) return + //clean the message if it's not sent by a high-rank admin + if(!check_rights(R_SERVER|R_DEBUG,0)||external)//no sending html to the poor bots + msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) + if(!msg) + return else //get message text, limit it's length.and clean/escape html From 897f8a744f8c5473dbcae9c1a1df4f0d25050c00 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 21 Jan 2021 22:39:38 +0000 Subject: [PATCH 25/75] Update overmind.dm --- code/modules/antagonists/blob/blob/overmind.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/antagonists/blob/blob/overmind.dm b/code/modules/antagonists/blob/blob/overmind.dm index 02be432045..ca7845a297 100644 --- a/code/modules/antagonists/blob/blob/overmind.dm +++ b/code/modules/antagonists/blob/blob/overmind.dm @@ -277,3 +277,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) var/datum/antagonist/blob/B = mind.has_antag_datum(/datum/antagonist/blob) if(!B) mind.add_antag_datum(/datum/antagonist/blob) + +//the same but it's forced to be allowed by default as cameras usually don't allow emoting +/mob/camera/emote(act, m_type=1, message = null, intentional = FALSE, forced = TRUE) + . = ..() From ca9292f6fd01214564e9203eef32d3fc7b061639 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 21 Jan 2021 22:45:46 +0000 Subject: [PATCH 26/75] Update overmind.dm --- code/modules/antagonists/blob/blob/overmind.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/blob/blob/overmind.dm b/code/modules/antagonists/blob/blob/overmind.dm index ca7845a297..18f6817ec9 100644 --- a/code/modules/antagonists/blob/blob/overmind.dm +++ b/code/modules/antagonists/blob/blob/overmind.dm @@ -279,5 +279,5 @@ GLOBAL_LIST_EMPTY(blob_nodes) mind.add_antag_datum(/datum/antagonist/blob) //the same but it's forced to be allowed by default as cameras usually don't allow emoting -/mob/camera/emote(act, m_type=1, message = null, intentional = FALSE, forced = TRUE) +/mob/camera/blob/emote(act, m_type=1, message = null, intentional = FALSE, forced = TRUE) . = ..() From 920be8cffc23e4ef6d78f6038603a6e3ed9eac9f Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Fri, 22 Jan 2021 01:43:35 +0100 Subject: [PATCH 27/75] stuffs --- .../antagonists/clockcult/clock_helpers/clock_rites.dm | 6 ++++-- .../antagonists/clockcult/clock_items/clockwork_slab.dm | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_helpers/clock_rites.dm b/code/modules/antagonists/clockcult/clock_helpers/clock_rites.dm index 59a86ffa34..58ee73ef5b 100644 --- a/code/modules/antagonists/clockcult/clock_helpers/clock_rites.dm +++ b/code/modules/antagonists/clockcult/clock_helpers/clock_rites.dm @@ -165,14 +165,16 @@ /datum/clockwork_rite/treat_wounds/cast(var/mob/living/invoker, var/turf/T, var/mob/living/carbon/human/target) if(!target) return FALSE - if(!target.all_wounds.len) + if(!target.all_wounds || !target.all_wounds.len) to_chat(invoker, "This one does not require mending.") return FALSE .= ..() if(!.) return FALSE target.adjustToxLoss(10 * target.all_wounds.len) - QDEL_LIST(target.all_wounds) + for(var/i in target.all_wounds) + var/datum/wound/mended = i + mended.remove_wound() to_chat(target, "You feel your wounds heal, but are overcome with deep nausea.") new /obj/effect/temp_visual/ratvar/sigil/vitality(T) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index 571a817024..ff6dc12ce1 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -203,10 +203,10 @@ to_chat(user, "You need to hold the slab in your active hand to recite scripture!") return FALSE var/initial_tier = initial(scripture.tier) - if(initial_tier == SCRIPTURE_PERIPHERAL) + if(initial_tier == SCRIPTURE_PERIPHERAL && !issilicon(user)) //Silicons use peripheral scripture & cannot open the slab. to_chat(user, "Nice try using href exploits") return - if(!GLOB.ratvar_awakens && !no_cost && !SSticker.scripture_states[initial_tier]) + if(!GLOB.ratvar_awakens && !no_cost && !SSticker.scripture_states[initial_tier] &&!issilicon(user)) //silicons can't choose their spells, so lets allow them to always cast their assigned ones. to_chat(user, "That scripture is not unlocked, and cannot be recited!") return FALSE var/datum/clockwork_scripture/scripture_to_recite = new scripture From aa9625cffc33252998dc000069eb8f0e8002e8f5 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 22 Jan 2021 00:45:25 +0000 Subject: [PATCH 28/75] Automatic changelog compile [ci skip] --- html/changelog.html | 6 ++++++ html/changelogs/.all_changelog.yml | 5 +++++ html/changelogs/AutoChangeLog-pr-14103.yml | 4 ---- 3 files changed, 11 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-14103.yml diff --git a/html/changelog.html b/html/changelog.html index 4f4656771d..0a446ddb4b 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -50,6 +50,12 @@ -->
+

22 January 2021

+

Arturlang updated:

+
    +
  • Adds a way to give items to people, you can combat mode rightclick to offer it to one person, right click on people without mode and click the give verb, or use the hotkey CTRL G to offer it to everyone around you
  • +
+

21 January 2021

Acer202 updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 67d9167cd5..34d1c5b7b0 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -28251,3 +28251,8 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. harder and faster. - balance: You can no longer cheese the colossus by being a sand golem and simply being immune. +2021-01-22: + Arturlang: + - rscadd: Adds a way to give items to people, you can combat mode rightclick to + offer it to one person, right click on people without mode and click the give + verb, or use the hotkey CTRL G to offer it to everyone around you diff --git a/html/changelogs/AutoChangeLog-pr-14103.yml b/html/changelogs/AutoChangeLog-pr-14103.yml deleted file mode 100644 index 856b66aeb7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-14103.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - rscadd: "Adds a way to give items to people, you can combat mode rightclick to offer it to one person, right click on people without mode and click the give verb, or use the hotkey CTRL G to offer it to everyone around you" From 5fe6772c587306f65c46c57fe925fa9c9a67b25c Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Fri, 22 Jan 2021 13:23:10 -0500 Subject: [PATCH 29/75] Update microwave.dm --- .../food_and_drinks/kitchen_machinery/microwave.dm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index 6bdf3cff8e..e84853da3d 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -151,10 +151,13 @@ to_chat(user, "You need more space cleaner!") return TRUE - if(istype(O, /obj/item/soap)) - var/obj/item/soap/P = O + if(istype(O, /obj/item/soap) || istype(O, /obj/item/reagent_containers/glass/rag)) + var/cleanspeed = 50 + if(istype(O, /obj/item/soap)) + var/obj/item/soap/used_soap = O + cleanspeed = used_soap.cleanspeed user.visible_message("[user] starts to clean \the [src].", "You start to clean \the [src]...") - if(do_after(user, P.cleanspeed, target = src)) + if(do_after(user, cleanspeed, target = src)) user.visible_message("[user] has cleaned \the [src].", "You clean \the [src].") dirty = 0 update_icon() From d9f2cccd842ae7b1f8ee0b537de5d3efc684d339 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Fri, 22 Jan 2021 13:33:18 -0500 Subject: [PATCH 30/75] Hehoo maybe I should actually see what happens when I compile --- code/modules/food_and_drinks/kitchen_machinery/microwave.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index e84853da3d..5954788d5c 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -151,7 +151,7 @@ to_chat(user, "You need more space cleaner!") return TRUE - if(istype(O, /obj/item/soap) || istype(O, /obj/item/reagent_containers/glass/rag)) + if(istype(O, /obj/item/soap) || istype(O, /obj/item/reagent_containers/rag)) var/cleanspeed = 50 if(istype(O, /obj/item/soap)) var/obj/item/soap/used_soap = O From 399d04654a059b4848114297df1e0557788ceb91 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Fri, 22 Jan 2021 18:57:31 -0500 Subject: [PATCH 31/75] Update alien.dm --- code/modules/mob/living/carbon/alien/alien.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index e7ad67d240..b943ebd1f6 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -19,7 +19,6 @@ /// How much brute damage they do to simple animals var/meleeSlashSAPower = 35 - var/obj/item/card/id/wear_id = null // Fix for station bounced radios -- Skie var/has_fine_manipulation = 0 var/move_delay_add = 0 // movement delay to add From 01d6d40d8ee92febc2d221ce5ae28a8a9b476157 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Fri, 22 Jan 2021 19:04:37 -0500 Subject: [PATCH 32/75] Port'n --- code/modules/mob/living/silicon/ai/ai.dm | 3 +++ .../mob/living/silicon/ai/freelook/eye.dm | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 823f759e67..39c35654cc 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -1039,3 +1039,6 @@ if(current && eyeobj) return eyeobj.emote(act, m_type, message, intentional, forced = TRUE) return ..() + +/mob/living/silicon/ai/zMove(dir, feedback = FALSE) + . = eyeobj.zMove(dir, feedback) \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 17de811cdd..dcaa28b39c 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -94,6 +94,25 @@ if(ai.master_multicam) ai.master_multicam.refresh_view() +//it uses setLoc not forceMove, talks to the sillycone and not the camera mob +/mob/camera/aiEye/zMove(dir, feedback = FALSE) + if(dir != UP && dir != DOWN) + return FALSE + var/turf/target = get_step_multiz(src, dir) + if(!target) + if(feedback) + to_chat(ai, "There's nowhere to go in that direction!") + return FALSE + if(!canZMove(dir, target)) + if(feedback) + to_chat(ai, "You couldn't move there!") + return FALSE + setLoc(target, TRUE) + return TRUE + +/mob/camera/aiEye/canZMove(direction, turf/target) //cameras do not respect these FLOORS you speak so much of + return TRUE + /mob/camera/aiEye/Move() return 0 From 3e157c3aa8ca61314d0739b845ca4a84f66f8f6a Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Fri, 22 Jan 2021 19:18:28 -0500 Subject: [PATCH 33/75] Update headset.dm --- code/game/objects/items/devices/radio/headset.dm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 6ac2d310a1..939d77a1f0 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -283,14 +283,12 @@ GLOBAL_LIST_INIT(channel_tokens, list( SSradio.remove_object(src, GLOB.radiochannels[ch_name]) secure_radio_connections[ch_name] = null - var/turf/T = user.drop_location() - if(T) - if(keyslot) - keyslot.forceMove(T) - keyslot = null - if(keyslot2) - keyslot2.forceMove(T) - keyslot2 = null + if(keyslot) + user.put_in_hands(keyslot) + keyslot = null + if(keyslot2) + user.put_in_hands(keyslot2) + keyslot2 = null recalculateChannels() to_chat(user, "You pop out the encryption keys in the headset.") From 8603a9fc7766e82e9143de3312a2656436df3441 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Fri, 22 Jan 2021 19:26:42 -0500 Subject: [PATCH 34/75] Update ai.dm --- code/modules/mob/living/silicon/ai/ai.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 39c35654cc..e0e1d91ba9 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -1041,4 +1041,4 @@ return ..() /mob/living/silicon/ai/zMove(dir, feedback = FALSE) - . = eyeobj.zMove(dir, feedback) \ No newline at end of file + . = eyeobj.zMove(dir, feedback) From a78b6ae958a9e573b242205b6dfe9bb0796762ae Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Fri, 22 Jan 2021 19:35:17 -0500 Subject: [PATCH 35/75] Update transform_procs.dm --- code/modules/mob/transform_procs.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 3a7e270567..e49bd5162b 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -175,6 +175,7 @@ icon = null cut_overlays() invisibility = INVISIBILITY_MAXIMUM + new /obj/effect/temp_visual/monkeyify/humanify(loc) transformation_timer = addtimer(CALLBACK(src, .proc/finish_humanize, tr_flags), TRANSFORMATION_DURATION, TIMER_UNIQUE) @@ -202,6 +203,8 @@ var/mob/living/carbon/human/O = new( loc ) for(var/obj/item/C in O.loc) + if(C.anchored) + continue O.equip_to_appropriate_slot(C) dna.transfer_identity(O) From 09d91643ef0c204b148bdc8b1fa4da6ca063272d Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Fri, 22 Jan 2021 18:39:46 -0600 Subject: [PATCH 36/75] tg 56348 --- code/modules/antagonists/traitor/equipment/contractor.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/traitor/equipment/contractor.dm b/code/modules/antagonists/traitor/equipment/contractor.dm index 28298f4983..525f40d1f7 100644 --- a/code/modules/antagonists/traitor/equipment/contractor.dm +++ b/code/modules/antagonists/traitor/equipment/contractor.dm @@ -43,7 +43,7 @@ var/list/to_generate = list( CONTRACT_PAYOUT_LARGE, CONTRACT_PAYOUT_MEDIUM, - CONTRACT_PAYOUT_SMALL, + CONTRACT_PAYOUT_MEDIUM, CONTRACT_PAYOUT_SMALL, CONTRACT_PAYOUT_SMALL, CONTRACT_PAYOUT_SMALL From c642f77c8146ecf923a18afadd01080b1e8ca792 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Fri, 22 Jan 2021 19:49:04 -0500 Subject: [PATCH 37/75] Weeeeeeee --- code/__HELPERS/_lists.dm | 33 +++++++++++++++++---------------- code/__HELPERS/names.dm | 27 --------------------------- code/__HELPERS/type2type.dm | 32 ++++++++++++++++---------------- 3 files changed, 33 insertions(+), 59 deletions(-) diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index 8d25fb8e03..a59ee9fcb0 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -67,24 +67,25 @@ //Returns a list in plain english as a string /proc/english_list(list/input, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "" ) - var/total = input.len - if (!total) - return nothing_text - else if (total == 1) - return "[input[1]]" - else if (total == 2) - return "[input[1]][and_text][input[2]]" - else - var/output = "" - var/index = 1 - while (index < total) - if (index == total - 1) - comma_text = final_comma_text + var/total = length(input) + switch(total) + if (0) + return "[nothing_text]" + if (1) + return "[input[1]]" + if (2) + return "[input[1]][and_text][input[2]]" + else + var/output = "" + var/index = 1 + while (index < total) + if (index == total - 1) + comma_text = final_comma_text - output += "[input[index]][comma_text]" - index++ + output += "[input[index]][comma_text]" + index++ - return "[output][and_text][input[index]]" + return "[output][and_text][input[index]]" //Returns list element or null. Should prevent "index out of bounds" error. /proc/listgetindex(list/L, index) diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index a61e3a6492..8ff610e68c 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -19,22 +19,6 @@ /proc/arachnid_name() return "[pick(GLOB.arachnid_first)] [pick(GLOB.arachnid_last)]" -/proc/church_name() - var/static/church_name - if (church_name) - return church_name - - var/name = "" - - name += pick("Holy", "United", "First", "Second", "Last") - - if (prob(20)) - name += " Space" - - name += " " + pick("Church", "Cathedral", "Body", "Worshippers", "Movement", "Witnesses") - name += " of [religion_name()]" - - return name GLOBAL_VAR(command_name) /proc/command_name() @@ -52,17 +36,6 @@ GLOBAL_VAR(command_name) return name -/proc/religion_name() - var/static/religion_name - if (religion_name) - return religion_name - - var/name = "" - - name += pick("bee", "science", "edu", "captain", "assistant", "monkey", "alien", "space", "unit", "sprocket", "gadget", "bomb", "revolution", "beyond", "station", "goon", "robot", "ivor", "hobnob") - name += pick("ism", "ia", "ology", "istism", "ites", "ick", "ian", "ity") - - return capitalize(name) /proc/station_name() if(!GLOB.station_name) diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 0987e95dc9..87187a4c3d 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -78,21 +78,21 @@ //Turns a direction into text /proc/dir2text(direction) switch(direction) - if(1) + if(NORTH) return "north" - if(2) + if(SOUTH) return "south" - if(4) + if(EAST) return "east" - if(8) + if(WEST) return "west" - if(5) + if(NORTHEAST) return "northeast" - if(6) + if(SOUTHEAST) return "southeast" - if(9) + if(NORTHWEST) return "northwest" - if(10) + if(SOUTHWEST) return "southwest" else return @@ -101,21 +101,21 @@ /proc/text2dir(direction) switch(uppertext(direction)) if("NORTH") - return 1 + return NORTH if("SOUTH") - return 2 + return SOUTH if("EAST") - return 4 + return EAST if("WEST") - return 8 + return WEST if("NORTHEAST") - return 5 + return NORTHEAST if("NORTHWEST") - return 9 + return NORTHWEST if("SOUTHEAST") - return 6 + return SOUTHEAST if("SOUTHWEST") - return 10 + return SOUTHWEST else return From 6dd674dae4d79c7d58d0d23269853c7d0e2da275 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Fri, 22 Jan 2021 20:47:45 -0500 Subject: [PATCH 38/75] Porting --- code/modules/food_and_drinks/drinks/drinks.dm | 5 +---- code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 07039139bf..807251111a 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -17,10 +17,7 @@ var/isGlass = TRUE //Whether the 'bottle' is made of glass or not so that milk cartons dont shatter when someone gets hit by it /obj/item/reagent_containers/food/drinks/on_reagent_change(changetype) - if (gulp_size < 5) - gulp_size = 5 - else - gulp_size = max(round(reagents.total_volume / 5), 5) + gulp_size = max(round(reagents.total_volume / 5), 5) /obj/item/reagent_containers/food/drinks/attack(mob/living/M, mob/user, def_zone) if(!reagents || !reagents.total_volume) diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index 8e5069925f..9602c1d24e 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -52,10 +52,7 @@ /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass/on_reagent_change(changetype) cut_overlays() - if (gulp_size < 15) - gulp_size = 15 - else - gulp_size = max(round(reagents.total_volume / 15), 15) + gulp_size = max(round(reagents.total_volume / 15), 15) if (reagents.reagent_list.len > 0) var/datum/reagent/largest_reagent = reagents.get_master_reagent() From bc49224241b78838431f66a66431749c7d9472b4 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Fri, 22 Jan 2021 20:51:24 -0700 Subject: [PATCH 39/75] Update species.dm --- code/modules/mob/living/carbon/human/species.dm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 94d7e84c6b..8042eca673 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1796,12 +1796,10 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) "[M] attempted to touch you!", target = M, \ target_message = "You attempted to touch [H]!") return TRUE + if(M == H) + althelp(M, H, attacker_style) + return TRUE switch(M.a_intent) - if(INTENT_HELP) - if(M == H) - althelp(M, H, attacker_style) - return TRUE - return FALSE if(INTENT_DISARM) altdisarm(M, H, attacker_style) return TRUE From d8f76a023bbfbb98cd524297c442695571a311a1 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Sat, 23 Jan 2021 03:44:55 -0500 Subject: [PATCH 40/75] Tada --- _maps/map_files/CogStation/CogStation.dmm | 19 ++++++---- .../map_files/Deltastation/DeltaStation2.dmm | 6 +-- _maps/map_files/KiloStation/KiloStation.dmm | 38 ++----------------- _maps/map_files/MetaStation/MetaStation.dmm | 25 ++++-------- _maps/map_files/OmegaStation/OmegaStation.dmm | 4 +- _maps/map_files/PubbyStation/PubbyStation.dmm | 17 +++++++++ 6 files changed, 43 insertions(+), 66 deletions(-) diff --git a/_maps/map_files/CogStation/CogStation.dmm b/_maps/map_files/CogStation/CogStation.dmm index 6f5bab0498..e41f6c7d89 100644 --- a/_maps/map_files/CogStation/CogStation.dmm +++ b/_maps/map_files/CogStation/CogStation.dmm @@ -6004,12 +6004,12 @@ c_tag = "Security Checkpoint"; pixel_x = 22 }, -/obj/machinery/newscaster/security_unit{ - pixel_y = 32 - }, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/airalarm{ + pixel_y = 23 + }, /turf/open/floor/plasteel, /area/security/checkpoint) "aoz" = ( @@ -32290,10 +32290,6 @@ dir = 8; light_color = "#e8eaff" }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, /turf/open/floor/plasteel, /area/hydroponics) "bsl" = ( @@ -71184,6 +71180,13 @@ /obj/machinery/atmospherics/pipe/simple/yellow/visible, /turf/open/floor/plasteel, /area/engine/atmos) +"pMW" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel, +/area/hydroponics) "pZq" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; @@ -121382,7 +121385,7 @@ amV aqI aqB aGO -auy +pMW aqB aqI amV diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 07902b28b1..368b85938c 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -49530,7 +49530,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ - dir = 10 + dir = 8 }, /turf/open/floor/plasteel, /area/engine/gravity_generator) @@ -113323,10 +113323,6 @@ /obj/item/clothing/gloves/color/black, /obj/item/storage/box/evidence, /obj/item/taperecorder, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 408efad32f..1b37eea20c 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -30529,9 +30529,6 @@ dir = 8 }, /obj/structure/closet/bombcloset, -/obj/machinery/airalarm{ - pixel_y = 24 - }, /turf/open/floor/plasteel/dark, /area/science/mixing) "aXC" = ( @@ -43701,10 +43698,6 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, /mob/living/simple_animal/chicken{ desc = "The arch-nemesis of Kentucky."; name = "Popeye"; @@ -46363,9 +46356,6 @@ "bwK" = ( /obj/structure/flora/grass/jungle/b, /obj/structure/flora/ausbushes/sparsegrass, -/obj/machinery/airalarm{ - pixel_y = 22 - }, /turf/open/floor/grass, /area/chapel/main) "bwL" = ( @@ -48132,16 +48122,6 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/security/brig) -"bzx" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/locker) "bzy" = ( /obj/machinery/light/small{ dir = 8 @@ -58156,10 +58136,6 @@ icon_state = "plant-02"; pixel_y = 3 }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, /obj/machinery/camera{ c_tag = "Prison Wing Cells"; dir = 4; @@ -61358,7 +61334,7 @@ dir = 10 }, /turf/open/floor/plasteel, -/area/space) +/area/security/warden) "bUs" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -67210,10 +67186,6 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, /turf/open/floor/plasteel, /area/security/main) "cdU" = ( @@ -71327,9 +71299,9 @@ icon_gib = "magicarp_gib"; icon_living = "magicarp"; icon_state = "magicarp"; + maxHealth = 200; max_co2 = 5; max_tox = 2; - maxHealth = 200; melee_damage_lower = 15; melee_damage_upper = 20; min_oxy = 5; @@ -83281,10 +83253,6 @@ /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 5 }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, /obj/machinery/camera{ c_tag = "Atmospherics Port Tanks"; dir = 4; @@ -108992,7 +108960,7 @@ bss btV aEu bxW -bzx +bIV bKq bKq bKq diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 34fea2180d..c2a0e5c353 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -1111,10 +1111,6 @@ /turf/open/floor/plasteel, /area/security/prison) "acx" = ( -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, /obj/machinery/cryopod{ dir = 8 }, @@ -40497,10 +40493,9 @@ /area/maintenance/port) "bBr" = ( /obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 + dir = 1; + pixel_y = -22 }, -/obj/structure/displaycase/trophy, /turf/open/floor/wood, /area/library) "bBs" = ( @@ -45866,10 +45861,6 @@ /area/library) "bML" = ( /obj/machinery/light/small, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, /turf/open/floor/wood, /area/library) "bMM" = ( @@ -59581,6 +59572,10 @@ /obj/structure/chair{ dir = 1 }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, /turf/open/floor/plasteel/dark, /area/medical/surgery) "coz" = ( @@ -61596,10 +61591,6 @@ /turf/open/floor/plasteel/white, /area/medical/surgery) "csl" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, /obj/structure/window/reinforced{ dir = 8 }, @@ -102698,7 +102689,7 @@ bue bwa bxU bzD -bBr +dmD bSx bEw bzE @@ -103733,7 +103724,7 @@ bGs bHS bzE bLk -bzE +bBr bue bPS bPR diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index f4d798511f..24b9559c07 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -4924,7 +4924,6 @@ /obj/effect/turf_decal/stripes/end{ dir = 1 }, -/obj/item/gun/energy/e_gun/hos, /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -40544,6 +40543,9 @@ name = "Starboard Quater Maintenance APC"; pixel_y = -26 }, +/obj/structure/cable/white{ + icon_state = "0-8" + }, /turf/open/floor/plating{ icon_state = "panelscorched" }, diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 12ae0092f0..12c507c2bf 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -16530,6 +16530,9 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, /turf/open/floor/plasteel, /area/quartermaster/warehouse) "aMr" = ( @@ -47631,6 +47634,9 @@ pixel_x = -25; specialfunctions = 4 }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, /turf/open/floor/plasteel/grimy, /area/chapel/main/monastery) "cgM" = ( @@ -47979,6 +47985,9 @@ pixel_x = -25; specialfunctions = 4 }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, /turf/open/floor/plasteel/grimy, /area/chapel/main/monastery) "cip" = ( @@ -51466,6 +51475,10 @@ name = "Coffin Storage"; req_one_access_txt = "22" }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, /turf/open/floor/plasteel/dark, /area/chapel/main/monastery) "cvu" = ( @@ -59434,6 +59447,10 @@ /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 23 + }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) "qXq" = ( From 661a5e6580f9cd72588b0a2dbf8889563f0cdba9 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Sat, 23 Jan 2021 03:53:36 -0500 Subject: [PATCH 41/75] WHOOPS DIDN'T MEAN TO DELETE THAT --- _maps/map_files/OmegaStation/OmegaStation.dmm | 1 + 1 file changed, 1 insertion(+) diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 24b9559c07..6f7f211b3e 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -4928,6 +4928,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/item/gun/energy/e_gun/hos, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain/private) "ahI" = ( From cbc19c7e91bcfa9739c4e00eb175378fc5ded0f6 Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Sat, 23 Jan 2021 19:37:39 -0600 Subject: [PATCH 42/75] depcards not in lockers --- code/game/objects/items/cards_ids.dm | 26 +++++++++++++++++++++++++- icons/obj/card.dmi | Bin 15291 -> 16929 bytes 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 5b1b86b9e4..7d2b0ed832 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -779,16 +779,40 @@ /obj/item/card/id/departmental_budget/update_label() return +/obj/item/card/id/departmental_budget/civ + department_ID = ACCOUNT_CIV + department_name = ACCOUNT_CIV_NAME + +/obj/item/card/id/departmental_budget/eng + department_ID = ACCOUNT_ENG + department_name = ACCOUNT_ENG_NAME + +/obj/item/card/id/departmental_budget/sci + department_ID = ACCOUNT_SCI + department_name = ACCOUNT_SCI_NAME + +/obj/item/card/id/departmental_budget/med + department_ID = ACCOUNT_MED + department_name = ACCOUNT_MED_NAME + +/obj/item/card/id/departmental_budget/srv + department_ID = ACCOUNT_SRV + department_name = ACCOUNT_SRV_NAME + /obj/item/card/id/departmental_budget/car department_ID = ACCOUNT_CAR department_name = ACCOUNT_CAR_NAME +/obj/item/card/id/departmental_budget/sec + department_ID = ACCOUNT_SEC + department_name = ACCOUNT_SEC_NAME + //Polychromatic Knight Badge /obj/item/card/id/knight name = "knight badge" icon_state = "knight" - desc = "A badge denoting the owner as a knight! It has a strip for swiping like an ID" + desc = "A badge denoting the owner as a knight! It has a strip for swiping like an ID." var/id_color = "#00FF00" //defaults to green var/mutable_appearance/id_overlay diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi index 13a0725b05653393a1b8f68b6cf6a691f4a6face..1bd94f24241a1d07bb6c97c41ba8e12731299549 100644 GIT binary patch literal 16929 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�v%yd0JmYvY+K#EChh_vOe6Z+Ihf1_VtnZM}ypJa^7cSb>931AW0=1rexeK@tuI2f?{$_)@5#^VTo~3K(pb#P&

    (J7{OJ9QXj`)Lmcl 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 literal 15291 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�e}O^D!-Yt9%^Et-Z=<2&}%d=&g|@zH=EKhw7vo`E<7BzTR@; zJ!{ZKHF0$!TvMyVKjOuwRBTg z%{E%?!$stKfya)$!;DanYo~}aSheiM?BB%fsAnnouW?Ag@(ZE3NK<7c&J*4>u;>_K zVL~ykB0l5|%=rVeNg=fqr2LH1LQo)Co#J<`TENTGII&@g7fUm6`BhyEuxF6puJ(vY zYB1PwIm;JJBNQ=JbYp%8dotPTX8Krgz%d#^+!I z*H6(K9puaJZOA|Wej&v5G4Aj?_O?fK%VA-#CB|xWu}Muj-}f7%f|kHom(`U)ny~hA z`p&5ty8%R+_tldC(?B@vFJre?wjF47PL$-A)~ z(Q$O<9#t7L-mQ*JbIaNW0Y? zU=3^>L|mL>k}wJ={cf@OsEYip(T0A*od#A8_uY0Gi5xv_K^=iFBOu@QSs^#8Mp;;} zmZ(Rtc?S>GtBFW4BbzvNcE_cNKE@j|Z6N)4y}ON^t}UsA0^14RH^<74uQv$ll09=4 zcTxijmwEp}$YP}|=+Zhzi>+hz&L&Y%DMsnSlj9UYMsxUIFQoe$DBB11D+l zRARzEx{BGLpm1|gKHUQ<+EoPEl^8S*ym^peu+>K{d#{j^3cfZG)nwo}Ye*BDq|G=Y0aqRfYJa`d z*Mq6LFuif(T|O?H=Tl?*`M3AbmUpoHXt)BQP)p||S{tcl2Tp08IS(6J6XIo{{y zlAlQAB!A+PVS-^*b->G*wffBOq=z(dm^&#r1u|zTF78LrrWpJ6@U-5EORm2|O91+Z z!Y_LXzk?Cv_Ik89jz?vgqvRq*?8Gygk4y*+pQYQBK%?WNtJorlO2;?<>J`+P4urpp*nUX?N3Qp&*8{ffH(bQ~M@CKIQBa&|xq->)m<3Z$f zi5xa=9QQ(M@{gPTrMTw|%^aa!QT;9;j`s{sn1Yu5&{i54^> z5Y?d_ZRAD`z@T-VY@D0SzrAC!MOMaNy?Q!Dj$Av@rFr^YYT6a0a?R@Gu`W`$uhaFF zw1lZjZpR;Wc}o?eV4Cv;`>BoiE3f3Fysd#mk;d1B2N8-N!Sx{@uciYmb|*_?_Rctz zLQwU{Ej~ci{iH)@rMD~JM!+k5MA*cOsbvoi&}WQ$?2-r6(@ow*76 z9ri&iV42U#%BsMi!We&|9c1uQ%Vh4(bJvg2$(6*d#wn=tZEue6nIg#UQs%(jS zRbdnO+b5|tg{2sL96j5g-KGR)1p@9OcHrCoLw!q`0C8>=Uh zns?)x7i%!&A_6~z;7z&e)u@%AK9qIuW;Z?{A}gtqKeHVchz^Buxf-$wz~#@bhURptvS8W>NBq;%i?u`C z)iE$jpijBa?*OhQXaY3o04@dwQ4a;TE``}Tzp$A*cSiBUKgGvm0-ciHpgyUM7)}?A zC!rS!3jOgz(g6j&X5zU!`E$+ezPZm4vcYY+10tUNgqmmA?+5(k%ZNbs`IR-wa{cfI z@=p^ufpJ~s8eZlTGkPg^Sx0!#kIAZ)wbfM?=|5Cq=gQ^@sAZY=1(>)bS57Q{M*?4< z(cAdtzy-6F^~YGY?JP$}1{RWoFDCx$`kgg2M0UwKFQoh|34AFR NP?pz_tCY0}{vWCqdCLF* From 6e4b2b04d5dbfe25477f9398e662872929985f2a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 23 Jan 2021 22:49:48 -0600 Subject: [PATCH 43/75] Automatic changelog generation for PR #14130 [ci skip] --- html/changelogs/AutoChangeLog-pr-14130.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14130.yml diff --git a/html/changelogs/AutoChangeLog-pr-14130.yml b/html/changelogs/AutoChangeLog-pr-14130.yml new file mode 100644 index 0000000000..50239f6ae1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14130.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - tweak: "you can now shove yourself up in any intent, not just help." From 91cd7378ca51abf28cae25df0efa2f4d8e295394 Mon Sep 17 00:00:00 2001 From: Artur Date: Sun, 24 Jan 2021 16:05:42 +0200 Subject: [PATCH 44/75] Give Improved --- code/_onclick/right_click.dm | 6 +----- code/game/objects/items.dm | 4 ++++ code/game/objects/items/stunbaton.dm | 6 ++++++ code/modules/mob/living/carbon/carbon.dm | 22 ++++++++++++++++++++++ 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/code/_onclick/right_click.dm b/code/_onclick/right_click.dm index 9a99bbd20b..4b2480eb8c 100644 --- a/code/_onclick/right_click.dm +++ b/code/_onclick/right_click.dm @@ -51,11 +51,7 @@ //Standard reach turf to turf or reaching inside storage if(CanReach(A,W)) if(W) - if(a_intent == INTENT_HELP && iscarbon(src)) - var/mob/living/carbon/C = src - C.give() - else - return W.rightclick_melee_attack_chain(src, A, params) + return W.rightclick_melee_attack_chain(src, A, params) else if(!AltUnarmedAttack(A, TRUE)) . = UnarmedAttack(A, TRUE, a_intent) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 251e2fe327..8e3441400a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -939,6 +939,10 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item/proc/get_part_rating() return 0 +//Can this item be given to people? +/obj/item/proc/can_give() + return TRUE + /obj/item/doMove(atom/destination) if (ismob(loc)) var/mob/M = loc diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index d7db5ce908..b52d138385 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -236,6 +236,12 @@ if(!iscyborg(loc)) deductcharge(severity*10, TRUE, FALSE) +/obj/item/melee/baton/can_give() + if(turned_on) + return FALSE + else + ..() + /obj/item/melee/baton/stunsword name = "stunsword" desc = "Not actually sharp, this sword is functionally identical to its baton counterpart." diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 45a0d82d2c..979baeb065 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1229,3 +1229,25 @@ */ /mob/living/carbon/proc/get_biological_state() return BIO_FLESH_BONE + +/mob/living/carbon/altattackby(obj/item/W, mob/living/carbon/user, params) + if(user.incapacitated() || !user.Adjacent(src)) + return FALSE + if(W && user.a_intent == INTENT_HELP && W.can_give()) + user.give() + return TRUE + +/mob/living/carbon/verb/give_verb() + set src in oview(1) + set category = "IC" + set name = "Give" + + if(usr.incapacitated() || !usr.Adjacent(src)) + return + + if(!usr.get_active_held_item()) // Let me know if this has any problems -Yota + return + var/obj/item/I = usr.get_active_held_item() + var/mob/living/carbon/C = usr + if(I.can_give()) + C.give() From 6c3abaaf1ee912d2b2b93a483226367adf0cbdd4 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 24 Jan 2021 13:19:45 -0600 Subject: [PATCH 45/75] Automatic changelog generation for PR #14126 [ci skip] --- html/changelogs/AutoChangeLog-pr-14126.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14126.yml diff --git a/html/changelogs/AutoChangeLog-pr-14126.yml b/html/changelogs/AutoChangeLog-pr-14126.yml new file mode 100644 index 0000000000..999b63fe97 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14126.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - bugfix: "Making a monkey into a human doesn't unanchor random things on the tile" From cde0704dfe5e2c8b1aec7b162232d77199e1dd1c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 24 Jan 2021 13:20:07 -0600 Subject: [PATCH 46/75] Automatic changelog generation for PR #14123 [ci skip] --- html/changelogs/AutoChangeLog-pr-14123.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14123.yml diff --git a/html/changelogs/AutoChangeLog-pr-14123.yml b/html/changelogs/AutoChangeLog-pr-14123.yml new file mode 100644 index 0000000000..2812845d57 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14123.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - bugfix: "Alien radio code" From cc111a2c662002de704ac174c5667d9806df6ca9 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 24 Jan 2021 13:21:29 -0600 Subject: [PATCH 47/75] Automatic changelog generation for PR #14125 [ci skip] --- html/changelogs/AutoChangeLog-pr-14125.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14125.yml diff --git a/html/changelogs/AutoChangeLog-pr-14125.yml b/html/changelogs/AutoChangeLog-pr-14125.yml new file mode 100644 index 0000000000..1b0a6bf4cc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14125.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Makes encryption keys be put in the hands of the user when able instead of being dropped on the floor when removed from headsets" From dcbe6de7154c6a8ce0bbafc8aac3865dde6affe3 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 24 Jan 2021 13:23:15 -0600 Subject: [PATCH 48/75] Automatic changelog generation for PR #14121 [ci skip] --- html/changelogs/AutoChangeLog-pr-14121.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14121.yml diff --git a/html/changelogs/AutoChangeLog-pr-14121.yml b/html/changelogs/AutoChangeLog-pr-14121.yml new file mode 100644 index 0000000000..74c33a81fd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14121.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - rscadd: "Microwave can now be cleaned by a damp rag as well as soap." From c3009c8b0624c7366017af39b3ebab45c5131a03 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 24 Jan 2021 13:24:21 -0600 Subject: [PATCH 49/75] Automatic changelog generation for PR #14129 [ci skip] --- html/changelogs/AutoChangeLog-pr-14129.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14129.yml diff --git a/html/changelogs/AutoChangeLog-pr-14129.yml b/html/changelogs/AutoChangeLog-pr-14129.yml new file mode 100644 index 0000000000..839d02d6ac --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14129.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - bugfix: "Makes a few slight improvements to drinking code" From 3902d063fd61fcfe97a32575f9c72899c749e834 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 24 Jan 2021 13:25:52 -0600 Subject: [PATCH 50/75] Automatic changelog generation for PR #14128 [ci skip] --- html/changelogs/AutoChangeLog-pr-14128.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14128.yml diff --git a/html/changelogs/AutoChangeLog-pr-14128.yml b/html/changelogs/AutoChangeLog-pr-14128.yml new file mode 100644 index 0000000000..ddb75cd9d4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14128.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - bugfix: "Removes some unused code, and improves some other code." From 5e31c105709567655d6bcc98c38a7641db12793a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 24 Jan 2021 13:30:45 -0600 Subject: [PATCH 51/75] Automatic changelog generation for PR #14124 [ci skip] --- html/changelogs/AutoChangeLog-pr-14124.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14124.yml diff --git a/html/changelogs/AutoChangeLog-pr-14124.yml b/html/changelogs/AutoChangeLog-pr-14124.yml new file mode 100644 index 0000000000..e69a5f4594 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14124.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - rscadd: "The AI has a verb to look up and down z-levels" From 59f59178f4430cf466288979ef0c432e5d032cbe Mon Sep 17 00:00:00 2001 From: raspy-on-osu Date: Sun, 24 Jan 2021 19:24:50 -0500 Subject: [PATCH 52/75] does this work --- code/__DEFINES/dcs/signals.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 849a188e06..a1bb4122a8 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -541,12 +541,9 @@ #define COMSIG_XENO_TURF_CLICK_CTRL "xeno_turf_click_alt" //from turf AltClickOn(): (/mob) #define COMSIG_XENO_MONKEY_CLICK_CTRL "xeno_monkey_click_ctrl" //from monkey CtrlClickOn(): (/mob) -<<<<<<< HEAD // /datum/element/ventcrawling signals #define COMSIG_HANDLE_VENTCRAWL "handle_ventcrawl" //when atom with ventcrawling element attempts to ventcrawl #define COMSIG_CHECK_VENTCRAWL "check_ventcrawl" //to check an atom's ventcrawling element tier (if applicable) -======= // twitch plays /// Returns direction: (wipe_votes) #define COMSIG_TWITCH_PLAYS_MOVEMENT_DATA "twitch_plays_movement_data" ->>>>>>> 5e31c105709567655d6bcc98c38a7641db12793a From 79640e912d83135c59433f38bc60c2f038d6b64e Mon Sep 17 00:00:00 2001 From: raspy-on-osu Date: Sun, 24 Jan 2021 19:30:15 -0500 Subject: [PATCH 53/75] bread in french (who added living bread?) --- code/modules/mob/living/simple_animal/hostile/bread.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/bread.dm b/code/modules/mob/living/simple_animal/hostile/bread.dm index 317827028d..70c8b0c540 100644 --- a/code/modules/mob/living/simple_animal/hostile/bread.dm +++ b/code/modules/mob/living/simple_animal/hostile/bread.dm @@ -26,7 +26,6 @@ speak_emote = list("growls") mouse_opacity = 2 density = TRUE - ventcrawler = VENTCRAWLER_ALWAYS verb_say = "growls" verb_ask = "growls inquisitively" verb_exclaim = "growls loudly" @@ -38,6 +37,7 @@ var/area/A = get_area(src) if(A) notify_ghosts("A tumor bread has been created in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE, ignore_dnr_observers = TRUE) + AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /mob/living/simple_animal/hostile/bread/attack_ghost(mob/user) if(key) //please stop using src. without a good reason. From 1f37daf9c0ad14785d113532b309bf2f9bfa632f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 24 Jan 2021 18:34:49 -0600 Subject: [PATCH 54/75] Automatic changelog generation for PR #13876 [ci skip] --- html/changelogs/AutoChangeLog-pr-13876.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-13876.yml diff --git a/html/changelogs/AutoChangeLog-pr-13876.yml b/html/changelogs/AutoChangeLog-pr-13876.yml new file mode 100644 index 0000000000..70c43a185d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13876.yml @@ -0,0 +1,4 @@ +author: "raspy-on-osu" +delete-after: True +changes: + - refactor: "ventcrawling" From 56565295af7b2773374773706d35ca4b71e83318 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 25 Jan 2021 00:45:10 +0000 Subject: [PATCH 55/75] Automatic changelog compile [ci skip] --- html/changelog.html | 20 ++++++++++++++++++++ html/changelogs/.all_changelog.yml | 14 ++++++++++++++ html/changelogs/AutoChangeLog-pr-13876.yml | 4 ---- html/changelogs/AutoChangeLog-pr-14121.yml | 4 ---- html/changelogs/AutoChangeLog-pr-14123.yml | 4 ---- html/changelogs/AutoChangeLog-pr-14124.yml | 4 ---- html/changelogs/AutoChangeLog-pr-14125.yml | 4 ---- html/changelogs/AutoChangeLog-pr-14126.yml | 4 ---- html/changelogs/AutoChangeLog-pr-14128.yml | 4 ---- html/changelogs/AutoChangeLog-pr-14129.yml | 4 ---- html/changelogs/AutoChangeLog-pr-14130.yml | 4 ---- 11 files changed, 34 insertions(+), 36 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-13876.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-14121.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-14123.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-14124.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-14125.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-14126.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-14128.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-14129.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-14130.yml diff --git a/html/changelog.html b/html/changelog.html index 0a446ddb4b..b18d4f45aa 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -50,6 +50,26 @@ -->

    +

    25 January 2021

    +

    MrJWhit updated:

    +
      +
    • Alien radio code
    • +
    • Microwave can now be cleaned by a damp rag as well as soap.
    • +
    • Removes some unused code, and improves some other code.
    • +
    • The AI has a verb to look up and down z-levels
    • +
    • Making a monkey into a human doesn't unanchor random things on the tile
    • +
    • Makes a few slight improvements to drinking code
    • +
    • Makes encryption keys be put in the hands of the user when able instead of being dropped on the floor when removed from headsets
    • +
    +

    raspy-on-osu updated:

    +
      +
    • ventcrawling
    • +
    +

    silicons updated:

    +
      +
    • you can now shove yourself up in any intent, not just help.
    • +
    +

    22 January 2021

    Arturlang updated:

      diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 34d1c5b7b0..215e3c8582 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -28256,3 +28256,17 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - rscadd: Adds a way to give items to people, you can combat mode rightclick to offer it to one person, right click on people without mode and click the give verb, or use the hotkey CTRL G to offer it to everyone around you +2021-01-25: + MrJWhit: + - bugfix: Alien radio code + - rscadd: Microwave can now be cleaned by a damp rag as well as soap. + - bugfix: Removes some unused code, and improves some other code. + - rscadd: The AI has a verb to look up and down z-levels + - bugfix: Making a monkey into a human doesn't unanchor random things on the tile + - bugfix: Makes a few slight improvements to drinking code + - tweak: Makes encryption keys be put in the hands of the user when able instead + of being dropped on the floor when removed from headsets + raspy-on-osu: + - refactor: ventcrawling + silicons: + - tweak: you can now shove yourself up in any intent, not just help. diff --git a/html/changelogs/AutoChangeLog-pr-13876.yml b/html/changelogs/AutoChangeLog-pr-13876.yml deleted file mode 100644 index 70c43a185d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-13876.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "raspy-on-osu" -delete-after: True -changes: - - refactor: "ventcrawling" diff --git a/html/changelogs/AutoChangeLog-pr-14121.yml b/html/changelogs/AutoChangeLog-pr-14121.yml deleted file mode 100644 index 74c33a81fd..0000000000 --- a/html/changelogs/AutoChangeLog-pr-14121.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "MrJWhit" -delete-after: True -changes: - - rscadd: "Microwave can now be cleaned by a damp rag as well as soap." diff --git a/html/changelogs/AutoChangeLog-pr-14123.yml b/html/changelogs/AutoChangeLog-pr-14123.yml deleted file mode 100644 index 2812845d57..0000000000 --- a/html/changelogs/AutoChangeLog-pr-14123.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "MrJWhit" -delete-after: True -changes: - - bugfix: "Alien radio code" diff --git a/html/changelogs/AutoChangeLog-pr-14124.yml b/html/changelogs/AutoChangeLog-pr-14124.yml deleted file mode 100644 index e69a5f4594..0000000000 --- a/html/changelogs/AutoChangeLog-pr-14124.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "MrJWhit" -delete-after: True -changes: - - rscadd: "The AI has a verb to look up and down z-levels" diff --git a/html/changelogs/AutoChangeLog-pr-14125.yml b/html/changelogs/AutoChangeLog-pr-14125.yml deleted file mode 100644 index 1b0a6bf4cc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-14125.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "MrJWhit" -delete-after: True -changes: - - tweak: "Makes encryption keys be put in the hands of the user when able instead of being dropped on the floor when removed from headsets" diff --git a/html/changelogs/AutoChangeLog-pr-14126.yml b/html/changelogs/AutoChangeLog-pr-14126.yml deleted file mode 100644 index 999b63fe97..0000000000 --- a/html/changelogs/AutoChangeLog-pr-14126.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "MrJWhit" -delete-after: True -changes: - - bugfix: "Making a monkey into a human doesn't unanchor random things on the tile" diff --git a/html/changelogs/AutoChangeLog-pr-14128.yml b/html/changelogs/AutoChangeLog-pr-14128.yml deleted file mode 100644 index ddb75cd9d4..0000000000 --- a/html/changelogs/AutoChangeLog-pr-14128.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "MrJWhit" -delete-after: True -changes: - - bugfix: "Removes some unused code, and improves some other code." diff --git a/html/changelogs/AutoChangeLog-pr-14129.yml b/html/changelogs/AutoChangeLog-pr-14129.yml deleted file mode 100644 index 839d02d6ac..0000000000 --- a/html/changelogs/AutoChangeLog-pr-14129.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "MrJWhit" -delete-after: True -changes: - - bugfix: "Makes a few slight improvements to drinking code" diff --git a/html/changelogs/AutoChangeLog-pr-14130.yml b/html/changelogs/AutoChangeLog-pr-14130.yml deleted file mode 100644 index 50239f6ae1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-14130.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "silicons" -delete-after: True -changes: - - tweak: "you can now shove yourself up in any intent, not just help." From f2d9643c75f6d39de338ebb109dd8bd9741cde32 Mon Sep 17 00:00:00 2001 From: raspy-on-osu Date: Sun, 24 Jan 2021 22:31:39 -0500 Subject: [PATCH 56/75] init --- code/datums/elements/ventcrawling.dm | 9 +++++++-- .../mob/living/carbon/human/species_types/golems.dm | 2 +- .../mob/living/carbon/human/species_types/vampire.dm | 2 +- .../living/simple_animal/friendly/drone/interaction.dm | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/code/datums/elements/ventcrawling.dm b/code/datums/elements/ventcrawling.dm index 4af3a085ef..254345a97f 100644 --- a/code/datums/elements/ventcrawling.dm +++ b/code/datums/elements/ventcrawling.dm @@ -6,6 +6,10 @@ /datum/element/ventcrawling/Attach(datum/target, duration = 0, given_tier = VENTCRAWLER_NUDE) . = ..() + var/mob/living/person = target + if(!istype(person)) + return FALSE + src.tier = given_tier RegisterSignal(target, COMSIG_HANDLE_VENTCRAWL, .proc/handle_ventcrawl) @@ -16,9 +20,10 @@ addtimer(CALLBACK(src, .proc/Detach, target), duration) /datum/element/ventcrawling/Detach(datum/target) - . = ..() - UnregisterSignal(target, list(COMSIG_HANDLE_VENTCRAWL, COMSIG_CHECK_VENTCRAWL)) + to_chat(target, "You can no longer ventcrawl.") + + return ..() /datum/element/ventcrawling/proc/handle_ventcrawl(datum/target,atom/A) var/mob/living/person = target diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 858e3000fb..75aff774ce 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -805,7 +805,7 @@ /datum/species/golem/plastic/on_species_loss(mob/living/carbon/C) . = ..() - C.RemoveElement(/datum/element/ventcrawling) + C.RemoveElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /datum/species/golem/bronze name = "Bronze Golem" diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 2296b69762..5e07150ce6 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -169,7 +169,7 @@ if(istype(H, /mob/living/simple_animal)) var/mob/living/simple_animal/SA = H if((human_caster.blood_volume <= (BLOOD_VOLUME_BAD*human_caster.blood_ratio)) || (ventcrawl_nude_only && length(human_caster.get_equipped_items(include_pockets = TRUE)))) - SA.RemoveElement(/datum/element/ventcrawling) + SA.RemoveElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) if(transfer_name) H.name = human_caster.name diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm index 0728484cea..11d7884999 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm @@ -110,7 +110,7 @@ to_chat(src, "Your onboard antivirus has initiated lockdown. Motor servos are impaired, ventilation access is denied, and your display reports that you are hacked to all nearby.") hacked = TRUE mind.special_role = "hacked drone" - RemoveElement(/datum/element/ventcrawling) // balance + RemoveElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) // balance speed = 1 //gotta go slow message_admins("[src] ([src.key]) became a hacked drone hellbent on [clockwork ? "serving Ratvar" : "destroying the station"]!") else From e85379eea2ae1c448ac94b7a629fcee6bf20dde8 Mon Sep 17 00:00:00 2001 From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com> Date: Sun, 24 Jan 2021 21:36:04 -0800 Subject: [PATCH 57/75] a --- .../mob/living/simple_animal/bot/floorbot.dm | 15 +++++++++++++++ sound/effects/whistlereset.ogg | Bin 0 -> 16689 bytes 2 files changed, 15 insertions(+) create mode 100644 sound/effects/whistlereset.ogg diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 0ba4023864..1fe0e84598 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -335,6 +335,11 @@ /mob/living/simple_animal/bot/floorbot/proc/repair(turf/target_turf) + if(check_bot_working(target_turf)) + add_to_ignore(target_turf) + target = null + playsound(src, 'sound/effects/whistlereset.ogg', 50, TRUE) + return if(isspaceturf(target_turf)) //Must be a hull breach or in line mode to continue. if(!is_hull_breach(target_turf) && !targetdirection) @@ -418,3 +423,13 @@ repair(A) else ..() + +/** + * Checks a given turf to see if another floorbot is there, working as well. + */ +/mob/living/simple_animal/bot/floorbot/proc/check_bot_working(turf/active_turf) + if(isturf(active_turf)) + for(var/mob/living/simple_animal/bot/floorbot/robot in active_turf) + if(robot.mode == BOT_REPAIRING) + return TRUE + return FALSE \ No newline at end of file diff --git a/sound/effects/whistlereset.ogg b/sound/effects/whistlereset.ogg new file mode 100644 index 0000000000000000000000000000000000000000..cf55c06ca88f100b7d10a2e304c4eaed4b475387 GIT binary patch literal 16689 zcmeIZbyQr>(kQxd2o@xGkU(&EXCT2Lc<>Np(BSS9LxLr^PawDkcMHKSI0X0L!JWCA zpbUAs%Vs(bgSSy^cT$iP2of#GjOfimV2i5khn(Z$Th z^$vvmwCEoc=fB9cNNRUI|DEo7B7sjiT`Y!#Vu=5iKB4>_iVeijvvIQKRCBSSePv_z z{0{+IMOt2N9$s!6h&6Jr(bY8~96iLs#_Wai;Ko&PFm`7Is*04e}u#)|y1u4p?b zVnxOj>GD~`=9zFVEyf3pMG>rTCyeF}Ih8qf4udR@F>&?Lz$Xpi5M0pofgbY~Rv4j>Y`VmX?7sVV)+Y+0UYU{#k`@VAazH*#D zD4 z@XNdMce#p#S>EkwPprzou?qgbgm5Qz0D$mNbvRS?fZWjJ7=m$1M>;aUrHcCNX9B{@{i=B0TI09wa@v)DWh$n z+9^zR`H3liB=~BOd;%uan#q#IqSm z#>k)61N-X#NM6sYBL-`su_;Vdb=rT&`$sMEU!)GUi7bIVLVu>%)nOTfwF`^Xy#cH{ z*nd|a2q-txDYDMAH?;nd=w`%pIdn19Zc%tKpLx1jvZx~><&^T@s%w%nWxKukGjm!1 zcz6Gg7XPdGqso7^I4k-CYcF#}KW`uVT~X9ND7yW%{r(di9#D(f1wbv1s9H~VEfG<$ z%dVO*V9SoxRAR~gYf+$3X)QiVqm%zJlAuJFUY1f2{B zSbqilFUxTz?)pU4^NB&ZoI!Pjec+H^?TCMvNLGViRqKKA@B{Zz5~!A-@u&cFR0lfl z0iCXf8rJyhSN~%$f6ZoL()~Xy=gvePiA1g_M5F$f<$Pw2To#U`SBz%Rk7o3aw+c

      qM^w#t|>6C$)Tey@xQhhuyveY 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 literal 0 HcmV?d00001 From 8176bf30ffc1e0ab7ca56f9fcc49f7de9d0b3658 Mon Sep 17 00:00:00 2001 From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com> Date: Sun, 24 Jan 2021 21:51:08 -0800 Subject: [PATCH 58/75] new line --- code/modules/mob/living/simple_animal/bot/floorbot.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 1fe0e84598..ff6941ec70 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -432,4 +432,5 @@ for(var/mob/living/simple_animal/bot/floorbot/robot in active_turf) if(robot.mode == BOT_REPAIRING) return TRUE - return FALSE \ No newline at end of file + return FALSE + From b569d592718ea4baeb942c1ca161a95da2826776 Mon Sep 17 00:00:00 2001 From: Artur Date: Mon, 25 Jan 2021 22:07:04 +0200 Subject: [PATCH 59/75] Did the suggestion --- code/modules/antagonists/revenant/revenant.dm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index 32d16b687d..ef58e5af39 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -445,10 +445,16 @@ var/mob/living/simple_animal/revenant/spooker = user if(!istype(throwable)) return - if(!throwable.anchored && !spooker.telekinesis_cooldown && spooker.castcheck(-25)) + if(!throwable.anchored && !spooker.telekinesis_cooldown && spooker.essence > 20) + if(7 < get_dist(throwable, spooker)) + return + if(3 >= get_dist(throwable, spooker)) + spooker.stun(10) + spooker.reveal(25) + else + spooker.stun(20) + spooker.reveal(50) spooker.change_essence_amount(-20, FALSE, "telekinesis") - spooker.stun(20) - spooker.reveal(50) spooker.telekinesis_cooldown = TRUE throwable.float(TRUE, TRUE) sleep(20) @@ -463,7 +469,7 @@ throwable.float(FALSE, TRUE) -//Use this for effects you want to happen when a revenant throws itself, check the TRAIT_SPOOKY_THROW if you want to know if its still being thrown +//Use this for effects you want to happen when a revenant throws stuff, check the TRAIT_SPOOKY_THROW if you want to know if its still being thrown /obj/item/proc/DoRevenantThrowEffects(atom/target) return TRUE From 6fb5067da46b3c84afe5f8de25788160160181cb Mon Sep 17 00:00:00 2001 From: SandPoot Date: Mon, 25 Jan 2021 19:40:35 -0300 Subject: [PATCH 60/75] upload files --- .../modules/integrated_electronics/core/integrated_circuit.dm | 4 ++-- code/modules/integrated_electronics/subtypes/manipulation.dm | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/integrated_electronics/core/integrated_circuit.dm b/code/modules/integrated_electronics/core/integrated_circuit.dm index f90b584d76..92d2aa270f 100644 --- a/code/modules/integrated_electronics/core/integrated_circuit.dm +++ b/code/modules/integrated_electronics/core/integrated_circuit.dm @@ -378,7 +378,7 @@ a creative player the means to solve many problems. Circuits are held inside an // Checks if the target object is reachable. Useful for various manipulators and manipulator-like objects. -/obj/item/integrated_circuit/proc/check_target(atom/target, exclude_contents = FALSE, exclude_components = FALSE, exclude_self = FALSE) +/obj/item/integrated_circuit/proc/check_target(atom/target, exclude_contents = FALSE, exclude_components = FALSE, exclude_self = FALSE, exclude_outside = FALSE) if(!target) return FALSE @@ -394,7 +394,7 @@ a creative player the means to solve many problems. Circuits are held inside an if(target == assembly.battery) return FALSE - if(target.Adjacent(acting_object) && isturf(target.loc)) + if(!exclude_outside && target.Adjacent(acting_object) && isturf(target.loc)) return TRUE if(!exclude_contents && (target in acting_object.GetAllContents())) diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index eac16d2950..e32f8daa2d 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -186,6 +186,8 @@ AM.forceMove(src) /obj/item/integrated_circuit/manipulation/grabber/proc/drop(obj/item/AM, turf/T = drop_location()) + if(!check_target(AM, FALSE, TRUE, TRUE, TRUE)) + return var/atom/A = get_object() A.investigate_log("dropped ([AM]) from [src].", INVESTIGATE_CIRCUIT) AM.forceMove(T) From 4ae31b3c6821efaea67288eae9e2b301027d517c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 25 Jan 2021 23:02:04 -0600 Subject: [PATCH 61/75] Automatic changelog generation for PR #14135 [ci skip] --- html/changelogs/AutoChangeLog-pr-14135.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14135.yml diff --git a/html/changelogs/AutoChangeLog-pr-14135.yml b/html/changelogs/AutoChangeLog-pr-14135.yml new file mode 100644 index 0000000000..bbbb7170b9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14135.yml @@ -0,0 +1,4 @@ +author: "raspy-on-osu" +delete-after: True +changes: + - bugfix: "bespoke ventcrawling element not detaching due to malformed call" From 4a2d77994c95af5375c942672e127ca2a208a88c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 25 Jan 2021 23:58:08 -0600 Subject: [PATCH 62/75] Automatic changelog generation for PR #14059 [ci skip] --- html/changelogs/AutoChangeLog-pr-14059.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14059.yml diff --git a/html/changelogs/AutoChangeLog-pr-14059.yml b/html/changelogs/AutoChangeLog-pr-14059.yml new file mode 100644 index 0000000000..c20e1165ab --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14059.yml @@ -0,0 +1,5 @@ +author: "Hatterhat" +delete-after: True +changes: + - rscdel: "Headsets can't be found on most legion corpses now." + - rscdel: "The flash on the assistant corpse is gone, too." From b0d2983bf420979a6b806293d5f7c2876dcf0262 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 25 Jan 2021 23:58:57 -0600 Subject: [PATCH 63/75] Automatic changelog generation for PR #14105 [ci skip] --- html/changelogs/AutoChangeLog-pr-14105.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14105.yml diff --git a/html/changelogs/AutoChangeLog-pr-14105.yml b/html/changelogs/AutoChangeLog-pr-14105.yml new file mode 100644 index 0000000000..08c86c9915 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14105.yml @@ -0,0 +1,6 @@ +author: "DeltaFire15" +delete-after: True +changes: + - admin: "The heretic antag panel now shows their sacrifices & current sacrifice targets." + - tweak: "The heretic roundend report now shows their sacrifices and nonsacrificed targets." + - bugfix: "Living hearts can no longer select the same target as another living heart, removing a certain problem." From ed2768d54e19561ebfd4cb501f843805ddd77d7c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 25 Jan 2021 23:59:13 -0600 Subject: [PATCH 64/75] Automatic changelog generation for PR #14114 [ci skip] --- html/changelogs/AutoChangeLog-pr-14114.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14114.yml diff --git a/html/changelogs/AutoChangeLog-pr-14114.yml b/html/changelogs/AutoChangeLog-pr-14114.yml new file mode 100644 index 0000000000..5035b47431 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14114.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - balance: "The free golem ship's GPSes no longer start on. They were never meant to, but they did." From abf8ac1b9a2cb8ca9ff273ea67aa792379715e82 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 25 Jan 2021 23:59:20 -0600 Subject: [PATCH 65/75] Automatic changelog generation for PR #14116 [ci skip] --- html/changelogs/AutoChangeLog-pr-14116.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14116.yml diff --git a/html/changelogs/AutoChangeLog-pr-14116.yml b/html/changelogs/AutoChangeLog-pr-14116.yml new file mode 100644 index 0000000000..fdbc7f2a6c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14116.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - admin: "adminhelps and pms only sanitize once instead of twice" From c21cbc2416a8863dd49101ca6ca135e717c1278e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 25 Jan 2021 23:59:27 -0600 Subject: [PATCH 66/75] Automatic changelog generation for PR #14117 [ci skip] --- html/changelogs/AutoChangeLog-pr-14117.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14117.yml diff --git a/html/changelogs/AutoChangeLog-pr-14117.yml b/html/changelogs/AutoChangeLog-pr-14117.yml new file mode 100644 index 0000000000..f3fcae5eae --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14117.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "blobs can use the 'me' verb" From 1d54e2d2337f6767a485f7876313aca512683bc9 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:00:55 -0600 Subject: [PATCH 67/75] Automatic changelog generation for PR #14137 [ci skip] --- html/changelogs/AutoChangeLog-pr-14137.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14137.yml diff --git a/html/changelogs/AutoChangeLog-pr-14137.yml b/html/changelogs/AutoChangeLog-pr-14137.yml new file mode 100644 index 0000000000..1b7602437b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14137.yml @@ -0,0 +1,4 @@ +author: "SandPoot" +delete-after: True +changes: + - bugfix: "The drop circuit can no longer drop things that are not inside it." From 14c4fc0cb26f2aae5b4717408075af6e897cdc88 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:01:26 -0600 Subject: [PATCH 68/75] Automatic changelog generation for PR #14136 [ci skip] --- html/changelogs/AutoChangeLog-pr-14136.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14136.yml diff --git a/html/changelogs/AutoChangeLog-pr-14136.yml b/html/changelogs/AutoChangeLog-pr-14136.yml new file mode 100644 index 0000000000..8b578f16e8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14136.yml @@ -0,0 +1,5 @@ +author: "shellspeed1" +delete-after: True +changes: + - bugfix: "Floorbots had had a software update, preventing them from dogpiling on their target as easily as they did before." + - soundadd: "Floorbots will now play a small chime when stacked on top of each other to indicate that they're moving apart." From 8075888e22c7411e5814e96526bfc6ce477f193a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:02:06 -0600 Subject: [PATCH 69/75] Automatic changelog generation for PR #14134 [ci skip] --- html/changelogs/AutoChangeLog-pr-14134.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14134.yml diff --git a/html/changelogs/AutoChangeLog-pr-14134.yml b/html/changelogs/AutoChangeLog-pr-14134.yml new file mode 100644 index 0000000000..c699728c67 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14134.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - rscadd: "Actually adds a right click give option" From 426a2446c454fb53534188e4486c5830d3db2dd5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:02:14 -0600 Subject: [PATCH 70/75] Automatic changelog generation for PR #14133 [ci skip] --- html/changelogs/AutoChangeLog-pr-14133.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14133.yml diff --git a/html/changelogs/AutoChangeLog-pr-14133.yml b/html/changelogs/AutoChangeLog-pr-14133.yml new file mode 100644 index 0000000000..9968f41134 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14133.yml @@ -0,0 +1,5 @@ +author: "Hatterhat" +delete-after: True +changes: + - tweak: "Department budget cards have been readded. TO THE CODE. NOT LOCKERS." + - tweak: "Also budget cards now look more like every other ID - see tgstation#55001." From fd52c5b5127ce90dd72156c058819fa25ff76403 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:03:58 -0600 Subject: [PATCH 71/75] Automatic changelog generation for PR #14131 [ci skip] --- html/changelogs/AutoChangeLog-pr-14131.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14131.yml diff --git a/html/changelogs/AutoChangeLog-pr-14131.yml b/html/changelogs/AutoChangeLog-pr-14131.yml new file mode 100644 index 0000000000..5838f49bb2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14131.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Remaps some air alarms for sanity." From 323efeb06fde4b1386c427d1381119b5477e53af Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:04:05 -0600 Subject: [PATCH 72/75] Automatic changelog generation for PR #14127 [ci skip] --- html/changelogs/AutoChangeLog-pr-14127.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14127.yml diff --git a/html/changelogs/AutoChangeLog-pr-14127.yml b/html/changelogs/AutoChangeLog-pr-14127.yml new file mode 100644 index 0000000000..2adc32ddd6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14127.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - balance: "One of the contractor tablet's payouts has been raised from a small payout to a medium payout." From 93738b7cbdb5121cc6fa6b9d4c52d39a8551b978 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:17:12 -0600 Subject: [PATCH 73/75] Automatic changelog generation for PR #14111 [ci skip] --- html/changelogs/AutoChangeLog-pr-14111.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14111.yml diff --git a/html/changelogs/AutoChangeLog-pr-14111.yml b/html/changelogs/AutoChangeLog-pr-14111.yml new file mode 100644 index 0000000000..39510c04a4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14111.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - rscadd: "Revenants can now clickdrag to throw stuff at people, with some items doing various things at the same time." From d2234dc6d8185fe4fd333a8aad1af61fab0f0f95 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:17:32 -0600 Subject: [PATCH 74/75] Automatic changelog generation for PR #14102 [ci skip] --- html/changelogs/AutoChangeLog-pr-14102.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14102.yml diff --git a/html/changelogs/AutoChangeLog-pr-14102.yml b/html/changelogs/AutoChangeLog-pr-14102.yml new file mode 100644 index 0000000000..38668ad1ed --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14102.yml @@ -0,0 +1,6 @@ +author: "ArcaneMusic, ported by Hatterhat" +delete-after: True +changes: + - rscadd: "Strike a hydroponics tray with a fully-charged floral somatoray to lock in a mutation." + - rscadd: "Floral somatorays now have the ability to force a mutation in a plant. This should drain the cell in a single shot, but we'll see." + - balance: "Somatorays now take uranium to craft instead of radium." From b711259762de12260af733f53c6dbfda3a8ca9a3 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:17:43 -0600 Subject: [PATCH 75/75] Automatic changelog generation for PR #14118 [ci skip] --- html/changelogs/AutoChangeLog-pr-14118.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14118.yml diff --git a/html/changelogs/AutoChangeLog-pr-14118.yml b/html/changelogs/AutoChangeLog-pr-14118.yml new file mode 100644 index 0000000000..7ff53a9ae7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14118.yml @@ -0,0 +1,6 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "The woundmending rite no longer causes runtimes." + - bugfix: "Ratvarian borgs can now use their tier-0 spells." + - balance: "Ratvarian borgs can always use their assigned spells, if there is enough power."