diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index fb88bab5cd88..34ac3379663f 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,5 +1,5 @@ # If this is your first PR, or not, take the time to read our CONTRIBUTING.md file! You can see it here: https://github.com/yogstation13/Yogstation/blob/master/.github/CONTRIBUTING.md - +You can remove all headers (Document the changes and Wiki documentation) if there is no wiki documentation required # Document the changes in your pull request diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 3f7c1d0d88b8..885ba74810e7 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -38,11 +38,11 @@ #define R_SPAWN (1<<12) #define R_AUTOLOGIN (1<<13) #define R_DBRANKS (1<<14) +#define R_DEV (1<<15) // Stuff NOONE should be touching except for head-dev/maints, I guess council too.. +#define R_EVERYTHING (1<<16)-1 //the sum of all other rank permissions, used for +EVERYTHING #define R_DEFAULT R_AUTOLOGIN -#define R_EVERYTHING (1<<15)-1 //the sum of all other rank permissions, used for +EVERYTHING - #define ADMIN_QUE(user) "(?)" #define ADMIN_FLW(user) "(FLW)" #define ADMIN_PP(user) "(PP)" diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index e6c4f9a29436..f7153ea82f5a 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -225,6 +225,8 @@ . += "[seperator]AUTOLOGIN" if(rights & R_DBRANKS) . += "[seperator]DBRANKS" + if(rights & R_DEV) + . += "[seperator]DEV" if(!.) . = "NONE" return . diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 3c9e05a00849..88b5379df2f1 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -68,7 +68,8 @@ GLOBAL_LIST_INIT(bitfields, list( "SOUNDS" = R_SOUNDS, "SPAWN" = R_SPAWN, "AUTOLOGIN" = R_AUTOLOGIN, - "DBRANKS" = R_DBRANKS + "DBRANKS" = R_DBRANKS, + "DEV" = R_DEV ), "interaction_flags_atom" = list( "INTERACT_ATOM_REQUIRES_ANCHORED" = INTERACT_ATOM_REQUIRES_ANCHORED, diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm index 6dc3ae2bcf4f..693998aa3a2c 100644 --- a/code/_onclick/hud/_defines.dm +++ b/code/_onclick/hud/_defines.dm @@ -105,6 +105,10 @@ #define ui_internal "EAST-1:28,CENTER:17" #define ui_mood "EAST-1:28,CENTER-3:10" +//living +#define ui_living_pull "EAST-1:28,CENTER-2:15" +#define ui_living_health "EAST-1:28,CENTER:15" + //borgs #define ui_borg_health "EAST-1:28,CENTER-1:15" //borgs have the health display where humans have the pressure damage indicator. @@ -115,10 +119,10 @@ //constructs #define ui_construct_pull "EAST,CENTER-2:15" -#define ui_construct_health "EAST,CENTER:15" //same as borgs and humans +#define ui_construct_health "EAST,CENTER:15" //same as humans and slimes //slimes -#define ui_slime_health "EAST,CENTER:15" //same as borgs, constructs and humans +#define ui_slime_health "EAST,CENTER:15" //same as humans and constructs // AI diff --git a/code/_onclick/hud/guardian.dm b/code/_onclick/hud/guardian.dm index 19bcd4e1f67d..299ee2ca532c 100644 --- a/code/_onclick/hud/guardian.dm +++ b/code/_onclick/hud/guardian.dm @@ -1,8 +1,17 @@ +/datum/hud/guardian + ui_style = 'icons/mob/guardian.dmi' /datum/hud/guardian/New(mob/living/simple_animal/hostile/guardian/owner) ..() var/obj/screen/using + pull_icon = new /obj/screen/pull() + pull_icon.icon = ui_style + pull_icon.update_icon() + pull_icon.screen_loc = ui_living_pull + pull_icon.hud = src + static_inventory += pull_icon + healths = new /obj/screen/healths/guardian() infodisplay += healths @@ -34,6 +43,7 @@ name = "Manifest" desc = "Spring forth into battle!" + /obj/screen/guardian/Manifest/Click() if(isguardian(usr)) var/mob/living/simple_animal/hostile/guardian/G = usr diff --git a/code/_onclick/hud/lavaland_elite.dm b/code/_onclick/hud/lavaland_elite.dm index 480e0e398e0b..dfcfb8f3ac67 100644 --- a/code/_onclick/hud/lavaland_elite.dm +++ b/code/_onclick/hud/lavaland_elite.dm @@ -1,7 +1,15 @@ /datum/hud/lavaland_elite - ui_style = 'icons/mob/screen_slime.dmi' + ui_style = 'icons/mob/screen_elite.dmi' /datum/hud/lavaland_elite/New(mob/living/simple_animal/hostile/asteroid/elite) ..() + pull_icon = new /obj/screen/pull() + pull_icon.icon = ui_style + pull_icon.update_icon() + pull_icon.screen_loc = ui_living_pull + pull_icon.hud = src + static_inventory += pull_icon + healths = new /obj/screen/healths/lavaland_elite() + healths.hud = src infodisplay += healths diff --git a/code/_onclick/hud/living.dm b/code/_onclick/hud/living.dm new file mode 100644 index 000000000000..b22cddd5613f --- /dev/null +++ b/code/_onclick/hud/living.dm @@ -0,0 +1,17 @@ +/datum/hud/living + ui_style = 'icons/mob/screen_gen.dmi' + +/datum/hud/living/New(mob/living/owner) + ..() + + pull_icon = new /obj/screen/pull() + pull_icon.icon = ui_style + pull_icon.update_icon() + pull_icon.screen_loc = ui_living_pull + pull_icon.hud = src + static_inventory += pull_icon + + healths = new /obj/screen/healths/living() + healths.hud = src + infodisplay += healths + diff --git a/code/_onclick/hud/revenanthud.dm b/code/_onclick/hud/revenanthud.dm index bc8a2bde7d0d..65467d3bf6fe 100644 --- a/code/_onclick/hud/revenanthud.dm +++ b/code/_onclick/hud/revenanthud.dm @@ -1,6 +1,15 @@ +/datum/hud/revenant + ui_style = 'icons/mob/screen_gen.dmi' /datum/hud/revenant/New(mob/owner) ..() + pull_icon = new /obj/screen/pull() + pull_icon.icon = ui_style + pull_icon.update_icon() + pull_icon.screen_loc = ui_living_pull + pull_icon.hud = src + static_inventory += pull_icon + healths = new /obj/screen/healths/revenant() infodisplay += healths diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 67ebde9d2bb0..c0b5dc89dd6d 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -593,6 +593,10 @@ icon_state = "health0" screen_loc = ui_health +/obj/screen/healths/living + screen_loc = ui_living_health + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + /obj/screen/healths/alien icon = 'icons/mob/screen_alien.dmi' screen_loc = ui_alien_health @@ -627,7 +631,7 @@ /obj/screen/healths/clock icon = 'icons/mob/actions.dmi' icon_state = "bg_clock" - screen_loc = ui_health + screen_loc = ui_living_health mouse_opacity = MOUSE_OPACITY_TRANSPARENT /obj/screen/healths/clock/gear @@ -657,7 +661,7 @@ /obj/screen/healths/lavaland_elite icon = 'icons/mob/screen_elite.dmi' icon_state = "elite_health0" - screen_loc = ui_health + screen_loc = ui_living_health mouse_opacity = MOUSE_OPACITY_TRANSPARENT /obj/screen/healthdoll diff --git a/code/_onclick/hud/slime.dm b/code/_onclick/hud/slime.dm index 4258c0a89d88..e83d38b5f630 100644 --- a/code/_onclick/hud/slime.dm +++ b/code/_onclick/hud/slime.dm @@ -3,5 +3,14 @@ /datum/hud/slime/New(mob/living/simple_animal/slime/owner) ..() + + pull_icon = new /obj/screen/pull() + pull_icon.icon = ui_style + pull_icon.update_icon() + pull_icon.screen_loc = ui_living_pull + pull_icon.hud = src + static_inventory += pull_icon + + healths = new /obj/screen/healths/slime() infodisplay += healths diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index 6d158598bc42..d21816293e57 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -442,3 +442,10 @@ crafting_recipe_types = list(/datum/crafting_recipe/baseball_bat, /datum/crafting_recipe/lance, /datum/crafting_recipe/knifeboxing, /datum/crafting_recipe/flamethrower, /datum/crafting_recipe/pipebomb, /datum/crafting_recipe/makeshiftpistol, /datum/crafting_recipe/makeshiftmagazine, /datum/crafting_recipe/makeshiftsuppressor, /datum/crafting_recipe/makeshiftcrowbar, /datum/crafting_recipe/makeshiftwrench, /datum/crafting_recipe/makeshiftwirecutters, /datum/crafting_recipe/makeshiftweldingtool, /datum/crafting_recipe/makeshiftmultitool, /datum/crafting_recipe/makeshiftscrewdriver, /datum/crafting_recipe/makeshiftknife, /datum/crafting_recipe/makeshiftpickaxe, /datum/crafting_recipe/makeshiftradio) icon_state = "bookCrafting" oneuse = TRUE + +/obj/item/book/granter/crafting_recipe/roburgers + name = "roburger crafting recipe" + desc = "A book containing knowledge how to make roburgers." + crafting_recipe_types = list(/datum/crafting_recipe/food/roburger) + icon_state = "bookCrafting" + oneuse = FALSE \ No newline at end of file diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index 50c6130c73e2..3489c03c5372 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -79,6 +79,8 @@ GLOBAL_PROTECT(protected_ranks) flag = R_AUTOLOGIN if("dbranks") flag = R_DBRANKS + if("dev") + flag = R_DEV if("@","prev") flag = previous_rights return flag diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 099d75f957a1..f8c2072c28f5 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -157,7 +157,7 @@ GLOBAL_PROTECT(admin_verbs_server) /client/proc/panicbunker, /client/proc/toggle_hub, /client/proc/mentor_memo, // YOGS - something stupid about "Mentor memos" - ///client/proc/dump_memory_usage, + /client/proc/dump_memory_usage, /client/proc/release_queue, // Yogs -- Adds some queue-manipulation verbs /client/proc/toggle_cdn ) @@ -769,13 +769,15 @@ GLOBAL_PROTECT(admin_verbs_hideable) log_admin("[key_name(usr)] has [AI_Interact ? "activated" : "deactivated"] Admin AI Interact") message_admins("[key_name_admin(usr)] has [AI_Interact ? "activated" : "deactivated"] their AI interaction") -/*/client/proc/dump_memory_usage() +/client/proc/dump_memory_usage() set name = "Dump Server Memory Usage" set category = "Server" - if(!check_rights(R_SERVER)) + if(!check_rights(R_DEV)) + return + if(GLOB.enable_memdump == 0) + to_chat(world, span_userdanger("You should not be touching this without contacting developers!")) return - if(alert(usr, "This will dump memory usage and potentially lag the server. Proceed?", "Alert", "Yes", "No") != "Yes") return @@ -794,7 +796,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) if(!fexists("data/logs/memory/[fname]")) to_chat(usr, span_warning("File creation failed. Please check to see if the data/logs/memory folder actually exists.")) else - to_chat(usr, span_notice("Memory dump completed."))*/ + to_chat(usr, span_notice("Memory dump completed.")) /client/proc/debugstatpanel() diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index cbd28060c210..8e59e5cd9b48 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -779,6 +779,11 @@ structure_check() searches for nearby cultist structures required for the invoca fail_invoke() log_game("Summon Cultist rune failed - target in away mission") return + if(is_centcom_level(cultist_to_summon.z)) + to_chat(user, "[cultist_to_summon] is too far from the station!") + fail_invoke() + log_game("Summon Cultist rune failed - target in centcom Z") + return if(istype(cultist_to_summon, /mob/living/simple_animal/shade) && (cultist_to_summon.status_flags & GODMODE))//yogs: fixes shades from being invincible after being summoned cultist_to_summon.status_flags &= ~GODMODE //yogs end cultist_to_summon.visible_message(span_warning("[cultist_to_summon] suddenly disappears in a flash of red light!"), \ diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index 734781067d22..164ef62ff4a7 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -205,6 +205,7 @@ name = "Bind Soul" spell_type = /obj/effect/proc_holder/spell/targeted/lichdom category = "Defensive" + cost = 4 /datum/spellbook_entry/teslablast name = "Tesla Blast" diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm index 7774b7bfad18..56081bf06bf2 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm @@ -313,4 +313,15 @@ ) result = /obj/item/reagent_containers/food/snacks/hotdog subcategory = CAT_BURGER - + +/datum/crafting_recipe/food/roburger + name = "Roburger" + reqs = list( + /obj/item/bodypart/head/robot = 1, + /obj/item/reagent_containers/food/snacks/bun = 1, + /obj/item/stack/cable_coil = 10, + ) + result = /obj/item/reagent_containers/food/snacks/burger/roburger + subcategory = CAT_MISCFOOD + always_availible = FALSE + diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 797830684853..c2c8b3f3b361 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -501,6 +501,37 @@ update_stat() med_hud_set_health() med_hud_set_status() + update_health_hud() + +/mob/living/update_health_hud() + if(hud_used?.healths) + var/severity = 0 + var/healthpercent = (health/maxHealth) * 100 + switch(healthpercent) + if(100 to INFINITY) + hud_used.healths.icon_state = "health0" + if(80 to 100) + hud_used.healths.icon_state = "health1" + severity = 1 + if(60 to 80) + hud_used.healths.icon_state = "health2" + severity = 2 + if(40 to 60) + hud_used.healths.icon_state = "health3" + severity = 3 + if(20 to 40) + hud_used.healths.icon_state = "health4" + severity = 4 + if(1 to 20) + hud_used.healths.icon_state = "health5" + severity = 5 + else + hud_used.healths.icon_state = "health7" + severity = 6 + if(severity > 0) + overlay_fullscreen("brute", /obj/screen/fullscreen/brute, severity) + else + clear_fullscreen("brute") //proc used to ressuscitate a mob /mob/living/proc/revive(full_heal = 0, admin_revive = 0) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 3a0efc8fa7b0..2cb9153bed39 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -5,6 +5,8 @@ hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD,NANITE_HUD,DIAG_NANITE_FULL_HUD) pressure_resistance = 10 + hud_type = /datum/hud/living + var/resize = 1 //Badminnery resize var/lastattacker = null var/lastattackerckey = null diff --git a/code/modules/research/nanites/nanite_programs/buffing.dm b/code/modules/research/nanites/nanite_programs/buffing.dm index 2dfa4c2645b8..a0fcad4f8568 100644 --- a/code/modules/research/nanites/nanite_programs/buffing.dm +++ b/code/modules/research/nanites/nanite_programs/buffing.dm @@ -51,14 +51,14 @@ if(ishuman(host_mob)) var/mob/living/carbon/human/H = host_mob H.physiology.armor.laser += 30 - H.physiology.armor.energy += 25 + H.physiology.armor.energy += 15 /datum/nanite_program/refractive/disable_passive_effect() . = ..() if(ishuman(host_mob)) var/mob/living/carbon/human/H = host_mob H.physiology.armor.laser -= 30 - H.physiology.armor.energy -= 25 + H.physiology.armor.energy -= 15 /datum/nanite_program/coagulating name = "Vein Repressurization" diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index b560e7790915..d8896ad88966 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -5,6 +5,10 @@ /mob/living/carbon/get_bodypart(zone) if(!zone) zone = BODY_ZONE_CHEST + if(zone == BODY_ZONE_PRECISE_MOUTH || zone == BODY_ZONE_PRECISE_EYES) //yes this is required. + zone = BODY_ZONE_HEAD + if(zone == BODY_ZONE_PRECISE_GROIN) + zone = BODY_ZONE_CHEST for(var/X in bodyparts) var/obj/item/bodypart/L = X if(L.body_zone == zone) diff --git a/code/modules/surgery/organic_steps.dm b/code/modules/surgery/organic_steps.dm index 5ce9f887dd0c..7cdbb26e01d1 100644 --- a/code/modules/surgery/organic_steps.dm +++ b/code/modules/surgery/organic_steps.dm @@ -52,7 +52,8 @@ /datum/surgery_step/clamp_bleeders/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(locate(/datum/surgery_step/saw) in surgery.steps) - target.apply_damage(-20, BRUTE, "[target_zone]") + var/obj/item/bodypart/affecting = target.get_bodypart(target_zone) + affecting?.heal_damage(20,0) if (ishuman(target)) var/mob/living/carbon/human/H = target var/obj/item/bodypart/BP = H.get_bodypart(target_zone) @@ -94,7 +95,8 @@ /datum/surgery_step/close/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(locate(/datum/surgery_step/saw) in surgery.steps) - target.apply_damage(-45, BRUTE, "[target_zone]") + var/obj/item/bodypart/affecting = target.get_bodypart(target_zone) + affecting?.heal_damage(45,0) if (ishuman(target)) var/mob/living/carbon/human/H = target var/obj/item/bodypart/BP = H.get_bodypart(target_zone) diff --git a/code/modules/surgery/organs/tails.dm b/code/modules/surgery/organs/tails.dm index 782947f9936b..7d8ab3609926 100644 --- a/code/modules/surgery/organs/tails.dm +++ b/code/modules/surgery/organs/tails.dm @@ -29,7 +29,6 @@ /obj/item/organ/tail/cat/Remove(mob/living/carbon/human/H, special = 0) ..() if(istype(H)) - H.dna.features["tail_human"] = "None" H.dna.species.mutant_bodyparts -= "tail_human" color = H.hair_color H.update_body() diff --git a/code/modules/surgery/surgery_step.dm b/code/modules/surgery/surgery_step.dm index 026446730e1a..e8554be7f799 100644 --- a/code/modules/surgery/surgery_step.dm +++ b/code/modules/surgery/surgery_step.dm @@ -174,6 +174,7 @@ user.visible_message(detailed_message, self_message, vision_distance = 1, ignored_mobs = target_detailed ? null : target) user.visible_message(vague_message, "", ignored_mobs = detailed_mobs) +///Attempts to deal damage if the patient isn't sedated or under painkillers /datum/surgery_step/proc/cause_ouchie(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, success) var/ouchie_mod = 1 for(var/datum/reagent/R in ouchie_modifying_chems) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 649270234850..aa3f8c1d490c 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -1537,6 +1537,16 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) include_objectives = list(/datum/objective/hijack, /datum/objective/martyr, /datum/objective/nuclear) //yogs exclude_modes = list(/datum/game_mode/infiltration) // yogs: infiltration +/datum/uplink_item/device_tools/roburger_recipe + name = "Roburger crafting recipe" + desc = "This book contains legendary knowledge about how to make roburgers. \ + Roburgers turn people into cyborgs after a short while when eaten. \ + This book doesn't dissaper after use, so consider hiding it somewhere." + item = /obj/item/book/granter/crafting_recipe/roburgers + cost = 14 + include_objectives = list(/datum/objective/hijack, /datum/objective/martyr, /datum/objective/nuclear) + exclude_modes = list(/datum/game_mode/infiltration) + /datum/uplink_item/device_tools/supermatter_delaminator name = "Antinoblium Shard" desc = "A special variant of supermatter crystal reverse engineered by syndicate scientists using samples retrieved by agents. \ diff --git a/config/admin_ranks.txt b/config/admin_ranks.txt index 82b2898f9c46..46ea5245f847 100644 --- a/config/admin_ranks.txt +++ b/config/admin_ranks.txt @@ -31,6 +31,7 @@ # +AUTOLOGIN = admin gains powers upon connect. This defaults to on, you can use -AUTOLOGIN to make a role require using the readmin verb to gain powers. (this does not effect the admin's ability to walk past bans or other on-connect limitations like panic bunker or pop limit.) # +DBRANKS = when sql-based admin loading is enabled, allows for non-temporary changes in the permissions panel to be saved (requires DB) # +EVERYTHING (or +HOST or +ALL) = Simply gives you everything without having to type every flag +# +DEV = For potentially server ending procs # END_KEYWORDS @@ -42,27 +43,25 @@ Head Developer = +EVERYTHING *EVERYTHING SysOp = +EVERYTHING *EVERYTHING -#Senior Admin = +EVERYTHING *EVERYTHING +#Senior Admin = +EVERYTHING *EVERYTHING -DEV -#Community Manager = +EVERYTHING *EVERYTHING +#Community Manager = +EVERYTHING *EVERYTHING -DEV #Primary Admin = +STEALTH +ADMIN +BASIC +BAN +SPAWN +VAREDIT +DEBUG +SERVER +FUN +POSSESS +BUILD +TICKET +SOUND -#Administrator-Mainterino = +STEALTH +ADMIN +BASIC +BAN +SPAWN +VAREDIT +DEBUG +SERVER +FUN +TICKET +BUILD +POLL +#Administrator-Mainterino = +STEALTH +ADMIN +BASIC +BAN +SPAWN +VAREDIT +DEBUG +SERVER +FUN +TICKET +BUILD +POLL +DEV #Administrator = +STEALTH +ADMIN +BASIC +BAN +SPAWN +VAREDIT +DEBUG +SERVER +FUN +TICKET +BUILD -#Moderator-Mainterino = +STEALTH +ADMIN +VAREDIT +DEBUG +SERVER +BASIC +SPAWN +POLL +BAN +#Moderator-Mainterino = +STEALTH +ADMIN +VAREDIT +DEBUG +SERVER +BASIC +SPAWN +POLL +BAN +DEV #Moderator = +STEALTH +ADMIN +BASIC +BAN +TICKET #Retired Admin = +ADMIN +STEALTH +BASIC +SERVER +BAN +TICKET +VAREDIT #Admin Observer = +STEALTH - -#RetCoder = +EVERYTHING - -#Maintainer = +STEALTH +ADMIN +VAREDIT +DEBUG +SERVER +BASIC +SPAWN +POLL -AUTOLOGIN + +#Maintainer = +STEALTH +ADMIN +VAREDIT +DEBUG +SERVER +BASIC +SPAWN +POLL -AUTOLOGIN +DEV #LogDiver = diff --git a/config/game_options.txt b/config/game_options.txt index 3d1817a2ef79..b0eafa7b0e22 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -444,7 +444,7 @@ LAW_WEIGHT robocop,0 ION_LAW_WEIGHT robocop,2 LAW_WEIGHT corporate,0 ION_LAW_WEIGHT corporate,0 -LAW_WEIGHT ceo,5 +LAW_WEIGHT ceo,4 ION_LAW_WEIGHT ceo,1 ## Quirky laws. Shouldn't cause too much harm diff --git a/html/changelog.html b/html/changelog.html index ef1dc9702933..aca2e498d91c 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -58,6 +58,93 @@ -->
+

