From f118fe8eda851cd9fbf1d312c469c495f6ae0c90 Mon Sep 17 00:00:00 2001 From: Heroman Date: Fri, 23 Aug 2019 10:46:42 +1000 Subject: [PATCH 01/18] Returns shadekin smites --- code/modules/admin/verbs/smite_vr.dm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/code/modules/admin/verbs/smite_vr.dm b/code/modules/admin/verbs/smite_vr.dm index 0d048dde2d..b0d4b8aa8c 100644 --- a/code/modules/admin/verbs/smite_vr.dm +++ b/code/modules/admin/verbs/smite_vr.dm @@ -18,7 +18,6 @@ feedback_add_details("admin_verb","SMITEV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! switch(smite_choice) - /* if(SMITE_SHADEKIN_ATTACK) var/turf/Tt = get_turf(target) //Turf for target @@ -35,22 +34,22 @@ if(!Ts) return //Didn't find shadekin spawn turf - var/mob/living/simple_mob/shadekin/red/shadekin = new(Ts) + var/mob/living/simple_mob/shadekin/red/ai/shadekin = new(Ts) //Abuse of shadekin shadekin.real_name = shadekin.name shadekin.init_vore() shadekin.ability_flags |= 0x1 - shadekin.specific_targets = TRUE //Don't attack others shadekin.phase_shift() - shadekin.target_mob = target - shadekin.stance = STANCE_ATTACK + shadekin.ai_holder.give_target(target) + shadekin.ai_holder.hostile = FALSE + shadekin.ai_holder.mauling = TRUE shadekin.Life() //Remove when done spawn(10 SECONDS) if(shadekin) - shadekin.death()*/ //VORESTATION AI TEMPORARY REMOVAL + shadekin.death() - /*if(SMITE_SHADEKIN_NOMF) + if(SMITE_SHADEKIN_NOMF) var/list/kin_types = list( "Red Eyes (Dark)" = /mob/living/simple_mob/shadekin/red/dark, "Red Eyes (Light)" = /mob/living/simple_mob/shadekin/red/white, @@ -93,7 +92,6 @@ shadekin.real_name = shadekin.name shadekin.init_vore() shadekin.can_be_drop_pred = TRUE - shadekin.ai_inactive = TRUE shadekin.dir = SOUTH shadekin.ability_flags |= 0x1 shadekin.phase_shift() //Homf @@ -119,7 +117,7 @@ target.ghostize() qdel(target) qdel(shadekin) - */ + if(SMITE_REDSPACE_ABDUCT) redspace_abduction(target, src) From 7c27f801f75e211e1b4e9aa1c158b9348ec9a0c4 Mon Sep 17 00:00:00 2001 From: Heroman Date: Fri, 23 Aug 2019 12:25:21 +1000 Subject: [PATCH 02/18] Restricts AI shells module- and z-level- wise --- code/global_vr.dm | 4 ++++ .../mob/living/silicon/ai/ai_remote_control.dm | 2 +- code/modules/mob/living/silicon/robot/robot.dm | 15 ++++++++++----- .../mob/living/silicon/robot/robot_vr.dm | 7 +++++++ maps/tether/tether_defines.dm | 17 +++++++++++++++++ maps/~map_system/maps.dm | 2 ++ 6 files changed, 41 insertions(+), 6 deletions(-) diff --git a/code/global_vr.dm b/code/global_vr.dm index 9506dd62d3..cfa9186b1d 100644 --- a/code/global_vr.dm +++ b/code/global_vr.dm @@ -6,6 +6,10 @@ robot_module_types += "Pupdozer" return 1 +var/list/shell_module_types = list( + "Standard", "Service", "Clerical" +) + var/global/list/acceptable_fruit_types= list( "ambrosia", "apple", diff --git a/code/modules/mob/living/silicon/ai/ai_remote_control.dm b/code/modules/mob/living/silicon/ai/ai_remote_control.dm index cef8cec7e8..3e97678425 100644 --- a/code/modules/mob/living/silicon/ai/ai_remote_control.dm +++ b/code/modules/mob/living/silicon/ai/ai_remote_control.dm @@ -27,7 +27,7 @@ for(var/borgie in GLOB.available_ai_shells) var/mob/living/silicon/robot/R = borgie - if(R.shell && !R.deployed && (R.stat != DEAD) && (!R.connected_ai || (R.connected_ai == src) ) ) + if(R.shell && !R.deployed && (R.stat != DEAD) && (!R.connected_ai || (R.connected_ai == src) ) && !(using_map.ai_shell_restricted && !(R.z in using_map.ai_shell_allowed_levels)) ) //VOREStation Edit: shell restrictions possible += R if(!LAZYLEN(possible)) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index ea851806c3..a9097f8913 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -259,11 +259,16 @@ if(module) return var/list/modules = list() - modules.Add(robot_module_types) - if(crisis || security_level == SEC_LEVEL_RED || crisis_override) // VOREStation Edit - to_chat(src, "Crisis mode active. Combat module available.") - modules+="Combat" - modules+="ERT" //VOREStation Edit + //VOREStatation Edit Start: shell restrictions + if(shell) + modules.Add(shell_module_types) + else + modules.Add(robot_module_types) + if(crisis || security_level == SEC_LEVEL_RED || crisis_override) + to_chat(src, "Crisis mode active. Combat module available.") + modules+="Combat" + modules+="ERT" + //VOREStatation Edit End: shell restrictions modtype = input("Please, select a module!", "Robot module", null, null) as null|anything in modules if(module) diff --git a/code/modules/mob/living/silicon/robot/robot_vr.dm b/code/modules/mob/living/silicon/robot/robot_vr.dm index e66ad05ec9..e3264aee4e 100644 --- a/code/modules/mob/living/silicon/robot/robot_vr.dm +++ b/code/modules/mob/living/silicon/robot/robot_vr.dm @@ -258,3 +258,10 @@ return if(buckle_mob(M)) visible_message("[M] starts riding [name]!") + +/mob/living/silicon/robot/onTransitZ(old_z, new_z) + if(shell) + if(deployed && using_map.ai_shell_restricted && !(new_z in using_map.ai_shell_allowed_levels)) + to_chat(src,"Your connection with the shell is suddenly interrupted!") + undeploy() + ..() diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm index 57f9a44d8e..121c8efaa0 100644 --- a/maps/tether/tether_defines.dm +++ b/maps/tether/tether_defines.dm @@ -150,6 +150,23 @@ list("Debris Field - Z1 Space") ) + ai_shell_restricted = TRUE + ai_shell_allowed_levels = list( + Z_LEVEL_SURFACE_LOW, + Z_LEVEL_SURFACE_MID, + Z_LEVEL_SURFACE_HIGH, + Z_LEVEL_TRANSIT, + Z_LEVEL_SPACE_LOW, + Z_LEVEL_SPACE_MID, + Z_LEVEL_SPACE_HIGH, + Z_LEVEL_SURFACE_MINE, + Z_LEVEL_SOLARS, + Z_LEVEL_CENTCOM, + Z_LEVEL_MISC, + Z_LEVEL_SHIPS, + Z_LEVEL_BEACH + ) + lateload_single_pick = null //Nothing right now. /datum/map/tether/perform_map_generation() diff --git a/maps/~map_system/maps.dm b/maps/~map_system/maps.dm index 90e6d068b8..fe0ef3972b 100644 --- a/maps/~map_system/maps.dm +++ b/maps/~map_system/maps.dm @@ -59,6 +59,8 @@ var/list/all_maps = list() var/list/holomap_legend_x = list() var/list/holomap_legend_y = list() var/list/meteor_strike_areas // VOREStation Edit - Areas meteor strikes may choose to hit. + var/ai_shell_restricted = FALSE //VOREStation Addition - are there z-levels restricted? + var/ai_shell_allowed_levels = list() //VOREStation Addition - which z-levels ARE we allowed to visit? var/station_name = "BAD Station" var/station_short = "Baddy" From 3b3dce0e8c9c2ad4df5d9753e1736ee2dd32f00f Mon Sep 17 00:00:00 2001 From: Atermonera Date: Thu, 22 Aug 2019 19:38:07 -0800 Subject: [PATCH 03/18] Merge pull request #6414 from InterroLouis/Typo-Fix Rigsuit Typo Fix --- code/modules/clothing/spacesuits/rig/rig_attackby.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig/rig_attackby.dm b/code/modules/clothing/spacesuits/rig/rig_attackby.dm index 3d5fc13004..67080dd1e0 100644 --- a/code/modules/clothing/spacesuits/rig/rig_attackby.dm +++ b/code/modules/clothing/spacesuits/rig/rig_attackby.dm @@ -105,7 +105,7 @@ else if(W.is_wrench()) if(!air_supply) - to_chat(user, "There is not tank to remove.") + to_chat(user, "There is no tank to remove.") return if(user.r_hand && user.l_hand) @@ -137,7 +137,7 @@ if("cell") if(cell) - to_chat(user, "You detatch \the [cell] from \the [src]'s battery mount.") + to_chat(user, "You detach \the [cell] from \the [src]'s battery mount.") for(var/obj/item/rig_module/module in installed_modules) module.deactivate() if(user.r_hand && user.l_hand) @@ -165,7 +165,7 @@ return var/obj/item/rig_module/removed = possible_removals[removal_choice] - to_chat(user, "You detatch \the [removed] from \the [src].") + to_chat(user, "You detach \the [removed] from \the [src].") removed.forceMove(get_turf(src)) removed.removed() installed_modules -= removed From 4222a8eab33ca8e50053ea77bda2114206f57837 Mon Sep 17 00:00:00 2001 From: Atermonera Date: Thu, 22 Aug 2019 19:37:47 -0800 Subject: [PATCH 05/18] Fixes Exploration Vendor Bugs --- code/modules/mining/ore_redemption_machine/survey_vendor.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/mining/ore_redemption_machine/survey_vendor.dm b/code/modules/mining/ore_redemption_machine/survey_vendor.dm index 61f5a26962..3d7ce8d148 100644 --- a/code/modules/mining/ore_redemption_machine/survey_vendor.dm +++ b/code/modules/mining/ore_redemption_machine/survey_vendor.dm @@ -6,9 +6,13 @@ density = TRUE anchored = TRUE circuit = /obj/item/weapon/circuitboard/exploration_equipment_vendor +<<<<<<< HEAD icon_deny = "exploration-deny" //VOREStation Edit var/icon_vend = "exploration-vend" //VOREStation Add //VOREStation Edit Start - Heavily modified list +======= + icon_deny = "explore-deny" +>>>>>>> d158f7a... Merge pull request #6413 from Novacat/nova-runtimes prize_list = list( new /datum/data/mining_equipment("1 Marker Beacon", /obj/item/stack/marker_beacon, 1), new /datum/data/mining_equipment("10 Marker Beacons", /obj/item/stack/marker_beacon/ten, 10), From a20aa6be0b5d4b07c7167c2ba1aec4ab2b4000bf Mon Sep 17 00:00:00 2001 From: Heroman Date: Fri, 23 Aug 2019 13:41:17 +1000 Subject: [PATCH 06/18] Fixes AI shells not getting the channels properly --- code/controllers/configuration.dm | 4 ++-- .../mob/living/silicon/robot/robot_modules/station.dm | 2 ++ .../mob/living/silicon/robot/robot_remote_control.dm | 10 +++++++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index d43dd6b577..5806076bc5 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -62,8 +62,8 @@ var/list/gamemode_cache = list() var/humans_need_surnames = 0 var/allow_random_events = 0 // enables random events mid-round when set to 1 var/allow_ai = 1 // allow ai job - var/allow_ai_shells = FALSE // allow AIs to enter and leave special borg shells at will, and for those shells to be buildable. - var/give_free_ai_shell = FALSE // allows a specific spawner object to instantiate a premade AI Shell + var/allow_ai_shells = TRUE // allow AIs to enter and leave special borg shells at will, and for those shells to be buildable. + var/give_free_ai_shell = TRUE // allows a specific spawner object to instantiate a premade AI Shell var/hostedby = null var/respawn = 1 var/guest_jobban = 1 diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station.dm b/code/modules/mob/living/silicon/robot/robot_modules/station.dm index 17d659fb0b..4a3f4741ba 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/station.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/station.dm @@ -48,6 +48,8 @@ var/global/list/robot_modules = list( apply_status_flags(R) if(R.radio) + if(R.shell) + channels = R.mainframe.aiRadio.channels R.radio.recalculateChannels() vr_add_sprites() //Vorestation Edit: For vorestation only sprites diff --git a/code/modules/mob/living/silicon/robot/robot_remote_control.dm b/code/modules/mob/living/silicon/robot/robot_remote_control.dm index 90d74b2638..35ad010b97 100644 --- a/code/modules/mob/living/silicon/robot/robot_remote_control.dm +++ b/code/modules/mob/living/silicon/robot/robot_remote_control.dm @@ -69,11 +69,14 @@ GLOBAL_LIST_EMPTY(available_ai_shells) // Languages and comms. languages = AI.languages.Copy() speech_synthesizer_langs = AI.speech_synthesizer_langs.Copy() - if(radio && AI.aiRadio) //AI keeps all channels, including Syndie if it is an Infiltrator. + //VOREStation Edit Start + if(radio && AI.aiRadio && module) //AI keeps all channels, including Syndie if it is an Infiltrator. // if(AI.radio.syndie) // radio.make_syndie() radio.subspace_transmission = TRUE - radio.channels = AI.aiRadio.channels + module.channels = AI.aiRadio.channels + radio.recalculateChannels() + //VOREStation Edit End // Called after the AI transfers over. /mob/living/silicon/robot/proc/post_deploy() @@ -94,7 +97,8 @@ GLOBAL_LIST_EMPTY(available_ai_shells) mainframe.deployed_shell = null SetName("[modtype] AI Shell [num2text(ident)]") // undeployment_action.Remove(src) - if(radio) //Return radio to normal + if(radio && module) //Return radio to normal //VOREStation Edit + module.channels = initial(module.channels) //VOREStation Edit radio.recalculateChannels() if(!QDELETED(camera)) camera.c_tag = real_name //update the camera name too From 573555fef18317914af9209bdb12bb56ed0dd1a1 Mon Sep 17 00:00:00 2001 From: Heroman Date: Fri, 23 Aug 2019 13:41:46 +1000 Subject: [PATCH 07/18] Undoes unintentional default config changes --- code/controllers/configuration.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 5806076bc5..d43dd6b577 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -62,8 +62,8 @@ var/list/gamemode_cache = list() var/humans_need_surnames = 0 var/allow_random_events = 0 // enables random events mid-round when set to 1 var/allow_ai = 1 // allow ai job - var/allow_ai_shells = TRUE // allow AIs to enter and leave special borg shells at will, and for those shells to be buildable. - var/give_free_ai_shell = TRUE // allows a specific spawner object to instantiate a premade AI Shell + var/allow_ai_shells = FALSE // allow AIs to enter and leave special borg shells at will, and for those shells to be buildable. + var/give_free_ai_shell = FALSE // allows a specific spawner object to instantiate a premade AI Shell var/hostedby = null var/respawn = 1 var/guest_jobban = 1 From fde139a1dd76ffa89e0a0aeb2fecc04603a3413a Mon Sep 17 00:00:00 2001 From: Novacat <35587478+Novacat@users.noreply.github.com> Date: Fri, 23 Aug 2019 00:03:42 -0400 Subject: [PATCH 08/18] Update survey_vendor.dm --- code/modules/mining/ore_redemption_machine/survey_vendor.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/mining/ore_redemption_machine/survey_vendor.dm b/code/modules/mining/ore_redemption_machine/survey_vendor.dm index 3d7ce8d148..61f5a26962 100644 --- a/code/modules/mining/ore_redemption_machine/survey_vendor.dm +++ b/code/modules/mining/ore_redemption_machine/survey_vendor.dm @@ -6,13 +6,9 @@ density = TRUE anchored = TRUE circuit = /obj/item/weapon/circuitboard/exploration_equipment_vendor -<<<<<<< HEAD icon_deny = "exploration-deny" //VOREStation Edit var/icon_vend = "exploration-vend" //VOREStation Add //VOREStation Edit Start - Heavily modified list -======= - icon_deny = "explore-deny" ->>>>>>> d158f7a... Merge pull request #6413 from Novacat/nova-runtimes prize_list = list( new /datum/data/mining_equipment("1 Marker Beacon", /obj/item/stack/marker_beacon, 1), new /datum/data/mining_equipment("10 Marker Beacons", /obj/item/stack/marker_beacon/ten, 10), From 6a21eccbd52daa1c5156c23766144bf331923f8c Mon Sep 17 00:00:00 2001 From: Heroman Date: Fri, 23 Aug 2019 16:23:08 +1000 Subject: [PATCH 09/18] Fixes mercenaries in spacesuits dying from Virgo 2 heat --- .../living/simple_mob/subtypes/humanoid/mercs/mercs_vr.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs_vr.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs_vr.dm index 36253dce84..e7bb82bb5d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs_vr.dm @@ -5,5 +5,9 @@ /mob/living/simple_mob/humanoid/merc/melee/sword/space name = "mercenary commando" + maxbodytemp = 700 + /mob/living/simple_mob/humanoid/merc/ranged/space - name = "mercenary commando" \ No newline at end of file + name = "mercenary commando" + + maxbodytemp = 700 \ No newline at end of file From 8f880a9d828b4abc5bb89b5cf60935cd387e7907 Mon Sep 17 00:00:00 2001 From: Heroman Date: Sat, 24 Aug 2019 05:43:41 +1000 Subject: [PATCH 10/18] Fixes secbots ignoring access for pull attacks --- code/modules/mob/living/bot/secbot.dm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/bot/secbot.dm b/code/modules/mob/living/bot/secbot.dm index 1d52b591fd..1210d41e91 100644 --- a/code/modules/mob/living/bot/secbot.dm +++ b/code/modules/mob/living/bot/secbot.dm @@ -34,15 +34,20 @@ var/list/threat_found_sounds = list('sound/voice/bcriminal.ogg', 'sound/voice/bjustice.ogg', 'sound/voice/bfreeze.ogg') var/list/preparing_arrest_sounds = list('sound/voice/bgod.ogg', 'sound/voice/biamthelaw.ogg', 'sound/voice/bsecureday.ogg', 'sound/voice/bradio.ogg', 'sound/voice/bcreep.ogg') var/list/fighting_sounds = list('sound/voice/biamthelaw.ogg', 'sound/voice/bradio.ogg', 'sound/voice/bjustice.ogg') -//VOREStation Add - They don't like being pulled. This is going to fuck with slimesky, but meh. +//VOREStation Add - They don't like being pulled. This is going to fuck with slimesky, but meh. //Screw you. Just screw you and your 'meh' /mob/living/bot/secbot/Life() ..() if(health > 0 && on && pulledby) if(isliving(pulledby)) - var/mob/living/L = pulledby - UnarmedAttack(L) - say("Do not interfere with active law enforcement routines!") - global_announcer.autosay("[src] was interfered with in [get_area(src)], activating defense routines.", "[src]", "Security") + var/pull_allowed = FALSE + for(var/A in req_one_access) + if(A in pulledby.GetAccess()) + pull_allowed = TRUE + if(!pull_allowed) + var/mob/living/L = pulledby + UnarmedAttack(L) + say("Do not interfere with active law enforcement routines!") + global_announcer.autosay("[src] was interfered with in [get_area(src)], activating defense routines.", "[src]", "Security") //VOREStation Add End /mob/living/bot/secbot/beepsky name = "Officer Beepsky" From 2c8197bd9ad71a331655f1bbd3e0cdde99ee9cca Mon Sep 17 00:00:00 2001 From: Atermonera Date: Fri, 23 Aug 2019 17:42:04 -0800 Subject: [PATCH 12/18] Merge pull request #6415 from Heroman3003/bellfixes Adjusts some desk bell mechanics --- code/game/objects/items/bells.dm | 16 +++++++-- code/modules/materials/material_recipes.dm | 2 +- html/changelogs/Heroman3003 - bellfixes.yml | 38 +++++++++++++++++++++ 3 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 html/changelogs/Heroman3003 - bellfixes.yml diff --git a/code/game/objects/items/bells.dm b/code/game/objects/items/bells.dm index 43046d22b7..c7aa08a440 100644 --- a/code/game/objects/items/bells.dm +++ b/code/game/objects/items/bells.dm @@ -10,6 +10,7 @@ attack_verb = list("annoyed") var/static/radial_examine = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_examine") var/static/radial_use = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_use") + var/static/radial_pickup = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_pickup") /obj/item/weapon/deskbell/examine(mob/user) ..() @@ -26,6 +27,7 @@ //This defines the radials and what call we're assiging to them. var/list/options = list() options["examine"] = radial_examine + options["pick up"] = radial_pickup if(!broken) options["use"] = radial_use @@ -54,6 +56,9 @@ ring(user) add_fingerprint(user) + if("pick up") + ..() + /obj/item/weapon/deskbell/proc/ring(mob/user) if(user.a_intent == "harm") playsound(user.loc, 'sound/effects/deskbell_rude.ogg', 50, 1) @@ -78,9 +83,16 @@ to_chat(user,"You are not able to ring [src].") return 0 -/obj/item/weapon/deskbell/attackby(obj/item/i, mob/user, params) - if(!istype(i)) +/obj/item/weapon/deskbell/attackby(obj/item/W, mob/user, params) + if(!istype(W)) return + if(W.is_wrench() && isturf(loc)) + if(do_after(5)) + if(!src) return + to_chat(user, "You dissasemble the desk bell") + new /obj/item/stack/material/steel(get_turf(src), 1) + qdel(src) + return if(!broken) ring(user) diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index 687e5df27e..465d4ecc39 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -14,7 +14,6 @@ recipes += new/datum/stack_recipe("[display_name] grave marker", /obj/item/weapon/material/gravemarker, 5, time = 50, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] ring", /obj/item/clothing/gloves/ring/material, 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] bracelet", /obj/item/clothing/accessory/bracelet/material, 1, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("[display_name] deskbell", /obj/item/weapon/deskbell, 1, on_floor = 1, supplied_material = "[name]") if(integrity>=50) recipes += new/datum/stack_recipe("[display_name] door", /obj/structure/simple_door, 10, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") @@ -101,6 +100,7 @@ new/datum/stack_recipe("tall filing cabinet", /obj/structure/filingcabinet/filingcabinet, 4, time = 20, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("chest drawer", /obj/structure/filingcabinet/chestdrawer, 4, time = 20, one_per_turf = 1, on_floor = 1), \ )) + recipes += new/datum/stack_recipe("desk bell", /obj/item/weapon/deskbell, 1, on_floor = 1, supplied_material = "[name]") /material/plasteel/generate_recipes() ..() diff --git a/html/changelogs/Heroman3003 - bellfixes.yml b/html/changelogs/Heroman3003 - bellfixes.yml new file mode 100644 index 0000000000..dd3a5a712e --- /dev/null +++ b/html/changelogs/Heroman3003 - bellfixes.yml @@ -0,0 +1,38 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Heroman3003 + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Desk bells can now be picked up like normal items." + - tweak: "Desk bells can now be deconstructed with a wrench while on the ground." + - tweak: "Desk bells can now only be made out of steel." From b0fa4e0dc7ffabb605c97681971d8034928acaa1 Mon Sep 17 00:00:00 2001 From: Heroman Date: Sat, 24 Aug 2019 17:01:35 +1000 Subject: [PATCH 14/18] Adjusts xenobio closer to pre-refactor state --- .../simple_mob/subtypes/slime/xenobio/subtypes_vr.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes_vr.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes_vr.dm index e67717403d..43cec1e80c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes_vr.dm @@ -1,2 +1,6 @@ -/mob/living/simple_mob/slime/xenobio/rainbow/kendrick - mob_bump_flag = 0 \ No newline at end of file +/mob/living/simple_mob/slime/xenobio + mob_bump_flag = 0 + +/mob/living/simple_mob/slime/xenobio/Initialize(mapload, var/mob/living/simple_mob/slime/xenobio/my_predecessor) + ..() + Weaken(10) \ No newline at end of file From d71013d7f591b08cad121aa5b6a8f50d21fe7fa0 Mon Sep 17 00:00:00 2001 From: Heroman Date: Sat, 24 Aug 2019 17:35:04 +1000 Subject: [PATCH 15/18] Adds exception for noscan species --- .../simple_mob/subtypes/slime/xenobio/consumption.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/consumption.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/consumption.dm index 84af3fcc3c..13764d20fd 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/consumption.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/consumption.dm @@ -140,6 +140,13 @@ if(L.getCloneLoss() >= L.getMaxHealth() * 1.5) to_chat(src, "This subject does not have an edible life energy...") return FALSE + //VOREStation Addition start + if(istype(L, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = L + if(H.species.flags & NO_SCAN) + to_chat(src, "This subject's life energy is beyond my reach...") + return FALSE + //VOREStation Addition end if(L.has_buckled_mobs()) for(var/A in L.buckled_mobs) if(istype(A, /mob/living/simple_mob/slime/xenobio)) From 426c7f9e6ca67b2803373c68ec13f9dca433b30c Mon Sep 17 00:00:00 2001 From: Mewchild Date: Sun, 25 Aug 2019 03:13:56 -0500 Subject: [PATCH 16/18] Changes Ion Hivebots to not have EMP --- code/modules/mob/living/simple_animal/aliens/hivebot.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/aliens/hivebot.dm b/code/modules/mob/living/simple_animal/aliens/hivebot.dm index 12851c5af3..fbb0b8909b 100644 --- a/code/modules/mob/living/simple_animal/aliens/hivebot.dm +++ b/code/modules/mob/living/simple_animal/aliens/hivebot.dm @@ -87,7 +87,7 @@ /mob/living/simple_mob/hostile/hivebot/range/ion name = "engineering hivebot" desc = "A robot. It has a tool which emits focused electromagnetic pulses, which are deadly to synthetic adverseries." - projectiletype = /obj/item/projectile/ion/small //VOREStation Edit + projectiletype = /obj/item/projectile/ion/pistol //VOREStation Edit projectilesound = 'sound/weapons/Laser.ogg' icon_living = "engi" ranged = TRUE From af94e7f37494e22bb81b5468a296088e224da560 Mon Sep 17 00:00:00 2001 From: Heroman Date: Mon, 26 Aug 2019 10:29:41 +1000 Subject: [PATCH 17/18] Fixes some mimic bugs --- code/game/objects/structures/crates_lockers/largecrate_vr.dm | 2 +- code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm | 2 +- .../mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/largecrate_vr.dm b/code/game/objects/structures/crates_lockers/largecrate_vr.dm index c151409e62..6886a08a3c 100644 --- a/code/game/objects/structures/crates_lockers/largecrate_vr.dm +++ b/code/game/objects/structures/crates_lockers/largecrate_vr.dm @@ -50,7 +50,7 @@ /mob/living/simple_mob/animal/wolf, /mob/living/simple_mob/animal/space/bear;0.5, /mob/living/simple_mob/animal/space/carp, - /mob/living/simple_mob/animal/space/mimic, + /mob/living/simple_mob/vore/aggressive/mimic, /mob/living/simple_mob/vore/aggressive/rat, /mob/living/simple_mob/vore/aggressive/rat/tame, // /mob/living/simple_mob/otie;0.5 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm index 00a18feaad..5093caad4c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm @@ -58,7 +58,7 @@ desc = "A rectangular steel crate." icon_state = "crate" icon_living = "crate" - icon = 'icons/obj/storage.dmi' + icon = 'icons/obj/storage_vr.dmi' faction = "mimic" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm b/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm index 9520d9a3ac..b5a3bc2c60 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm @@ -121,7 +121,7 @@ health = 80 // Increase health to compensate maxHealth = 80 */ - +/* /mob/living/simple_mob/animal/space/mimic vore_active = 1 // NO VORE SPRITES @@ -130,7 +130,7 @@ // Overrides to non-vore version maxHealth = 60 health = 60 - +*/ /mob/living/simple_mob/animal/passive/cat vore_active = 1 // NO VORE SPRITES From b8a202baa9150cda89c2e430135c622798aac015 Mon Sep 17 00:00:00 2001 From: Glassbrain Date: Mon, 26 Aug 2019 19:19:39 -0300 Subject: [PATCH 18/18] Customise Say Verb Change Changes the "customise say verb" verb to "customise speech verb", solving a small problem of inconvenience that arises when typing "say" incompletely into the command bar, such as if you have a bad habit solidifed into muscle memory. --- code/modules/mob/living/living_vr.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/living_vr.dm b/code/modules/mob/living/living_vr.dm index 3e11087773..7616ac61d5 100644 --- a/code/modules/mob/living/living_vr.dm +++ b/code/modules/mob/living/living_vr.dm @@ -1,6 +1,6 @@ /mob/living/verb/customsay() set category = "IC" - set name = "Customise Say Verbs" + set name = "Customise Speech Verbs" set desc = "Customise the text which appears when you type- e.g. 'says', 'asks', 'exclaims'." if(src.client) @@ -22,4 +22,4 @@ else if(sayselect == "Exclaim/Shout/Yell (!)") custom_exclaim = sanitize(input(usr, "This word or phrase will appear instead of 'exclaims', 'shouts' or 'yells': [src] exclaims, \"Hi!\"", "Custom Exclaim", null) as text) else - return \ No newline at end of file + return