08 May 2022

+

JamieD1 updated:

+ +

Marmio64 updated:

+ +

SomeguyManperson updated:

+ + +

07 May 2022

+

Arkatos, ported to Yogstation by SuperSlayer updated:

+ +

Altoids updated:

+ +

Chubbygummibear updated:

+ +

Skrem7 updated:

+ +

SomeguyManperson updated:

+ +

TymurShatillo updated:

+ + +

06 May 2022

+

Ethan4303 updated:

+ +

JamieD1 updated:

+ +

LoliconSlayer updated:

+ +

SomeguyManperson updated:

+ +

TheGamerdk updated:

+ +

TheRyeGuyWhoWillNowDie updated:

+ +

ToasterBiome updated:

+ +

tattax updated:

+ +

05 May 2022

Altoids updated:

GoonStation 13 Development Team diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 79e78280ac51..6c9305422966 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -31334,3 +31334,57 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - experiment: Admins can now access the dashboards of AIs TymurShatillo: - tweak: changes mouse description +2022-05-06: + Ethan4303: + - rscadd: added two cameras to box atmos + - rscadd: added one camera to meta atmos + JamieD1: + - rscadd: Added Section to Centcom for help with Wiki spriting + - bugfix: Handcuffed people may no longer just walk through turnstiles + LoliconSlayer: + - tweak: Corporate Marine job title has been renamed to Corporate Officer + SomeguyManperson: + - tweak: baton cooldown 1.2 seconds from 2 + - tweak: baton stamina damage dealt to the chest ALWAYS rather than to the targeted + limb/generally + - bugfix: lizard tails now come back with the right information when decattifying + someone + TheGamerdk: + - tweak: AI machinery produces twice as much heat. Watch out for overheating! + - rscadd: AI gets a new upgrade to allow it to shock people near data cores + TheRyeGuyWhoWillNowDie: + - rscadd: Skeleton-based creatures have figured out how to shake their bones to + produce a menacing sound effect! + ToasterBiome: + - rscadd: Added Buy Privately functionality to Cargo Console + - rscadd: Adds visual spell cooldowns on all spell casts and all bloodsucker abilities + - bugfix: fixes gaxstation toxins scanner thing whatever facing the wrong way + - bugfix: fix science disposals + tattax: + - rscadd: Tatorling branded cereal coming soon to all vendors in your area! +2022-05-07: + ' Arkatos, ported to Yogstation by SuperSlayer': + - rscadd: Added generic living mob HUD, which contains health and pull indicators. + - rscadd: Added pull indicator for Revenant, Lavaland Elite, Slime and Guardian. + Altoids: + - spellcheck: Fixed a weird repeated phrase in the space syndie comms agent flavourtext. + Chubbygummibear: + - bugfix: regenerate_organs no longer disappears cat tails. antag felinids rejoice. + Skrem7: + - tweak: Money made mildly less appealing + SomeguyManperson: + - bugfix: surgeries no longer cause damage they don't heal + - bugfix: surgeries done to robotic limbs no longer cause flinching damage if they + are done on the eyes/groin/mouth + - tweak: dermal reflective nanites energy armor 15 from 25 + - bugfix: cultists can no longer bypass brazil border patrols + - bugfix: shadowlings can now properly counter glowy shadowshrooms + TymurShatillo: + - rscadd: Adds a roburger recipe for tators +2022-05-08: + JamieD1: + - rscadd: Adds DEV Permission and Enables Memory Profiler + Marmio64: + - tweak: Lich spell cost doubled. + SomeguyManperson: + - bugfix: surgery less stupid than before (slightly) diff --git a/html/changelogs/AutoChangelog-pr-13928.yml b/html/changelogs/AutoChangelog-pr-13928.yml deleted file mode 100644 index a4df81603ab1..000000000000 --- a/html/changelogs/AutoChangelog-pr-13928.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "tattax" -delete-after: true -changes: - - rscadd: "Tatorling branded cereal coming soon to all vendors in your area!" diff --git a/html/changelogs/AutoChangelog-pr-13947.yml b/html/changelogs/AutoChangelog-pr-13947.yml deleted file mode 100644 index 1ed0a74cc829..000000000000 --- a/html/changelogs/AutoChangelog-pr-13947.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "TheGamerdk" -delete-after: true -changes: - - tweak: "AI machinery produces twice as much heat. Watch out for overheating!" diff --git a/html/changelogs/AutoChangelog-pr-13949.yml b/html/changelogs/AutoChangelog-pr-13949.yml deleted file mode 100644 index 4da024fb2484..000000000000 --- a/html/changelogs/AutoChangelog-pr-13949.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "JamieD1" -delete-after: true -changes: - - rscadd: "Added Section to Centcom for help with Wiki spriting" diff --git a/html/changelogs/AutoChangelog-pr-13950.yml b/html/changelogs/AutoChangelog-pr-13950.yml deleted file mode 100644 index 91bb52cfb302..000000000000 --- a/html/changelogs/AutoChangelog-pr-13950.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "TheGamerdk" -delete-after: true -changes: - - rscadd: "AI gets a new upgrade to allow it to shock people near data cores" diff --git a/html/changelogs/AutoChangelog-pr-13952.yml b/html/changelogs/AutoChangelog-pr-13952.yml deleted file mode 100644 index 00221baf7d21..000000000000 --- a/html/changelogs/AutoChangelog-pr-13952.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "JamieD1" -delete-after: true -changes: - - bugfix: "Handcuffed people may no longer just walk through turnstiles" diff --git a/html/changelogs/AutoChangelog-pr-13976.yml b/html/changelogs/AutoChangelog-pr-13976.yml deleted file mode 100644 index 85d3fe77ab85..000000000000 --- a/html/changelogs/AutoChangelog-pr-13976.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Ethan4303" -delete-after: true -changes: - - rscadd: "added two cameras to box atmos" - - rscadd: "added one camera to meta atmos" diff --git a/html/changelogs/AutoChangelog-pr-13978.yml b/html/changelogs/AutoChangelog-pr-13978.yml deleted file mode 100644 index ca6e25153dba..000000000000 --- a/html/changelogs/AutoChangelog-pr-13978.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "SomeguyManperson" -delete-after: true -changes: - - tweak: "baton cooldown 1.2 seconds from 2" - - tweak: "baton stamina damage dealt to the chest ALWAYS rather than to the targeted limb/generally" diff --git a/html/changelogs/AutoChangelog-pr-13981.yml b/html/changelogs/AutoChangelog-pr-13981.yml deleted file mode 100644 index 453748e488bb..000000000000 --- a/html/changelogs/AutoChangelog-pr-13981.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SomeguyManperson" -delete-after: true -changes: - - bugfix: "lizard tails now come back with the right information when decattifying someone" diff --git a/html/changelogs/AutoChangelog-pr-13984.yml b/html/changelogs/AutoChangelog-pr-13984.yml deleted file mode 100644 index e502a049b8c6..000000000000 --- a/html/changelogs/AutoChangelog-pr-13984.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ToasterBiome" -delete-after: true -changes: - - rscadd: "Adds visual spell cooldowns on all spell casts and all bloodsucker abilities" diff --git a/html/changelogs/AutoChangelog-pr-13986.yml b/html/changelogs/AutoChangelog-pr-13986.yml deleted file mode 100644 index b3b7fe2a96df..000000000000 --- a/html/changelogs/AutoChangelog-pr-13986.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "ToasterBiome" -delete-after: true -changes: - - bugfix: "fixes gaxstation toxins scanner thing whatever facing the wrong way" - - bugfix: "fix science disposals" diff --git a/html/changelogs/AutoChangelog-pr-14001.yml b/html/changelogs/AutoChangelog-pr-14001.yml deleted file mode 100644 index 33c656bf06f4..000000000000 --- a/html/changelogs/AutoChangelog-pr-14001.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "TheRyeGuyWhoWillNowDie" -delete-after: true -changes: - - rscadd: "Skeleton-based creatures have figured out how to shake their bones to produce a menacing sound effect!" diff --git a/html/changelogs/AutoChangelog-pr-14005.yml b/html/changelogs/AutoChangelog-pr-14005.yml deleted file mode 100644 index 75ad60634fa8..000000000000 --- a/html/changelogs/AutoChangelog-pr-14005.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ToasterBiome" -delete-after: true -changes: - - rscadd: "Added Buy Privately functionality to Cargo Console" diff --git a/html/changelogs/AutoChangelog-pr-14009.yml b/html/changelogs/AutoChangelog-pr-14009.yml deleted file mode 100644 index 3ed2986a17a1..000000000000 --- a/html/changelogs/AutoChangelog-pr-14009.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LoliconSlayer" -delete-after: true -changes: - - tweak: "Corporate Marine job title has been renamed to Corporate Officer" diff --git a/icons/mob/guardian.dmi b/icons/mob/guardian.dmi index fc8e1028a66c..b747d384c375 100644 Binary files a/icons/mob/guardian.dmi and b/icons/mob/guardian.dmi differ diff --git a/icons/mob/screen_construct.dmi b/icons/mob/screen_construct.dmi index 82dbe19cf65b..55f4f0977022 100644 Binary files a/icons/mob/screen_construct.dmi and b/icons/mob/screen_construct.dmi differ diff --git a/icons/mob/screen_elite.dmi b/icons/mob/screen_elite.dmi index 19d38911c70a..f407fb79e41c 100644 Binary files a/icons/mob/screen_elite.dmi and b/icons/mob/screen_elite.dmi differ diff --git a/icons/mob/screen_gen.dmi b/icons/mob/screen_gen.dmi index 8538a0b9c613..19ef4525e32a 100644 Binary files a/icons/mob/screen_gen.dmi and b/icons/mob/screen_gen.dmi differ diff --git a/icons/mob/screen_slime.dmi b/icons/mob/screen_slime.dmi index a93efdc7a282..79162acda419 100644 Binary files a/icons/mob/screen_slime.dmi and b/icons/mob/screen_slime.dmi differ diff --git a/yogstation.dme b/yogstation.dme index 0ebe40598465..609a2f4e7b06 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -236,6 +236,7 @@ #include "code\_onclick\hud\hud.dm" #include "code\_onclick\hud\human.dm" #include "code\_onclick\hud\lavaland_elite.dm" +#include "code\_onclick\hud\living.dm" #include "code\_onclick\hud\map_popups.dm" #include "code\_onclick\hud\monkey.dm" #include "code\_onclick\hud\movable_screen_objects.dm" diff --git a/yogstation/code/modules/antagonists/shadowling/shadowling_abilities.dm b/yogstation/code/modules/antagonists/shadowling/shadowling_abilities.dm index 2f8aae44f480..021ce693230a 100644 --- a/yogstation/code/modules/antagonists/shadowling/shadowling_abilities.dm +++ b/yogstation/code/modules/antagonists/shadowling/shadowling_abilities.dm @@ -179,13 +179,13 @@ qdel(LO) for(var/obj/structure/glowshroom/G in orange(7, user)) //High radius because glowshroom spam wrecks shadowlings - if(!istype(G, /obj/structure/glowshroom/shadowshroom)) + if(G.light_power > 0) var/obj/structure/glowshroom/shadowshroom/S = new /obj/structure/glowshroom/shadowshroom(G.loc) //I CAN FEEL THE WARP OVERTAKING ME! IT IS A GOOD PAIN! S.generation = G.generation G.visible_message(span_warning("[G] suddenly turns dark!")) qdel(G) for(var/turf/open/floor/grass/fairy/F in view(7, user)) - if(!istype(F, /turf/open/floor/grass/fairy/dark)) + if(F.light_power > 0) F.visible_message(span_warning("[F] suddenly turns dark!")) F.ChangeTurf(/turf/open/floor/grass/fairy/dark, flags = CHANGETURF_INHERIT_AIR) for(var/obj/structure/marker_beacon/M in view(7, user)) diff --git a/yogstation/code/modules/ruins/lavaland_ruin_code.dm b/yogstation/code/modules/ruins/lavaland_ruin_code.dm index b45730060417..d557afcf56ad 100644 --- a/yogstation/code/modules/ruins/lavaland_ruin_code.dm +++ b/yogstation/code/modules/ruins/lavaland_ruin_code.dm @@ -107,3 +107,6 @@ /obj/item/organ/heart/gland/electric = 8, /obj/item/organ/heart/gland/chem = 8, /obj/item/organ/heart/gland/plasma = 8) + +/obj/effect/mob_spawn/human/lavaland_syndicate/comms/space // Weird typo fix override + flavour_text = "Monitor enemy activity as best you can, and try to keep a low profile. Use the communication equipment to provide support to any field agents, and sow disinformation to throw Nanotrasen off your trail. Do not let the base fall into enemy hands!" \ No newline at end of file