From 78dbbfdc0a172df78b07ce19303cb6918905c8e1 Mon Sep 17 00:00:00 2001 From: LT3 <83487515+lessthnthree@users.noreply.github.com> Date: Fri, 23 Jan 2026 14:59:18 -0800 Subject: [PATCH 001/271] Fix lights emergency power consumption [No GBP] (#94964) ## About The Pull Request Fixes emergency lighting to use 0.2W per tick as per the code. I missed this in testing https://github.com/tgstation/tgstation/pull/94910 Emergency lights use 0.2 W per tick, meaning ~10 minutes of emergency power from a cell. ## Why It's Good For The Game Lights consume power for the expected amount of time. ## Changelog :cl: LT3 fix: Emergency lighting consumes its cell at the expected rate /:cl: --- code/__DEFINES/lights.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__DEFINES/lights.dm b/code/__DEFINES/lights.dm index 48d210fe0316..73522f5de388 100644 --- a/code/__DEFINES/lights.dm +++ b/code/__DEFINES/lights.dm @@ -1,5 +1,5 @@ ///How much power emergency lights will consume per tick -#define LIGHT_EMERGENCY_POWER_USE (0.0001 * STANDARD_CELL_RATE) +#define LIGHT_EMERGENCY_POWER_USE (0.0002 * STANDARD_CELL_RATE) // status values shared between lighting fixtures and items #define LIGHT_OK 0 #define LIGHT_EMPTY 1 From e40735492a831b90c3e634bb85f5e4eab6a0404f Mon Sep 17 00:00:00 2001 From: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Date: Fri, 23 Jan 2026 14:59:33 -0800 Subject: [PATCH 002/271] Fixes regex key in spawn panel (#94960) ## About The Pull Request The original issue was that using altR wouldn't change the input's text as expected. This is correct behavior in tgui-core, inputs cannot be altered while focused (ux concern). A hacky way to fix this would be to just blur and refocus, but I think the intent here is just to display `re:` next to the text. ![dreamseeker_OceEFtFcMI](https://github.com/user-attachments/assets/aece09b0-b9b3-4ce0-93f2-782892c8561e) Outside of this, I tried to optimize the component as much as I could. Removing the input control logic (just to add re:) simplifies it quite a bit. I also removed the filter's useEffect instead to derive the filter/validity states from `query`. It should run smoothly! ## Why It's Good For The Game The UI should work. I don't think there's an issue up for this yet ## Changelog :cl: fix: Fixed the regex mode toggle in the spawn (verb) panel. /:cl: --- tgui/packages/tgui/interfaces/SpawnSearch.tsx | 447 ++++++++++-------- 1 file changed, 241 insertions(+), 206 deletions(-) diff --git a/tgui/packages/tgui/interfaces/SpawnSearch.tsx b/tgui/packages/tgui/interfaces/SpawnSearch.tsx index a4334e8a4310..3e2299444dfa 100644 --- a/tgui/packages/tgui/interfaces/SpawnSearch.tsx +++ b/tgui/packages/tgui/interfaces/SpawnSearch.tsx @@ -1,7 +1,9 @@ -import { useEffect, useState } from 'react'; +import { useEffect, useMemo, useState } from 'react'; import { Autofocus, + Box, Button, + Icon, Input, Section, Stack, @@ -9,7 +11,6 @@ import { } from 'tgui-core/components'; import { fetchRetry } from 'tgui-core/http'; import { - KEY_A, KEY_DOWN, KEY_ENTER, KEY_ESCAPE, @@ -17,31 +18,31 @@ import { KEY_N, KEY_R, KEY_UP, - KEY_Z, } from 'tgui-core/keycodes'; +import type { BooleanLike } from 'tgui-core/react'; import { resolveAsset } from '../assets'; -import { useBackend } from './../backend'; -import { Window } from './../layouts'; +import { useBackend } from '../backend'; +import { Window } from '../layouts'; import { logger } from '../logging'; type SpawnSearchData = { - initValue: string | undefined; - searchNames: boolean; - regexSearch: boolean; - fancyTypes: boolean; - includeAbstracts: boolean; + initValue: string | null; + searchNames: BooleanLike; + regexSearch: BooleanLike; + fancyTypes: BooleanLike; + includeAbstracts: BooleanLike; }; type SpawnAtomData = { // Type -> Name types: Record; - abstractTypes: Record + abstractTypes: Record; fancyTypes: Record; }; type AtomPathData = { - types: Array; - abstractTypes: Record + types: AtomTypeData[]; + abstractTypes: Record; fancyTypes: Record; }; @@ -50,53 +51,69 @@ type AtomTypeData = { name: string; }; -export const SpawnSearch = () => { +const initialAtomPathData: AtomPathData = { + types: [], + abstractTypes: {}, + fancyTypes: {}, +}; + +export function SpawnSearch() { const { act, data } = useBackend(); - const { initValue, searchNames, regexSearch, fancyTypes, includeAbstracts } = - data; - const [atomData, setAtomData] = useState({ - types: [], - abstractTypes: {}, - fancyTypes: {}, - }); - const [selected, setSelected] = useState(0); - const [query, setQuery] = useState( - (regexSearch ? 're:' : '') + (initValue || ''), - ); - const [spawnAmount, setSpawnAmount] = useState(1); - const [invalidInput, setInvalidInput] = useState(false); - const [searchBarVisible, setSearchBarVisible] = useState(true); + const { + fancyTypes, + includeAbstracts, + initValue = '', + regexSearch, + searchNames, + } = data; - const filterItems = () => { - let filterQuery = query; - setInvalidInput(false); - const isRegex = filterQuery.indexOf('re:') === 0; - // Remove regex command - if (isRegex) filterQuery = filterQuery.slice(3).trimStart(); - // We wiped the whole query in one keypress (Ctrl+A -> Delete) - // Default to regex if we have it enabled - else if (regexSearch && filterQuery.length === 0) filterQuery = 're:'; - const possibleAmountData = filterQuery.split(':'); + const [atomData, setAtomData] = useState(initialAtomPathData); + const [selected, setSelected] = useState(0); + const [query, setQuery] = useState(initValue || ''); + const [searchBarVisible, setSearchBarVisible] = useState(true); + + const { invalidInput, spawnAmount } = useMemo(() => { + let invalidInput = false; + let spawnAmount = 1; + + const possibleAmountData = query.split(':'); const amountElement = possibleAmountData[possibleAmountData.length - 1]; - // This language is cursed, check if last : contains a number afterwards + if (possibleAmountData.length > 1 && !Number.isNaN(+amountElement)) { if (+amountElement <= 0) { - setInvalidInput(true); - return []; + invalidInput = true; + } else { + spawnAmount = +amountElement; } + } + + if (regexSearch) { + try { + new RegExp(query); + } catch (error) { + invalidInput = true; + } + } - filterQuery = filterQuery - .slice(0, filterQuery.length - amountElement.length - 1) - .trimEnd(); - setSpawnAmount(+amountElement); - } else if (spawnAmount !== 1) setSpawnAmount(1); + return { invalidInput, spawnAmount }; + }, [query, regexSearch]); - if (isRegex !== regexSearch) - act('setRegexSearch', { regexSearch: regexSearch }); + const filteredItems = useMemo(() => { + let filterQuery = query; + + // Extract amount suffix (e.g., ":5" from "query:5") + const amountMatch = query.match(/^(.+):(\d+)$/); + if (amountMatch) { + const amount = +amountMatch[2]; + if (amount <= 0) { + return []; + } + filterQuery = amountMatch[1].trimEnd(); + } if (filterQuery.length === 0) return []; - if (isRegex) { + if (regexSearch) { try { const queryRegex = new RegExp(filterQuery); return atomData.types.filter( @@ -105,8 +122,6 @@ export const SpawnSearch = () => { (searchNames && queryRegex.test(type.name)), ); } catch (error) { - // We'll get plenty of invalid regexes as we type it out, just highlight the input red and abort search - setInvalidInput(true); return []; } } @@ -115,25 +130,26 @@ export const SpawnSearch = () => { if (finalizer === '*' || finalizer === '!') filterQuery = filterQuery.slice(0, filterQuery.length - 1); filterQuery = filterQuery.toLowerCase(); + let searchLambda = (x: string) => x.toLowerCase().includes(filterQuery); - if (finalizer === '!') + if (finalizer === '!') { searchLambda = (x: string) => x.toLowerCase().includes(filterQuery) && x.toLowerCase().lastIndexOf(filterQuery) === x.length - filterQuery.length; - else if (finalizer === '*') + } else if (finalizer === '*') { searchLambda = (x: string) => x.toLowerCase().includes(filterQuery) && !x.slice(x.toLowerCase().lastIndexOf(filterQuery)).includes('/'); + } + return atomData.types.filter( (type: AtomTypeData) => (searchLambda(type.typepath) || (searchNames && searchLambda(type.name))) && (includeAbstracts || !atomData.abstractTypes[type.typepath]), ); - }; - - const [filteredItems, setFilteredItems] = useState>([]); + }, [query, atomData, regexSearch, includeAbstracts, searchNames]); useEffect(() => { fetchRetry(resolveAsset('spawn_menu_atom_data.json')) @@ -156,14 +172,9 @@ export const SpawnSearch = () => { }); }, []); - useEffect( - () => setFilteredItems(filterItems()), - [query, atomData, includeAbstracts], - ); - // User presses up or down on keyboard // Simulates clicking an item - const onArrowKey = (key: number) => { + function handleArrowKey(key: number): void { const len = Object.keys(filteredItems).length - 1; if (key === KEY_DOWN) { if (selected === null || selected === len) { @@ -182,25 +193,57 @@ export const SpawnSearch = () => { document!.getElementById((selected - 1).toString())?.scrollIntoView(); } } - }; + } - const onSelected = (selection: AtomTypeData) => - act('spawn', { type: selection.typepath, amount: spawnAmount }); + function handleKeyDown(event: React.KeyboardEvent): void { + const keyCode = window.event ? event.which : event.keyCode; + if (keyCode === KEY_DOWN || keyCode === KEY_UP) { + event.preventDefault(); + handleArrowKey(keyCode); + } + + if (keyCode === KEY_ENTER) { + event.preventDefault(); + handleSelect(filteredItems[selected]); + } + + if (keyCode === KEY_ESCAPE) { + event.preventDefault(); + act('cancel'); + } - const onSearch = (newQuery: string) => { - if (newQuery === query) { - return; + if (keyCode === KEY_R && event.altKey) { + act('setRegexSearch', { regexSearch: !regexSearch }); } + + if (keyCode === KEY_N && event.altKey) { + act('setNameSearch', { searchNames: !searchNames }); + } + + if (keyCode === KEY_F && event.altKey) { + act('setFancyTypes', { fancyTypes: !fancyTypes }); + } + } + + function handleSelect(selection: AtomTypeData): void { + act('spawn', { type: selection.typepath, amount: spawnAmount }); + } + + function handleSearch(newQuery: string): void { + if (newQuery === query) return; + setQuery(newQuery); setSelected(0); document!.getElementById('0')?.scrollIntoView(); - }; + } // Grabs the cursor when no search bar is visible. if (!searchBarVisible) { setTimeout(() => document!.getElementById(selected.toString())?.focus(), 1); } + const modeText = regexSearch ? 'RegEx Mode' : 'Standard Mode'; + return ( { height={500} buttons={ <> - + ))} + + + + + {!!searchBarVisible && ( + + + + + + handleSelect(filteredItems[selected])} + onChange={handleSearch} + placeholder="Search..." + value={query} + style={{ + borderColor: invalidInput ? 'red' : undefined, + }} + /> + + + )} + + + + + ); +} - if (keyCode === KEY_ENTER) { - event.preventDefault(); - onSelected(filteredItems[selected]); - } +type AtomSpanProps = { + atomData: AtomPathData; + item: AtomTypeData; +}; - if (keyCode === KEY_ESCAPE) { - event.preventDefault(); - act('cancel'); - } +function ListItem(props: AtomSpanProps) { + const { atomData, item } = props; - if (keyCode === KEY_R && event.altKey) { - if (query.indexOf('re:') === 0) setQuery(query.slice(3)); - else setQuery(`re:${query}`); - } + const { data } = useBackend(); + const { fancyTypes } = data; + + const matchingKey = fancyTypes + ? Object.keys(atomData.fancyTypes).findLast( + (x: string) => item.typepath.indexOf(x) === 0, + ) + : undefined; - if (keyCode === KEY_N && event.altKey) - act('setNameSearch', { searchNames: !searchNames }); + const displayPath = matchingKey + ? item.typepath.replace(matchingKey, atomData.fancyTypes[matchingKey]) + : item.typepath; - if (keyCode === KEY_F && event.altKey) - act('setFancyTypes', { fancyTypes: !fancyTypes }); + return ( + <> + + {displayPath} + + + {item.name} + + {!!atomData.abstractTypes[item.typepath] && ( + - - -
- - - {filteredItems.map((item, index) => ( - - ))} - -
-
- {!!searchBarVisible && ( - onSelected(filteredItems[selected])} - onChange={onSearch} - placeholder="Search..." - value={query} - style={invalidInput ? { borderColor: 'red' } : {}} - /> - )} -
- - - + Abstract +
+ )} + ); -}; +} From 661ce5349471a36a47a25f48a2a0d85eac9096e7 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 23 Jan 2026 22:59:39 +0000 Subject: [PATCH 003/271] Automatic changelog for PR #94964 [ci skip] --- html/changelogs/AutoChangeLog-pr-94964.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-94964.yml diff --git a/html/changelogs/AutoChangeLog-pr-94964.yml b/html/changelogs/AutoChangeLog-pr-94964.yml new file mode 100644 index 000000000000..5146bcb77a01 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-94964.yml @@ -0,0 +1,4 @@ +author: "LT3" +delete-after: True +changes: + - bugfix: "Emergency lighting consumes its cell at the expected rate" \ No newline at end of file From 735d3f6f3a6b4c5918d147a55c66f7f57bc0ea92 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 23 Jan 2026 22:59:53 +0000 Subject: [PATCH 004/271] Automatic changelog for PR #94960 [ci skip] --- html/changelogs/AutoChangeLog-pr-94960.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-94960.yml diff --git a/html/changelogs/AutoChangeLog-pr-94960.yml b/html/changelogs/AutoChangeLog-pr-94960.yml new file mode 100644 index 000000000000..3af4522c080c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-94960.yml @@ -0,0 +1,4 @@ +author: "jlsnow301" +delete-after: True +changes: + - bugfix: "Fixed the regex mode toggle in the spawn (verb) panel." \ No newline at end of file From 29553a3be8f566b1aafee73a0cd8168e19787f5a Mon Sep 17 00:00:00 2001 From: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Date: Sat, 24 Jan 2026 00:00:07 +0100 Subject: [PATCH 005/271] Fixes fancytypes in admin menus being mangled (#94950) ## About The Pull Request Closes #94833 ## Changelog :cl: fix: Fixed fancytypes in admin menus being mangled /:cl: --- code/__HELPERS/type_processing.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__HELPERS/type_processing.dm b/code/__HELPERS/type_processing.dm index dd07d1fc9aac..6e23be76ed39 100644 --- a/code/__HELPERS/type_processing.dm +++ b/code/__HELPERS/type_processing.dm @@ -100,7 +100,7 @@ GLOBAL_LIST_INIT(fancy_type_replacements, list( var/list/local_replacements = zebra_typecacheof(fancy_type_cache, ignore_root_path = TRUE) var/list/local_texts = list() for(var/key in fancy_type_cache) - local_texts[local_replacements[key]] = "[key]" + local_texts[fancy_type_cache[key]] = "[key]" types_to_replacement = local_replacements replacement_to_text = local_texts From 6a333dd4adf36b159f5c5db5fea5824edef6dd3e Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 23 Jan 2026 23:00:27 +0000 Subject: [PATCH 006/271] Automatic changelog for PR #94950 [ci skip] --- html/changelogs/AutoChangeLog-pr-94950.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-94950.yml diff --git a/html/changelogs/AutoChangeLog-pr-94950.yml b/html/changelogs/AutoChangeLog-pr-94950.yml new file mode 100644 index 000000000000..5c3e9cde25dd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-94950.yml @@ -0,0 +1,4 @@ +author: "SmArtKar" +delete-after: True +changes: + - bugfix: "Fixed fancytypes in admin menus being mangled" \ No newline at end of file From fe266c28dd62bbe8d71e0dcc64d5db8b8eb9e777 Mon Sep 17 00:00:00 2001 From: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Date: Fri, 23 Jan 2026 18:01:41 -0500 Subject: [PATCH 007/271] Minor spelling mistake in Slime Management Console (#94978) ## About The Pull Request The Slime Management Console will include a random stored_monkeys in a to_chat if there aren't enough. This removes it so that it reads better. ## Why It's Good For The Game Reads like proper english in a player facing console. ## Changelog :cl: spellcheck: The slime management console no longer reads a variable name out incorrectly. /:cl: --- code/modules/research/xenobiology/xenobio_camera.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 5e38d9a18a01..65fcb3ffc388 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -254,7 +254,7 @@ ///Places one monkey, if possible /obj/machinery/computer/camera_advanced/xenobio/proc/feed_slime(mob/living/user, turf/open/target_turf) if(stored_monkeys < 1) - to_chat(user, span_warning("[src] needs to have at least 1 monkey stored. Currently has [stored_monkeys] stored_monkeys stored.")) + to_chat(user, span_warning("[src] needs to have at least 1 monkey stored. Currently has [stored_monkeys] monkeys stored.")) target_turf.balloon_alert(user, "not enough monkeys") return From fbc28c1a017fc267fd8b27108024d28107bc5708 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 23 Jan 2026 23:02:02 +0000 Subject: [PATCH 008/271] Automatic changelog for PR #94978 [ci skip] --- html/changelogs/AutoChangeLog-pr-94978.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-94978.yml diff --git a/html/changelogs/AutoChangeLog-pr-94978.yml b/html/changelogs/AutoChangeLog-pr-94978.yml new file mode 100644 index 000000000000..57481b3d047d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-94978.yml @@ -0,0 +1,4 @@ +author: "ArcaneMusic" +delete-after: True +changes: + - spellcheck: "The slime management console no longer reads a variable name out incorrectly." \ No newline at end of file From ff009b8c10bcddfbf4e1c208ee409bb975f4d4fd Mon Sep 17 00:00:00 2001 From: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Date: Fri, 23 Jan 2026 18:03:27 -0500 Subject: [PATCH 009/271] Snouts push masks out a bit (#94640) ## About The Pull Request If you have a snout (and it isn't already handled elsewhere by your species), masks will now be pushed 1 whole pixel up and away from you when facing left or right. Examples (TOP IS OLD, BOTTOM IS NEW) (did you know the welding visor has the lizard's snout sticking out the front)? image I also tried moving it up one tile too, but it didn't look as nice. (To be clear, these are not the ones being used, the above screenshot is) (once again top row is old, bottom row is new) image image ## Why It's Good For The Game I think this makes masks fit snouted faces a little bit better? Currently they sorta clip into the face which is a little bad imo. ## Changelog :cl: add: Masks now fit snouted species a little bit better, maybe. /:cl: --- code/__DEFINES/inventory.dm | 8 +++----- code/_globalvars/bitfields.dm | 1 - .../clothing/under/jobs/civilian/clown_mime.dm | 2 +- code/modules/clothing/under/shorts.dm | 2 +- .../surgery/bodyparts/worn_feature_offset.dm | 16 ++++++++++++---- .../surgery/organs/external/_visual_organs.dm | 18 ++++++++++++++++++ 6 files changed, 35 insertions(+), 12 deletions(-) diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index cba3fbbd3861..0176504e8112 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -163,14 +163,12 @@ DEFINE_BITFIELD(no_equip_flags, list( #define DIGITIGRADE_STYLE 2 //Flags (actual flags, fucker ^) for /obj/item/var/supports_variations_flags -/// No alternative sprites or handling based on bodytype -#define CLOTHING_NO_VARIATION (1<<0) /// Has a sprite for digitigrade legs specifically. -#define CLOTHING_DIGITIGRADE_VARIATION (1<<1) +#define CLOTHING_DIGITIGRADE_VARIATION (1<<0) /// The sprite works fine for digitigrade legs as-is. -#define CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON (1<<2) +#define CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON (1<<1) /// Auto-generates the leg portion of the sprite with GAGS -#define CLOTHING_DIGITIGRADE_MASK (1<<3) +#define CLOTHING_DIGITIGRADE_MASK (1<<2) /// All variation flags which render "correctly" on a digitigrade leg setup #define DIGITIGRADE_VARIATIONS (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON|CLOTHING_DIGITIGRADE_MASK) diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 7046a2f8f4db..cc01b194bd8d 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -533,7 +533,6 @@ DEFINE_BITFIELD(head_flags, list( )) DEFINE_BITFIELD(supports_variations_flags, list( - "CLOTHING_NO_VARIATION" = CLOTHING_NO_VARIATION, "CLOTHING_DIGITIGRADE_VARIATION" = CLOTHING_DIGITIGRADE_VARIATION, "CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON" = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON, "CLOTHING_DIGITIGRADE_MASK" = CLOTHING_DIGITIGRADE_MASK, diff --git a/code/modules/clothing/under/jobs/civilian/clown_mime.dm b/code/modules/clothing/under/jobs/civilian/clown_mime.dm index bb0c33e7e2f7..a452c6c98e04 100644 --- a/code/modules/clothing/under/jobs/civilian/clown_mime.dm +++ b/code/modules/clothing/under/jobs/civilian/clown_mime.dm @@ -31,7 +31,7 @@ inhand_icon_state = "clown" female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY can_adjust = FALSE - supports_variations_flags = CLOTHING_NO_VARIATION + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/clown/Initialize(mapload) . = ..() diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm index eb06c86fbe49..7110fab35bca 100644 --- a/code/modules/clothing/under/shorts.dm +++ b/code/modules/clothing/under/shorts.dm @@ -10,7 +10,7 @@ gender = PLURAL body_parts_covered = GROIN female_sprite_flags = NO_FEMALE_UNIFORM - supports_variations_flags = CLOTHING_NO_VARIATION + supports_variations_flags = NONE can_adjust = FALSE species_exception = list(/datum/species/golem) flags_1 = IS_PLAYER_COLORABLE_1 diff --git a/code/modules/surgery/bodyparts/worn_feature_offset.dm b/code/modules/surgery/bodyparts/worn_feature_offset.dm index 24f4cedbff81..3fee7097d2d4 100644 --- a/code/modules/surgery/bodyparts/worn_feature_offset.dm +++ b/code/modules/surgery/bodyparts/worn_feature_offset.dm @@ -19,7 +19,6 @@ list/offset_y = list("south" = 0), ) attached_part.feature_offsets[feature_key] = src - owner = attached_part.owner src.attached_part = attached_part src.feature_key = feature_key src.offset_x = offset_x @@ -28,13 +27,20 @@ if (length(offset_x) <= 1 && length(offset_y) <= 1) return // We don't need to do any extra signal handling - if (!isnull(owner)) - changed_owner(owner) + changed_owner(owner, attached_part.owner) RegisterSignal(attached_part, COMSIG_BODYPART_CHANGED_OWNER, PROC_REF(changed_owner)) +/datum/worn_feature_offset/Destroy(force) + attached_part.feature_offsets -= feature_key + attached_part = null + changed_owner(null, null) + return ..() + /// Returns the current offset which should be used for this feature /datum/worn_feature_offset/proc/get_offset() var/current_dir = owner ? owner.dir : SOUTH + if(ISDIAGONALDIR(current_dir)) + current_dir = current_dir & (EAST|WEST) current_dir = dir2text(current_dir) var/x = length(offset_x) ? ((current_dir in offset_x) ? offset_x[current_dir] : offset_x["south"]) : 0 var/y = length(offset_y) ? ((current_dir in offset_y) ? offset_y[current_dir] : offset_y["south"]) : 0 @@ -49,9 +55,11 @@ /// When the owner of the bodypart changes, update our signal registrations /datum/worn_feature_offset/proc/changed_owner(obj/item/bodypart/part, mob/living/new_owner, mob/living/old_owner) SIGNAL_HANDLER + if(isnull(old_owner)) + old_owner = owner owner = new_owner if (!isnull(old_owner)) - UnregisterSignal(old_owner, COMSIG_ATOM_POST_DIR_CHANGE) + UnregisterSignal(old_owner, list(COMSIG_ATOM_POST_DIR_CHANGE, COMSIG_QDELETING)) if (!isnull(new_owner)) RegisterSignal(new_owner, COMSIG_ATOM_POST_DIR_CHANGE, PROC_REF(on_dir_change)) RegisterSignal(new_owner, COMSIG_QDELETING, PROC_REF(on_owner_deleted)) diff --git a/code/modules/surgery/organs/external/_visual_organs.dm b/code/modules/surgery/organs/external/_visual_organs.dm index ec576568ab2a..f7ba0b1ce6b6 100644 --- a/code/modules/surgery/organs/external/_visual_organs.dm +++ b/code/modules/surgery/organs/external/_visual_organs.dm @@ -163,6 +163,24 @@ Unlike normal organs, we're actually inside a persons limbs at all times organ_flags = parent_type::organ_flags | ORGAN_EXTERNAL + /// Offset to apply to equipment worn on the mouth we give to the head. + var/datum/worn_feature_offset/worn_mask_offset + +/obj/item/organ/snout/on_bodypart_insert(obj/item/bodypart/head/limb) + . = ..() + if(isnull(limb.worn_mask_offset)) + worn_mask_offset = limb.worn_mask_offset = new( + attached_part = limb, + feature_key = OFFSET_FACEMASK, + offset_x = list("east" = 1, "west" = -1), + ) + +/obj/item/organ/snout/on_bodypart_remove(obj/item/bodypart/head/limb, movement_flags) + if(worn_mask_offset) + QDEL_NULL(worn_mask_offset) + limb.worn_mask_offset = null + return ..() + /datum/bodypart_overlay/mutant/snout layers = EXTERNAL_ADJACENT feature_key = FEATURE_SNOUT From 2ed836ca57a96888a10614c89c5aa2b4b647539d Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 23 Jan 2026 23:03:49 +0000 Subject: [PATCH 010/271] Automatic changelog for PR #94640 [ci skip] --- html/changelogs/AutoChangeLog-pr-94640.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-94640.yml diff --git a/html/changelogs/AutoChangeLog-pr-94640.yml b/html/changelogs/AutoChangeLog-pr-94640.yml new file mode 100644 index 000000000000..41687c39ae71 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-94640.yml @@ -0,0 +1,4 @@ +author: "JohnFulpWillard" +delete-after: True +changes: + - rscadd: "Masks now fit snouted species a little bit better, maybe." \ No newline at end of file From fdced8404b2cbd0f191ab7e5b26dc5210d90c0a7 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 23 Jan 2026 23:06:03 +0000 Subject: [PATCH 011/271] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-94640.yml | 4 ---- html/changelogs/AutoChangeLog-pr-94894.yml | 4 ---- html/changelogs/AutoChangeLog-pr-94950.yml | 4 ---- html/changelogs/AutoChangeLog-pr-94960.yml | 4 ---- html/changelogs/AutoChangeLog-pr-94964.yml | 4 ---- html/changelogs/AutoChangeLog-pr-94978.yml | 4 ---- html/changelogs/archive/2026-01.yml | 13 +++++++++++++ 7 files changed, 13 insertions(+), 24 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-94640.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-94894.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-94950.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-94960.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-94964.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-94978.yml diff --git a/html/changelogs/AutoChangeLog-pr-94640.yml b/html/changelogs/AutoChangeLog-pr-94640.yml deleted file mode 100644 index 41687c39ae71..000000000000 --- a/html/changelogs/AutoChangeLog-pr-94640.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "JohnFulpWillard" -delete-after: True -changes: - - rscadd: "Masks now fit snouted species a little bit better, maybe." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-94894.yml b/html/changelogs/AutoChangeLog-pr-94894.yml deleted file mode 100644 index db7bf4797498..000000000000 --- a/html/changelogs/AutoChangeLog-pr-94894.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "lelandkemble" -delete-after: True -changes: - - map: "The last full wooden barricades on top of dense objects have been excised" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-94950.yml b/html/changelogs/AutoChangeLog-pr-94950.yml deleted file mode 100644 index 5c3e9cde25dd..000000000000 --- a/html/changelogs/AutoChangeLog-pr-94950.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SmArtKar" -delete-after: True -changes: - - bugfix: "Fixed fancytypes in admin menus being mangled" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-94960.yml b/html/changelogs/AutoChangeLog-pr-94960.yml deleted file mode 100644 index 3af4522c080c..000000000000 --- a/html/changelogs/AutoChangeLog-pr-94960.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "jlsnow301" -delete-after: True -changes: - - bugfix: "Fixed the regex mode toggle in the spawn (verb) panel." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-94964.yml b/html/changelogs/AutoChangeLog-pr-94964.yml deleted file mode 100644 index 5146bcb77a01..000000000000 --- a/html/changelogs/AutoChangeLog-pr-94964.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LT3" -delete-after: True -changes: - - bugfix: "Emergency lighting consumes its cell at the expected rate" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-94978.yml b/html/changelogs/AutoChangeLog-pr-94978.yml deleted file mode 100644 index 57481b3d047d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-94978.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ArcaneMusic" -delete-after: True -changes: - - spellcheck: "The slime management console no longer reads a variable name out incorrectly." \ No newline at end of file diff --git a/html/changelogs/archive/2026-01.yml b/html/changelogs/archive/2026-01.yml index 1af467366155..cb11bc06dbe5 100644 --- a/html/changelogs/archive/2026-01.yml +++ b/html/changelogs/archive/2026-01.yml @@ -598,3 +598,16 @@ - bugfix: Killing yourself in various other ways that gib or dust you will no longer delete the items you were wearing, consistent with most of the other ways of killing yourself that gib or dust you. +2026-01-23: + ArcaneMusic: + - spellcheck: The slime management console no longer reads a variable name out incorrectly. + JohnFulpWillard: + - rscadd: Masks now fit snouted species a little bit better, maybe. + LT3: + - bugfix: Emergency lighting consumes its cell at the expected rate + SmArtKar: + - bugfix: Fixed fancytypes in admin menus being mangled + jlsnow301: + - bugfix: Fixed the regex mode toggle in the spawn (verb) panel. + lelandkemble: + - map: The last full wooden barricades on top of dense objects have been excised From df070e5a767fd69ef63c642ad8c0d6b5d587940c Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 23 Jan 2026 23:18:06 +0000 Subject: [PATCH 012/271] Science has gone very wrong if you're deliberately causing a resonance cascade (#94953) ## About The Pull Request Allows admins to trigger a resonance cascades. It's in the secrets menu, and it will probably get you de-adminned. ## Why It's Good For The Game Funny https://dlc2.portal2sounds.com/sounds/sound_dlc2/vo/cavejohnson/dlc2_0780_altcave_blappeture_mesa01.mp3?id=48 ## Changelog :cl: admin: Someone gave Centcom permission to access the anomalous materials research department. The result surely can't be good... /:cl: Co-authored-by: Josh Powell --- code/modules/admin/verbs/secrets.dm | 14 ++++++++++++++ tgui/packages/tgui/interfaces/Secrets.jsx | 17 ++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/secrets.dm b/code/modules/admin/verbs/secrets.dm index 88f50b3cb3e2..cd8d688ed89b 100644 --- a/code/modules/admin/verbs/secrets.dm +++ b/code/modules/admin/verbs/secrets.dm @@ -687,6 +687,20 @@ ADMIN_VERB(secrets, R_NONE, "Secrets", "Abuse harder than you ever have before w message_admins("[key_name_admin(holder)] healed everyone.") log_admin("[key_name(holder)] healed everyone.") + if("cascade") + if(!is_funmin) + return + message_admins("[key_name_admin(holder)] started a resonance cascade! You're supposed to be a scientist! Use your common sense!") + for(var/obj/machinery/power/supermatter_crystal/S in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/power/supermatter_crystal)) + if(!S.is_main_engine) + continue + S.explosion_point = 0 + S.set_delam(SM_DELAM_PRIO_IN_GAME, /datum/sm_delam/cascade) + S.external_damage_immediate += 200 + S.count_down() + return + return + if(holder) log_admin("[key_name(holder)] used secret: [action].") #undef THUNDERDOME_TEMPLATE_FILE diff --git a/tgui/packages/tgui/interfaces/Secrets.jsx b/tgui/packages/tgui/interfaces/Secrets.jsx index 5a9299052d90..160fb1922e57 100644 --- a/tgui/packages/tgui/interfaces/Secrets.jsx +++ b/tgui/packages/tgui/interfaces/Secrets.jsx @@ -574,6 +574,21 @@ const FunForYouTab = (props) => { + + + + + + + ))} + + + } + > + + } + > + + + + act('change_volume', { + volume: value, + }) + } + /> + + + + + + ); +} From abf21d67c4a2bff693126a9b90721ef31aca7ae3 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 03:30:34 +0000 Subject: [PATCH 171/271] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-95070.yml | 4 ---- html/changelogs/AutoChangeLog-pr-95074.yml | 4 ---- html/changelogs/AutoChangeLog-pr-95078.yml | 5 ----- html/changelogs/archive/2026-02.yml | 7 +++++++ 4 files changed, 7 insertions(+), 13 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-95070.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-95074.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-95078.yml diff --git a/html/changelogs/AutoChangeLog-pr-95070.yml b/html/changelogs/AutoChangeLog-pr-95070.yml deleted file mode 100644 index 40124f124502..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95070.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "lelandkemble" -delete-after: True -changes: - - spellcheck: "Language manuals correctly refer to the person using them up to viewers" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-95074.yml b/html/changelogs/AutoChangeLog-pr-95074.yml deleted file mode 100644 index 9bc08c933d9a..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95074.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Melbert" -delete-after: True -changes: - - qol: "Blushing matches blood color, so lizards blush greeeen." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-95078.yml b/html/changelogs/AutoChangeLog-pr-95078.yml deleted file mode 100644 index 142f87807e27..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95078.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "lelandkemble" -delete-after: True -changes: - - bugfix: "Sources of random slimes will now produce random slimes" - - bugfix: "Slimes revived via magic will now continue to look as they should" \ No newline at end of file diff --git a/html/changelogs/archive/2026-02.yml b/html/changelogs/archive/2026-02.yml index 20846307acce..1886d6b5d87e 100644 --- a/html/changelogs/archive/2026-02.yml +++ b/html/changelogs/archive/2026-02.yml @@ -34,3 +34,10 @@ 2026-02-03: alien3301: - qol: Heretic void cloak doesn't quickdraw +2026-02-04: + Melbert: + - qol: Blushing matches blood color, so lizards blush greeeen. + lelandkemble: + - spellcheck: Language manuals correctly refer to the person using them up to viewers + - bugfix: Sources of random slimes will now produce random slimes + - bugfix: Slimes revived via magic will now continue to look as they should From 46fee98e3a0935529c29f76fc74722298b60f08c Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 03:32:06 +0000 Subject: [PATCH 172/271] Automatic changelog for PR #95017 [ci skip] --- html/changelogs/AutoChangeLog-pr-95017.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95017.yml diff --git a/html/changelogs/AutoChangeLog-pr-95017.yml b/html/changelogs/AutoChangeLog-pr-95017.yml new file mode 100644 index 000000000000..21a475310947 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95017.yml @@ -0,0 +1,4 @@ +author: "Fghj240" +delete-after: True +changes: + - bugfix: "viruses should maybe probably not cure themselves" \ No newline at end of file From eb3eb0688ead56caffa267363a2067d683ed8736 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 03:32:25 +0000 Subject: [PATCH 173/271] Automatic changelog for PR #94999 [ci skip] --- html/changelogs/AutoChangeLog-pr-94999.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-94999.yml diff --git a/html/changelogs/AutoChangeLog-pr-94999.yml b/html/changelogs/AutoChangeLog-pr-94999.yml new file mode 100644 index 000000000000..bfee5f5507a6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-94999.yml @@ -0,0 +1,6 @@ +author: "SmArtKar" +delete-after: True +changes: + - refactor: "Refactored sparks, foam, smoke, and other miscellaneous effect systems." + - refactor: "Vapes now have consistent rigging with cigs using the new system." + - bugfix: "Fixed some effects never working." \ No newline at end of file From 10a267d4c94ef6878957f568efcbe56777069986 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 03:33:50 +0000 Subject: [PATCH 174/271] Automatic changelog for PR #94980 [ci skip] --- html/changelogs/AutoChangeLog-pr-94980.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-94980.yml diff --git a/html/changelogs/AutoChangeLog-pr-94980.yml b/html/changelogs/AutoChangeLog-pr-94980.yml new file mode 100644 index 000000000000..0b005355ea85 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-94980.yml @@ -0,0 +1,7 @@ +author: "Y0SH1M4S73R" +delete-after: True +changes: + - bugfix: "The holy energy swords and the carp-sie plushie can once again be renamed" + - bugfix: "The holy energy swords and the carp-sie plushie can once again be sacrificed by cultists to spawn different weapons based on how many unique cultists the chaplain has crit or killed with them" + - qol: "The holy skateboard can be renamed like other null rod variants can" + - bugfix: "Unusual null rod variants like the holy skateboard and bow can now be sacrificed by cultists to spawn different weapons based on how many unique cultists the chaplain has crit or killed with them. The bow and the burdened chaplain's revolver, in particular, also count cultists crit or killed by arrows/bullets fired from them by the chaplain." \ No newline at end of file From 6600b894d87102d1535b86b7bbfec4e127e1ab91 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 03:33:56 +0000 Subject: [PATCH 175/271] Automatic changelog for PR #94944 [ci skip] --- html/changelogs/AutoChangeLog-pr-94944.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-94944.yml diff --git a/html/changelogs/AutoChangeLog-pr-94944.yml b/html/changelogs/AutoChangeLog-pr-94944.yml new file mode 100644 index 000000000000..1dbcce8b054a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-94944.yml @@ -0,0 +1,5 @@ +author: "SyncIt21" +delete-after: True +changes: + - qol: "plumbing disposer now has TGUI interface for operations" + - bugfix: "plumbing disposer icon state correctly switches between on & off under circumstances" \ No newline at end of file From 1439e8db0bcc0e4040824850d7dde89a9246afd5 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 06:00:25 +0000 Subject: [PATCH 176/271] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-94944.yml | 5 ----- html/changelogs/AutoChangeLog-pr-94980.yml | 7 ------- html/changelogs/AutoChangeLog-pr-94999.yml | 6 ------ html/changelogs/AutoChangeLog-pr-95017.yml | 4 ---- html/changelogs/archive/2026-02.yml | 21 +++++++++++++++++++++ 5 files changed, 21 insertions(+), 22 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-94944.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-94980.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-94999.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-95017.yml diff --git a/html/changelogs/AutoChangeLog-pr-94944.yml b/html/changelogs/AutoChangeLog-pr-94944.yml deleted file mode 100644 index 1dbcce8b054a..000000000000 --- a/html/changelogs/AutoChangeLog-pr-94944.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "SyncIt21" -delete-after: True -changes: - - qol: "plumbing disposer now has TGUI interface for operations" - - bugfix: "plumbing disposer icon state correctly switches between on & off under circumstances" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-94980.yml b/html/changelogs/AutoChangeLog-pr-94980.yml deleted file mode 100644 index 0b005355ea85..000000000000 --- a/html/changelogs/AutoChangeLog-pr-94980.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "Y0SH1M4S73R" -delete-after: True -changes: - - bugfix: "The holy energy swords and the carp-sie plushie can once again be renamed" - - bugfix: "The holy energy swords and the carp-sie plushie can once again be sacrificed by cultists to spawn different weapons based on how many unique cultists the chaplain has crit or killed with them" - - qol: "The holy skateboard can be renamed like other null rod variants can" - - bugfix: "Unusual null rod variants like the holy skateboard and bow can now be sacrificed by cultists to spawn different weapons based on how many unique cultists the chaplain has crit or killed with them. The bow and the burdened chaplain's revolver, in particular, also count cultists crit or killed by arrows/bullets fired from them by the chaplain." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-94999.yml b/html/changelogs/AutoChangeLog-pr-94999.yml deleted file mode 100644 index bfee5f5507a6..000000000000 --- a/html/changelogs/AutoChangeLog-pr-94999.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "SmArtKar" -delete-after: True -changes: - - refactor: "Refactored sparks, foam, smoke, and other miscellaneous effect systems." - - refactor: "Vapes now have consistent rigging with cigs using the new system." - - bugfix: "Fixed some effects never working." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-95017.yml b/html/changelogs/AutoChangeLog-pr-95017.yml deleted file mode 100644 index 21a475310947..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95017.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fghj240" -delete-after: True -changes: - - bugfix: "viruses should maybe probably not cure themselves" \ No newline at end of file diff --git a/html/changelogs/archive/2026-02.yml b/html/changelogs/archive/2026-02.yml index 1886d6b5d87e..46bad63032ff 100644 --- a/html/changelogs/archive/2026-02.yml +++ b/html/changelogs/archive/2026-02.yml @@ -35,8 +35,29 @@ alien3301: - qol: Heretic void cloak doesn't quickdraw 2026-02-04: + Fghj240: + - bugfix: viruses should maybe probably not cure themselves Melbert: - qol: Blushing matches blood color, so lizards blush greeeen. + SmArtKar: + - refactor: Refactored sparks, foam, smoke, and other miscellaneous effect systems. + - refactor: Vapes now have consistent rigging with cigs using the new system. + - bugfix: Fixed some effects never working. + SyncIt21: + - qol: plumbing disposer now has TGUI interface for operations + - bugfix: plumbing disposer icon state correctly switches between on & off under + circumstances + Y0SH1M4S73R: + - bugfix: The holy energy swords and the carp-sie plushie can once again be renamed + - bugfix: The holy energy swords and the carp-sie plushie can once again be sacrificed + by cultists to spawn different weapons based on how many unique cultists the + chaplain has crit or killed with them + - qol: The holy skateboard can be renamed like other null rod variants can + - bugfix: Unusual null rod variants like the holy skateboard and bow can now be + sacrificed by cultists to spawn different weapons based on how many unique cultists + the chaplain has crit or killed with them. The bow and the burdened chaplain's + revolver, in particular, also count cultists crit or killed by arrows/bullets + fired from them by the chaplain. lelandkemble: - spellcheck: Language manuals correctly refer to the person using them up to viewers - bugfix: Sources of random slimes will now produce random slimes From ff752cc75f7266770abe9f0d5f20a0a4ece35486 Mon Sep 17 00:00:00 2001 From: Kashargul <144968721+Kashargul@users.noreply.github.com> Date: Thu, 5 Feb 2026 00:45:10 +0100 Subject: [PATCH 177/271] fix Tgui error year display (#95086) ## About The Pull Request If we look closely at the world init, we clearly see that GLOBS are not populated by the time Subsystem PreInit is called. This led to the current year never being properly displayed in the TGUI bluescreen ``` * WORLD INITIALIZATION * THIS IS THE INIT ORDER: * * BYOND => * - (secret init native) => * - world.Genesis() => * - world.init_byond_tracy() * - (Start native profiling) * - world.init_debugger() * - Master => * - config *unloaded * - (all subsystems) PreInit() * - GLOB => * - make_datum_reference_lists() * - (/static variable inits, reverse declaration order) * - (all pre-mapped atoms) /atom/New() * - world.New() => * - config.Load() * - world.InitTgs() => * - TgsNew() *may sleep * - GLOB.rev_data.load_tgs_info() * - world.ConfigLoaded() => * - SSdbcore.InitializeRound() * - world.SetupLogs() * - load_admins() * - ... * - Master.Initialize() => * - (all subsystems) Initialize() * - Master.StartProcessing() => * - Master.Loop() => * - Failsafe * - world.RunUnattendedFunctions() ``` ## Why It's Good For The Game ## Changelog :cl: fix: tgui error year display /:cl: --- code/__DEFINES/time.dm | 3 +++ code/_globalvars/time_vars.dm | 2 +- code/controllers/subsystem/tgui.dm | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/time.dm b/code/__DEFINES/time.dm index ceb16215e40d..d445b4ec461a 100644 --- a/code/__DEFINES/time.dm +++ b/code/__DEFINES/time.dm @@ -10,6 +10,9 @@ /// Define that just has the current in-universe year for use in whatever context you might want to display that in. (For example, 2022 -> 2562 given a 540 year offset) #define CURRENT_STATION_YEAR (GLOB.year_integer + STATION_YEAR_OFFSET) +/// Used in the GLOB year and tgui PreInit +#define UTC_YEAR time2text(world.realtime,"YYYY",NO_TIMEZONE) + /// In-universe, SS13 is set 540 years in the future from the real-world day, hence this number for determining the year-offset for the in-game year. #define STATION_YEAR_OFFSET 540 diff --git a/code/_globalvars/time_vars.dm b/code/_globalvars/time_vars.dm index 29526f845b29..fd9b925e0d4f 100644 --- a/code/_globalvars/time_vars.dm +++ b/code/_globalvars/time_vars.dm @@ -2,5 +2,5 @@ /// The difference betwen midnight (of the host computer) and 0 world.ticks. GLOBAL_VAR_INIT(timezoneOffset, 0) -GLOBAL_VAR_INIT(year, time2text(world.realtime, "YYYY", NO_TIMEZONE)) +GLOBAL_VAR_INIT(year, UTC_YEAR) GLOBAL_VAR_INIT(year_integer, text2num(year)) // = 2013??? diff --git a/code/controllers/subsystem/tgui.dm b/code/controllers/subsystem/tgui.dm index d87aa0f1dd1d..ea8b02e81296 100644 --- a/code/controllers/subsystem/tgui.dm +++ b/code/controllers/subsystem/tgui.dm @@ -37,7 +37,7 @@ SUBSYSTEM_DEF(tgui) ntos_error = "" basehtml = replacetextEx(basehtml, "", ntos_error) - basehtml = replacetextEx(basehtml, "", "Nanotrasen (c) 2525-[CURRENT_STATION_YEAR]") + basehtml = replacetextEx(basehtml, "", "Nanotrasen (c) 2525-[text2num(UTC_YEAR) + STATION_YEAR_OFFSET]") // This can't use the GLOB as it runs before those are populated /datum/controller/subsystem/tgui/OnConfigLoad() var/storage_iframe = CONFIG_GET(string/storage_cdn_iframe) From a25deb9bb1005b4399a2da2e70bda4089d1959e4 Mon Sep 17 00:00:00 2001 From: Leland Kemble <70413276+lelandkemble@users.noreply.github.com> Date: Wed, 4 Feb 2026 18:45:22 -0500 Subject: [PATCH 178/271] Fixes newly created objects not appearing in auto updating lootpanel (#95083) ## About The Pull Request Makes the auto updating lootpanel listen for `COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON` in addition to `COMSIG_ATOM_ENTERED`, allowing it to pick up newly created objects. ## Why It's Good For The Game fixes #95038 ## Changelog :cl: fix: the auto updating lootpanel now automatically shows new items that haven't moved yet. /:cl: --- code/modules/lootpanel/_lootpanel.dm | 2 +- code/modules/lootpanel/misc.dm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/lootpanel/_lootpanel.dm b/code/modules/lootpanel/_lootpanel.dm index c4215b60f95f..f7cfab8d8cd4 100644 --- a/code/modules/lootpanel/_lootpanel.dm +++ b/code/modules/lootpanel/_lootpanel.dm @@ -45,7 +45,7 @@ /datum/lootpanel/ui_close(mob/user) . = ..() - UnregisterSignal(source_turf, COMSIG_ATOM_ENTERED) + UnregisterSignal(source_turf, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON)) source_turf = null reset_contents() diff --git a/code/modules/lootpanel/misc.dm b/code/modules/lootpanel/misc.dm index 2a5123752a25..8f510cd43313 100644 --- a/code/modules/lootpanel/misc.dm +++ b/code/modules/lootpanel/misc.dm @@ -2,8 +2,8 @@ /datum/lootpanel/proc/open(turf/tile) if (tile != source_turf) if (source_turf) - UnregisterSignal(source_turf, COMSIG_ATOM_ENTERED) - RegisterSignal(tile, COMSIG_ATOM_ENTERED, PROC_REF(on_source_turf_entered)) + UnregisterSignal(source_turf, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON)) + RegisterSignals(tile, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON), PROC_REF(on_source_turf_entered)) source_turf = tile From 0e42fc68480730642faeb31140b2134c8b96f637 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 23:58:00 +0000 Subject: [PATCH 179/271] Automatic changelog for PR #95086 [ci skip] --- html/changelogs/AutoChangeLog-pr-95086.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95086.yml diff --git a/html/changelogs/AutoChangeLog-pr-95086.yml b/html/changelogs/AutoChangeLog-pr-95086.yml new file mode 100644 index 000000000000..4959231a9a75 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95086.yml @@ -0,0 +1,4 @@ +author: "Kashargul" +delete-after: True +changes: + - bugfix: "tgui error year display" \ No newline at end of file From be8b64330aace5342ddc3da6b391cb6f00af9658 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 23:58:37 +0000 Subject: [PATCH 180/271] Automatic changelog for PR #95083 [ci skip] --- html/changelogs/AutoChangeLog-pr-95083.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95083.yml diff --git a/html/changelogs/AutoChangeLog-pr-95083.yml b/html/changelogs/AutoChangeLog-pr-95083.yml new file mode 100644 index 000000000000..d4e92254916a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95083.yml @@ -0,0 +1,4 @@ +author: "lelandkemble" +delete-after: True +changes: + - bugfix: "the auto updating lootpanel now automatically shows new items that haven't moved yet." \ No newline at end of file From 2d8f1504dff7315a0da52bd994668f65c0c36353 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Thu, 5 Feb 2026 00:01:38 +0000 Subject: [PATCH 181/271] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-95083.yml | 4 ---- html/changelogs/AutoChangeLog-pr-95086.yml | 4 ---- html/changelogs/archive/2026-02.yml | 6 ++++++ 3 files changed, 6 insertions(+), 8 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-95083.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-95086.yml diff --git a/html/changelogs/AutoChangeLog-pr-95083.yml b/html/changelogs/AutoChangeLog-pr-95083.yml deleted file mode 100644 index d4e92254916a..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95083.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "lelandkemble" -delete-after: True -changes: - - bugfix: "the auto updating lootpanel now automatically shows new items that haven't moved yet." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-95086.yml b/html/changelogs/AutoChangeLog-pr-95086.yml deleted file mode 100644 index 4959231a9a75..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95086.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kashargul" -delete-after: True -changes: - - bugfix: "tgui error year display" \ No newline at end of file diff --git a/html/changelogs/archive/2026-02.yml b/html/changelogs/archive/2026-02.yml index 46bad63032ff..a11072a7c481 100644 --- a/html/changelogs/archive/2026-02.yml +++ b/html/changelogs/archive/2026-02.yml @@ -62,3 +62,9 @@ - spellcheck: Language manuals correctly refer to the person using them up to viewers - bugfix: Sources of random slimes will now produce random slimes - bugfix: Slimes revived via magic will now continue to look as they should +2026-02-05: + Kashargul: + - bugfix: tgui error year display + lelandkemble: + - bugfix: the auto updating lootpanel now automatically shows new items that haven't + moved yet. From a970522ce2c32440405f12fbc928df1ca8f5d294 Mon Sep 17 00:00:00 2001 From: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Date: Thu, 5 Feb 2026 14:36:56 -0800 Subject: [PATCH 182/271] Adds a helper proc that dumps the names of all the procs in the stack (#95065) ## About The Pull Request It will basically ALWAYS error in some way, but I've found it quite helpful for debugging and I figure that's worth the cost. Really shouldn't be used on live... ever. --- code/__HELPERS/stack_trace.dm | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/code/__HELPERS/stack_trace.dm b/code/__HELPERS/stack_trace.dm index bb2d78de1108..7a99ff6c2f79 100644 --- a/code/__HELPERS/stack_trace.dm +++ b/code/__HELPERS/stack_trace.dm @@ -2,3 +2,39 @@ /// Do not call directly, use the [stack_trace] macro instead. /proc/_stack_trace(message, file, line) CRASH("[message][WORKAROUND_IDENTIFIER][json_encode(list(file, line))][WORKAROUND_IDENTIFIER]") + + +#if (DM_BUILD > 1667) +#warn if this is ci please remove my Note: comment below, thanks, love you! +#endif +#define STACK_DEPTH_SEARCH_LIMIT 2000 +/// Returns an ordered list of all our parent procs, highest to deepest +/// Note: This will frequently cause erorrs and have seemingly infinitely repeating procs on the current good byond version +/// It'll be fixed when we can update to latest for dev but you likely can't do that right now (since debugging hasn't been fixed yet) +/// BIGGER, MORE IMPORTANT NOTE: Should not be used on master maybe ever, introspection like this is mostly useful for debugging +/// if you have another use I suspect you are just creating god's strongest footgun and should rethink things +/proc/dump_stack(max_depth = STACK_DEPTH_SEARCH_LIMIT) + var/list/proc_paths = list() + var/crashed = FALSE + var/depth = 0 + var/callee/stack_entry = caller + try + while(!isnull(stack_entry) && depth <= max_depth) + proc_paths += stack_entry.proc + stack_entry = stack_entry.caller + depth += 1 + catch + //union job. avoids crashing the stack again + //I just do not trust this construct to work reliably + crashed = TRUE + + if(crashed) + stack_trace("dump_stack's stack walking crashed after walking [length(proc_paths)] procs, Last Read: [proc_paths[length(proc_paths)]] Last Accessed: [stack_entry]") + return proc_paths + + if(depth > max_depth) + stack_trace("dump_stack's stack walking exceeded our soft limit after walking [length(proc_paths)] procs, Last Read: [proc_paths[length(proc_paths)]] Next Accessed: [stack_entry]") + return proc_paths + return proc_paths + +#undef STACK_DEPTH_SEARCH_LIMIT From 15eabb5904ddd7c4d18816ec6b69bcebac356054 Mon Sep 17 00:00:00 2001 From: S u n r i s e <143133070+SunriseOverYourHead@users.noreply.github.com> Date: Thu, 5 Feb 2026 22:15:06 -0300 Subject: [PATCH 183/271] Playsound to_chat respects admin music preferences (#95088) ## About The Pull Request When requesting an internet sound, all clients connected to the world receive a 'to_chat' with song information, even if they have 'Admin music volume' set to 0. This PR makes it so this 'to_chat' isn't sent to players who have 'admin music volume' at 0. Why add a very intrusive chat-spam if I do not want to listen to admin MIDIs? Marking this as a fix because I can only imagine that this not being the default behavior is unintended from the get-go. ## Why It's Good For The Game Reduces chat spam for users who opt-out of listening to admin songs. ## Video Proof of Testing: https://github.com/user-attachments/assets/4f8e3cf6-37e3-4f84-a3e1-e702e6e0b94c ## Changelog :cl: Bugwasabi fix: Play Internet Sounds will now only display song details to users who have admin music enabled. /:cl: --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> --- code/modules/admin/verbs/playsound.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index 39700ab651dd..f890b00bae9d 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -140,7 +140,12 @@ GLOBAL_VAR_INIT(web_sound_cooldown, 0) if(credit) to_chat_message += span_notice("
[credit]") - to_chat(world, fieldset_block("Now Playing: [span_bold(music_extra_data["title"])] by [span_bold(music_extra_data["artist"])]", jointext(to_chat_message, ""), "boxed_message")) + var/list/recipients = list() + for(var/client/client as anything in GLOB.clients) + if(client.prefs.read_preference(/datum/preference/numeric/volume/sound_midi) > 0) + recipients += client + recipients |= user.client + to_chat(recipients, fieldset_block("Now Playing: [span_bold(music_extra_data["title"])] by [span_bold(music_extra_data["artist"])]", jointext(to_chat_message, ""), "boxed_message")) SSblackbox.record_feedback("nested tally", "played_url", 1, list("[user.ckey]", "[input]")) log_admin("[key_name(user)] played web sound: [input]") From 12e0fcd6d1b69121fe5884d8e6f55b50d137f29b Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 01:15:27 +0000 Subject: [PATCH 184/271] Automatic changelog for PR #95088 [ci skip] --- html/changelogs/AutoChangeLog-pr-95088.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95088.yml diff --git a/html/changelogs/AutoChangeLog-pr-95088.yml b/html/changelogs/AutoChangeLog-pr-95088.yml new file mode 100644 index 000000000000..6b73c8dcfe84 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95088.yml @@ -0,0 +1,4 @@ +author: "Bugwasabi" +delete-after: True +changes: + - bugfix: "Play Internet Sounds will now only display song details to users who have admin music enabled." \ No newline at end of file From 05748b6e8c409ce02cfb87a4cda0107a913fe158 Mon Sep 17 00:00:00 2001 From: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Date: Thu, 5 Feb 2026 19:17:00 -0600 Subject: [PATCH 185/271] Addictions don't process in stasis (#95089) ## About The Pull Request Moves addiction processing in life to within the inverted stasis check Note, this includes both withdrawal effects and addiction healing ## Why It's Good For The Game Addictions have several ticking maluses that you would expect stasis to stop, but doesn't So it seems sensible, for consistency reasons, to stop addictions from ticking up or down while in stasis ## Changelog :cl: Melbert balance: Stasis now stops addiction ticks while active - meaning addictions will not apply their ticking withdrawal effects, but also won't heal over time /:cl: --- code/controllers/subsystem/addiction.dm | 2 +- code/modules/mob/living/carbon/life.dm | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/code/controllers/subsystem/addiction.dm b/code/controllers/subsystem/addiction.dm index 13719edaad88..370c23ac2403 100644 --- a/code/controllers/subsystem/addiction.dm +++ b/code/controllers/subsystem/addiction.dm @@ -6,7 +6,7 @@ SUBSYSTEM_DEF(addiction) name = "Addiction" flags = SS_NO_FIRE ///Dictionary of addiction.type || addiction ref - var/list/all_addictions = list() + var/list/datum/addiction/all_addictions = list() /datum/controller/subsystem/addiction/Initialize() InitializeAddictions() diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 1f5e2b908f96..4076cf77c862 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -26,16 +26,14 @@ if(.) //not dead handle_blood(seconds_per_tick) - if(stat != DEAD) + if(stat != DEAD) // still not dead (blood could have changed that) + for(var/key in mind?.addiction_points) + SSaddiction.all_addictions[key].process_addiction(src, seconds_per_tick) handle_brain_damage(seconds_per_tick) if(stat != DEAD) handle_bodyparts(seconds_per_tick) - if(. && mind) //. == not dead - for(var/key in mind.addiction_points) - var/datum/addiction/addiction = SSaddiction.all_addictions[key] - addiction.process_addiction(src, seconds_per_tick) if(stat != DEAD) return TRUE From 1b7928a9567482c00589858e24942f91d7bddc49 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 01:17:23 +0000 Subject: [PATCH 186/271] Automatic changelog for PR #95089 [ci skip] --- html/changelogs/AutoChangeLog-pr-95089.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95089.yml diff --git a/html/changelogs/AutoChangeLog-pr-95089.yml b/html/changelogs/AutoChangeLog-pr-95089.yml new file mode 100644 index 000000000000..1431e3a44a2f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95089.yml @@ -0,0 +1,4 @@ +author: "Melbert" +delete-after: True +changes: + - balance: "Stasis now stops addiction ticks while active - meaning addictions will not apply their ticking withdrawal effects, but also won't heal over time" \ No newline at end of file From e4f533111f06995d57d4eb65887f3252f1353d3a Mon Sep 17 00:00:00 2001 From: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Date: Thu, 5 Feb 2026 19:19:56 -0600 Subject: [PATCH 187/271] Deafness is now solely tracked by trait (#95029) ## About The Pull Request Deletes `can_hear`, replaces it with trait-checking deafness. The only two non-trait sources of deafness (hardcrit and lacking ears) were refactored into using the trait. ## Why It's Good For The Game Many places inconsistently check for the deaf trait rather than use can_hear which meant behavior was not consistent. Some code would treat "do we lack ears?" as being deaf, some would not. This unifies all the behavior so being deaf means you're deaf everywhere. It also means we can now easily react to gaining and losing deafness via signal, where before we could not react to it without hooking the trait, organ remove, AND stat change. Which no one did, of course, because who would ever think to do that? ## Changelog :cl: Melbert refactor: Refactored how deafness is tracked. Please report any weird interactions with sounds, like messages or sfx being missing. fix: Lacking ears and being in hard crit now consistently treats you as "being deaf". This affects a few minor interactions like empath, the jukebox, and sleeping. /:cl: --- code/__DEFINES/traits/sources.dm | 1 + code/__HELPERS/honkerblast.dm | 2 +- code/__HELPERS/priority_announce.dm | 2 +- code/controllers/subsystem/ambience.dm | 4 ++-- code/datums/brain_damage/hypnosis.dm | 2 +- code/datums/brain_damage/mild.dm | 2 +- code/datums/brain_damage/severe.dm | 2 +- code/datums/brain_damage/split_personality.dm | 2 +- code/datums/components/codeword_hearing.dm | 2 +- code/datums/components/fearful/sources/phobia.dm | 2 +- code/datums/emotes.dm | 2 +- code/datums/status_effects/buffs.dm | 2 +- code/datums/status_effects/debuffs/debuffs.dm | 2 +- code/datums/voice_of_god_command.dm | 2 +- code/game/machinery/wall_vitals.dm | 2 +- code/game/objects/items/clown_items.dm | 2 +- code/game/objects/items/devices/radio/radio.dm | 2 +- code/game/sound/sound.dm | 2 +- code/modules/client/preferences/sounds.dm | 5 +++++ code/modules/clothing/neck/_neck.dm | 2 +- code/modules/economy/account.dm | 6 +++--- code/modules/fishing/fish/types/rift.dm | 2 +- code/modules/hallucination/battle.dm | 2 +- code/modules/hallucination/fake_sound.dm | 2 +- code/modules/hallucination/station_message.dm | 2 +- code/modules/mob/living/carbon/carbon_defense.dm | 13 +------------ code/modules/mob/living/carbon/human/human.dm | 2 ++ code/modules/mob/living/carbon/init_signals.dm | 4 ++++ code/modules/mob/living/carbon/life.dm | 12 +++--------- code/modules/mob/living/living.dm | 9 ++++----- code/modules/mob/living/living_say.dm | 4 ++-- code/modules/mob/living/silicon/ai/ai_say.dm | 2 +- code/modules/mob/login.dm | 2 +- code/modules/mob/mob.dm | 4 ++-- code/modules/mob/mob_helpers.dm | 4 ---- .../impure_reagents/impure_medicine_reagents.dm | 6 +++--- .../chemistry/reagents/medicine_reagents.dm | 4 ++-- code/modules/surgery/organs/internal/ears/_ears.dm | 5 +++++ code/modules/unit_tests/spawn_humans.dm | 1 + .../vehicles/mecha/equipment/weapons/weapons.dm | 2 +- 40 files changed, 64 insertions(+), 68 deletions(-) diff --git a/code/__DEFINES/traits/sources.dm b/code/__DEFINES/traits/sources.dm index 5973fb251118..e0cd34d80656 100644 --- a/code/__DEFINES/traits/sources.dm +++ b/code/__DEFINES/traits/sources.dm @@ -123,6 +123,7 @@ #define GENETICS_SPELL "genetics_spell" #define EYES_COVERED "eyes_covered" #define NO_EYES "no_eyes" +#define NO_EARS "no_ears" #define HYPNOCHAIR_TRAIT "hypnochair" #define FLASHLIGHT_EYES "flashlight_eyes" #define IMPURE_OCULINE "impure_oculine" diff --git a/code/__HELPERS/honkerblast.dm b/code/__HELPERS/honkerblast.dm index e76d81782284..c3926d421b01 100644 --- a/code/__HELPERS/honkerblast.dm +++ b/code/__HELPERS/honkerblast.dm @@ -8,7 +8,7 @@ playsound(origin_turf, 'sound/items/airhorn/airhorn.ogg', 100, TRUE) for(var/mob/living/carbon/victim in hearers(max(light_range, medium_range, heavy_range), origin_turf)) - if(!victim.can_hear()) + if(HAS_TRAIT(victim, TRAIT_DEAF)) continue var/distance = get_dist(origin_turf, victim.loc) if(distance <= heavy_range) diff --git a/code/__HELPERS/priority_announce.dm b/code/__HELPERS/priority_announce.dm index bbb0d9db5ba4..e1be4c7ad054 100644 --- a/code/__HELPERS/priority_announce.dm +++ b/code/__HELPERS/priority_announce.dm @@ -192,7 +192,7 @@ var/datum/callback/should_play_sound_callback = astype(should_play_sound) for(var/mob/target in players) - if(isnewplayer(target) || !target.can_hear()) + if(isnewplayer(target) || HAS_TRAIT(target, TRAIT_DEAF)) continue to_chat(target, announcement) diff --git a/code/controllers/subsystem/ambience.dm b/code/controllers/subsystem/ambience.dm index f49604b058a5..88db3ffcc332 100644 --- a/code/controllers/subsystem/ambience.dm +++ b/code/controllers/subsystem/ambience.dm @@ -27,7 +27,7 @@ SUBSYSTEM_DEF(ambience) client_old_areas -= client_iterator continue - if(!client_mob.can_hear()) //WHAT? I CAN'T HEAR YOU + if(HAS_TRAIT(client_mob, TRAIT_DEAF)) //WHAT? I CAN'T HEAR YOU continue //Check to see if the client-mob is in a valid area @@ -126,7 +126,7 @@ SUBSYSTEM_DEF(ambience) client.current_ambient_sound = null return - if(!can_hear()) // Can the mob hear? + if(HAS_TRAIT(src, TRAIT_DEAF)) // Can the mob hear? SEND_SOUND(src, sound(null, repeat = 0, wait = 0, channel = CHANNEL_BUZZ)) client.current_ambient_sound = null return diff --git a/code/datums/brain_damage/hypnosis.dm b/code/datums/brain_damage/hypnosis.dm index 05c98b0ec30e..d789a7d142cb 100644 --- a/code/datums/brain_damage/hypnosis.dm +++ b/code/datums/brain_damage/hypnosis.dm @@ -76,6 +76,6 @@ ) /datum/brain_trauma/hypnosis/handle_hearing(datum/source, list/hearing_args) - if(!owner.can_hear() || owner == hearing_args[HEARING_SPEAKER]) + if(HAS_TRAIT(owner, TRAIT_DEAF) || owner == hearing_args[HEARING_SPEAKER]) return hearing_args[HEARING_RAW_MESSAGE] = target_phrase.Replace(hearing_args[HEARING_RAW_MESSAGE], span_hypnophrase("$1")) diff --git a/code/datums/brain_damage/mild.dm b/code/datums/brain_damage/mild.dm index 3db89c038807..993ddea4ebb1 100644 --- a/code/datums/brain_damage/mild.dm +++ b/code/datums/brain_damage/mild.dm @@ -256,7 +256,7 @@ var/list/speak_dejavu = list() /datum/brain_trauma/mild/mind_echo/handle_hearing(datum/source, list/hearing_args) - if(!owner.can_hear() || owner == hearing_args[HEARING_SPEAKER]) + if(HAS_TRAIT(owner, TRAIT_DEAF) || owner == hearing_args[HEARING_SPEAKER]) return if(hear_dejavu.len >= 5) diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index 522bc2479c60..3e6f0e6691bd 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -294,7 +294,7 @@ owner.remove_status_effect(/datum/status_effect/trance) /datum/brain_trauma/severe/hypnotic_trigger/handle_hearing(datum/source, list/hearing_args) - if(!owner.can_hear() || owner == hearing_args[HEARING_SPEAKER]) + if(HAS_TRAIT(owner, TRAIT_DEAF) || owner == hearing_args[HEARING_SPEAKER]) return var/regex/reg = new("(\\b[REGEX_QUOTE(trigger_phrase)]\\b)","ig") diff --git a/code/datums/brain_damage/split_personality.dm b/code/datums/brain_damage/split_personality.dm index 57c94e60b1d9..3cedb77dcdb4 100644 --- a/code/datums/brain_damage/split_personality.dm +++ b/code/datums/brain_damage/split_personality.dm @@ -235,7 +235,7 @@ return //no random switching /datum/brain_trauma/severe/split_personality/brainwashing/handle_hearing(datum/source, list/hearing_args) - if(!owner.can_hear() || owner == hearing_args[HEARING_SPEAKER] || !owner.has_language(hearing_args[HEARING_LANGUAGE])) + if(HAS_TRAIT(owner, TRAIT_DEAF) || owner == hearing_args[HEARING_SPEAKER] || !owner.has_language(hearing_args[HEARING_LANGUAGE])) return var/message = hearing_args[HEARING_RAW_MESSAGE] diff --git a/code/datums/components/codeword_hearing.dm b/code/datums/components/codeword_hearing.dm index 0b171d9492e1..a8ac051ab1c6 100644 --- a/code/datums/components/codeword_hearing.dm +++ b/code/datums/components/codeword_hearing.dm @@ -42,7 +42,7 @@ return // don't skip codewords when owner speaks - if(!owner.can_hear() || !owner.has_language(hearing_args[HEARING_LANGUAGE])) + if(HAS_TRAIT(owner, TRAIT_DEAF) || !owner.has_language(hearing_args[HEARING_LANGUAGE])) return var/message = hearing_args[HEARING_RAW_MESSAGE] diff --git a/code/datums/components/fearful/sources/phobia.dm b/code/datums/components/fearful/sources/phobia.dm index e93038677698..155e949f298f 100644 --- a/code/datums/components/fearful/sources/phobia.dm +++ b/code/datums/components/fearful/sources/phobia.dm @@ -101,7 +101,7 @@ return // Words can't trigger you if you can't hear them *taps head* - if(!owner.can_hear() || owner == hearing_args[HEARING_SPEAKER] || !owner.has_language(hearing_args[HEARING_LANGUAGE])) + if(HAS_TRAIT(owner, TRAIT_DEAF) || owner == hearing_args[HEARING_SPEAKER] || !owner.has_language(hearing_args[HEARING_LANGUAGE])) return if(trigger_regex.Find(hearing_args[HEARING_RAW_MESSAGE])) diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 2d5dbf84ea6e..bfda885aba9a 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -134,7 +134,7 @@ if(isnull(viewer.client)) continue if(!is_important && viewer != user && (!is_visual || !is_audible)) - if(is_audible && !viewer.can_hear()) + if(is_audible && HAS_TRAIT(viewer, TRAIT_DEAF)) continue if(is_visual && viewer.is_blind()) continue diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index cad5efca459e..50a2e2292733 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -369,7 +369,7 @@ status_type = STATUS_EFFECT_REFRESH /datum/status_effect/good_music/tick(seconds_between_ticks) - if(owner.can_hear()) + if(!HAS_TRAIT(owner, TRAIT_DEAF)) owner.adjust_dizzy(-4 SECONDS) owner.adjust_jitter(-4 SECONDS) owner.adjust_confusion(-1 SECONDS) diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm index 556a8e2e4dcb..5d390a8035bb 100644 --- a/code/datums/status_effects/debuffs/debuffs.dm +++ b/code/datums/status_effects/debuffs/debuffs.dm @@ -604,7 +604,7 @@ /datum/status_effect/trance/proc/hypnotize(datum/source, list/hearing_args) SIGNAL_HANDLER - if(!owner.can_hear() || owner == hearing_args[HEARING_SPEAKER]) + if(HAS_TRAIT(owner, TRAIT_DEAF) || owner == hearing_args[HEARING_SPEAKER]) return var/mob/hearing_speaker = hearing_args[HEARING_SPEAKER] diff --git a/code/datums/voice_of_god_command.dm b/code/datums/voice_of_god_command.dm index 1b7014320769..a49c7cb6c340 100644 --- a/code/datums/voice_of_god_command.dm +++ b/code/datums/voice_of_god_command.dm @@ -44,7 +44,7 @@ GLOBAL_LIST_INIT(voice_of_god_commands, init_voice_of_god_commands()) var/to_remove_string var/list/candidates = get_hearers_in_view(8, user) - (include_speaker ? null : user) for(var/mob/living/candidate in candidates) - if(candidate.stat != DEAD && candidate.can_hear()) + if(candidate.stat != DEAD && !HAS_TRAIT(candidate, TRAIT_DEAF)) if(candidate.can_block_magic(MAGIC_RESISTANCE_HOLY|MAGIC_RESISTANCE_MIND, charge_cost = 0)) to_chat(user, span_userdanger("Something's wrong! [candidate] seems to be resisting your commands.")) continue diff --git a/code/game/machinery/wall_vitals.dm b/code/game/machinery/wall_vitals.dm index c175fc98f48c..51790a1e7bc5 100644 --- a/code/game/machinery/wall_vitals.dm +++ b/code/game/machinery/wall_vitals.dm @@ -453,7 +453,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/vitals_reader/advanced, 32) /obj/machinery/vitals_reader/proc/beep_message(message) for(var/mob/viewer as anything in viewers(src)) - if(isnull(viewer.client) || !viewer.can_hear()) + if(isnull(viewer.client) || HAS_TRAIT(viewer, TRAIT_DEAF)) continue if(!viewer.runechat_prefs_check(viewer, EMOTE_MESSAGE)) continue diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index c08b1c3fcd26..9b2537e205ba 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -266,7 +266,7 @@ return var/turf/T = get_turf(src) for(M in ohearers(7, T)) - if(M.can_hear()) + if(!HAS_TRAIT(M, TRAIT_DEAF)) M.emote("flip") COOLDOWN_START(src, golden_horn_cooldown, 1 SECONDS) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index c7c9c94f8e33..9eb377ca8f91 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -369,7 +369,7 @@ if(isliving(talking_movable)) var/mob/living/talking_living = talking_movable var/volume_modifier = (talking_living.client?.prefs.read_preference(/datum/preference/numeric/volume/sound_radio_noise)) - if(radio_noise && talking_living.can_hear() && volume_modifier && signal.frequency != FREQ_COMMON && !LAZYACCESS(message_mods, MODE_SEQUENTIAL) && COOLDOWN_FINISHED(src, audio_cooldown)) + if(radio_noise && !HAS_TRAIT(talking_living, TRAIT_DEAF) && volume_modifier && signal.frequency != FREQ_COMMON && !LAZYACCESS(message_mods, MODE_SEQUENTIAL) && COOLDOWN_FINISHED(src, audio_cooldown)) COOLDOWN_START(src, audio_cooldown, 0.5 SECONDS) var/sound/radio_noise = sound('sound/items/radio/radio_talk.ogg', volume = volume_modifier) radio_noise.frequency = get_rand_frequency_low_range() diff --git a/code/game/sound/sound.dm b/code/game/sound/sound.dm index a3d086eac3ac..451ee6d60a49 100644 --- a/code/game/sound/sound.dm +++ b/code/game/sound/sound.dm @@ -98,7 +98,7 @@ * * volume_preference - Optional: Will be checked to modify the volume of the sound. */ /mob/proc/playsound_local(turf/turf_source, soundin, vol as num, vary, frequency, falloff_exponent = SOUND_FALLOFF_EXPONENT, channel = 0, pressure_affected = TRUE, sound/sound_to_use, max_distance, falloff_distance = SOUND_DEFAULT_FALLOFF_DISTANCE, distance_multiplier = 1, use_reverb = TRUE, datum/preference/numeric/volume/volume_preference = null) - if(!client || !can_hear()) + if(!client || HAS_TRAIT(src, TRAIT_DEAF)) return if(!sound_to_use) diff --git a/code/modules/client/preferences/sounds.dm b/code/modules/client/preferences/sounds.dm index 3fa9c16ca34d..e6434afdd328 100644 --- a/code/modules/client/preferences/sounds.dm +++ b/code/modules/client/preferences/sounds.dm @@ -20,6 +20,11 @@ savefile_key = "sound_breathing" savefile_identifier = PREFERENCE_PLAYER +/datum/preference/toggle/sound_breathing/apply_to_client_updated(client/client, value) + var/mob/living/carbon/carbon_mob = client.mob + if(istype(carbon_mob) && !value) + carbon_mob.breathing_loop.stop() + /// Controls hearing announcement sounds /datum/preference/toggle/sound_announcements category = PREFERENCE_CATEGORY_GAME_PREFERENCES diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 49f5a7412b73..7d6df307725e 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -270,7 +270,7 @@ switch (body_part) if(BODY_ZONE_CHEST)//Listening to the chest user.visible_message(span_notice("[user] places [src] against [carbon_patient]'s [body_part] and listens attentively."), ignored_mobs = user) - if(!user.can_hear()) + if(HAS_TRAIT(user, TRAIT_DEAF)) to_chat(user, span_notice("You place [src] against [carbon_patient]'s [body_part]. Fat load of good it does you though, since you can't hear.")) return else diff --git a/code/modules/economy/account.dm b/code/modules/economy/account.dm index 797dd9d3856b..5c0f8b3fe9d1 100644 --- a/code/modules/economy/account.dm +++ b/code/modules/economy/account.dm @@ -244,7 +244,7 @@ if(!card_holder.client || (!(get_chat_toggles(card_holder.client) & CHAT_BANKCARD) && !force)) return - if(card_holder.can_hear()) + if(!HAS_TRAIT(card_holder, TRAIT_DEAF)) card_holder.playsound_local(get_turf(card_holder), 'sound/machines/beep/twobeep_high.ogg', 50, TRUE) to_chat(card_holder, "[icon2html(icon_source, card_holder)] [span_notice("[message]")]") else if(isturf(card.loc)) //If on the ground @@ -252,7 +252,7 @@ for(var/mob/potential_hearer in hearers(1,card_location)) if(!potential_hearer.client || (!(get_chat_toggles(potential_hearer.client) & CHAT_BANKCARD) && !force)) continue - if(potential_hearer.can_hear()) + if(!HAS_TRAIT(potential_hearer, TRAIT_DEAF)) potential_hearer.playsound_local(card_location, 'sound/machines/beep/twobeep_high.ogg', 50, TRUE) to_chat(potential_hearer, "[icon2html(icon_source, potential_hearer)] [span_notice("[message]")]") else @@ -262,7 +262,7 @@ continue if(!sound_atom) sound_atom = card.drop_location() //in case we're inside a bodybag in a crate or something. doing this here to only process it if there's a valid mob who can hear the sound. - if(potential_hearer.can_hear()) + if(!HAS_TRAIT(potential_hearer, TRAIT_DEAF)) potential_hearer.playsound_local(get_turf(sound_atom), 'sound/machines/beep/twobeep_high.ogg', 50, TRUE) to_chat(potential_hearer, "[icon2html(icon_source, potential_hearer)] [span_notice("[message]")]") diff --git a/code/modules/fishing/fish/types/rift.dm b/code/modules/fishing/fish/types/rift.dm index 641336f0dbee..626be1ecde0f 100644 --- a/code/modules/fishing/fish/types/rift.dm +++ b/code/modules/fishing/fish/types/rift.dm @@ -636,7 +636,7 @@ to_chat(screeched, span_notice("You resist the psychic wail!")) continue var/power = 1 - if(!screeched.can_hear()) // bit weaker if deaf. but its still psychic + if(HAS_TRAIT(screeched, TRAIT_DEAF)) // bit weaker if deaf. but its still psychic power *= 0.5 var/affect_time = 15 SECONDS * power // it really fucks you up diff --git a/code/modules/hallucination/battle.dm b/code/modules/hallucination/battle.dm index 985709b90d02..60e2555e3873 100644 --- a/code/modules/hallucination/battle.dm +++ b/code/modules/hallucination/battle.dm @@ -5,7 +5,7 @@ hallucination_tier = HALLUCINATION_TIER_COMMON /datum/hallucination/battle/start() - if(!hallucinator.can_hear()) + if(HAS_TRAIT(hallucinator, TRAIT_DEAF)) return FALSE // for subtypes diff --git a/code/modules/hallucination/fake_sound.dm b/code/modules/hallucination/fake_sound.dm index 7b2e2ee88255..b78095486305 100644 --- a/code/modules/hallucination/fake_sound.dm +++ b/code/modules/hallucination/fake_sound.dm @@ -11,7 +11,7 @@ var/sound_type /datum/hallucination/fake_sound/start() - if(!hallucinator.can_hear()) + if(HAS_TRAIT(hallucinator, TRAIT_DEAF)) return FALSE var/sound_to_play = islist(sound_type) ? pick(sound_type) : sound_type diff --git a/code/modules/hallucination/station_message.dm b/code/modules/hallucination/station_message.dm index a8bddedcdad3..33f20cb10146 100644 --- a/code/modules/hallucination/station_message.dm +++ b/code/modules/hallucination/station_message.dm @@ -8,7 +8,7 @@ var/require_hearing = TRUE /datum/hallucination/station_message/start() - if(require_hearing && !hallucinator.can_hear()) + if(require_hearing && HAS_TRAIT(hallucinator, TRAIT_DEAF)) return FALSE if(do_fake_alert() == CANCEL_FAKE_ALERT) return FALSE diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 5dac58d31233..5dc3cbd7d705 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -30,9 +30,7 @@ /mob/living/carbon/get_ear_protection(ignore_deafness = FALSE) var/obj/item/organ/ears/ears = get_organ_slot(ORGAN_SLOT_EARS) - if(!ears) - return INFINITY - return ..() + ears.bang_protect + return ..() + ears?.bang_protect /mob/living/carbon/is_mouth_covered(check_flags = ALL) if((check_flags & ITEM_SLOT_HEAD) && head && (head.flags_cover & HEADCOVERSMOUTH)) @@ -535,15 +533,6 @@ if(hit_clothes) hit_clothes.take_damage(damage_amount, damage_type, damage_flag, 0) -/mob/living/carbon/can_hear() - . = FALSE - var/obj/item/organ/ears/ears = get_organ_slot(ORGAN_SLOT_EARS) - if(ears && !HAS_TRAIT(src, TRAIT_DEAF)) - . = TRUE - if(health <= hardcrit_threshold && !HAS_TRAIT(src, TRAIT_NOHARDCRIT)) - . = FALSE - - /mob/living/carbon/adjust_oxy_loss(amount, updating_health = TRUE, forced, required_biotype, required_respiration_type) if(!forced && HAS_TRAIT(src, TRAIT_NOBREATH)) amount = min(amount, 0) //Prevents oxy damage but not healing diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index f527b70d6bd8..32c7dfd139ec 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -55,6 +55,8 @@ /mob/living/carbon/human/proc/setup_organless_effects() // All start without eyes, and get them via set species become_blind(NO_EYES) + // And no ears, and get them via set species + ADD_TRAIT(src, TRAIT_DEAF, NO_EARS) // Mobs cannot taste anything without a tongue; the tongue organ removes this on Insert ADD_TRAIT(src, TRAIT_AGEUSIA, NO_TONGUE_TRAIT) diff --git a/code/modules/mob/living/carbon/init_signals.dm b/code/modules/mob/living/carbon/init_signals.dm index a46acd8c5201..da1cf59de617 100644 --- a/code/modules/mob/living/carbon/init_signals.dm +++ b/code/modules/mob/living/carbon/init_signals.dm @@ -141,3 +141,7 @@ SIGNAL_HANDLER cure_trauma_type(/datum/brain_trauma/severe/split_personality, TRAUMA_LIMIT_ABSOLUTE) + +/mob/living/carbon/on_hearing_loss(datum/source) + . = ..() + breathing_loop.stop() diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 4076cf77c862..91ab5cc761df 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -119,19 +119,13 @@ loc_as_obj.handle_internal_lifeform(src,0) if(check_breath(breath) && is_on_internals) - try_breathing_sound(breath) + // successful breath from internals, try to play the breathing sound + if(!HAS_TRAIT(src, TRAIT_DEAF) && client?.prefs?.read_preference(/datum/preference/toggle/sound_breathing)) + breathing_loop.start() if(breath) loc.assume_air(breath) -//Tries to play the carbon a breathing sound when using internals, also invokes check_breath -/mob/living/carbon/proc/try_breathing_sound(breath) - var/should_be_on = canon_client?.prefs?.read_preference(/datum/preference/toggle/sound_breathing) - if(should_be_on && !breathing_loop.timer_id && canon_client?.mob.can_hear()) - breathing_loop.start() - else if((!should_be_on && breathing_loop.timer_id) || !canon_client?.mob.can_hear()) - breathing_loop.stop() - /mob/living/carbon/proc/has_smoke_protection() if(HAS_TRAIT(src, TRAIT_NOBREATH)) return TRUE diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 5f0374d08ea0..93fbabee0709 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -2418,7 +2418,9 @@ GLOBAL_LIST_EMPTY(fire_appearances) if(HARD_CRIT) if(stat != UNCONSCIOUS) cure_blind(UNCONSCIOUS_TRAIT) + REMOVE_TRAIT(src, TRAIT_DEAF, STAT_TRAIT) if(DEAD) + REMOVE_TRAIT(src, TRAIT_DEAF, STAT_TRAIT) remove_from_dead_mob_list() add_to_alive_mob_list() switch(stat) //Current stat. @@ -2446,17 +2448,14 @@ GLOBAL_LIST_EMPTY(fire_appearances) if(. != UNCONSCIOUS) become_blind(UNCONSCIOUS_TRAIT) ADD_TRAIT(src, TRAIT_CRITICAL_CONDITION, STAT_TRAIT) + ADD_TRAIT(src, TRAIT_DEAF, STAT_TRAIT) log_combat(src, src, "entered hard crit") if(DEAD) REMOVE_TRAIT(src, TRAIT_CRITICAL_CONDITION, STAT_TRAIT) + ADD_TRAIT(src, TRAIT_DEAF, STAT_TRAIT) remove_from_alive_mob_list() add_to_dead_mob_list() log_combat(src, src, "died") - if(!can_hear()) - stop_sound_channel(CHANNEL_AMBIENCE) - refresh_looping_ambience() - - ///Reports the event of the change in value of the buckled variable. /mob/living/proc/set_buckled(new_buckled) diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm index 28db8499a66c..3bd7fcc82216 100644 --- a/code/modules/mob/living/living_say.dm +++ b/code/modules/mob/living/living_say.dm @@ -306,7 +306,7 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list( // But we can still see them speak if(speaker_is_signing) deaf_message = "[span_name("[speaker]")] [speaker.get_default_say_verb()] something, but the motions are too subtle to make out from afar." - else if(can_hear()) // If we can't hear we want to continue to the default deaf message + else if(!HAS_TRAIT(src, TRAIT_DEAF)) // If we can't hear we want to continue to the default deaf message if(isliving(speaker)) var/mob/living/living_speaker = speaker var/mouth_hidden = living_speaker.is_mouth_covered() || HAS_TRAIT(living_speaker, TRAIT_FACE_COVERED) @@ -360,7 +360,7 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list( deaf_type = MSG_AUDIBLE // Since you should be able to hear yourself without looking // Create map text prior to modifying message for goonchat - if (use_runechat && can_hear()) + if (use_runechat && !HAS_TRAIT(src, TRAIT_DEAF)) if (message_mods[MODE_CUSTOM_SAY_ERASE_INPUT]) create_chat_message(speaker, null, message_mods[MODE_CUSTOM_SAY_EMOTE], spans, EMOTE_MESSAGE) else diff --git a/code/modules/mob/living/silicon/ai/ai_say.dm b/code/modules/mob/living/silicon/ai/ai_say.dm index 26f2cc2f64a5..88abc47ab378 100644 --- a/code/modules/mob/living/silicon/ai/ai_say.dm +++ b/code/modules/mob/living/silicon/ai/ai_say.dm @@ -171,7 +171,7 @@ // Play voice for all mobs in the z level for(var/mob/player_mob as anything in GLOB.player_list) var/pref_volume = safe_read_pref(player_mob.client, /datum/preference/numeric/volume/sound_ai_vox) - if(!player_mob.can_hear() || !pref_volume) + if(HAS_TRAIT(player_mob, TRAIT_DEAF) || !pref_volume) continue var/turf/player_turf = get_turf(player_mob) diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index d3217bb736fd..691a36a8b658 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -100,7 +100,7 @@ update_mouse_pointer() update_ambience_area(get_area(src)) - if(!can_hear()) + if(HAS_TRAIT(src, TRAIT_DEAF)) stop_sound_channel(CHANNEL_AMBIENCE) if(client) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 3796d8711d14..2b3759948c15 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -243,7 +243,7 @@ type = alt_type . = FALSE - if(type & MSG_AUDIBLE && !can_hear())//Hearing related + if(type & MSG_AUDIBLE && HAS_TRAIT(src, TRAIT_DEAF))//Hearing related if(!alt_msg) return FALSE else @@ -369,7 +369,7 @@ continue if(self_message && hearing_mob == src) continue - if(audible_message_flags & EMOTE_MESSAGE && runechat_prefs_check(hearing_mob, audible_message_flags) && hearing_mob.can_hear()) + if(audible_message_flags & EMOTE_MESSAGE && runechat_prefs_check(hearing_mob, audible_message_flags) && !HAS_TRAIT(hearing_mob, TRAIT_DEAF)) hearing_mob.create_chat_message(src, raw_message = raw_msg, runechat_flags = audible_message_flags) hearing_mob.show_message(message, MSG_AUDIBLE, deaf_message, MSG_VISUAL) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index d48bbd9ac232..02e382c7117e 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -403,10 +403,6 @@ var/mob/living/T = pick(nearby_mobs) ClickOn(T) -///Can the mob hear -/mob/proc/can_hear() - return !HAS_TRAIT(src, TRAIT_DEAF) - /** * Get the list of keywords for policy config * diff --git a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm index 76caad943ff6..13f14d3af2c9 100644 --- a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm @@ -767,18 +767,18 @@ Basically, we fill the time between now and 2s from now with hands based off the . = ..() random_span = pick("clown", "small", "big", "hypnophrase", "alien", "cult", "alert", "danger", "emote", "yell", "brass", "sans", "papyrus", "robot", "his_grace", "phobia") RegisterSignal(affected_mob, COMSIG_MOVABLE_HEAR, PROC_REF(owner_hear)) - to_chat(affected_mob, span_warning("Your hearing seems to be a bit off[affected_mob.can_hear() ? "!" : " - wait, that's normal."]")) + to_chat(affected_mob, span_warning("Your hearing seems to be a bit off[!HAS_TRAIT(affected_mob, TRAIT_DEAF) ? "!" : " - wait, that's normal."]")) /datum/reagent/impurity/inacusiate/on_mob_end_metabolize(mob/living/affected_mob) . = ..() UnregisterSignal(affected_mob, COMSIG_MOVABLE_HEAR) - to_chat(affected_mob, span_notice("You start hearing things normally again[affected_mob.can_hear() ? "" : " - no, wait, no you don't"].")) + to_chat(affected_mob, span_notice("You start hearing things normally again[!HAS_TRAIT(affected_mob, TRAIT_DEAF) ? "" : " - no, wait, no you don't"].")) /datum/reagent/impurity/inacusiate/proc/owner_hear(mob/living/owner, list/hearing_args) SIGNAL_HANDLER // don't skip messages that the owner says or can't understand (since they still make sounds) - if(!owner.can_hear()) + if(HAS_TRAIT(owner, TRAIT_DEAF)) return // not technically hearing var/atom/movable/speaker = hearing_args[HEARING_SPEAKER] diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 0c57cf86b0e9..57e21242b34f 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -929,7 +929,7 @@ . = ..() if(creation_purity >= 1) ADD_TRAIT(affected_mob, TRAIT_GOOD_HEARING, type) - if(affected_mob.can_hear()) + if(!HAS_TRAIT(affected_mob, TRAIT_DEAF)) to_chat(affected_mob, span_nicegreen("You can feel your hearing drastically improve!")) /datum/reagent/medicine/inacusiate/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, metabolization_ratio) @@ -945,7 +945,7 @@ /datum/reagent/medicine/inacusiate/on_mob_delete(mob/living/affected_mob) . = ..() REMOVE_TRAIT(affected_mob, TRAIT_GOOD_HEARING, type) - if(affected_mob.can_hear()) + if(!HAS_TRAIT(affected_mob, TRAIT_DEAF)) to_chat(affected_mob, span_notice("Your hearing returns to its normal acuity.")) /datum/reagent/medicine/atropine diff --git a/code/modules/surgery/organs/internal/ears/_ears.dm b/code/modules/surgery/organs/internal/ears/_ears.dm index fb086e8bd362..e1259f5c82d8 100644 --- a/code/modules/surgery/organs/internal/ears/_ears.dm +++ b/code/modules/surgery/organs/internal/ears/_ears.dm @@ -48,11 +48,16 @@ . = ..() if(temporary_deafness) on_deafened() + REMOVE_TRAIT(organ_owner, TRAIT_DEAF, NO_EARS) /obj/item/organ/ears/on_mob_remove(mob/living/carbon/organ_owner, special, movement_flags) . = ..() if(temporary_deafness) on_undeafened(organ_owner) + // Do not apply with special flag, even if it would ultimately be redundant by new ears being hot-swapped in. + // This is so we don't trip signal_addtrait when hot-swapping ears, which could cause inappropriate behavior like nuking sound effects. + if(!special) + ADD_TRAIT(organ_owner, TRAIT_DEAF, NO_EARS) /obj/item/organ/ears/get_status_appendix(advanced, add_tooltips) if(owner.stat == DEAD || !HAS_TRAIT(owner, TRAIT_DEAF)) diff --git a/code/modules/unit_tests/spawn_humans.dm b/code/modules/unit_tests/spawn_humans.dm index e90473a7ba06..f89f59a4cbfe 100644 --- a/code/modules/unit_tests/spawn_humans.dm +++ b/code/modules/unit_tests/spawn_humans.dm @@ -13,3 +13,4 @@ var/mob/living/carbon/human/consistent/dummy = allocate(/mob/living/carbon/human/consistent) TEST_ASSERT(!HAS_TRAIT_FROM(dummy, TRAIT_AGEUSIA, NO_TONGUE_TRAIT), "Dummy has ageusia on init, when it should've been removed by its default tongue.") TEST_ASSERT(!dummy.is_blind_from(NO_EYES), "Dummy is blind on init, when it should've been removed by its default eyes.") + TEST_ASSERT(!HAS_TRAIT_FROM(dummy, TRAIT_DEAF, NO_EARS), "Dummy is deaf on init, when it should've been removed by its default ears.") diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index 7e68aaf91cbc..d85189ea8ea7 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -265,7 +265,7 @@ playsound(chassis, 'sound/items/airhorn/airhorn.ogg', 100, TRUE) to_chat(source, "[icon2html(src, source)]HONK") for(var/mob/living/carbon/M in ohearers(6, chassis)) - if(!M.can_hear()) + if(HAS_TRAIT(M, TRAIT_DEAF)) continue var/turf/turf_check = get_turf(M) if(isspaceturf(turf_check) && !turf_check.Adjacent(src)) //in space nobody can hear you honk. From bd94be8d85532d7658275aa3fe86d6224467a57a Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 01:20:18 +0000 Subject: [PATCH 188/271] Automatic changelog for PR #95029 [ci skip] --- html/changelogs/AutoChangeLog-pr-95029.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95029.yml diff --git a/html/changelogs/AutoChangeLog-pr-95029.yml b/html/changelogs/AutoChangeLog-pr-95029.yml new file mode 100644 index 000000000000..7736df1182e6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95029.yml @@ -0,0 +1,5 @@ +author: "Melbert" +delete-after: True +changes: + - refactor: "Refactored how deafness is tracked. Please report any weird interactions with sounds, like messages or sfx being missing." + - bugfix: "Lacking ears and being in hard crit now consistently treats you as \"being deaf\". This affects a few minor interactions like empath, the jukebox, and sleeping." \ No newline at end of file From e8b274c8c9e1e7ecbb9a45a991e1da0c9fb84db1 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 01:29:43 +0000 Subject: [PATCH 189/271] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-95029.yml | 5 ----- html/changelogs/AutoChangeLog-pr-95088.yml | 4 ---- html/changelogs/AutoChangeLog-pr-95089.yml | 4 ---- html/changelogs/archive/2026-02.yml | 11 +++++++++++ 4 files changed, 11 insertions(+), 13 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-95029.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-95088.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-95089.yml diff --git a/html/changelogs/AutoChangeLog-pr-95029.yml b/html/changelogs/AutoChangeLog-pr-95029.yml deleted file mode 100644 index 7736df1182e6..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95029.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Melbert" -delete-after: True -changes: - - refactor: "Refactored how deafness is tracked. Please report any weird interactions with sounds, like messages or sfx being missing." - - bugfix: "Lacking ears and being in hard crit now consistently treats you as \"being deaf\". This affects a few minor interactions like empath, the jukebox, and sleeping." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-95088.yml b/html/changelogs/AutoChangeLog-pr-95088.yml deleted file mode 100644 index 6b73c8dcfe84..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95088.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Bugwasabi" -delete-after: True -changes: - - bugfix: "Play Internet Sounds will now only display song details to users who have admin music enabled." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-95089.yml b/html/changelogs/AutoChangeLog-pr-95089.yml deleted file mode 100644 index 1431e3a44a2f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95089.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Melbert" -delete-after: True -changes: - - balance: "Stasis now stops addiction ticks while active - meaning addictions will not apply their ticking withdrawal effects, but also won't heal over time" \ No newline at end of file diff --git a/html/changelogs/archive/2026-02.yml b/html/changelogs/archive/2026-02.yml index a11072a7c481..df1a68fddcbd 100644 --- a/html/changelogs/archive/2026-02.yml +++ b/html/changelogs/archive/2026-02.yml @@ -68,3 +68,14 @@ lelandkemble: - bugfix: the auto updating lootpanel now automatically shows new items that haven't moved yet. +2026-02-06: + Bugwasabi: + - bugfix: Play Internet Sounds will now only display song details to users who have + admin music enabled. + Melbert: + - balance: Stasis now stops addiction ticks while active - meaning addictions will + not apply their ticking withdrawal effects, but also won't heal over time + - refactor: Refactored how deafness is tracked. Please report any weird interactions + with sounds, like messages or sfx being missing. + - bugfix: Lacking ears and being in hard crit now consistently treats you as "being + deaf". This affects a few minor interactions like empath, the jukebox, and sleeping. From 1ed1998656363f306a7e704f9e04feba47102562 Mon Sep 17 00:00:00 2001 From: Leland Kemble <70413276+lelandkemble@users.noreply.github.com> Date: Thu, 5 Feb 2026 20:39:32 -0500 Subject: [PATCH 190/271] Lowers the necessary pressure needed to activate the Space Furnace a smidge (#95057) ## About The Pull Request Currently, the space furnace requires exactly one atmosphere or more of pressure in order to activate. This means that, because of how tiny the increments of pressure can be, that if a room ever loses any pressure at all for any reason, the general air in that room will never be enough to activate the furnace again(unless you turn up the vents), because it'll always be like 1 pascal too low. The only way to activate a furnace in these conditions is spam activating it on top of vent, and getting lucky. This sucks. Lowering it by 1 kpa means that it still requires an almost perfect atmos situation in order to activate. Also, makes the low pressure message change between "low pressure" & "no pressure", which'll make it more clear to people what it's talking about. ## Why It's Good For The Game I can't imagine that standing over a vent spamming z in a perfectly habitable room was the intended outcome of this restriction. ## Changelog :cl: fix: the Space Furnace is now usable in rooms that have previously been breached, provided they have recovered enough air. /:cl: --- code/game/objects/items/devices/flashlight.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 6228e6c1e3a5..f5a29b9f4778 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -1197,8 +1197,8 @@ return FALSE var/datum/gas_mixture/environment = loc?.return_air() var/affected_pressure = environment.return_pressure() - if(!light_on && (affected_pressure < ONE_ATMOSPHERE)) - user.balloon_alert(user, "no pressure!") + if(!light_on && (affected_pressure < ONE_ATMOSPHERE - 1)) + user.balloon_alert(user, "[affected_pressure < HAZARD_LOW_PRESSURE? "no" : "low"] pressure!") return FALSE . = ..() if(light_on) From 2504d170aeece75ad0ab67ec9d9b87b2231e479f Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 01:39:50 +0000 Subject: [PATCH 191/271] Automatic changelog for PR #95057 [ci skip] --- html/changelogs/AutoChangeLog-pr-95057.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95057.yml diff --git a/html/changelogs/AutoChangeLog-pr-95057.yml b/html/changelogs/AutoChangeLog-pr-95057.yml new file mode 100644 index 000000000000..53c49dc10871 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95057.yml @@ -0,0 +1,4 @@ +author: "lelandkemble" +delete-after: True +changes: + - bugfix: "the Space Furnace is now usable in rooms that have previously been breached, provided they have recovered enough air." \ No newline at end of file From d04564a94e2c3c5600b2d98ee8582232a5b74726 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 01:40:19 +0000 Subject: [PATCH 192/271] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-95057.yml | 4 ---- html/changelogs/archive/2026-02.yml | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-95057.yml diff --git a/html/changelogs/AutoChangeLog-pr-95057.yml b/html/changelogs/AutoChangeLog-pr-95057.yml deleted file mode 100644 index 53c49dc10871..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95057.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "lelandkemble" -delete-after: True -changes: - - bugfix: "the Space Furnace is now usable in rooms that have previously been breached, provided they have recovered enough air." \ No newline at end of file diff --git a/html/changelogs/archive/2026-02.yml b/html/changelogs/archive/2026-02.yml index df1a68fddcbd..bcea0fe9b306 100644 --- a/html/changelogs/archive/2026-02.yml +++ b/html/changelogs/archive/2026-02.yml @@ -79,3 +79,6 @@ with sounds, like messages or sfx being missing. - bugfix: Lacking ears and being in hard crit now consistently treats you as "being deaf". This affects a few minor interactions like empath, the jukebox, and sleeping. + lelandkemble: + - bugfix: the Space Furnace is now usable in rooms that have previously been breached, + provided they have recovered enough air. From 44f68463061f7096e9f28cf30f091bd1e4660722 Mon Sep 17 00:00:00 2001 From: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Date: Fri, 6 Feb 2026 16:12:31 -0500 Subject: [PATCH 193/271] Adds structural weakpoints that can spawn on station (#94839) ## About The Pull Request This PR was originally described to me by @AnturK and I implemented a few elements of it to the best of my ability, then I promptly forgot about it for the last 2 months. This PR adds in randomly spawning structural weakpoints, using much of the same mechanics of spawning in hidden satchels. If identified using a T-ray scanner, they can be fixed using a welder by crew. More excitingly, if a weakpoint is subject to an explosion, it will propagate a crack, using a random line of turfs, then calling `ex_act()` on each one with a small callback chain. Finally, cracks will form additional weakpoints if caused this way, though are almost certainly going to be noticeable, unlike before where they can spawn undertile. With this addition, I've added a negative station trait, that will increase the number of structural weakpoints that will spawn in a given round. In a normal round, 3 weakpoints will spawn on the station, where with the station trait, 4-8 weakpoints will spawn across the map. Weakpoints come in 1 flavor practically, with a larger subtype being spawnable by admins. The vars for weakpoints also happen to be fully var-edit-able for admin purposes, including the explosion intensity that can cause the weakpoint to trigger, the number of sub-cracks, if additional weakpoints can spawn, etc. You may also seal weakpoints using sticky tape. ## Why It's Good For The Game Weakpoints feel like an interesting modifier to a map, where if caught early can prevent a bad situation becoming worse. Otherwise, weakpoints could very quickly cause chaos on the map, but despite their description, aren't capable of causing **too** much destruction that they can cause a shuttle call unless they're being manipulated by traitors or antagonists. Though low odds, the idea of a player welder-bombing a door or an IED going off related to the current situation in a round, being exacerbated by pure chance due to being near an IED seems really, REALLY funny. ## Changelog :cl: add: Stations can now spawn with Structural weakpoints. If they're subject to an explosion, they'll crack open a tear in the station's turfs. If you spot one, make sure to weld it or seal it with sticky tape to fix one. Or not! add: Adds a negative station trait that greatly increases the number of weakpoints that can spawn on station. /:cl: --------- Co-authored-by: san7890 Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> --- _maps/catwalkstation.json | 3 +- _maps/deltastation.json | 3 +- _maps/icebox.json | 3 +- _maps/nebulastation.json | 3 +- _maps/runtimestation.json | 3 +- code/__DEFINES/traits/declarations.dm | 1 + code/_globalvars/traits/_traits.dm | 1 + code/controllers/subsystem/minor_mapping.dm | 33 +++++ code/datums/map_config.dm | 7 + code/datums/station_traits/negative_traits.dm | 8 + .../effects/decals/turfdecal/weakpoint.dm | 139 ++++++++++++++++++ icons/effects/effects.dmi | Bin 960365 -> 960875 bytes tgstation.dme | 1 + 13 files changed, 200 insertions(+), 5 deletions(-) create mode 100644 code/game/objects/effects/decals/turfdecal/weakpoint.dm diff --git a/_maps/catwalkstation.json b/_maps/catwalkstation.json index 5c4630f2582b..fa1c555b7ceb 100644 --- a/_maps/catwalkstation.json +++ b/_maps/catwalkstation.json @@ -19,5 +19,6 @@ "Baseturf": "/turf/open/openspace/airless", "Linkage": "Cross" } - ] + ], + "bonus_weakpoints": 1 } diff --git a/_maps/deltastation.json b/_maps/deltastation.json index d21ee4eac734..faa493bd8d75 100644 --- a/_maps/deltastation.json +++ b/_maps/deltastation.json @@ -13,5 +13,6 @@ "Cook": { "additional_cqc_areas": ["/area/station/service/cafeteria"] } - } + }, + "bonus_weakpoints": 2 } diff --git a/_maps/icebox.json b/_maps/icebox.json index 740a5883174f..3d90b9b15e05 100644 --- a/_maps/icebox.json +++ b/_maps/icebox.json @@ -58,5 +58,6 @@ "Cook": { "additional_cqc_areas": ["/area/station/service/bar/atrium"] } - } + }, + "bonus_weakpoints": 2 } diff --git a/_maps/nebulastation.json b/_maps/nebulastation.json index 4e872fc0d694..c8513ba34ef7 100644 --- a/_maps/nebulastation.json +++ b/_maps/nebulastation.json @@ -20,5 +20,6 @@ "Baseturf": "/turf/open/openspace", "Linkage": "Cross" } - ] + ], + "bonus_weakpoints": 2 } diff --git a/_maps/runtimestation.json b/_maps/runtimestation.json index 715d924d5af8..0452452dd6d9 100644 --- a/_maps/runtimestation.json +++ b/_maps/runtimestation.json @@ -12,5 +12,6 @@ ], "shuttles": { "cargo": "cargo_delta" - } + }, + "bonus_weakpoints": -3 } diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm index aa386ed0ce03..6d9cb8e22551 100644 --- a/code/__DEFINES/traits/declarations.dm +++ b/code/__DEFINES/traits/declarations.dm @@ -47,6 +47,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define STATION_TRAIT_UNIQUE_AI "station_trait_unique_ai" #define STATION_TRAIT_UNNATURAL_ATMOSPHERE "station_trait_unnatural_atmosphere" #define STATION_TRAIT_SPIKED_DRINKS "station_trait_spiked_drinks" +#define STATION_TRAIT_SPAWN_WEAKPOINTS "station_trait_spawn_weakpoints" // Hud traits /// This hud is owned by a client with an open escape menu diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index 43b2330713d3..da19eacc3cc6 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -136,6 +136,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "STATION_TRAIT_UNIQUE_AI" = STATION_TRAIT_UNIQUE_AI, "STATION_TRAIT_UNNATURAL_ATMOSPHERE" = STATION_TRAIT_UNNATURAL_ATMOSPHERE, "STATION_TRAIT_SPIKED_DRINKS" = STATION_TRAIT_SPIKED_DRINKS, + "STATION_TRAIT_SPAWN_WEAKPOINTS" = STATION_TRAIT_SPAWN_WEAKPOINTS, ), /datum/deathmatch_lobby = list( "TRAIT_DEATHMATCH_EXPLOSIVE_IMPLANTS" = TRAIT_DEATHMATCH_EXPLOSIVE_IMPLANTS, diff --git a/code/controllers/subsystem/minor_mapping.dm b/code/controllers/subsystem/minor_mapping.dm index d0e741109cf3..aca5845a14dd 100644 --- a/code/controllers/subsystem/minor_mapping.dm +++ b/code/controllers/subsystem/minor_mapping.dm @@ -23,6 +23,12 @@ SUBSYSTEM_DEF(minor_mapping) #else trigger_migration(CONFIG_GET(number/mice_roundstart)) place_satchels(satchel_amount = 2) + var/weakpoint_spawns = 3 + if(HAS_TRAIT(SSstation, STATION_TRAIT_SPAWN_WEAKPOINTS)) + weakpoint_spawns = rand(4,8) + + weakpoint_spawns += SSmapping.current_map.bonus_weakpoints //This will add 0 by default, or additional on large maps where it's included in the config. + place_weakpoints(weakpoint_spawns) return SS_INIT_SUCCESS #endif @@ -97,4 +103,31 @@ SUBSYSTEM_DEF(minor_mapping) return shuffle(suitable) +/// This behaves nearly the same as spawning underfloot satchels, but instead spawns weakpoints. +/datum/controller/subsystem/minor_mapping/proc/place_weakpoints(weakpoint_amount) + if(weakpoint_amount == 0) + return + var/list/turfs = find_satchel_suitable_turfs() + ///List of areas where weakpoints should not be placed. + var/list/blacklisted_area_types = get_blacklist_areas() + /area/station/maintenance + while(turfs.len && weakpoint_amount > 0) + var/turf/turf = pick_n_take(turfs) + if(is_type_in_list(get_area(turf), blacklisted_area_types)) + continue + var/obj/effect/weakpoint/new_point = new(turf) + SEND_SIGNAL(new_point, COMSIG_OBJ_HIDE, turf.underfloor_accessibility) + weakpoint_amount-- + +/** + * Areas for minor_mapping procs to avoid. Mutate or adjust based on use case. + */ +/datum/controller/subsystem/minor_mapping/proc/get_blacklist_areas() + var/list/blacklist_areas = list( + /area/station/holodeck, + /area/space/nearstation, + /area/station/solars, + ) + return blacklist_areas + + #undef PROB_SPIDER_REPLACEMENT diff --git a/code/datums/map_config.dm b/code/datums/map_config.dm index bb7dd27e947a..021c53b336d4 100644 --- a/code/datums/map_config.dm +++ b/code/datums/map_config.dm @@ -66,6 +66,9 @@ /// Boolean that tells SSmapping to load all away missions in the codebase. var/load_all_away_missions = FALSE + /// Number of additional weakpoints to spawn for SSminor_mapping + var/bonus_weakpoints = 0 + /** * Proc that simply loads the default map config, which should always be functional. */ @@ -218,6 +221,10 @@ if ("give_players_hooks" in json) give_players_hooks = json["give_players_hooks"] + if ("bonus_weakpoints" in json) + bonus_weakpoints = json["bonus_weakpoints"] + + allow_custom_shuttles = json["allow_custom_shuttles"] != FALSE if ("job_changes" in json) diff --git a/code/datums/station_traits/negative_traits.dm b/code/datums/station_traits/negative_traits.dm index da87d2a7b789..2d2af3ade294 100644 --- a/code/datums/station_traits/negative_traits.dm +++ b/code/datums/station_traits/negative_traits.dm @@ -754,4 +754,12 @@ report_message = "Due to a mishap at the Robust Softdrinks Megafactory, some drinks may contain traces of ethanol or psychoactive chemicals." trait_to_give = STATION_TRAIT_SPIKED_DRINKS +/datum/station_trait/structural_weakness + name = "Structural Weaknesses" + trait_type = STATION_TRAIT_NEGATIVE + weight = 5 + show_in_report = TRUE + report_message = "Our station subdivision informed us that this station may have been built with a number of structural weaknesses due to defective construction materials. Be on the lookout for them and try not to let anything explode." + trait_to_give = STATION_TRAIT_SPAWN_WEAKPOINTS + #undef GLOW_NEBULA diff --git a/code/game/objects/effects/decals/turfdecal/weakpoint.dm b/code/game/objects/effects/decals/turfdecal/weakpoint.dm new file mode 100644 index 000000000000..c982cb60a92e --- /dev/null +++ b/code/game/objects/effects/decals/turfdecal/weakpoint.dm @@ -0,0 +1,139 @@ + +#define CRACK_PROPAGATION_DELAY 0.1 SECONDS +#define CRACK_TURN_CHANCE 50 +#define CRACK_DELAY_CHANCE 33 + +/obj/effect/weakpoint + name = "weakpoint crack" + desc = "A suspicious crack runs along the ground." + icon = 'icons/effects/effects.dmi' + icon_state = "weakpoint" + + /// The required strength of explosion for a weakpoint to propogate + var/required_strength = EXPLODE_LIGHT + //How many turfs should this weakpoint crack when triggered? Crack length splits by default and doesn't recurse + var/crack_length = 8 + /// How many split off cracks are expected? + var/crack_split_count = 2 + + /// When the crack is finished expanding, will it spawn more cracks? + var/spawns_children = TRUE + /// How many children weakpoints will this crack spawn when it propagates? + var/new_weakpoints = 2 + +/obj/effect/weakpoint/Initialize(mapload) + . = ..() + AddElement(/datum/element/undertile, TRAIT_T_RAY_VISIBLE, INVISIBILITY_OBSERVER, use_anchor = TRUE) + register_context() + +/obj/effect/weakpoint/ex_act(severity, target) + . = ..() + var/static/list/skip_turfs = typecacheof(list( + /turf/open/space, + /turf/open/misc/asteroid, + /turf/open/misc/snow, + )) + if(severity < required_strength) + balloon_alert_to_viewers("crack!") + playsound(source = src, soundin = SFX_HULL_CREAKING, vol = 50, vary = TRUE, pressure_affected = FALSE, ignore_walls = TRUE) + return //return ominous sounds when we're under the threshold. + + var/list/chain_turfs = get_crack_chain(get_turf(src), 8, TRUE, skip_turfs) // Get a nice chain of turfs + + var/crack_delay = 0 + for(var/turf/crack_turf in chain_turfs) + addtimer(CALLBACK(crack_turf, TYPE_PROC_REF(/atom, ex_act), severity, crack_turf), CRACK_PROPAGATION_DELAY * crack_delay) + playsound(source = crack_turf, soundin = SFX_HULL_CREAKING, vol = 35, vary = TRUE, pressure_affected = FALSE, ignore_walls = TRUE) + if(prob(33)) + crack_delay++ + + if(spawns_children) + chain_turfs = typecache_filter_list_reverse(chain_turfs, skip_turfs) //Filter out things that we don't want to spawn new weakpoints onto. + + for(var/i in 1 to new_weakpoints) + var/obj/effect/weakpoint/newpoint = new(pick(chain_turfs)) + //inherit parent var values in case of var-editing. + newpoint.new_weakpoints = new_weakpoints + newpoint.crack_length = crack_length + newpoint.crack_split_count = crack_split_count + qdel(src) + +/obj/effect/weakpoint/welder_act(mob/living/user, obj/item/tool) + to_chat(user, span_notice("You begin to strengthen [src]...")) + if(!tool.use_tool(src, user, 4 SECONDS, amount = 1, volume=50)) + return ITEM_INTERACT_BLOCKING + to_chat(user, span_notice("\The [src] is fully sealed, eliminating the risk of the weakpoint growing.")) + qdel(src) + return ITEM_INTERACT_SUCCESS + +/obj/effect/weakpoint/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(istype(tool, /obj/item/stack/sticky_tape)) + var/obj/item/stack/sticky_tape/duct_tape = tool + if(!duct_tape.use(1)) + return ITEM_INTERACT_BLOCKING + to_chat(user, span_notice("\The [src] is sealed with a little elbow grease and a mound of [duct_tape].")) + qdel(src) + return ITEM_INTERACT_SUCCESS + return ..() + +/obj/effect/weakpoint/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + if(held_item?.tool_behaviour == TOOL_WELDER) + context[SCREENTIP_CONTEXT_LMB] = "Repair weakpoint" + return CONTEXTUAL_SCREENTIP_SET + return . + +/obj/effect/weakpoint/examine(mob/user) + . = ..() + . += span_notice("\The [src] could be repaired with a welder.") + . += span_warning("A strong enough explosion will cause [src] to expand.") + +/** + * Generates a list of turfs from the start location meandering along a randomized set of turns. + * * start_location: The turf to begin the chain of turfs from. + * * length: How many lengths this chain needs to be. + * * add_splits: Should this crack chain apply additional instances of get_crack_chain while recursively cracking even further. + * * turfs_to_skip: a typecache of turfs that we block spreading to when getting a chain. + */ +/obj/effect/weakpoint/proc/get_crack_chain(start_location, length, add_splits = TRUE, turfs_to_skip = list()) + if(!length) + CRASH("Weakpoint spawned with no length value!") + if(!start_location) + CRASH("No start location for crack specified!") + + var/list/turf/cracked_turfs = list() + var/turf/current = loc //Start on top of ourselves + var/direction = pick(NORTH, SOUTH, EAST, WEST) + + for(var/i in 1 to length) + if(length(turfs_to_skip) && is_type_in_typecache(current, turfs_to_skip)) + direction = turn(direction, pick(90, 135, 180, 225, 270)) //We'll either turn or reverse the direction of the crack if we can't get around our obstacle. + current = get_turf(get_step(current, direction)) + continue + cracked_turfs += current + // Randomly branch or continue + if(prob(CRACK_TURN_CHANCE)) + direction = turn(direction, pick(-90, -45, 45, 90)) + current = get_turf(get_step(current, direction)) + if(!isturf(current)) + break + if(add_splits) + for(var/subcrack in 1 to crack_split_count) + cracked_turfs += get_crack_chain(pick(cracked_turfs), max(round(length/2 ), 1), FALSE) //Stop recursion here + + message_admins("Station weakpoint triggered, affecting [length(cracked_turfs)] turfs in [loc_name(start_location)].") + log_game("Station weakpoint triggered, affecting [length(cracked_turfs)] turfs in [loc_name(start_location)].") + + return cracked_turfs + +/obj/effect/weakpoint/big + name = "dangerous weakpoint" + desc = "A suspicious crack runs along the ground. This one makes you feel particuarly uneasy." + icon_state = "weakpoint" + crack_length = 15 + crack_split_count = 6 + new_weakpoints = 3 + +#undef CRACK_PROPAGATION_DELAY +#undef CRACK_TURN_CHANCE +#undef CRACK_DELAY_CHANCE diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 23560e411eae0dc4683caa7a781441300ef9270c..16bbde48e016a69b894675145d382f076f381006 100644 GIT binary patch delta 15705 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
D&SZEO zXgz3ReSU7ZimM<1+P2Cdt9pJHEM~rquuL@_y;5uWx$+J?zy0I#qe2uM1x{$egA_~t-Za0oCjp`)SW+R31Cj}lw zZvxZjf((TF0?`Kj-g=S|>Az$MKv;zs6Uq9@@<`FtePg==%65HzPCxsipmOWmpTSp6 zVylD~M_c~#_Cgb%RPz&b$uxPAv-!`Y*cIsLy|9P{eDzJ#9T+G!H&2E@= z`wyGGglixj7;S8j$aku1cY9D6?*H^T9xiegn;ozwD{OiqouNRAf#nr7 zDW3}m2bHzvf(9RGv+Gt^zXXEiypKXYxIaG^gk~N&0I&B*;eV=nG2(x&aEZ7dji5MH zrU^6B8SYhG@%juBx_U_JC~k#$p1`@}R}Q51=4N_z4tQVhHaUzv07eeP7(hy;kWr@~ zSfat8&A7TnZXP20xLb9Pi@jwdjLZIP?U(w6l56^=vrk@hkSpoOp-j88Co8wU&_KYm zSgLtSe3V;Q~P->rD^!*$=WHpdAL zAJM?WO(sg*QMd5c#3rFBCOK@NSkRSQ#v7KDl%}TU$Ckg2QovCBZbx@i+0bQWrPRnn zS}x5m;^J|wLz;1`UzM7g&8FD=3)02dpzr1Y(bI0tzxh=nMmAbC9&g_$sDIx2U(F0c z+$X&M+dv2Y74kk&%4ulO%28g!7z)D0`BFwov-`8@1r|R)Ki{ED-&eL*hB0~xWaz$| z4-W{e7w>Uzn_9os?9nP3Afl1l!`Z6SP^6d|`r!i%mR>Es`K^~$Hg|X(=uk1xV_xd< zrjO1jTdz{_^iHfPuW%$iozK?K&VqD<7ng$4*kI9y&KY+fc+;xHKHpS- z8BU#5bPwr}!2*Ga+1XZ<*m%kgxL+GI{f@I1jT~^KRl|rOAWJ~LzCOvJc9gF~Yq04< z8O+r-I9^^f&DWjVf;tv~XM8_qoSU3bfZXWQV`}yKcarb#kExbiQ=Bt{tRP!V>vV0) z&|#dw<%}A9ncuuOURu?r+&sHsV6qZtBEqf*(BrYdIyd}Rm8qaTIY9d;KUInrwX#_8 zo{h)aE(u<4V^I@z%s#}^8*F$z?R_i*)>v}YDEwusC6C4f?%PzDm&=~*A!cVKJo*a(LSlpLSnHKn~x870mdV*IoTT;@-PyD0#pC4^USVvimI8AZ4& zx4vQESBi_f6otd`q9?BgUCXBp%)uH($RQTZhAtGP)@$T;ZL8>C5*kYHG?cgiM;Jl6*es;So{ zSqlg@1f`G6#S9KU@iRN9$(P5SQ@7q0CeFh`ud@ZfZb{!Q&$zA3;NG@3JZw7dDKJ$S zok_LRE&9_EF8+T&wxRwDHoM)J18kM;miDp3lf)zZ*U=WF%j|IeT0aMg-Yi)9oW{F06plBj*yyPPa59bf+pyq&Vet#2!X?6+sG)&MK#>L=y0ZQl?>m(=5m(wpdQsY6k8$0w9p$>m~MtQe$%#EIcVlE#2{jA)?G`uZ(h>u*M0QgTJ*-_FpP0G z#;y!TAuyWA{h-$i9=`7io9cOKje)jOA0G2Ol}CWiUj&&!uq}dd((v6_eSLg zo0^?=4O-d|@HZOZwMRD0UHIWabHx=ilrLwEwka-T_O62AidHV^PZyjgzmN6Vs@Z?U zFZ*PS)=E(bA5FK#g;@JgGT}U|3$PkH71Cd|m%bd!t*sEc;LB>TU#YGU7;l|!iNyYo zBntdT6GhbwphOIy8Fkp!|RDhat*=1YIzht_1nDP&2^lPT`nZe~BIJB4yOpLMT0{TJQ~uc|vhN0sBh!$HV-%Y}+FOq+bthH@%=ZT+)W`~100 z2;}!IVjIyOL+nG7m}N<$i4_YyL-`9}w&uKg@QrTmVFB$kDeckcv5xOZk5GPDD{Q@% zEkchm#&Z=g>lnwd2AuX@E%yv(JG&a^9n#u?Cm zbtIj)B}4n1+1()(zx_g;8LY6llHtrDN@ zXK-Itg`B417S^zO4u09ZH{ANHH(q8-HzeR2dm{)qbNWgR+HMk&8h#SC&3F7gFo9qW za+pxc7z2ZiV{2CFq-?$dUM_7A@v-Y=WM+oV8%vPZwP1CajL{(j`&s+@z{Y`(`C(WT zQn8-mW?U-yNupQjR&gSo&$_%^hNWl8%mOdc;{g-Cz0uw%`+7w6_rp63$^TzII`vgo zCivSgz)lctVuN7v^00~%U&lfpN=n}e>xQKPW=vhb4>QHoyan4Tt;N+uISiIMM%9= z$?lHQ^eDj@_il4IUvJx&B@oo#a3#L;sxRfmsW%0;pvU2ZXiXL1{e-O{=YTa+X^p^p zX=YOl&}vFmR22H<%;&#A)~X;3u8Yai>hVs%rdz-}6m>uFe|Y0({R%rivu5L^ zFpp9-VNr3AY`@3ycx^ut%6l%UQ^A%?W(3h;R@qM7ISirJjfdVV>>LU`y#br+rc|le zp_6nj8g%Lze;=~#;nvRp)*UiZfvS}cHuX0*Un)DeaqvNR|D2NMwidn7Z&e^IBPXia zKAuom`cPPyOU|>UHjZ3>!`kG^gOKc41{%)j9M=tcHa!^8De!fR*}Cju+pmaj__CVJ zo6-9RL*Cx_J55MtbQCGL{nZtkK!Or19J?Fvx7HTw3&i3uK>8bUz#gt666k~6J8GOf zXcg$}=0P{<=i(YCzq#z1HY7v`Ar zzJlh5=aSl=7hUH$fV9e?IhOAAx(l?Szj&yF4zffn53`e+KeE`_z^cEpg4WYcZE!xB ze$8<|y>E8{orzDz5P}3d6k$NEmM_Slv%73Z5J=((eUHH&7SyWjj*8JYuf|{w1>#A* zb)Ub@^B6C$FzEV5w~6gBcfq`Bw>b6*O|!$S3%SgGu^V`%;|dAq)bI89fy79eT*>f` zjgcv%iPKPbBISND;{wKqsFQGJWYqY&im1>?0XN}~Y|^J3 zy!45iPBt$a6x<)W2-vS{UwyD-t0-W6p6~v@vmgCn&J;PJMgK45=oa9H`g-^)S>Sg= zLwn&lLh~yGjt3e#pxFGqk7f)b0m+jHlEzcEjZO-uu!@LF}Rs%~3v)`Pc>N`;DP%Zle_;83TFr}u9!jK$X$^N8&~Vp`YI%*`-N zELdRSB^c+43Fg_{JmHDC9*n^Zz)jk&!gqSlk)}|A%t*!Zu4@yU^znv}n6Wfg*a$Wx zia5Hc-(gy}T8hLJ7P3QGSuDi6sUT)ZDGt>!r>_PAop=|D)wfG1411-nu<^hG$()CaU3{GW zVTd5V4gIBT0bl5lJ}I4tzIzHBtrp*1*Yv|U-yYaYHA=ya#W$k%Izs+STXAQOGp5tp z@^_}ol7+6XCU>*jz7*Wv>&i^GABGJKl{RMz#>fs^I1GA^YQ1+=-9%HN9xLuKnGD`p z79VniKn{cCz8ubw;LOedk~$`BZc)PSbyI}Wg@s1*gg%8!=>mEo54qU8&aOlDMU{W! zL>$(%~WM9IE1VouMz&&|}>s4&m$0y|TOX=N z*K3V!9Y6`X%<;SbB3!OO6uyKoFQ>^a#H|mteq8XZ2WIBhXEs2eQfpnt(UGs+Ml-2* zyA+HgEPPm=InvQs!}##lr12lG5J1kv|0en0h_dGqM=P#3Dqe?13xCwOYo7PYE1Hoj zhC!FTPNG=J*dQD;1+lbZwBf(~)Z^?rkh;X8rpF6ZWjKC!m1q7ABgGRfN1FHzF@e~1 zjU0A}5b2~@*}{sm+l0ekBQzl5Tc8RFlukK)VDUbsoV-vfs=Q5?4BZ+wCP{@~xr=zad2U!wHJ* z_2zC!&|3O3sA(;m0wic0ERFEs1l28~D(%?gsOH+&C67>*9}9BUEg8i&JyTI3zvH_z z?SudPx%(|h8)P#PopwDp|7|ghDoMt*F9crL^~$x#@>g!t3B$DGms-w{Av|u2;$qIE zdLI4eFCG_Zi=UiM#UP#LdgXGwykj2vV1Hdc*lu3~MM3LT=YH#-d}9SeL(t`lreZGYI@oy|-uD z4`|(D@6^i<&pV9gBG1sgflZuEk8AJV<-ihZfCUGppMZmpe8n;1P|!fWh`r z^QhH}wyP9qcGns%Lb@OH>~@Ig9d6KWGI8+Mksr8^jICEsCb3p_%z@rcVkHtks5q)u z)m04V`CpS>huc;`JErkY>4^n0Iqc-D`0 zf!;5NRH!48c#GOApGgJp;99{>OgI|z z%J(#$!LGP|+TRbvU4&gF#){g+p)+KUC$-?a9Eqr@6=Cw!QJpl8adx?m_GyShyAh!o) zQNkorBIYJt_TZo~(S@2%n=PXvh5x^Y3!n^$_x%pl zBJTVH)gXY(K5|AZ;2FTqCa?Bs!uTF^6?z#qL^3QgSI?20yQf=p)|MCmOG8Ff4!?<-`mr3U-; zU#_m-vU%GBk01WYbdc3%uDipy3HBKm7bl>o!f041)M&`%@ex}=Runvd3q(^%;I7{@ zB#*!ZP!}+38#R_|k3hA|28T8X>1tbh$<(xRgMU$0Eyr4N`~ly=ZYrGAH!g=Hj;3gOS8*g8Gb2i`!uC#W9`nE~2& z#b*;q+h;j}(e(--6TL#t1XepxLmc80W(+TPI$f40Z$ z&AZS%GYl7aj|}41y=;yyr^Ut;M8S-Do z3?0Vtl*#~K${}*hi%!BJ^GNoI$Nd{~+UH@#hbi5jb$8uQsAP)(Yk15(2e~qZyM?)V z7M3I>J!2^h$Y#Z=;50>Qi~u?}2bqOE`pIcg$JW-N!HsDsOJ8Bv+i^Qj6(ms6hCKY&8W7he zt*twd`*yKNk;3ljdGug%SP3gtFFHg%MoNJ>C21+rqcl3-;l_Y{Cti}@FHRo6kvbv% zB&e`cYVff+tgyw0iidsIfwVz=zClysC(tyjrtfJTBm)MG!k3<{4&d%WRz#)HvP!N` z)Cs%6tlf~xmkL|vUhR}0tzF0PtuOMw(nVHRid=yn&Jl!ZwDA7QJCER2BbsDDj-_R#={svmzxb+)aL zb}E@h;(6w>+8i=i&q(OfIcrR3t=Ix>MQ93H*9C_Z5O6nM|0ky*{Obrg*pI z8oXnYm7yc|1S4lfyh!0Lpn%`fG*5&b$06|rUo<{vVL`Z{Th9zcJvE{2^PPynWUQi^ zb+>swl(!V9tD-w5I1GQ(NPWw=D6Id(PveFMLCgI?JyQVh=Q;54n1jyQn?*>?0l$R}G6?~dBdK+Sn+CE-rDDDTLdL7Qwni?H zq$!-_;a%Oc8&2ZF(kaX1jPgOJ{&A8xB)P*<@bL*+Ta|R4tf)pLoW0(P0RIMTKa@1Q zI)W1Xx)59RD zBFEf2nl*@-SkerP=k7w8_^BrBzp&?$1$5coM^^8*u~B{~C|Pp*R@;u70H?VX({^0; zoI8o&yYKu-zYI$33Z`uKBS_TAX=$o$)m;H1B)48tdu@ip?m^>;WR zm-Mp12*QGvZ%w5)vLXaBI9Db%Z=c!8Iui($ME`o&;3&WgY&@~3e!tJvN)<#DwzK=OBC*52?ZE7FSb(pnz>MW@l zL04kkpcw!Jj(?Wq4HRlwMS>DA3jZqo# zB$$+txt=;^%gs3S|4~5xPAupLiAC`Mi!NF!66ctAQ%)krHfUf+>knFK;)(eVEnaOa zgiMm}X=kxhV%=f-G0khCH5o^^5~h{#XmPcz*T4%W2TQJ@oPDq~9_6w7j05$$0OR5; z{h{i-^!p{&Dyh_&B`qd59JlD-ul?Tt#^m3~q|R1C)6CVMQbXen$4aK6$EX6UWoUp0 zwqdr$652k>+T2wnh`qv8XL6zMKeWvf%!Im@95Y0Uxi2cti9r7U@Iv=*T?0r!!ce3` yP|`@MSvcn@naTFkL)%>8Kk4nici5oz`&Zh{r(f?VI+H+<&!-Oxk`>|x0sjv{d~x9b diff --git a/tgstation.dme b/tgstation.dme index 39baa1f4c1ab..df185d0a345c 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -2465,6 +2465,7 @@ #include "code\game\objects\effects\decals\turfdecal\dirt.dm" #include "code\game\objects\effects\decals\turfdecal\markings.dm" #include "code\game\objects\effects\decals\turfdecal\tilecoloring.dm" +#include "code\game\objects\effects\decals\turfdecal\weakpoint.dm" #include "code\game\objects\effects\decals\turfdecal\weather.dm" #include "code\game\objects\effects\effect_system\effect_system.dm" #include "code\game\objects\effects\effect_system\effects_explosion.dm" From 9c41248bd659c64246aa553f0cb8dbf23559a38b Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 21:12:51 +0000 Subject: [PATCH 194/271] Automatic changelog for PR #94839 [ci skip] --- html/changelogs/AutoChangeLog-pr-94839.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-94839.yml diff --git a/html/changelogs/AutoChangeLog-pr-94839.yml b/html/changelogs/AutoChangeLog-pr-94839.yml new file mode 100644 index 000000000000..4ce6b9d308ab --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-94839.yml @@ -0,0 +1,5 @@ +author: "ArcaneMusic" +delete-after: True +changes: + - rscadd: "Stations can now spawn with Structural weakpoints. If they're subject to an explosion, they'll crack open a tear in the station's turfs. If you spot one, make sure to weld it or seal it with sticky tape to fix one. Or not!" + - rscadd: "Adds a negative station trait that greatly increases the number of weakpoints that can spawn on station." \ No newline at end of file From 6afe0b6b338780a8885c5634ccd19711d769b864 Mon Sep 17 00:00:00 2001 From: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Date: Fri, 6 Feb 2026 23:32:47 +0100 Subject: [PATCH 195/271] [NO GBP] Fixes chemical foam not working (#95096) ## About The Pull Request Was missed in the review ## Changelog :cl: fix: Fixed chemical foam not working /:cl: --- code/__HELPERS/reagents.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__HELPERS/reagents.dm b/code/__HELPERS/reagents.dm index aff9e5b7c54c..d616bdbd5cb7 100644 --- a/code/__HELPERS/reagents.dm +++ b/code/__HELPERS/reagents.dm @@ -86,7 +86,7 @@ /datum/reagents/proc/create_foam(foamtype, foam_volume, result_type = null, notification = null, log = FALSE) var/location = get_turf(my_atom) - var/datum/effect_system/fluid_spread/foam/foam = new foamtype(location, null, foam_volume, my_atom, carry = src, result_type) + var/datum/effect_system/fluid_spread/foam/foam = new foamtype(location, null, foam_volume, my_atom, carry = src, result_type = result_type) foam.start(log = log) clear_reagents() From c65634ba2f6c3af8e472953fac0b95715d86271f Mon Sep 17 00:00:00 2001 From: Leland Kemble <70413276+lelandkemble@users.noreply.github.com> Date: Fri, 6 Feb 2026 17:33:01 -0500 Subject: [PATCH 196/271] Disables opening blast doors & shutters by riding into them (#95102) ## About The Pull Request Swaps the proc being called on doors in the riding component's `vehicle_bump()` proc from `bumpopen()` to `Bumped()`, causing relevant checks to be undergone, most importantly the check for `can_open_with_hands`. Due to the way vehicles are bumped by their drivers and thus cause their drivers' `last_bumped` to be set, the riding component now tracks its own `vehicle_last_bumped` & resets its occupants' `last_bumped` when bumping doors, given the vehicle is off bump cooldown. `vehicle/sealed` gets to keep `bumpopen()` because they give `TRAIT_HANDS_BLOCKED`, but they check for `can_open_with_hands` now. Additionally, just for consistency's sake, firelocks' previous `bumpopen()` override has been removed and replaced with `can_open_with_hands`. ## Why It's Good For The Game fixes #95100 ## Changelog :cl: fix: Blast doors & shutters no longer inexplicably open when approached on a mount /:cl: --- code/datums/components/riding/riding.dm | 10 +++++++--- code/game/machinery/doors/door.dm | 2 +- code/game/machinery/doors/firedoor.dm | 5 +---- code/modules/vehicles/sealed.dm | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/code/datums/components/riding/riding.dm b/code/datums/components/riding/riding.dm index f89557f0e2a7..8e5f1eab52f3 100644 --- a/code/datums/components/riding/riding.dm +++ b/code/datums/components/riding/riding.dm @@ -32,6 +32,8 @@ var/override_allow_spacemove = FALSE /// can anyone other than the rider unbuckle the rider? var/can_force_unbuckle = TRUE + /// Like last_bumped for mobs, but for vehicles. Exists to allow the door bump cooldown while also passing door openings through Bumped() + var/vehicle_last_bumped = 0 /** * Ride check flags defined for the specific riding component types, so we know if we need arms, legs, or whatever. @@ -270,10 +272,12 @@ /// So we can check all occupants when we bump a door to see if anyone has access /datum/component/riding/proc/vehicle_bump(atom/movable/movable_parent, obj/machinery/door/possible_bumped_door) SIGNAL_HANDLER - if(!istype(possible_bumped_door)) + if(!istype(possible_bumped_door) || world.time - vehicle_last_bumped <= 0.3 SECONDS) return - for(var/occupant in movable_parent.buckled_mobs) - INVOKE_ASYNC(possible_bumped_door, TYPE_PROC_REF(/obj/machinery/door/, bumpopen), occupant) + for(var/mob/living/occupant in movable_parent.buckled_mobs) + vehicle_last_bumped = world.time + occupant.last_bumped = 0 + INVOKE_ASYNC(possible_bumped_door, TYPE_PROC_REF(/atom, Bumped), occupant) /datum/component/riding/proc/Unbuckle(atom/movable/M) addtimer(CALLBACK(parent, TYPE_PROC_REF(/atom/movable/, unbuckle_mob), M), 0, TIMER_UNIQUE) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 2288eae191e9..48c7b78fbc88 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -63,7 +63,7 @@ /// Whether or not the door can crush mobs. var/can_crush = TRUE - /// Whether or not the door can be opened by hand (used for blast doors and shutters) + /// Whether or not the door can be opened by hand (used for blast doors, shutters & firelocks primarily) var/can_open_with_hands = TRUE /// Whether or not this door can be opened through a door remote, ever var/opens_with_door_remote = FALSE diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 7f4fffac25b1..ae6a3e002ee9 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -21,7 +21,7 @@ closingLayer = CLOSED_FIREDOOR_LAYER armor_type = /datum/armor/door_firedoor interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_REQUIRES_SILICON | INTERACT_MACHINE_OPEN - + can_open_with_hands = FALSE COOLDOWN_DECLARE(activation_cooldown) ///X offset for the overlay lights, so that they line up with the thin border firelocks @@ -472,9 +472,6 @@ return ..() return FALSE -/obj/machinery/door/firedoor/bumpopen(mob/living/user) - return FALSE //No bumping to open, not even in mechs - /obj/machinery/door/firedoor/proc/on_power_loss() SIGNAL_HANDLER diff --git a/code/modules/vehicles/sealed.dm b/code/modules/vehicles/sealed.dm index b1af55c67e9d..4b69d9907623 100644 --- a/code/modules/vehicles/sealed.dm +++ b/code/modules/vehicles/sealed.dm @@ -41,7 +41,7 @@ if(istype(A, /obj/machinery/door)) var/obj/machinery/door/conditionalwall = A for(var/mob/occupant as anything in return_controllers_with_flag(access_provider_flags)) - if(conditionalwall.try_safety_unlock(occupant)) + if(conditionalwall.try_safety_unlock(occupant) || !conditionalwall.can_open_with_hands) return conditionalwall.bumpopen(occupant) From 4be3f1e69289fb5e25b716ced8abf81bc0ddf908 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 22:33:07 +0000 Subject: [PATCH 197/271] Automatic changelog for PR #95096 [ci skip] --- html/changelogs/AutoChangeLog-pr-95096.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95096.yml diff --git a/html/changelogs/AutoChangeLog-pr-95096.yml b/html/changelogs/AutoChangeLog-pr-95096.yml new file mode 100644 index 000000000000..554a863bf082 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95096.yml @@ -0,0 +1,4 @@ +author: "SmArtKar" +delete-after: True +changes: + - bugfix: "Fixed chemical foam not working" \ No newline at end of file From 499d5a7327fa0522468cb580373e7e06480907c9 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 22:33:19 +0000 Subject: [PATCH 198/271] Automatic changelog for PR #95102 [ci skip] --- html/changelogs/AutoChangeLog-pr-95102.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95102.yml diff --git a/html/changelogs/AutoChangeLog-pr-95102.yml b/html/changelogs/AutoChangeLog-pr-95102.yml new file mode 100644 index 000000000000..e00e24853cbb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95102.yml @@ -0,0 +1,4 @@ +author: "lelandkemble" +delete-after: True +changes: + - bugfix: "Blast doors & shutters no longer inexplicably open when approached on a mount" \ No newline at end of file From 0d48db3539e017a7a1a37126fb768d197c4c870e Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Fri, 6 Feb 2026 18:26:28 -0500 Subject: [PATCH 199/271] Add note about potential sleep in load_tgs_info (#95087) See #95043 --- code/game/world.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/world.dm b/code/game/world.dm index b687b25256db..9a81e19d97f1 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -29,7 +29,7 @@ GLOBAL_VAR(restart_counter) * - config.Load() * - world.InitTgs() => * - TgsNew() *may sleep - * - GLOB.rev_data.load_tgs_info() + * - GLOB.rev_data.load_tgs_info() *may sleep * - world.ConfigLoaded() => * - SSdbcore.InitializeRound() * - world.SetupLogs() From bac06bd9d2747c01c8df51ba4757b43111a97b76 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Sat, 7 Feb 2026 00:15:22 +0000 Subject: [PATCH 200/271] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-94839.yml | 5 ----- html/changelogs/AutoChangeLog-pr-95096.yml | 4 ---- html/changelogs/AutoChangeLog-pr-95102.yml | 4 ---- html/changelogs/archive/2026-02.yml | 12 ++++++++++++ 4 files changed, 12 insertions(+), 13 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-94839.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-95096.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-95102.yml diff --git a/html/changelogs/AutoChangeLog-pr-94839.yml b/html/changelogs/AutoChangeLog-pr-94839.yml deleted file mode 100644 index 4ce6b9d308ab..000000000000 --- a/html/changelogs/AutoChangeLog-pr-94839.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "ArcaneMusic" -delete-after: True -changes: - - rscadd: "Stations can now spawn with Structural weakpoints. If they're subject to an explosion, they'll crack open a tear in the station's turfs. If you spot one, make sure to weld it or seal it with sticky tape to fix one. Or not!" - - rscadd: "Adds a negative station trait that greatly increases the number of weakpoints that can spawn on station." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-95096.yml b/html/changelogs/AutoChangeLog-pr-95096.yml deleted file mode 100644 index 554a863bf082..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95096.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SmArtKar" -delete-after: True -changes: - - bugfix: "Fixed chemical foam not working" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-95102.yml b/html/changelogs/AutoChangeLog-pr-95102.yml deleted file mode 100644 index e00e24853cbb..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95102.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "lelandkemble" -delete-after: True -changes: - - bugfix: "Blast doors & shutters no longer inexplicably open when approached on a mount" \ No newline at end of file diff --git a/html/changelogs/archive/2026-02.yml b/html/changelogs/archive/2026-02.yml index bcea0fe9b306..04b89222a18b 100644 --- a/html/changelogs/archive/2026-02.yml +++ b/html/changelogs/archive/2026-02.yml @@ -82,3 +82,15 @@ lelandkemble: - bugfix: the Space Furnace is now usable in rooms that have previously been breached, provided they have recovered enough air. +2026-02-07: + ArcaneMusic: + - rscadd: Stations can now spawn with Structural weakpoints. If they're subject + to an explosion, they'll crack open a tear in the station's turfs. If you spot + one, make sure to weld it or seal it with sticky tape to fix one. Or not! + - rscadd: Adds a negative station trait that greatly increases the number of weakpoints + that can spawn on station. + SmArtKar: + - bugfix: Fixed chemical foam not working + lelandkemble: + - bugfix: Blast doors & shutters no longer inexplicably open when approached on + a mount From 9fa8ac6170526a7d3ab0620a39de8c8a0a3a3162 Mon Sep 17 00:00:00 2001 From: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Date: Sat, 7 Feb 2026 16:55:36 -0500 Subject: [PATCH 201/271] New HoP accounting console sprite (#95092) --- icons/obj/devices/modular_laptop.dmi | Bin 33639 -> 35711 bytes icons/obj/devices/modular_pda.dmi | Bin 25261 -> 25458 bytes icons/obj/machines/computer.dmi | Bin 138547 -> 137453 bytes icons/obj/machines/modular_console.dmi | Bin 93878 -> 94610 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/devices/modular_laptop.dmi b/icons/obj/devices/modular_laptop.dmi index 1accc56f4c18853646ea39e2bdd5c857fdb79e55..82afd2d1aceeffb88d14f1e8e386c1e23f3df5b8 100644 GIT binary patch literal 35711 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 z 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 MC9{j=7n~pdA0BYO3;+NC literal 33639 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 M8ec2Ba{KZB0d&hPG5`Po diff --git a/icons/obj/devices/modular_pda.dmi b/icons/obj/devices/modular_pda.dmi index a427eb143ce1c7655525451eea80950f9ee9f6c3..c5610ccebe2b4480b86932482362d24140f4facd 100644 GIT binary patch literal 25458 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 I<9+u(0N7~_QUCw| literal 25261 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 A%K!iX delta 95549 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 z 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

8& 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%0DE)Wqf&W$jX`& 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 YjcX>49iP0vMP^2Nrhk`Qx&83J0KuP_UH||9 delta 6284 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 Qn@tUdS52;zUb27kAL5C~-2eap From 1bbb012a6553ccfcf80da1588ebf0b0c90414185 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Sat, 7 Feb 2026 21:56:06 +0000 Subject: [PATCH 202/271] Automatic changelog for PR #95092 [ci skip] --- html/changelogs/AutoChangeLog-pr-95092.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95092.yml diff --git a/html/changelogs/AutoChangeLog-pr-95092.yml b/html/changelogs/AutoChangeLog-pr-95092.yml new file mode 100644 index 000000000000..dbf4955afd00 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95092.yml @@ -0,0 +1,4 @@ +author: "Laikodaemon" +delete-after: True +changes: + - image: "HoP's Accounting console now has a new sprite." \ No newline at end of file From 5b88276e9f516a82c9d87fb25255ca60d052ef59 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Sun, 8 Feb 2026 00:00:26 +0000 Subject: [PATCH 203/271] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-95092.yml | 4 ---- html/changelogs/archive/2026-02.yml | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-95092.yml diff --git a/html/changelogs/AutoChangeLog-pr-95092.yml b/html/changelogs/AutoChangeLog-pr-95092.yml deleted file mode 100644 index dbf4955afd00..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95092.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Laikodaemon" -delete-after: True -changes: - - image: "HoP's Accounting console now has a new sprite." \ No newline at end of file diff --git a/html/changelogs/archive/2026-02.yml b/html/changelogs/archive/2026-02.yml index 04b89222a18b..2f1b9464ce46 100644 --- a/html/changelogs/archive/2026-02.yml +++ b/html/changelogs/archive/2026-02.yml @@ -94,3 +94,6 @@ lelandkemble: - bugfix: Blast doors & shutters no longer inexplicably open when approached on a mount +2026-02-08: + Laikodaemon: + - image: HoP's Accounting console now has a new sprite. From ea883deda7d8c8d141f0693f2db92b9ebdcad1c0 Mon Sep 17 00:00:00 2001 From: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Date: Sat, 7 Feb 2026 22:15:01 -0500 Subject: [PATCH 204/271] Decreases multitool credit cost, increases quantity from vending machines. (#95076) ## About The Pull Request Based on feedback from #94903, this PR decreases the cost of multitools from the youtool vendor, as well as increases the quantity available from the premium section from 2 to 4. The cost has been adjusted from 300 credits -> 150 credits each. This change is being atomized out of the linked PR above, but is otherwise relatively simple. ## Why It's Good For The Game To quote the previous PR this was atomized out of: > Multitools are considered to be standard job equipment for about 1/3 of the jobs on station, and the jobs that don't have multitools, assistants included, typically will make obtaining one part of their roundstart routine. It was looking into this that led me to learn that multitools are currently sitting at 300 credits, which, while expensive, just means that roundstart players are more tempted to just break into or ask cargo/engineering for a multitool instead of ever buying one, and for good reason. It's too good to pass up, especially when it's only one door or plastic flap away for most players. > So, to try and incentivize people to buy them from vendors over the alternative, I've decreased the price to be within the range for regular crew, but expensive enough for assistants so that they're encouraged to look for/make a few credits, or wait a moment or two before they jump into them. ## Changelog :cl: balance: Multitools cost has been decreased from youtool vendors, and their stock increased (150 credits, 4 stock). /:cl: --- code/game/objects/items/devices/multitool.dm | 7 +++++-- .../research/designs/autolathe/multi-department_designs.dm | 5 ++++- code/modules/vending/youtool.dm | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 626c42d65a44..6a3ec38c3da9 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -27,8 +27,11 @@ throw_speed = 3 drop_sound = 'sound/items/handling/tools/multitool_drop.ogg' pickup_sound = 'sound/items/handling/tools/multitool_pickup.ogg' - custom_materials = list(/datum/material/iron= SMALL_MATERIAL_AMOUNT * 0.5, /datum/material/glass= SMALL_MATERIAL_AMOUNT * 0.2) - custom_premium_price = PAYCHECK_COMMAND * 3 + custom_materials = list( + /datum/material/iron =SMALL_MATERIAL_AMOUNT * 0.5, + /datum/material/glass =SMALL_MATERIAL_AMOUNT * 0.2 + ) + custom_premium_price = PAYCHECK_CREW * 3 toolspeed = 1 usesound = 'sound/items/weapons/empty.ogg' var/datum/buffer // simple machine buffer for device linkage diff --git a/code/modules/research/designs/autolathe/multi-department_designs.dm b/code/modules/research/designs/autolathe/multi-department_designs.dm index bb7761c86fa1..bb6a1d478407 100644 --- a/code/modules/research/designs/autolathe/multi-department_designs.dm +++ b/code/modules/research/designs/autolathe/multi-department_designs.dm @@ -40,7 +40,10 @@ name = "Multitool" id = "multitool" build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron =SMALL_MATERIAL_AMOUNT*0.5, /datum/material/glass =SMALL_MATERIAL_AMOUNT*0.2) + materials = list( + /datum/material/iron =SMALL_MATERIAL_AMOUNT * 0.5, + /datum/material/glass =SMALL_MATERIAL_AMOUNT * 0.2 + ) build_path = /obj/item/multitool category = list( RND_CATEGORY_INITIAL, diff --git a/code/modules/vending/youtool.dm b/code/modules/vending/youtool.dm index 819ddbe22089..c339c2d687a9 100644 --- a/code/modules/vending/youtool.dm +++ b/code/modules/vending/youtool.dm @@ -24,7 +24,7 @@ ) premium = list( /obj/item/storage/belt/utility = 2, - /obj/item/multitool = 2, + /obj/item/multitool = 4, /obj/item/weldingtool/hugetank = 2, /obj/item/clothing/head/utility/welding = 2, /obj/item/clothing/gloves/color/yellow = 1, From 5e35d8c996fa26a07d066579e7ebc8fbfc813d52 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Sun, 8 Feb 2026 03:15:21 +0000 Subject: [PATCH 205/271] Automatic changelog for PR #95076 [ci skip] --- html/changelogs/AutoChangeLog-pr-95076.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95076.yml diff --git a/html/changelogs/AutoChangeLog-pr-95076.yml b/html/changelogs/AutoChangeLog-pr-95076.yml new file mode 100644 index 000000000000..985b767ffff0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95076.yml @@ -0,0 +1,4 @@ +author: "ArcaneMusic" +delete-after: True +changes: + - balance: "Multitools cost has been decreased from youtool vendors, and their stock increased (150 credits, 4 stock)." \ No newline at end of file From 8be6360a67edc2dc3e14136b6cf62b35f252b01c Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Sun, 8 Feb 2026 05:43:26 +0000 Subject: [PATCH 206/271] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-95076.yml | 4 ---- html/changelogs/archive/2026-02.yml | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-95076.yml diff --git a/html/changelogs/AutoChangeLog-pr-95076.yml b/html/changelogs/AutoChangeLog-pr-95076.yml deleted file mode 100644 index 985b767ffff0..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95076.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ArcaneMusic" -delete-after: True -changes: - - balance: "Multitools cost has been decreased from youtool vendors, and their stock increased (150 credits, 4 stock)." \ No newline at end of file diff --git a/html/changelogs/archive/2026-02.yml b/html/changelogs/archive/2026-02.yml index 2f1b9464ce46..7978022bb454 100644 --- a/html/changelogs/archive/2026-02.yml +++ b/html/changelogs/archive/2026-02.yml @@ -95,5 +95,8 @@ - bugfix: Blast doors & shutters no longer inexplicably open when approached on a mount 2026-02-08: + ArcaneMusic: + - balance: Multitools cost has been decreased from youtool vendors, and their stock + increased (150 credits, 4 stock). Laikodaemon: - image: HoP's Accounting console now has a new sprite. From e032193c2119e71b93bb895fc6f25772427a2399 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Sun, 8 Feb 2026 02:16:12 -0500 Subject: [PATCH 207/271] Fix HTML special characters in recorded chem dispenser recipes (#95108) ## About The Pull Request Fix this image ## Why It's Good For The Game Text encoding bug bad. Less bad = good. ## Changelog :cl: fix: Fixed encoding of special characters in chem dispenser recorded recipe names. /:cl: Co-authored-by: Jordan Dominion --- code/modules/reagents/chemistry/machinery/chem_dispenser.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 8a1bc7479b6e..e6cc4ebb86d5 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -375,7 +375,7 @@ if("save_recording") if(!is_operational) return - var/name = tgui_input_text(ui.user, "What do you want to name this recipe?", "Recipe Name", max_length = MAX_NAME_LEN) + var/name = tgui_input_text(ui.user, "What do you want to name this recipe?", "Recipe Name", max_length = MAX_NAME_LEN, encode = FALSE) if(!ui.user.can_perform_action(src, ALLOW_SILICON_REACH)) return if(saved_recipes[name] && tgui_alert(ui.user, "\"[name]\" already exists, do you want to overwrite it?",, list("Yes", "No")) == "No") From 861b3e99074ee12f05b24f8a0eabf41bff2a770f Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Sun, 8 Feb 2026 07:16:31 +0000 Subject: [PATCH 208/271] Automatic changelog for PR #95108 [ci skip] --- html/changelogs/AutoChangeLog-pr-95108.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95108.yml diff --git a/html/changelogs/AutoChangeLog-pr-95108.yml b/html/changelogs/AutoChangeLog-pr-95108.yml new file mode 100644 index 000000000000..80d1e5cda753 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95108.yml @@ -0,0 +1,4 @@ +author: "Cyberboss" +delete-after: True +changes: + - bugfix: "Fixed encoding of special characters in chem dispenser recorded recipe names." \ No newline at end of file From 6f9af69045467a0225fa0b61746a101d45ac31fa Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Sun, 8 Feb 2026 12:00:26 +0000 Subject: [PATCH 209/271] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-95108.yml | 4 ---- html/changelogs/archive/2026-02.yml | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-95108.yml diff --git a/html/changelogs/AutoChangeLog-pr-95108.yml b/html/changelogs/AutoChangeLog-pr-95108.yml deleted file mode 100644 index 80d1e5cda753..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95108.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Cyberboss" -delete-after: True -changes: - - bugfix: "Fixed encoding of special characters in chem dispenser recorded recipe names." \ No newline at end of file diff --git a/html/changelogs/archive/2026-02.yml b/html/changelogs/archive/2026-02.yml index 7978022bb454..22c8304a0e6b 100644 --- a/html/changelogs/archive/2026-02.yml +++ b/html/changelogs/archive/2026-02.yml @@ -98,5 +98,8 @@ ArcaneMusic: - balance: Multitools cost has been decreased from youtool vendors, and their stock increased (150 credits, 4 stock). + Cyberboss: + - bugfix: Fixed encoding of special characters in chem dispenser recorded recipe + names. Laikodaemon: - image: HoP's Accounting console now has a new sprite. From 218534473c3d341c7f418e6579417b5fb4e870bb Mon Sep 17 00:00:00 2001 From: Leland Kemble <70413276+lelandkemble@users.noreply.github.com> Date: Sun, 8 Feb 2026 16:42:21 -0500 Subject: [PATCH 210/271] You can fix up a deconstructed nuclear bomb (#95104) ## About The Pull Request Allows reconstruction of a deconstructed nuclear bomb, including placing the core back in. You can put the core back in with either a raw core(which is still unobtainable afaik) or the box. The box remains usable afterwards. The beer nuke's deconstruction has been slightly modified such that it no longer shows a glowing core inside of it, and is instead empty. The beer nuke can also now be given a transplant core, and will blow up like a real bomb if given a real core. Additionally, provides a message making explicit that you can't take out the nuke core bare. This also fixes a runtime in the beer nuke's deconstruction due to attempting to start processing a null core. This also fixes that nuke cores processing inside the bomb would not irradiate their surrounding area ## Why It's Good For The Game It makes sense. If you catch the guy what broke your nuke, you should be able to fix your nuke. I also think making the beer bomb into a real bomb is pretty funny. Probably closes #95101, because I assume not being able to take out the raw core is very intentional. ## Changelog :cl: add: You can now put a deconstructed nuclear bomb back together again fix: Nuclear bombs with exposed cores will again irradiate their surrounding area /:cl: --- code/game/objects/items/tools/theft_tools.dm | 4 +- .../equipment/nuclear_bomb/_nuclear_bomb.dm | 116 +++++++++++++----- .../equipment/nuclear_bomb/beer_nuke.dm | 8 +- 3 files changed, 94 insertions(+), 34 deletions(-) diff --git a/code/game/objects/items/tools/theft_tools.dm b/code/game/objects/items/tools/theft_tools.dm index b8dce57e7c3e..fae7befdff13 100644 --- a/code/game/objects/items/tools/theft_tools.dm +++ b/code/game/objects/items/tools/theft_tools.dm @@ -33,7 +33,7 @@ if(cooldown < world.time - 60) cooldown = world.time flick(pulseicon, src) - radiation_pulse(src, max_range = 2, threshold = RAD_EXTREME_INSULATION) + radiation_pulse(get_turf(src), max_range = 2, threshold = RAD_EXTREME_INSULATION) /obj/item/nuke_core/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] is rubbing [src] against [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!")) @@ -70,7 +70,7 @@ icon_state = "core_container_sealed" playsound(src, 'sound/items/deconstruct.ogg', 60, TRUE) if(ismob(loc)) - to_chat(loc, span_warning("[src] is permanently sealed, [core]'s radiation is contained.")) + to_chat(loc, span_warning("[src] is sealed, [core]'s radiation is contained.")) /obj/item/nuke_core_container/attackby(obj/item/nuke_core/core, mob/user) if(istype(core)) diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm index 10f92ce631d2..807f0e6e6905 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm @@ -124,10 +124,22 @@ GLOBAL_VAR(station_nuke_source) if(NUKESTATE_INTACT) if(istype(weapon, /obj/item/screwdriver/nuke)) to_chat(user, span_notice("You start removing [src]'s front panel's screws...")) - if(weapon.use_tool(src, user, 6 SECONDS, volume = 100)) - deconstruction_state = NUKESTATE_UNSCREWED - to_chat(user, span_notice("You remove the screws from [src]'s front panel.")) - update_appearance() + if(!weapon.use_tool(src, user, 6 SECONDS, volume = 100)) + return TRUE + deconstruction_state = NUKESTATE_UNSCREWED + to_chat(user, span_notice("You remove the screws from [src]'s front panel.")) + update_appearance() + return TRUE + + if(NUKESTATE_UNSCREWED) + if(istype(weapon, /obj/item/screwdriver/nuke)) + to_chat(user, span_notice("You start screwing [src]'s front panel back in...")) + if(!weapon.use_tool(src, user, 8 SECONDS, volume = 100)) + return TRUE + deconstruction_state = NUKESTATE_INTACT + to_chat(user, span_notice("You screw [src]'s front panel back into place.")) + deconstruction_state = NUKESTATE_INTACT + update_appearance() return TRUE if(NUKESTATE_PANEL_REMOVED) @@ -135,24 +147,26 @@ GLOBAL_VAR(station_nuke_source) if(!weapon.tool_start_check(user, amount = 1)) return TRUE to_chat(user, span_notice("You start cutting [src]'s inner plate...")) - if(weapon.use_tool(src, user, 8 SECONDS, volume=100)) - to_chat(user, span_notice("You cut [src]'s inner plate.")) - deconstruction_state = NUKESTATE_WELDED - update_appearance() + if(!weapon.use_tool(src, user, 8 SECONDS, volume=100)) + return TRUE + to_chat(user, span_notice("You cut [src]'s inner plate.")) + deconstruction_state = NUKESTATE_WELDED + update_appearance() return TRUE if(NUKESTATE_CORE_EXPOSED) if(istype(weapon, /obj/item/nuke_core_container)) var/obj/item/nuke_core_container/core_box = weapon to_chat(user, span_notice("You start loading the plutonium core into [core_box]...")) - if(do_after(user, 5 SECONDS, target = src, hidden = TRUE)) - if(core_box.load(core, user)) - to_chat(user, span_notice("You load the plutonium core into [core_box].")) - deconstruction_state = NUKESTATE_CORE_REMOVED - update_appearance() - core = null - else - to_chat(user, span_warning("You fail to load the plutonium core into [core_box]. [core_box] has already been used!")) + if(!do_after(user, 5 SECONDS, target = src, hidden = TRUE)) + return TRUE + if(core_box.load(core, user)) + to_chat(user, span_notice("You load the plutonium core into [core_box].")) + deconstruction_state = NUKESTATE_CORE_REMOVED + update_appearance() + core = null + else + to_chat(user, span_warning("You fail to load the plutonium core into [core_box]. [core_box] has already been used!")) return TRUE if(istype(weapon, /obj/item/stack/sheet/iron)) @@ -160,11 +174,37 @@ GLOBAL_VAR(station_nuke_source) return TRUE to_chat(user, span_notice("You begin repairing [src]'s inner metal plate...")) - if(weapon.use_tool(src, user, 10 SECONDS, amount = 20)) - to_chat(user, span_notice("You repair [src]'s inner metal plate. The radiation is contained.")) - deconstruction_state = NUKESTATE_PANEL_REMOVED - STOP_PROCESSING(SSobj, core) - update_appearance() + if(!weapon.use_tool(src, user, 10 SECONDS, amount = 20)) + return TRUE + to_chat(user, span_notice("You repair [src]'s inner metal plate. The radiation is contained.")) + deconstruction_state = NUKESTATE_PANEL_REMOVED + STOP_PROCESSING(SSobj, core) + update_appearance() + return TRUE + + if(NUKESTATE_CORE_REMOVED) + if(astype(weapon, /obj/item/nuke_core_container)?.core && !istype(weapon, /obj/item/nuke_core_container/supermatter)) + var/obj/item/nuke_core_container/core_box = weapon + to_chat(user, span_notice("You pry open [core_box] and begin placing [core_box.core] into [src]'s inner chamber...")) + if(!do_after(user, 15 SECONDS, src)) + return TRUE + core_box.core.forceMove(src) + core = core_box.core + to_chat(user, span_notice("You place [core_box.core] into [src]'s inner chamber.")) + deconstruction_state = NUKESTATE_CORE_EXPOSED + update_appearance() + core_box.icon_state = core_box::icon_state + core_box.core = null + return TRUE + if(istype(weapon, /obj/item/nuke_core) && !istype(weapon, /obj/item/nuke_core/supermatter_sliver)) + to_chat(user, span_notice("You begin placing [weapon] into [src]'s inner chamber...")) + if(!do_after(user, 6 SECONDS, src)) + return TRUE + weapon.forceMove(src) + core = weapon + to_chat(user, span_notice("You place [weapon] into [src]'s inner chamber.")) + deconstruction_state = NUKESTATE_CORE_EXPOSED + update_appearance() return TRUE return ..() @@ -173,22 +213,42 @@ GLOBAL_VAR(station_nuke_source) switch(deconstruction_state) if(NUKESTATE_UNSCREWED) to_chat(user, span_notice("You start removing [src]'s front panel...")) - if(tool.use_tool(src, user, 30, volume=100)) - to_chat(user, span_notice("You remove [src]'s front panel.")) - deconstruction_state = NUKESTATE_PANEL_REMOVED - update_appearance() + if(!tool.use_tool(src, user, 30, volume=100)) + return TRUE + to_chat(user, span_notice("You remove [src]'s front panel.")) + deconstruction_state = NUKESTATE_PANEL_REMOVED + update_appearance() return TRUE if(NUKESTATE_WELDED) to_chat(user, span_notice("You start prying off [src]'s inner plate...")) - if(tool.use_tool(src, user, 30, volume=100)) + if(!tool.use_tool(src, user, 30, volume=100)) + return TRUE + if(core) to_chat(user, span_notice("You pry off [src]'s inner plate. You can see the core's green glow!")) deconstruction_state = NUKESTATE_CORE_EXPOSED - update_appearance() START_PROCESSING(SSobj, core) + else + to_chat(user, span_notice("You pry off [src]'s inner plate. The inner chamber is empty, save for some beer stains.")) + deconstruction_state = NUKESTATE_CORE_REMOVED + update_appearance() + new /obj/item/stack/sheet/iron(loc, 15) + return TRUE + if(NUKESTATE_PANEL_REMOVED) + to_chat(user, span_notice("You start levering [src]'s inner panel back into place...")) + if(!tool.use_tool(src, user, 30, volume = 100)) + return TRUE + to_chat(user, span_notice("You lever [src]'s inner panel back into place.")) + deconstruction_state = NUKESTATE_UNSCREWED + update_appearance() return TRUE - return FALSE +/obj/machinery/nuclearbomb/attack_hand_secondary(mob/user, list/modifiers) + if(deconstruction_state != NUKESTATE_CORE_EXPOSED) + return ..() + to_chat(user, span_danger("You can't hold [core] with your bare hands!")) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + /obj/machinery/nuclearbomb/can_interact(mob/user) if(HAS_TRAIT(user, TRAIT_CAN_USE_NUKE)) return TRUE diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/beer_nuke.dm b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/beer_nuke.dm index 5f873c463b2c..66798ae798c6 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/beer_nuke.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/beer_nuke.dm @@ -32,13 +32,11 @@ weapon.interact_with_atom(keg, user) // redirect refillable containers to the keg, allowing them to be filled return TRUE // pretend we handled the attack, too. - if(istype(weapon, /obj/item/nuke_core_container)) - to_chat(user, span_notice("[src] has had its plutonium core removed as a part of being decommissioned.")) - return TRUE - return ..() /obj/machinery/nuclearbomb/beer/actually_explode() + if(core) + return ..() //Unblock roundend, we're not actually exploding. SSticker.roundend_check_paused = FALSE var/turf/bomb_location = get_turf(src) @@ -61,6 +59,8 @@ disarm_nuke() /obj/machinery/nuclearbomb/beer/really_actually_explode(detonation_status) + if(core) + return ..() //if it's always hooked in it'll override admin choices RegisterSignal(overflow_control, COMSIG_CREATED_ROUND_EVENT, PROC_REF(on_created_round_event)) disarm_nuke() From 1e5a8b7beb75f5d16fb46d5d7017065e670a287e Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Sun, 8 Feb 2026 21:42:43 +0000 Subject: [PATCH 211/271] Automatic changelog for PR #95104 [ci skip] --- html/changelogs/AutoChangeLog-pr-95104.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95104.yml diff --git a/html/changelogs/AutoChangeLog-pr-95104.yml b/html/changelogs/AutoChangeLog-pr-95104.yml new file mode 100644 index 000000000000..226cefbc8f0d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95104.yml @@ -0,0 +1,5 @@ +author: "lelandkemble" +delete-after: True +changes: + - rscadd: "You can now put a deconstructed nuclear bomb back together again" + - bugfix: "Nuclear bombs with exposed cores will again irradiate their surrounding area" \ No newline at end of file From 663ff1203650db395b7a91cee3d555c9e9853463 Mon Sep 17 00:00:00 2001 From: Leland Kemble <70413276+lelandkemble@users.noreply.github.com> Date: Sun, 8 Feb 2026 18:39:04 -0500 Subject: [PATCH 212/271] Secures catwalk's vault (#95105) ## About The Pull Request Catwalks vault does not have any access restrictions ## Why It's Good For The Game Woah ## Changelog :cl: map: Catwalks vault is now restricted access /:cl: --- _maps/map_files/CatwalkStation/CatwalkStation_2023.dmm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm b/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm index 9abcee17aa97..9cde40b8d1ad 100644 --- a/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm +++ b/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm @@ -20666,6 +20666,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/effect/landmark/navigate_destination/vault, +/obj/effect/mapping_helpers/airlock/access/all/supply/vault, /turf/open/floor/iron/dark, /area/station/command/vault) "fxH" = ( @@ -32494,6 +32495,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/supply/vault, /turf/open/floor/iron/dark, /area/station/command/vault) "iEH" = ( From 08b64094dbfa0b4b8e4a971b5c7623285c724e4e Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Sun, 8 Feb 2026 23:39:23 +0000 Subject: [PATCH 213/271] Automatic changelog for PR #95105 [ci skip] --- html/changelogs/AutoChangeLog-pr-95105.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95105.yml diff --git a/html/changelogs/AutoChangeLog-pr-95105.yml b/html/changelogs/AutoChangeLog-pr-95105.yml new file mode 100644 index 000000000000..3c41596f3076 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95105.yml @@ -0,0 +1,4 @@ +author: "lelandkemble" +delete-after: True +changes: + - map: "Catwalks vault is now restricted access" \ No newline at end of file From 74b00bac994719ef23c48205dee6ba067f9999ac Mon Sep 17 00:00:00 2001 From: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Date: Mon, 9 Feb 2026 00:47:28 +0100 Subject: [PATCH 214/271] Husk visuals now inherit their mob's blood color (#95106) ## About The Pull Request Makes lizard husks swampy green and ethereal husks bright neon green image Also futureproofed the blood-colored limb overlay element that skeleton limbs use to work fine if the limb didn't get assigned blood dna (while its still attached to the owner without being added by butchering) ## Why It's Good For The Game Preserves visual consistency ## Changelog :cl: image: Husk visuals now inherit their mob's blood color /:cl: --- code/datums/elements/blood_limb_overlay.dm | 10 ++++++---- .../mob/living/carbon/carbon_update_icons.dm | 5 +++++ code/modules/surgery/bodyparts/_bodyparts.dm | 5 +++++ .../screenshots/screenshot_husk_body.png | Bin 826 -> 844 bytes .../screenshot_husk_body_missing_limbs.png | Bin 788 -> 806 bytes icons/mob/human/bodyparts.dmi | Bin 52567 -> 60315 bytes icons/mob/human/species/monkey/bodyparts.dmi | Bin 2261 -> 5151 bytes 7 files changed, 16 insertions(+), 4 deletions(-) diff --git a/code/datums/elements/blood_limb_overlay.dm b/code/datums/elements/blood_limb_overlay.dm index 0738bc16b13b..3028d3f4754e 100644 --- a/code/datums/elements/blood_limb_overlay.dm +++ b/code/datums/elements/blood_limb_overlay.dm @@ -15,13 +15,14 @@ /datum/element/blood_limb_overlay/proc/on_limb_icon(obj/item/bodypart/source, list/limb_icons, dropped, mob/living/carbon/update_on) SIGNAL_HANDLER - if (!LAZYLEN(source.blood_dna_info) || source.is_invisible) + var/list/blood_dna_info = source.blood_dna_info || update_on?.get_blood_dna_list() + if (!LAZYLEN(blood_dna_info) || source.is_invisible) return var/image/limb = limb_icons[1] var/image/blood_visual = image(limb.icon, "[limb.icon_state]_blood", dir = (dropped ? SOUTH : null)) // We need to convert it to HSV and then adjust the colors to make them look brighter on the grayscale blood overlay - var/list/target_color = rgb2num(get_color_from_blood_list(source.blood_dna_info), COLORSPACE_HSV) + var/list/target_color = rgb2num(get_color_from_blood_list(blood_dna_info), COLORSPACE_HSV) blood_visual.color = rgb(target_color[1], ceil(target_color[2] * 0.4), clamp(ceil(target_color[3] * 1.33), 0, 100), space = COLORSPACE_HSV) limb.overlays += blood_visual if (!source.aux_zone) @@ -35,5 +36,6 @@ /datum/element/blood_limb_overlay/proc/on_icon_key(obj/item/bodypart/source, list/icon_keys) SIGNAL_HANDLER - if (LAZYLEN(source.blood_dna_info) && !source.is_invisible) - icon_keys += "-blood-[get_color_from_blood_list(source.blood_dna_info)]" + var/list/blood_dna_info = source.blood_dna_info || source.owner?.get_blood_dna_list() + if (LAZYLEN(blood_dna_info) && !source.is_invisible) + icon_keys += "-blood-[get_color_from_blood_list(blood_dna_info)]" diff --git a/code/modules/mob/living/carbon/carbon_update_icons.dm b/code/modules/mob/living/carbon/carbon_update_icons.dm index 8fd030d51b85..2a39bb6ab162 100644 --- a/code/modules/mob/living/carbon/carbon_update_icons.dm +++ b/code/modules/mob/living/carbon/carbon_update_icons.dm @@ -547,6 +547,11 @@ . += "[husk_type]" . += "-husk" . += "-[body_zone]" + var/list/blood_dna = blood_dna_info || owner?.get_blood_dna_list() + if (LAZYLEN(blood_dna)) + . += "-[get_color_from_blood_list(blood_dna)]" + else + . += "-[BLOOD_COLOR_RED]" if(ishuman(owner)) var/mob/living/carbon/human/human_owner = owner . += "-[human_owner.mob_height]" diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index d603e7c8c7ba..6d4b1546fc78 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -1399,6 +1399,11 @@ husk_blood.blend_mode = BLEND_INSET_OVERLAY husk_blood.dir = thing_to_husk.dir husk_blood.layer = thing_to_husk.layer + var/list/blood_dna = blood_dna_info || owner?.get_blood_dna_list() + if (LAZYLEN(blood_dna)) + husk_blood.color = get_color_from_blood_list(blood_dna) + else + husk_blood.color = BLOOD_COLOR_RED return husk_blood ///Add a bodypart overlay and call the appropriate update procs diff --git a/code/modules/unit_tests/screenshots/screenshot_husk_body.png b/code/modules/unit_tests/screenshots/screenshot_husk_body.png index b73b23559368076d56e1ff55fa0cc5d8f6958e5c..3a0b4ebffc6c305eace9494d1a67b5ac3cc5fe73 100644 GIT binary patch delta 694 zcmV;n0!jV42FwPKBrqpXOjJd{z`%ZddUXp6rlzKq4h~fa2%esuh=zq{WMGkzk7)`D zMF$642?-6hKK+qVfq!C2L_t(YiM^CdZ`wc*fOm7K9rXfE>9AT!`^jj5irvsVj zzQ}w~w$6M8`J~2*xReR{g}{1JaDw7}OD@sEzRyA~Q)rDsxYiF3bc08HAejn7^IL|s zku0KccVMDKRBXM?=>YIJkW7>}Di8S(2&v**}<&`E%j?{y}5O{8#s-qHI$ovsl-QBL}{e z*a$vQSnD-Rq1dd}fWo-NT)0AUm+Tq}UsyXr0$*O@U7WQ!6lnI4wxO`}@(9*I-4(}Y z!G}m7lY5!lj3ugzFhNBV>ppFQ6?EYlXn097^KgbVL6b$+mKQ@-)6E(Q3XiampN%k>;@Lb c_TLPD0CbM10culy(^b delta 676 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 literal 52567 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 XR;1ht9;Si40=lAk<5G_Loq+!hNxB3v diff --git a/icons/mob/human/species/monkey/bodyparts.dmi b/icons/mob/human/species/monkey/bodyparts.dmi index 9e95cbd0c72fc6c9797f58d96a3bba3df432e32c..9dba64eb7d357e47a6741afe897dc01d5f674bfc 100644 GIT binary patch literal 5151 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 Y$~c5!SoK%Ii63y`7i)_*=GX826RLeyTmS$7 literal 2261 zcmYjTc{tRI8vfZQ!dS+VVeBLclMq=3SsKe&vSuyGL9&Emm@G3XX+kN+lF*T4%_)q* z*fJp$uCm?H82d8WM&|1F+;i?9-}=YBSIY(B6umHdx0I~qUPzFG$0*6qxtL2%8FltM0e|M}Y~_F9x=%xu z=!g4FlCe`1>bjL$RpV`M+!B6Me8;!xq8B-?k+u{XecCMYY(yaGqVmBruuDoY@>$jE z8HGY_1X6GK3l=|D$*9287*&$Fv%7*@oQZAe(iTglsFQmFmX5dSMeUhgIGyZ@7?h)- zm!{q+ad7`Iq<+R)Z&(a`GB)9*E;zf{4me&fVrsL}oD8ms>xRig8s+oQNvB%#jc;g` zz0wB&9#3m?Q|H+HWkSZy2~}{a#Y=okS_XkUp1@MMq*y*t(Dl_o%Q1z@R9dDV50I$Z z#gjqr?Lcy5h^_;E@^e|^$E;0zd;7_AIm0~ZbeJT-1*NpcMf^ZhVLlZzE-)V?OuMHL z%l<Nwe>-SnU?)(5$=uFldL$Xa}H z@oF3&6YZNAb1R0#JvsoZi1*6A#>q}+=J1WY>zDyxZg_@9IqX25zWq))1&jd6{m&W7 zN1pP6m@Nfr#Aus{&M8K#QvE^3HJbP=&=GUhssekZ!H*&8pCDo$VmAL~x16p%NO(sgN>~C2v zdr^5lpU*Y*=lNU)F&3=wG2QXQ^n1lYx3P9Sd0pBo#U) zF|A7Io(DFr7ml>)tBKU{Qve#+U_TBuz(yX;osIm$4{I|8KR9lLwU~}|J!*H2ZTJS! z#o(!SUYBd464;boNb$GpO2C@jTfG@?Jh`TZ&?k0@6%I$MvX`#|(w-qmt&}n&BTKfk zzr_oIysfHTp5<4MKlN?x^*)5A;H{tcX!{F3s*sE`Y10*9EgooQ61vN{ zt0%=dF6$v}&<>T&vbwUnmik3dB=W772@`l?Qija z4TC~?sdNw_YN1~&r>h}@=l*WY3e>xwvY@95-}jh$J$CeX>gcdO5yJ0pgLZ3%9VCRB zC3?hLzLH-&1Ah-D2+Aduj!*mVu^P7X-h7sr45|o=rAyA)jiUW_(PIhE^Ak6OLItus z9SX-wX2)j}BB~?|+oYk|vC0Oremriw8i_OQ!lT-tj2Mhx2V2m-*R8775;Xn8?vEN8?WOmx}mdHg8HVN$D{i;wZqj z1gJq@T*8q_H5=yy1jYr=f$nQXv5MLB(u8x9?**Z&DEs6U;hl~&2yrv&|&QxVx zGM(iT7>*TfThY1Je3Vqzv$Yf5smrOk$LTTXX;|oOcB}g2WAx-{i7JzCyGr@G@zv+q zm;_qv38wEdZE+rt`@QHQn?ZdhJ{A*Lq5Y-nrEj1Ir1}Jn)hB#5{jI7keXvBH-dC&s zPqvZnn7$wk#GL)LcVW$5b!xTP>0{aIU*2RE@0B5WS*>gdA9Cu-6g+}V!*NiISr3Jx zF?eM^Ik@N5fKqir%kZW{tG)7ejs;rOmbv%{8`OQ2q-ozP0||&hefgv*p6S z2WaF-hSAQTO8wr02}>EXCrffa%ty;B+p3ca54?WrwdO}6c>lD#ZC1VKgsHencRzw9 z+IO%oFYazGIOt{62qs(TWBZuKf8i1hM!GemSN$(+X%+6Foo5(v7*-TodRD5gv$%PW zRnX!S4ki#pBgOk{Rr8Ix`U-}?hFMIX1=z{G8QqPYiOc|pW+CLh)~(g;nS(yI(T3Ip zKKX%ZCK@DsyQu*|K+B-qiO;>70H;qRrI?BOaHpX&!k`kd6uglH-7L0w`y~FXpSMve=hVt8IEfVk^8;UjWIJpv7NQa z@>0*!T_>oOhnL#ke-r#El=0SP1uC^7Gu89m^Wn|A3iav_dmE#>KaKhcfxN8-`P+6i zC)QHa>1RtKT}JEn>#F9IFAIZITnFTq1x&>k(d*Rt2f@0}I>%xLQE#aqnQ13{W{sUQ XG!NMCcn%*v5P-FXop}|)_s)L+vDhH2 From 6446ec967c9786f1fcc8cac01e361682a0323019 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Sun, 8 Feb 2026 23:47:46 +0000 Subject: [PATCH 215/271] Automatic changelog for PR #95106 [ci skip] --- html/changelogs/AutoChangeLog-pr-95106.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95106.yml diff --git a/html/changelogs/AutoChangeLog-pr-95106.yml b/html/changelogs/AutoChangeLog-pr-95106.yml new file mode 100644 index 000000000000..50b9db6b0afb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95106.yml @@ -0,0 +1,4 @@ +author: "SmArtKar" +delete-after: True +changes: + - image: "Husk visuals now inherit their mob's blood color" \ No newline at end of file From 86a5caf594b012d39aa392775e02385fe680092c Mon Sep 17 00:00:00 2001 From: Bloop <13398309+vinylspiders@users.noreply.github.com> Date: Sun, 8 Feb 2026 18:48:53 -0500 Subject: [PATCH 216/271] Lets sinks mount to floors (#95062) ## About The Pull Request That's all. The sprites clearly have a pedestal which is attached to the floor. They shouldn't behave as if they are free floating wash basins.

example: a barber shop StrongDMM_ahHbCymkjR
Also runs the UpdatePaths script so it can collapse some duplicate tiles which have been annoying me with diffs each time it's run. ## Why It's Good For The Game More mapping flexibility for bathrooms and medical spaces. ## Changelog :cl: code: sinks can be mounted to floors /:cl: --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> --- .../LavaRuins/lavaland_battle_site.dmm | 6 +----- _maps/RandomZLevels/heretic.dmm | 5 +---- code/datums/components/atom_mounted.dm | 4 ++-- .../objects/structures/plaques/static_plaques.dm | 2 +- .../objects/structures/water_structures/sink.dm | 16 +++++++--------- code/modules/power/lighting/light.dm | 2 +- 6 files changed, 13 insertions(+), 22 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_battle_site.dmm b/_maps/RandomRuins/LavaRuins/lavaland_battle_site.dmm index b2c263e7971d..ea41e728846f 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_battle_site.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_battle_site.dmm @@ -105,10 +105,6 @@ /obj/item/stack/sheet/sinew, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"L" = ( -/obj/effect/decal/cleanable/blood/drip, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "M" = ( /obj/structure/statue/bone/skull, /turf/open/misc/asteroid/basalt/lava_land_surface, @@ -253,7 +249,7 @@ I G G q -L +x G s g diff --git a/_maps/RandomZLevels/heretic.dmm b/_maps/RandomZLevels/heretic.dmm index ff8d5749d611..768ce5698b65 100644 --- a/_maps/RandomZLevels/heretic.dmm +++ b/_maps/RandomZLevels/heretic.dmm @@ -5808,9 +5808,6 @@ /obj/effect/spawner/random/food_or_drink/seed_rare, /turf/open/misc/grass/jungle/station, /area/awaymission/beach/heretic) -"EH" = ( -/turf/open/floor/pod/light, -/area/awaymission/beach/heretic) "EI" = ( /turf/open/water/beach, /area/awaymission/caves/heretic_laboratory_clean) @@ -42214,7 +42211,7 @@ wf wf wf bb -EH +BV gT wf wf diff --git a/code/datums/components/atom_mounted.dm b/code/datums/components/atom_mounted.dm index 1b58f2ec09ff..2d2cea36abff 100644 --- a/code/datums/components/atom_mounted.dm +++ b/code/datums/components/atom_mounted.dm @@ -113,7 +113,7 @@ return isclosedturf(target) /// Returns an list of object types we can mount on if the turf is unmountable -/obj/proc/get_moutable_objects() +/obj/proc/get_mountable_objects() PROTECTED_PROC(TRUE) SHOULD_BE_PURE(TRUE) RETURN_TYPE(/list/obj) @@ -156,7 +156,7 @@ if(is_mountable_turf(target)) attachable_atom = target //your usual wallmount else - var/list/obj/attachables = get_moutable_objects() + var/list/obj/attachables = get_mountable_objects() for(var/obj/attachable in target) if(is_type_in_list(attachable, attachables)) attachable_atom = attachable diff --git a/code/game/objects/structures/plaques/static_plaques.dm b/code/game/objects/structures/plaques/static_plaques.dm index 8d8dcade606d..3bb870c2088a 100644 --- a/code/game/objects/structures/plaques/static_plaques.dm +++ b/code/game/objects/structures/plaques/static_plaques.dm @@ -9,7 +9,7 @@ SET_PLANE_IMPLICIT(src, FLOOR_PLANE) layer = HIGH_TURF_LAYER -/obj/structure/plaque/static_plaque/get_moutable_objects() +/obj/structure/plaque/static_plaque/get_mountable_objects() return list() /obj/structure/plaque/static_plaque/find_and_mount_on_atom(mark_for_late_init, late_init) diff --git a/code/game/objects/structures/water_structures/sink.dm b/code/game/objects/structures/water_structures/sink.dm index 97d61f8b6b29..e07e9f338257 100644 --- a/code/game/objects/structures/water_structures/sink.dm +++ b/code/game/objects/structures/water_structures/sink.dm @@ -49,16 +49,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink, (-14)) if(has_water_reclaimer) new /obj/item/stock_parts/water_recycler(drop_location()) +/obj/structure/sink/is_mountable_turf(turf/target) + return !isgroundlessturf(target) + /obj/structure/sink/get_turfs_to_mount_on() - return list(get_step(src, REVERSE_DIR(dir))) - -/obj/structure/sink/get_moutable_objects() - var/static/list/sink_structures = null - if(isnull(sink_structures)) - sink_structures = list() - sink_structures += ..() - sink_structures += /obj/machinery/smartfridge //medbay sometimes have sinks attached to fridges - return sink_structures + return list(get_turf(src)) + +/obj/structure/sink/get_mountable_objects() + return list() /obj/structure/sink/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) . = NONE diff --git a/code/modules/power/lighting/light.dm b/code/modules/power/lighting/light.dm index 68c10d9c6c4c..aa2016c42897 100644 --- a/code/modules/power/lighting/light.dm +++ b/code/modules/power/lighting/light.dm @@ -757,7 +757,7 @@ /obj/machinery/light/floor/is_mountable_turf(turf/target) return !isgroundlessturf(target) -/obj/machinery/light/floor/get_moutable_objects() +/obj/machinery/light/floor/get_mountable_objects() var/static/list/attachables = list( /obj/structure/thermoplastic, /obj/structure/lattice/catwalk, From 4834c7747f675fc9109fe82c0639c83e30d5315c Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Sun, 8 Feb 2026 23:49:12 +0000 Subject: [PATCH 217/271] Automatic changelog for PR #95062 [ci skip] --- html/changelogs/AutoChangeLog-pr-95062.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95062.yml diff --git a/html/changelogs/AutoChangeLog-pr-95062.yml b/html/changelogs/AutoChangeLog-pr-95062.yml new file mode 100644 index 000000000000..75ba986127dc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95062.yml @@ -0,0 +1,4 @@ +author: "vinylspiders" +delete-after: True +changes: + - code_imp: "sinks can be mounted to floors" \ No newline at end of file From 44b98df815074177e397d7b5fe808c216cbfe336 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Sun, 8 Feb 2026 18:58:45 -0500 Subject: [PATCH 218/271] Fix right clicking a closet with an ID in hand toggling locks twice in one tick (#95112) `togglelock` is called in both tool_interact and attack_hand. Aborting on the first success here prevents the double toggle :cl: fix: Fixed right clicking a closet with an ID in hand toggling locks twice in one tick /:cl: Co-authored-by: Jordan Dominion --- code/game/objects/structures/crates_lockers/closets.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 793a2afa3c3a..4484ed1c6459 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -1133,7 +1133,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) /obj/structure/closet/proc/togglelock(mob/living/user, silent) if(!secure || broken) - return + return FALSE if(locked) //only apply checks while unlocking else allow anyone to lock it var/error_msg = "" @@ -1145,8 +1145,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) id_card = null req_access = list() req_one_access = null - togglelock(user, silent) - return + return togglelock(user, silent) if(!can_unlock(user, user.get_idcard(), registered_id)) error_msg = "not your locker!" else if(!can_unlock(user, user.get_idcard())) @@ -1154,7 +1153,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) if(error_msg) if(!silent) balloon_alert(user, error_msg) - return + return TRUE if(iscarbon(user)) add_fingerprint(user) @@ -1165,6 +1164,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) span_notice("You [locked ? "locked" : "unlocked"] [src]."), ) update_appearance() + return TRUE /// toggles the lock state of a closet /obj/structure/closet/proc/lock() From 1102336afe10f336cffc1136d13d9930a26857b8 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Sun, 8 Feb 2026 23:59:02 +0000 Subject: [PATCH 219/271] Automatic changelog for PR #95112 [ci skip] --- html/changelogs/AutoChangeLog-pr-95112.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-95112.yml diff --git a/html/changelogs/AutoChangeLog-pr-95112.yml b/html/changelogs/AutoChangeLog-pr-95112.yml new file mode 100644 index 000000000000..9459529fe20f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-95112.yml @@ -0,0 +1,4 @@ +author: "Cyberboss" +delete-after: True +changes: + - bugfix: "Fixed right clicking a closet with an ID in hand toggling locks twice in one tick" \ No newline at end of file From 0a24fd5d062b18a66e02f5a7810a2fce98d20819 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Mon, 9 Feb 2026 00:00:27 +0000 Subject: [PATCH 220/271] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-95062.yml | 4 ---- html/changelogs/AutoChangeLog-pr-95104.yml | 5 ----- html/changelogs/AutoChangeLog-pr-95105.yml | 4 ---- html/changelogs/AutoChangeLog-pr-95106.yml | 4 ---- html/changelogs/AutoChangeLog-pr-95112.yml | 4 ---- html/changelogs/archive/2026-02.yml | 13 +++++++++++++ 6 files changed, 13 insertions(+), 21 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-95062.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-95104.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-95105.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-95106.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-95112.yml diff --git a/html/changelogs/AutoChangeLog-pr-95062.yml b/html/changelogs/AutoChangeLog-pr-95062.yml deleted file mode 100644 index 75ba986127dc..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95062.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "vinylspiders" -delete-after: True -changes: - - code_imp: "sinks can be mounted to floors" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-95104.yml b/html/changelogs/AutoChangeLog-pr-95104.yml deleted file mode 100644 index 226cefbc8f0d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95104.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "lelandkemble" -delete-after: True -changes: - - rscadd: "You can now put a deconstructed nuclear bomb back together again" - - bugfix: "Nuclear bombs with exposed cores will again irradiate their surrounding area" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-95105.yml b/html/changelogs/AutoChangeLog-pr-95105.yml deleted file mode 100644 index 3c41596f3076..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95105.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "lelandkemble" -delete-after: True -changes: - - map: "Catwalks vault is now restricted access" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-95106.yml b/html/changelogs/AutoChangeLog-pr-95106.yml deleted file mode 100644 index 50b9db6b0afb..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95106.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SmArtKar" -delete-after: True -changes: - - image: "Husk visuals now inherit their mob's blood color" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-95112.yml b/html/changelogs/AutoChangeLog-pr-95112.yml deleted file mode 100644 index 9459529fe20f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-95112.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Cyberboss" -delete-after: True -changes: - - bugfix: "Fixed right clicking a closet with an ID in hand toggling locks twice in one tick" \ No newline at end of file diff --git a/html/changelogs/archive/2026-02.yml b/html/changelogs/archive/2026-02.yml index 22c8304a0e6b..b1cf0e74f935 100644 --- a/html/changelogs/archive/2026-02.yml +++ b/html/changelogs/archive/2026-02.yml @@ -103,3 +103,16 @@ names. Laikodaemon: - image: HoP's Accounting console now has a new sprite. +2026-02-09: + Cyberboss: + - bugfix: Fixed right clicking a closet with an ID in hand toggling locks twice + in one tick + SmArtKar: + - image: Husk visuals now inherit their mob's blood color + lelandkemble: + - rscadd: You can now put a deconstructed nuclear bomb back together again + - bugfix: Nuclear bombs with exposed cores will again irradiate their surrounding + area + - map: Catwalks vault is now restricted access + vinylspiders: + - code_imp: sinks can be mounted to floors From c5d5cb0afe73927ae4ef62976cf9fb8ee8e55249 Mon Sep 17 00:00:00 2001 From: FalloutFalcon Date: Mon, 9 Feb 2026 08:49:00 -0600 Subject: [PATCH 221/271] compile fixes for TG Pull 2/9/2026 --- code/__DEFINES/subsystems.dm | 2 +- code/_globalvars/traits/_traits.dm | 2 +- .../structures/water_structures/sink.dm | 2 +- .../power/lighting/light_mapping_helpers.dm | 3 +-- .../modules/drugs/code/weed/bong.dm | 12 ++---------- .../modules/electricity/code/fusebox.dm | 3 +-- .../modules/electricity/code/generator.dm | 3 +-- .../powers/code/discipline/dementation.dm | 2 +- .../discipline/thaumaturgy/paths/levinbolt.dm | 18 ++++++------------ 9 files changed, 15 insertions(+), 32 deletions(-) diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 01d1ee8b30f0..739dfd190677 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -20,7 +20,7 @@ * * make sure you add an update to the schema_version stable in the db changelog */ -#define DB_MINOR_VERSION 34 +#define DB_MINOR_VERSION 35 // DARKPACK EDIT CHANGE //! ## Timing subsystem diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index dc5a248bc798..4b30fcfba89b 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -141,7 +141,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "STATION_TRAIT_INFESTATION" = STATION_TRAIT_INFESTATION, "STATION_TRAIT_PEST_CONTROL" = STATION_TRAIT_PEST_CONTROL, "STATION_TRAIT_STRAY_MIGRATION" = STATION_TRAIT_STRAY_MIGRATION, - "STATION_TRAIT_COSPLAY_CONVENTION" = STATION_TRAIT_COSPLAY_CONVENTION // DARKPACK EDIT ADD END + "STATION_TRAIT_COSPLAY_CONVENTION" = STATION_TRAIT_COSPLAY_CONVENTION, // DARKPACK EDIT ADD END "STATION_TRAIT_SPAWN_WEAKPOINTS" = STATION_TRAIT_SPAWN_WEAKPOINTS, ), /datum/deathmatch_lobby = list( diff --git a/code/game/objects/structures/water_structures/sink.dm b/code/game/objects/structures/water_structures/sink.dm index 552f448679e7..480dda2a6a38 100644 --- a/code/game/objects/structures/water_structures/sink.dm +++ b/code/game/objects/structures/water_structures/sink.dm @@ -275,7 +275,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink/kitchen, (-16)) /obj/structure/sink/basin icon_state = "basin" pixel_z = 0 - pixel_shift = 0 + // pixel_shift = 0 MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink/basin, (0)) // DARKPACK EDIT ADD END diff --git a/code/modules/power/lighting/light_mapping_helpers.dm b/code/modules/power/lighting/light_mapping_helpers.dm index 460e096f1b12..89a99bd91677 100644 --- a/code/modules/power/lighting/light_mapping_helpers.dm +++ b/code/modules/power/lighting/light_mapping_helpers.dm @@ -126,8 +126,7 @@ if(ishuman(arrived)) var/mob/living/L = arrived if(L.client) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, get_turf(src)) + var/datum/effect_system/basic/spark_spread/s = new(get_turf(src), 5, 1) s.start() playsound(loc, 'modular_darkpack/modules/electricity/sounds/generator_break.ogg', 100, TRUE) qdel(src) diff --git a/modular_darkpack/modules/drugs/code/weed/bong.dm b/modular_darkpack/modules/drugs/code/weed/bong.dm index 401cf1f0609f..7c220a70056e 100644 --- a/modular_darkpack/modules/drugs/code/weed/bong.dm +++ b/modular_darkpack/modules/drugs/code/weed/bong.dm @@ -115,16 +115,8 @@ name = "lit [initial(name)]" set_light_on(TRUE) - if(reagents.get_reagent_amount(/datum/reagent/toxin/plasma)) // the plasma explodes when exposed to fire - var/datum/effect_system/reagents_explosion/explosion = new() - explosion.set_up(round(reagents.get_reagent_amount(/datum/reagent/toxin/plasma) * 0.4, 1), get_turf(src), 0, 0) - explosion.start() - qdel(src) - return - if(reagents.get_reagent_amount(/datum/reagent/fuel)) // the fuel explodes, too, but much less violently - var/datum/effect_system/reagents_explosion/explosion = new() - explosion.set_up(round(reagents.get_reagent_amount(/datum/reagent/fuel) * 0.2, 1), get_turf(src), 0, 0) - explosion.start() + if(reagents.spark_act(0, NONE, list()) & SPARK_ACT_DESTRUCTIVE) + usr?.log_message("lit a rigged bong", LOG_VICTIM) qdel(src) return diff --git a/modular_darkpack/modules/electricity/code/fusebox.dm b/modular_darkpack/modules/electricity/code/fusebox.dm index ec09bb1e89df..b3be1b9c4a0e 100644 --- a/modular_darkpack/modules/electricity/code/fusebox.dm +++ b/modular_darkpack/modules/electricity/code/fusebox.dm @@ -42,8 +42,7 @@ power_area.power_environ = FALSE power_area.power_change() power_area.fire_controled = FALSE - var/datum/effect_system/spark_spread/local_spark = new /datum/effect_system/spark_spread - local_spark.set_up(5, 1, get_turf(src)) + var/datum/effect_system/basic/spark_spread/local_spark = new(get_turf(src), 5, 1) local_spark.start() for(var/obj/machinery/light/L in power_area) L.update(FALSE) diff --git a/modular_darkpack/modules/electricity/code/generator.dm b/modular_darkpack/modules/electricity/code/generator.dm index ab33b51571f0..7d14464bf6f9 100644 --- a/modular_darkpack/modules/electricity/code/generator.dm +++ b/modular_darkpack/modules/electricity/code/generator.dm @@ -57,8 +57,7 @@ SEND_SOUND(M, 'modular_darkpack/modules/electricity/sounds/generator_shutdown.ogg') A.requires_power = TRUE A.fire_controled = FALSE - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, get_turf(src)) + var/datum/effect_system/basic/spark_spread/s = new(get_turf(src), 5, 1) s.start() for(var/obj/machinery/light/L in A) L.on = FALSE diff --git a/modular_darkpack/modules/powers/code/discipline/dementation.dm b/modular_darkpack/modules/powers/code/discipline/dementation.dm index 258c1126f48a..017a2a0b8638 100644 --- a/modular_darkpack/modules/powers/code/discipline/dementation.dm +++ b/modular_darkpack/modules/powers/code/discipline/dementation.dm @@ -377,7 +377,7 @@ frenzy or Rötschreck response is automatic. owner.say(attack_text, spans = list("bold", "singing")) var/list/potential_targets = list() for(var/mob/living/carbon/human/hearer in (get_hearers_in_view(8, owner) - owner)) - if(!hearer.can_hear() || hearer.stat > CONSCIOUS) + if(!HAS_TRAIT(hearer, TRAIT_DEAF) || hearer.stat > CONSCIOUS) continue potential_targets += hearer var/targets_affected = 0 diff --git a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/paths/levinbolt.dm b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/paths/levinbolt.dm index 4db40e6ac7af..edb5f7e8bbfa 100644 --- a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/paths/levinbolt.dm +++ b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/paths/levinbolt.dm @@ -84,8 +84,7 @@ disabled_any = TRUE if(disabled_any) - var/datum/effect_system/spark_spread/spark_system = new - spark_system.set_up(5, 1, get_turf(human_target)) + var/datum/effect_system/basic/spark_spread/spark_system = new(get_turf(human_target), 5, 1) spark_system.start() return TRUE @@ -95,8 +94,7 @@ cargo_comp.locked = !cargo_comp.locked // sparks - var/datum/effect_system/spark_spread/spark_system = new - spark_system.set_up(3, 1, get_turf(target)) + var/datum/effect_system/basic/spark_spread/spark_system = new(get_turf(target), 3, 1) spark_system.start() playsound(target, 'sound/effects/sparks/sparks4.ogg', 50, TRUE) @@ -111,8 +109,7 @@ fuse.damaged += 101 fuse.check_damage(owner, TRUE) - var/datum/effect_system/spark_spread/spark_system = new - spark_system.set_up(5, 1, get_turf(target)) + var/datum/effect_system/basic/spark_spread/spark_system = new(get_turf(target), 5, 1) spark_system.start() playsound(target, 'sound/effects/sparks/sparks2.ogg', 75, TRUE) @@ -434,8 +431,7 @@ if(!owner) return - var/datum/effect_system/spark_spread/spark_system = new - spark_system.set_up(rand(3,7), 1, get_turf(owner)) + var/datum/effect_system/basic/spark_spread/spark_system = new(get_turf(owner), rand(3,7), 1) spark_system.start() if(prob(50)) @@ -467,8 +463,7 @@ target.Stun(1 SECONDS) target.visible_message(span_warning("[target] convulses from the electrical shock!")) - var/datum/effect_system/spark_spread/spark_system = new - spark_system.set_up(8, 1, get_turf(target)) + var/datum/effect_system/basic/spark_spread/spark_system = new(get_turf(target), 8, 1) spark_system.start() owner.visible_message(span_danger("Lightning arcs from [owner] to [target]!")) @@ -486,8 +481,7 @@ addtimer(CALLBACK(attacker, TYPE_PROC_REF(/mob, emote), "scream"), 1) attacker.Stun(4 SECONDS) attacker.electrocute_act(rand(10,20), owner, siemens_coeff = 1, flags = NONE) - var/datum/effect_system/spark_spread/spark_system = new - spark_system.set_up(5, 1, get_turf(attacker)) + var/datum/effect_system/basic/spark_spread/spark_system = new(get_turf(attacker), 5, 1) spark_system.start() playsound(attacker, 'sound/effects/sparks/sparks4.ogg', 60, TRUE) From 3824e992791a12405a9d0ff811e6bf8b3599f5c2 Mon Sep 17 00:00:00 2001 From: FalloutFalcon Date: Mon, 9 Feb 2026 09:45:45 -0600 Subject: [PATCH 222/271] fixing husk screenshot diffs TG Pull 2/9/2026 --- .../screenshots/screenshot_husk_body.png | Bin 857 -> 868 bytes .../screenshot_husk_body_missing_limbs.png | Bin 804 -> 811 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/code/modules/unit_tests/screenshots/screenshot_husk_body.png b/code/modules/unit_tests/screenshots/screenshot_husk_body.png index f695cacac7bd22b9f2b2e5863db8c71f7e393ba8..2ebf1d5ef18108b6b07245550fd273e43db73d89 100644 GIT binary patch delta 719 zcmV;=0x3 zo}QgW2M2|Nf?Ej*c64!rfq*^1gzu4Efq!mEL_t(oh259olG`8*ge@T~_u^jq{!iPL z>`OBREuHDVBa@6L3m*ar32)nXYa;T0x;AA!R=R1&$B5qc-fLX|0Aa7@5NoaJZlw)k z;FAvG0s?+Z6I^yRaiT}7^&~8GI^IkyzqQ`*DfL{SnPiyBkiB|k|TKnt>moqxgnrnCU{#hLt z_{LndK29*v-F5K58^EVA@CT5-B7iFxYJmO|Kx=?$24M+E3+p8=P1MdU-26HawFRnt ziTVX7y!_f^Eymvm4FNkNApGtnnoS9afHX1NR8OJQzfF_H1z@FH-w`cje1G3}Qr?l; z_r@*=NEdt5_Zkp&hfHBvd&=6lZFl0YrU(P0eA4=lXtTZ2)v^N#qsYrFVT4+qwaduJ z+GK(#UBnAfH`pGk^gqXa@t> z+Jb`s@}kB=S;e09X$YNoG5xrhLFYx~jX(l*yH48*uy`M!2Ch4xzVfo=d52&V$O^D} z0w^Q6)0eW`qfQ8Z-ysMft_Tcp-67uFZ}}b&nDFR`D*ylh00>D%PDHLkV1kP~ BQ*HnN delta 707 zcmV;!0zCcX2H6IXBsnlpOjJd{z`&A`kYWG;rlzKTe0q}r0AyfYk&%yxhJ{fm0G^(m z8yg#igMvIB0Cse7gMolU`X$qmV1a*TNklvH2D4297Jxs5m3_kY_x5>A>~ zkmyYRm0ZT-gFgfkNN(-7H6r?%&caoXovz&R(LxvQJ=X~Uv~&zo5nT@5~n@y&GVVWHDYpM2rBq61T0&48gJ)Z=ObSjTN8^7-RR z{_ijV?9cmEp8=Q|02}~4rd3k;z|?5~Y!OaAZMWdl0mto_0jj6F+pE0nMzPg6)5JS2^1vT5;=Cx%+lMz4NLWcVp}KY`efWYFunLm}q7^ zdEgCT%NY0qgs%#~2!vu>0byZ2#jT0lYYUr=4Ut>GTu+gofW*tMMdsxB zYoj4xR|JILHAU4W0TB=;MqBD3r24OEv?%~~x+1ssq6fL2r*}Wvr7C|AyngWfo&%x) z$cNC#J!x)i?K=3gAvCgIm7hJz@LfkL8f$bY!pP6%>cDU{-D|^0KedYiJarXb@Vrs2 zk*_l6McD8XOvt@(RTycBf>p+eRh)S)!jG8=e%zIQjyUlwngMVk!A-@P2kWUi^H8GT zw5b4$+*DYAXT3zI5(j^k05^dFcw{<6IPy^eyvDGS@}{H pYt##ZT{T1j@DiZ{j2hy-{R4ZJ4;}P>#v1?t002ovPDHLkV1k=5N3 zo}QgW2M2|Nf?Ej*c64!rfq*^1gzu4EfqykgL_t(oh256jZo@DLg~N|cwr1_#|7mw{ zx++q_ai!hOReRAxJ`=EkW%+MQME<6$DYKaAt_>e2y7ks-T>t=~S9^$?nRYLI5C@+a zNC*h{EnNud>JmiHRqKN=(dqN<;^SNEhEJ(SzMzcPywvmQTw;Y2VXt+yhwn=MRDS?{ zKCU8X0?xoouK;f8M3~1FK%kEpK)(hc#ya+o@Dl;dh!G&I^DqoF6LoeW#=l}X>IC2- z`Tj6H#c2m0`{+T899_jM~h(0>*h?OvxDuc0gpIAgggeaW*BAl@AS z)m0c-cmqJPz`Q#c5df=)ZvcW8)FVKP=h;O&0B{;E34t^6P7wJ~`3FlT1Her8*0m7} zX}y#7j@sXi4G1U~J^OnN$i73i@RoJI?2XU5UT={OX8WZ5A9dAxrK=AEa(|4nF0+D> zYT4L!Ct1}VH_6Blwq)O6G0G_Cl`CZ#QNC!+FN1x;s0<{#vzG0DlrzNyP>yl2Z&1I( zI48m8gA6jOdGKDM&I2SxwP670%md9SkJbIr{0RWtqd{vtYJeh<4+8LM delta 654 zcmV;90&)GT2BZd%BsnlpOjJd{z`&A`kYWG;rlzKTe0q}r0AyfYk&%yxhJ{fm0G^(m z8yg#igMvIB0Cse7gMolU`X$qmV1a)zNklrV4fVVM91by_7pf*j~BxPm-{0u>f7T3pB7KPpw(+$;@r(;qj4g~_qsYG4up@6z@LBH-R#W3 z8hGIyK@2*PBl3#CfL9EFUlT9~b$(`?7{HlX0TOvC181VnE@b^`C}l+uW_*8`p5k;6 zIQL5eFM`-kd5G}`p|L4}eUV_hZD)cAUWG4ShMvG}H-`te+lk=zHxh~5@ofqAf$MmW zu`d_Zil6ovcV73s^}yHkThOiNkmA0lh|ilFfW3c?q-?0~1m5gd7wwGz)o{s>sF6>Cs7vJ+ESm^`86KFetFSQQ{dh<3 zrvT^$0`&vudrwdTpg#f*ayaz_&&J;!K?gZL<@`rqy{ Date: Mon, 9 Feb 2026 15:44:31 -0600 Subject: [PATCH 223/271] Improvments to destruction behavoir and other things of gates (#631) ## About The Pull Request Doing work on totems, I realized we needed a more generic way to say "we have atom integ but please dont acctually destroy us". See fuseboxes, totems, and the gate. Where we dont have ways to replace them ingame nor should we allow it to be broken. Also took the time to add a quaint little graveyard in runtime town. The zombies already only bother you if you spawn as a gravekeeper so its useful to have. Made a rapidly spawning grave so you dont have to wait as well. image ## Why It's Good For The Game Much less snow-flaking required to achieve the desired behavior ## Changelog :cl: fix: tiles next to the graveyard gate are made dense automaticly refactor: Gravekeeper gate should behavior more consistently in line with atom integrity /:cl: --------- Co-authored-by: XeonMations <62395746+XeonMations@users.noreply.github.com> --- _maps/map_files/Vampire/runtimetown.dmm | 349 +++++++++++++----- code/game/atom/atom_defense.dm | 10 +- code/game/objects/obj_defense.dm | 4 + .../modules/graveyard/code/graveyard.dm | 85 ++--- 4 files changed, 307 insertions(+), 141 deletions(-) diff --git a/_maps/map_files/Vampire/runtimetown.dmm b/_maps/map_files/Vampire/runtimetown.dmm index 4701ff550db0..6186e07c76d7 100644 --- a/_maps/map_files/Vampire/runtimetown.dmm +++ b/_maps/map_files/Vampire/runtimetown.dmm @@ -48,6 +48,9 @@ /obj/structure/roadsign/crosswalk, /turf/open/floor/plating/sidewalk/poor, /area/vtm/outside/pacificheights) +"bx" = ( +/turf/closed/wall/vampwall/brick, +/area/vtm/graveyard/interior) "bB" = ( /obj/structure/chair/wood/darkpack/red, /turf/open/floor/plating/rough, @@ -154,6 +157,14 @@ /obj/structure/lattice/grate, /turf/open/openspace, /area/vtm/outside/pacificheights) +"dd" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/engineering/toolbox{ + pixel_x = 2; + pixel_y = 2 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "di" = ( /obj/structure/lattice/grate, /turf/open/openspace, @@ -182,6 +193,12 @@ /obj/structure/railing/corner, /turf/open/floor/plating/canal, /area/vtm/outside/pacificheights) +"ed" = ( +/obj/structure/vampfence/rich{ + dir = 4 + }, +/turf/open/misc/dirt, +/area/vtm/graveyard) "ef" = ( /obj/structure/roofstuff/vent_end{ dir = 4 @@ -466,6 +483,22 @@ }, /turf/open/floor/plating/elevatorshaft, /area/vtm/outside/pacificheights) +"jG" = ( +/obj/structure/table/wood, +/obj/item/shovel/vamp{ + pixel_x = 2; + pixel_y = 1 + }, +/obj/item/shovel/vamp{ + pixel_x = -4; + pixel_y = 7 + }, +/obj/item/melee/vamp/tire{ + pixel_x = 1; + pixel_y = 14 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "jK" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -539,6 +572,19 @@ }, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"ll" = ( +/obj/machinery/light/dim/directional/east, +/obj/effect/spawner/random/decoration/flower, +/turf/open/misc/dirt, +/area/vtm/graveyard) +"lm" = ( +/obj/vampgrave{ + spawn_interval = 300; + max_zombies_per_grave = 1; + name = "upturned grave" + }, +/turf/open/misc/dirt, +/area/vtm/graveyard) "ln" = ( /obj/item/kirbyplants/darkpack/random{ pixel_x = -7; @@ -550,6 +596,18 @@ }, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"lx" = ( +/obj/structure/table/wood, +/obj/item/ammo_box/darkpack/c12g{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/ammo_box/darkpack/c12g{ + pixel_x = -6; + pixel_y = 11 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "lM" = ( /obj/effect/decal/cleanable/trash, /obj/effect/spawner/random/occult/artifact, @@ -582,6 +640,10 @@ /obj/structure/barrels/rand, /turf/open/misc/dirt, /area/vtm/outside/supply) +"mt" = ( +/obj/structure/vampfence/rich, +/turf/open/misc/dirt, +/area/vtm/graveyard) "mw" = ( /obj/structure/ladder/manhole/up, /turf/open/misc/beach/vamp, @@ -1032,6 +1094,14 @@ }, /turf/open/floor/iron/smooth_large, /area/vtm/outside/pacificheights) +"uo" = ( +/obj/structure/table/wood, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -4; + pixel_y = 14 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "ut" = ( /obj/structure/chair/comfy/darkpack/green{ dir = 1 @@ -1105,6 +1175,10 @@ /mob/living/carbon/human/npc/shop, /turf/open/floor/city/toilet, /area/vtm/interior/shop) +"vF" = ( +/obj/structure/vampfence/corner/rich, +/turf/open/misc/dirt, +/area/vtm/graveyard) "vH" = ( /obj/structure/sign/city/police_department/directional/north{ icon_state = "police3" @@ -1143,6 +1217,12 @@ /obj/effect/decal/cleanable/trash, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"wP" = ( +/obj/structure/vampfence/corner/rich{ + dir = 8 + }, +/turf/open/misc/dirt, +/area/vtm/graveyard) "xc" = ( /obj/weapon_showcase, /turf/open/floor/wood/smooth/old, @@ -1189,6 +1269,10 @@ /obj/item/gun/ballistic/automatic/darkpack/thompson, /turf/open/floor/plating/rough, /area/vtm/interior/anarch) +"xV" = ( +/obj/structure/table/wood, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "xZ" = ( /obj/machinery/light/floor, /turf/open/floor/plating/rough, @@ -1253,6 +1337,10 @@ }, /turf/open/floor/plating/asphalt, /area/vtm/outside/pacificheights) +"zq" = ( +/obj/structure/platform/lowwall/brick/window/reinforced, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "zv" = ( /mob/living/carbon/human/npc/shop, /obj/machinery/light/directional/north, @@ -1299,6 +1387,14 @@ }, /turf/open/floor/plating/asphalt, /area/vtm/outside/pacificheights) +"An" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/bureaucracy/paper{ + pixel_x = 7; + pixel_y = -2 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "AE" = ( /obj/structure/bookcase/random/adult, /turf/open/floor/plating/concrete, @@ -1312,6 +1408,9 @@ }, /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) +"Bb" = ( +/turf/open/misc/dirt, +/area/vtm/graveyard) "Be" = ( /obj/structure/vampdoor/simple, /obj/effect/mapping_helpers/door/access/supply, @@ -1325,6 +1424,13 @@ }, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"Bi" = ( +/obj/structure/vampdoor/wood{ + dir = 1 + }, +/obj/effect/mapping_helpers/door/access/graveyard, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "Bp" = ( /obj/structure/vampdoor, /turf/open/floor/city/toilet, @@ -1349,6 +1455,9 @@ /obj/structure/barrels/rand, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"Bv" = ( +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "Bw" = ( /obj/structure/transport/linear/public, /obj/machinery/elevator_control_panel/directional/north{ @@ -1361,6 +1470,10 @@ /mob/living/carbon/human/npc/shop, /turf/open/floor/plating/concrete, /area/vtm/interior/shop) +"BM" = ( +/obj/structure/vampgate, +/turf/open/misc/dirt, +/area/vtm/graveyard) "BQ" = ( /obj/structure/closet/crate/bin, /turf/open/floor/plating/rough, @@ -1432,6 +1545,10 @@ }, /turf/open/floor/plating/sidewalk/poor, /area/vtm/outside/pacificheights) +"Dk" = ( +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "Dp" = ( /obj/structure/table, /obj/item/storage/medkit/darkpack/oxy, @@ -1439,6 +1556,10 @@ /obj/item/storage/medkit/darkpack/oxy, /turf/open/floor/plating/rough, /area/vtm/interior/clinic) +"Dq" = ( +/obj/structure/vampfence/rich, +/turf/open/misc/grass, +/area/vtm/graveyard) "Dr" = ( /obj/effect/turf_decal/bordur/corner{ dir = 1 @@ -1753,6 +1874,10 @@ /obj/structure/roadblock, /turf/open/floor/plating/sidewalk/poor, /area/vtm/outside/pacificheights) +"Io" = ( +/obj/structure/vampfence/corner/rich, +/turf/open/misc/grass, +/area/vtm/graveyard) "Ip" = ( /obj/structure/retail/black_market, /obj/structure/table/countertop/black, @@ -1848,6 +1973,11 @@ /obj/item/clothing/head/collectable/pirate, /turf/open/floor/wood/rough, /area/vtm/outside/pacificheights) +"Ka" = ( +/obj/structure/table/wood, +/obj/item/scythe/vamp, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "Kc" = ( /obj/effect/turf_decal/bordur, /obj/effect/landmark/npc_spawn_point, @@ -1935,6 +2065,13 @@ }, /turf/open/misc/dirt, /area/vtm/outside/supply) +"Lk" = ( +/obj/item/flashlight/lantern/on{ + pixel_x = -8; + pixel_y = 8 + }, +/turf/open/misc/dirt, +/area/vtm/graveyard) "Lw" = ( /obj/structure/table, /obj/item/gas_can, @@ -2086,6 +2223,13 @@ /obj/structure/chair/darkpack/red, /turf/open/floor/plating/rough, /area/vtm/interior/techshop) +"NC" = ( +/obj/structure/vampdoor/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/door/access/graveyard, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "NI" = ( /obj/structure/retail/bacotell_menu, /obj/structure/table/countertop/bacotell, @@ -2098,6 +2242,15 @@ /obj/item/food/grown/cannabis, /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) +"NN" = ( +/obj/structure/guncase, +/obj/item/gun/ballistic/shotgun/vampire, +/obj/item/flashlight/lantern/on{ + pixel_x = -7; + pixel_y = 19 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "NO" = ( /obj/structure/table/wood/fancy/red, /obj/item/storage/bag/books, @@ -2509,6 +2662,12 @@ }, /turf/open/floor/plating/concrete, /area/vtm/interior/shop) +"Uf" = ( +/obj/structure/chair/wood/darkpack/red{ + dir = 1 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "Uq" = ( /obj/machinery/fax/admin/anarch, /obj/structure/table/wood, @@ -2541,6 +2700,12 @@ /obj/structure/transport/linear/public, /turf/open/floor/plating/elevatorshaft, /area/vtm/outside/pacificheights) +"UI" = ( +/obj/structure/vampfence/rich{ + dir = 4 + }, +/turf/open/misc/grass, +/area/vtm/graveyard) "UJ" = ( /obj/structure/closet/crate/dumpster, /turf/open/misc/beach/vamp, @@ -2820,6 +2985,12 @@ "Zz" = ( /turf/open/misc/grass/random/grass, /area/vtm/outside/pacificheights) +"ZO" = ( +/obj/structure/vampfence/corner/rich{ + dir = 4 + }, +/turf/open/misc/dirt, +/area/vtm/graveyard) "ZS" = ( /obj/structure/table, /obj/item/gun/ballistic/shotgun/toy/crossbow/vampire{ @@ -6530,11 +6701,11 @@ oD oD oD NR -NR -NR -NR -NR -NR +vF +mt +mt +mt +wP cj ik VQ @@ -6595,14 +6766,14 @@ Zz oD oD Zz -Zz -Zz -NR -NR -NR -NR -NR -NR +Io +Dq +mt +ZO +Bb +Bb +Bb +ed cj ik VQ @@ -6663,14 +6834,14 @@ Oi Zz oD Oi -Oi -Oi -NR -NR -NR -NR -NR -NR +UI +lm +Bb +Bb +Bb +Bb +Bb +Bb cj FB VQ @@ -6731,14 +6902,14 @@ Oi oD oD Oi -Oi -Oi -Oi -NR -NR -NR -NR -NR +ed +Bb +Bb +lm +Bb +Bb +Bb +BM cj ik VQ @@ -6799,14 +6970,14 @@ Oi oD oD Oi -Oi -Oi -Oi -Oi -Oi -Oi -NR -NR +ed +lm +ll +Bb +Bb +Bb +Bb +Bb Bq ik VQ @@ -6866,15 +7037,15 @@ oD Oi oD oD -Oi -Oi -Oi -Oi -Oi -Oi -Oi -Oi -Oi +bx +zq +zq +bx +Lk +Bb +Bb +Bb +ed cj ik VQ @@ -6934,15 +7105,15 @@ oD Oi oD Zz -Oi -Oi -Oi -Oi -Oi -Oi -Oi -Oi -Oi +bx +An +Ka +bx +Bb +Bb +Bb +Bb +ed Ig ik VQ @@ -7002,15 +7173,15 @@ oD Zs yW oD -Oi -Oi -Oi -Oi -Oi -Oi -Oi -Oi -Oi +bx +jG +Bv +bx +zq +NC +bx +bx +ZO cj kc Cz @@ -7070,15 +7241,15 @@ oD Zs XD Jf -Zs -Oi -Oi -Oi -Oi -Oi -Oi -Oi -Oi +bx +lx +Uf +Bv +Bv +Bv +Bv +Bi +Bb cj ik VQ @@ -7138,14 +7309,14 @@ oD Zs Pz WJ -Zs -Oi -Oi -Oi -Oi -Oi -Oi -Ny +bx +NN +Bv +Dk +Bv +Bv +Bv +bx Ny Ny rB @@ -7206,14 +7377,14 @@ Ny Ny Ny Ny -Ny -Ny -Ny -Ny -Ny -Ny -Ny -Ny +bx +bx +bx +bx +dd +uo +xV +bx GF Ny rB diff --git a/code/game/atom/atom_defense.dm b/code/game/atom/atom_defense.dm index edb5623aec82..66c04585e69c 100644 --- a/code/game/atom/atom_defense.dm +++ b/code/game/atom/atom_defense.dm @@ -10,6 +10,10 @@ var/integrity_failure = 0 //0 if we have no special broken behavior, otherwise is a percentage of at what point the atom breaks. 0.5 being 50% ///Damage under this value will be completely ignored var/damage_deflection = 0 + // DARKPACK EDIT ADD START + /// Atom uses integrity but will not be deleted upon reaching 0 through normal means + var/prevent_destruction = FALSE + // DARKPACK EDIT ADD END var/resistance_flags = NONE // INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ON_FIRE | UNACIDABLE | ACID_PROOF @@ -19,8 +23,12 @@ CRASH("[src] had /atom/proc/take_damage() called on it without it being a type that has uses_integrity = TRUE!") if(QDELETED(src)) CRASH("[src] taking damage after deletion") - if(atom_integrity <= 0) + // DARKPACK EDIT CHANGE START + if(atom_integrity <= 0 && !prevent_destruction) CRASH("[src] taking damage while having <= 0 integrity") + else if(atom_integrity < 0) + CRASH("[src] taking damage while having < 0 integrity") + // DARKPACK EDIT CHANGE END if(sound_effect) play_attack_sound(damage_amount, damage_type, damage_flag) if(resistance_flags & INDESTRUCTIBLE) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 6dd7f49ac611..2701dbd6d487 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -207,6 +207,10 @@ ///what happens when the obj's integrity reaches zero. /obj/atom_destruction(damage_flag) . = ..() + // DARKPACK EDIT ADD START + if(prevent_destruction) + return + // DARKPACK EDIT ADD END if(damage_flag == ACID) acid_melt() else if(damage_flag == FIRE) diff --git a/modular_darkpack/modules/graveyard/code/graveyard.dm b/modular_darkpack/modules/graveyard/code/graveyard.dm index ceb8f8b997ec..3d28b8b02e32 100644 --- a/modular_darkpack/modules/graveyard/code/graveyard.dm +++ b/modular_darkpack/modules/graveyard/code/graveyard.dm @@ -84,7 +84,7 @@ // is there a nearby vampgate? for(var/obj/structure/vampgate/gate in oview(scan_range, zombie)) - if(!gate.gate_broken) + if(!gate.broken) // theres one, kill it controller.set_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET, gate) controller.clear_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATION) @@ -123,6 +123,7 @@ /obj/vampgrave/Initialize(mapload) . = ..() randomize_appearance() + spawn_interval += rand(-10 SECONDS, 10 SECONDS) // Prevent them from all spawning at the same time. addtimer(CALLBACK(src, PROC_REF(try_spawn_zombie)), spawn_interval, TIMER_STOPPABLE | TIMER_LOOP) //they have the indestructible flag so this should never happen but just in case @@ -167,48 +168,51 @@ icon_state += "-snow" /obj/vampgrave/proc/is_outdoors() - if(!istype(get_area(src), /area/vtm)) - return FALSE - var/area/vtm/V = get_area(src) - return V.outdoors + var/area/my_area = get_area(src) + return my_area.outdoors + +// Adminbus or testing +/obj/vampgrave/rapid + name = "upturned grave" + spawn_interval = 30 SECONDS + max_zombies_per_grave = 1 /obj/structure/vampgate - name = "Graveyard Gate" + name = "graveyard gate" desc = "It opens and closes." icon = 'modular_darkpack/modules/graveyard/icons/gate.dmi' icon_state = "gate" - pixel_w = -32 + pixel_x = -32 + base_pixel_x = -32 anchored = TRUE density = TRUE - opacity = FALSE - resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF | INDESTRUCTIBLE max_integrity = 500 + prevent_destruction = TRUE var/repairing = FALSE - var/gate_broken = FALSE /obj/structure/vampgate/Initialize(mapload) . = ..() - atom_integrity = max_integrity + var/turf/right_turf = get_step(src, EAST) + var/turf/left_turf = get_step(src, WEST) + if(right_turf) + right_turf.set_density(TRUE) + if(left_turf) + left_turf.set_density(TRUE) /obj/structure/vampgate/take_damage(damage_amount, damage_type = BRUTE, damage_flag = "", sound_effect = TRUE, attack_dir, armour_penetration = 0) - // dont take more damage if its already broken - if(gate_broken) - return - - // manually reduce integrity, if we dont do this and rely only on parent functions, it will qdel at < 0 integrity - atom_integrity = max(0, atom_integrity - damage_amount) - - if(sound_effect) - playsound(get_turf(src), 'modular_darkpack/master_files/sounds/effects/door/get_bent.ogg', 100, FALSE) + . = ..() + if(!broken) + if(sound_effect) + playsound(get_turf(src), 'modular_darkpack/master_files/sounds/effects/door/get_bent.ogg', 100, FALSE) - shake_gate() + shake_gate() - if(atom_integrity <= 0) - break_open() + if(atom_integrity <= 0) + break_open() /obj/structure/vampgate/atom_destruction(damage_flag) - .=..() + . = ..() break_open() /obj/structure/vampgate/proc/shake_gate() @@ -221,41 +225,20 @@ pixel_w = initial(pixel_w) /obj/structure/vampgate/proc/break_open() - if(gate_broken) + if(broken) return - gate_broken = TRUE + broken = TRUE density = FALSE icon_state = "gate-open" - atom_integrity = 0 visible_message(span_boldwarning("[src] breaks open!")) -/obj/structure/vampgate/examine(mob/user) - . = ..() - - if(gate_broken) - . += span_boldwarning("The gate is broken open!") - return - - var/health_percent = round(get_integrity_percentage() * 100) - - switch(health_percent) - if(0 to 25) - . += span_boldwarning("Integrity: [atom_integrity]/[max_integrity] - Critically damaged!") - if(26 to 50) - . += span_warning("Integrity: [atom_integrity]/[max_integrity] - Heavily damaged") - if(51 to 75) - . += span_notice("Integrity: [atom_integrity]/[max_integrity] - Moderately damaged") - if(76 to INFINITY) - . += span_notice("Integrity: [atom_integrity]/[max_integrity] - Good condition") - /obj/structure/vampgate/item_interaction(mob/living/user, obj/item/tool, list/modifiers) - . = ..() if(istype(tool, /obj/item/melee/vamp/tire)) attempt_repair(user) - return TRUE + return ITEM_INTERACT_SUCCESS - return ..() + return NONE /obj/structure/vampgate/proc/attempt_repair(mob/living/user) if(repairing) @@ -271,8 +254,8 @@ if(do_after(user, 5 SECONDS, src)) repair_damage(50) - if(atom_integrity > 0 && gate_broken) - gate_broken = FALSE + if(atom_integrity > 0 && broken) + broken = FALSE density = TRUE icon_state = "gate" visible_message(span_notice("[src] is repaired and closed!")) From 029c9cc68b2844b54d308e17f0231adf78523a5c Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Mon, 9 Feb 2026 21:57:34 +0000 Subject: [PATCH 224/271] Automatic changelog for PR #631 [ci skip] --- html/changelogs/AutoChangeLog-pr-631.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-631.yml diff --git a/html/changelogs/AutoChangeLog-pr-631.yml b/html/changelogs/AutoChangeLog-pr-631.yml new file mode 100644 index 000000000000..681d4acc72f8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-631.yml @@ -0,0 +1,5 @@ +author: "FalloutFalcon" +delete-after: True +changes: + - bugfix: "tiles next to the graveyard gate are made dense automaticly" + - refactor: "Gravekeeper gate should behavior more consistently in line with atom integrity" \ No newline at end of file From 1b8b81aad8807b10e640775915f866525f9467aa Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Mon, 9 Feb 2026 22:28:30 +0000 Subject: [PATCH 225/271] Automatic changelog for PR #663 [ci skip] --- html/changelogs/AutoChangeLog-pr-663.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-663.yml diff --git a/html/changelogs/AutoChangeLog-pr-663.yml b/html/changelogs/AutoChangeLog-pr-663.yml new file mode 100644 index 000000000000..eda8cac2747a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-663.yml @@ -0,0 +1,4 @@ +author: "Beautiful TG coders" +delete-after: True +changes: + - code_imp: "TG Pull. Thank you TG." \ No newline at end of file From a101b453b9daa6bb80421b390d2534413116fefd Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Mon, 9 Feb 2026 20:06:31 -0600 Subject: [PATCH 226/271] Assorted DARKPACK TODOs and code cleanup (#600) ## About The Pull Request Would atomize into diff prs but Im doing all of this on my laptop rn. just a whole lotta random bullshit, bulk of it was ensuring BP is only interacted with via adjust_bloodpool and alot of the rest was item interaction cleanup. item interactions being in attack procs will mess with melberts eventual swing combat pr he had planned (which i still hope for) ## Why It's Good For The Game should fix #401 ## Changelog :cl: qol: first key checked on a door has no delay fix: abyss tentacles should be able to acctually make a sound as intended fix: fixed tranforming BP dupe fix: typhon brew is craftable fix: humanity 10 vamps wont burn in the sun (IF ENABLED VIA CONFIG) image: blood hunt skull uses its onfloor code: more non-combat item interactions are no longer in attack-by code: all changes in BP should update your hud /:cl: --------- Co-authored-by: chazzyjazzy <33268885+chazzyjazzy@users.noreply.github.com> --- code/game/objects/items/mail.dm | 4 +- code/modules/cargo/orderconsole.dm | 4 +- .../spell_types/shapeshift/_shape_status.dm | 3 + config/darkpack_config.txt | 2 +- .../carbon/human/species_types/zombies.dm | 7 - .../rituals/code/ritual_rune_drawing.dm | 2 +- .../areas/code/interiors/city_interiors.dm | 15 +- .../blood_drinking/code/bite_helper_procs.dm | 27 +- .../blood_drinking/code/drinksomeblood.dm | 60 +- .../modules/blood_drinking/code/vamp_bite.dm | 71 +- modular_darkpack/modules/cars/code/gas.dm | 34 +- .../modules/city_time/code/status_effects.dm | 11 +- modular_darkpack/modules/clothes/code/head.dm | 1 + modular_darkpack/modules/decor/code/decor.dm | 67 +- .../modules/deprecated/icons/onfloor.dmi | Bin 5547 -> 11973 bytes .../modules/doors/code/vampdoor.dm | 3 +- .../drugs/code/bloodpacks/morphpack.dm | 1 - .../modules/drugs/code/weed/bong.dm | 58 +- modular_darkpack/modules/economy/code/atm.dm | 6 +- .../modules/economy/code/dollar.dm | 2 +- .../modules/economy/code/selling/lombard.dm | 11 +- .../modules/economy/code/stocks_license.dm | 2 +- .../modules/electricity/code/fusebox.dm | 53 +- modular_darkpack/modules/food/code/drinks.dm | 10 +- modular_darkpack/modules/food/code/recipes.dm | 11 +- .../masquerade/code/blood_hunt_skull.dm | 27 +- .../modules/masquerade/icons/onfloor.dmi | Bin 617 -> 1490 bytes .../modules/npc/code/human/__npc.dm | 6 - .../npc/code/human/npc_types/police.dm | 2 +- .../code/nonhuman/hostile/abyss_tentacle.dm | 36 +- .../npc/code/nonhuman/hostile/baali_guard.dm | 2 +- .../modules/npc/code/nonhuman/hostile/bear.dm | 4 +- .../code/artifacts/odious_chalice.dm | 1 - .../modules/phones/code/_phone.dm | 16 +- .../modules/postal/code/postal.dm | 27 +- .../powers/code/discipline/quietus/quietus.dm | 2 +- .../status_effects/blood_of_potency_effect.dm | 4 +- .../modules/radios/code/transceiver.dm | 6 +- .../code/rituals/comforting_darkness.dm | 6 +- .../code/status_effects/blood_debt.dm | 2 +- .../modules/sabbat/code/sabbat_blood_bath.dm | 27 +- .../modules/vitae/code/blood_pack.dm | 20 +- .../modules/weapons/code/melee.dm | 4 +- .../modules/weapons/code/pliers.dm | 24 +- tools/UpdatePaths/darkpackmerged.txt | 952 ------------------ 45 files changed, 341 insertions(+), 1292 deletions(-) delete mode 100644 tools/UpdatePaths/darkpackmerged.txt diff --git a/code/game/objects/items/mail.dm b/code/game/objects/items/mail.dm index 02368f80e75f..84d05ad1f0af 100644 --- a/code/game/objects/items/mail.dm +++ b/code/game/objects/items/mail.dm @@ -158,12 +158,12 @@ . += span_notice("You notice the postmarking on the front of the mail...") var/datum/mind/recipient = recipient_ref.resolve() if(recipient) - . += span_info("[postmarked ? "Certified NT" : "Uncertfieid"] mail for [recipient].") + . += span_info("[postmarked ? "Certified [CITY_NAME]" : "Uncertfieid"] mail for [recipient].") // DARKPACK EDIT CHANGE else if(postmarked) . += span_info("Certified mail for [GLOB.station_name].") else . += span_info("This is a dead letter mail with no recipient.") - . += span_info("Distribute by hand or via destination tagger using the certified NT disposal system.") + . += span_info("Distribute by hand or via destination tagger using the certified [CITY_NAME] disposal system.") // DARKPACK EDIT CHANGE /// Accepts a mind to initialize goodies for a piece of mail. /obj/item/mail/proc/initialize_for_recipient(datum/mind/recipient) diff --git a/code/modules/cargo/orderconsole.dm b/code/modules/cargo/orderconsole.dm index 21478178a096..1423122d5a10 100644 --- a/code/modules/cargo/orderconsole.dm +++ b/code/modules/cargo/orderconsole.dm @@ -51,9 +51,9 @@ if(!bank) return ITEM_INTERACT_BLOCKING var/dolla = tool.get_item_credit_value() - to_chat(user, span_notice("You insert [dolla] dollars into [src].")) + to_chat(user, span_notice("You insert [dolla] [MONEY_NAME] into [src].")) bank.adjust_money(dolla, "Supply Console: Deposit") - to_chat(usr, span_notice("You have deposited [dolla] dollars into the account. The new balance is [bank.account_balance] dollars.")) + to_chat(usr, span_notice("You have deposited [dolla] [MONEY_NAME] into the account. The new balance is [bank.account_balance] [MONEY_NAME].")) qdel(tool) return ITEM_INTERACT_SUCCESS // DARKPACK EDIT ADD END diff --git a/code/modules/spells/spell_types/shapeshift/_shape_status.dm b/code/modules/spells/spell_types/shapeshift/_shape_status.dm index 5943a704c9bb..5aa380602071 100644 --- a/code/modules/spells/spell_types/shapeshift/_shape_status.dm +++ b/code/modules/spells/spell_types/shapeshift/_shape_status.dm @@ -178,6 +178,8 @@ // Only transfer blood if both mobs are supposed to have a blood volume if (CAN_HAVE_BLOOD(owner) && CAN_HAVE_BLOOD(caster_mob)) owner.set_blood_volume(caster_mob.get_blood_volume()) + owner.maxbloodpool = caster_mob.maxbloodpool // DARKPACK EDIT ADD + owner.set_blood_pool(caster_mob.bloodpool) // DARKPACK EDIT ADD for(var/datum/action/bodybound_action as anything in caster_mob.actions) if(bodybound_action.target != caster_mob) @@ -218,6 +220,7 @@ // Only transfer blood if both mobs are supposed to have a blood volume if (CAN_HAVE_BLOOD(owner) && CAN_HAVE_BLOOD(caster_mob)) caster_mob.set_blood_volume(owner.get_blood_volume()) + caster_mob.set_blood_pool(owner.bloodpool) // DARKPACK EDIT ADD /datum/status_effect/shapechange_mob/from_spell/on_shape_death(datum/source, gibbed) var/datum/action/cooldown/spell/shapeshift/source_spell = source_weakref.resolve() diff --git a/config/darkpack_config.txt b/config/darkpack_config.txt index 7cb2c1e362db..bbe9f7282727 100644 --- a/config/darkpack_config.txt +++ b/config/darkpack_config.txt @@ -31,4 +31,4 @@ DISABLE_GHOST_LOOC MAX_SAVE_SLOTS 5 EXTRA_SAVE_SLOTS_BYOND_MEMBER 5 - +#HUMANITY_SUNLIGHT_RESISTANCE diff --git a/modular_darkpack/master_files/code/modules/mob/living/carbon/human/species_types/zombies.dm b/modular_darkpack/master_files/code/modules/mob/living/carbon/human/species_types/zombies.dm index f4462420ba9e..351d0c9ad7af 100644 --- a/modular_darkpack/master_files/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/modular_darkpack/master_files/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -33,13 +33,6 @@ C.maxHealth = 300 //tanky C.health = 300 - /* // DARKPACK TODO -- kj shit? - C.yang_chi = 0 - C.max_yang_chi = 0 - C.yin_chi = 6 - C.max_yin_chi = 6 - */ - //zombies resist vampire bites better than mortals RegisterSignal(C, COMSIG_MOB_VAMPIRE_SUCKED, PROC_REF(on_zombie_bitten)) ADD_TRAIT(C, TRAIT_MASQUERADE_VIOLATING_FACE, "zombie") diff --git a/modular_darkpack/master_files/code/modules/rituals/code/ritual_rune_drawing.dm b/modular_darkpack/master_files/code/modules/rituals/code/ritual_rune_drawing.dm index d12162f03e49..acf8a2df62f2 100644 --- a/modular_darkpack/master_files/code/modules/rituals/code/ritual_rune_drawing.dm +++ b/modular_darkpack/master_files/code/modules/rituals/code/ritual_rune_drawing.dm @@ -72,7 +72,7 @@ if(do_after(user, draw_time, user)) new rune_path(user.loc) - user.bloodpool = max(user.bloodpool - rune_cost, 0) + user.adjust_blood_pool(-rune_cost) SEND_SIGNAL(user, COMSIG_MASQUERADE_VIOLATION) drawing = FALSE diff --git a/modular_darkpack/modules/areas/code/interiors/city_interiors.dm b/modular_darkpack/modules/areas/code/interiors/city_interiors.dm index baaca99a3058..e92196985534 100644 --- a/modular_darkpack/modules/areas/code/interiors/city_interiors.dm +++ b/modular_darkpack/modules/areas/code/interiors/city_interiors.dm @@ -156,13 +156,6 @@ ambience_index = AMBIENCE_OFFICE fire_controled = TRUE -/area/vtm/interior/substation - name = "Grid Substation" - icon_state = "hotel" - music_index = MUSIC_CITY - ambience_index = AMBIENCE_OFFICE - fire_controled = TRUE - /area/vtm/interior/church name = "Church" icon_state = "church" @@ -172,18 +165,13 @@ /area/vtm/interior/church/staff name = "Church - Backrooms" - icon_state = "church" zone_type = ZONE_ELYSIUM music_index = MUSIC_CITY - ambience_index = AMBIENCE_OFFICE - fire_controled = TRUE /area/vtm/interior/church/haven name = "Church - Restricted Floor" icon_state = "old_clan_tzimisce" music_index = MUSIC_CITY - ambience_index = AMBIENCE_OFFICE - fire_controled = TRUE zone_type = ZONE_ELYSIUM /area/vtm/interior/elevator @@ -303,3 +291,6 @@ name = "Grid Substation" icon_state = "hotel" fire_controled = TRUE + music_index = MUSIC_CITY + ambience_index = AMBIENCE_OFFICE + fire_controled = TRUE diff --git a/modular_darkpack/modules/blood_drinking/code/bite_helper_procs.dm b/modular_darkpack/modules/blood_drinking/code/bite_helper_procs.dm index af88af18c100..eecb4785eab3 100644 --- a/modular_darkpack/modules/blood_drinking/code/bite_helper_procs.dm +++ b/modular_darkpack/modules/blood_drinking/code/bite_helper_procs.dm @@ -2,19 +2,19 @@ /mob/living/proc/adjust_blood_pool(amount, updating_health = TRUE, on_spawn) if(on_spawn) bloodpool = 0 - if(iskindred(src)) - var/mob/living/carbon/human/kindred = src - var/datum/splat/vampire/kindred/kindred_species = iskindred(kindred) - var/hunger_threshold = 7 - (kindred_species.enlightenment ? st_get_stat(STAT_INSTINCT) : st_get_stat(STAT_SELF_CONTROL)) - var/previous_hunger = HAS_TRAIT(kindred, TRAIT_NEEDS_BLOOD) + + var/datum/splat/vampire/kindred/kindred_splat = iskindred(src) + if(kindred_splat) + var/hunger_threshold = 7 - (kindred_splat.enlightenment ? st_get_stat(STAT_INSTINCT) : st_get_stat(STAT_SELF_CONTROL)) + var/previous_hunger = HAS_TRAIT(src, TRAIT_NEEDS_BLOOD) var/will_be_hungry = (clamp(bloodpool + amount, 0, maxbloodpool) < hunger_threshold) if(!previous_hunger && will_be_hungry) // enter hunger - ADD_TRAIT(src, TRAIT_NEEDS_BLOOD, SPECIES_TRAIT) + ADD_TRAIT(src, TRAIT_NEEDS_BLOOD, TRAIT_GENERIC) to_chat(src, span_bolddanger("The Beast awakens as the pangs of hunger set in...")) else if(previous_hunger && !will_be_hungry) // leave hunger - REMOVE_TRAIT(src, TRAIT_NEEDS_BLOOD, SPECIES_TRAIT) + REMOVE_TRAIT(src, TRAIT_NEEDS_BLOOD, TRAIT_GENERIC) to_chat(src, span_notice("Your hunger is satisfied as the Beast inside retreats.")) //DARKPACK TODO: roll for frenzy when hungry and seeing, smelling, tasting blood, maybe like the old system where you roll every once in a while. the roll is @@ -23,6 +23,11 @@ if(updating_health) update_blood_hud() +/mob/living/proc/set_blood_pool(amount, updating_health = TRUE, on_spawn) + amount = amount - bloodpool + + adjust_blood_pool(amount, updating_health, on_spawn) + //runs a bite animation for biting people and biting people and biting p /mob/living/carbon/human/proc/add_bite_animation() remove_overlay(HALO_LAYER) @@ -38,7 +43,7 @@ //Here is where you handle any circumstantial modifiers to bloodpool gains //VTR has a lot of these. -/mob/living/carbon/human/proc/calculate_drink_modifier(var/mob/living/mob) +/mob/living/carbon/human/proc/calculate_drink_modifier(mob/living/drunk_from) var/drink_mod = 1 if(HAS_TRAIT(src, TRAIT_HUNGRY)) drink_mod *= 0.5 @@ -55,12 +60,12 @@ return //Updates the circular suck bar that displays the amount of blood a victim has left. -/mob/living/carbon/human/proc/update_drinking_overlay(var/mob/living/mob) +/mob/living/carbon/human/proc/update_drinking_overlay(mob/living/drunk_from) if(client) client.images -= suckbar qdel(suckbar) - suckbar_loc = mob - suckbar = image('modular_darkpack/modules/blood_drinking/icons/bloodcounter.dmi', suckbar_loc, "[round(14*(mob.bloodpool/mob.maxbloodpool))]", HUD_PLANE) + suckbar_loc = drunk_from + suckbar = image('modular_darkpack/modules/blood_drinking/icons/bloodcounter.dmi', suckbar_loc, "[round(14*(drunk_from.bloodpool/drunk_from.maxbloodpool))]", HUD_PLANE) suckbar.pixel_z = 40 suckbar.plane = ABOVE_HUD_PLANE suckbar.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA diff --git a/modular_darkpack/modules/blood_drinking/code/drinksomeblood.dm b/modular_darkpack/modules/blood_drinking/code/drinksomeblood.dm index 894985d9eee0..883508000700 100644 --- a/modular_darkpack/modules/blood_drinking/code/drinksomeblood.dm +++ b/modular_darkpack/modules/blood_drinking/code/drinksomeblood.dm @@ -1,87 +1,87 @@ -/mob/living/carbon/human/proc/drinksomeblood(var/mob/living/mob, first_drink = FALSE) +/mob/living/carbon/human/proc/drinksomeblood(mob/living/drunk_from, first_drink = FALSE) COOLDOWN_START(src, drinkblood_use_cd, 3 SECONDS) - update_drinking_overlay(mob) + update_drinking_overlay(drunk_from) if(HAS_TRAIT(src, TRAIT_BLOODY_SUCKER)) src.emote("moan") Immobilize(30, TRUE) - if(isnpc(mob)) - var/mob/living/carbon/human/npc/NPC = mob + if(isnpc(drunk_from)) + var/mob/living/carbon/human/npc/NPC = drunk_from NPC.danger_source = null - mob.Stun(40) //NPCs don't get to resist + drunk_from.Stun(40) //NPCs don't get to resist - if(mob.blood_volume <= BLOOD_VOLUME_BAD) + if(drunk_from.blood_volume <= BLOOD_VOLUME_BAD) to_chat(src, span_warning("Your victim's heart beats only weakly. Death comes for them.")) //Check if we can drink this person to death - if(mob.bloodpool <= 0 && !check_can_drink_dry(mob)) - remove_drinking_overlay(mob) + if(drunk_from.bloodpool <= 0 && !check_can_drink_dry(drunk_from)) + remove_drinking_overlay(drunk_from) return - if(mob.bloodpool <= 1 && mob.maxbloodpool > 1) + if(drunk_from.bloodpool <= 1 && drunk_from.maxbloodpool > 1) to_chat(src, span_warning("You feel small amount of BLOOD in your victim.")) if(!HAS_TRAIT(src, TRAIT_BLOODY_LOVER)) SEND_SIGNAL(src, COMSIG_MASQUERADE_VIOLATION) - if(!do_after(src, 3 SECONDS, target = mob, timed_action_flags = NONE, progress = FALSE)) - remove_drinking_overlay(mob) - if(!(SEND_SIGNAL(mob, COMSIG_MOB_VAMPIRE_SUCKED, mob) & COMPONENT_RESIST_VAMPIRE_KISS)) - mob.apply_status_effect(/datum/status_effect/kissed) + if(!do_after(src, 3 SECONDS, target = drunk_from, timed_action_flags = NONE, progress = FALSE)) + remove_drinking_overlay(drunk_from) + if(!(SEND_SIGNAL(drunk_from, COMSIG_MOB_VAMPIRE_SUCKED, drunk_from) & COMPONENT_RESIST_VAMPIRE_KISS)) + drunk_from.apply_status_effect(/datum/status_effect/kissed) return - mob.adjust_blood_pool(-1) - suckbar.icon_state = "[round(14*(mob.bloodpool/mob.maxbloodpool))]" + drunk_from.adjust_blood_pool(-1) + suckbar.icon_state = "[round(14*(drunk_from.bloodpool/drunk_from.maxbloodpool))]" - if(ishuman(mob)) - var/mob/living/carbon/human/H = mob + if(ishuman(drunk_from)) + var/mob/living/carbon/human/H = drunk_from drunked_of |= "[H.dna.real_name]" - if(!iskindred(mob)) + if(!iskindred(drunk_from)) H.blood_volume = max(H.blood_volume-50, 150) if(H.reagents) if(length(H.reagents.reagent_list)) if(prob(50)) - H.reagents.trans_to(src, min(10, H.reagents.total_volume), transferred_by = mob, methods = INGEST) + H.reagents.trans_to(src, min(10, H.reagents.total_volume), transferred_by = drunk_from, methods = INGEST) if(HAS_TRAIT(src, TRAIT_PAINFUL_VAMPIRE_KISS)) - mob.adjust_brute_loss(20, TRUE) + drunk_from.adjust_brute_loss(20, TRUE) //Ventrue can suck on normal people, but not homeless people and animals. //BLOOD_QUALITY_LOV - 1, BLOOD_QUALITY_NORMAL - 2, BLOOD_QUALITY_HIGH - 3. Blue blood gives +1 to suction - if(HAS_TRAIT(src, TRAIT_FEEDING_RESTRICTION) && mob.bloodquality < BLOOD_QUALITY_NORMAL) + if(HAS_TRAIT(src, TRAIT_FEEDING_RESTRICTION) && drunk_from.bloodquality < BLOOD_QUALITY_NORMAL) to_chat(src, span_warning("You are too privileged to drink that awful BLOOD. Go get something better.")) visible_message(span_danger("[src] throws up!"), span_userdanger("You throw up!")) playsound(get_turf(src), 'modular_darkpack/modules/deprecated/sounds/vomit.ogg', 75, TRUE) if(isturf(loc)) add_splatter_floor(loc) - remove_drinking_overlay(mob) + remove_drinking_overlay(drunk_from) return - if(iskindred(mob)) - to_chat(src, span_userdanger("[mob]'s blood tastes HEAVENLY...")) + if(iskindred(drunk_from)) + to_chat(src, span_userdanger("[drunk_from]'s blood tastes HEAVENLY...")) adjust_brute_loss(-25, TRUE) adjust_fire_loss(-25, TRUE) else to_chat(src, span_warning("You sip some BLOOD from your victim. It feels good.")) - var/drink_mod = calculate_drink_modifier(mob) + var/drink_mod = calculate_drink_modifier(drunk_from) if(drink_mod) - adjust_blood_pool(drink_mod*max(1, mob.bloodquality-1)) + adjust_blood_pool(drink_mod*max(1, drunk_from.bloodquality-1)) adjust_brute_loss(-10, TRUE) adjust_fire_loss(-10, TRUE) update_damage_overlays() update_health_hud() - if(mob.bloodpool <= 0) - handle_drink_dry(mob) - remove_drinking_overlay(mob) + if(drunk_from.bloodpool <= 0) + handle_drink_dry(drunk_from) + remove_drinking_overlay(drunk_from) return if(grab_state >= GRAB_PASSIVE) stop_sound_channel(CHANNEL_BLOOD) - drinksomeblood(mob) + drinksomeblood(drunk_from) diff --git a/modular_darkpack/modules/blood_drinking/code/vamp_bite.dm b/modular_darkpack/modules/blood_drinking/code/vamp_bite.dm index 49b9a03a1c5d..c9dd0e5c2130 100644 --- a/modular_darkpack/modules/blood_drinking/code/vamp_bite.dm +++ b/modular_darkpack/modules/blood_drinking/code/vamp_bite.dm @@ -1,55 +1,42 @@ //this code is what should be called every time blood drinking is used on a character /mob/living/carbon/human/proc/vamp_bite() - update_blood_hud() if(!COOLDOWN_FINISHED(src, drinkblood_use_cd) || !COOLDOWN_FINISHED(src, drinkblood_click_cd)) return COOLDOWN_START(src, drinkblood_click_cd, 1 SECONDS) if(grab_state > GRAB_PASSIVE) - if(ishuman(pulling)) - var/mob/living/carbon/human/PB = pulling - if(isghoul(src)) - if(!iskindred(PB)) - SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', volume = 75)) - to_chat(src, span_warning("You're not desperate enough to try that.")) - return - if(!isghoul(src) && !iskindred(src)) - SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', volume = 75)) - to_chat(src, span_warning("You're not desperate enough to try that.")) - return - if(PB.stat == DEAD && !HAS_TRAIT(src, TRAIT_GULLET)) - SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', volume = 75)) - to_chat(src, span_warning("Your Beast requires life, not the tepid swill of corpses.")) - return - if(PB.blood_volume <= 50 && (!iskindred(pulling) || !iskindred(src))) - SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', volume = 75)) - to_chat(src, span_warning("This vessel is empty. You'll have to find another.")) - return - if(PB.bloodpool <= 0 && (!iskindred(pulling) || !iskindred(src))) - SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', volume = 75)) - to_chat(src, span_warning("This vessel is empty. You'll have to find another.")) - return - if(iskindred(src)) - PB.emote("groan") - if(isghoul(src)) - PB.emote("scream") - PB.add_bite_animation() if(isliving(pulling)) - if(!iskindred(src)) + var/mob/living/bit_living = pulling + if(!isvampiresplat(src)) SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', volume = 75)) to_chat(src, span_warning("You're not desperate enough to try that.")) return - var/mob/living/LV = pulling - if(LV.blood_volume <= 50 && (!iskindred(pulling) || !iskindred(src))) - SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', volume = 75)) - to_chat(src, span_warning("This vessel is empty. You'll have to find another.")) - if(LV.bloodpool <= 0 && (!iskindred(pulling) || !iskindred(src))) - SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', volume = 75)) - to_chat(src, span_warning("This vessel is empty. You'll have to find another.")) - return - if(LV.stat == DEAD && !HAS_TRAIT(src, TRAIT_GULLET)) + // Allow ghouls to steal viate? + if(isghoul(src)) + if(!iskindred(bit_living)) + SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', volume = 75)) + to_chat(src, span_warning("You're not desperate enough to try that.")) + return + // Prevent drinking from corspes... Not V20 accurate as far as I can tell? + if(bit_living.stat == DEAD && !HAS_TRAIT(src, TRAIT_GULLET)) SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', volume = 75)) to_chat(src,span_warning("Your Beast requires life, not the tepid swill of corpses.")) return + // Allow for diablor? + if(!iskindred(bit_living) || !iskindred(src)) + if(!CAN_HAVE_BLOOD(bit_living) || (bit_living.blood_volume <= 50) || (bit_living.bloodpool <= 0)) + SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', volume = 75)) + to_chat(src, span_warning("This vessel is empty. You'll have to find another.")) + return + + if(iskindred(src)) + bit_living.emote("groan") + else if(isghoul(src)) + bit_living.emote("scream") + + if(ishuman(bit_living)) + var/mob/living/carbon/human/bit_human = bit_living + bit_human.add_bite_animation() + var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) if(!skipface) if(iskindred(src) && HAS_TRAIT(src, TRAIT_NEEDS_BLOOD)) @@ -64,10 +51,10 @@ if(!HAS_TRAIT(src, TRAIT_BLOODY_LOVER)) playsound(src, 'modular_darkpack/modules/blood_drinking/sounds/drinkblood1.ogg', 50, TRUE) - LV.visible_message(span_warning(span_bold("[src] bites [LV]'s neck!")), span_warning(span_bold("[src] bites your neck!"))) + bit_living.visible_message(span_warning(span_bold("[src] bites [bit_living]'s neck!")), span_warning(span_bold("[src] bites your neck!"))) if(!HAS_TRAIT(src, TRAIT_BLOODY_LOVER)) SEND_SIGNAL(src, COMSIG_MASQUERADE_VIOLATION) else playsound(src, 'modular_darkpack/modules/blood_drinking/sounds/kiss.ogg', 50, TRUE) - LV.visible_message(span_italics(span_bold("[src] kisses [LV]!")), span_userlove(span_bold("[src] kisses you!"))) - drinksomeblood(LV, TRUE) + bit_living.visible_message(span_italics(span_bold("[src] kisses [bit_living]!")), span_userlove(span_bold("[src] kisses you!"))) + drinksomeblood(bit_living, TRUE) diff --git a/modular_darkpack/modules/cars/code/gas.dm b/modular_darkpack/modules/cars/code/gas.dm index 2b553ed627ec..fac793c55c63 100644 --- a/modular_darkpack/modules/cars/code/gas.dm +++ b/modular_darkpack/modules/cars/code/gas.dm @@ -45,9 +45,9 @@ return NONE if(istype(get_turf(interacting_with), /turf/open/floor)) if(locate(/obj/effect/decal/cleanable/gasoline) in get_turf(interacting_with)) - return ITEM_INTERACT_FAILURE + return ITEM_INTERACT_BLOCKING if(stored_gasoline < 50) - return ITEM_INTERACT_FAILURE + return ITEM_INTERACT_BLOCKING stored_gasoline = max(0, stored_gasoline-50) new /obj/effect/decal/cleanable/gasoline(get_turf(interacting_with)) playsound(get_turf(src), 'modular_darkpack/modules/cars/sounds/gas_splat.ogg', 50, TRUE) @@ -125,11 +125,11 @@ continue oil.fire_act() -/obj/effect/decal/cleanable/gasoline/attackby(obj/item/I, mob/living/user) - var/attacked_by_hot_thing = I.get_temperature() +/obj/effect/decal/cleanable/gasoline/attackby(obj/item/tool, mob/living/user) + var/attacked_by_hot_thing = tool.get_temperature() if(attacked_by_hot_thing) - visible_message(span_warning("[user] tries to ignite [src] with [I]!"), span_warning("You try to ignite [src] with [I].")) - log_combat(user, src, (attacked_by_hot_thing < 480) ? "tried to ignite" : "ignited", I) + visible_message(span_warning("[user] tries to ignite [src] with [tool]!"), span_warning("You try to ignite [src] with [tool].")) + log_combat(user, src, (attacked_by_hot_thing < 480) ? "tried to ignite" : "ignited", tool) fire_act(attacked_by_hot_thing) return return ..() @@ -154,21 +154,25 @@ /obj/structure/fuelstation/examine(mob/user) . = ..() - . += "Balance: [stored_money] dollars" + . += "Balance: [stored_money] [MONEY_NAME]" -/obj/structure/fuelstation/attackby(obj/item/I, mob/living/user, params) - if(iscash(I)) - stored_money += I.get_item_credit_value() - to_chat(user, span_notice("You insert [I.get_item_credit_value()] dollars into [src].")) - qdel(I) +/obj/structure/fuelstation/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(iscash(tool)) + stored_money += tool.get_item_credit_value() + to_chat(user, span_notice("You insert [tool.get_item_credit_value()] [MONEY_NAME] into [src].")) + qdel(tool) say("Payment received.") - if(istype(I, /obj/item/gas_can)) - var/obj/item/gas_can/G = I + return ITEM_INTERACT_SUCCESS + if(istype(tool, /obj/item/gas_can)) + var/obj/item/gas_can/G = tool if(G.stored_gasoline < 1000 && stored_money) var/gas_to_dispense = min(stored_money*20, 1000-G.stored_gasoline) var/money_to_spend = round(gas_to_dispense/20) G.stored_gasoline = min(1000, G.stored_gasoline+gas_to_dispense) stored_money = max(0, stored_money-money_to_spend) playsound(loc, 'modular_darkpack/master_files/sounds/effects/gas_fill.ogg', 50, TRUE) - to_chat(user, span_notice("You fill [I].")) + to_chat(user, span_notice("You fill [tool].")) say("Gas filled.") + return ITEM_INTERACT_SUCCESS + return ITEM_INTERACT_BLOCKING + return NONE diff --git a/modular_darkpack/modules/city_time/code/status_effects.dm b/modular_darkpack/modules/city_time/code/status_effects.dm index a8e63e4c1e85..df63a9eac878 100644 --- a/modular_darkpack/modules/city_time/code/status_effects.dm +++ b/modular_darkpack/modules/city_time/code/status_effects.dm @@ -22,12 +22,17 @@ /datum/status_effect/sunlight_burning/on_apply() if(!SScity_time.daytime_started) return FALSE - if(!iskindred(owner)) - return FALSE var/area/my_area = get_area(owner) if(!istype(my_area) || !my_area.outdoors) return FALSE + var/datum/splat/vampire/kindred/kindred_owner = iskindred(owner) + if(!kindred_owner) + return FALSE + // Humanity 10 vamps are immume to the light. atleast for the amount of time our day lasts. + if(CONFIG_GET(flag/humanity_sunlight_resistance) && !kindred_owner.enlightenment && (owner.st_get_stat(STAT_MORALITY) >= 10)) + return FALSE + to_chat(owner, span_danger("THE SUN SEARS YOUR FLESH")) return TRUE @@ -45,3 +50,5 @@ desc = "Get inside!" icon = 'modular_darkpack/modules/deprecated/icons/hud/screen_alert.dmi' icon_state = "fire" + +/datum/config_entry/flag/humanity_sunlight_resistance diff --git a/modular_darkpack/modules/clothes/code/head.dm b/modular_darkpack/modules/clothes/code/head.dm index 734741c7fc10..9d40fcef5581 100644 --- a/modular_darkpack/modules/clothes/code/head.dm +++ b/modular_darkpack/modules/clothes/code/head.dm @@ -367,6 +367,7 @@ target.emote("scream") target.Stun(0.5 SECONDS) + H = target.get_item_by_slot(ITEM_SLOT_HEAD) // Refetch it if it changes between do_after target.dropItemToGround(H) target.equip_to_slot_if_possible(src, ITEM_SLOT_HEAD) diff --git a/modular_darkpack/modules/decor/code/decor.dm b/modular_darkpack/modules/decor/code/decor.dm index 2f7a49a99f5c..55f9ca252bab 100644 --- a/modular_darkpack/modules/decor/code/decor.dm +++ b/modular_darkpack/modules/decor/code/decor.dm @@ -667,6 +667,7 @@ icon_state = "ice" pixel_w = -8 + /obj/structure/bury_pit name = "bury pit" desc = "You can bury someone here." @@ -677,41 +678,43 @@ anchored = TRUE density = FALSE resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - var/burying = FALSE - -// DARKPACK TODO - reimplement -/* -/obj/structure/bury_pit/attackby(obj/item/I, mob/living/user, params) - if(istype(I, /obj/item/shovel/vamp)) - if(!burying) - burying = TRUE - user.visible_message(span_warning("[user] starts to dig [src]"), span_warning("You start to dig [src].")) - if(do_mob(user, src, 10 SECONDS)) - burying = FALSE - if(icon_state == "pit0") - for(var/mob/living/L in get_turf(src)) - L.forceMove(src) - icon_state = "pit1" - user.visible_message(span_warning("[user] digs a hole in [src]."), span_warning("You dig a hole in [src].")) - else - for(var/mob/living/L in src) - L.forceMove(get_turf(src)) - icon_state = "pit0" - user.visible_message(span_warning("[user] digs a hole in [src]."), span_warning("You dig a hole in [src].")) - else - burying = FALSE - -/obj/structure/bury_pit/container_resist_act(mob/living/user) - if(!burying) - burying = TRUE - if(do_mob(user, src, 30 SECONDS)) + var/pit_busy = FALSE + +/obj/structure/bury_pit/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(tool.tool_behaviour == TOOL_SHOVEL) + if(pit_busy) + return ITEM_INTERACT_BLOCKING + + pit_busy = TRUE + user.visible_message(span_warning("[user] starts to dig [src]"), span_warning("You start to dig [src].")) + if(!do_after(user, 10 SECONDS, src)) + pit_busy = FALSE + + pit_busy = FALSE + if(icon_state == "pit0") + for(var/mob/living/L in get_turf(src)) + L.forceMove(src) + icon_state = "pit1" + user.visible_message(span_warning("[user] digs a hole in [src]."), span_warning("You dig a hole in [src].")) + else for(var/mob/living/L in src) L.forceMove(get_turf(src)) icon_state = "pit0" - burying = FALSE - else - burying = FALSE -*/ + user.visible_message(span_warning("[user] digs a hole in [src]."), span_warning("You dig a hole in [src].")) + +/obj/structure/bury_pit/container_resist_act(mob/living/user) + if(pit_busy) + return + + pit_busy = TRUE + if(!do_after(user, 30 SECONDS, src)) + pit_busy = FALSE + + for(var/mob/living/L in src) + L.forceMove(get_turf(src)) + icon_state = "pit0" + pit_busy = FALSE + /obj/structure/fluff/tv name = "\improper TV" diff --git a/modular_darkpack/modules/deprecated/icons/onfloor.dmi b/modular_darkpack/modules/deprecated/icons/onfloor.dmi index 551fbe5c75f668abd0bf60d741e7b62ffe3045e5..617f3f077bc2a2d06348883cd95502f1c9aad772 100644 GIT binary patch literal 11973 zcmbVyWmFu&wr=AdAV6@pgrLEKyC%Wi1_%UaaJK{qF2UX1gS)#s!Gk*lhk=1NIp^NB z&bs#Qdp~;hbj?iFuG-(;-?yteL`gvg3!MZV001mGSxFTDfTQ|*p&|nSfbU=72Yblz zP}6dfGKJ;i$vU5e$|{wJ*>SijU!$G4 zJp@h{AJvYp!MzCpS?_@dj51nJ*KUGL9@?WO%+uNV-Q_Ok_#;_!E^OR}rr%pCbCqWr zq@hF^y-)2^rZ203_Rg&N*z&rvAzKIF(k(R;Qs4-P`TW3 zfIls@Dc1|Z&=<#{Q_HQ!wdV9%--&3YTFBlkL?nI8EnwOS#C;nAhYa#njxEPSV}=)OMZ*L>O6UrzA~elzYW+lpTiXjcQk1v4&S# zis#05G=K2UoVHmcSnQ}IEOEDKFw`eyC%afx>4{@Xnc^wMsl$&%e7wAea-?mIR-wMz zBTJZgxZdP88zA~Ks<^~JO(;_ICc#mTw`r*l4O#9`TB96mH#T^l zMdYwlYRn7t(dOSNFZ3CktBip=IWfbJUu3=VjAde^?udcdG99dQxEbbOfxRwm(gl5z zsVIG|DG4GQC1j@RbQuA^i561a?XAiXIOO}gt)Nv1i#l{hj&d4Bzzbk}BGR z5%1ygd7{ipc5bt@$!ujCq#-`Qc6$;vf{Y~lye(qtZmoa#!83(te%tTN$vi-SoMhwF zlXMGqy*(qf$XlP>VC8aZ#E3}Yk2I*aklf}!RA5*kS=5+A7$j^i7@A5>BVwqVCP zZN*dZ7x;bM#qh@J(CvJo&I<7J6Y_*vtozP*d0vH&ilz7r;*ApiBa8NCx>5zvX{Xy1 z=$zXuZG3z%eY_vY{Pj3UWPg7<(x~G_08}lRtDVT%)k!|cKbY!0Y$-lo3=*9W zoF&?qOZrxZLVOeUL2OTWnrwRg*CG`(j^Y809vkl}2%pga*~9gYaf%KVf{BmC(;kP* zppK!Lt$@cw4u`x!B0iPb{;f&}0_(b|*A;q=;cp2?3moh2n6_`L#fpava+USk?1(kl zk}y{5HcO+|L35%a#lF7hdx0Z&HN8%M`@e@~UjM!`-85?t&Rx`uD}2U^c-c8yNernU z`(w&IqKO>C`#Z$rpoWpF$!42WVT3dj;`|{K7l#^=3_}|AFE;-HS{OF}0a|3q z{~eJ3D{%j93xIX-w^P|V3-c&8i?!CKI}Qe9a(?Y zW{6hF2qe$eUKbB9p5;%Jf(o|Kf-bSWDfL2frnv90)Z8$cmqua^8$b1i6Z zpe@UbVm4bfeICUx8ACIX5Bt6ZNzuyKr^QU+jjC^F30BHJo9}1kWQe0d64({0U6V;@ zkg>KuUm&WzH`9E=^2~PW)I9efQK%Q49vc|{HbHJK((h#y9RR2(?q<dRX?E{j_ccaU3*wD6oYR2qkCgRSg=HwT0K*#+R{^5L!*&xpw3o;>k{7|Exe^xY$XYukT9;iQ-47xCFIy@OLZnrBt=HZ8s&%zEGJd`W0Zg{IT3Xug?d<>r&X_n&p_>ntmxhY^(xP)zLN0BxQTl9GD?zy^xrcS_23LA` zS*<#(R&CfiR+c1iV=2(qKNnZhiVJ$C`unr=4WqVaP`iq`Pwv0dP^ulPs~q~OnM`-D z=R4x>8&M*a6P8_k^%CEN_$u;;=lbo>(&iW(9tDzJ4_01O$JV6oJ}9MrD$+yHfdK{e z5I=lN2G0(xWVV)SV z*9Nt;2wYrTlo`NLv9VQ-AFclaq+GZ64Yzl8x||n2dHZ+OX^{IiA#=H&l3Bo@F77i- zF3%tCiO{SibPpJUr;Vs96B`ixU=6RAfzJDHG-~;Oj>dNXW z%vT?wIyviqG#HdlgG`0atry~3vD?NF=5;%0AX2SN`2!V%$%QjhY@6z1rIgvKiL$WC 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 literal 5547 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 diff --git a/modular_darkpack/modules/doors/code/vampdoor.dm b/modular_darkpack/modules/doors/code/vampdoor.dm index f39c07046b75..5aa3ade9426b 100644 --- a/modular_darkpack/modules/doors/code/vampdoor.dm +++ b/modular_darkpack/modules/doors/code/vampdoor.dm @@ -249,7 +249,8 @@ var/has_keys = FALSE for(var/obj/item/vamp/keys/found_key in user) - if(!do_after(user, 1 SECONDS, src, interaction_key = DOAFTER_SOURCE_DOOR)) + // check if we already set has_keys so the first key you try and no do_after. + if(has_keys && !do_after(user, 1 SECONDS, src, interaction_key = DOAFTER_SOURCE_DOOR)) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN has_keys = TRUE if(try_keys(user, found_key)) diff --git a/modular_darkpack/modules/drugs/code/bloodpacks/morphpack.dm b/modular_darkpack/modules/drugs/code/bloodpacks/morphpack.dm index e22b9dc6f5c0..7d1f1e03dfb6 100644 --- a/modular_darkpack/modules/drugs/code/bloodpacks/morphpack.dm +++ b/modular_darkpack/modules/drugs/code/bloodpacks/morphpack.dm @@ -40,7 +40,6 @@ M.update_damage_overlays() M.update_health_hud() if(iskindred(M)) - M.update_blood_hud() H.reagents.trans_to(M, min(10, H.reagents.total_volume), transfered_by = H, methods = INGEST) //calling the earlier variable to transfer to target, M playsound(M.loc,'sound/items/drink.ogg', 50, TRUE) return diff --git a/modular_darkpack/modules/drugs/code/weed/bong.dm b/modular_darkpack/modules/drugs/code/weed/bong.dm index 7c220a70056e..0a523d9ce054 100644 --- a/modular_darkpack/modules/drugs/code/weed/bong.dm +++ b/modular_darkpack/modules/drugs/code/weed/bong.dm @@ -37,32 +37,34 @@ . = ..() create_reagents(chem_volume, INJECTABLE | NO_REACT) -/obj/item/bong/attackby(obj/item/attacking_item, mob/user, list/modifiers, list/attack_modifiers) - if((istype(attacking_item, /obj/item/food/grown) || istype(attacking_item, /obj/item/food/drug))) +/obj/item/bong/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if((istype(tool, /obj/item/food/grown) || istype(tool, /obj/item/food/drug))) if(packeditem) to_chat(user, span_warning("It is already packed!")) - return + return ITEM_INTERACT_BLOCKING - if(istype(attacking_item, /obj/item/food/grown) && !HAS_TRAIT(attacking_item, TRAIT_DRIED)) + if(istype(tool, /obj/item/food/grown) && !HAS_TRAIT(tool, TRAIT_DRIED)) to_chat(user, span_warning("It has to be dried first!")) - return + return ITEM_INTERACT_BLOCKING - to_chat(user, span_notice("You stuff [attacking_item] into [src].")) + to_chat(user, span_notice("You stuff [tool] into [src].")) bong_hits = max_hits - packeditem = attacking_item.name + packeditem = tool.name update_name() - if(attacking_item.reagents) - attacking_item.reagents.trans_to(src, attacking_item.reagents.total_volume, transferred_by = user) + if(tool.reagents) + tool.reagents.trans_to(src, tool.reagents.total_volume, transferred_by = user) reagent_transfer_per_use = reagents.total_volume / max_hits - qdel(attacking_item) + qdel(tool) + return ITEM_INTERACT_SUCCESS else - var/lighting_text = attacking_item.ignition_effect(src, user) + var/lighting_text = tool.ignition_effect(src, user) if(!lighting_text) - return ..() + return NONE if(bong_hits <= 0) to_chat(user, span_warning("Nothing to smoke!")) - return ..() + return ITEM_INTERACT_BLOCKING light(lighting_text) + return ITEM_INTERACT_SUCCESS /obj/item/bong/attack_self(mob/user) var/turf/location = get_turf(user) @@ -75,19 +77,22 @@ empty_out() return -/obj/item/bong/attack(mob/living/target_mob, mob/living/user, list/modifiers, list/attack_modifiers) +/obj/item/bong/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!isliving(interacting_with)) + return NONE + var/mob/living/interacting_living = interacting_with if(!packeditem || !lit) - return - target_mob.visible_message( - span_notice("[user] starts [target_mob == user ? "taking a hit from [src]." : "forcing [target_mob] to take a hit from [src]!"]"), - "[target_mob == user ? span_notice("You start taking a hit from [src].") : span_danger("[user] starts forcing you to take a hit from [src]!")]" + return ITEM_INTERACT_BLOCKING + interacting_with.visible_message( + span_notice("[user] starts [interacting_with == user ? "taking a hit from [src]." : "forcing [interacting_with] to take a hit from [src]!"]"), + "[interacting_with == user ? span_notice("You start taking a hit from [src].") : span_danger("[user] starts forcing you to take a hit from [src]!")]" ) playsound(src, 'modular_darkpack/modules/drugs/sounds/heatdam.ogg', 50, TRUE) if(!do_after(user, 4 SECONDS, src)) - return - to_chat(target_mob, span_notice("You finish taking a hit from [src].")) + return ITEM_INTERACT_BLOCKING + to_chat(interacting_with, span_notice("You finish taking a hit from [src].")) if(reagents.total_volume) - reagents.trans_to(target_mob, reagent_transfer_per_use, methods = INHALE, ignore_stomach = TRUE) + reagents.trans_to(interacting_with, reagent_transfer_per_use, methods = INHALE, ignore_stomach = TRUE) bong_hits-- var/turf/open/pos = get_turf(src) if(istype(pos)) @@ -95,15 +100,16 @@ spawn_cloud(pos, smoke_range) if(moan_chance > 0) if(prob(moan_chance)) - playsound(target_mob, pick('modular_darkpack/modules/drugs/sounds/lungbust_moan1.ogg','modular_darkpack/modules/drugs/sounds/lungbust_moan2.ogg', 'modular_darkpack/modules/drugs/sounds/lungbust_moan3.ogg'), 50, TRUE) - target_mob.emote("moan") + playsound(interacting_with, pick('modular_darkpack/modules/drugs/sounds/lungbust_moan1.ogg','modular_darkpack/modules/drugs/sounds/lungbust_moan2.ogg', 'modular_darkpack/modules/drugs/sounds/lungbust_moan3.ogg'), 50, TRUE) + interacting_living.emote("moan") else - playsound(target_mob, pick('modular_darkpack/modules/drugs/sounds/lungbust_cough1.ogg','modular_darkpack/modules/drugs/sounds/lungbust_cough2.ogg'), 50, TRUE) - target_mob.emote("cough") + playsound(interacting_with, pick('modular_darkpack/modules/drugs/sounds/lungbust_cough1.ogg','modular_darkpack/modules/drugs/sounds/lungbust_cough2.ogg'), 50, TRUE) + interacting_living.emote("cough") if(bong_hits <= 0) - to_chat(target_mob, span_warning("Out of uses!")) + to_chat(interacting_with, span_warning("Out of uses!")) put_out() empty_out() + return ITEM_INTERACT_SUCCESS /obj/item/bong/proc/light(flavor_text = null) if(lit) diff --git a/modular_darkpack/modules/economy/code/atm.dm b/modular_darkpack/modules/economy/code/atm.dm index a5ec55400a22..6153f4d31a18 100644 --- a/modular_darkpack/modules/economy/code/atm.dm +++ b/modular_darkpack/modules/economy/code/atm.dm @@ -48,7 +48,7 @@ return ITEM_INTERACT_BLOCKING var/value = tool.get_item_credit_value() inserted_cash += value - to_chat(user, span_notice("You have deposited [value] dollars into [src]. [src] now holds [inserted_cash] dollars.")) + to_chat(user, span_notice("You have deposited [value] [MONEY_NAME] into [src]. [src] now holds [inserted_cash] [MONEY_NAME].")) qdel(tool) return ITEM_INTERACT_SUCCESS @@ -105,7 +105,7 @@ if("deposit") if(inserted_cash > 0) logged_account.adjust_money(inserted_cash, "ATM: Deposit") - to_chat(usr, span_notice("You have deposited [inserted_cash] dollars into your card. Your new balance is [logged_account.account_balance] dollars.")) + to_chat(usr, span_notice("You have deposited [inserted_cash] [MONEY_NAME] into your card. Your new balance is [logged_account.account_balance] [MONEY_NAME].")) total_stored_cash += inserted_cash inserted_cash = 0 return TRUE @@ -124,7 +124,7 @@ to_chat(user, span_notice("[src] has maxed out its withdraw limit")) break var/obj/item/stack/dollar/cash = new(loc, drop_amount) - to_chat(user, span_notice("You have withdrawn [drop_amount] dollars.")) + to_chat(user, span_notice("You have withdrawn [drop_amount] [MONEY_NAME].")) try_put_in_hand(cash, user) amount -= drop_amount total_stored_cash -= drop_amount diff --git a/modular_darkpack/modules/economy/code/dollar.dm b/modular_darkpack/modules/economy/code/dollar.dm index 35d5e93ff266..8dd28635a077 100644 --- a/modular_darkpack/modules/economy/code/dollar.dm +++ b/modular_darkpack/modules/economy/code/dollar.dm @@ -1,5 +1,5 @@ /obj/item/stack/dollar - name = "dollars" + name = MONEY_NAME // Prob overkill to use the define here. desc = "Wow! With enough of these, you could buy a lot! ...Pssh, yeah right." singular_name = "dollar" icon_state = "money1" diff --git a/modular_darkpack/modules/economy/code/selling/lombard.dm b/modular_darkpack/modules/economy/code/selling/lombard.dm index 1bc8f3d4d329..9837532264fc 100644 --- a/modular_darkpack/modules/economy/code/selling/lombard.dm +++ b/modular_darkpack/modules/economy/code/selling/lombard.dm @@ -11,16 +11,17 @@ anchored = TRUE var/black_market = FALSE -/obj/lombard/attackby(obj/item/W, mob/living/carbon/human/user, params) - var/datum/component/selling/selling_comp = W.GetComponent(/datum/component/selling) +/obj/lombard/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + var/datum/component/selling/selling_comp = tool.GetComponent(/datum/component/selling) if(!selling_comp) - return ..() + return NONE if(selling_comp.illegal != black_market) to_chat(user, span_warning("[black_market ? "This" : "The pawnshop"] doesn't accept [selling_comp.illegal ? "illegal" : "legal"] goods.")) - return + return ITEM_INTERACT_BLOCKING - sell_one_item(W, user) + sell_one_item(tool, user) + return ITEM_INTERACT_SUCCESS /// Sell a single item /obj/lombard/proc/sell_one_item(obj/item/sold, mob/living/user) diff --git a/modular_darkpack/modules/economy/code/stocks_license.dm b/modular_darkpack/modules/economy/code/stocks_license.dm index df35dd249fa9..daac49ca3183 100644 --- a/modular_darkpack/modules/economy/code/stocks_license.dm +++ b/modular_darkpack/modules/economy/code/stocks_license.dm @@ -32,4 +32,4 @@ /obj/item/stocks_license/examine(mob/user) . = ..() - . += "Balance: [balance] dollars" + . += "Balance: [balance] [MONEY_NAME]" diff --git a/modular_darkpack/modules/electricity/code/fusebox.dm b/modular_darkpack/modules/electricity/code/fusebox.dm index b3be1b9c4a0e..a0bbd69e9226 100644 --- a/modular_darkpack/modules/electricity/code/fusebox.dm +++ b/modular_darkpack/modules/electricity/code/fusebox.dm @@ -51,32 +51,39 @@ update_icon() update_sound_state() -/obj/fusebox/attackby(obj/item/I, mob/living/user, params) - if(I.tool_behaviour == TOOL_WIRECUTTER) +/obj/fusebox/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(tool.tool_behaviour == TOOL_WIRECUTTER) if(!repairing) repairing = TRUE - if(do_after(user, 10 SECONDS, src)) - damaged = 0 - update_icon_state() - update_sound_state() - playsound(get_turf(src),'modular_darkpack/modules/electricity/sounds/fusebox_fix.ogg', 50, FALSE) - var/area/power_area = get_area(src) - power_area.power_light = TRUE - power_area.power_equip = TRUE - power_area.power_environ = TRUE - power_area.power_change() - if(initial(power_area.fire_controled)) - power_area.fire_controled = TRUE - for(var/obj/machinery/light/L in power_area) - L.update(FALSE) + if(!do_after(user, 10 SECONDS, src)) repairing = FALSE - else - repairing = FALSE - else - ..() - if(I.force) - damaged += I.force - check_damage(user) + return ITEM_INTERACT_BLOCKING + + damaged = 0 + update_icon_state() + update_sound_state() + playsound(get_turf(src),'modular_darkpack/modules/electricity/sounds/fusebox_fix.ogg', 50, FALSE) + var/area/power_area = get_area(src) + power_area.power_light = TRUE + power_area.power_equip = TRUE + power_area.power_environ = TRUE + power_area.power_change() + if(initial(power_area.fire_controled)) + power_area.fire_controled = TRUE + for(var/obj/machinery/light/L in power_area) + L.update(FALSE) + + repairing = FALSE + return ITEM_INTERACT_SUCCESS + + return NONE + +// This sucks. Snowflaking its own integrity system is always bad. +/obj/fusebox/attackby(obj/item/attacking_item, mob/user, list/modifiers, list/attack_modifiers) + . = ..() + if(attacking_item.force) + damaged += attacking_item.force + check_damage(user) // transformers (another type of fusebox) /obj/fusebox/transformer diff --git a/modular_darkpack/modules/food/code/drinks.dm b/modular_darkpack/modules/food/code/drinks.dm index 91857b98641e..5990fb7c2667 100644 --- a/modular_darkpack/modules/food/code/drinks.dm +++ b/modular_darkpack/modules/food/code/drinks.dm @@ -30,7 +30,7 @@ icon_state = "beer_blue" list_reagents = list(/datum/reagent/consumable/ethanol/beer/light = 25, /datum/reagent/toxin/amatoxin = 5) -// DARKPACK TODO - Typhon's Beer +// DARKPACK TODO - (Typhon's Beer needs an audit of its handling. This looks ass.) /obj/item/reagent_containers/cup/glass/bottle/beer/vampire/typhon name = "Typhon's Beer" desc = "A sanguine drink to sate those of vampiric tastes" @@ -38,6 +38,10 @@ //foodtype = SANGUINE list_reagents = list(/datum/reagent/consumable/ethanol/beer/typhon = 30) +/obj/item/reagent_containers/cup/glass/bottle/beer/vampire/typhon/attack(mob/living/M, mob/user, def_zone) + . = ..() + reagents.trans_to(M, gulp_size, transferred_by = user) + /datum/reagent/consumable/ethanol/beer/typhon name = "Typhon's Beer" description = "An alcoholic beverage brewed with a sicekningly addictive sanguine taste" @@ -55,10 +59,6 @@ M.adjust_blood_pool(1) return ..() -/obj/item/reagent_containers/cup/glass/bottle/beer/vampire/typhon/attack(mob/living/M, mob/user, def_zone) - . = ..() - reagents.trans_to(M, gulp_size, transferred_by = user) - /obj/item/reagent_containers/cup/glass/vampirecola name = "two liter cola bottle" desc = "Coca cola espuma..." diff --git a/modular_darkpack/modules/food/code/recipes.dm b/modular_darkpack/modules/food/code/recipes.dm index 40134234447f..8e7c1df33edd 100644 --- a/modular_darkpack/modules/food/code/recipes.dm +++ b/modular_darkpack/modules/food/code/recipes.dm @@ -8,10 +8,9 @@ /datum/crafting_recipe/typhon_brew/is_recipe_available(mob/user) if(!ishuman(user)) return FALSE - //var/mob/living/carbon/human/H = user - /*for(var/datum/action/A in H.actions) DARKPACK TODO: Serpentis - if(istype(A, /datum/action/discipline/serpentis)) - return TRUE - */ - return FALSE + var/datum/splat/vampire/vampire = does_use_disciplines(user) + if(vampire?.get_discipline_power(/datum/discipline/serpentis)) + return TRUE + + return FALSE diff --git a/modular_darkpack/modules/masquerade/code/blood_hunt_skull.dm b/modular_darkpack/modules/masquerade/code/blood_hunt_skull.dm index a5e1b9110b5f..3eb00551dedd 100644 --- a/modular_darkpack/modules/masquerade/code/blood_hunt_skull.dm +++ b/modular_darkpack/modules/masquerade/code/blood_hunt_skull.dm @@ -2,6 +2,7 @@ name = "ominous skull" desc = "A stylized skull, made out of marble." icon = 'modular_darkpack/modules/masquerade/icons/blood_hunt_skull.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/masquerade/icons/onfloor.dmi') icon_state = "skull" item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_SMALL @@ -70,17 +71,17 @@ target.clear_blood_hunt() // This code is for reinforcing a player's masquerade. -/obj/item/blood_hunt/pre_attack(atom/A, mob/living/user, params) - if(!ishuman(A)) - return - if(!iskindred(A)) - return +/obj/item/blood_hunt/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!ishuman(interacting_with)) + return NONE + if(!iskindred(interacting_with)) + return ITEM_INTERACT_BLOCKING - to_chat(user, span_notice("You hold the [src] up to [A]...")) - if(!do_after(user, 10 SECONDS, A)) - return COMPONENT_CANCEL_ATTACK_CHAIN - if(SSmasquerade.masquerade_reinforce(src, A, MASQUERADE_REASON_PREFERENCES)) - to_chat(user, span_notice("You pardon [A]'s masquerade breach!")) - return COMPONENT_CANCEL_ATTACK_CHAIN - to_chat(user, span_notice("[A]'s masquerade breach isn't worthy enough to be pardoned!")) - return COMPONENT_CANCEL_ATTACK_CHAIN + to_chat(user, span_notice("You hold the [src] up to [interacting_with]...")) + if(!do_after(user, 10 SECONDS, interacting_with)) + return ITEM_INTERACT_BLOCKING + if(SSmasquerade.masquerade_reinforce(src, interacting_with, MASQUERADE_REASON_PREFERENCES)) + to_chat(user, span_notice("You pardon [interacting_with]'s masquerade breach!")) + return ITEM_INTERACT_SUCCESS + to_chat(user, span_notice("[interacting_with]'s masquerade breach isn't worthy enough to be pardoned!")) + return ITEM_INTERACT_BLOCKING diff --git a/modular_darkpack/modules/masquerade/icons/onfloor.dmi b/modular_darkpack/modules/masquerade/icons/onfloor.dmi index 569d6c68db66ad4e70ba80a40ad6f7f2a38ac5be..18212b14a75a38899059a89a6a8fa3a714fc8ca6 100644 GIT binary patch delta 1355 zcmaFKa*2C_I9~z>8v_HwqZ#EEKx)Or*{$_WS>2nxi;Fg_Hgel>DuSJ3r$u+rY2(j9 z2Tn~9jrkjMz>$IBNuQ^5I_upJ3=Aw!JzX3_D(1YM?VBO&C~`b~^0tlJA{-rCm7;7S zL|7fGE()z$6!bB=scQvCQ@p6wmDS;*%vw<&AFwZ-+94-mADF$SN~0-aMVO)|nl%_jkT$Km4XA@&2>FW%u7LTP)gtoV8iG!LH%ItQbQZYeOPq zLIi^Z7G_t8-JL-3ZJU3_$?a1TTg)Z1C9648U z$7=f?yT^?+zyE}O+iGQfwf@0W;r-V-?_2u(ITG-P)9z^fzhZ}w`#Y2OMs7Ar{_}6) zkE>F@O|%>rUYd}TDw?`!<;NF>scO3~FT2s{nma{!_AIIPB9Z+owz!yex%>8d^E}Gt zEKuLEVu=R}6XV8pPZzn~=Gx`7rC-VW4ksVq(fMzW@b7wb{g=f3xepQwH*RQRtPiZ* zc6CuMYpkNx?=2<&6pD>xw%t|jI9H|g(RSh=o~eraRZ1*A-c?;uq4AGDyhh8p&htg& zmJ?;u6|7!&&cFYA^8AHHOOzd7%Q;MF`C=LRyV%ja?MJ7~F?G(D#eeGs<6m}kKx zd|(5Efer%?H^X5jRAxPPVYq09zIS5KO!M!vYTr9_-{HG@e9Lv^r@al&7GJd2>$$se z`^D{|g@-5ZklQHVIYV?+yxQ@#zo*@h?!WUXKUHSZ%Fu)NS$gE{UBB_)et)Vi^{G|(DSpNm7Yjkn6iAjl+@+W2k$oDoIZ`=$*-DKA4}ST7bS~7I{EX&uMINi z*GIo_z7q0cO`e5m=8gJrRgdK&l2aAF{HpQVm6i3ze9E6^eRqqhb7NhvsivuHsb^Vm z{rTdTm4%Vl>h&*bIj%Z#p{gdU!X@+eV%Sz+msbg-zOIXxY4+JrzbNWNCBN-!Xfq{MD`e9NaS7=lq|& zS@%5a>?W3nJ1h(guy=i;j5Y4yk%T>RpFCaFQQxRNJ^3VSmi9H5p6LgktYug)lyIoM z{QTP&7h_Kru6f&7Z@aOm?V_Osx5gBf7f$!9fA>9IlzVXAlRI;SeIJz+pD{bxe9_iH z)xlJ1_M77@UI*S-h8i)hx_G13>4&H9S)ZHvJIZaAhJW6b!L6}{WyXaY1s&_GcKZJP z@>jk0`%>Kn7lamgr>Ad!bAJAA6>oo)GVRnj@x|2)stKQ`Z7rHDV9Dm(rfm&Q-VJ&siiwRTn|+g(wCm+|MB05z2Tw!W7IqW57$3TH8a`#_clJ~1(uc!p00i_>zopr E0H?Zti2wiq delta 475 zcmV<10VMv?3+V)q7k@wq0{{R3(&~ad00018P)t-sz`($Q0syH30Ky3eRsaBC4hw<+ z0ErF@mjwl#6A)(?5^Eh6ju#S<9TuS+7Nj8?Z66qu9~h-19sKolxpfy;QBGwu2;t(x z_4ebqw4c+@610@4V 0) if(world.time >= source.escape_attempt) - source.escape_attempt = world.time + 5 SECONDS - var/rollcheck = SSroll.storyteller_roll(source.st_get_stat(STAT_STRENGTH), 6, list(source), numerical = FALSE) - if(rollcheck == ROLL_SUCCESS) - to_chat(source, span_notice("You break free from the tentacle's grasp!")) - release_mob(source, TRUE) - return - - else if(rollcheck == ROLL_BOTCH || rollcheck == ROLL_FAILURE) - to_chat(source, span_warning("You struggle against the tentacle but can't break free!")) + source.escape_attempt = world.time + 1 TURNS + var/roll = SSroll.storyteller_roll(source.st_get_stat(STAT_STRENGTH), 6, list(source), numerical = FALSE) + switch(roll) + if(ROLL_SUCCESS) + to_chat(source, span_notice("You break free from the tentacle's grasp!")) + release_mob(source, TRUE) + return + if(ROLL_FAILURE, ROLL_BOTCH) + to_chat(source, span_warning("You struggle against the tentacle but can't break free!")) source.visible_message(span_danger("The tentacle pulls [source] back!")) source.forceMove(get_turf(src)) -/mob/living/basic/abyss_tentacle/death() +/mob/living/basic/abyss_tentacle/death(gibbed) visible_message(span_danger("[src] retracts back into the shadows!")) release_grabbed_mob() . = ..() diff --git a/modular_darkpack/modules/npc/code/nonhuman/hostile/baali_guard.dm b/modular_darkpack/modules/npc/code/nonhuman/hostile/baali_guard.dm index 92d1997e592c..b380e30b888c 100644 --- a/modular_darkpack/modules/npc/code/nonhuman/hostile/baali_guard.dm +++ b/modular_darkpack/modules/npc/code/nonhuman/hostile/baali_guard.dm @@ -1,5 +1,5 @@ /mob/living/basic/baali_guard - name = "Infernal Creature" + name = "infernal creature" desc = "The peak of abominations armor. Unbelievably undamagable..." icon = 'modular_darkpack/modules/deprecated/icons/32x48.dmi' icon_state = "baali" diff --git a/modular_darkpack/modules/npc/code/nonhuman/hostile/bear.dm b/modular_darkpack/modules/npc/code/nonhuman/hostile/bear.dm index 95c0bfc097d6..cb943693ebd7 100644 --- a/modular_darkpack/modules/npc/code/nonhuman/hostile/bear.dm +++ b/modular_darkpack/modules/npc/code/nonhuman/hostile/bear.dm @@ -3,8 +3,8 @@ desc = "IS THAT A FUCKING BEAR-" icon = 'modular_darkpack/modules/npc/icons/bear.dmi' bloodquality = BLOOD_QUALITY_LOW - bloodpool = 1 - maxbloodpool = 1 + bloodpool = 10 + maxbloodpool = 10 maxHealth = 850 health = 850 melee_damage_lower = 40 diff --git a/modular_darkpack/modules/occult_artifacts/code/artifacts/odious_chalice.dm b/modular_darkpack/modules/occult_artifacts/code/artifacts/odious_chalice.dm index 5861a92886c0..091f8906b4d3 100644 --- a/modular_darkpack/modules/occult_artifacts/code/artifacts/odious_chalice.dm +++ b/modular_darkpack/modules/occult_artifacts/code/artifacts/odious_chalice.dm @@ -21,6 +21,5 @@ M.adjust_fire_loss(-5*stored_blood, TRUE) M.update_damage_overlays() M.update_health_hud() - M.update_blood_hud() playsound(M.loc,'sound/items/drink.ogg', 50, TRUE) return diff --git a/modular_darkpack/modules/phones/code/_phone.dm b/modular_darkpack/modules/phones/code/_phone.dm index 1b40a871bec3..9b5ad1c48adb 100644 --- a/modular_darkpack/modules/phones/code/_phone.dm +++ b/modular_darkpack/modules/phones/code/_phone.dm @@ -172,18 +172,18 @@ return CLICK_ACTION_SUCCESS return CLICK_ACTION_BLOCKING -/obj/item/smartphone/attackby(obj/item/attacking_item, mob/user, params) - if(istype(attacking_item, /obj/item/sim_card)) +/obj/item/smartphone/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(istype(tool, /obj/item/sim_card)) if(sim_card) balloon_alert(user, "[sim_card] already installed!") - return FALSE - balloon_alert(user, "you insert \the [attacking_item]!") - sim_card = attacking_item - user.transferItemToLoc(attacking_item, src) + return ITEM_INTERACT_BLOCKING + balloon_alert(user, "you insert \the [tool]!") + sim_card = tool + user.transferItemToLoc(tool, src) sim_card.phone_weakref = WEAKREF(src) phone_flags &= ~PHONE_NO_SIM - return TRUE - return ..() + return ITEM_INTERACT_SUCCESS + return NONE /obj/item/smartphone/ui_status(mob/user, datum/ui_state/state) if(!(phone_flags & PHONE_OPEN)) diff --git a/modular_darkpack/modules/postal/code/postal.dm b/modular_darkpack/modules/postal/code/postal.dm index 28bc591621e7..a3870baa23c4 100644 --- a/modular_darkpack/modules/postal/code/postal.dm +++ b/modular_darkpack/modules/postal/code/postal.dm @@ -21,22 +21,25 @@ else say("Not enough money on [src] balance!") -// DARKPACK TODO - (item_interaction) -/obj/lettermachine/attackby(obj/item/I, mob/user, params) - if(iscash(I)) - money += I.get_item_credit_value() - to_chat(user, span_notice("You insert [I.get_item_credit_value()] dollars into [src].")) - say("[I] inserted.") - qdel(I) - if(istype(I, /obj/item/mark)) +/obj/lettermachine/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(iscash(tool)) + money += tool.get_item_credit_value() + to_chat(user, span_notice("You insert [tool.get_item_credit_value()] [MONEY_NAME] into [src].")) + say("[tool] inserted.") + qdel(tool) + return ITEM_INTERACT_SUCCESS + + if(istype(tool, /obj/item/mark)) new /obj/item/stack/dollar(loc, 30) - say("[I] delivered!") - qdel(I) - return ..() + say("[tool] delivered!") + qdel(tool) + return ITEM_INTERACT_SUCCESS + + return NONE /obj/lettermachine/examine(mob/user) . = ..() - . += span_info("It contains [money] dollars.") + . += span_info("It contains [money] [MONEY_NAME].") /obj/item/letter name = "letter" diff --git a/modular_darkpack/modules/powers/code/discipline/quietus/quietus.dm b/modular_darkpack/modules/powers/code/discipline/quietus/quietus.dm index 890d3e897e55..142b8e25fdda 100644 --- a/modular_darkpack/modules/powers/code/discipline/quietus/quietus.dm +++ b/modular_darkpack/modules/powers/code/discipline/quietus/quietus.dm @@ -258,7 +258,7 @@ var/layers = tgui_input_number(owner, "How many blood points do you want to use?", "Baal's Caress", 1, max_layers, 1) if(!layers) return - user.bloodpool -= layers + user.adjust_blood_pool(-layers) target.AddComponent(/datum/component/baals_caress, owner, layers) to_chat(owner, span_notice("You imbue [target] with [layers] layer\s of your toxic vitae!")) diff --git a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/status_effects/blood_of_potency_effect.dm b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/status_effects/blood_of_potency_effect.dm index 23fdca6b8b8c..ea2f2ebaa662 100644 --- a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/status_effects/blood_of_potency_effect.dm +++ b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/status_effects/blood_of_potency_effect.dm @@ -19,10 +19,8 @@ iskindred(owner)?.set_generation(stored_generation) stored_generation = null - owner.update_blood_hud() - if(owner.bloodpool > owner.maxbloodpool) - owner.bloodpool = owner.maxbloodpool + owner.set_blood_pool(owner.maxbloodpool) /atom/movable/screen/alert/status_effect/blood_of_potency name = "Blood of Potency" diff --git a/modular_darkpack/modules/radios/code/transceiver.dm b/modular_darkpack/modules/radios/code/transceiver.dm index 81dd77d36dde..14d836426413 100644 --- a/modular_darkpack/modules/radios/code/transceiver.dm +++ b/modular_darkpack/modules/radios/code/transceiver.dm @@ -30,7 +30,7 @@ if(CONFIG_GET(flag/punishing_zero_dots) && user.st_get_stat(STAT_TECHNOLOGY) < 1) to_chat(user, span_warning("You don't know how to operate this!")) - return ITEM_INTERACT_FAILURE + return ITEM_INTERACT_BLOCKING var/obj/item/radio/headset/darkpack/radio = tool if(radio.radio_id) @@ -45,10 +45,10 @@ else var/input_number = tgui_input_number(user = user, message = "Set Radio ID", title = "Enter a numerical ID to use for this network.", max_value = 999, min_value = 1, round_value = TRUE) if(!input_number) - return ITEM_INTERACT_FAILURE + return ITEM_INTERACT_BLOCKING if("[input_number]" in connected_radios) to_chat(user, span_warning("A radio with that ID is already connected to this network!")) - return ITEM_INTERACT_FAILURE + return ITEM_INTERACT_BLOCKING join_network(radio, input_number) playsound(src, 'modular_darkpack/modules/radios/sounds/radio_on.ogg', 60, TRUE) to_chat(user, span_notice("You link the [radio] to the [radio_network].")) diff --git a/modular_darkpack/modules/ritual_abyss_mysticism/code/rituals/comforting_darkness.dm b/modular_darkpack/modules/ritual_abyss_mysticism/code/rituals/comforting_darkness.dm index 13ca050141f7..4e530e0e4d85 100644 --- a/modular_darkpack/modules/ritual_abyss_mysticism/code/rituals/comforting_darkness.dm +++ b/modular_darkpack/modules/ritual_abyss_mysticism/code/rituals/comforting_darkness.dm @@ -43,19 +43,19 @@ spent_points = tgui_input_list(invoker, "How many blood points would you like to spend? (60 healing per)", "Blood Points", bpoptions, null) if(!spent_points) return - invoker.bloodpool = max(invoker.bloodpool - spent_points, 0) + invoker.adjust_blood_pool(-spent_points) invoker.apply_status_effect(/datum/status_effect/blood_debt, 2 * spent_points) // Apply debuff with debt amount for(var/mob/living/carbon/human/target in heal_targets) target.heal_ordered_damage(60 * spent_points, list(BRUTE, TOX, OXY, STAMINA)) // Heals 2 levels of lethal/bashing per point spent target.heal_ordered_damage(30 * spent_points, list(BURN, AGGRAVATED)) // Heals aggravated at half effectiveness, TTRPG-inaccurate implementation but necessary else if(roll == 0) - invoker.bloodpool = max(invoker.bloodpool - 1, 0) + invoker.adjust_blood_pool(-1) qdel(src) else if(roll <= -1) to_chat(invoker, span_warning("You lose focus, failing to control the darkness as it burns you!")) - invoker.bloodpool = max(invoker.bloodpool - 1, 0) + invoker.adjust_blood_pool(-1) invoker.apply_damage(30, AGGRAVATED) qdel(src) diff --git a/modular_darkpack/modules/ritual_abyss_mysticism/code/status_effects/blood_debt.dm b/modular_darkpack/modules/ritual_abyss_mysticism/code/status_effects/blood_debt.dm index d5ba071ee812..7fbce92fd314 100644 --- a/modular_darkpack/modules/ritual_abyss_mysticism/code/status_effects/blood_debt.dm +++ b/modular_darkpack/modules/ritual_abyss_mysticism/code/status_effects/blood_debt.dm @@ -19,7 +19,7 @@ if(blood_gained > 0) var/payment = min(blood_gained, debt_amount) - owner.bloodpool -= payment + owner.adjust_blood_pool(-payment) debt_amount -= payment initial_bloodpool = owner.bloodpool diff --git a/modular_darkpack/modules/sabbat/code/sabbat_blood_bath.dm b/modular_darkpack/modules/sabbat/code/sabbat_blood_bath.dm index e8c5d7737ead..81c0189f293e 100644 --- a/modular_darkpack/modules/sabbat/code/sabbat_blood_bath.dm +++ b/modular_darkpack/modules/sabbat/code/sabbat_blood_bath.dm @@ -34,8 +34,8 @@ icon = 'modular_darkpack/modules/decor/icons/bathroom.dmi' icon_state = "tub" -/obj/structure/bath/sabbatbath/attackby(obj/item/W, mob/living/carbon/user, params) - if(istype(W, /obj/item/sabbat_priest_tome)) +/obj/structure/bath/sabbatbath/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(istype(tool, /obj/item/sabbat_priest_tome)) if(user.mind && is_sabbat_priest(user) && has_buckled_mobs()) var/mob/living/buckled_mob = buckled_mobs[1] if(buckled_mob.mind) @@ -60,19 +60,19 @@ to_chat(sabbat_member, span_cult("[buckled_mob] has been anointed as the new Ductus of the pack!")) to_chat(buckled_mob, span_cult("You have been anointed as the new Ductus of the pack!")) - return - if(istype(W, /obj/item/knife/vamp)) + return ITEM_INTERACT_SUCCESS + if(istype(tool, /obj/item/knife/vamp)) playsound(loc,'sound/items/weapons/bladeslice.ogg', 50, FALSE) if(do_after(user, 100)) if(user.bloodpool <= 0) to_chat(user, span_warning("You have no blood to donate!")) - return + return ITEM_INTERACT_BLOCKING user.visible_message(span_notice("[user] cuts [user.p_their()] wrist and lets blood flow into the bath."), span_notice("You cut your wrist and let blood flow into the bath.")) var/amount_to_donate = min(user.bloodpool, 3) - user.bloodpool -= amount_to_donate + user.adjust_blood_pool(-amount_to_donate) blood_level = min(blood_level + amount_to_donate, max_blood) reagents.add_reagent(/datum/reagent/blood, amount_to_donate) @@ -82,21 +82,22 @@ update_icon() - return TRUE + return ITEM_INTERACT_SUCCESS else to_chat(user, span_warning("You decide not to add your blood to the bathtub...")) + return ITEM_INTERACT_BLOCKING // Handle vaulderie goblet specifically so that the Priest can use the tub's blood for vaulderie (part of the blood bath rite) - if(istype(W, /obj/item/reagent_containers/cup/silver_goblet/vaulderie_goblet)) - var/obj/item/reagent_containers/cup/silver_goblet/vaulderie_goblet/goblet = W + if(istype(tool, /obj/item/reagent_containers/cup/silver_goblet/vaulderie_goblet)) + var/obj/item/reagent_containers/cup/silver_goblet/vaulderie_goblet/goblet = tool if(blood_level <= 0) to_chat(user, span_warning("The bath is empty.")) - return + return ITEM_INTERACT_BLOCKING var/transfer_amount = min(goblet.volume - goblet.reagents.total_volume, blood_level) if(transfer_amount <= 0) to_chat(user, span_warning("The goblet is already full.")) - return + return ITEM_INTERACT_BLOCKING user.visible_message(span_notice("[user] scoops blood from the bath into [goblet]."), span_notice("You scoop blood from the bath into [goblet].")) @@ -109,9 +110,7 @@ if(blood_level <= 0) update_icon() - return TRUE - - return ..() + return ITEM_INTERACT_SUCCESS /obj/structure/bath/sabbatbath/user_buckle_mob(mob/living/M, mob/user, check_loc = TRUE) . = ..() diff --git a/modular_darkpack/modules/vitae/code/blood_pack.dm b/modular_darkpack/modules/vitae/code/blood_pack.dm index f82f58723bba..f53ece7db5fc 100644 --- a/modular_darkpack/modules/vitae/code/blood_pack.dm +++ b/modular_darkpack/modules/vitae/code/blood_pack.dm @@ -31,16 +31,18 @@ inhand_icon_state = icon_state onflooricon_state = icon_state -/obj/item/reagent_containers/blood/attack(mob/living/M, mob/living/user) - . = ..() - if(!canconsume(M, user)) - return - if(!do_after(user, 3 SECONDS, M)) - return - reagents.trans_to(M, reagents.total_volume, transferred_by = user, methods = INGEST, show_message = FALSE) - playsound(M.loc, 'sound/items/drink.ogg', 50, TRUE) +/obj/item/reagent_containers/blood/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!ismob(interacting_with)) + return NONE + if(!canconsume(interacting_with, user)) + return ITEM_INTERACT_BLOCKING + if(!do_after(user, 3 SECONDS, interacting_with)) + return ITEM_INTERACT_BLOCKING + reagents.trans_to(interacting_with, reagents.total_volume, transferred_by = user, methods = INGEST, show_message = FALSE) + playsound(interacting_with.loc, 'sound/items/drink.ogg', 50, TRUE) update_appearance() - //SEND_SIGNAL(M, COMSIG_MASQUERADE_VIOLATION) + // SEND_SIGNAL(interacting_with, COMSIG_MASQUERADE_VIOLATION) - warning, interacting_with is the person who will be breaching, griefing potential here if a player walks up and feeds someone a bloodbag in public causing them to breach. resolve this prior to uncommenting + return ITEM_INTERACT_SUCCESS /obj/item/reagent_containers/blood/empty blood_type = null diff --git a/modular_darkpack/modules/weapons/code/melee.dm b/modular_darkpack/modules/weapons/code/melee.dm index 3c2d839afd22..b0b262090453 100644 --- a/modular_darkpack/modules/weapons/code/melee.dm +++ b/modular_darkpack/modules/weapons/code/melee.dm @@ -165,9 +165,9 @@ masquerade_violating = FALSE //is_iron = FALSE DARKPACK TODO - Kiasyd +/* DARKPACK TODO - WEREWOLF - (this is a silver longsword) /obj/item/claymore/longsword/keeper/afterattack(atom/target, mob/living/carbon/user, proximity) . = ..() - /* DARKPACK TODO - WEREWOLF - (this is a silver longsword) if(iswerewolf(target) || isgarou(target) && proximity) var/mob/living/carbon/M = target if(M.auspice.gnosis) @@ -176,7 +176,7 @@ M.apply_damage(25, CLONE) M.apply_status_effect(STATUS_EFFECT_SILVER_SLOWDOWN) - */ +*/ /obj/item/melee/baseball_bat/vamp name = "baseball bat" diff --git a/modular_darkpack/modules/weapons/code/pliers.dm b/modular_darkpack/modules/weapons/code/pliers.dm index d31ad116ecf3..9b296168df48 100644 --- a/modular_darkpack/modules/weapons/code/pliers.dm +++ b/modular_darkpack/modules/weapons/code/pliers.dm @@ -5,25 +5,15 @@ icon_state = "neat_ripper" lefthand_file = 'modular_darkpack/modules/weapons/icons/melee_lefthand.dmi' righthand_file = 'modular_darkpack/modules/weapons/icons/melee_righthand.dmi' - onflooricon_state = "neat_ripper" inhand_icon_state = "neat_ripper" toolspeed = 2 //isn't meant for cutting wires + slot_flags = NONE /// If pulling fangs lasts for the entire ROUND or not. var/permanent = TRUE - slot_flags = NONE - -/obj/item/wirecutters/pliers/bad_pliers - name = "pliers" - desc = "Meant for pulling wires but you could definetly crush something with these." - icon_state = "ripper" - onflooricon_state = "ripper" - inhand_icon_state = "ripper" - toolspeed = 1.2 //is an actual tool but can't actually cut - permanent = FALSE +/* DARKPACK TODO - Merits/Flaws related to feeding /obj/item/wirecutters/pliers/attack(mob/living/target, mob/living/user) . = ..() - /* DARKPACK TODO - Merits/Flaws related to feeding if(HAS_TRAIT(user, TRAIT_PACIFISM)) return if(HAS_TRAIT(target, TRAIT_BABY_TEETH)) @@ -42,4 +32,12 @@ visible_message(span_warning("[user] stuff's in Bone putty into [target] to stop their canines from regrowing!")) else target.apply_status_effect(STATUS_EFFECT_BABY_TEETH) - */ +*/ + +/obj/item/wirecutters/pliers/bad_pliers + name = "pliers" + desc = "Meant for pulling wires but you could definetly crush something with these." + icon_state = "ripper" + inhand_icon_state = "ripper" + toolspeed = 1.2 //is an actual tool but can't actually cut + permanent = FALSE diff --git a/tools/UpdatePaths/darkpackmerged.txt b/tools/UpdatePaths/darkpackmerged.txt deleted file mode 100644 index 082e3775ef17..000000000000 --- a/tools/UpdatePaths/darkpackmerged.txt +++ /dev/null @@ -1,952 +0,0 @@ -# Not related to any changes of speicifc second city prs. Just to convert old maps pre-rebase to second city - -# #66978 never made an updates path -/obj/structure/flora/ausbushes : /obj/structure/flora/bush/style_random {@OLD} -/obj/structure/flora/ausbushes/reedbush : /obj/structure/flora/bush/reed/style_random {@OLD} -/obj/structure/flora/ausbushes/leafybush : /obj/structure/flora/bush/leavy/style_random {@OLD} -/obj/structure/flora/ausbushes/palebush : /obj/structure/flora/bush/stalky/style_random {@OLD} -/obj/structure/flora/ausbushes/stalkybush : /obj/structure/flora/bush/stalky/style_random {@OLD} -/obj/structure/flora/ausbushes/grassybush : /obj/structure/flora/bush/grassy/style_random {@OLD} -/obj/structure/flora/ausbushes/fernybush : /obj/structure/flora/bush/ferny/style_random {@OLD} -/obj/structure/flora/ausbushes/sunnybush : /obj/structure/flora/bush/sunny/style_random {@OLD} -/obj/structure/flora/ausbushes/genericbush : /obj/structure/flora/bush/generic/style_random {@OLD} -/obj/structure/flora/ausbushes/pointybush : /obj/structure/flora/bush/pointy/style_random {@OLD} -/obj/structure/flora/ausbushes/lavendergrass : /obj/structure/flora/bush/lavendergrass/style_random {@OLD} -/obj/structure/flora/ausbushes/brflowers : /obj/structure/flora/bush/flowers_br/style_random {@OLD} -/obj/structure/flora/ausbushes/ppflowers : /obj/structure/flora/bush/flowers_pp/style_random {@OLD} -/obj/structure/flora/ausbushes/ywflowers : /obj/structure/flora/bush/flowers_yw/style_random {@OLD} -/obj/structure/flora/ausbushes/sparsegrass : /obj/structure/flora/bush/sparsegrass/style_random {@OLD} -/obj/structure/flora/ausbushes/fullgrass : /obj/structure/flora/bush/fullgrass/style_random {@OLD} -/obj/structure/flora/stump : /obj/structure/flora/tree/stump -/obj/structure/flora/ausbushes/shortgrass : /obj/structure/flora/bush/style_random {@OLD} -/obj/structure/flora/ausbushes/tallgrass/dry : /obj/structure/flora/bush/style_random {@OLD} -/obj/structure/flora/junglebush : /obj/structure/flora/bush/style_random {@OLD} -/obj/structure/flora/junglebush/b : /obj/structure/flora/bush/style_random {@OLD} -/obj/structure/flora/junglebush/c : /obj/structure/flora/bush/style_random {@OLD} -/obj/structure/flora/junglebush/large : /obj/structure/flora/bush/style_random {@OLD} -/obj/structure/flora/rock/jungle : /obj/structure/flora/bush/style_random {@OLD} -/obj/structure/flora/rock/pile/largejungle : /obj/structure/flora/bush/style_random {@OLD} - -/obj/structure/fluff/hedge : /obj/structure/hedge {@OLD} -/obj/structure/mopbucket : /obj/structure/mop_bucket {@OLD} -/obj/structure/janitorialcart : /obj/structure/mop_bucket/janitorialcart {@OLD} -/obj/structure/reagent_dispensers/peppertank : /obj/structure/reagent_dispensers/wall/peppertank {@OLD} - -/obj/structure/table/wood/bar : /obj/structure/table/wood/shuttle_bar - -/obj/item/grown/sunflower : /obj/item/food/grown/sunflower {@OLD} -/obj/item/food/cheesewheel : /obj/item/food/cheese/wheel {@OLD} -/obj/item/food/cheesewedge : /obj/item/food/cheese/wedge {@OLD} -/obj/item/storage/pill_bottle/dice : /obj/item/storage/dice {@OLD} -/obj/item/soapstone : @DELETE -#this was a borg item that should not have been mapped in the first place -/obj/item/organ_storage : @DELETE -#why was this mapped -/obj/item/mop/cyborg : /obj/item/mop -/obj/item/anesthetic_tank : /obj/item/tank/internals/anesthetic {@OLD} -/obj/item/trash/plate : /obj/item/plate {@OLD} -/obj/item/toy/prize/@SUBTYPES : /obj/item/toy/mecha/@SUBTYPES {@OLD} - -/mob/living/simple_animal/deer : /mob/living/basic/deer -/mob/living/simple_animal/cow : /mob/living/basic/cow -/mob/living/simple_animal/hostile/cockroach : /mob/living/basic/cockroach/sewer - -# for some reasn our ghosts dont have /retaliate/ and thus arent caught by the ghost conversion txt... -/mob/living/simple_animal/hostile/ghost : /mob/living/basic/ghost -/mob/living/simple_animal/hostile/ghost/hostile : /mob/living/basic/ghost - -/obj/structure/extinguisher_cabinet{dir = @UNSET} : /obj/structure/extinguisher_cabinet/directional/north -/obj/structure/extinguisher_cabinet{dir = 1} : /obj/structure/extinguisher_cabinet/directional/north -/obj/structure/extinguisher_cabinet{dir = 2} : /obj/structure/extinguisher_cabinet/directional/south -/obj/structure/extinguisher_cabinet{dir = 4} : /obj/structure/extinguisher_cabinet/directional/east -/obj/structure/extinguisher_cabinet{dir = 8} : /obj/structure/extinguisher_cabinet/directional/west - -/obj/item/food/soup/stew : @DELETE -/obj/item/food/soup/vegetable : @DELETE -/obj/item/food/soup/bungocurry : @DELETE -/obj/item/food/chewable/spiderlollipop : /obj/item/food/spiderlollipop - -/obj/item/kitchen/knife : /obj/item/knife/kitchen {@OLD} -/obj/item/kitchen/knife/butcher : /obj/item/knife/butcher{@OLD} -/obj/item/kitchen/knife/plastic : /obj/item/knife/plastic{@OLD} -/obj/item/kitchen/knife/shiv : /obj/item/knife/shiv {@OLD} - -/obj/item/melee/classic_baton/telescopic : /obj/item/melee/baton/telescopic - -/obj/item/toy/mecha/fireripley : /obj/item/toy/mecha/firefighter - -# This item doesn't exist on TG anymore. -/obj/item/melee/rune_knife : @DELETE - -# Lights are snowflaked here due to us getting the directionals BACKWARDS. I hate flav. -# OLD LIGHTS FROM 70277 - -/obj/machinery/light{dir = @UNSET} : /obj/machinery/light/directional/north -/obj/machinery/light{dir = 1} : /obj/machinery/light/directional/south -/obj/machinery/light{dir = 2} : /obj/machinery/light/directional/north -/obj/machinery/light{dir = 4} : /obj/machinery/light/directional/east -/obj/machinery/light{dir = 8} : /obj/machinery/light/directional/west - -# small lights - -/obj/machinery/light/small{dir = @UNSET} : /obj/machinery/light/small/directional/north -/obj/machinery/light/small{dir = 1} : /obj/machinery/light/small/directional/south -/obj/machinery/light/small{dir = 2} : /obj/machinery/light/small/directional/north -/obj/machinery/light/small{dir = 4} : /obj/machinery/light/small/directional/west -/obj/machinery/light/small{dir = 8} : /obj/machinery/light/small/directional/east - -# WOD LIGHTS -/obj/machinery/light/prince{dir = @UNSET} : /obj/machinery/light/prince/directional/north -/obj/machinery/light/prince{dir = 1} : /obj/machinery/light/prince/directional/south -/obj/machinery/light/prince{dir = 2} : /obj/machinery/light/prince/directional/north -/obj/machinery/light/prince{dir = 4} : /obj/machinery/light/prince/directional/west -/obj/machinery/light/prince{dir = 8} : /obj/machinery/light/prince/directional/east - -/obj/structure/noticeboard : /obj/structure/noticeboard {@OLD;icon_state=@SKIP} - -/obj/item/kirbyplants {icon_state="plant0"} : /obj/item/kirbyplants/darkpack {@OLD;icon_state=@SKIP} -/obj/item/kirbyplants {icon_state="plant1"} : /obj/item/kirbyplants/darkpack/plant1 {@OLD;icon_state=@SKIP} -/obj/item/kirbyplants {icon_state="plant2"} : /obj/item/kirbyplants/darkpack/plant2 {@OLD;icon_state=@SKIP} -/obj/item/kirbyplants {icon_state="plant3"} : /obj/item/kirbyplants/darkpack/plant3 {@OLD;icon_state=@SKIP} -/obj/item/kirbyplants {icon_state="plant4"} : /obj/item/kirbyplants/darkpack/plant4 {@OLD;icon_state=@SKIP} -/obj/item/kirbyplants {icon_state="plant5"} : /obj/item/kirbyplants/darkpack/plant5 {@OLD;icon_state=@SKIP} - -/obj/structure/table/optable/optable2 : /obj/structure/table/optable {@OLD} - -/turf/open/floor/circuit/telecomms/airless : /turf/open/floor/circuit -/turf/open/floor/circuit/telecomms/normal_temp : /turf/open/floor/circuit - -# WOD13 made them real gasmasks in some pr. -/obj/item/clothing/mask/vampire : /obj/item/clothing/mask/gas/vampire {@OLD} - - - -# Fixing terrible mapping partices or linting fails - -# You are NOT allowed to varedit area subtypes -/area/@SUBTYPES : /area/@SUBTYPES - -/obj/@SUBTYPES : /obj/@SUBTYPES{@OLD;layer=@SKIP} -/obj/@SUBTYPES : /obj/@SUBTYPES{@OLD;plane=@SKIP} - -/obj/structure/window : /obj/structure/window{@OLD;dir=@SKIP} -/obj/structure/window/@SUBTYPES : /obj/structure/window/@SUBTYPES{@OLD;dir=@SKIP} - -# Under no circumstances should you map a projectile. -/obj/projectile/@SUBTYPES : @DELETE - -/mob/living/simple_animal/hostile/beastmaster : @DELETE -/mob/living/simple_animal/hostile/biter : /mob/living/basic/szlachta -/mob/living/simple_animal/hostile/biter/hostile : /mob/living/basic/szlachta/hostile -/mob/living/simple_animal/hostile/fister : /mob/living/basic/szlachta/fister -/mob/living/simple_animal/hostile/fister/hostile : /mob/living/basic/szlachta/fister/hostile -/mob/living/simple_animal/hostile/tanker : /mob/living/basic/szlachta/tanker -/mob/living/simple_animal/hostile/tanker/hostile : /mob/living/basic/szlachta/tanker/hostile - -/obj/item/card/id/@SUBTYPES : /obj/item/card/@SUBTYPES -/obj/item/cockclock : /obj/item/watch - -/obj/effect/landmark/start/barkeeper : /obj/effect/landmark/start/baron {@OLD} - -/mob/living/simple_animal/pet/cat/vampire : /mob/living/basic/pet/cat/darkpack {@OLD} -/mob/living/basic/pet/cat/vampire : /mob/living/basic/pet/cat/darkpack {@OLD} - -/mob/living/simple_animal/pet/cat/vampiretzi : /mob/living/basic/pet/cat/darkpack/tzi {@OLD} -/mob/living/basic/pet/cat/vampire/tzi : /mob/living/basic/pet/cat/darkpack/tzi {@OLD} -/mob/living/basic/pet/cat/vampiretzi : /mob/living/basic/pet/cat/darkpack/tzi {@OLD} - -/obj/item/quran : /obj/item/vampirebook/quran {@OLD} - -/obj/item/argemia : /obj/item/toy/plush/argemia {@OLD} - -/obj/item/food/carpmeat : /obj/item/food/fishmeat {@OLD} - -/obj/item/food/vampire/burger : /obj/item/food/burger/plain {@OLD} -/obj/item/food/vampire/donut : /obj/item/food/donut/plain {@OLD} -/obj/item/food/vampire/pizza : /obj/item/food/pizzaslice/square {@OLD} -/obj/item/food/vampire/taco : /obj/item/food/taco {@OLD} - -/obj/item/reagent_containers/food/condiment/vampiremilk : /obj/item/reagent_containers/condiment/milk {@OLD} -/obj/item/reagent_containers/food/condiment/vampiremilk/malk : /obj/item/reagent_containers/condiment/milk/malk {@OLD} - -/obj/item/food/vampire/bar : /obj/item/food/chocolatebar {@OLD} - -/obj/item/reagent_containers/food/drinks/bottle/vampirecola/summer_thaw : /obj/item/reagent_containers/cup/soda_cans/summer_thaw {@OLD} -/obj/item/reagent_containers/food/drinks/bottle/vampirecola/thaw_club : /obj/item/reagent_containers/cup/soda_cans/thaw_club {@OLD} -#/obj/item/reagent_containers/cup/glass/bottle/vampirecola/summer_thaw : /obj/item/reagent_containers/cup/soda_cans/summer_thaw - -/obj/food_cart : /obj/structure/food_cart {@OLD} - -/obj/item/reagent_containers/cup/glass/beer/vampire : /obj/item/reagent_containers/cup/glass/bottle/beer/vampire -/obj/item/reagent_containers/cup/glass/beer/vampire/blue_stripe : /obj/item/reagent_containers/cup/glass/bottle/beer/vampire/blue_stripe -/obj/item/reagent_containers/cup/glass/beer/vampire/typhon : /obj/item/reagent_containers/cup/glass/bottle/beer/vampire/typhon -/obj/item/reagent_containers/cup/glass/bottle/vampirewater : /obj/item/reagent_containers/cup/glass/vampirewater - -/turf/open/floor/plating/umbra : /turf/open/umbra - -/obj/flag/@SUBTYPES : /obj/structure/sign/flag/@SUBTYPES {@OLD} - -/obj/structure/sign/poster/vampire/@SUBTYPES : /obj/structure/sign/poster/city_large/@SUBTYPES {@OLD} - -/obj/structure/sign/poster/contraband/dmc : /obj/structure/sign/poster/city/dmc -/obj/structure/sign/poster/contraband/kish : /obj/structure/sign/poster/city/kish - -/area/vtm/prince_elevator : /area/vtm/interior/prince_elevator - -/area/vtm/dwelling : /area/vtm/interior/dwelling -/area/vtm/dwelling/@SUBTYPES : /area/vtm/interior/dwelling/@SUBTYPES - -/area/vtm/anarch : /area/vtm/interior/anarch -/area/vtm/anarch/@SUBTYPES : /area/vtm/interior/anarch/@SUBTYPES - -/obj/item/storage/belt/holster/detective/vampire : /obj/item/storage/belt/holster/detective/darkpack {@OLD} -/obj/item/storage/belt/holster/detective/vampire/@SUBTYPES : /obj/item/storage/belt/holster/detective/darkpack/@SUBTYPES {@OLD} - -/obj/item/ammo_box/vampire : /obj/item/ammo_box/darkpack {@OLD} -/obj/item/ammo_box/vampire/@SUBTYPES : /obj/item/ammo_box/darkpack/@SUBTYPES {@OLD} - -/obj/item/gun/energy/taser/twoshot : /obj/item/gun/energy/taser/darkpack {@OLD} -/obj/item/melee/baton/handtaser : /obj/item/melee/baton/security/handtaser {@OLD} - -/obj/machinery/vamp/atm : /obj/machinery/atm {@OLD} - -/obj/item/vamp/creditcard : /obj/item/card/credit {@OLD} -/obj/item/vamp/creditcard/@SUBTYPES : /obj/item/card/credit/@SUBTYPES {@OLD} - -/obj/item/food/fish/@SUBTYPES : /obj/item/fish/darkpack/@SUBTYPES {@OLD} -/obj/item/fish/darkpack/tune : /obj/item/fish/darkpack/tuna {@OLD} - -/obj/generator : /obj/warehouse_generator{@OLD} - -/obj/elevator_door : @DELETE -/obj/elevator_door/@SUBTYPES : @DELETE -/obj/elevator_button : /obj/machinery/button {@OLD} -/obj/elevator_button_down : /obj/machinery/button {@OLD} -/obj/elevator_button_up : @DELETE - -/area/vtm/city_elevator : /area/vtm/interior/elevator -/area/vtm/elevator : /area/vtm/interior/elevator -/area/vtm/jazzclub : /area/vtm/interior/jazzclub -/area/vtm/cabaret : /area/vtm/interior/cabaret -/area/vtm/clinic : /area/vtm/interior/clinic -/area/vtm/clinic/haven : /area/vtm/interior/clinic/haven -/area/vtm/supply : /area/vtm/interior/supply -/area/vtm/hotel : /area/vtm/interior/hotel -/area/vtm/church : /area/vtm/interior/church - -/turf/closed/wall/vampwall : /turf/closed/wall/vampwall/brick_old {@OLD} -/turf/closed/wall/vampwall/low : /turf/closed/wall/vampwall/brick_old/low {@OLD} -/turf/closed/wall/vampwall/low/window : /turf/closed/wall/vampwall/brick_old/low/window {@OLD} -/turf/closed/wall/vampwall/low/window/reinforced : /turf/closed/wall/vampwall/brick_old/low/window/reinforced {@OLD} - -/obj/manholedown : /obj/structure/ladder/manhole/down {@OLD} -/obj/manholeup : /obj/structure/ladder/manhole/up {@OLD} - -/obj/structure/rack/bubway : /obj/structure/table/countertop/bubway -/obj/structure/rack/bubway/@SUBTYPES : /obj/structure/table/countertop/bubway - -/obj/structure/rack/tacobell : /obj/structure/table/countertop/bacotell -/obj/structure/rack/tacobell/@SUBTYPES : /obj/structure/table/countertop/bacotell - -/obj/structure/table/bubway : /obj/structure/table/countertop/bubway -/obj/structure/table/bubway@SUBTYPES : /obj/structure/table/countertop/bubway - -/obj/structure/table/bacotell : /obj/structure/table/countertop/bacotell -/obj/structure/table/bacotell/@SUBTYPES : /obj/structure/table/countertop/bacotell - -/obj/item/weedseed : /obj/item/seeds/cannabis {@OLD} -/obj/item/food/vampire/weed : /obj/item/food/grown/cannabis {@OLD} -/obj/item/weedpack : /obj/item/food/grown/cannabis {@OLD} - -/obj/item/bailer : /obj/item/reagent_containers/cup/watering_can/metal {@OLD} -/obj/structure/weedshit : /obj/machinery/hydroponics/simple/plastic {@OLD} - -/obj/structure/flora/ausbushes/tallgrass : /obj/structure/flora/grass/tall/style_random -/obj/structure/flora/ausbushes/tallgrass/dry : /obj/structure/flora/grass/tall/dry/style_random -/obj/structure/flora/ausbushes/shortgrass : /obj/structure/flora/grass/short/style_random -/obj/structure/flora/ausbushes/redflower : /obj/structure/flora/bush/redflower/style_random - -/turf/open/floor/plating/vampgrass/random : /turf/open/misc/grass/vamp/random -/turf/open/floor/plating/vampgrass/random/@SUBTYPES : /turf/open/misc/grass/vamp/random/@SUBTYPES - -/obj/structure/vamprocks : /obj/structure/flora/rock/darkpack -/obj/structure/small_vamprocks : /obj/structure/flora/rock/pile/darkpack -/obj/structure/big_vamprocks : /obj/structure/flora/rock/darkpack_big -/obj/structure/stalagmite : /obj/structure/flora/rock/stalagmite - -/turf/open/floor/plating/vampcanal : /turf/open/floor/plating/canal -/turf/open/floor/plating/vampcanalplating : /turf/open/floor/plating/canalplating - -/turf/open/floor/plating/woodrough : /turf/open/floor/wood/rough -/turf/open/floor/plating/woodfancy : /turf/open/floor/wood/herring -/turf/open/floor/plating/vampwood : /turf/open/floor/wood/old -/turf/open/floor/plating/parquetry : /turf/open/floor/wood/smooth -/turf/open/floor/plating/parquetry/old: /turf/open/floor/wood/smooth/old -/turf/open/floor/plating/parquetry/rich: /turf/open/floor/wood/ornate - -/turf/open/floor/plating/vampcarpet : /turf/open/floor/carpet/darkpack/old - -/turf/open/floor/plating/vampplating : /turf/open/floor/city/plating -/turf/open/floor/plating/vampplating/mono : /turf/open/floor/city/plating_mono -/turf/open/floor/plating/vampplating/stone : /turf/open/floor/city/plating_stone -/turf/open/floor/plating/toilet : /turf/open/floor/city/toilet -/turf/open/floor/plating/industrial : /turf/open/floor/city/industrial -/turf/open/floor/plating/circled : /turf/open/floor/city/circled -/turf/open/floor/plating/church : /turf/open/floor/city/church -/turf/open/floor/plating/saint : /turf/open/floor/city/saint -/turf/open/floor/plating/bacotell : /turf/open/floor/city/bacotell -/turf/open/floor/plating/gummaguts : /turf/open/floor/city/gummaguts - -/turf/open/floor/plating/vampcrossableocean : /turf/open/water/beach/vamp - -/turf/open/misc/dirt/vamp : /turf/open/misc/dirt -/turf/open/misc/dirt/vamp/@SUBTYPES : /turf/open/misc/dirt/@SUBTYPES -/turf/open/misc/grass/vamp : /turf/open/misc/grass -/turf/open/misc/grass/vamp/@SUBTYPES : /turf/open/misc/grass/@SUBTYPES - -/turf/open/floor/plating/bloodshit : /turf/open/water/bloodwave -/turf/open/water/acid/vamp : /turf/open/water/acid - -/area/vtm/baywalk: /area/vtm/outside/baywalk -/area/vtm/substation : /area/vtm/inside/substation -/area/vtm/cabdepot : /area/vtm/interior/cabdepot -/area/vtm/church/interior : /area/vtm/interior/church -/area/vtm/church/interior/haven : /area/vtm/interior/church/haven -/area/vtm/church/interior/staff : /area/vtm/interior/church/staff -/area/vtm/financialdistrict/library : /area/vtm/interior/library -/area/vtm/fishermanswharf/ghetto : /area/vtm/outside/fishermanswharf/ghetto -/area/vtm/fishermanswharf/lower : /area/vtm/outside/fishermanswharf/lower -/area/vtm/fishermanswharf/industrial : /area/vtm/outside/fishermanswharf/industrial -/area/vtm/forest/caves : /area/vtm/interior/caves -/area/vtm/interior/giovanni/outside : /area/vtm/outside/giovanni/courtyard -/area/vtm/sewer/tzimisce_sanctum : /area/vtm/interior/tzimisce_sanctum -/area/vtm/sewer/@SUBTYPES : /area/vtm/interior/sewer/@SUBTYPES -/area/vtm/pacificheights/@SUBTYPES : /area/vtm/outside/pacificheights/@SUBTYPES -/area/vtm/substation : /area/vtm/interior/substation -/area/vtm/inside/substation : /area/vtm/interior/substation - -# Deleted landmarks are for landmarks with no job attached. -/obj/effect/landmark/start/assamite : @DELETE -/obj/effect/landmark/start/baali : @DELETE -/obj/effect/landmark/start/caitiff : @DELETE -/obj/effect/landmark/start/hunter : @DELETE -/obj/effect/landmark/start/kiasyd : @DELETE -/obj/effect/landmark/start/lasombra : @DELETE -/obj/effect/landmark/start/liaison : @DELETE -/obj/effect/landmark/start/nagaraja : @DELETE -/obj/effect/landmark/start/salubri : @DELETE - -# we're removing this mob spawner -/obj/effect/mob_spawn/human/chunkguard : @DELETE - -/obj/effect/mob_spawn/human/corpse/@SUBTYPES : /obj/effect/mob_spawn/corpse/human/@SUBTYPES - -/obj/structure/railing/metal/corner : /obj/structure/railing/corner {@OLD} -/obj/structure/railing/metal : /obj/structure/railing {@OLD} - - -/obj/structure/closet/crate/freezer/surplus_limbs/organs : /obj/structure/closet/crate/freezer/organ -/obj/structure/closet/crate/freezer/fridge : /obj/structure/closet/secure_closet/freezer/fridge/all_access - -/obj/structure/chair/sofa/old : /obj/structure/chair/sofa {@OLD} -/obj/structure/chair/sofa/old/@SUBTYPES : /obj/structure/chair/sofa/@SUBTYPES {@OLD} - -/obj/structure/vampmap : /obj/structure/city_map - -/obj/item/vamp/phone/street : /obj/item/smartphone/payphone -/obj/item/vamp/phone/clean : /obj/item/smartphone/clean -/obj/item/vamp/phone/emergency : /obj/item/smartphone/emergency - -/obj/item/vamp/phone/@SUBTYPES : /obj/item/smartphone/@SUBTYPES {@OLD} -/obj/item/vamp/phone : /obj/item/smartphone {@OLD} - -/obj/item/trash/vampirecrisps : /obj/item/trash/chips {@OLD} -/obj/item/food/vampire/crisps : /obj/item/food/chips {@OLD} - -# Simple doors -/obj/structure/vampdoor/camarilla : /obj/structure/vampdoor/simple/camarilla{@OLD} -/obj/structure/vampdoor/anarch : /obj/structure/vampdoor/simple/anarch{@OLD} -/obj/structure/vampdoor/bar : /obj/structure/vampdoor/simple/bar{@OLD} -/obj/structure/vampdoor/supply : /obj/structure/vampdoor/simple/supply{@OLD} -/obj/structure/vampdoor/strip : /obj/structure/vampdoor/simple/strip{@OLD} -/obj/structure/vampdoor/dispatch : /obj/structure/vampdoor/simple/dispatch{@OLD} -/obj/structure/vampdoor/police : /obj/structure/vampdoor/simple/police{@OLD} -/obj/structure/vampdoor/police/secure : /obj/structure/vampdoor/simple/police/secure{@OLD} - -# Wood doors -/obj/structure/vampdoor/daughters : /obj/structure/vampdoor/wood/daughters{@OLD} -/obj/structure/vampdoor/npc : /obj/structure/vampdoor/wood/npc{@OLD} - -# Oldwood doors -/obj/structure/vampdoor/wood/old : /obj/structure/vampdoor/oldwood{@OLD} -/obj/structure/vampdoor/graveyard : /obj/structure/vampdoor/oldwood/graveyard{@OLD} -/obj/structure/vampdoor/church : /obj/structure/vampdoor/oldwood/church{@OLD} -/obj/structure/vampdoor/wood/old/chantry : /obj/structure/vampdoor/oldwood/chantry{@OLD} -/obj/structure/vampdoor/baali : /obj/structure/vampdoor/oldwood/baali {@OLD} -/obj/structure/vampdoor/salubri : /obj/structure/vampdoor/wood/old/salubri {@OLD} -/obj/structure/vampdoor/old_clan_tzimisce : /obj/structure/vampdoor/wood/old/clan_tzimisce {@OLD} - -# Reinf doors -/obj/structure/vampdoor/cleaning : /obj/structure/vampdoor/reinf/cleaning{@OLD} - -# Old doors -/obj/structure/vampdoor/chantry : /obj/structure/vampdoor/old/chantry{@OLD} - -# Woodglass doors -/obj/structure/vampdoor/glass/prince : /obj/structure/vampdoor/woodglass/prince{@OLD} - -/obj/item/arcane_tome : /obj/item/ritual_tome/arcane -/obj/item/mystic_tome : /obj/item/ritual_tome/abyss -/obj/item/necromancy_tome : /obj/item/ritual_tome/necromancy -/obj/necrorune/@SUBTYPES : /obj/ritual_rune/necromancy/@SUBTYPES -/obj/abyssrune/@SUBTYPES :/obj/ritual_rune/abyss/@SUBTYPES -/obj/ritualrune/@SUBTYPES : /obj/ritual_rune/thaumaturgy/@SUBTYPES - -/obj/item/fake_sarcophagus : /obj/fake_sarcophagus {@OLD} - -/obj/structure/chair/green : /obj/structure/chair/darkpack/green {@OLD} -/obj/structure/chair/red : /obj/structure/chair/darkpack/red {@OLD} -/obj/structure/chair/blue : /obj/structure/chair/darkpack/blue {@OLD} -/obj/structure/chair/office/green : /obj/structure/chair/office/darkpack/green {@OLD} -/obj/structure/chair/office/red : /obj/structure/chair/office/darkpack/red {@OLD} -/obj/structure/chair/office/blue : /obj/structure/chair/office/darkpack/blue {@OLD} - -/obj/item/chair/green : /obj/item/chair/darkpack/green {@OLD} -/obj/item/chair/red : /obj/item/chair/darkpack/red {@OLD} -/obj/item/chair/blue : /obj/item/chair/darkpack/blue {@OLD} -/obj/item/chair/office/green : /obj/item/chair/office/darkpack/green {@OLD} -/obj/item/chair/office/red : /obj/item/chair/office/darkpack/red {@OLD} -/obj/item/chair/office/blue : /obj/item/chair/office/darkpack/blue {@OLD} - -#commented out because this is a volatile update paths but useful to have here if you want to run it manually or to note. - -#/obj/structure/chair : /obj/structure/chair/darkpack {@OLD} -#/obj/structure/chair/stool : /obj/structure/chair/stool/bar/darkpack/red {@OLD} -#/obj/structure/chair/stool/bar : /obj/structure/chair/stool/bar/darkpack/red {@OLD} -#/obj/structure/chair/wood : /obj/structure/chair/wood/darkpack {@OLD} - -#/obj/item/chair : /obj/item/chair/darkpack {@OLD} -#/obj/item/chair/stool : /obj/structure/chair/stool/bar/darkpack/red {@OLD} -#/obj/item/chair/stool/bar : /obj/structure/chair/stool/bar/darkpack/red {@OLD} -#/obj/item/chair/wood : /obj/item/chair/wood/darkpack {@OLD} - -# A few of these are pulled out from the #222 update paths to only convert a type once or fix a mistake made in it. - -# Anarchs -/obj/effect/landmark/start/barkeeper : /obj/effect/landmark/start/darkpack/anarch/baron -/obj/effect/landmark/start/baron : /obj/effect/landmark/start/darkpack/anarch/baron -/obj/effect/landmark/start/bruiser : /obj/effect/landmark/start/darkpack/anarch/bruiser -/obj/effect/landmark/start/emissary : /obj/effect/landmark/start/darkpack/anarch/emissary -/obj/effect/landmark/start/sweeper : /obj/effect/landmark/start/darkpack/anarch/sweeper -/obj/effect/landmark/start/tapster : /obj/effect/landmark/start/darkpack/anarch/tapster - -# Axe Gang -/obj/effect/landmark/start/axe_leader : /obj/effect/landmark/start/darkpack/axe/leader -/obj/effect/landmark/start/axe_gang : /obj/effect/landmark/start/darkpack/axe/gang - -# Supply -/obj/effect/landmark/start/dealer : /obj/effect/landmark/start/darkpack/supply/dealer -/obj/effect/landmark/start/supply : /obj/effect/landmark/start/darkpack/supply/tech -/obj/effect/landmark/start/supplytechnician : /obj/effect/landmark/start/darkpack/supply/tech - -# Camarilla -/obj/effect/landmark/start/prince : /obj/effect/landmark/start/darkpack/camarilla/prince -/obj/effect/landmark/start/clerk : /obj/effect/landmark/start/darkpack/camarilla/clerk -/obj/effect/landmark/start/sheriff : /obj/effect/landmark/start/darkpack/camarilla/sheriff -/obj/effect/landmark/start/hound : /obj/effect/landmark/start/darkpack/camarilla/hound -/obj/effect/landmark/start/harpy : /obj/effect/landmark/start/darkpack/camarilla/harpy -/obj/effect/landmark/start/towerwork : /obj/effect/landmark/start/darkpack/camarilla/towerwork - -# Primogen Council -/obj/effect/landmark/start/citizen{name="Primogen Toreador"} : /obj/effect/landmark/start/darkpack/primogen/toreador - -# Banu and Lasombra starts are fixed on TFN but not APOC so these need to be duplicated -/obj/effect/landmark/start/primogen_banu : /obj/effect/landmark/start/darkpack/primogen/banu -/obj/effect/landmark/start/citizen{name="Primogen Banu Haqim"} : /obj/effect/landmark/start/darkpack/primogen/banu - -/obj/effect/landmark/start/primogen_lasombra : /obj/effect/landmark/start/darkpack/primogen/lasombra -/obj/effect/landmark/start/citizen{name="Primogen Lasombra"} : /obj/effect/landmark/start/darkpack/primogen/lasombra - -/obj/effect/landmark/start/citizen{name="Primogen Malkavian"} : /obj/effect/landmark/start/darkpack/primogen/malkavian -/obj/effect/landmark/start/citizen{name="Primogen Nosferatu"} : /obj/effect/landmark/start/darkpack/primogen/nosferatu -/obj/effect/landmark/start/citizen{name="Primogen Ventrue"} : /obj/effect/landmark/start/darkpack/primogen/ventrue - -# Hospital -/obj/effect/landmark/start/vdirector : /obj/effect/landmark/start/darkpack/hospital/clinic_director -/obj/effect/landmark/start/vdoctor : /obj/effect/landmark/start/darkpack/hospital/doctor -/obj/effect/landmark/start/clinic_director : /obj/effect/landmark/start/darkpack/hospital/clinic_director -/obj/effect/landmark/start/doctor : /obj/effect/landmark/start/darkpack/hospital/doctor - -# Government & Police -/obj/effect/landmark/start/national_guard : /obj/effect/landmark/start/darkpack/law_enforcement/national_guard -/obj/effect/landmark/start/swat : /obj/effect/landmark/start/darkpack/law_enforcement/swat -/obj/effect/landmark/start{name="Police Chief"} : /obj/effect/landmark/start/darkpack/law_enforcement/chief -/obj/effect/landmark/start{name="Police Sergeant"} : /obj/effect/landmark/start/darkpack/law_enforcement/sergeant -/obj/effect/landmark/start{name="Police Officer"} : /obj/effect/landmark/start/darkpack/law_enforcement/officer -/obj/effect/landmark/start{name="Emergency Dispatcher"} : /obj/effect/landmark/start/darkpack/law_enforcement/dispatcher -/obj/effect/landmark/start{name="Federal Investigator"} : /obj/effect/landmark/start/darkpack/law_enforcement/fbi - -# Giovanni -/obj/effect/landmark/start/giovannielder : /obj/effect/landmark/start/darkpack/hecata/capo -/obj/effect/landmark/start/giovanni : /obj/effect/landmark/start/darkpack/hecata/famiglia -/obj/effect/landmark/start/giovannimafia : /obj/effect/landmark/start/darkpack/hecata/squadra -/obj/effect/landmark/start/capo : /obj/effect/landmark/start/darkpack/hecata/capo -/obj/effect/landmark/start/famiglia : /obj/effect/landmark/start/darkpack/hecata/famiglia -/obj/effect/landmark/start/squadra : /obj/effect/landmark/start/darkpack/hecata/squadra - -# Civilian -/obj/effect/landmark/start/citizen : /obj/effect/landmark/start/darkpack/citizen/citizen -/obj/effect/landmark/start/strip : /obj/effect/landmark/start/darkpack/citizen/club_worker -/obj/effect/landmark/start/club_worker : /obj/effect/landmark/start/darkpack/citizen/club_worker -/obj/effect/landmark/start/vjanitor : /obj/effect/landmark/start/darkpack/citizen/janitor -/obj/effect/landmark/start/janitor : /obj/effect/landmark/start/darkpack/citizen/janitor -/obj/effect/landmark/start/priest : /obj/effect/landmark/start/darkpack/citizen/priest -/obj/effect/landmark/start/taxi : /obj/effect/landmark/start/darkpack/citizen/taxi -/obj/effect/landmark/start/darkpack/hecata/graveyardkeeper : /obj/effect/landmark/start/darkpack/citizen/graveyardkeeper -/obj/effect/landmark/start/graveyardkeeper : /obj/effect/landmark/start/darkpack/citizen/graveyardkeeper - -# Sabbat -/obj/effect/landmark/start/sabbatductus : /obj/effect/landmark/start/darkpack/sabbat/ductus -/obj/effect/landmark/start/sabbatpack : /obj/effect/landmark/start/darkpack/sabbat/pack -/obj/effect/landmark/start/sabbatpriest : /obj/effect/landmark/start/darkpack/sabbat/priest -/obj/effect/landmark/start/sabbatist : /obj/effect/landmark/start/darkpack/sabbat/sabbatist - -# Chantry -/obj/effect/landmark/start/regent : /obj/effect/landmark/start/darkpack/chantry/regent -/obj/effect/landmark/start/archivist : /obj/effect/landmark/start/darkpack/chantry/archivist -/obj/effect/landmark/start/gargoyle : /obj/effect/landmark/start/darkpack/chantry/gargoyle - -# Forest Wolves -/obj/effect/landmark/start/garou/glade/council : /obj/effect/landmark/start/darkpack/forest_wolves/council -/obj/effect/landmark/start/garou/glade/keeper : /obj/effect/landmark/start/darkpack/forest_wolves/keeper -/obj/effect/landmark/start/darkpack/forest_wolves/keeper : /obj/effect/landmark/start/darkpack/forest_wolves/wyrmfoe -/obj/effect/landmark/start/garou/glade/catcher : /obj/effect/landmark/start/darkpack/forest_wolves/catcher -/obj/effect/landmark/start/garou/glade/warder : /obj/effect/landmark/start/darkpack/forest_wolves/warder -/obj/effect/landmark/start/garou/glade/guardian : /obj/effect/landmark/start/darkpack/forest_wolves/guardian - -# City Wolves -/obj/effect/landmark/start/garou/painted/@SUBTYPES : @DELETE -/obj/effect/landmark/start/darkpack/city_wolves/@SUBTYPES : @DELETE - -# Pentex -/obj/effect/landmark/start/first_team : /obj/effect/landmark/start/darkpack/pentex/first_team -/obj/effect/landmark/start/garou/spiral/lead : /obj/effect/landmark/start/darkpack/pentex/lead -/obj/effect/landmark/start/garou/spiral/executive : /obj/effect/landmark/start/darkpack/pentex/executive -/obj/effect/landmark/start/garou/spiral/affairs : /obj/effect/landmark/start/darkpack/pentex/affairs -/obj/effect/landmark/start/garou/spiral/secchief : /obj/effect/landmark/start/darkpack/pentex/secchief -/obj/effect/landmark/start/garou/spiral/sec : /obj/effect/landmark/start/darkpack/pentex/sec -/obj/effect/landmark/start/garou/spiral/employee : /obj/effect/landmark/start/darkpack/pentex/employee - -# Voivodate -/obj/effect/landmark/start/voivode : /obj/effect/landmark/start/darkpack/voivode/voivode -/obj/effect/landmark/start/bogatyr : /obj/effect/landmark/start/darkpack/voivode/bogatyr -/obj/effect/landmark/start/zadruga : /obj/effect/landmark/start/darkpack/voivode/zadruga - -/turf/open/floor/plating/toilet/clinic : /turf/open/floor/city/clinic -/turf/open/floor/plating/industrial/factory : /turf/open/floor/city/factory - -/turf/open/floor/plating/vampplating/stairs/middle : /turf/open/floor/iron/stairs/medium {@OLD} -/turf/open/floor/plating/vampplating/stairs/black/middle : /turf/open/floor/iron/stairs/black/medium @{OLD} -/turf/open/floor/plating/vampplating/stairs/@SUBTYPES : /turf/open/floor/iron/stairs/@SUBTYPES - -/turf/open/floor/carpet/vamp/@SUBTYPES : /turf/open/floor/carpet/darkpack/@SUBTYPES - -# Turf decals -/obj/effect/turf_decal/apoc/vampbeach : /obj/effect/turf_decal/darkpack/sand {@OLD} -/obj/effect/turf_decal/apoc/vampbeach/corner : /obj/effect/turf_decal/darkpack/sand/corner {@OLD} -/obj/effect/turf_decal/apoc/vampdirt : /obj/effect/turf_decal/darkpack/dirt {@OLD} -/obj/effect/turf_decal/apoc/vampdirt/corner : /obj/effect/turf_decal/darkpack/dirt/corner {@OLD} -/obj/effect/turf_decal/apoc/vampgrass : /obj/effect/turf_decal/darkpack/grass {@OLD} -/obj/effect/turf_decal/apoc/vampgrass/corner : /obj/effect/turf_decal/darkpack/grass/corner {@OLD} -/obj/effect/turf_decal/apoc/rough : /obj/effect/turf_decal/darkpack/rough {@OLD} -/obj/effect/turf_decal/apoc/rough/corner : /obj/effect/turf_decal/darkpack/rough/corner {@OLD} -/obj/effect/turf_decal/apoc/cave : /obj/effect/turf_decal/darkpack/cave {@OLD} -/obj/effect/turf_decal/apoc/cave/corner : /obj/effect/turf_decal/darkpack/cave/corner {@OLD} -/obj/effect/turf_decal/apoc/@SUBTYPES : /obj/effect/turf_decal/darkpack/@SUBTYPES {@OLD} - -/turf/open/floor/plating/vampocean : /turf/open/water/beach/vamp/deep -/turf/open/floor/plating/vampacid : /turf/open/water/acid/vamp -/turf/open/floor/plating/shit : /turf/open/water/vamp_sewer -/turf/open/floor/plating/shit/border : /turf/open/water/vamp_sewer/border - -/turf/open/floor/plating/vampbeach : /turf/open/misc/beach/vamp -/turf/open/floor/plating/vampdirt : /turf/open/misc/dirt/vamp -/turf/open/floor/plating/vampdirt/rails : /turf/open/misc/dirt/vamp/rails -/turf/open/floor/plating/vampgrass : /turf/open/misc/grass/vamp - -/turf/closed/wall/vampwall/low : /obj/structure/platform/lowwall , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/low/@SUBTYPES : /obj/structure/platform/lowwall/@SUBTYPES , /turf/open/floor/plating/rough - -/turf/closed/wall/vampwall/rich/low : /obj/structure/platform/lowwall/rich , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/rich/low/@SUBTYPES : /obj/structure/platform/lowwall/rich/@SUBTYPES , /turf/open/floor/plating/rough - -/turf/closed/wall/vampwall/rich/old/low : /obj/structure/platform/lowwall/rich/old , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/rich/old/low/@SUBTYPES : /obj/structure/platform/lowwall/rich/old/@SUBTYPES , /turf/open/floor/plating/rough - -/turf/closed/wall/vampwall/brick_old/low : /obj/structure/platform/lowwall/brick_old , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/brick_old/low/@SUBTYPES : /obj/structure/platform/lowwall/brick_old/@SUBTYPES , /turf/open/floor/plating/rough - -/turf/closed/wall/vampwall/junk/low : /obj/structure/platform/lowwall/junk , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/junk/low/@SUBTYPES : /obj/structure/platform/lowwall/junk/@SUBTYPES , /turf/open/floor/plating/rough - -/turf/closed/wall/vampwall/junk/alt/low : /obj/structure/platform/lowwall/junk/alt , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/junk/alt/low/@SUBTYPES : /obj/structure/platform/lowwall/junk/alt/@SUBTYPES , /turf/open/floor/plating/rough - -/turf/closed/wall/vampwall/market/low : /obj/structure/platform/lowwall/market , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/market/low/@SUBTYPES : /obj/structure/platform/lowwall/market/@SUBTYPES , /turf/open/floor/plating/rough - -/turf/closed/wall/vampwall/old/low : /obj/structure/platform/lowwall/old , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/old/low/@SUBTYPES : /obj/structure/platform/lowwall/old/@SUBTYPES , /turf/open/floor/plating/rough - -/turf/closed/wall/vampwall/painted/low : /obj/structure/platform/lowwall/painted , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/painted/low/@SUBTYPES : /obj/structure/platform/lowwall/painted/@SUBTYPES , /turf/open/floor/plating/rough - -/turf/closed/wall/vampwall/brick/low : /obj/structure/platform/lowwall/brick , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/brick/low/@SUBTYPES : /obj/structure/platform/lowwall/brick/@SUBTYPES , /turf/open/floor/plating/rough - -/turf/closed/wall/vampwall/city/low : /obj/structure/platform/lowwall/city , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/city/low/@SUBTYPES : /obj/structure/platform/lowwall/city/@SUBTYPES , /turf/open/floor/plating/rough - -/turf/closed/wall/vampwall/bar/low : /obj/structure/platform/lowwall/bar , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/bar/low/@SUBTYPES : /obj/structure/platform/lowwall/bar/@SUBTYPES , /turf/open/floor/plating/rough - -/turf/closed/wall/vampwall/wood/low : /obj/structure/platform/lowwall/wood , /turf/open/floor/plating/rough -/turf/closed/wall/vampwall/wood/low/@SUBTYPES : /obj/structure/platform/lowwall/wood/@SUBTYPES , /turf/open/floor/plating/rough - -/obj/structure/table/abductor : /obj/structure/table/modern - -/obj/item/vtm_artifact/saulocept : @DELETE -/mob/living/carbon/human/species/vamp_mannequin : /obj/structure/mannequin/plastic -/mob/living/carbon/human/species/vamp_mannequin/conquestador : /obj/structure/mannequin/plastic/conquistador -/mob/living/carbon/human/species/vamp_mannequin/cowboy : /obj/structure/mannequin/plastic/cowboy -/mob/living/carbon/human/species/vamp_mannequin/napoleon : /obj/structure/mannequin/plastic/napoleon - -/obj/item/clothing/head/pentex/pentex_beret : /obj/item/clothing/head/vampire/pentex_beret -/obj/item/clothing/head/pentex/pentex_whitehardhat : /obj/item/clothing/head/vampire/pentex_whitehardhat -/obj/item/clothing/head/pentex/pentex_yellowhardhat : /obj/item/clothing/head/vampire/pentex_yellowhardhat -/obj/item/clothing/suit/chaplainsuit/studentuni : /obj/item/clothing/suit/chaplainsuit/armor/studentuni -/obj/item/clothing/under/pentex/pentex_turtleneck : /obj/item/clothing/under/vampire/pentex_turtleneck -/obj/item/clothing/under/pentex/pentex_janitor : /obj/item/clothing/under/vampire/pentex_janitor -/obj/item/clothing/under/pentex/pentex_longleeve : /obj/item/clothing/under/vampire/pentex_longleeve -/obj/item/clothing/under/pentex/pentex_shortsleeve : /obj/item/clothing/under/vampire/pentex_shortsleeve -/obj/item/clothing/under/pentex/pentex_suit : /obj/item/clothing/under/vampire/pentex_suit -/obj/item/clothing/under/pentex/pentex_suit : /obj/item/clothing/under/vampire/pentex_suitskirt -/obj/item/clothing/under/suit/white_on_white : /obj/item/clothing/under/suit/white -/obj/item/clothing/suit/pentex/pentex_labcoat : /obj/item/clothing/suit/vampire/pentex_labcoat -/obj/item/clothing/suit/pentex/pentex_labcoat_alt : /obj/item/clothing/suit/vampire/pentex_labcoat_alt -/obj/item/reagent_containers/food/drinks/silver_goblet : /obj/item/reagent_containers/cup/silver_goblet -/obj/item/reagent_containers/food/drinks/silver_goblet/vaulderie_goblet : /obj/item/reagent_containers/cup/silver_goblet/vaulderie_goblet -/obj/structure/vampdoor/oldwood : /obj/structure/vampdoor/old -/obj/structure/vampdoor/oldwood/church : /obj/structure/vampdoor/old/church -/obj/structure/vampdoor/oldwood/graveyard : /obj/structure/vampdoor/old/graveyard -/obj/structure/vampdoor/children_of_gaia : /obj/structure/vampdoor/oldwood/children_of_gaia -/obj/structure/vampdoor/food_pantry : /obj/structure/vampdoor/simple/food_pantry -/obj/structure/vampdoor/nps : /obj/structure/vampdoor/wood/nps -/obj/structure/vampdoor/setite : /obj/structure/vampdoor/simple/setite -/obj/structure/vampdoor/setite/high_sec : /obj/structure/vampdoor/reinf/setite_high_sec -/obj/structure/vampdoor/wood/old/salubri : /obj/structure/vampdoor/oldwood/salubri - -/obj/item/reagent_containers/cup/glass/silver_goblet/vaulderie_goblet : /obj/item/reagent_containers/cup/silver_goblet/vaulderie_goblet{@OLD} - -/obj/item/gun/ballistic/vampire/mac10 : /obj/item/gun/ballistic/automatic/darkpack/mac10 {@OLD} -/obj/item/ammo_box/magazine/vampmac10 : /obj/item/ammo_box/magazine/darkpack45smg {@OLD} - -/obj/item/p25radio : /obj/item/radio {@OLD} -/obj/item/p25radio/police : /obj/item/radio/headset/darkpack/police {@OLD} -# There should only be really one tranceiver for each faction. -/obj/machinery/p25policeportal : @DELETE -/obj/machinery/p25transceiver/anarch : /obj/machinery/radio_tranceiver/anarch -/obj/machinery/p25transceiver/clinic : /obj/machinery/radio_tranceiver/clinic -/obj/machinery/p25transceiver/endron : /obj/machinery/radio_tranceiver/endron -/obj/machinery/p25transceiver/police : /obj/machinery/radio_tranceiver/police -/obj/machinery/p25transceiver/tower : /obj/machinery/radio_tranceiver/camarilla - -/obj/clinic_machine/pyxis : @DELETE - -/mob/living/carbon/human/npc/sabbat/@SUBTYPES : @DELETE - -/obj/item/clothing/under/pentex/pentex_executive_suit : /obj/item/clothing/under/vampire/pentex_executive_suit -/obj/item/clothing/under/pentex/pentex_executiveskirt : /obj/item/clothing/under/vampire/pentex_executiveskirt -/obj/item/clothing/under/pentex/pentex_suitskirt : /obj/item/clothing/under/vampire/pentex_suitskirt - -/obj/item/reagent_containers/glass/bowl/mushroom_bowl{name="ashtray"} : /obj/item/storage/ashtray {@OLD;name=@SKIP} -/obj/item/reagent_containers/glass/bowl/ash_tray : /obj/item/storage/ashtray {@OLD} - -/obj/item/storage/fancy/hardcase/mp5 : /obj/item/storage/fancy/hardcase/mag_mp5 {@OLD} - -/obj/structure/vamptree : /obj/structure/flora/tree/vamp {@OLD} -/obj/structure/vamptree/@SUBTYPES : /obj/structure/flora/tree/vamp/@SUBTYPES {@OLD} - -/area/vtm/interior/penumbra : /area/vtm/outside/penumbra -/area/vtm/interior/penumbra/@SUBTYPES : /area/vtm/outside/penumbra/@SUBTYPES - -/turf/@SUBTYPES : /turf/@SUBTYPES{@OLD;umbra=@SKIP} - -/area/vtm/financialdistrict : /area/vtm/outside/financialdistrict -/area/vtm/ghetto : /area/vtm/outside/ghetto -/area/vtm/pacificheights : /area/vtm/outside/pacificheights -/area/vtm/chinatown : /area/vtm/outside/chinatown -/area/vtm/fishermanswharf : /area/vtm/outside/fishermanswharf -/area/vtm/northbeach : /area/vtm/outside/northbeach -/area/vtm/unionsquare : /area/vtm/outside/unionsquare -/area/vtm/park : /area/vtm/outside/park -/area/vtm/forest : /area/vtm/outside/forest - -# Not an apoc type but GRRRRRR xeon -/mob/living/simple_animal/hostile/biter/lasombra : /mob/living/basic/lasombra -/mob/living/simple_animal/hostile/biter/lasombra/better : /mob/living/basic/lasombra/better - - -/obj/structure/vampdoor/wood/apartment : /obj/structure/vampdoor/wood, /obj/effect/mapping_helpers/door/access/claimable - -/obj/item/clothing/suit/costume/yakuza : /obj/item/clothing/suit/vampire/majima_jacket {@OLD} -/obj/item/clothing/suit/costume/nerdshirt : /obj/item/clothing/suit/costume/wellworn_shirt/wornout/graphic {@OLD} -/obj/item/clothing/suit/costume/ianshirt : /obj/item/clothing/suit/costume/wellworn_shirt/graphic/ian {@OLD} -/obj/item/clothing/suit/costume/dutch : /obj/item/clothing/suit/vampire/dutch {@OLD} - -/obj/item/melee/vamp/longsword/keeper : /obj/item/claymore/longsword/keeper{@OLD} - -/obj/item/police_radio : /obj/item/radio/headset/darkpack/police {@OLD} - -/obj/item/supplypod_beacon_origin : /obj/item/supplypod_beacon {@OLD} - -/obj/item/stocks_license : @DELETE - -/obj/structure/musician/piano/ipiano : /obj/structure/musician/piano{@OLD} -/obj/structure/musician/piano/darkpack/ipiano : /obj/structure/musician/piano{@OLD} - -/obj/item/storage/belt/vampire/sheathe/longsword : /obj/item/storage/belt/sheath/vamp/sword {@OLD} -/obj/item/storage/belt/vampire/sheathe/rapier : /obj/item/storage/belt/sheath/vamp/rapier {@OLD} -/obj/item/storage/belt/vampire/sheathe/sabre : /obj/item/storage/belt/sheath/vamp/sabre {@OLD} - -/obj/item/melee/vampirearms/fireaxe : /obj/item/fireaxe/vamp {@OLD} -/obj/item/melee/vampirearms/katana : /obj/item/katana/vamp {@OLD} -/obj/item/melee/vampirearms/katana/kosa : /obj/item/scythe/vamp {@OLD} -/obj/item/melee/vampirearms/sabre : /obj/item/melee/sabre/vamp {@OLD} -/obj/item/melee/vampirearms/rapier : /obj/item/melee/sabre/rapier {@OLD} -/obj/item/melee/vampirearms/longsword : /obj/item/claymore/longsword {@OLD} -/obj/item/melee/vampirearms/machete : /obj/item/claymore/machete {@OLD} -/obj/item/melee/vampirearms/shovel : /obj/item/shovel/vamp {@OLD} -/obj/item/melee/vampirearms/chainsaw : /obj/item/chainsaw/vamp {@OLD} -/obj/item/melee/vampirearms/baseball : /obj/item/melee/baseball_bat/vamp {@OLD} - -/obj/item/melee/vampirearms/eguitar : /obj/item/instrument/eguitar/vamp {@OLD} - -/obj/item/melee/vampirearms/knife/switchblade : /obj/item/switchblade/vamp {@OLD} -/obj/item/melee/vampirearms/knife : /obj/item/knife/vamp {@OLD} -/obj/item/melee/vampirearms/knife/@SUBTYPES : /obj/item/knife/vamp/@SUBTYPES {@OLD} - -/obj/item/melee/classic_baton/vampire : /obj/item/melee/baton/vamp {@OLD} - -/obj/item/melee/vampirearms/@SUBTYPES : /obj/item/melee/vamp/@SUBTYPES {@OLD} - -/obj/item/wire_cutters : /obj/item/wirecutters{@OLD} - -/obj/item/gun/ballistic/vampire/revolver : /obj/item/gun/ballistic/revolver/darkpack/magnum {@OLD} -/obj/item/gun/ballistic/vampire/revolver/@SUBTYPES : /obj/item/gun/ballistic/revolver/darkpack/@SUBTYPES {@OLD} - -/obj/item/gun/ballistic/automatic/vampire/deagle : /obj/item/gun/ballistic/automatic/pistol/darkpack/deagle {@OLD} -/obj/item/gun/ballistic/automatic/vampire/deagle/c50 : /obj/item/gun/ballistic/automatic/pistol/darkpack/deagle/c50 {@OLD} -/obj/item/gun/ballistic/automatic/vampire/m1911 : /obj/item/gun/ballistic/automatic/pistol/darkpack/m1911 {@OLD} -/obj/item/gun/ballistic/automatic/vampire/glock19 : /obj/item/gun/ballistic/automatic/pistol/darkpack/glock19 {@OLD} -/obj/item/gun/ballistic/automatic/vampire/glock21 : /obj/item/gun/ballistic/automatic/pistol/darkpack/glock21 {@OLD} -/obj/item/gun/ballistic/automatic/vampire/beretta : /obj/item/gun/ballistic/automatic/pistol/darkpack/beretta {@OLD} -/obj/item/gun/ballistic/automatic/vampire/beretta/toreador : /obj/item/gun/ballistic/automatic/pistol/darkpack/beretta/toreador : {@OLD} - - -/obj/item/gun/ballistic/automatic/vampire/@SUBTYPES : /obj/item/gun/ballistic/automatic/darkpack/@SUBTYPES {@OLD} - -/obj/item/ammo_box/magazine/vamp9mm : /obj/item/ammo_box/magazine/darkpack9mm {@OLD} -/obj/item/ammo_box/magazine/vamp9mp5 : /obj/item/ammo_box/magazine/darkpack9mp5 {@OLD} -/obj/item/ammo_box/magazine/vamp45acp : /obj/item/ammo_box/magazine/darkpack45acp {@OLD} -/obj/item/ammo_box/magazine/vamp556 : /obj/item/ammo_box/magazine/darkpack556 {@OLD} -/obj/item/ammo_box/magazine/vamp556/@SUBTYPES : /obj/item/ammo_box/magazine/darkpack556/@SUBTYPES {@OLD} -/obj/item/ammo_box/magazine/vamp545 : /obj/item/ammo_box/magazine/darkpack545 {@OLD} -/obj/item/ammo_box/magazine/vampthompson : /obj/item/ammo_box/magazine/darkpackthompson {@OLD} -/obj/item/ammo_box/magazine/vampaug : /obj/item/ammo_box/magazine/darkpackaug {@OLD} - -/obj/item/ammo_box/magazine/vamp556/hunt : /obj/item/ammo_box/magazine/darkpack556/hunt - -/obj/item/vtm_artifact/rand : /obj/effect/spawner/random/occult/artifact -/obj/structure/trashbag : /obj/effect/decal/cleanable/garbage{@OLD} - -/obj/structure/trashcan : /obj/structure/closet/crate/dumpster{@OLD} - -/obj/machinery/vending/cola/@SUBTYPES : /obj/machinery/vending/cola {@OLD} -/obj/machinery/vending/snack/@SUBTYPES : /obj/machinery/vending/snack {@OLD} - -/obj/machinery/mineral/equipment_vendor/fastfood/snacks : /obj/machinery/vending/snack {@OLD} -/obj/machinery/mineral/equipment_vendor/fastfood/coffeevendor : /obj/machinery/vending/coffee {@OLD} -/obj/machinery/mineral/equipment_vendor/fastfood/sodavendor : /obj/machinery/vending/cola {@OLD} -/obj/machinery/mineral/equipment_vendor/fastfood/sodavendor/blue : /obj/machinery/vending/cola/blue {@OLD} - -/obj/machinery/mineral/equipment_vendor/fastfood/bacotell : /obj/structure/retail/bacotell_menu {@OLD} -/obj/machinery/mineral/equipment_vendor/fastfood/bubway : /obj/structure/retail/bubway_menu {@OLD} -/obj/machinery/mineral/equipment_vendor/fastfood/gummaguts : /obj/structure/retail/gummaguts_menu {@OLD} -/obj/machinery/mineral/equipment_vendor/fastfood/products : /obj/structure/retail/junkfood_menu {@OLD} -/obj/machinery/mineral/equipment_vendor/fastfood/smoking : /obj/structure/retail/smoke_menu {@OLD} -/obj/machinery/mineral/equipment_vendor/fastfood/gas : /obj/structure/retail/gas_station {@OLD} - -/obj/machinery/mineral/equipment_vendor/fastfood/costumes : /obj/structure/retail/costume_store {@OLD} -/obj/machinery/mineral/equipment_vendor/fastfood/clothing : /obj/structure/retail/clothing_store {@OLD} - -/obj/machinery/mineral/equipment_vendor/fastfood/illegal : /obj/structure/retail/black_market {@OLD} -/obj/machinery/mineral/equipment_vendor/fastfood/america : /obj/structure/retail/gun_store {@OLD} -/obj/machinery/mineral/equipment_vendor/fastfood/@SUBTYPES : /obj/structure/retail/@SUBTYPES {@OLD} - -/obj/structure/retail/grocery : /obj/structure/retail/grocery_store - -/obj/item/vampire_flamethrower : /obj/item/liquid_flamethrower{@OLD} - -/obj/structure/roofstuff/alt3 : /obj/structure/roofstuff/vent_end {@OLD} - -/obj/structure/clothingrack : /obj/structure/rack/clothing {@OLD} -/obj/structure/clothingrack/@SUBTYPES : /obj/structure/rack/clothing/@SUBTYPES {@OLD} -/obj/structure/clothinghanger : /obj/structure/rack/clothing_hanger {@OLD} -/obj/structure/clothinghanger/@SUBTYPES : /obj/structure/rack/clothing_hanger/@SUBTYPES {@OLD} -/obj/structure/foodrack : /obj/structure/rack/food {@OLD} -/obj/structure/foodrack/@SUBTYPES : /obj/structure/rack/food/@SUBTYPES {@OLD} - -/obj/item/storage/firstaid : /obj/item/storage/medkit/darkpack {@OLD} -/obj/item/storage/firstaid/@SUBTYPES : /obj/item/storage/medkit/darkpack/@SUBTYPES {@OLD} - -/obj/item/storage/medkit/darkpack/regular : /obj/item/storage/medkit/darkpack/standard {@OLD} - -/obj/item/storage/medkit/darkpack/medical : /obj/item/storage/medkit/darkpack/doctor {@OLD} - -/obj/item/storage/medkit/darkpack/fire : /obj/item/storage/medkit/darkpack/burn {@OLD} - -/obj/item/storage/medkit/darkpack/toxin : /obj/item/storage/medkit/darkpack/tox {@OLD} - -/obj/item/storage/medkit/darkpack/o2 : /obj/item/storage/medkit/darkpack/oxy {@OLD} - -/obj/item/storage/medkit/darkpack/tactical : /obj/item/storage/medkit/darkpack/combat {@OLD} - -/obj/matrix : /obj/the_matrix {@OLD} - -/obj/item/drinkable_bloodpack : /obj/item/reagent_containers/blood{@OLD} -/obj/item/drinkable_bloodpack/elite : /obj/item/reagent_containers/blood/vitae{@OLD} -/obj/item/reagent_containers/blood/elite : /obj/item/reagent_containers/blood/vitae{@OLD} -/obj/item/drinkable_bloodpack/vitae : /obj/item/reagent_containers/blood/vitae{@OLD} -/obj/structure/bloodextractor : /obj/machinery/iv_drip{@OLD} -/obj/structure/vampcar : /obj/darkpack_car {@OLD} - -/obj/vampire_car : /obj/darkpack_car {@OLD} -/obj/vampire_car/@SUBTYPES : /obj/darkpack_car/@SUBTYPES {@OLD} - -/obj/item/reagent_containers/food/drinks/meth : /obj/item/reagent_containers/cup/glass/baggie/meth {@OLD} -/obj/item/reagent_containers/food/drinks/meth/cocaine : /obj/item/reagent_containers/cup/glass/baggie/meth/cocaine {@OLD} - -#/obj/item/reagent_containers/cup/glass/meth : /obj/item/reagent_containers/cup/glass/baggie/meth -#/obj/item/reagent_containers/cup/glass/meth/cocaine : /obj/item/reagent_containers/cup/glass/baggie/meth/cocaine - -/mob/living/simple_animal/hostile/beastmaster/rat/flying : /mob/living/basic/bat{@OLD} -/mob/living/simple_animal/hostile/beastmaster/shadow_guard : /mob/living/basic/shadow_guard{@OLD} -/mob/living/simple_animal/hostile/beastmaster/blood_guard : /mob/living/basic/blood_guard{@OLD} -/mob/living/simple_animal/hostile/beastmaster/fireball : @DELETE -/mob/living/simple_animal/hostile/baali_guard : /mob/living/basic/baali_guard{@OLD} -/mob/living/simple_animal/pet/rat : /mob/living/basic/mouse/vampire{@OLD} -/mob/living/simple_animal/hostile/crinos_beast : /mob/living/basic/crinos_beast{@OLD} -/mob/living/simple_animal/hostile/bear/wod13 : /mob/living/basic/bear/vampire{@OLD} - -/obj/structure/vampdoor/glass/banu_haqim : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/banu, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/glass/bianchi_bank : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/bankboss, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/glass/clerk : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/clerk, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/glass/clinic : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/clinic, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/glass/clinic/high_security : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/clinic, /obj/effect/mapping_helpers/door/lock, /obj/effect/mapping_helpers/door/lock_difficulty/eight -/obj/structure/vampdoor/glass/jazz_club : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/jazz_club, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/glass/laundromat : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/laundromat, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/glass/nightwolf : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/wolftech, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/glass/pentex : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/pentex, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/glass/pentex/low_security : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/pentex, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/glass/pentex/low_security/unlocked : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/pentex -/obj/structure/vampdoor/glass/police_chief : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/police_chief, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/glass/primogen_toreador : /obj/structure/vampdoor/glass {@OLD}, /obj/effect/mapping_helpers/door/access/primogen_toreador, /obj/effect/mapping_helpers/door/lock -#/obj/structure/vampdoor/glass/@SUBTYPES : /obj/structure/vampdoor/glass {@OLD}, /obj/merge_conflict_marker - -/obj/structure/vampdoor/old/chantry : /obj/structure/vampdoor/old {@OLD}, /obj/effect/mapping_helpers/door/access/chantry, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/old/church : /obj/structure/vampdoor/old {@OLD}, /obj/effect/mapping_helpers/door/access/church, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/old/graveyard : /obj/structure/vampdoor/old {@OLD}, /obj/effect/mapping_helpers/door/access/graveyard, /obj/effect/mapping_helpers/door/lock -#/obj/structure/vampdoor/old/@SUBTYPES : /obj/structure/vampdoor/old {@OLD}, /obj/merge_conflict_marker - -/obj/structure/vampdoor/oldwood/baali : /obj/structure/vampdoor/oldwood {@OLD}, /obj/effect/mapping_helpers/door/access/baali, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/oldwood/chantry : /obj/structure/vampdoor/oldwood {@OLD}, /obj/effect/mapping_helpers/door/access/chantry, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/oldwood/children_of_gaia : /obj/structure/vampdoor/oldwood {@OLD}, /obj/effect/mapping_helpers/door/access/coggie, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/oldwood/clan_tzimisce : /obj/structure/vampdoor/oldwood {@OLD}, /obj/effect/mapping_helpers/door/access/old_clan_tzimisce, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/oldwood/salubri : /obj/structure/vampdoor/oldwood {@OLD}, /obj/effect/mapping_helpers/door/access/salubri, /obj/effect/mapping_helpers/door/lock -#/obj/structure/vampdoor/oldwood/@SUBTYPES : /obj/structure/vampdoor/oldwood {@OLD}, /obj/merge_conflict_marker - -#/obj/structure/vampdoor/prison/@SUBTYPES : /obj/structure/vampdoor/prison {@OLD}, /obj/merge_conflict_marker - -/obj/structure/vampdoor/reinf/cleaning : /obj/structure/vampdoor/reinf {@OLD}, /obj/effect/mapping_helpers/door/access/cleaning, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/reinf/setite : /obj/structure/vampdoor/reinf {@OLD}, /obj/effect/mapping_helpers/door/access/setite, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/reinf/setite_high_sec : /obj/structure/vampdoor/reinf {@OLD}, /obj/effect/mapping_helpers/door/access/setite, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/reinf/pentex : /obj/structure/vampdoor/reinf {@OLD}, /obj/effect/mapping_helpers/door/access/pentex, /obj/effect/mapping_helpers/door/lock -#/obj/structure/vampdoor/reinf/@SUBTYPES : /obj/structure/vampdoor/reinf {@OLD}, /obj/merge_conflict_marker - -/obj/structure/vampdoor/simple/anarch : /obj/structure/vampdoor/simple {@OLD}, /obj/effect/mapping_helpers/door/access/anarch, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/simple/bar : /obj/structure/vampdoor/simple {@OLD}, /obj/effect/mapping_helpers/door/access/bar, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/simple/camarilla : /obj/structure/vampdoor/simple {@OLD}, /obj/effect/mapping_helpers/door/access/camarilla, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/simple/dispatch : /obj/structure/vampdoor/simple {@OLD}, /obj/effect/mapping_helpers/door/access/dispatch, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/simple/food_pantry : /obj/structure/vampdoor/simple {@OLD}, /obj/effect/mapping_helpers/door/access/coggie, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/simple/police : /obj/structure/vampdoor/simple {@OLD}, /obj/effect/mapping_helpers/door/access/police, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/simple/police/secure : /obj/structure/vampdoor/simple {@OLD}, /obj/effect/mapping_helpers/door/access/police, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/simple/setite : /obj/structure/vampdoor/simple {@OLD}, /obj/effect/mapping_helpers/door/access/setite, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/simple/strip : /obj/structure/vampdoor/simple {@OLD}, /obj/effect/mapping_helpers/door/access/strip, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/simple/supply : /obj/structure/vampdoor/simple {@OLD}, /obj/effect/mapping_helpers/door/access/supply, /obj/effect/mapping_helpers/door/lock -#/obj/structure/vampdoor/simple/@SUBTYPES : /obj/structure/vampdoor/simple {@OLD}, /obj/merge_conflict_marker - -/obj/structure/vampdoor/wood/daughters : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/access/daughters, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/wood/giovanni : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/access/giovanni, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/wood/giovanni/high_security : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/access/giovanni, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/wood/jazz_club : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/access/jazz_club, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/wood/madman : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/wood/millennium_common : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/access/jazz_club, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/wood/nps : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/access/park_ranger, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/wood/npc : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/access/npc, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/wood/pentex : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/access/pentex, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/wood/sabbat : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/access/sabbat, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/wood/strip : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/access/strip, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/wood/theatre : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/access/theatre, /obj/effect/mapping_helpers/door/lock -/obj/structure/vampdoor/wood/theatre/unlocked : /obj/structure/vampdoor/wood {@OLD}, /obj/effect/mapping_helpers/door/access/theatre -#/obj/structure/vampdoor/wood/@SUBTYPES : /obj/structure/vampdoor/wood {@OLD}, /obj/merge_conflict_marker - -/obj/structure/vampdoor/woodglass/prince : /obj/structure/vampdoor/woodglass {@OLD}, /obj/effect/mapping_helpers/door/access/prince, /obj/effect/mapping_helpers/door/lock -#/obj/structure/vampdoor/woodglass/@SUBTYPES : /obj/structure/vampdoor/woodglass {@OLD}, /obj/merge_conflict_marker - -/obj/american_flag : /obj/flag/usa {@OLD} - -/obj/effect/decal/trash : /obj/effect/decal/cleanable/trash {@OLD} -/obj/effect/decal/litter : /obj/effect/decal/cleanable/litter {@OLD} -/obj/effect/decal/cardboard : /obj/effect/decal/cleanable/cardboard {@OLD} - -/obj/bacotell : /obj/structure/sign/city/store/bacotell {@OLD} -/obj/bubway : /obj/structure/sign/city/store/bubway {@OLD} -/obj/gummaguts : /obj/structure/sign/city/store/gummaguts {@OLD} - -/obj/police_department : /obj/structure/sign/city/police_department {@OLD} -/obj/order : /obj/structure/sign/city/order {@OLD} -/obj/structure/hotelsign : /obj/structure/sign/city/hotel {@OLD} -/obj/structure/anarchsign : /obj/structure/sign/city/anarch {@OLD} -/obj/structure/chinesesign : /obj/structure/sign/city/chinese {@OLD} -/obj/structure/chinesesign/alt : /obj/structure/sign/city/chinese/alt {@OLD} -/obj/structure/chinesesign/alt/alt : /obj/structure/sign/city/chinese/alt2 {@OLD} -/obj/structure/milleniumsign : /obj/structure/sign/city/millenium {@OLD} -/obj/structure/strip_club : /obj/structure/sign/city/strip_club {@OLD} -/obj/structure/cabaret_sign : /obj/structure/sign/city/cabaret_sign {@OLD} -/obj/structure/cabaret_sign2 : /obj/structure/sign/city/cabaret_sign/two {@OLD} - -/obj/structure/showcase/machinery/tv : /obj/structure/fluff/tv {@OLD} -/obj/order1 : /obj/structure/fluff/tv/order/one {@OLD} -/obj/order2 : /obj/structure/fluff/tv/order/two {@OLD} -/obj/order3 : /obj/structure/fluff/tv/order/three {@OLD} -/obj/order4 : /obj/structure/fluff/tv/order/four {@OLD} - -/obj/effect/decal/asphaltline : /obj/effect/turf_decal/asphaltline {@OLD} -/obj/effect/decal/asphaltline/@SUBTYPES : /obj/effect/turf_decal/asphaltline/@SUBTYPES {@OLD} -/obj/effect/decal/bordur : /obj/effect/turf_decal/bordur {@OLD} -/obj/effect/decal/bordur/@SUBTYPES : /obj/effect/turf_decal/bordur/@SUBTYPES {@OLD} -/obj/effect/decal/asphalt : /obj/effect/turf_decal/asphalt {@OLD} -/obj/effect/decal/crosswalk : /obj/effect/turf_decal/crosswalk {@OLD} -/obj/effect/decal/stock : /obj/effect/turf_decal/stock {@OLD} - From f2e0d060bd793dbbc3ee040b9c81c617bc8deff7 Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 02:19:45 +0000 Subject: [PATCH 227/271] Automatic changelog for PR #600 [ci skip] --- html/changelogs/AutoChangeLog-pr-600.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-600.yml diff --git a/html/changelogs/AutoChangeLog-pr-600.yml b/html/changelogs/AutoChangeLog-pr-600.yml new file mode 100644 index 000000000000..abf9ce95bdc0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-600.yml @@ -0,0 +1,11 @@ +author: "FalloutFalcon" +delete-after: True +changes: + - qol: "first key checked on a door has no delay" + - bugfix: "abyss tentacles should be able to acctually make a sound as intended" + - bugfix: "fixed tranforming BP dupe" + - bugfix: "typhon brew is craftable" + - bugfix: "humanity 10 vamps wont burn in the sun (IF ENABLED VIA CONFIG)" + - image: "blood hunt skull uses its onfloor" + - code_imp: "more non-combat item interactions are no longer in attack-by" + - code_imp: "all changes in BP should update your hud" \ No newline at end of file From 6b25094e5b1597a2d523ed110f58d521b8d3867a Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 10 Feb 2026 10:48:55 -0600 Subject: [PATCH 228/271] More big melee can be stored on Belt (#660) ## About The Pull Request Sprites by @dwinters99 mostly I recall ## Why It's Good For The Game We dont use the slot for much and ways to store items in suit storage is limited. ## Changelog :cl: FalloutFalcon, dwinters99 balance: More melee can be stored on the belt /:cl: --- .../modules/weapons/code/melee.dm | 3 +++ .../modules/weapons/icons/worn_guns.dmi | Bin 2870 -> 2693 bytes .../modules/weapons/icons/worn_melee.dmi | Bin 2481 -> 4038 bytes 3 files changed, 3 insertions(+) diff --git a/modular_darkpack/modules/weapons/code/melee.dm b/modular_darkpack/modules/weapons/code/melee.dm index b0b262090453..1d442ad1b2b4 100644 --- a/modular_darkpack/modules/weapons/code/melee.dm +++ b/modular_darkpack/modules/weapons/code/melee.dm @@ -20,6 +20,7 @@ righthand_file = 'modular_darkpack/modules/deprecated/icons/righthand.dmi' worn_icon = 'modular_darkpack/modules/weapons/icons/worn_melee.dmi' ONFLOOR_ICON_HELPER('modular_darkpack/modules/weapons/icons/weapons_onfloor.dmi') + slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT // Should really be suit storage pixel_w = -8 custom_price = 1800 @@ -188,6 +189,7 @@ ONFLOOR_ICON_HELPER('modular_darkpack/modules/weapons/icons/weapons_onfloor.dmi') icon_state = "baseball" inhand_icon_state = "baseball" + slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT // Should really be suit storage custom_price = 50 /obj/item/melee/baseball_bat/vamp/Initialize(mapload) @@ -328,6 +330,7 @@ righthand_file = 'modular_darkpack/modules/deprecated/icons/righthand.dmi' worn_icon = 'modular_darkpack/modules/weapons/icons/worn_melee.dmi' ONFLOOR_ICON_HELPER('modular_darkpack/modules/weapons/icons/weapons_onfloor.dmi') + slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT icon_state = "rock0" inhand_icon_state = "rock0" diff --git a/modular_darkpack/modules/weapons/icons/worn_guns.dmi b/modular_darkpack/modules/weapons/icons/worn_guns.dmi index 7aee5d7890947892eea6306919c13b0141602703..911da95ca2bfdd3cb81ec02be2be0dfc2f5631c7 100644 GIT binary patch delta 2553 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 A>;M1& delta 2478 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 From 038d5130afe993c270fc331e70a405fbdc46259c Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 17:02:01 +0000 Subject: [PATCH 229/271] Automatic changelog for PR #660 [ci skip] --- html/changelogs/AutoChangeLog-pr-660.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-660.yml diff --git a/html/changelogs/AutoChangeLog-pr-660.yml b/html/changelogs/AutoChangeLog-pr-660.yml new file mode 100644 index 000000000000..1dbe15f57584 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-660.yml @@ -0,0 +1,4 @@ +author: "FalloutFalcon, dwinters99" +delete-after: True +changes: + - balance: "More melee can be stored on the belt" \ No newline at end of file From a3398b8da8584f399435498489e3dec02bb2d20b Mon Sep 17 00:00:00 2001 From: XeonMations <62395746+XeonMations@users.noreply.github.com> Date: Tue, 10 Feb 2026 18:51:04 +0200 Subject: [PATCH 230/271] Fixes misc hard deletes (#656) ## About The Pull Request Removed flavor text's usage of dummies (why was it using it in the first place?) Fixed a plethora of hard deletes. ## Why It's Good For The Game Less lag. ## Changelog :cl: code: Fixed some hard deletes /:cl: --------- Co-authored-by: buffyuwu --- .../code/modules/mob/living/carbon/carbon.dm | 9 ++ .../blood_drinking/code/bite_helper_procs.dm | 4 +- .../modules/flavor_text/code/examine.dm | 18 +-- .../code/discipline/presence/presence.dm | 5 +- .../code/negative_quirks/derangement.dm | 7 +- .../vip_areas/code/vip_barrier_perm.dm | 2 +- .../modules/weapons/code/melee.dm | 1 + .../packages/tgui/interfaces/ExaminePanel.tsx | 147 +++++++----------- 8 files changed, 74 insertions(+), 119 deletions(-) diff --git a/modular_darkpack/master_files/code/modules/mob/living/carbon/carbon.dm b/modular_darkpack/master_files/code/modules/mob/living/carbon/carbon.dm index 2591ada46031..28a1b83162b5 100644 --- a/modular_darkpack/master_files/code/modules/mob/living/carbon/carbon.dm +++ b/modular_darkpack/master_files/code/modules/mob/living/carbon/carbon.dm @@ -1,4 +1,13 @@ +/mob/living/carbon/Initialize(mapload) + . = ..() + if(!examine_panel_tgui) + examine_panel_tgui = new() + examine_panel_tgui.holder = src + /mob/living/carbon/Destroy() + examine_panel_tgui.holder = null + QDEL_NULL(examine_panel_tgui) + client?.images -= suckbar QDEL_NULL(suckbar) suckbar_loc = null GLOB.masquerade_breakers_list -= src diff --git a/modular_darkpack/modules/blood_drinking/code/bite_helper_procs.dm b/modular_darkpack/modules/blood_drinking/code/bite_helper_procs.dm index eecb4785eab3..342545a73f1f 100644 --- a/modular_darkpack/modules/blood_drinking/code/bite_helper_procs.dm +++ b/modular_darkpack/modules/blood_drinking/code/bite_helper_procs.dm @@ -56,14 +56,14 @@ COOLDOWN_RESET(src, drinkblood_use_cd) if(client) client.images -= suckbar - qdel(suckbar) + QDEL_NULL(suckbar) return //Updates the circular suck bar that displays the amount of blood a victim has left. /mob/living/carbon/human/proc/update_drinking_overlay(mob/living/drunk_from) if(client) client.images -= suckbar - qdel(suckbar) + QDEL_NULL(suckbar) suckbar_loc = drunk_from suckbar = image('modular_darkpack/modules/blood_drinking/icons/bloodcounter.dmi', suckbar_loc, "[round(14*(drunk_from.bloodpool/drunk_from.maxbloodpool))]", HUD_PLANE) suckbar.pixel_z = 40 diff --git a/modular_darkpack/modules/flavor_text/code/examine.dm b/modular_darkpack/modules/flavor_text/code/examine.dm index 73938bce8372..8cbcbb9ee47d 100644 --- a/modular_darkpack/modules/flavor_text/code/examine.dm +++ b/modular_darkpack/modules/flavor_text/code/examine.dm @@ -11,12 +11,6 @@ /datum/examine_panel/ui_state(mob/user) return GLOB.always_state -/datum/examine_panel/ui_close(mob/user) - // If this is an examine preview dummy, clean it up. - if(istype(holder, /mob/living/carbon/human/dummy)) - qdel(holder) - - /datum/examine_panel/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) @@ -77,15 +71,7 @@ return flavor_text_to_show -/mob/living/carbon/human/dummy/proc/setup_examine_preview(mob/living/carbon/user) - examine_panel_tgui.holder = user - /mob/living/carbon/Topic(href, href_list) if(href_list["view_flavortext"]) - // The examine preview dummy will be cleaned up once the user closes the TGUI window. - var/mob/living/carbon/human/dummy/mannequin = generate_or_wait_for_human_dummy() - if(!mannequin.examine_panel_tgui) - mannequin.examine_panel_tgui = new() - mannequin.setup_examine_preview(src) - mannequin.examine_panel_tgui.ui_interact(usr) - ..() + examine_panel_tgui.ui_interact(usr) + . = ..() diff --git a/modular_darkpack/modules/powers/code/discipline/presence/presence.dm b/modular_darkpack/modules/powers/code/discipline/presence/presence.dm index 8399f172926c..bfbf55d1a79f 100644 --- a/modular_darkpack/modules/powers/code/discipline/presence/presence.dm +++ b/modular_darkpack/modules/powers/code/discipline/presence/presence.dm @@ -369,7 +369,10 @@ to_chat(hearer, span_info("Despite the overwhelming presence, your will allows you to make [hearer_successes] contradictory action\s until youre allowed to leave [owner]'s company.")) var/total_affected = length(affected_targets) - to_chat(owner, span_warning(total_affected > 0 ? "Your Majesty overwhelms [total_affected] individual[total_affected == 1 ? "" : "s"] in your presence!" : "No one is present to witness your Majesty.")) + if(total_affected > 0) + to_chat(owner, span_warning("Your Majesty overwhelms [total_affected] individual[total_affected == 1 ? "" : "s"] in your presence!")) + else + to_chat(owner, span_warning("No one is present to witness your Majesty.")) /datum/discipline_power/presence/majesty/deactivate(mob/living/carbon/human/target) . = ..() diff --git a/modular_darkpack/modules/quirks/code/negative_quirks/derangement.dm b/modular_darkpack/modules/quirks/code/negative_quirks/derangement.dm index 28598145d46a..494bea3a29eb 100644 --- a/modular_darkpack/modules/quirks/code/negative_quirks/derangement.dm +++ b/modular_darkpack/modules/quirks/code/negative_quirks/derangement.dm @@ -85,7 +85,7 @@ var/list/objects = list() for(var/obj/object in view(hallucinator)) - if((object.invisibility > hallucinator.see_invisible) || !object.loc || !object.name) + if((object.invisibility > hallucinator.see_invisible) || !object.loc || !object.name || (object in hallucinator.contents)) continue var/weight = 1 if(isitem(object)) @@ -95,9 +95,8 @@ else if(ismachinery(object)) weight = 2 objects[object] = weight - if(!objects.len) + if(!length(objects)) return - objects -= hallucinator.contents var/obj/speaker = pick_weight(objects) var/speech = pick(audible_hallucinations) @@ -106,7 +105,7 @@ hallucinator.playsound_local(hallucinator, audible_hallucinations[speech], vol = 20, vary = TRUE) if(hallucinator.client.prefs.read_preference(/datum/preference/toggle/see_rc_emotes)) hallucinator.create_chat_message(speaker, language, speech, spans = list(hallucinator.speech_span)) - to_chat(hallucinator, message) + to_chat(target = hallucinator, text = message) return TRUE diff --git a/modular_darkpack/modules/vip_areas/code/vip_barrier_perm.dm b/modular_darkpack/modules/vip_areas/code/vip_barrier_perm.dm index 90e82b337528..4bd1c3e033a7 100644 --- a/modular_darkpack/modules/vip_areas/code/vip_barrier_perm.dm +++ b/modular_darkpack/modules/vip_areas/code/vip_barrier_perm.dm @@ -89,7 +89,7 @@ target_bouncer.speak_seldom(pick(target_bouncer.block_phrases), target_mob) /datum/vip_barrier_perm/proc/notify_barrier_social_bypass(mob/user, mob/bouncer, used_badge) - if(!linked_barriers.len) + if(!length(linked_barriers) || !isliving(user)) return var/obj/effect/vip_barrier/target_barrier = linked_barriers[1] target_barrier.handle_social_bypass(user, bouncer, used_badge) diff --git a/modular_darkpack/modules/weapons/code/melee.dm b/modular_darkpack/modules/weapons/code/melee.dm index 1d442ad1b2b4..679caad78a28 100644 --- a/modular_darkpack/modules/weapons/code/melee.dm +++ b/modular_darkpack/modules/weapons/code/melee.dm @@ -33,6 +33,7 @@ worn_icon = 'modular_darkpack/modules/weapons/icons/worn_melee.dmi' ONFLOOR_ICON_HELPER('modular_darkpack/modules/weapons/icons/weapons_onfloor.dmi') pixel_w = -8 + custom_price = 1300 /obj/item/katana/vamp/Initialize(mapload) . = ..() diff --git a/tgui/packages/tgui/interfaces/ExaminePanel.tsx b/tgui/packages/tgui/interfaces/ExaminePanel.tsx index bce30335d072..f3bee77295f4 100644 --- a/tgui/packages/tgui/interfaces/ExaminePanel.tsx +++ b/tgui/packages/tgui/interfaces/ExaminePanel.tsx @@ -3,7 +3,7 @@ import { useState } from 'react'; import { resolveAsset } from '../assets'; import { useBackend } from '../backend'; -import { Section, Stack, Tabs } from 'tgui-core/components'; +import { Section, Stack, Tabs, Box } from 'tgui-core/components'; import type { BooleanLike } from 'tgui-core/react'; import { Window } from '../layouts'; @@ -63,122 +63,79 @@ export const ExaminePanel = (props) => { } = data; return ( - -
+ +
- - - setTabIndex(1)} - > -
- - {nsfw_content ? - setTabIndex(2)} - > -
- - : null} - - {tabIndex === 1 && ( -
- {formatURLs(flavor_text)} -
- )} - {tabIndex === 2 && ( + + + + setTabIndex(1)} + > + Flavor Text + + {nsfw_content ? + setTabIndex(2)} + > + Flavor Text (NSFW) + + : null} +
- {formatURLs(flavor_text_nsfw)} + {formatURLs(tabIndex === 1 ? flavor_text : flavor_text_nsfw)}
- )} - - setLowerTabIndex(1)} - > -
- - {nsfw_content ? - setLowerTabIndex(2)} - > -
- - : null} - - {lowerTabIndex === 1 && ( -
+ setLowerTabIndex(1)} > - {formatURLs(character_notes)} -
- )} - {lowerTabIndex === 2 && ( -
+ {nsfw_content ? + setLowerTabIndex(2)} > - {formatURLs(ooc_notes)} -
- )} + OOC Notes (NSFW) + + : null} + + +
{formatURLs(lowerTabIndex === 1 ? character_notes : ooc_notes)}
+
+ From 8ea8668fc9f0da06bb8249121d90a8afd6eccdf5 Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 17:15:29 +0000 Subject: [PATCH 231/271] Automatic changelog for PR #656 [ci skip] --- html/changelogs/AutoChangeLog-pr-656.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-656.yml diff --git a/html/changelogs/AutoChangeLog-pr-656.yml b/html/changelogs/AutoChangeLog-pr-656.yml new file mode 100644 index 000000000000..3831a440a3a0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-656.yml @@ -0,0 +1,4 @@ +author: "XeonMations" +delete-after: True +changes: + - code_imp: "Fixed some hard deletes" \ No newline at end of file From 0b8a11ab05559b8745c2fbb7deecae9a11e6fc4b Mon Sep 17 00:00:00 2001 From: XeonMations <62395746+XeonMations@users.noreply.github.com> Date: Tue, 10 Feb 2026 19:31:38 +0200 Subject: [PATCH 232/271] Alters character preferences (#666) ## About The Pull Request Made our character preferences menu a bit more sane. Ports: - [x] https://github.com/NovaSector/NovaSector/pull/6519 Fixes https://github.com/DarkPack13/SecondCity/issues/635 image image ## Why It's Good For The Game UI looks better. ## Changelog :cl: qol: Made our character preferences nicer to look at. /:cl: --- .../client/preferences/persistent_scars.dm | 2 +- .../guestbook/code/adjective_preference.dm | 2 +- .../code/preferences/immortal_age.dm | 2 +- .../CharacterPreferences/MainPage.tsx | 77 ++++++++++++++++++- 4 files changed, 78 insertions(+), 5 deletions(-) diff --git a/code/modules/client/preferences/persistent_scars.dm b/code/modules/client/preferences/persistent_scars.dm index db3402fb6b78..4db17afdce26 100644 --- a/code/modules/client/preferences/persistent_scars.dm +++ b/code/modules/client/preferences/persistent_scars.dm @@ -1,5 +1,5 @@ /datum/preference/toggle/persistent_scars - category = PREFERENCE_CATEGORY_NON_CONTEXTUAL + category = PREFERENCE_CATEGORY_SECONDARY_FEATURES // DARKPACK EDIT, ORIGINAL: category = PREFERENCE_CATEGORY_NON_CONTEXTUAL savefile_key = "persistent_scars" savefile_identifier = PREFERENCE_CHARACTER diff --git a/modular_darkpack/modules/guestbook/code/adjective_preference.dm b/modular_darkpack/modules/guestbook/code/adjective_preference.dm index 183f81d93dbd..31fec0260dc4 100644 --- a/modular_darkpack/modules/guestbook/code/adjective_preference.dm +++ b/modular_darkpack/modules/guestbook/code/adjective_preference.dm @@ -1,5 +1,5 @@ /datum/preference/choiced/adjective_preference - category = PREFERENCE_CATEGORY_SECONDARY_FEATURES + category = PREFERENCE_CATEGORY_NON_CONTEXTUAL priority = PREFERENCE_PRIORITY_TABLETOP savefile_key = "adjective_preference" savefile_identifier = PREFERENCE_CHARACTER diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/preferences/immortal_age.dm b/modular_darkpack/modules/vampire_the_masquerade/code/preferences/immortal_age.dm index 5d2a78d29029..c4f944b3be1d 100644 --- a/modular_darkpack/modules/vampire_the_masquerade/code/preferences/immortal_age.dm +++ b/modular_darkpack/modules/vampire_the_masquerade/code/preferences/immortal_age.dm @@ -1,5 +1,5 @@ /datum/preference/numeric/immortal_age - category = PREFERENCE_CATEGORY_SECONDARY_FEATURES + category = PREFERENCE_CATEGORY_NON_CONTEXTUAL savefile_key = "immortal_age" savefile_identifier = PREFERENCE_CHARACTER priority = PREFERENCE_PRIORITY_TABLETOP diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx index 9bbf8cf85030..6655250fec23 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx @@ -12,9 +12,11 @@ import { Section, Stack, } from 'tgui-core/components'; +import { exhaustiveCheck } from 'tgui-core/exhaustive'; // DARKPACK EDIT ADDITION import { classes } from 'tgui-core/react'; import { createSearch } from 'tgui-core/string'; import { CharacterPreview } from '../../common/CharacterPreview'; +import { PageButton } from '../components/PageButton'; // DARKPACK EDIT ADDITION import { RandomizationButton } from '../components/RandomizationButton'; import { features } from '../preferences/features'; import { @@ -34,7 +36,7 @@ import { DeleteCharacterPopup } from './DeleteCharacterPopup'; import { MultiNameInput, NameInput } from './names'; const CLOTHING_CELL_SIZE = 48; -const CLOTHING_SIDEBAR_ROWS = 9; +const CLOTHING_SIDEBAR_ROWS = 12; // DARKPACK EDIT, ORIGINAL: 9; const CLOTHING_SELECTION_CELL_SIZE = 48; const CLOTHING_SELECTION_WIDTH = 5.4; @@ -390,6 +392,7 @@ export function PreferenceList(props: PreferenceListProps) { key={featureId} label={feature.name} tooltip={feature.description} + tooltipPosition="right" // DARKPACK EDIT ADDITION - Swappable pref menus verticalAlign="middle" > @@ -493,6 +496,47 @@ export function MainPage(props: MainPageProps) { delete nonContextualPreferences.random_name; } + // DARKPACK EDIT ADDITION BEGIN: SWAPPABLE PREF MENUS + enum PrefPage { + Visual, // The visual parts + Profile, // Flavor Text, Age, Records, PDA ringtone, etc + } + + const [currentPrefPage, setCurrentPrefPage] = useState(PrefPage.Visual); + + let prefPageContents; + switch (currentPrefPage) { + case PrefPage.Visual: + prefPageContents = ( + + ); + break; + case PrefPage.Profile: + prefPageContents = ( + + ); + break; + default: + exhaustiveCheck(currentPrefPage); + } + // DARKPACK EDIT ADDITION END + return ( <> {multiNameInputOpen && ( @@ -590,8 +634,12 @@ export function MainPage(props: MainPageProps) { - + {/* DARKPACK EDIT CHANGE: Swappable pref menus */} + {/* ORIGINAL: */} + + { + /* DARKPACK EDIT REMOVAL START + */ // DARKPACK EDIT REMOVAL END + } + {/* DARKPACK EDIT ADDITION BEGIN: Swappable pref menus */} + + + + Character Visuals + + + + + Character Lore + + + + {prefPageContents} + {/* DARKPACK EDIT ADDITION END: Swappable pref menus */} ); From d39cf5f44af07dfa438df7bda63afb526d06faa3 Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 17:44:57 +0000 Subject: [PATCH 233/271] Automatic changelog for PR #666 [ci skip] --- html/changelogs/AutoChangeLog-pr-666.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-666.yml diff --git a/html/changelogs/AutoChangeLog-pr-666.yml b/html/changelogs/AutoChangeLog-pr-666.yml new file mode 100644 index 000000000000..d503f75529fe --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-666.yml @@ -0,0 +1,4 @@ +author: "XeonMations" +delete-after: True +changes: + - qol: "Made our character preferences nicer to look at." \ No newline at end of file From 9dc8d77b2e98c00131760616a3edd75020b71b18 Mon Sep 17 00:00:00 2001 From: Knightscholar <155270960+Knightscholar@users.noreply.github.com> Date: Tue, 10 Feb 2026 10:00:32 -0800 Subject: [PATCH 234/271] Auspex One-Line Fixes (#638) ## About The Pull Request Fixes very simple gaps in auspex. Fixes #571 Fixes #359 ## Why It's Good For The Game Discipline works as intended. ## Changelog :cl: add: Added the ability to toggle Aura Perception del: Removed Industrial SFX from The Spirit's Touch /:cl: --------- Co-authored-by: XeonMations <62395746+XeonMations@users.noreply.github.com> --- .../modules/powers/code/discipline/auspex/auspex.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modular_darkpack/modules/powers/code/discipline/auspex/auspex.dm b/modular_darkpack/modules/powers/code/discipline/auspex/auspex.dm index 14e578e6bde4..d6b81006e73d 100644 --- a/modular_darkpack/modules/powers/code/discipline/auspex/auspex.dm +++ b/modular_darkpack/modules/powers/code/discipline/auspex/auspex.dm @@ -107,12 +107,14 @@ cooldown_length = 1 SCENES vitae_cost = 0 + toggled = TRUE + /datum/discipline_power/auspex/aura_perception/activate() . = ..() var/datum/atom_hud/data/auspex_aura/target_hud = GLOB.huds[DATA_HUD_AUSPEX_AURAS] target_hud.show_to(owner) - var/list/heard = get_hearers_in_range(DEFAULT_MESSAGE_RANGE, owner) + var/list/heard = orange(DEFAULT_MESSAGE_RANGE, owner) for(var/mob/living/hearer in heard) hearer.apply_status_effect(/datum/status_effect/question_emotion) @@ -157,7 +159,6 @@ // Can remotely scan objects and mobs. if((get_dist(scanned_atom, user) > 8) || (!(scanned_atom in view(8, user)))) return TRUE - playsound(owner, SFX_INDUSTRIAL_SCAN, 20, TRUE, -2, TRUE, FALSE) // GATHER INFORMATION From ee4f99dd669ea8388346f04a821e1543ba61bdb2 Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 18:14:41 +0000 Subject: [PATCH 235/271] Automatic changelog for PR #638 [ci skip] --- html/changelogs/AutoChangeLog-pr-638.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-638.yml diff --git a/html/changelogs/AutoChangeLog-pr-638.yml b/html/changelogs/AutoChangeLog-pr-638.yml new file mode 100644 index 000000000000..d0a22f74a006 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-638.yml @@ -0,0 +1,5 @@ +author: "Knightscholar" +delete-after: True +changes: + - rscadd: "Added the ability to toggle Aura Perception" + - rscdel: "Removed Industrial SFX from The Spirit's Touch" \ No newline at end of file From 8204f369cdbf384591dbff77e0e3bac421c529ec Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 10 Feb 2026 12:00:42 -0600 Subject: [PATCH 236/271] Scene clothes (#665) ## About The Pull Request Port of https://github.com/The-Final-Nights/The-Final-Nights/pull/465 by @tzui5020 & @EnchantedCrocolisk image image image ## Why It's Good For The Game This clothing is good and i missed it. ## Changelog :cl: FalloutFalcon, tzui5020, EnchantedCrocolisk add: New outfits have been added to the loadout and Hot Ishu inspired by the scene girl era. add: Three new shoes. add: Two new hoodies. /:cl: --------- Co-authored-by: buffyuwu --- modular_darkpack/modules/clothes/code/feet.dm | 15 ++++++ modular_darkpack/modules/clothes/code/suit.dm | 45 +++++++++++++++++- .../modules/clothes/code/under.dm | 21 +++++++- .../modules/clothes/icons/clothing.dmi | Bin 95836 -> 119677 bytes .../clothes/icons/clothing_onfloor.dmi | Bin 50057 -> 60675 bytes .../modules/clothes/icons/worn.dmi | Bin 173367 -> 211442 bytes .../modules/loadout/code/categories/shoes.dm | 9 ++++ .../modules/loadout/code/categories/suit.dm | 10 ++++ .../loadout/code/categories/uniform.dm | 13 +++++ .../modules/retail/code/stores/hot_ishu.dm | 42 +++++++++------- 10 files changed, 135 insertions(+), 20 deletions(-) diff --git a/modular_darkpack/modules/clothes/code/feet.dm b/modular_darkpack/modules/clothes/code/feet.dm index 8a77f453a42f..113c5f085184 100644 --- a/modular_darkpack/modules/clothes/code/feet.dm +++ b/modular_darkpack/modules/clothes/code/feet.dm @@ -52,6 +52,21 @@ /obj/item/clothing/shoes/vampire/sneakers/red icon_state = "sneakers_red" +/obj/item/clothing/shoes/vampire/blackfur + name = "black fur boots" + desc = "A furry pair of black and white boots" + icon_state = "furboots_black" + +/obj/item/clothing/shoes/vampire/brownfur + name = "brown fur boots" + desc = "A furry pair of brown boots" + icon_state = "furboots_brown" + +/obj/item/clothing/shoes/vampire/pumped + name = "knee-high sneakers" + desc = "Sneakers from the popular brand Converts" + icon_state = "pumped_up_kicks" + /obj/item/clothing/shoes/vampire/heels name = "heels" desc = "Rich-looking heels." diff --git a/modular_darkpack/modules/clothes/code/suit.dm b/modular_darkpack/modules/clothes/code/suit.dm index ef4cbfc28583..d08acce22159 100644 --- a/modular_darkpack/modules/clothes/code/suit.dm +++ b/modular_darkpack/modules/clothes/code/suit.dm @@ -220,6 +220,49 @@ name = "brown fur coat" icon_state = "winter2" +/obj/item/clothing/suit/vampire/coat/leopard + name = "leopard coat" + desc = "A coat made from synthetic fur." + icon_state = "leopard_coat" + + +/obj/item/clothing/suit/hooded/hoodie + name = "hoodie" + desc = "A simple hoodie." + icon_state = "hoodie" + icon = 'modular_darkpack/modules/clothes/icons/clothing.dmi' + worn_icon = 'modular_darkpack/modules/clothes/icons/worn.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/clothes/icons/clothing_onfloor.dmi') + body_parts_covered = CHEST|GROIN|ARMS + cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + hoodtype = /obj/item/clothing/head/hooded/hood_hood + +/obj/item/clothing/head/hooded/hood_hood + name = "hoodie hood" + desc = "A hoodies hoodie hood." + icon_state = "hoodie_hood" + icon = 'modular_darkpack/modules/clothes/icons/clothing.dmi' + worn_icon = 'modular_darkpack/modules/clothes/icons/worn.dmi' + // You should not expect this to have an onfloor + body_parts_covered = HEAD + cold_protection = HEAD + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + flags_inv = HIDEEARS + hair_mask = /datum/hair_mask/winterhood + +/obj/item/clothing/suit/hooded/hoodie/hoodie_pim + name = "intruder zim hoodie" + desc = "A hoodie of a favorite Intruder Zim character, Ger." + icon_state = "hoodie_zim" + hoodtype = /obj/item/clothing/head/hooded/hood_hood/hood_pim + +/obj/item/clothing/head/hooded/hood_hood/hood_pim + name = "intruder zim hoodie hood" + desc = "A hood resembling a favorite Intruder Zim character, Ger." + icon_state = "hoodie_zim_hood" + + /obj/item/clothing/suit/vampire/slickbackcoat name = "opulent coat" desc = "Lavish, luxurious, and deeply purple. Slickback Clothing Co. It exudes immense energy." @@ -539,5 +582,3 @@ desc = "A crisp white labcoat. This one has a green trim and the " + MAIN_EVIL_COMPANY + " International logo stiched onto the breast!" icon_state = "pentex_labcoat_alt" armor_type = /datum/armor/labcoat - - diff --git a/modular_darkpack/modules/clothes/code/under.dm b/modular_darkpack/modules/clothes/code/under.dm index 58945a5784a3..878540cca562 100644 --- a/modular_darkpack/modules/clothes/code/under.dm +++ b/modular_darkpack/modules/clothes/code/under.dm @@ -98,6 +98,26 @@ desc = "A white, sweat stained shirt with a giant black skull on the front, it makes a statement. Maybe 'I don't use deoderant' but, a statement nontheless." icon_state = "dirty" +/obj/item/clothing/under/vampire/sceneleopard + name = "revealing outfit" + desc = "You never thought you needed spaghetti straps." + icon_state = "scenetop_leopard" + +/obj/item/clothing/under/vampire/scenemoody + name = "moody attire" + desc = "A classic My Chemistry Romance top." + icon_state = "scenetop_moody" + +/obj/item/clothing/under/vampire/scenezim + name = "intruder zim attire" + desc = "A top from your favorite show, Intruder Zim" + icon_state = "scenetop_zim" + +/obj/item/clothing/under/vampire/scenepink + name = "popular Outfit" + desc = "It almost makes you feel like a mean girl" + icon_state = "scenetop_pink" + /obj/item/clothing/under/vampire/turtleneck_white name = "white turtleneck" desc = "For me, it's always like this." @@ -489,4 +509,3 @@ desc = "A white designer suitskirt with a green dress shirt. This one has an Endron International tag on it!" icon_state = "pentex_executiveskirt" - diff --git a/modular_darkpack/modules/clothes/icons/clothing.dmi b/modular_darkpack/modules/clothes/icons/clothing.dmi index 69af6462be80239fc4e34a4d0f1871f224f60758..4a0c32ca24138a0f3eec91cebd394ce444921ccf 100644 GIT binary patch literal 119677 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�?dM;$uYy3@LliznbYoj3EuvY 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

7Y6&m`pZ$obU;vA>LeuO5(KH~>!ROisgb5oZm3 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 z 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%0AA;NxEt6s!`j9|2Il-l6y-u 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 J=d5kO{{Z4ZIu!r_ diff --git a/modular_darkpack/modules/clothes/icons/clothing_onfloor.dmi b/modular_darkpack/modules/clothes/icons/clothing_onfloor.dmi index 46cb2d37a0d7cb9ae6c796cc9b46720a69a84c05..c7f87b7330034fbdd47aef12910ac10238fcd04b 100644 GIT binary patch literal 60675 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 diff --git a/modular_darkpack/modules/clothes/icons/worn.dmi b/modular_darkpack/modules/clothes/icons/worn.dmi index 164fa7f576b7e135510ce558aa762a7418defd28..2f94c37b3afc232e5efb4b6c424855e2553472b3 100644 GIT binary patch literal 211442 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

yT3VBnKTYENm6dPYBmj%lo)%Q2 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%0D?*+N*Qh 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 G>VE*WP*`06 literal 173367 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%0AGxDeH>m#?do&R*rEJ^gOIaV4 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 diff --git a/modular_darkpack/modules/loadout/code/categories/shoes.dm b/modular_darkpack/modules/loadout/code/categories/shoes.dm index c9b8777373c2..c857600e8dd3 100644 --- a/modular_darkpack/modules/loadout/code/categories/shoes.dm +++ b/modular_darkpack/modules/loadout/code/categories/shoes.dm @@ -53,3 +53,12 @@ /datum/loadout_item/shoes/metal_tipped_shoes name = "Shoes (Metal Tipped)" item_path = /obj/item/clothing/shoes/vampire/businesstip + +/datum/loadout_item/shoes/blackfur + item_path = /obj/item/clothing/shoes/vampire/blackfur + +/datum/loadout_item/shoes/brownfur + item_path = /obj/item/clothing/shoes/vampire/brownfur + +/datum/loadout_item/shoes/pumped + item_path = /obj/item/clothing/shoes/vampire/pumped diff --git a/modular_darkpack/modules/loadout/code/categories/suit.dm b/modular_darkpack/modules/loadout/code/categories/suit.dm index 2230f7af7601..b7e5f06cf70d 100644 --- a/modular_darkpack/modules/loadout/code/categories/suit.dm +++ b/modular_darkpack/modules/loadout/code/categories/suit.dm @@ -42,6 +42,9 @@ name = "Coat (Red)" item_path = /obj/item/clothing/suit/vampire/coat/winter/alt +/datum/loadout_item/suit/coat/leopardcoat + item_path = /obj/item/clothing/suit/vampire/coat/leopard + // Jackets /datum/loadout_item/suit/jacket abstract_type = /datum/loadout_item/suit/jacket @@ -86,6 +89,13 @@ name = "Trenchcoat (Burgundy)" item_path = /obj/item/clothing/suit/vampire/trench/archive +// Hoodies +/datum/loadout_item/suit/hoodie + item_path = /obj/item/clothing/suit/hooded/hoodie + +/datum/loadout_item/suit/hoodiezim + item_path = /obj/item/clothing/suit/hooded/hoodie/hoodie_pim + // Misc /datum/loadout_item/suit/kasaya name = "Kasaya" diff --git a/modular_darkpack/modules/loadout/code/categories/uniform.dm b/modular_darkpack/modules/loadout/code/categories/uniform.dm index 027d761190cd..df3ff9bea874 100644 --- a/modular_darkpack/modules/loadout/code/categories/uniform.dm +++ b/modular_darkpack/modules/loadout/code/categories/uniform.dm @@ -188,6 +188,19 @@ name = "Dress Shirt (Brown)" item_path = /obj/item/clothing/under/vampire/biker +//Scene +/datum/loadout_item/uniform/scenepink + item_path = /obj/item/clothing/under/vampire/scenepink + +/datum/loadout_item/uniform/scenemoody + item_path = /obj/item/clothing/under/vampire/scenemoody + +/datum/loadout_item/uniform/sceneleopard + item_path = /obj/item/clothing/under/vampire/sceneleopard + +/datum/loadout_item/uniform/scenezim + item_path = /obj/item/clothing/under/vampire/scenezim + //Other /datum/loadout_item/uniform/baron name = "Bartender Outfit" diff --git a/modular_darkpack/modules/retail/code/stores/hot_ishu.dm b/modular_darkpack/modules/retail/code/stores/hot_ishu.dm index 9dc9793f197d..6b53ad5418ce 100644 --- a/modular_darkpack/modules/retail/code/stores/hot_ishu.dm +++ b/modular_darkpack/modules/retail/code/stores/hot_ishu.dm @@ -2,21 +2,29 @@ products_list = list( new /datum/data/vending_product("\"Vase\"", /obj/item/bong, 50), new /datum/data/vending_product("cross", /obj/item/card/hunter, 25), - new /datum/data/vending_product("backpack", /obj/item/storage/backpack, 100), - new /datum/data/vending_product("black grunge outfit", /obj/item/clothing/under/vampire/black, 20), - new /datum/data/vending_product("burlesque outfit", /obj/item/clothing/under/vampire/burlesque, 15), - new /datum/data/vending_product("female gimp outfit", /obj/item/clothing/under/vampire/nosferatu/female, 15), - new /datum/data/vending_product("female punk attire ", /obj/item/clothing/under/vampire/brujah/female, 20), - new /datum/data/vending_product("gimp outfit", /obj/item/clothing/under/vampire/nosferatu, 15), - new /datum/data/vending_product("gothic clothes", /obj/item/clothing/under/vampire/gothic, 20), - new /datum/data/vending_product("gothic attire", /obj/item/clothing/under/vampire/brujah, 20), - new /datum/data/vending_product("grimey pants", /obj/item/clothing/under/vampire/malkavian, 20), - //new /datum/data/vending_product("hoodie", /obj/item/clothing/suit/hooded/hoodie, 15), - //new /datum/data/vending_product("intruder pim hoodie", /obj/item/clothing/suit/hooded/hoodie/hoodie_pim, 20), - new /datum/data/vending_product("jacket", /obj/item/clothing/suit/vampire/jacket, 15), - new /datum/data/vending_product("odd Goth schoolgirl attire", /obj/item/clothing/under/vampire/malkavian/female, 20), - new /datum/data/vending_product("pentagram shirt", /obj/item/clothing/under/vampire/baali, 20), - new /datum/data/vending_product("pentagram skirt", /obj/item/clothing/under/vampire/baali/female, 20), - new /datum/data/vending_product("punk outfit", /obj/item/clothing/under/vampire/emo, 20), - new /datum/data/vending_product("red hipster outfit", /obj/item/clothing/under/vampire/red, 20), + new /datum/data/vending_product("backpack", /obj/item/storage/backpack, 100), + new /datum/data/vending_product("black grunge outfit", /obj/item/clothing/under/vampire/black, 20), + new /datum/data/vending_product("burlesque outfit", /obj/item/clothing/under/vampire/burlesque, 15), + new /datum/data/vending_product("female gimp outfit", /obj/item/clothing/under/vampire/nosferatu/female, 15), + new /datum/data/vending_product("female punk attire ", /obj/item/clothing/under/vampire/brujah/female, 20), + new /datum/data/vending_product("gimp outfit", /obj/item/clothing/under/vampire/nosferatu, 15), + new /datum/data/vending_product("gothic clothes", /obj/item/clothing/under/vampire/gothic, 20), + new /datum/data/vending_product("gothic attire", /obj/item/clothing/under/vampire/brujah, 20), + new /datum/data/vending_product("grimey pants", /obj/item/clothing/under/vampire/malkavian, 20), + new /datum/data/vending_product("popular outfit", /obj/item/clothing/under/vampire/scenepink, 20), + new /datum/data/vending_product("moody attire", /obj/item/clothing/under/vampire/scenemoody, 20), + new /datum/data/vending_product("pim attire", /obj/item/clothing/under/vampire/scenezim, 20), + new /datum/data/vending_product("revealing outfit", /obj/item/clothing/under/vampire/sceneleopard, 20), + new /datum/data/vending_product("hoodie", /obj/item/clothing/suit/hooded/hoodie, 15), + new /datum/data/vending_product("intruder pim hoodie", /obj/item/clothing/suit/hooded/hoodie/hoodie_pim, 20), + new /datum/data/vending_product("leopard coat", /obj/item/clothing/suit/vampire/coat/leopard, 35), + new /datum/data/vending_product("jacket", /obj/item/clothing/suit/vampire/jacket, 15), + new /datum/data/vending_product("odd Goth schoolgirl attire", /obj/item/clothing/under/vampire/malkavian/female, 20), + new /datum/data/vending_product("pentagram shirt", /obj/item/clothing/under/vampire/baali, 20), + new /datum/data/vending_product("pentagram skirt", /obj/item/clothing/under/vampire/baali/female, 20), + new /datum/data/vending_product("punk outfit", /obj/item/clothing/under/vampire/emo, 20), + new /datum/data/vending_product("red hipster outfit", /obj/item/clothing/under/vampire/red, 20), + new /datum/data/vending_product("black fur boots", /obj/item/clothing/shoes/vampire/blackfur, 35), + new /datum/data/vending_product("brown fur boots", /obj/item/clothing/shoes/vampire/brownfur, 35), + new /datum/data/vending_product("knee-high sneakers", /obj/item/clothing/shoes/vampire/pumped, 35), ) From 3a28d9a2d15ce681e26501cd6eb567ff3fad40e5 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 10 Feb 2026 12:00:51 -0600 Subject: [PATCH 237/271] TTRPG damage now represents 10 force (#629) ## About The Pull Request changes da define from 5 to 10 ## Why It's Good For The Game In the TTRPG you have 7 pips that have 3 states each. If you hit agg in incapacitated, you die. In spessman game. 200 damage kills you***** image This makes it match that closer and makes actions balanced using this define stronger. ## Changelog :cl: balance: Doubles the define for TTRPG damage to represent 10 instead of 5 force /:cl: --- code/__DEFINES/~darkpack/combat.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__DEFINES/~darkpack/combat.dm b/code/__DEFINES/~darkpack/combat.dm index 629e884fd051..fc8f9e2150fd 100644 --- a/code/__DEFINES/~darkpack/combat.dm +++ b/code/__DEFINES/~darkpack/combat.dm @@ -5,7 +5,7 @@ #define SCENES * 3 MINUTES // To eyeball damage as its calcuated in the ttrpg -#define TTRPG_DAMAGE * 5 +#define TTRPG_DAMAGE * 10 // Unused for now #define BASHING "bashing" From 9636684683ee39f048ee7933676e2d0087ed21d2 Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 18:28:50 +0000 Subject: [PATCH 238/271] Automatic changelog for PR #665 [ci skip] --- html/changelogs/AutoChangeLog-pr-665.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-665.yml diff --git a/html/changelogs/AutoChangeLog-pr-665.yml b/html/changelogs/AutoChangeLog-pr-665.yml new file mode 100644 index 000000000000..cc29e2da3757 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-665.yml @@ -0,0 +1,6 @@ +author: "FalloutFalcon, tzui5020, EnchantedCrocolisk" +delete-after: True +changes: + - rscadd: "New outfits have been added to the loadout and Hot Ishu inspired by the scene girl era." + - rscadd: "Three new shoes." + - rscadd: "Two new hoodies." \ No newline at end of file From 12a0143926de48b84b48d78948e8bd122c197e57 Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 18:28:53 +0000 Subject: [PATCH 239/271] Automatic changelog for PR #629 [ci skip] --- html/changelogs/AutoChangeLog-pr-629.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-629.yml diff --git a/html/changelogs/AutoChangeLog-pr-629.yml b/html/changelogs/AutoChangeLog-pr-629.yml new file mode 100644 index 000000000000..5ca679870803 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-629.yml @@ -0,0 +1,4 @@ +author: "FalloutFalcon" +delete-after: True +changes: + - balance: "Doubles the define for TTRPG damage to represent 10 instead of 5 force" \ No newline at end of file From 6293906083488ad16115901d736e9788b789bd1d Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Wed, 11 Feb 2026 13:00:38 -0600 Subject: [PATCH 240/271] Mobs are cleared from manifest when matrixing (#595) ## About The Pull Request mobs are now cleared from the manifest upon matrixing ## Why It's Good For The Game fixes #594 its not fullproof as it only checks name but i dont have many other options. ## Changelog :cl: fix: mobs are now cleared from the manifest upon matrixing fix: matrixing clears a breacher from the masq /:cl: --- .../modules/masquerade/code/subsystem/masquerade.dm | 2 +- modular_darkpack/modules/matrix/code/matrix.dm | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modular_darkpack/modules/masquerade/code/subsystem/masquerade.dm b/modular_darkpack/modules/masquerade/code/subsystem/masquerade.dm index 57a0a15eb27a..239d4f3c7ad2 100644 --- a/modular_darkpack/modules/masquerade/code/subsystem/masquerade.dm +++ b/modular_darkpack/modules/masquerade/code/subsystem/masquerade.dm @@ -123,7 +123,7 @@ SUBSYSTEM_DEF(masquerade) preferences.save_character() // This is for clearing the round's masquerade because a player matrix'd -/datum/controller/subsystem/masquerade/proc/cryo_masquerade_breacher(mob/living/player_breacher, update_preferences) +/datum/controller/subsystem/masquerade/proc/matrix_masquerade_breacher(mob/living/player_breacher, update_preferences) for(var/masquerade_breach as anything in masquerade_breachers) if((player_breacher in masquerade_breach)) masquerade_breachers -= list(masquerade_breach) diff --git a/modular_darkpack/modules/matrix/code/matrix.dm b/modular_darkpack/modules/matrix/code/matrix.dm index 0107ffbe8746..fb5deb642aa8 100644 --- a/modular_darkpack/modules/matrix/code/matrix.dm +++ b/modular_darkpack/modules/matrix/code/matrix.dm @@ -50,11 +50,14 @@ ADMIN_VERB_AND_CONTEXT_MENU(matrix_mob_verb, R_ADMIN, "Matrix Mob", "Matrix (des message_admins("[ADMIN_LOOKUP(despawning_mob)] has exited through the matrix.") log_game("[despawning_mob] has exited through the matrix.") + GLOB.manifest.remove(despawning_mob.real_name) + SSjob.FreeRole(despawning_mob) GLOB.joined_player_list -= despawning_mob.ckey //handle_objectives() + SSmasquerade.matrix_masquerade_breacher(despawning_mob, TRUE) despawning_mob.ghostize(FALSE) QDEL_NULL(despawning_mob) From abd68fb54f230da9004745ac99bdd38d964b59e3 Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Wed, 11 Feb 2026 19:15:33 +0000 Subject: [PATCH 241/271] Automatic changelog for PR #595 [ci skip] --- html/changelogs/AutoChangeLog-pr-595.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-595.yml diff --git a/html/changelogs/AutoChangeLog-pr-595.yml b/html/changelogs/AutoChangeLog-pr-595.yml new file mode 100644 index 000000000000..7d2a3a12cdf1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-595.yml @@ -0,0 +1,5 @@ +author: "FalloutFalcon" +delete-after: True +changes: + - bugfix: "mobs are now cleared from the manifest upon matrixing" + - bugfix: "matrixing clears a breacher from the masq" \ No newline at end of file From ed9ed495e616d388f768ec993255a4a8f8de4594 Mon Sep 17 00:00:00 2001 From: SELFHELL <99771731+SELFHELL@users.noreply.github.com> Date: Thu, 12 Feb 2026 15:19:11 -0600 Subject: [PATCH 242/271] Ports First Teams from TFN (#514) Ports over all the stuff, testing to come ## About The Pull Request I'll fill this out once i've finished testing & tweaking everything, Todo: Finish the shittier Budget First Team so admins have an option that's not entirely wiping everyone out ## Why It's Good For The Game More admin toys are fun ## Changelog :cl: add: Pentex FIRST Team ERT /:cl: --------- Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Co-authored-by: chazzyjazzy <33268885+chazzyjazzy@users.noreply.github.com> --- .../modules/ert/code/items/first_team.dm | 370 ++++++++++++++++++ modular_darkpack/modules/ert/code/loadout.dm | 125 ++++++ .../modules/ert/code/pentex_ert_roles.dm | 34 ++ modular_darkpack/modules/ert/code/team.dm | 21 + .../modules/ert/icons/48x32weapons.dmi | Bin 0 -> 5022 bytes modular_darkpack/modules/ert/icons/ammo.dmi | Bin 0 -> 7176 bytes .../modules/ert/icons/clothing.dmi | Bin 0 -> 2627 bytes .../modules/ert/icons/lefthand.dmi | Bin 0 -> 2936 bytes .../modules/ert/icons/medical.dmi | Bin 0 -> 1304 bytes .../modules/ert/icons/onfloor.dmi | Bin 0 -> 4667 bytes .../modules/ert/icons/righthand.dmi | Bin 0 -> 2922 bytes modular_darkpack/modules/ert/icons/worn.dmi | Bin 0 -> 2912 bytes .../modules/ert/sounds/balefire.ogg | Bin 0 -> 92617 bytes .../modules/ert/sounds/cycling.ogg | Bin 0 -> 15164 bytes .../modules/ert/sounds/m249fire.ogg | Bin 0 -> 19775 bytes .../modules/ert/sounds/m249rack.ogg | Bin 0 -> 11701 bytes .../modules/ert/sounds/shell_load.ogg | Bin 0 -> 7558 bytes .../modules/ert/sounds/shotgun_firing.ogg | Bin 0 -> 24471 bytes .../modules/ert/sounds/silenced_rifle.ogg | Bin 0 -> 13558 bytes modular_darkpack/modules/radios/code/radio.dm | 11 + tgstation.dme | 4 + 21 files changed, 565 insertions(+) create mode 100644 modular_darkpack/modules/ert/code/items/first_team.dm create mode 100644 modular_darkpack/modules/ert/code/loadout.dm create mode 100644 modular_darkpack/modules/ert/code/pentex_ert_roles.dm create mode 100644 modular_darkpack/modules/ert/code/team.dm create mode 100644 modular_darkpack/modules/ert/icons/48x32weapons.dmi create mode 100644 modular_darkpack/modules/ert/icons/ammo.dmi create mode 100644 modular_darkpack/modules/ert/icons/clothing.dmi create mode 100644 modular_darkpack/modules/ert/icons/lefthand.dmi create mode 100644 modular_darkpack/modules/ert/icons/medical.dmi create mode 100644 modular_darkpack/modules/ert/icons/onfloor.dmi create mode 100644 modular_darkpack/modules/ert/icons/righthand.dmi create mode 100644 modular_darkpack/modules/ert/icons/worn.dmi create mode 100644 modular_darkpack/modules/ert/sounds/balefire.ogg create mode 100644 modular_darkpack/modules/ert/sounds/cycling.ogg create mode 100644 modular_darkpack/modules/ert/sounds/m249fire.ogg create mode 100644 modular_darkpack/modules/ert/sounds/m249rack.ogg create mode 100644 modular_darkpack/modules/ert/sounds/shell_load.ogg create mode 100644 modular_darkpack/modules/ert/sounds/shotgun_firing.ogg create mode 100644 modular_darkpack/modules/ert/sounds/silenced_rifle.ogg diff --git a/modular_darkpack/modules/ert/code/items/first_team.dm b/modular_darkpack/modules/ert/code/items/first_team.dm new file mode 100644 index 000000000000..022ae62ddde9 --- /dev/null +++ b/modular_darkpack/modules/ert/code/items/first_team.dm @@ -0,0 +1,370 @@ +//------------EQUIPMENT------------ +/datum/armor/first_team + melee = 70 + bullet = 70 + laser = 70 + energy = 70 + fire = 70 + bomb = 70 + acid = 70 + wound = 70 + +//------------SHOES------------ +/obj/item/clothing/shoes/vampire/darkpack_ert + name = "shoes" + desc = "Comfortable-looking shoes." + icon = 'modular_darkpack/modules/ert/icons/clothing.dmi' + worn_icon = 'modular_darkpack/modules/ert/icons/worn.dmi' + icon_state = "ftboots" + inhand_icon_state = null + gender = PLURAL + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + + +/obj/item/clothing/shoes/vampire/darkpack_ert/firstteam + name = "\improper First team boots" + desc = "Pitch-black boots with hard, industrial laces." + icon_state = "ftboots" + armor_type = /datum/armor/shoes_jackboots + +//------------GLOVES------------ + +/obj/item/clothing/gloves/vampire/darkpack_ert + icon = 'modular_darkpack/modules/ert/icons/clothing.dmi' + worn_icon = 'modular_darkpack/modules/ert/icons/worn.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + icon_state = "ftgloves" + undyeable = TRUE + + +/obj/item/clothing/gloves/vampire/darkpack_ert/firstteam + name = "\improper First Team gloves" + desc = "Provides protection from the good, the bad and the ugly." + icon_state = "ftgloves" + body_parts_covered = HANDS + armor_type = /datum/armor/gloves_combat + +//------------HELMET------------ + +/obj/item/clothing/head/vampire/darkpack_ert + icon_state = "fthelmet" + icon = 'modular_darkpack/modules/ert/icons/clothing.dmi' + inhand_icon_state = null + worn_icon = 'modular_darkpack/modules/ert/icons/worn.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + +/obj/item/clothing/head/vampire/darkpack_ert/firstteam_helmet + name = "\improper First Team helmet" + desc = "A black helmet with two, green-glowing eye-pieces that seem to stare through your soul." + icon_state = "fthelmet" + armor_type = /datum/armor/first_team + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR + visor_flags_inv = HIDEFACE|HIDESNOUT + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + +//------------ARMOR------------ + +/obj/item/clothing/suit/vampire/darkpack_ert + icon_state = "ftuni" + icon = 'modular_darkpack/modules/ert/icons/clothing.dmi' + worn_icon = 'modular_darkpack/modules/ert/icons/worn.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + inhand_icon_state = null + + body_parts_covered = CHEST + cold_protection = CHEST|GROIN + min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT + heat_protection = CHEST|GROIN + max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT + max_integrity = 250 + resistance_flags = NONE + +/obj/item/clothing/suit/vampire/darkpack_ert/Initialize() + . = ..() + AddComponent(/datum/component/selling, 200, "suit", FALSE) + + +/obj/item/clothing/suit/vampire/darkpack_ert/firstteam_armor + name = "\improper First Team Armoured Vest" + desc = "A strong looking, armoured-vest with a large '1' engraved onto the breast." + icon_state = "ftarmor" + inhand_icon_state = null + armor_type = /datum/armor/first_team + body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + clothing_traits = list(TRAIT_BRAWLING_KNOCKDOWN_BLOCKED) + +//------------SUIT------------ + +/obj/item/clothing/under/vampire/darkpack_ert + name = "\improper First Team uniform" + desc = "A completely blacked out uniform with a large '1' symbol sewn onto the shoulder-pad." + icon_state = "ftuni" + has_sensor = NO_SENSORS + random_sensor = FALSE + can_adjust = FALSE + icon = 'modular_darkpack/modules/ert/icons/clothing.dmi' + worn_icon = 'modular_darkpack/modules/ert/icons/worn.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + + +/obj/item/clothing/under/vampire/darkpack_ert/Initialize() + . = ..() + AddComponent(/datum/component/selling, 100, "undersuit", FALSE) + +/obj/item/clothing/under/vampire/darkpack_ert/firstteam_uniform + name = "First Team uniform" + desc = "A completely blacked out uniform with a large '1' symbol sewn onto the shoulder-pad." + icon_state = "ftuni" + armor_type = /datum/armor/clothing_under/security_head_of_security + +//------------Glasses------------ + +/obj/item/clothing/glasses/night/thermal + vision_flags = SEE_MOBS + +//------------Weapons------------/obj/item/ammo_casing/vampire/c12gvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv +/obj/item/ammo_box/darkpack/c556/bale //DONT EVER PUT THIS IN A MAP + name = "balefire ammo box (5.56)" + icon = 'modular_darkpack/modules/ert/icons/ammo.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + icon_state = "556box-bale" + ammo_type = /obj/item/ammo_casing/vampire/c556mm/bale + +/obj/item/ammo_casing/vampire/c556mm/bale + name = "green 5.56mm bullet casing" + desc = "A modified 5.56mm bullet casing." + caliber = CALIBER_556NATO + projectile_type = /obj/projectile/bullet/darkpack/vamp556mm/bale + icon = 'modular_darkpack/modules/ert/icons/ammo.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + icon_state = "b556" + base_icon_state = "b556" + +/obj/projectile/bullet/darkpack/vamp556mm/bale + armour_penetration = 50 + damage = 45 + var/bloodloss = 1 + +/obj/projectile/bullet/darkpack/vamp556mm/bale/on_hit(atom/target, blocked = 0, pierce_hit) + . = ..() + if(iskindred(target) || isghoul(target)) + var/mob/living/carbon/human/H = target + if(H.bloodpool == 0) + to_chat(H, span_warning("Only ash remains in my veins!")) + H.apply_damage(20, BURN) + return + H.adjust_blood_pool(-bloodloss) + playsound(H, 'modular_darkpack/modules/ert/sounds/balefire.ogg', rand(10,15), TRUE) + to_chat(H, span_warning("Green flames errupt from the bullets impact, boiling your blood!")) +// DARKPACK TODO - GAROU +/* + if(iswerewolf(target) || isgarou(target)) + var/mob/living/carbon/M = target + if(M.auspice.gnosis) + if(prob(50)) + adjust_gnosis(-1, M) + M.apply_damage(20, CLONE) + playsound(M, 'modular_tfn/modules/first_team/audio/balefire.ogg', rand(10,15), TRUE) + M.apply_status_effect(STATUS_EFFECT_SILVER_SLOWDOWN) +*/ +/obj/item/ammo_casing/vampire/c12g/f12g + name = "Frag-12g shell casing" + desc = "A 12g explosive shell casing." + caliber = CALIBER_SHOTGUN + projectile_type = /obj/projectile/bullet/darkpack/f12g + icon = 'modular_darkpack/modules/ert/icons/ammo.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + icon_state = "f12" + base_icon_state = "f12" + +/obj/projectile/bullet/darkpack/f12g + name = "12g explosive slug" + damage = 60 + armour_penetration = 50 + exposed_wound_bonus = 10 + wound_bonus = 5 + +/obj/projectile/bullet/darkpack/f12g/on_hit(atom/target, blocked = 0, pierce_hit) + ..() + explosion(target, devastation_range = -1, light_impact_range = 2, explosion_cause = src) + return BULLET_ACT_HIT + +/obj/item/ammo_box/darkpack/f12g //DO NOT DISTRIBUTE NORMALLY + name = "ammo box (f12g)" + icon = 'modular_darkpack/modules/ert/icons/ammo.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + icon_state = "12box_frag" + ammo_type = /obj/item/ammo_casing/vampire/c12g/f12g + max_ammo = 40 + +/obj/item/ammo_box/magazine/darkpack/px66f + name = "\improper PX66F magazine (5.56mm)" + icon = 'modular_darkpack/modules/ert/icons/ammo.dmi' + lefthand_file = 'modular_darkpack/modules/ert/icons/righthand.dmi' + righthand_file = 'modular_darkpack/modules/ert/icons/lefthand.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + icon_state = "px66f" + inhand_icon_state = null + ammo_type = /obj/item/ammo_casing/vampire/c556mm/bale + caliber = CALIBER_556NATO + max_ammo = 30 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/darkpack/px249f + name = "\improper PX249F box magazine (5.56mm)" + icon = 'modular_darkpack/modules/ert/icons/ammo.dmi' + lefthand_file = 'modular_darkpack/modules/ert/icons/righthand.dmi' + righthand_file = 'modular_darkpack/modules/ert/icons/lefthand.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/weapons/icons/weapons_onfloor.dmi') + inhand_icon_state = null + icon_state = "px249f" + ammo_type = /obj/item/ammo_casing/vampire/c556mm/bale + caliber = CALIBER_556NATO + max_ammo = 200 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/internal/px12r + name = "shotgun internal magazine" + ammo_type = /obj/item/ammo_casing/vampire/c12g + caliber = CALIBER_SHOTGUN + max_ammo = 8 + masquerade_violating = FALSE + +/obj/item/ammo_box/magazine/darkpack/mk23 + name = "\improper automatic pistol magazine (.45 ACP)" + icon = 'modular_darkpack/modules/ert/icons/ammo.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + inhand_icon_state = null + icon_state = "mk23_mag" + ammo_type = /obj/item/ammo_casing/vampire/c45acp + caliber = CALIBER_45 + max_ammo = 12 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/darkpack/mk23/silver + name = "automatic pistol magazine (.45 ACP Silver)" + ammo_type = /obj/item/ammo_casing/vampire/c45acp/silver + +/obj/item/ammo_box/magazine/darkpack/mk23/hp + name = "automatic pistol magazine (.45 ACP HP)" + ammo_type = /obj/item/ammo_casing/vampire/c45acp/HP + +/obj/item/gun/ballistic/automatic/pistol/darkpack/mk23_socom + name = "\improper Mark 23 SOCOM Pistol" + desc = "A specialized .45 ACP Pistol featuring an integrated supressor and laser sight" + icon = 'modular_darkpack/modules/ert/icons/48x32weapons.dmi' + lefthand_file = 'modular_darkpack/modules/ert/icons/righthand.dmi' + righthand_file = 'modular_darkpack/modules/ert/icons/lefthand.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + icon_state = "mk23" + //onflooricon_state = "mk23" + inhand_icon_state = "mk23" + w_class = WEIGHT_CLASS_SMALL + accepted_magazine_type = /obj/item/ammo_box/magazine/darkpack/mk23 + burst_size = 1 + recoil = 0 + projectile_damage_multiplier = 1.3 + actions_types = list() + bolt_type = BOLT_TYPE_LOCKING + suppressed = SUPPRESSED_QUIET + can_suppress = FALSE + can_unsuppress = FALSE + fire_sound = 'modular_darkpack/modules/weapons/sounds/glock.ogg' //Doesnt matter when it's always using the supressed SFX + +/obj/item/gun/ballistic/automatic/darkpack/px66f //DO NOT DISTRIBUTE IN MAPPING + name = "\improper PX66F Rifle" + desc = "A three-round burst 5.56 death machine, with a Spiral brand below the barrel." + icon = 'modular_darkpack/modules/ert/icons/48x32weapons.dmi' + lefthand_file = 'modular_darkpack/modules/ert/icons/righthand.dmi' + righthand_file = 'modular_darkpack/modules/ert/icons/lefthand.dmi' + worn_icon = 'modular_darkpack/modules/weapons/icons/worn_guns.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + icon_state = "px66f" + inhand_icon_state = "px66f" + worn_icon_state = "rifle" + w_class = WEIGHT_CLASS_BULKY + weapon_weight = WEAPON_MEDIUM //Bullpup makes it easy to fire with one hand, but we still don't want these dual-wielded + accepted_magazine_type = /obj/item/ammo_box/magazine/darkpack/px66f + burst_size = 3 + spread = 2 + recoil = 1.5 + bolt_type = BOLT_TYPE_LOCKING + show_bolt_icon = FALSE + mag_display = TRUE + can_suppress = FALSE + fire_sound = 'modular_darkpack/modules/ert/sounds/silenced_rifle.ogg' + masquerade_violating = TRUE + +/obj/item/gun/ballistic/automatic/darkpack/px66f/Initialize() + . = ..() + AddComponent(/datum/component/selling, 350, "aug", FALSE) + AddComponent(/datum/component/automatic_fire, 0.5 SECONDS) + +/obj/item/gun/ballistic/shotgun/darkpack/px12r //DONT DISTRIBUTE IN MAPPING + name = "\improper PX12R Breaching Shotgun" + desc = "A highly modified 12G Shotgun designed to fire Frag-12 explosive breaching rounds" + icon = 'modular_darkpack/modules/ert/icons/48x32weapons.dmi' + lefthand_file = 'modular_darkpack/modules/ert/icons/righthand.dmi' + righthand_file = 'modular_darkpack/modules/ert/icons/lefthand.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + worn_icon = 'modular_darkpack/modules/weapons/icons/worn_guns.dmi' + w_class = WEIGHT_CLASS_BULKY + weapon_weight = WEAPON_MEDIUM + worn_icon_state = "pomp" + icon_state = "px12r" + inhand_icon_state = "px12r" + recoil = 3 + fire_delay = 6 + accepted_magazine_type = /obj/item/ammo_box/magazine/internal/px12r + can_be_sawn_off = FALSE + fire_sound = 'modular_darkpack/modules/ert/sounds/shotgun_firing.ogg' + load_sound = 'modular_darkpack/modules/ert/sounds/shell_load.ogg' + rack_sound = 'modular_darkpack/modules/ert/sounds/cycling.ogg' + inhand_x_dimension = 32 + inhand_y_dimension = 32 + + +/obj/item/gun/ballistic/automatic/l6_saw/darkpack + name = "\improper PX249F Light Machine Gun" + desc = "A modified M249 Machine Gun with an engraving of a Hydra on the grip" + icon = 'modular_darkpack/modules/ert/icons/48x32weapons.dmi' + lefthand_file = 'modular_darkpack/modules/ert/icons/righthand.dmi' + righthand_file = 'modular_darkpack/modules/ert/icons/lefthand.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/onfloor.dmi') + icon_state = "px249f" + inhand_icon_state = "px249f" + base_icon_state = "px249f" + w_class = WEIGHT_CLASS_HUGE + bolt_type = BOLT_TYPE_LOCKING + show_bolt_icon = FALSE + slot_flags = 0 + pin = /obj/item/firing_pin + accepted_magazine_type = /obj/item/ammo_box/magazine/darkpack/px249f + weapon_weight = WEAPON_HEAVY + burst_size = 1 + recoil = 6 //With good firearm skill it's not an issue + spread = 6 + fire_sound = 'modular_darkpack/modules/ert/sounds/m249fire.ogg' + rack_sound = 'modular_darkpack/modules/ert/sounds/m249rack.ogg' + +/obj/item/gun/ballistic/automatic/l6_saw/darkpack/update_icon_state() + . = ..() + if(item_flags & ACTIVE_WORLD_ICON) + return + inhand_icon_state = "[base_icon_state][magazine ? "mag":"nomag"]" + +/obj/item/gun/ballistic/automatic/l6_saw/darkpack/update_overlays() + . = ..() + if(item_flags & ACTIVE_WORLD_ICON) + return + . += "px249f_door_[cover_open ? "open" : "closed"]" + +/obj/item/gun/ballistic/automatic/l6_saw/darkpack/Initialize(mapload) + . = ..() + AddComponent(/datum/component/automatic_fire, 0.1 SECONDS) + +//------------Medical------------ +//To be done at a later date diff --git a/modular_darkpack/modules/ert/code/loadout.dm b/modular_darkpack/modules/ert/code/loadout.dm new file mode 100644 index 000000000000..802de83f7004 --- /dev/null +++ b/modular_darkpack/modules/ert/code/loadout.dm @@ -0,0 +1,125 @@ +/datum/outfit/job/vampire/ert/pentex + name = "First Team Leader" + ears = /obj/item/radio/headset/darkpack/pmc + uniform = /obj/item/clothing/under/vampire/darkpack_ert/firstteam_uniform + gloves = /obj/item/clothing/gloves/vampire/darkpack_ert/firstteam + mask = /obj/item/clothing/mask/vampire/balaclava + glasses = /obj/item/clothing/glasses/night/thermal + r_pocket = /obj/item/flashlight + l_pocket = /obj/item/ammo_box/magazine/darkpack/px66f + shoes = /obj/item/clothing/shoes/vampire/darkpack_ert/firstteam + belt = /obj/item/gun/ballistic/automatic/darkpack/px66f + suit = /obj/item/clothing/suit/vampire/darkpack_ert/firstteam_armor + head = /obj/item/clothing/head/vampire/darkpack_ert/firstteam_helmet + back = /obj/item/storage/backpack/satchel + implants = list(/obj/item/implant/explosive) + backpack_contents = list( + /obj/item/ammo_box/magazine/darkpack/px66f = 3, + /obj/item/gun/ballistic/automatic/pistol/darkpack/mk23_socom=1, + /obj/item/ammo_box/magazine/darkpack/mk23/silver = 2, + /obj/item/ammo_box/darkpack/c556/bale = 1, + /obj/item/vamp/keys/pentex = 1, + /obj/item/grenade/frag = 3, + /obj/item/storage/medkit/darkpack/ifak = 1, + ) + +/datum/outfit/job/vampire/ert/pentex/exterminator + name = "First Team Exterminator" + belt = /obj/item/gun/ballistic/automatic/pistol/darkpack/mk23_socom + l_pocket = /obj/item/ammo_box/magazine/darkpack/px249f + r_hand = /obj/item/gun/ballistic/automatic/l6_saw/darkpack + backpack_contents = list( + /obj/item/ammo_box/magazine/darkpack/mk23/silver = 2, + /obj/item/ammo_box/darkpack/c556/bale = 3, + /obj/item/vamp/keys/pentex = 1, + /obj/item/grenade/frag = 3, + /obj/item/storage/medkit/darkpack/ifak = 1, + ) + +/datum/outfit/job/vampire/ert/pentex/specialist + name = "First Team Specialist" + belt = /obj/item/gun/ballistic/automatic/pistol/darkpack/mk23_socom + r_hand = /obj/item/gun/ballistic/shotgun/darkpack/px12r + backpack_contents = list( + /obj/item/ammo_box/magazine/darkpack/px66f = 3, + /obj/item/ammo_box/magazine/darkpack/mk23/silver = 2, + /obj/item/ammo_box/darkpack/f12g = 2, + /obj/item/vamp/keys/pentex = 1, + /obj/item/grenade/frag = 3, + /obj/item/storage/medkit/darkpack/ifak = 1, + ) + +/datum/outfit/job/vampire/ert/pentex/medic + name = "First Team Medic" + back = /obj/item/storage/backpack/satchel + backpack_contents = list( + /obj/item/ammo_box/magazine/darkpack/px66f = 3, + /obj/item/gun/ballistic/automatic/pistol/darkpack/mk23_socom=1, + /obj/item/ammo_box/magazine/darkpack/mk23/silver = 2, + /obj/item/ammo_box/darkpack/c556/bale = 1, + /obj/item/vamp/keys/pentex = 1, + /obj/item/grenade/frag = 1, + /obj/item/storage/medkit/darkpack/ifak = 1, + /obj/item/storage/medkit/darkpack/combat = 1 + ) + +//=================BUDGET FIRST TEAM LOADOUTS================= + +/datum/outfit/job/vampire/ert/pentex_budget + name = "First Team Squad Leader" //the singular competent guy on the team + glasses = /obj/item/clothing/glasses/night/thermal + shoes = /obj/item/clothing/shoes/vampire/jackboots + uniform = /obj/item/clothing/under/vampire/pentex_suit + gloves = /obj/item/clothing/gloves/vampire/work + ears = /obj/item/radio/headset/darkpack/pmc + suit = /obj/item/clothing/suit/vampire/vest + head = /obj/item/clothing/head/vampire/pentex_beret + r_pocket = /obj/item/vamp/keys/pentex + mask = /obj/item/clothing/mask/gas/sechailer + belt = /obj/item/gun/ballistic/automatic/darkpack/mp7 + back = /obj/item/storage/backpack/satchel + backpack_contents = list( + /obj/item/storage/medkit/darkpack/ifak = 1, + /obj/item/gun/ballistic/automatic/pistol/darkpack/mk23_socom=1, + /obj/item/ammo_box/magazine/darkpack/mk23/silver = 2, + /obj/item/ammo_box/magazine/darkpack/c46pdw/ext = 4, + ) + +/datum/outfit/job/vampire/ert/pentex_budget/intern + name = "First Team Intern" //"I signed up to the cool add on TV and got thrown out to kill werewolves with a shotgun and silenced pistol" + uniform = /obj/item/clothing/under/vampire/pentex_longleeve + gloves = /obj/item/clothing/gloves/vampire/work + shoes = /obj/item/clothing/shoes/vampire + back = /obj/item/storage/backpack/satchel + glasses = /obj/item/clothing/glasses/sunglasses + head = /obj/item/clothing/head/vampire/pentex_yellowhardhat + r_hand = /obj/item/gun/ballistic/shotgun/vampire + back = /obj/item/storage/backpack/satchel + backpack_contents = list( + /obj/item/storage/medkit/darkpack/standard = 1, + /obj/item/ammo_box/darkpack/c12g = 1, + /obj/item/ammo_box/darkpack/c12g/buck = 1, + /obj/item/gun/ballistic/automatic/pistol/darkpack/mk23_socom=1, + /obj/item/ammo_box/magazine/darkpack/mk23/hp = 2, + /obj/item/clipboard = 1, + ) + + +/datum/outfit/job/vampire/ert/pentex_budget/medic + name = "First Team Intern Medic" //"How the fuck am I supposed to heal anyone with this" + uniform = /obj/item/clothing/under/vampire/pentex_shortsleeve + gloves = /obj/item/clothing/gloves/vampire/work + shoes = /obj/item/clothing/shoes/vampire + back = /obj/item/storage/backpack/satchel + glasses = /obj/item/clothing/glasses/sunglasses + head = /obj/item/clothing/head/vampire/pentex_whitehardhat + belt = /obj/item/gun/ballistic/automatic/darkpack/huntrifle + back = /obj/item/storage/backpack/satchel + backpack_contents = list( + /obj/item/storage/medkit/darkpack/advanced = 1, + /obj/item/ammo_box/magazine/darkpack556/hunt = 3, + /obj/item/gun/ballistic/automatic/pistol/darkpack/mk23_socom=1, + /obj/item/ammo_box/magazine/darkpack/mk23/hp = 2, + /obj/item/clipboard = 1, + ) + diff --git a/modular_darkpack/modules/ert/code/pentex_ert_roles.dm b/modular_darkpack/modules/ert/code/pentex_ert_roles.dm new file mode 100644 index 000000000000..02f7d972fb0d --- /dev/null +++ b/modular_darkpack/modules/ert/code/pentex_ert_roles.dm @@ -0,0 +1,34 @@ +/datum/antagonist/ert/darkpack/pentex/leader + name = "Squad Leader" + outfit = /datum/outfit/job/vampire/ert/pentex + role = "Sergeant" + +/datum/antagonist/ert/darkpack/pentex/medic + name = "Field Medic" + outfit = /datum/outfit/job/vampire/ert/pentex/medic + role = "Field Medic" + +/datum/antagonist/ert/darkpack/pentex/exterminator + name = "Exterminator" + outfit = /datum/outfit/job/vampire/ert/pentex/exterminator + role = "Exterminator" + +/datum/antagonist/ert/darkpack/pentex/specialist + name = "Breaching Specialist" + outfit = /datum/outfit/job/vampire/ert/pentex/specialist + role = "Specialist" + +/datum/antagonist/ert/darkpack/pentex/budget_leader + name = "Evaluation Officer" + outfit = /datum/outfit/job/vampire/ert/pentex_budget + role = "Evaluation Officer" + +/datum/antagonist/ert/darkpack/pentex/budget_intern + name = "Unpaid Intern" + outfit = /datum/outfit/job/vampire/ert/pentex_budget/intern + role = "Intern" + +/datum/antagonist/ert/darkpack/pentex/budget_medic + name = "Unpaid Intern Medic" + outfit = /datum/outfit/job/vampire/ert/pentex_budget/medic + role = "Medical Intern" diff --git a/modular_darkpack/modules/ert/code/team.dm b/modular_darkpack/modules/ert/code/team.dm new file mode 100644 index 000000000000..220f4e9bcffa --- /dev/null +++ b/modular_darkpack/modules/ert/code/team.dm @@ -0,0 +1,21 @@ +/datum/ert/darkpack + abstract_type = /datum/ert/darkpack + +// /datum/ert/darkpack/swat +//TODO: Get the SWAT Icons from Bomby & reimplement SWAT using the normal ert system +// /datum/ert/darkpack/national_guard +//TODO: Get new assets & reimplement the national guard using the normal ERT system + +/datum/ert/darkpack/pentex + leader_role = /datum/antagonist/ert/darkpack/pentex/leader + roles = list(/datum/antagonist/ert/darkpack/pentex/medic, /datum/antagonist/ert/darkpack/pentex/exterminator, /datum/antagonist/ert/darkpack/pentex/specialist) + rename_team = "First Team" + mission = "Liquidate all hostile anomolous entities" + polldesc = "an elite FIRST Team" + +/datum/ert/darkpack/pentex/budget + leader_role = /datum/antagonist/ert/darkpack/pentex/budget_leader + roles = list(/datum/antagonist/ert/darkpack/pentex/budget_intern, /datum/antagonist/ert/darkpack/pentex/budget_medic) + rename_team = "First Team" //For when you need a death-squad on a budget + mission = "Remove all hostile anomolous entities" + polldesc = "an 'elite' FIRST Team" diff --git a/modular_darkpack/modules/ert/icons/48x32weapons.dmi b/modular_darkpack/modules/ert/icons/48x32weapons.dmi new file mode 100644 index 0000000000000000000000000000000000000000..e22880c27f1af7a5d2d8d94352096882e44b7047 GIT binary patch literal 5022 zcmV;P6JhL$P)V=-0C=30)4dLZAQT1Q8J>dZ-Y6Plhc1n#aj36Ate_H64AQ^1uiA9zhE8@y>{;gTs`_kgQg3#7R#wJTKuc@sX#%WV5`AD)c-FFAJ29=d^a! zQ@hk2i;BA~YH_Vvt;+76O1Ik9-S((;>FKhj-CZgxh?YfGDFX6Dp+HF>AsCPZFc8n| z``-6{lRJ}{m-k*K@6Eh?Kj+N3ckcYV^WOd5-|ya;xmPJd2qA>zo}x?-sF*m}a;}&A z?%RB@)rjxQ_*#UJ)TAvc2p3|VQ9IL4n>S~!=e~E}eV^)RKh`5Xo<||Qq zUp@azWyVX(Myabmw?J*%`le1Zt?ugBuhm}-nDjn_7aSI9=Z$>UJ?tl$3UTJ_!Uen(sVAFNzyQN)BK z1?(1XGEKQ%=2VD<1PNci~<7@@7NjZaUiUoSV&kwSif)HwnR;xc7Bg_0qLeyMTH>S;R*wY*DYKT zKR{k^ZMe;5r66r>9RD*{B@sn%Kd7MaTi|yTC|qJP=h6#w*ibnE0=Co7k_bc$!HAWF zK*T~K4U6d}yVp%bykf~AUMZv|u%_k$fyyG57C_AK3`G0@1>ei{j~Wmves}R^2+0IT zCl-V!A`wd`A{Fr=G{t3FUO_CdY=e+-jGPnTI;Lg!0@huwCFe9Ng+c+($m2`Cvq8d( zwehvLJvaD1MuJe#$<%x>A!yV30kb2?{V2(_zz~`#WD~LWxJIFMOp(0d+1V2^teWZb zRo%ib=#|)8-MZMlt!FcK>Wmt_54Is5U-UiRbYq=Uz#>{fMCFxcf;0%+6tTW=3M(nc z^wtAyp3gjIsz+L+pm8^wOp#jmKlTe9`O%}_SB;0>=(p>ZkG;^2kBhfUL2So5cYd&+ zKCY{?*>N)LTc;8Nh7g5~uX$_ck!4HFYpB(0|4Y>`xW;)gd1*pO=kX2@%WA%GA(#Sm zTVTOYlx78jxIEgDeffH3=;-%8iI3I(sSb~}H1`l_{leSr`0MLm#`bi}hhM&nWSgJG zYPzKgm=iKi)IWnoQ4yy7C8=QhE0MwgDU*PmYfOiuyJ8&{dSvu2O9A6{=_xgP_W zol;Vfh;Y5)h42`ufUqWvJx>iAF;uVA&i$;Kb;)dX`4#i@`n8`<_Mv?Ki#lAiaFGsg zzvUJ+dP0SoQZvo5KX~<(4W1WznpCRchYc8uhhX@6l-xFvNSyolEul4<7us4y6J(b>f3w;~mF3;;!il zb;pBG=xezJkF@!-C(5d?fJJx^T>YFup7*zUUKVoO#zgkNWUTml`_4 zyRQZn#9w~tOFHi7LdV;s-38rnpG}%t_NW6LQ+tTa#IGXo>Qxp@ks7XZMrE(puaO{F zvA!ti@>(O_8uBaXBF?Bj+r(>(;vrDX>2a*3MU9#;!4@xsWwuehz;-|6JQ9a+-EpC# zZJ#=8$VeS;Yu{_9Hy%=I`_|te>iZvx8>_?NahEr?FOlAUN{4l`6T&>FbhoM+ZaLb; zoAwmh!h?&8_Nw$YAMI%Ky*CfCE@Q=B)_3o)vsI}|xW}et+P&+T{kmTv6m0p@X-4e= z{VY1$Paa7Ev`Jw}P2ehnOFng_4!uMx*4Hggw@_12H6`Hz3~x#F)Mn5FozhC`b5EF} zg(o7N(-ELkt6@EZZ7D4`NSz;RB(k*S@knT$2#A$63+)lXhC8* z^oQ-L^1P4fR0tPsUoSd4-nToZ1XyrX2&JP+^|n-T;CJqHfjc{_bWc1sNY&I#R#Ga21-@)byu4J-w~sfhZ_dg~vD^Bdnle?PYXL6gKrFcONX%^aleEy@ z40?qjVsPa6AJx#7M8$a0Qnc8{_fvFcd-;<%p6jZVAVLU_`)g{7@>HFF`_ z<86ZyE_HjtrIrpZVDt`~zeCROwZH?#okS%S7pjHNCiy`@pRhZFASzf;0i8)$n)W2x zi%Id?1s&FVTuDOoI8KBq=YWNd@1x@oyU^9?%z*p6>EiD3H7zg13#OJ0(;~(;2wnF3 z_@p6f%l^}OGjzoe=~|V1IRZV;#^W9ICJ&?+Cb|bNaK64tH#$8^O3&7z2oGXQye&1W zw?m8K*4i33@*~;`o5D;Ax5%~b_2yKc{~x!@>~jrE_7ia@^OKkIQ7j!fiN{0kQ8jwD z2?qiYGJ4+WMyHMAEiBU=?iR5Fufh%yr+dA?#Db6G<$Yy5Dnf5Fu-#_WZGA!9+G?vC z791mTcrg$x5AI(E7?95wWdsrTNE!LcW606g6CFze9xLgv^S!A2W~n}s=*zzSiajDn zzA_L7aQ|_^TJp`a*B4cMbF6oycNk%DvP~OroLLbOaVB{T&HaQXBl!mH{nfupe2Rt< zK%_&9FLb1h-G&wMiW?mf0Y?)4uu0rAPJn^(3_L(AvzHjSJE2Ih@P{Qq6PorRA%qY@ zNdJ(jd($ru&

gk+Fa=t`ElXsj5tjbnuCbQck@>aTC&yWFs)^t_N1A>*}wv6aM~z zA31iA&$GNn=_7;$M_SX1da-KtOLiQCeMuSy_acPkhHL~}^vJR$x-BfjWUfkXfK|pE zEg2=`XEi@k=>gf;dXO^*=LcY+j^o-P8I!*AAHbiR%o7CFp9&Sqfp zFy9X;aDpy;_9*rMgM~rBf=kH#m507y$slGx1~BsiqcX^Mq4>m1h3h`Z03mPzivSun z$Fz`TxJ^GHCr32skG!PJCwkI#K9eKrC-bAfjYgh6^O<>$17sK#_s86WCtapP_PCRL z&>sb^hX5XWa;@Frt&j(ibsg90Y`puY;7Z(Gt7vOIFiVMkYw zXV`vo-AEf=URp8t1JcuORtE8P3Yg@SfmGn^x5&IEOMd$Cr}QA*<_vHZlV|!)PKC+` z+wj;-s9$i+K>9sN2w;KhiDim7mt*`Ak|`{lBs6SYd8JizY2w}b{bTP|ADuitQspxr z`Oo@QNCapZ}sjE)Vr(xM=#)=gUzaX+8Dh+u;wD^<+CQ~Ru3HjVmvkp$Eh~ zZ&J0IR6SnpZ#?V>CzOw|_ibry)9He2-~9Wx9sA0Dlagb8t^3^;_41}|`o8Mw>arey zv!S6OQvaX=bn46dgZ0x>U<)tqN2j@lp1W`xpSvFapFXz{+s?J zur@H~cg-(h%)hwEaC>2SO^fSAT$rk}v(sKbefqR2D=V|to12^aC!-N2u*XQXi(f7( zne|V4iJJQfnEzmbU}s-^fwsV=+blHheYa@u-o5IItFE@)W{7vpm@)PO@wT_O+sCxE zwdr)yP2T@#QdpSoGl2Cq@oMWrs3S&<&;l(fDY4TbXwwRdzz-Zaz;c^}Q>&1`fyI@! zFN7=|Sc2IJ6&Iuh@xpzESWVn6G{g&$lWtg(k-%{GKzmtV_c5@>riC>vuorNt*$Yib zKL7#$_4S{#e)zrH^|JhqujqB8i@3djh~rk+@(X22_c7Bzf;AZl1k?JW^U8ctL)>RC z3rzY3e^3$#5U{w;ARYIa^c{YUL;?erRywaBX0OLbBv@E0l0Zn+#*Mo5MNc_8*uwY* zSm-iDNWMTvncucBikA>V2qAb^|N1ZL%Qt+*-oK)ZI^I`#uU`Due{cy^^iWgx`YGyXrK{w7wB8-|;OnqF#hcL)%V*Wx;k8r`qP z_d~3SOsmmXa+T+#Mbwznf&@vf?&b5>{D~Srx~%t|eK>ryT|M{Avzgq#w!9FeDOBO< z$DdNI@9k8hOS=bdub4bj)h+yj=gAtLdqHoTbLjM{+jjJr8Z&xS+97!O(Z{lxU$+Pr6H6+NcC=X{ z;^uvCsz;Ws^Sw@N*}4p~PK3>l{)9q-^Xujw3YY{+w)5+5d?S|D`8lhB z6AG9FPOABJAym$-8yry=FyF)qF`3M-%ei$2Cj6Koq@%q@-k6c(AD69R=57EEhQ3Kt4Egru5Zmvie96ACy)nA4MZSzq@QC8mo!WXKT5 z+`8_0cD+PSq7MZeGNkPbyk@sIfi;ec*n)UPoCswdp@4NhLMlA?hlT{subUtE7>NXi zyu6W)`%DPnW26wl`E^OA&;o}HdE?4t`#X(#>Px;wMclAJgb2=0n|q?(24<{907*qoM6N<$g6@CGQvd(} literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/ert/icons/ammo.dmi b/modular_darkpack/modules/ert/icons/ammo.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f2bf90d8cdfcb39f9d66b5a23fc0f61bb28c50cf GIT binary patch literal 7176 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%0AkbRlS z89kV+)o7otEb&6v`c8n+j(i>7qlv=MkDEFIvm*eoP%c|~0zL~gxH`7J`i(c%u)4Zk z+CNr~?P*$q;NN5sw!R`YR1RSrV74GG6XB8li(6u&`{(}}Th`j?@&T-={={>?%m$%A zMhO(MzQO@?sUu1tj0ph72LvvO%%n1imq4hyiTvVkgBw-G30q%bAHm!aj0FHnA{ajt z;XMFmQ+gfT$9L@MQo>)6bt%*O-2;TIugGDvXg;maY(Xr%}tH6*-Lx07Xut0zi?|r~pvpG%5fTIgJVcMNZ>70LD+B7MZp1 z=?GqB9*{y2B%XSJio6n8$DvS!g6jYnb>0{@>Vko+YsXTV$D>dLimLz+%bxNPWlWVp zicH1ztr1cFtY1+l^H>}c_Wk)4nUAX;KrDL@2w{~$Vc(x$k@>jp0Z{*g1uwoS?O>dc zbbtOo&*%F$$Cp(r6n1dc1H8X!jph3w3H$#1ip<7U4{$^IL00$5oqW6fs`}`A#%6ne zScfOVzCXVrGx2;T*vpMc-C}lwSll!!sN0h$vV)9X3K8}VY89D}=K#QCF%^nTCF6R4 zuq7C}fba0iaOGz*PX?F*PDV%>;#ge||;w;p#lV#`;5Sa(o+4>DYMt za*2mzjZgQ-&zR>EDCFX*2iVm7C7#m3sNucr12e*>`{QTK^9dC4$++z0!~O9?eLjJ@ zF;=)_+>_${xIca-J)b}!7c~pS)bj~)nT+cJ{G_${B>sx>$Lje6O{|$IvI7+WOg*0< zmr(%_Wy7~$^5+xe7ssDZ5Y7JL^9dB$OUBIt`9x^XCs4CM;qw0xPXV$EIf#h>0000< KMNUMnLSTZ;1pg@j literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/ert/icons/clothing.dmi b/modular_darkpack/modules/ert/icons/clothing.dmi new file mode 100644 index 0000000000000000000000000000000000000000..13460812df4cb5aa0c500884084705da118bbb7a GIT binary patch literal 2627 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 literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/ert/icons/lefthand.dmi b/modular_darkpack/modules/ert/icons/lefthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..702f8a019b753dfaadb4d4dcaeb3a0b00e4000ac GIT binary patch literal 2936 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 literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/ert/icons/onfloor.dmi b/modular_darkpack/modules/ert/icons/onfloor.dmi new file mode 100644 index 0000000000000000000000000000000000000000..02f64283c486a22cb349a766e95aa557db531896 GIT binary patch literal 4667 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 literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/ert/icons/righthand.dmi b/modular_darkpack/modules/ert/icons/righthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..8ba47e602e5e1455f8b422cf065329fd25739df7 GIT binary patch literal 2922 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

  • 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 literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/ert/sounds/cycling.ogg b/modular_darkpack/modules/ert/sounds/cycling.ogg new file mode 100644 index 0000000000000000000000000000000000000000..16431fbf5399893498b5c00aaa414dbf22ed6eef GIT binary patch literal 15164 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�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 literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/ert/sounds/m249fire.ogg b/modular_darkpack/modules/ert/sounds/m249fire.ogg new file mode 100644 index 0000000000000000000000000000000000000000..136ea4bdbc19bc9489ca3347a25c61a429452a26 GIT binary patch literal 19775 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 IetN(X00F`{;Q#;t literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/ert/sounds/m249rack.ogg b/modular_darkpack/modules/ert/sounds/m249rack.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a0fa47a40da8d3ba417c5a1c673e02e8d4a698a4 GIT binary patch literal 11701 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 literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/ert/sounds/shotgun_firing.ogg b/modular_darkpack/modules/ert/sounds/shotgun_firing.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5db94de7de13885e0e7d1b6e0261bd4d693776f2 GIT binary patch literal 24471 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 GO#cTxz9!KC literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/ert/sounds/silenced_rifle.ogg b/modular_darkpack/modules/ert/sounds/silenced_rifle.ogg new file mode 100644 index 0000000000000000000000000000000000000000..473b22f78dedce292b35eefb53a2ff344ca8c68c GIT binary patch literal 13558 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 AEdT%j literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/radios/code/radio.dm b/modular_darkpack/modules/radios/code/radio.dm index a69e5ef9d386..d9f99acfdb46 100644 --- a/modular_darkpack/modules/radios/code/radio.dm +++ b/modular_darkpack/modules/radios/code/radio.dm @@ -17,6 +17,17 @@ set_frequency(FREQ_MILITARY) radio_id = rand(1, 999) // Since we wont have a tranceiver for these, we're just auto-assigning a random ID. This isn't foolproof. +/obj/item/radio/headset/darkpack/pmc + name = "military radio" + radio_network = NETWORK_ENDRON + +/obj/item/radio/headset/darkpack/pmc/Initialize() + . = ..() + set_frequency(FREQ_ENDRON) + AddElement(/datum/element/earhealing) + AddComponent(/datum/component/wearertargeting/earprotection) //Allows for explosive fuckups to not fuck up communication + radio_id = rand(1, 999) // Since we wont have a tranceiver for these, we're just auto-assigning a random ID. This isn't foolproof. + // Police Radio get a special button to call for backup. /obj/item/radio/headset/darkpack/police name = "police radio" diff --git a/tgstation.dme b/tgstation.dme index 7ed9bef36ab7..b12405a1ac85 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7117,6 +7117,10 @@ #include "modular_darkpack\modules\electricity\code\fusebox.dm" #include "modular_darkpack\modules\electricity\code\generator.dm" #include "modular_darkpack\modules\elevators\code\elevator.dm" +#include "modular_darkpack\modules\ert\code\loadout.dm" +#include "modular_darkpack\modules\ert\code\pentex_ert_roles.dm" +#include "modular_darkpack\modules\ert\code\team.dm" +#include "modular_darkpack\modules\ert\code\items\first_team.dm" #include "modular_darkpack\modules\fire\code\fire.dm" #include "modular_darkpack\modules\fire\code\molotov.dm" #include "modular_darkpack\modules\fire\code\object_interactions.dm" From 73245254b718a8c9818f8338d3cd3410e6e33103 Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Thu, 12 Feb 2026 21:32:20 +0000 Subject: [PATCH 243/271] Automatic changelog for PR #514 [ci skip] --- html/changelogs/AutoChangeLog-pr-514.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-514.yml diff --git a/html/changelogs/AutoChangeLog-pr-514.yml b/html/changelogs/AutoChangeLog-pr-514.yml new file mode 100644 index 000000000000..514329767447 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-514.yml @@ -0,0 +1,4 @@ +author: "SELFHELL" +delete-after: True +changes: + - rscadd: "Pentex FIRST Team ERT" \ No newline at end of file From 2e08ab61c3239c4184deae4c6b6c4c322e4b3f7d Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Sat, 14 Feb 2026 10:08:35 -0600 Subject: [PATCH 244/271] Dice roll datum and custom rolls (#633) ## About The Pull Request Adds a new way of rolling dice that works on datum rather then passing a billion args into a subsystem proc. This will phase out the subsystem rolls. Custom dice rolling verbs for scenes and filling the gaps in unimplemented content/rolls. https://github.com/user-attachments/assets/fef92ce6-fc54-4be9-864b-fb27ca34061e support for sending results to admins or forcing a roll on a player as an admin https://github.com/user-attachments/assets/c6a18f9a-d606-4f77-ac61-d92893abaaba ## Why It's Good For The Game ## Changelog :cl: add: Custom dice rolling verbs for scenes and filling the gaps in unimplemented content/rolls. add: Most rolls now play a dice roll sound effect qol: Massively prettified the roll to_chat and fills it with useful information for rolls refactor: Some dice rolls now use a new datumized system of rolling, most use it with a wrapper through the old system so they dont gain as much new behavoir balance: Identifying artifacts only requires 3 occult but now has a roll on a scene length cooldown /:cl: --- _maps/map_files/Vampire/runtimetown.dmm | 22 +- code/__DEFINES/~darkpack/combat.dm | 2 + .../~darkpack/lockpick_difficulty.dm | 14 -- code/__DEFINES/~darkpack/storyteller_dice.dm | 11 + code/modules/mob/living/carbon/carbon.dm | 4 +- .../mob/living/carbon/human/_species.dm | 2 +- code/modules/mob/living/living.dm | 24 +- code/modules/projectiles/guns/ballistic.dm | 14 +- .../code/sarcophagus.dm | 18 +- .../battering_ram/code/battering_ram.dm | 4 +- .../modules/blood_drinking/code/vamp_bite.dm | 6 +- modular_darkpack/modules/cars/code/car.dm | 7 +- modular_darkpack/modules/decor/code/stick.dm | 6 +- .../modules/doors/code/vampdoor.dm | 79 +++---- .../modules/economy/code/selling/lombard.dm | 36 +-- .../forensics/code/forensic_gatherer.dm | 22 +- .../government/code/drivers_license.dm | 8 +- .../modules/government/code/passport.dm | 8 +- .../human/npc_types/bouncers/__bouncer.dm | 11 +- .../code/nonhuman/hostile/abyss_tentacle.dm | 4 +- .../code/artifacts/_artifact.dm | 23 +- modular_darkpack/modules/paths/code/path.dm | 1 + .../paths/code/spellbooks/spellbooks.dm | 19 +- .../powers/code/discipline/auspex/auspex.dm | 4 +- .../code/discipline/dominate/dominate.dm | 2 +- .../powers/code/discipline/melpominee.dm | 2 +- .../powers/code/discipline/obtenebration.dm | 2 +- .../code/discipline/presence/presence.dm | 10 +- .../quietus/components/scorptions_touch.dm | 2 +- .../powers/code/discipline/quietus/quietus.dm | 6 +- .../discipline/thaumaturgy/path_of_blood.dm | 2 +- .../thaumaturgy/paths/lure_of_flames.dm | 2 +- .../reflections_of_hollow_revelation.dm | 2 +- .../code/rituals/shadow_guardian.dm | 2 +- .../storyteller_dice/code/roll_datum.dm | 219 ++++++++++++++++++ .../storyteller_dice/code/roll_subsystem.dm | 148 +----------- .../storyteller_dice/code/roll_subtypes.dm | 57 +++++ .../modules/storyteller_dice/code/verbs.dm | 54 ++++- .../modules/umbra/code/minesweeper.dm | 6 +- .../code/kindred/humanity.dm | 7 +- .../vip_areas/code/vip_barrier_perm.dm | 4 +- .../code/vip_barriers/__vip_barrier.dm | 33 ++- modular_darkpack/modules/walls/code/walls.dm | 8 +- .../modules/weapons/code/projectiles.dm | 9 +- tgstation.dme | 3 +- 45 files changed, 579 insertions(+), 350 deletions(-) delete mode 100644 code/__DEFINES/~darkpack/lockpick_difficulty.dm create mode 100644 modular_darkpack/modules/storyteller_dice/code/roll_datum.dm create mode 100644 modular_darkpack/modules/storyteller_dice/code/roll_subtypes.dm diff --git a/_maps/map_files/Vampire/runtimetown.dmm b/_maps/map_files/Vampire/runtimetown.dmm index 6186e07c76d7..659ef858d289 100644 --- a/_maps/map_files/Vampire/runtimetown.dmm +++ b/_maps/map_files/Vampire/runtimetown.dmm @@ -909,6 +909,12 @@ }, /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) +"rI" = ( +/obj/effect/vip_barrier/endron/endron_lab{ + dir = 8 + }, +/turf/open/floor/plating/rough, +/area/vtm/interior/techshop) "rK" = ( /obj/item/storage/pill_bottle/ephedrine, /obj/item/storage/pill_bottle/ephedrine, @@ -2094,6 +2100,12 @@ /obj/item/vtm_artifact/daimonori, /turf/open/floor/wood/smooth/old, /area/vtm/interior/sewer) +"LN" = ( +/obj/structure/toilet{ + dir = 8 + }, +/turf/open/floor/plating/rough, +/area/vtm/interior/techshop) "LP" = ( /obj/structure/vampdoor/simple, /obj/effect/mapping_helpers/door/access/police, @@ -2411,6 +2423,10 @@ }, /turf/open/floor/plating/elevatorshaft, /area/vtm/outside/pacificheights) +"PA" = ( +/mob/living/carbon/human/npc/bouncer/endron/endron_lab, +/turf/open/floor/plating/rough, +/area/vtm/interior/clinic) "PC" = ( /obj/structure/roofstuff/vent, /turf/open/misc/grass, @@ -4380,7 +4396,7 @@ Tb pN pN pN -pN +PA Id sw Id @@ -4449,7 +4465,7 @@ SG pN pN SK -ZU +rI ZU rN Id @@ -4517,7 +4533,7 @@ Tb pN pN SK -Id +LN ZU rN Id diff --git a/code/__DEFINES/~darkpack/combat.dm b/code/__DEFINES/~darkpack/combat.dm index fc8f9e2150fd..779ae82daa41 100644 --- a/code/__DEFINES/~darkpack/combat.dm +++ b/code/__DEFINES/~darkpack/combat.dm @@ -6,6 +6,8 @@ // To eyeball damage as its calcuated in the ttrpg #define TTRPG_DAMAGE * 10 +// Heavy placeholder to represent that lethal is ... twice as bad as bashing (brute basiclly) +#define LETHAL_TTRPG_DAMAGE * 20 // Unused for now #define BASHING "bashing" diff --git a/code/__DEFINES/~darkpack/lockpick_difficulty.dm b/code/__DEFINES/~darkpack/lockpick_difficulty.dm deleted file mode 100644 index 0cfae7600b88..000000000000 --- a/code/__DEFINES/~darkpack/lockpick_difficulty.dm +++ /dev/null @@ -1,14 +0,0 @@ -#define LOCKDIFFICULTY_1 2 -#define LOCKTIMER_1 1.7 SECONDS -#define LOCKDIFFICULTY_2 3 -#define LOCKTIMER_2 2.0 SECONDS -#define LOCKDIFFICULTY_3 4 -#define LOCKTIMER_3 2.2 SECONDS -#define LOCKDIFFICULTY_4 6 -#define LOCKTIMER_4 2.4 SECONDS -#define LOCKDIFFICULTY_5 7 -#define LOCKTIMER_5 2.6 SECONDS -#define LOCKDIFFICULTY_6 8 //originally should have been 10, but that wouldn't work unless locktimer is explicitly declared beforehand, which it won't be -#define LOCKTIMER_6 2.8 SECONDS -#define LOCKDIFFICULTY_7 10 -#define LOCKTIMER_7 3 SECONDS diff --git a/code/__DEFINES/~darkpack/storyteller_dice.dm b/code/__DEFINES/~darkpack/storyteller_dice.dm index b7e8f9d2516c..f1ae455292c4 100644 --- a/code/__DEFINES/~darkpack/storyteller_dice.dm +++ b/code/__DEFINES/~darkpack/storyteller_dice.dm @@ -5,3 +5,14 @@ //Used for /datum/preference/choiced/dice_output #define DICE_OUTPUT_BALLOON "Balloon" #define DICE_OUTPUT_CHAT "Chat" + +/// Output is shown to everyone near you +#define ROLL_PUBLIC "public" +/// Output is only shown to the roller +#define ROLL_PRIVATE "private" +/// Output of the roll to admins + you +#define ROLL_PRIVATE_ADMIN "private+admin" +/// Output of the roll to admins only +#define ROLL_ADMIN "admin" +/// Output is show to no one and is not logged +#define ROLL_NONE "none" diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 50c98bc075c4..501068d9defe 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -70,8 +70,8 @@ var/victim_stamathletics = victim_stamina + victim.st_get_stat(STAT_ATHLETICS) var/victim_keephigher = max(victim_stambrawl, victim_stamathletics) - var/attacker_roll = SSroll.storyteller_roll(dice = attacker_keephigher, difficulty = 6, numerical = TRUE) - var/victim_roll = SSroll.storyteller_roll(dice = victim_keephigher, difficulty = 6, mobs_to_show_output = list(victim), alert_atom = victim, numerical = TRUE) + var/attacker_roll = SSroll.storyteller_roll(dice = attacker_keephigher, difficulty = 6, roller = thrower, numerical = TRUE) + var/victim_roll = SSroll.storyteller_roll(dice = victim_keephigher, difficulty = 6, roller = victim, numerical = TRUE) if(victim_roll > attacker_roll) blocked = TRUE diff --git a/code/modules/mob/living/carbon/human/_species.dm b/code/modules/mob/living/carbon/human/_species.dm index 914d894b6446..5bd058d3ca4a 100644 --- a/code/modules/mob/living/carbon/human/_species.dm +++ b/code/modules/mob/living/carbon/human/_species.dm @@ -950,7 +950,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/roll = SSroll.storyteller_roll( dice = user.st_get_stat(STAT_STRENGTH), difficulty = target.st_get_stat(STAT_DEXTERITY), - mobs_to_show_output = list(target, user)) + roller = user) if(roll == ROLL_SUCCESS) target.visible_message(span_danger("[user] knocks [target] down!"), \ diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index a471dda4d9ea..2d9cadb4e730 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1232,19 +1232,15 @@ //We only resist our grab state if we are currently in a grab equal to or greater than GRAB_AGGRESSIVE (1). Otherwise, break out immediately! if(effective_grab_state >= GRAB_AGGRESSIVE) // Grabber is the "action taker" so he is the "owner" - var/success = ROLL_SUCCESS - if(pulledby && isliving(pulledby)) - var/mob/living/living_puller = pulledby - success = SSroll.opposed_roll( - player_a = living_puller, - player_b = src, - dice_a = living_puller.st_get_stat(STAT_STRENGTH)+living_puller.st_get_stat(STAT_BRAWL), - dice_b = st_get_stat(STAT_DEXTERITY)+st_get_stat(STAT_BRAWL), - show_player_a = TRUE, - show_player_b = TRUE, - alert_atom = src, - draw_goes_to_b = TRUE - ) + var/success = ROLL_FAILURE + if(isliving(pulledby)) + var/datum/storyteller_roll/grappling/pulled_roll = new() + var/puller_result = pulled_roll.st_roll(pulledby, src) + var/datum/storyteller_roll/grappled/our_roll = new() + var/our_result = our_roll.st_roll(src, pulledby) + + if(puller_result > our_result) + success = ROLL_SUCCESS if(!success) visible_message(span_danger("[src] breaks free of [pulledby]'s grip!"), \ @@ -1259,7 +1255,7 @@ span_warning("You struggle as you fail to break free of [pulledby]'s grip!"), null, null, pulledby) to_chat(pulledby, span_danger("[src] struggles as they fail to break free of your grip!")) if(moving_resist && client) //we resisted by trying to move - client.move_delay = world.time + 4 SECONDS + client.move_delay = world.time + 1 TURNS else pulledby.stop_pulling() return FALSE diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 56aa91dde368..72c7ae3bc37a 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -146,8 +146,10 @@ var/obj/item/suppressor/suppressor = null /// Sound played when the burst mode is changed var/burst_select_sound = SFX_FIRE_MODE_SWITCH - COOLDOWN_DECLARE(recoil_skill_check) // DARKPACK EDIT ADD - + // DARKPACK EDIT ADD START - STORYTELLER_DICE + COOLDOWN_DECLARE(recoil_skill_check) + var/datum/storyteller_roll/shooting/recoil_roll + // DARKPACK EDIT ADD END // DARKPACK EDIT ADD START - FORENSICS /// Base serial number prefix, whatever's here will come before the numbers. Blank means no number/obliterated number. var/serial_type = "" @@ -606,11 +608,15 @@ if(sawn_off) bonus_spread += SAWN_OFF_ACC_PENALTY - // DARKPACK EDIT ADD - recoil + // DARKPACK EDIT ADD START - STORYTELLER_DICE + if(!recoil_roll) + recoil_roll = new() + if(COOLDOWN_FINISHED(src, recoil_skill_check)) - var/recoil_reduction = SSroll.storyteller_roll(user.st_get_stat(STAT_FIREARMS), initial(recoil), user, numerical = TRUE) + var/recoil_reduction = recoil_roll.st_roll(user, src) recoil = max(initial(recoil) - recoil_reduction, 0) COOLDOWN_START(src, recoil_skill_check, 1 SCENES) + // DARKPACK EDIT ADD END // DARKPACK EDIT ADD START - FORENSICS if(serial_type && serial_shown) diff --git a/modular_darkpack/modules/antediluvian_sarcophagus/code/sarcophagus.dm b/modular_darkpack/modules/antediluvian_sarcophagus/code/sarcophagus.dm index afa3f69b8930..7f62b6e51eb5 100644 --- a/modular_darkpack/modules/antediluvian_sarcophagus/code/sarcophagus.dm +++ b/modular_darkpack/modules/antediluvian_sarcophagus/code/sarcophagus.dm @@ -80,6 +80,11 @@ GLOBAL_LIST_INIT(caesar_cipher, list( return final_message +/datum/storyteller_roll/sarcophagus_cipher + bumper_text = "examine" + difficulty = 10 + applicable_stats = list(STAT_INTELLIGENCE, STAT_OCCULT) + reroll_cooldown = 1 SCENES /obj/sarcophagus name = "unknown sarcophagus" @@ -90,9 +95,9 @@ GLOBAL_LIST_INIT(caesar_cipher, list( density = TRUE anchored = TRUE pixel_w = -8 - COOLDOWN_DECLARE(roll_cooldown) var/password = "Brongus" var/passkey = 5 + var/datum/storyteller_roll/sarcophagus_cipher/cipher_roll /obj/sarcophagus/Initialize(mapload) . = ..() @@ -102,15 +107,16 @@ GLOBAL_LIST_INIT(caesar_cipher, list( else passkey = rand(-15, -5) //to_chat(world, span_userdanger("UNKNOWN SARCOPHAGUS POSITION HAS BEEN LEAKED")) - SEND_SOUND(world, sound('modular_darkpack/master_files/sounds/announce.ogg')) + if(!mapload) + SEND_SOUND(world, sound('modular_darkpack/master_files/sounds/announce.ogg')) /obj/sarcophagus/examine(mob/user) . = ..() var/message = "You see an engraved text on it: [encipher(password, passkey)]." - if(isliving(user) && COOLDOWN_FINISHED(src, roll_cooldown)) - COOLDOWN_START(src, roll_cooldown, 1 SCENES) - var/mob/living/living_user = user - var/roll_result = SSroll.storyteller_roll(living_user.st_get_stat(STAT_INTELLIGENCE) + living_user.st_get_stat(STAT_OCCULT), 10, list(user), user) + if(isliving(user)) + if(!cipher_roll) + cipher_roll = new() + var/roll_result = cipher_roll.st_roll(user, src) if(roll_result == ROLL_SUCCESS) message += " It's an ancient cipher. You shift letters in your head till you end up with [uppertext(password)]." else diff --git a/modular_darkpack/modules/battering_ram/code/battering_ram.dm b/modular_darkpack/modules/battering_ram/code/battering_ram.dm index 90a11d3c9a98..51a2f4265e41 100644 --- a/modular_darkpack/modules/battering_ram/code/battering_ram.dm +++ b/modular_darkpack/modules/battering_ram/code/battering_ram.dm @@ -22,8 +22,8 @@ var/obj/structure/vampdoor/target_door = target if(target_door.door_broken) return COMPONENT_CANCEL_ATTACK_CHAIN - var/dice_result = SSroll.storyteller_roll(user.st_get_stat(STAT_STRENGTH)+user.st_get_stat(STAT_MELEE), 6, user, user, TRUE) - if(!do_after(user, ((5 SECONDS) / max(1, dice_result)), target)) + var/dice_result = SSroll.storyteller_roll(user.st_get_stat(STAT_STRENGTH)+user.st_get_stat(STAT_MELEE), 6, user, TRUE) + if(!do_after(user, ((1 TURNS) / max(1, dice_result)), target)) return COMPONENT_CANCEL_ATTACK_CHAIN if(prob(80 / max(1, dice_result)) || !dice_result) target_door.pixel_z = target_door.pixel_z+rand(-1, 1) diff --git a/modular_darkpack/modules/blood_drinking/code/vamp_bite.dm b/modular_darkpack/modules/blood_drinking/code/vamp_bite.dm index c9dd0e5c2130..5317381c1521 100644 --- a/modular_darkpack/modules/blood_drinking/code/vamp_bite.dm +++ b/modular_darkpack/modules/blood_drinking/code/vamp_bite.dm @@ -42,8 +42,10 @@ if(iskindred(src) && HAS_TRAIT(src, TRAIT_NEEDS_BLOOD)) var/datum/splat/vampire/kindred/kindred_species = iskindred(src) var/stat_to_roll = kindred_species.enlightenment ? STAT_INSTINCT : STAT_SELF_CONTROL - var/frenzy_check = SSroll.storyteller_roll(st_get_stat(stat_to_roll), 6, src) - if(frenzy_check != ROLL_SUCCESS) + var/datum/storyteller_roll/frezy_roll = new() + frezy_roll.applicable_stats = list(stat_to_roll) + var/frenzy_result = frezy_roll.st_roll(src, bit_living) + if(frenzy_result != ROLL_SUCCESS) to_chat(src, span_userdanger("The taste of blood sends you into a frenzy as you feed!")) // DARKPACK TODO: frenzy, please put the call here else diff --git a/modular_darkpack/modules/cars/code/car.dm b/modular_darkpack/modules/cars/code/car.dm index 982599ec5639..55abdd49f099 100644 --- a/modular_darkpack/modules/cars/code/car.dm +++ b/modular_darkpack/modules/cars/code/car.dm @@ -244,11 +244,12 @@ var/total_lockpicking = user.st_get_stat(STAT_LARCENY) if(CONFIG_GET(flag/punishing_zero_dots) && total_lockpicking < 1) to_chat(user, span_warning("How do I do this...?")) - if(do_after(user, 10 SECONDS, src, interaction_key = DOAFTER_SOURCE_CAR)) + if(do_after(user, 1 TURNS, src, interaction_key = DOAFTER_SOURCE_CAR)) if(!locked) return - var/roll_result = SSroll.storyteller_roll(total_lockpicking + user.st_get_stat(STAT_DEXTERITY), lockpick_difficulty, list(user), user) - switch(roll_result) + var/datum/storyteller_roll/lockpick/our_roll = new() + our_roll.difficulty = lockpick_difficulty + switch(our_roll.st_roll(user, src)) if(ROLL_SUCCESS) to_chat(user, span_notice("You've managed to open [src]'s lock.")) playsound(src, 'modular_darkpack/modules/cars/sounds/open.ogg', 50, TRUE) diff --git a/modular_darkpack/modules/decor/code/stick.dm b/modular_darkpack/modules/decor/code/stick.dm index 7a0fb8cdaee2..e068f41a54ac 100644 --- a/modular_darkpack/modules/decor/code/stick.dm +++ b/modular_darkpack/modules/decor/code/stick.dm @@ -43,8 +43,10 @@ if(isliving(triggerer)) var/mob/living/stepper = triggerer if(stepper.mob_size >= MOB_SIZE_HUMAN) - var/roll = SSroll.storyteller_roll(stepper.st_get_stat(STAT_PERCEPTION) + stepper.st_get_stat(STAT_STEALTH), 6, stepper) - if(!roll == ROLL_SUCCESS) + var/datum/storyteller_roll/step_roll = new() + step_roll.applicable_stats = list(STAT_PERCEPTION, STAT_STEALTH) + var/roll_result = step_roll.st_roll(triggerer, src) + if(!roll_result == ROLL_SUCCESS) mineEffect(triggerer) if(isitem(triggerer)) diff --git a/modular_darkpack/modules/doors/code/vampdoor.dm b/modular_darkpack/modules/doors/code/vampdoor.dm index 5aa3ade9426b..e326d7a8da04 100644 --- a/modular_darkpack/modules/doors/code/vampdoor.dm +++ b/modular_darkpack/modules/doors/code/vampdoor.dm @@ -25,17 +25,14 @@ var/door_broken = FALSE var/door_layer = CLOSED_DOOR_LAYER var/lock_id = null - var/lockpick_timer = LOCKTIMER_1 var/lockpick_difficulty = 6 var/open_sound = 'modular_darkpack/modules/doors/sounds/door_open.ogg' var/close_sound = 'modular_darkpack/modules/doors/sounds/door_close.ogg' var/lock_sound = 'modular_darkpack/modules/doors/sounds/door_locked.ogg' var/burnable = FALSE - /// Cooldown for bashing attempts - COOLDOWN_DECLARE(bash_cooldown) - /// Cooldown for lockpicking attempts - COOLDOWN_DECLARE(lockpick_cooldown) + var/datum/storyteller_roll/lockpick/lockpick_roll + var/datum/storyteller_roll/bash_door/bash_roll /// Difficulty for bashing this door down var/bash_difficulty = 6 /// Number of successes needed to bash down @@ -47,21 +44,6 @@ register_context() AddElement(/datum/element/contextual_screentip_bare_hands, rmb_text = "Try lock") - switch(lockpick_difficulty) //This is fine because any overlap gets intercepted before - if(LOCKDIFFICULTY_7 to INFINITY) - lockpick_timer = LOCKTIMER_7 - if(LOCKDIFFICULTY_6 to LOCKDIFFICULTY_7) - lockpick_timer = LOCKTIMER_6 - if(LOCKDIFFICULTY_5 to LOCKDIFFICULTY_6) - lockpick_timer = LOCKTIMER_5 - if(LOCKDIFFICULTY_4 to LOCKDIFFICULTY_5) - lockpick_timer = LOCKTIMER_4 - if(LOCKDIFFICULTY_3 to LOCKDIFFICULTY_4) - lockpick_timer = LOCKTIMER_3 - if(LOCKDIFFICULTY_2 to LOCKDIFFICULTY_3) - lockpick_timer = LOCKTIMER_2 - if(-INFINITY to LOCKDIFFICULTY_2) //LOCKDIFFICULTY_1 is basically the minimum so we can just do LOCKTIMER_1 from -INFINITY - lockpick_timer = LOCKTIMER_1 /obj/structure/vampdoor/CanAStarPass(to_dir, datum/can_pass_info/pass_info) return !density || !locked @@ -209,27 +191,27 @@ if(ishuman(user)) var/mob/living/carbon/human/human_user = user if(human_user.st_get_stat(STAT_STRENGTH) > 5) - if(!COOLDOWN_FINISHED(src, bash_cooldown)) - var/time_left = COOLDOWN_TIMELEFT(src, bash_cooldown) - to_chat(human_user, span_warning("You must wait [time_left / 10] seconds before attempting to rip the door off it's hinges again.")) - return - var/roll = SSroll.storyteller_roll(human_user.st_get_stat(STAT_STRENGTH), bash_difficulty, human_user, numerical = TRUE) - if(roll >= bash_successes_needed) - to_chat(human_user, span_danger("You wind up a big punch to break down the door...")) - if(do_after(human_user, 3 SECONDS, src)) - proc_unlock(50) - break_door(human_user) - else - to_chat(human_user, span_danger("You must be standing next to the door to break it down.")) - else - pixel_z = pixel_z+rand(-1, 1) - pixel_w = pixel_w+rand(-1, 1) - playsound(get_turf(src), 'modular_darkpack/master_files/sounds/effects/door/get_bent.ogg', 50, TRUE) - proc_unlock(5) - to_chat(user, span_warning("You aren't strong enough to break it down! You hurt your shoulder by punching the door!")) - human_user.adjust_brute_loss(30) - addtimer(CALLBACK(src, PROC_REF(reset_transform)), 2) - COOLDOWN_START(src, bash_cooldown, 1 SCENES) + if(!bash_roll) + bash_roll = new() + bash_roll.difficulty = bash_difficulty + bash_roll.successes_needed = bash_successes_needed + var/roll = bash_roll.st_roll(user, src) + switch(roll) + if(ROLL_SUCCESS) + to_chat(human_user, span_danger("You wind up a big punch to break down the door...")) + if(do_after(human_user, 3 SECONDS, src)) + proc_unlock(50) + break_door(human_user) + else + to_chat(human_user, span_danger("You must be standing next to the door to break it down.")) + if(ROLL_FAILURE, ROLL_BOTCH) + pixel_z = pixel_z+rand(-1, 1) + pixel_w = pixel_w+rand(-1, 1) + playsound(get_turf(src), 'modular_darkpack/master_files/sounds/effects/door/get_bent.ogg', 50, TRUE) + proc_unlock(5) + to_chat(user, span_warning("You aren't strong enough to break it down! You hurt your shoulder by punching the door!")) + human_user.adjust_brute_loss(1 LETHAL_TTRPG_DAMAGE) + addtimer(CALLBACK(src, PROC_REF(reset_transform)), 2) else pixel_z = pixel_z+rand(-1, 1) pixel_w = pixel_w+rand(-1, 1) @@ -302,31 +284,26 @@ if(CONFIG_GET(flag/punishing_zero_dots) && user.st_get_stat(STAT_LARCENY) < 1) to_chat(user, span_warning("How do I do this...?")) return - if(!COOLDOWN_FINISHED(src, lockpick_cooldown)) - var/time_left = COOLDOWN_TIMELEFT(src, lockpick_cooldown) - to_chat(user, span_warning("You must wait [time_left / 10] seconds before attempting another lockpick!")) - return if(locked) proc_unlock(5) playsound(src, 'modular_darkpack/modules/doors/sounds/hack.ogg', 100, TRUE) for(var/mob/living/carbon/human/npc/police/P in oviewers(DEFAULT_SIGHT_DISTANCE, src)) P.Aggro(user) - var/total_lockpicking = user.st_get_stat(STAT_LARCENY) - if(do_after(user, lockpick_timer, src, interaction_key = DOAFTER_SOURCE_DOOR)) + if(do_after(user, 1 TURNS, src, interaction_key = DOAFTER_SOURCE_DOOR)) if(!locked) return - var/roll_result = SSroll.storyteller_roll(total_lockpicking + (user.st_get_stat(STAT_DEXTERITY, FALSE)), lockpick_difficulty, list(user), user) - switch(roll_result) + if(!lockpick_roll) + lockpick_roll = new() + lockpick_roll.difficulty = lockpick_difficulty + switch(lockpick_roll.st_roll(user, src)) if(ROLL_SUCCESS) to_chat(user, span_notice("You pick the lock.")) locked = FALSE return TRUE if(ROLL_FAILURE) to_chat(user, span_warning("You failed to pick the lock.")) - COOLDOWN_START(src, lockpick_cooldown, 1 SCENES) if(ROLL_BOTCH) to_chat(user, span_warning("Your lockpick broke!")) - COOLDOWN_START(src, lockpick_cooldown, 1 SCENES) qdel(tool) else to_chat(user, span_warning("You failed to pick the lock.")) diff --git a/modular_darkpack/modules/economy/code/selling/lombard.dm b/modular_darkpack/modules/economy/code/selling/lombard.dm index 9837532264fc..93415d2f9b71 100644 --- a/modular_darkpack/modules/economy/code/selling/lombard.dm +++ b/modular_darkpack/modules/economy/code/selling/lombard.dm @@ -2,6 +2,12 @@ #define SALE_DIFFICULTY 6 #define BOTCH_FAILURE_PENALTY 0.5 +/datum/storyteller_roll/fencing + bumper_text = "fencing" + applicable_stats = list(STAT_CHARISMA, STAT_FINANCE) + difficulty = SALE_DIFFICULTY + numerical = TRUE + /obj/lombard name = "pawnshop" desc = "Sell your stuff." @@ -10,6 +16,7 @@ icon = 'modular_darkpack/modules/retail/icons/vendors_shops.dmi' anchored = TRUE var/black_market = FALSE + var/datum/storyteller_roll/fencing/sell_roll /obj/lombard/item_interaction(mob/living/user, obj/item/tool, list/modifiers) var/datum/component/selling/selling_comp = tool.GetComponent(/datum/component/selling) @@ -57,13 +64,10 @@ var/list/sold_items = list() var/total_sale_price = 0 + if(!sell_roll) + sell_roll = new() // Make a single roll to sell all your items in bulk - var/negotiation_success_count = 0 - if(ishuman(user)) - var/mob/living/carbon/human/H = user - var/negotiation_dice = H.st_get_stat(STAT_CHARISMA) + H.st_get_stat(STAT_FINANCE) - if(negotiation_dice > 0) - negotiation_success_count = SSroll.storyteller_roll(negotiation_dice, SALE_DIFFICULTY, H, src, TRUE) + var/negotiation_success_count = sell_roll.st_roll(user, src) for(var/obj/item/sold in items_to_sell) var/datum/component/selling/selling_comp = sold.GetComponent(/datum/component/selling) @@ -106,20 +110,16 @@ return round(base_price * stack_multiplier * negotiation_success_count) return round(base_price * stack_multiplier * BOTCH_FAILURE_PENALTY) - // otherwise, roll for negotiation in a single item sale - if(ishuman(user)) - var/mob/living/carbon/human/H = user - var/negotiation_dice = H.st_get_stat(STAT_CHARISMA) + H.st_get_stat(STAT_FINANCE) - if(negotiation_dice > 0) - var/success_count = SSroll.storyteller_roll(negotiation_dice, SALE_DIFFICULTY, H, src, TRUE) - - if(success_count > 0) - return round(base_price * stack_multiplier * success_count) - return round(base_price * stack_multiplier * BOTCH_FAILURE_PENALTY) + // otherwise, roll for negotiation in a single item sale + if(!sell_roll) + sell_roll = new() + // Make a single roll to sell all your items in bulk + var/success_count = sell_roll.st_roll(user, src) - // No negotiation dice (which should rarely happen) = ZERO! Completely scammed at 0 finance 0 charisma - return 0 + if(success_count > 0) + return round(base_price * stack_multiplier * success_count) + return round(base_price * stack_multiplier * BOTCH_FAILURE_PENALTY) /obj/lombard/proc/spawn_money(amount, atom/spawn_location) if(amount <= 0) diff --git a/modular_darkpack/modules/forensics/code/forensic_gatherer.dm b/modular_darkpack/modules/forensics/code/forensic_gatherer.dm index 3420a7a4436d..a63b2e49357a 100644 --- a/modular_darkpack/modules/forensics/code/forensic_gatherer.dm +++ b/modular_darkpack/modules/forensics/code/forensic_gatherer.dm @@ -65,7 +65,7 @@ // Skill-check for scans var/mob/living/carbon/human/H = user - var/investigation_dice = H.st_get_stat(STAT_PERCEPTION) + H.st_get_stat(STAT_INVESTIGATION) + var/datum/storyteller_roll/investigation/investigate_roll = new() //Minium skill requirement to even use the thing if(H.st_get_stat(STAT_INVESTIGATION) <= 0) @@ -74,8 +74,9 @@ if(ishuman(scanned_atom)) var/mob/living/carbon/human/scanned_human = scanned_atom - var/investigation_roll = SSroll.storyteller_roll(investigation_dice, 3, H, src, TRUE) - if(!investigation_roll > 0) + investigate_roll.difficulty = 3 + var/investigation_roll = investigate_roll.st_roll(user, scanned_human) + if(investigation_roll != ROLL_SUCCESS) log_entry.add_data_entry(DETSCAN_CATEGORY_FINGERS, list("Improper fingerprints; try again.")) else if(!scanned_human.gloves) @@ -86,8 +87,9 @@ else if(!ismob(scanned_atom)) var/list/atom_fingerprints = GET_ATOM_FINGERPRINTS(scanned_atom) - var/investigation_roll = SSroll.storyteller_roll(investigation_dice, 5, H, src, TRUE) - if(!investigation_roll > 0) + investigate_roll.difficulty = 5 + var/investigation_roll = investigate_roll.st_roll(user, scanned_atom) + if(investigation_roll != ROLL_SUCCESS) log_entry.add_data_entry(DETSCAN_CATEGORY_FINGERS, list("Improper gathering; try again.")) else if(length(atom_fingerprints)) @@ -109,9 +111,10 @@ log_entry.add_data_entry(DETSCAN_CATEGORY_BLOOD, list(blood_DNA = blood_type)) if(istype(scanned_atom, /obj/item/ammo_casing)) - var/investigation_roll = SSroll.storyteller_roll(investigation_dice, 7, H, src, TRUE) + investigate_roll.difficulty = 7 + var/investigation_roll = investigate_roll.st_roll(user, scanned_atom) var/obj/item/ammo_casing/casing = scanned_atom - if(!investigation_roll > 0) + if(investigation_roll != ROLL_SUCCESS) log_entry.add_data_entry(DETSCAN_CATEGORY_MICROSTAMP, list("[casing.name] has an incomplete microstamp; you can't make it out.")) else if(casing.serial_type_index) @@ -121,8 +124,9 @@ if(istype(scanned_atom, /obj/item/card/id)) var/obj/item/card/id/user_id = scanned_atom - var/investigation_roll = SSroll.storyteller_roll(investigation_dice, 3, H, src, TRUE) - if(!investigation_roll > 0) + investigate_roll.difficulty = 3 + var/investigation_roll = investigate_roll.st_roll(user, scanned_atom) + if(investigation_roll != ROLL_SUCCESS) log_entry.add_data_entry(DETSCAN_CATEGORY_ACCESS, list("Improper gathering; try again.")) else for(var/region in DETSCAN_ACCESS_ORDER()) diff --git a/modular_darkpack/modules/government/code/drivers_license.dm b/modular_darkpack/modules/government/code/drivers_license.dm index f25a6ab547ff..39bf001c543e 100644 --- a/modular_darkpack/modules/government/code/drivers_license.dm +++ b/modular_darkpack/modules/government/code/drivers_license.dm @@ -14,6 +14,7 @@ var/fake = FALSE /// If the NAME does not belong to the person. var/fake_identity = FALSE + var/datum/storyteller_roll/investigation/examine_roll /obj/item/card/drivers_license/Initialize(mapload) . = ..() @@ -43,8 +44,11 @@ /obj/item/card/drivers_license/examine(mob/user) . = ..() - //DARKPACK TODO - STATS - refer to passport.dm, this should be a statcheck to see if its an illegal ID/counterfeit + if(!examine_roll) + examine_roll = new() + examine_roll.reroll_cooldown = 1 SCENES + var/roll_result = examine_roll.st_roll(user, src) if(owner) . += span_notice("It reads as belonging to [owner], issued by the state of [issuing_state].") - if(fake) + if(fake && (roll_result == ROLL_SUCCESS)) . += span_notice("It looks like a crude counterfeit.") diff --git a/modular_darkpack/modules/government/code/passport.dm b/modular_darkpack/modules/government/code/passport.dm index dfac96c3be0f..f4c437f0da0c 100644 --- a/modular_darkpack/modules/government/code/passport.dm +++ b/modular_darkpack/modules/government/code/passport.dm @@ -54,6 +54,7 @@ var/fake = FALSE /// If the NAME does not belong to the person. var/fake_identity = FALSE + var/datum/storyteller_roll/investigation/examine_roll /obj/item/passport/Initialize(mapload) . = ..() @@ -87,10 +88,13 @@ /obj/item/passport/examine(mob/user) . = ..() - // DARKPACK TODO - STATS - (Make this a perception+investigation roll when we have retrying check standeridization) + if(!examine_roll) + examine_roll = new() + examine_roll.reroll_cooldown = 1 SCENES + var/roll_result = examine_roll.st_roll(user, src) if(!closed && owner) . += span_notice("It reads as belonging to [owner] from [country_of_origin].") - if(fake) + if(fake && (roll_result == ROLL_SUCCESS)) . += span_notice("It looks like a crude counterfeit.") /obj/item/passport/attack_self(mob/user) diff --git a/modular_darkpack/modules/npc/code/human/npc_types/bouncers/__bouncer.dm b/modular_darkpack/modules/npc/code/human/npc_types/bouncers/__bouncer.dm index ab7e28d2e9df..185d272f7237 100644 --- a/modular_darkpack/modules/npc/code/human/npc_types/bouncers/__bouncer.dm +++ b/modular_darkpack/modules/npc/code/human/npc_types/bouncers/__bouncer.dm @@ -149,11 +149,13 @@ /mob/living/carbon/human/npc/bouncer/examine(mob/user) - .=..() + . = ..() if(can_be_reasoned_with() && in_range(src, user)) var/list/interact_options = list( - "Persuade for Entry" = image(icon = 'icons/obj/toys/dice.dmi', icon_state = "d10")) + "Persuade for Entry" = image(icon = 'icons/obj/toys/dice.dmi', icon_state = "d10"), + "Intimidate for Entry" = image(icon = 'icons/obj/toys/dice.dmi', icon_state = "d10") + ) var/obj/item/held_item = user.get_active_held_item() if(held_item && istype(held_item, /obj/item/card/police)) @@ -162,7 +164,10 @@ switch(picked_option) if("Persuade for Entry") to_chat(user, span_notice("You try to talk your way through.")) - linked_perm.notify_barrier_social_bypass(user, src) + linked_perm.notify_barrier_social_bypass(user, src, FALSE, STAT_EMPATHY) + if("Intimidate for Entry") + to_chat(user, span_notice("You try to talk your way through.")) + linked_perm.notify_barrier_social_bypass(user, src, FALSE, STAT_INTIMIDATION) if("Show Badge") to_chat(user, span_notice("You flash your [held_item] as you try to talk your way through.")) linked_perm.notify_barrier_social_bypass(user, src, TRUE) diff --git a/modular_darkpack/modules/npc/code/nonhuman/hostile/abyss_tentacle.dm b/modular_darkpack/modules/npc/code/nonhuman/hostile/abyss_tentacle.dm index d6c4257b9f2e..2483c56101f0 100644 --- a/modular_darkpack/modules/npc/code/nonhuman/hostile/abyss_tentacle.dm +++ b/modular_darkpack/modules/npc/code/nonhuman/hostile/abyss_tentacle.dm @@ -200,8 +200,8 @@ GLOBAL_LIST_EMPTY(global_tentacle_grabs) if(get_dist(source, src) > 0) if(world.time >= source.escape_attempt) source.escape_attempt = world.time + 1 TURNS - var/roll = SSroll.storyteller_roll(source.st_get_stat(STAT_STRENGTH), 6, list(source), numerical = FALSE) - switch(roll) + var/rollcheck = SSroll.storyteller_roll(source.st_get_stat(STAT_STRENGTH), 6, source) + switch(rollcheck) if(ROLL_SUCCESS) to_chat(source, span_notice("You break free from the tentacle's grasp!")) release_mob(source, TRUE) diff --git a/modular_darkpack/modules/occult_artifacts/code/artifacts/_artifact.dm b/modular_darkpack/modules/occult_artifacts/code/artifacts/_artifact.dm index 47ee132c9ecd..cdb64704524a 100644 --- a/modular_darkpack/modules/occult_artifacts/code/artifacts/_artifact.dm +++ b/modular_darkpack/modules/occult_artifacts/code/artifacts/_artifact.dm @@ -37,6 +37,8 @@ var/research_value = 0 var/can_be_identified_without_ritual = TRUE + var/datum/storyteller_roll/identify_occult/identify_roll + /obj/item/vtm_artifact/proc/identify() if(!identified) name = true_name @@ -61,20 +63,25 @@ return var/mob/living/artifact_identifier = user - if(artifact_identifier.st_get_stat(STAT_OCCULT) < 4) + if(artifact_identifier.st_get_stat(STAT_OCCULT) < 3) to_chat(artifact_identifier, span_warning("What is this thing? Some kind of yard sale item?")) return if(can_be_identified_without_ritual == FALSE) - to_chat(artifact_identifier, span_warning("You've seen countless occult artifacts, trinkets, and powerful relics, but this, you've either never seen it before, or it's power can only be awakened by few...")) + to_chat(artifact_identifier, span_warning("You've seen some occult artifacts, trinkets, and powerful relics, but this, you've either never seen it before, or it's power can only be awakened by few...")) return - to_chat(artifact_identifier, span_cult("You've seen this before in an occult text. You start identifying it...")) - if(do_after(artifact_identifier, 10 SECONDS, src)) - identify() - to_chat(artifact_identifier, span_cult("You successfully identify [src]!")) - else - to_chat(artifact_identifier, span_warning("You stop examining [src].")) + to_chat(artifact_identifier, span_cult("You might have seen this before in an occult text. You start identifying it...")) + if(do_after(artifact_identifier, 1 TURNS, src)) + if(!identify_roll) + identify_roll = new() + identify_roll.difficulty = 8 + var/roll = identify_roll.st_roll(user, src) + if(roll == ROLL_SUCCESS) + identify() + to_chat(artifact_identifier, span_cult("You successfully identify [src]!")) + else + to_chat(artifact_identifier, span_warning("You stop examining [src].")) /obj/effect/spawner/random/occult name = "occult spawner" diff --git a/modular_darkpack/modules/paths/code/path.dm b/modular_darkpack/modules/paths/code/path.dm index 0568daea7da6..d55cc2950518 100644 --- a/modular_darkpack/modules/paths/code/path.dm +++ b/modular_darkpack/modules/paths/code/path.dm @@ -1,4 +1,5 @@ /datum/discipline/path + abstract_type = /datum/discipline/path action_type = /datum/action/discipline/path var/action_replaced = FALSE selectable = FALSE //cant buy it as a ghoul diff --git a/modular_darkpack/modules/paths/code/spellbooks/spellbooks.dm b/modular_darkpack/modules/paths/code/spellbooks/spellbooks.dm index a6c0cc4474d0..cb5f18bae3df 100644 --- a/modular_darkpack/modules/paths/code/spellbooks/spellbooks.dm +++ b/modular_darkpack/modules/paths/code/spellbooks/spellbooks.dm @@ -1,4 +1,5 @@ /obj/item/path_spellbook + abstract_type = /obj/item/path_spellbook name = "path spellbook" desc = "A default path spellbook. if you're seeing this ingame, please report to coders" icon = 'modular_darkpack/modules/paths/icons/paths.dmi' @@ -16,7 +17,7 @@ var/true_name = "" var/true_desc = "" - COOLDOWN_DECLARE(identify_failure_cooldown) + var/datum/storyteller_roll/identify_occult/identify_roll /obj/item/path_spellbook/Initialize(mapload) . = ..() @@ -30,19 +31,15 @@ . = ..() if(!identified) . += span_notice("You could try to clean off the dust to see what lies beneath.") - if(!COOLDOWN_FINISHED(src, identify_failure_cooldown)) - var/time_left = COOLDOWN_TIMELEFT(src, identify_failure_cooldown) / 10 - . += span_warning("You need to wait [time_left] seconds before trying again.") /obj/item/path_spellbook/attack_self(mob/living/carbon/human/user) if(!identified) - if(!COOLDOWN_FINISHED(src, identify_failure_cooldown)) - var/time_left = COOLDOWN_TIMELEFT(src, identify_failure_cooldown) / 10 - to_chat(user, span_warning("You need to wait [time_left] seconds before trying again.")) - return - if(do_after(user, 5 SECONDS)) - var/roll = SSroll.storyteller_roll(user.st_get_stat(STAT_INTELLIGENCE) + user.st_get_stat(STAT_OCCULT), path_level + 3, user, numerical = FALSE) + if(do_after(user, 1 TURNS)) + if(!identify_roll) + identify_roll = new() + identify_roll.difficulty = path_level + 3 + var/roll = identify_roll.st_roll(user, src) switch(roll) if(ROLL_SUCCESS) to_chat(user, span_cult("You wipe the dust off the previously irrelevant tome. Did someone misplace it from the Library?")) @@ -52,7 +49,6 @@ return else to_chat(user, span_warning("You fail to figure out the real nature of the book and get distracted by more important matters. Maybe its a cookbook?")) - COOLDOWN_START(src, identify_failure_cooldown, 2 MINUTES) return return @@ -121,6 +117,7 @@ /obj/item/occult_book + abstract_type = /obj/item/occult_book name = "occult book" desc = "A default occult book. if you're seeing this ingame, please report to coders" icon = 'modular_darkpack/modules/paths/icons/paths.dmi' diff --git a/modular_darkpack/modules/powers/code/discipline/auspex/auspex.dm b/modular_darkpack/modules/powers/code/discipline/auspex/auspex.dm index d6b81006e73d..48a88e37241c 100644 --- a/modular_darkpack/modules/powers/code/discipline/auspex/auspex.dm +++ b/modular_darkpack/modules/powers/code/discipline/auspex/auspex.dm @@ -271,8 +271,8 @@ /datum/discipline_power/auspex/psychic_projection/activate() . = ..() - var/roll = SSroll.storyteller_roll(owner.st_get_stat(STAT_PERCEPTION) + owner.st_get_stat(STAT_AWARENESS), 7, owner, owner, TRUE) - if(roll > 0) + var/roll = SSroll.storyteller_roll(owner.st_get_stat(STAT_PERCEPTION) + owner.st_get_stat(STAT_AWARENESS), 7, owner) + if(roll == ROLL_SUCCESS) owner.enter_avatar() else to_chat(owner, span_warning("Your mind fails to leave your body.")) diff --git a/modular_darkpack/modules/powers/code/discipline/dominate/dominate.dm b/modular_darkpack/modules/powers/code/discipline/dominate/dominate.dm index d0b0bceadca4..d2ab244d8401 100644 --- a/modular_darkpack/modules/powers/code/discipline/dominate/dominate.dm +++ b/modular_darkpack/modules/powers/code/discipline/dominate/dominate.dm @@ -100,7 +100,7 @@ return TRUE var/theirpower = target.st_get_stat(STAT_TEMPORARY_WILLPOWER) - var/mypower = SSroll.storyteller_roll(owner_stat, difficulty = theirpower, mobs_to_show_output = owner, numerical = TRUE) + var/mypower = SSroll.storyteller_roll(owner_stat, difficulty = theirpower, roller = owner, numerical = TRUE) //tremere have built-in safeguards to easily dominate their stone servitors var/mob/living/carbon/human/human_target = target diff --git a/modular_darkpack/modules/powers/code/discipline/melpominee.dm b/modular_darkpack/modules/powers/code/discipline/melpominee.dm index f766537b3959..dc072a67ba7a 100644 --- a/modular_darkpack/modules/powers/code/discipline/melpominee.dm +++ b/modular_darkpack/modules/powers/code/discipline/melpominee.dm @@ -63,7 +63,7 @@ difficulty_malus = 0 if (get_dist(hearer, target) > 3) difficulty_malus += 1 - if (SSroll.storyteller_roll(hearer.st_get_stat(STAT_PERCEPTION), base_difficulty + difficulty_malus, mobs_to_show_output = hearer) == ROLL_SUCCESS) + if (SSroll.storyteller_roll(hearer.st_get_stat(STAT_PERCEPTION), base_difficulty + difficulty_malus, roller = hearer) == ROLL_SUCCESS) if (masked) to_chat(hearer, span_warning("[target]'s jaw isn't moving to match [target.p_their()] words.")) else diff --git a/modular_darkpack/modules/powers/code/discipline/obtenebration.dm b/modular_darkpack/modules/powers/code/discipline/obtenebration.dm index 538e00bbbc40..30572b4a214f 100644 --- a/modular_darkpack/modules/powers/code/discipline/obtenebration.dm +++ b/modular_darkpack/modules/powers/code/discipline/obtenebration.dm @@ -192,7 +192,7 @@ /datum/discipline_power/obtenebration/black_metamorphosis/activate() . = ..() activating = FALSE - var/roll = SSroll.storyteller_roll(owner.st_get_stat(STAT_MANIPULATION)/* + owner.st_get_stat(STAT_COURAGE)*/, 7, owner) + var/roll = SSroll.storyteller_roll(owner.st_get_stat(STAT_MANIPULATION) + owner.st_get_stat(STAT_COURAGE), 7, owner) switch(roll) if(ROLL_SUCCESS) successful = TRUE diff --git a/modular_darkpack/modules/powers/code/discipline/presence/presence.dm b/modular_darkpack/modules/powers/code/discipline/presence/presence.dm index bfbf55d1a79f..b163a3ddf920 100644 --- a/modular_darkpack/modules/powers/code/discipline/presence/presence.dm +++ b/modular_darkpack/modules/powers/code/discipline/presence/presence.dm @@ -30,7 +30,7 @@ //is the difficulty pre-defined? if not, its probably their willpower. var/theirpower = difficulty || target.st_get_stat(STAT_TEMPORARY_WILLPOWER) - var/successes = SSroll.storyteller_roll(owner_stat, difficulty = theirpower, mobs_to_show_output = owner, numerical = TRUE) + var/successes = SSroll.storyteller_roll(owner_stat, difficulty = theirpower, roller = owner, numerical = TRUE) //botch if(successes < 0) @@ -98,7 +98,7 @@ user.st_set_stat(STAT_TEMPORARY_WILLPOWER, max((user.st_get_stat(STAT_TEMPORARY_WILLPOWER) - 1),0)) to_chat(user, span_warning("You burn a point of willpower to resist the supernatural influence...")) - var/roll_success = SSroll.storyteller_roll(user.st_get_stat(STAT_TEMPORARY_WILLPOWER), difficulty = 8, mobs_to_show_output = user) + var/roll_success = SSroll.storyteller_roll(user.st_get_stat(STAT_TEMPORARY_WILLPOWER), difficulty = 8, roller = user) if(roll_success) user.remove_overlay(MUTATIONS_LAYER) @@ -129,7 +129,7 @@ .=..() //charisma + performance - successes = SSroll.storyteller_roll(owner.st_get_stat(STAT_CHARISMA) + owner.st_get_stat(STAT_PERFORMANCE), difficulty = 7, mobs_to_show_output = owner, numerical = TRUE) + successes = SSroll.storyteller_roll(owner.st_get_stat(STAT_CHARISMA) + owner.st_get_stat(STAT_PERFORMANCE), difficulty = 7, roller = owner, numerical = TRUE) if(successes > 0) return TRUE @@ -193,7 +193,7 @@ /datum/discipline_power/presence/dread_gaze/pre_activation_checks(mob/living/target) //charisma + intimidation, difficulty equal to the victims wits + courage - successes = presence_check(owner, target, owner.st_get_stat(STAT_CHARISMA) + owner.st_get_stat(STAT_INTIMIDATION), difficulty = (target.st_get_stat(STAT_WITS))) //+ target.st_get_stat(STAT_COURAGE))) + successes = presence_check(owner, target, owner.st_get_stat(STAT_CHARISMA) + owner.st_get_stat(STAT_INTIMIDATION), difficulty = (target.st_get_stat(STAT_WITS) + target.st_get_stat(STAT_COURAGE))) if(successes > 0) return TRUE @@ -357,7 +357,7 @@ continue //'the victim must make a courage roll with a difficulty equal to the caster's charisma + intimidation to a maximum of 10' - var/hearer_successes = SSroll.storyteller_roll(hearer.st_get_stat(STAT_COURAGE), difficulty = owner.st_get_stat(STAT_CHARISMA) + owner.st_get_stat(STAT_INTIMIDATION), mobs_to_show_output = hearer, numerical = TRUE) + var/hearer_successes = SSroll.storyteller_roll(hearer.st_get_stat(STAT_COURAGE), difficulty = owner.st_get_stat(STAT_CHARISMA) + owner.st_get_stat(STAT_INTIMIDATION), roller = hearer, numerical = TRUE) hearer_successes = max(0, hearer_successes) apply_presence_overlay(hearer, 3 MINUTES) diff --git a/modular_darkpack/modules/powers/code/discipline/quietus/components/scorptions_touch.dm b/modular_darkpack/modules/powers/code/discipline/quietus/components/scorptions_touch.dm index 5e1796d65576..52fb5e62940a 100644 --- a/modular_darkpack/modules/powers/code/discipline/quietus/components/scorptions_touch.dm +++ b/modular_darkpack/modules/powers/code/discipline/quietus/components/scorptions_touch.dm @@ -42,7 +42,7 @@ var/mob/living/carbon/human/victim = target // victim resists the posion with stamina + fortitude - var/resistance = SSroll.storyteller_roll(dice = (victim.st_get_stat(STAT_STAMINA)/* + victim.st_get_stat(STAT_FORTITUDE)*/), difficulty = 6, numerical = TRUE, mobs_to_show_output = victim) + var/resistance = SSroll.storyteller_roll(dice = (victim.st_get_stat(STAT_STAMINA)/* + victim.st_get_stat(STAT_FORTITUDE)*/), difficulty = 6, numerical = TRUE, roller = victim) // each resistance success subtracts from the duration var/effective_duration = max(0, poison_duration - resistance) diff --git a/modular_darkpack/modules/powers/code/discipline/quietus/quietus.dm b/modular_darkpack/modules/powers/code/discipline/quietus/quietus.dm index 142b8e25fdda..277f43cd7d71 100644 --- a/modular_darkpack/modules/powers/code/discipline/quietus/quietus.dm +++ b/modular_darkpack/modules/powers/code/discipline/quietus/quietus.dm @@ -48,7 +48,7 @@ /datum/discipline_power/quietus/scorpions_touch/pre_activation_checks(atom/target) . = ..() - var/success_count = SSroll.storyteller_roll(dice = owner.st_get_stat(STAT_PERMANENT_WILLPOWER), difficulty = 6, mobs_to_show_output = owner, alert_atom = owner, numerical = TRUE) + var/success_count = SSroll.storyteller_roll(dice = owner.st_get_stat(STAT_PERMANENT_WILLPOWER), difficulty = 6, roller = owner, numerical = TRUE) if(success_count <= 0) to_chat(owner, span_warning("Your blood fails to transform into poison!")) @@ -191,9 +191,9 @@ var/victim_stamina = victim.st_get_stat(STAT_STAMINA) var/victim_willpower = victim.st_get_stat(STAT_PERMANENT_WILLPOWER) - var/attacker_successes = SSroll.storyteller_roll(attacker_stamina, victim_willpower, numerical = TRUE, mobs_to_show_output = owner) + var/attacker_successes = SSroll.storyteller_roll(attacker_stamina, victim_willpower, numerical = TRUE, roller = owner) - var/victim_successes = SSroll.storyteller_roll(victim_stamina, victim_willpower, numerical = TRUE, mobs_to_show_output = victim) + var/victim_successes = SSroll.storyteller_roll(victim_stamina, victim_willpower, numerical = TRUE, roller = victim) var/net_successes = attacker_successes - victim_successes diff --git a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/path_of_blood.dm b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/path_of_blood.dm index ad1e06ff9a12..172e5df29b76 100644 --- a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/path_of_blood.dm +++ b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/path_of_blood.dm @@ -31,7 +31,7 @@ /datum/discipline_power/thaumaturgy/activate(atom/target) . = ..() //Thaumaturgy powers have different effects based off the amount of successes. I dont want to copy paste the code, so this is being put here. - success_count = SSroll.storyteller_roll(dice = owner.st_get_stat(STAT_PERMANENT_WILLPOWER), difficulty = (level + 3), numerical = TRUE, mobs_to_show_output = owner) + success_count = SSroll.storyteller_roll(dice = owner.st_get_stat(STAT_PERMANENT_WILLPOWER), difficulty = (level + 3), numerical = TRUE, roller = owner) if(success_count < 0) thaumaturgy_botch_effect() return TRUE diff --git a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/paths/lure_of_flames.dm b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/paths/lure_of_flames.dm index 41640ba1665d..8e1acc28c04c 100644 --- a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/paths/lure_of_flames.dm +++ b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/paths/lure_of_flames.dm @@ -19,7 +19,7 @@ . = ..() if(src.ranged == FALSE) return TRUE - range_successes = SSroll.storyteller_roll(dice = owner.st_get_stat(STAT_PERMANENT_WILLPOWER), difficulty = (level + 3), numerical = TRUE, mobs_to_show_output = owner) + range_successes = SSroll.storyteller_roll(dice = owner.st_get_stat(STAT_PERMANENT_WILLPOWER), difficulty = (level + 3), numerical = TRUE, roller = owner) switch(range_successes) if(-INFINITY to 0) to_chat(owner, "You fail to conjure flames anywhere further than your own hand.") diff --git a/modular_darkpack/modules/ritual_abyss_mysticism/code/rituals/reflections_of_hollow_revelation.dm b/modular_darkpack/modules/ritual_abyss_mysticism/code/rituals/reflections_of_hollow_revelation.dm index b19ce18fa9ed..131fd3f22189 100644 --- a/modular_darkpack/modules/ritual_abyss_mysticism/code/rituals/reflections_of_hollow_revelation.dm +++ b/modular_darkpack/modules/ritual_abyss_mysticism/code/rituals/reflections_of_hollow_revelation.dm @@ -65,7 +65,7 @@ var/datum/splat/vampire/vampire = does_use_disciplines(target) if(vampire?.get_discipline(/datum/discipline/obtenebration) || vampire?.get_discipline(/datum/discipline/auspex)) var/theirpower = (user.st_get_stat(STAT_PERCEPTION) + user.st_get_stat(STAT_OCCULT)) - if(SSroll.storyteller_roll(theirpower, 8, target, numerical = FALSE) == ROLL_SUCCESS) + if(SSroll.storyteller_roll(theirpower, 8, target) == ROLL_SUCCESS) to_chat(target, span_warning("You notice the nearby shadows flicker... something is watching you.")) shadowview(target, user) diff --git a/modular_darkpack/modules/ritual_abyss_mysticism/code/rituals/shadow_guardian.dm b/modular_darkpack/modules/ritual_abyss_mysticism/code/rituals/shadow_guardian.dm index b4a9e09da9ce..c4d10c611a62 100644 --- a/modular_darkpack/modules/ritual_abyss_mysticism/code/rituals/shadow_guardian.dm +++ b/modular_darkpack/modules/ritual_abyss_mysticism/code/rituals/shadow_guardian.dm @@ -9,7 +9,7 @@ /obj/ritual_rune/abyss/heart_that_beats_in_silence/complete() var/mob/living/carbon/human/H = last_activator - var/roll = SSroll.storyteller_roll(last_activator.st_get_stat(STAT_INTELLIGENCE) + last_activator.st_get_stat(STAT_OCCULT), 6, last_activator, numerical = FALSE) + var/roll = SSroll.storyteller_roll(last_activator.st_get_stat(STAT_INTELLIGENCE) + last_activator.st_get_stat(STAT_OCCULT), 6, last_activator) last_activator.apply_damage(30, AGGRAVATED) switch(roll) diff --git a/modular_darkpack/modules/storyteller_dice/code/roll_datum.dm b/modular_darkpack/modules/storyteller_dice/code/roll_datum.dm new file mode 100644 index 000000000000..15fae4a95cb5 --- /dev/null +++ b/modular_darkpack/modules/storyteller_dice/code/roll_datum.dm @@ -0,0 +1,219 @@ +/datum/storyteller_roll + var/bumper_text = "roll" + + var/difficulty = 6 + var/successes_needed = 1 + + // By default uses the highest attribute and ability // Not acctually true yet, it just used all of them. But it should be that. + var/list/applicable_stats = list() + var/numerical = FALSE + + var/roll_output_type = ROLL_PUBLIC + /// This is a roll that can proc multiple times in rapid sucession and thus has weaker or less notible outputs (forced runechat and quieter dice rolls) + var/spammy_roll = FALSE + + /// A lazy list of times indexed by a weakref to a mob + var/list/mobs_last_rolled + var/reroll_cooldown + + // Mutable vars to store the outputs of any given roll. Expect everything past here to be mutated between each roll. + var/last_sucess_amount + var/list/last_output_text = list() + + +/** + * Rolls a number of dice according to Storyteller system rules to find + * success or number of successes. + * + * Rolls a number of 10-sided dice, counting them as a "success" if + * they land on a number equal to or greater than the difficulty. Dice + * that land on 1 subtract a success from the total, and the minimum + * difficulty is 2. The number of successes is returned if numerical + * is true, or the roll outcome (botch, failure, success) as a defined + * number if false. + * + * Arguments: + + * * roller - the mob who is making the role and owns the dice + * * target - who this dice is being rolled against, can be the roller, determines if its considered "important" to the mob to display. + * * dice - bonus dice that are added to the roll. + * + * Returns: The sucess of the roll, either a define or the raw amount of sucesses if `numerical = TRUE` + */ +/datum/storyteller_roll/proc/st_roll(mob/living/roller, atom/target, bonus = 0) + last_sucess_amount = 0 + last_output_text = list() + + if(!can_roll(roller)) + return ROLL_FAILURE + + var/dice_amount = calculate_used_dice(roller, bonus) + + var/list/rolled_dice = roll_dice(dice_amount) + + var/first_line = "[span_tooltip(show_rolling_with(roller, bonus), "[dice_amount] dice")] vs. difficulty [difficulty]." + if(successes_needed > 1) + first_line += " [successes_needed] successes needed." + last_output_text += span_notice(first_line) + + last_sucess_amount = count_success(rolled_dice, difficulty, last_output_text) + var/output = roll_result(last_sucess_amount) + + var/title + if(roll_output_type in list(ROLL_PRIVATE_ADMIN, ROLL_ADMIN)) + title = "[ADMIN_LOOKUPFLW(roller)]" + else + title = "[roller]" + title += " - [bumper_text] [span_tinynoticeital(roll_output_type)]" + + var/output_combined = fieldset_block(title, jointext(last_output_text, "
    "), "boxed_message") + for(var/mob/player_mob in get_mobs_to_show(roller)) + var/roll_important_to_me = FALSE + if(!spammy_roll && (player_mob == roller || target)) + roll_important_to_me = TRUE + + var/output_pref = player_mob.client?.prefs.read_preference(/datum/preference/choiced/dice_output) + + SEND_SOUND(player_mob, sound('sound/items/dice_roll.ogg', volume = roll_important_to_me ? 5 : 20)) + if(!spammy_roll && output_pref == DICE_OUTPUT_CHAT) + to_chat(player_mob, output_combined, MESSAGE_TYPE_INFO, trailing_newline = FALSE) + else if(spammy_roll || (output_pref == DICE_OUTPUT_BALLOON)) + if(last_sucess_amount > 0) + roller.balloon_alert(player_mob, "[last_sucess_amount]", TRUE) + else + roller.balloon_alert(player_mob, "[last_sucess_amount]", TRUE) + + LAZYADDASSOC(mobs_last_rolled, WEAKREF(roller), list(world.time, output)) + + return output + + +/datum/storyteller_roll/proc/get_mobs_to_show(mob/living/roller) + switch(roll_output_type) + if(ROLL_PUBLIC) + return viewers(DEFAULT_MESSAGE_RANGE, roller) + if(ROLL_PRIVATE) + return list(roller) + if(ROLL_PRIVATE_ADMIN) + return GLOB.admins + roller + if(ROLL_ADMIN) + return GLOB.admins + if(ROLL_NONE) + return // Not even important enough to be admin visable. + +/datum/storyteller_roll/proc/calculate_used_dice(mob/living/roller, bonus = 0) + var/dice_amount = 0 + for(var/stat_type in using_stats(roller)) + dice_amount += roller.st_get_stat(stat_type) + return dice_amount + bonus + +// Unused rn but can be used for overides of `using_stats()` +/datum/storyteller_roll/proc/return_higher_stat(mob/living/roller, list/stats) + var/stat_to_use + var/highest_stat + for(var/stat in stats) + var/stat_dots = roller.st_get_stat(stat) + if(isnull(highest_stat) || stat_dots > highest_stat) + stat_to_use = stat + highest_stat = stat_dots + return stat_to_use + +/datum/storyteller_roll/proc/using_stats(mob/living/roller) + return applicable_stats + +/datum/storyteller_roll/proc/show_rolling_with(mob/living/roller, bonus = 0) + var/output = "" + var/stuff = list() + for(var/datum/st_stat/stat_type as anything in using_stats(roller)) + stuff += "[LOWER_TEXT(stat_type::name)]:[roller.st_get_stat(stat_type)]" + output += jointext(stuff, "+") + if(bonus) + output += "+[bonus]" + return "Rolling [output]" + +/datum/storyteller_roll/proc/roll_dice(dice, sides = 10) + dice = max(dice, 1) + var/list/rolled_dice = list() + for(var/i in 1 to dice) + rolled_dice += rand(1, sides) + if(SSroll.on_crit_extra_die_enabled) + var/extra_dice = 0 + for(var/roll in rolled_dice) + if(roll == 10) + extra_dice++ + for(var/i in 1 to extra_dice) + rolled_dice += rand(1, sides) + return rolled_dice + +//Count the number of successes. +/datum/storyteller_roll/proc/count_success(list/rolled_dice, difficulty = 6, last_output_text) + var/sucess_amount = 0 + var/dice_text = "" + for(var/roll in rolled_dice) + if(roll >= difficulty) + dice_text += span_nicegreen("[get_dice_char(roll)]") + sucess_amount++ + if(SSroll.on_crit_extra_success_enabled && roll == 10) + sucess_amount++ + else if(roll == 1) + dice_text += span_bold(span_danger("[get_dice_char(roll)]")) + sucess_amount-- + else + dice_text += span_danger("[get_dice_char(roll)]") + last_output_text += "[roll_result_text(roll_result(sucess_amount))] [dice_text]" + return sucess_amount + +/datum/storyteller_roll/proc/roll_result(sucess_amount) + if(numerical) + return sucess_amount + else + if(sucess_amount < 0) + return ROLL_BOTCH + else if(sucess_amount < successes_needed) + return ROLL_FAILURE + else + return ROLL_SUCCESS + +/datum/storyteller_roll/proc/roll_result_text(success_result) + if(numerical) + return "[success_result] successes -" + else + switch(success_result) + if(ROLL_SUCCESS) + return span_nicegreen("Success -") + if(ROLL_FAILURE) + return span_danger("Failure -") + if(ROLL_BOTCH) + return span_bold(span_danger(("Botch -"))) + +/datum/storyteller_roll/proc/get_dice_char(input) + var/static/list/dice_output = list("❶", "❷", "❸", "❹", "❺", "❻", "❼", "❽", "❾", "❿") + return dice_output[input] + /* // This would require making it an assoc list and we dont every expect outside our given range. + // So if someone faces a runtime because of this just make it an actual assoc and deal with the micro preformace hit + var/static/alist/dice_output = alist(1 = "❶", 2 = "❷", 3 = "❸" ,4 = "❹", 5 = "❺", 6 = "❻", 7 = "❼", 8 = "❽", 9 = "❾", 10 = "❿") + if(!dice_output[input]) + return "⓿" + else + return dice_output[input] + */ + +/datum/storyteller_roll/proc/can_roll(mob/living/roller, feedback = TRUE) + if(reroll_cooldown && mobs_last_rolled) + for(var/datum/weakref/guy_ref, roll_info in mobs_last_rolled) + var/mob/living/guy = guy_ref.resolve() + if(!guy) + mobs_last_rolled.Remove(guy_ref) + continue + if(guy != roller) + continue + if(roll_info[1] + reroll_cooldown > world.time) + if(roll_info[2] > 0) + return TRUE + //return roll_info[2] // We really should support directly returning the output..? + if(feedback) + to_chat(roller, span_warning("You cannot reroll [bumper_text] yet. [round((roll_info[1] + reroll_cooldown - world.time)/10)]s left.")) + return FALSE + + return TRUE + diff --git a/modular_darkpack/modules/storyteller_dice/code/roll_subsystem.dm b/modular_darkpack/modules/storyteller_dice/code/roll_subsystem.dm index 01f80f17d3fb..9abca7539c78 100644 --- a/modular_darkpack/modules/storyteller_dice/code/roll_subsystem.dm +++ b/modular_darkpack/modules/storyteller_dice/code/roll_subsystem.dm @@ -23,150 +23,14 @@ SUBSYSTEM_DEF(roll) * Arguments: * * dice - number of 10-sided dice to roll. * * difficulty - the number that a dice must come up as to count as a success. - * * mobs_to_show_output - mobs shown the result - * * alert_atom - the atom over which balloon alerts should appear + * * roller - the mob who is making the role and owns the dice * * numerical - whether the proc returns number of successes or outcome (botch, failure, success) */ -/datum/controller/subsystem/roll/proc/storyteller_roll(dice = 1, difficulty = 6, list/mobs_to_show_output = list(), atom/alert_atom = null, numerical = FALSE) - var/list/rolled_dice = roll_dice(dice) - if(!islist(mobs_to_show_output)) - mobs_to_show_output = list(mobs_to_show_output) - var/list/output_text = list() - output_text += span_notice("Rolling [length(rolled_dice)] dice against difficulty [difficulty].\n") - var/success_count = count_success(rolled_dice, difficulty, output_text) - - var/output = roll_answer(success_count, numerical, output_text) - for(var/mob/player_mob as anything in mobs_to_show_output) - var/output_pref = player_mob.client?.prefs.read_preference(/datum/preference/choiced/dice_output) - - if(output_pref == DICE_OUTPUT_CHAT) - to_chat(player_mob, jointext(output_text, ""), trailing_newline = FALSE) - else if((output_pref == DICE_OUTPUT_BALLOON) && alert_atom) - if(success_count > 0) - alert_atom.balloon_alert(player_mob, "[success_count]", TRUE) - else - alert_atom.balloon_alert(player_mob, "[success_count]", TRUE) - - if(numerical) - return success_count - - return output - -/datum/controller/subsystem/roll/proc/opposed_roll(mob/player_a, mob/player_b, dice_a = 1, dice_b = 1, show_player_a=TRUE, show_player_b=TRUE, atom/alert_atom = null, draw_goes_to_b=TRUE, numerical=FALSE) - var/list/roll_a = roll_dice(dice_a) - var/list/roll_b = roll_dice(dice_b) - var/success_count_a = count_success_no_output(roll_a) - var/success_count_b = count_success_no_output(roll_b) - - var/player_a_succeeded = FALSE - if(success_count_a > success_count_b || (success_count_a == success_count_b && !draw_goes_to_b)) - player_a_succeeded = TRUE - - if(alert_atom) - var/is_zero = ((success_count_a - success_count_b) == 0) - if(show_player_a) - var/alert_text - if(player_a_succeeded) - alert_text = "[is_zero ?"":"+"][success_count_a - success_count_b]" - else - alert_text = "[success_count_a - success_count_b]" - alert_atom.balloon_alert(player_a, alert_text, TRUE) - if(show_player_b) - var/alert_text - if(!player_a_succeeded) - alert_text = "[is_zero ?"":"+"][success_count_b - success_count_a]" - else - alert_text = "[success_count_b - success_count_a]" - alert_atom.balloon_alert(player_b, alert_text, TRUE) - - if(numerical) - return success_count_a - success_count_b - else - return player_a_succeeded - -/datum/controller/subsystem/roll/proc/roll_dice(dice, sides = 10) - dice = max(dice, 1) - var/list/rolled_dice = list() - for(var/i in 1 to dice) - rolled_dice += rand(1, sides) - if(on_crit_extra_die_enabled) - var/extra_dice = 0 - for(var/roll in rolled_dice) - if(roll == 10) - extra_dice++ - for(var/i in 1 to extra_dice) - rolled_dice += rand(1, sides) - return rolled_dice - -//Count the number of successes. -/datum/controller/subsystem/roll/proc/count_success(list/rolled_dice, difficulty = 6, output_text) - var/success_count = 0 - for(var/roll in rolled_dice) - if(roll >= difficulty) - output_text += span_nicegreen("[get_dice_char(roll)]") - success_count++ - if(on_crit_extra_success_enabled) - if(roll == 10) - success_count++ - else if(roll == 1) - output_text += span_bold(span_danger("[get_dice_char(roll)]")) - success_count-- - else - output_text += span_danger("[get_dice_char(roll)]") - output_text += " " - return success_count - -//Count the number of successes. -/datum/controller/subsystem/roll/proc/count_success_no_output(list/rolled_dice, difficulty = 6) - var/success_count = 0 - for(var/roll in rolled_dice) - if(roll >= difficulty) - success_count++ - if(on_crit_extra_success_enabled) - if(roll == 10) - success_count++ - else if(roll == 1) - success_count-- - return success_count - -/datum/controller/subsystem/roll/proc/roll_answer(success_count, numerical, output_text) - if(numerical) - return success_count - else - if(success_count < 0) - output_text += span_bold(span_danger(("\n Botch!"))) - return ROLL_BOTCH - else if(success_count == 0) - output_text += span_danger("\n Failure!") - return ROLL_FAILURE - else - output_text += span_nicegreen("\n Success!") - return ROLL_SUCCESS - -/datum/controller/subsystem/roll/proc/get_dice_char(input) - switch(input) - if(1) - return "❶" - if(2) - return "❷" - if(3) - return "❸" - if(4) - return "❹" - if(5) - return "❺" - if(6) - return "❻" - if(7) - return "❼" - if(8) - return "❽" - if(9) - return "❾" - if(10) - return "❿" - else - return "⓿" +/datum/controller/subsystem/roll/proc/storyteller_roll(dice = 1, difficulty = 6, mob/living/roller = null, numerical = FALSE) + var/datum/storyteller_roll/dice_roll = new() + dice_roll.difficulty = difficulty + dice_roll.numerical = numerical + return dice_roll.st_roll(roller, roller, dice) //Config datums for exploding dice /datum/config_entry/flag/on_crit_additional_success diff --git a/modular_darkpack/modules/storyteller_dice/code/roll_subtypes.dm b/modular_darkpack/modules/storyteller_dice/code/roll_subtypes.dm new file mode 100644 index 000000000000..da9b36d83d51 --- /dev/null +++ b/modular_darkpack/modules/storyteller_dice/code/roll_subtypes.dm @@ -0,0 +1,57 @@ +// Pretty generic ones for reuse if you dont really want/need a subtype +/datum/storyteller_roll/turn_cooldown + reroll_cooldown = 1 TURNS + +/datum/storyteller_roll/scene_cooldown + reroll_cooldown = 1 SCENES + +/datum/storyteller_roll/spammy + spammy_roll = TRUE + +// Mostly TTRPG accurate rolls + +// Physical Feats +/datum/storyteller_roll/lockpick + bumper_text = "lockpicking" + reroll_cooldown = 1 SCENES + applicable_stats = list(STAT_DEXTERITY, STAT_LARCENY) + +/datum/storyteller_roll/bash_door + bumper_text = "bash door" + reroll_cooldown = 1 SCENES + applicable_stats = list(STAT_STRENGTH) + numerical = TRUE + +/datum/storyteller_roll/grappling + bumper_text = "grappling" + applicable_stats = list(STAT_STRENGTH, STAT_BRAWL) + numerical = TRUE + spammy_roll = TRUE + +/datum/storyteller_roll/grappled + bumper_text = "resisting" + applicable_stats = list(STAT_STRENGTH, STAT_BRAWL) + numerical = TRUE + spammy_roll = TRUE + +/datum/storyteller_roll/climbing + bumper_text = "climbing" + applicable_stats = list(STAT_DEXTERITY, STAT_ATHLETICS) + +/datum/storyteller_roll/shooting + bumper_text = "shooting" + applicable_stats = list(STAT_DEXTERITY, STAT_FIREARMS) + reroll_cooldown = 1 TURNS + numerical = TRUE + +// Mental Feats +/datum/storyteller_roll/investigation + bumper_text = "investigation" + applicable_stats = list(STAT_PERCEPTION, STAT_INVESTIGATION) + + +// Made up shittttt +/datum/storyteller_roll/identify_occult + bumper_text = "identify" + applicable_stats = list(STAT_INTELLIGENCE, STAT_OCCULT) + reroll_cooldown = 1 SCENES diff --git a/modular_darkpack/modules/storyteller_dice/code/verbs.dm b/modular_darkpack/modules/storyteller_dice/code/verbs.dm index c2cbcccf6600..bba04c26d80d 100644 --- a/modular_darkpack/modules/storyteller_dice/code/verbs.dm +++ b/modular_darkpack/modules/storyteller_dice/code/verbs.dm @@ -1,6 +1,50 @@ -ADMIN_VERB(roll_storyteller_dice, R_NONE, "Roll storyteller dice", "Roll storyteller dice at yourself.", ADMIN_CATEGORY_FUN) - var/dice_count = tgui_input_number(usr, "Input amount of dice to roll:", "Dice", 5, 100, 1) - var/difficulty = tgui_input_number(usr, "Input roll difficulty:", "Difficulty", 6, 10, 1) - - SSroll.storyteller_roll(dice_count, difficulty, usr, usr) +ADMIN_VERB_ONLY_CONTEXT_MENU(roll_storyteller_dice, R_FUN, "Roll storyteller dice", mob/living/M in world) + M.roll_dice_custom() BLACKBOX_LOG_ADMIN_VERB("Storyteller dice") + +/mob/living/verb/roll_dice_custom() + set name = "Roll custom dice" + set category = "IC" + set desc = "Roll dice!" + + var/list/allowed_stats = list() + // Blame Xeon im pretty sure for the mobs storing this as a string. + for(var/stat_path_as_a_fucked_up_evil_string, dots_in in storyteller_stats) + var/datum/st_stat/stat = text2path(stat_path_as_a_fucked_up_evil_string) + if(!ispath(stat)) + continue + if(stat == stat::abstract_type) + continue + allowed_stats += stat + //allowed_stats[stat] = "[stat::name]: [dots_in]" + var/list/stats_to_use = tgui_input_checkboxes(usr, "Select stats to use for the roll.", "Choose Stats", allowed_stats, min_checked = 0, max_checked = 5) + var/list/output_stats = list() + if(length(stats_to_use)) + for(var/list/stat as anything in stats_to_use) + output_stats += text2path(stat[1]) + + var/bonus_dice = tgui_input_number(usr, "Input amount of bonus dice to roll.", "Dice", 0, 20, -20) + if(isnull(bonus_dice)) + return + + var/difficulty = tgui_input_number(usr, "Input roll difficulty.", "Difficulty", 6, 10, 1) + if(isnull(difficulty)) + return + + var/successes_needed = tgui_input_number(usr, "Input successes required to pass.", "Successes Needed", 1, 20, 1) + if(isnull(successes_needed)) + return + + var/roll_type = tgui_input_list(usr, "Who do you want to roll to.", "Roll Type", list(ROLL_PUBLIC, ROLL_PRIVATE, ROLL_PRIVATE_ADMIN, ROLL_ADMIN), ROLL_PUBLIC) + if(isnull(roll_type)) + return + + var/datum/storyteller_roll/custom_roll/custom_roll = new() + custom_roll.applicable_stats = output_stats + custom_roll.difficulty = difficulty + custom_roll.successes_needed = successes_needed + custom_roll.roll_output_type = roll_type + return custom_roll.st_roll(src, src, bonus_dice) + +/datum/storyteller_roll/custom_roll + bumper_text = "custom roll" diff --git a/modular_darkpack/modules/umbra/code/minesweeper.dm b/modular_darkpack/modules/umbra/code/minesweeper.dm index d8b2102efa1a..4a6934c81698 100644 --- a/modular_darkpack/modules/umbra/code/minesweeper.dm +++ b/modular_darkpack/modules/umbra/code/minesweeper.dm @@ -1,3 +1,6 @@ +/datum/storyteller_roll/mindsweeper + applicable_stats = list(STAT_PERCEPTION, STAT_OCCULT) + /obj/minespot name = "safe umbral tether" desc = "Connects the parts of Penumbra together." @@ -35,7 +38,8 @@ icon_state = "boom" if(!dangerous) return - var/roll_result = SSroll.storyteller_roll(user.st_get_stat(STAT_PERCEPTION) + user.st_get_stat(STAT_OCCULT), 6, list(user), user) + var/datum/storyteller_roll/mindsweeper/perc_roll = new() + var/roll_result = perc_roll.st_roll(user, src) switch(roll_result) if(ROLL_SUCCESS) to_chat(user, span_revenwarning("Close... but the spirits do not punish you for this one.")) diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/kindred/humanity.dm b/modular_darkpack/modules/vampire_the_masquerade/code/kindred/humanity.dm index 3671ab7f0951..2adee483e833 100644 --- a/modular_darkpack/modules/vampire_the_masquerade/code/kindred/humanity.dm +++ b/modular_darkpack/modules/vampire_the_masquerade/code/kindred/humanity.dm @@ -34,9 +34,12 @@ //before going any further, roll either conscience or conviction to determine if we actually lose path/humanity if(humanity_change < 0) var/stat_to_roll = is_enlightenment ? STAT_CONVICTION : STAT_CONSCIENCE - var/degeneration_roll = SSroll.storyteller_roll(owner.st_get_stat(stat_to_roll), difficulty, owner, numerical = FALSE) + var/datum/storyteller_roll/degeneration_roll = new() + degeneration_roll.applicable_stats = list(stat_to_roll) + degeneration_roll.difficulty = difficulty + var/roll_result = degeneration_roll.st_roll(owner) - if(degeneration_roll == ROLL_SUCCESS) + if(roll_result == ROLL_SUCCESS) to_chat(owner, span_green("Your [is_enlightenment ? "conviction" : "conscience"] prevents you from losing [path] as you successfully justify your actions!")) return else diff --git a/modular_darkpack/modules/vip_areas/code/vip_barrier_perm.dm b/modular_darkpack/modules/vip_areas/code/vip_barrier_perm.dm index 4bd1c3e033a7..f69962123032 100644 --- a/modular_darkpack/modules/vip_areas/code/vip_barrier_perm.dm +++ b/modular_darkpack/modules/vip_areas/code/vip_barrier_perm.dm @@ -88,11 +88,11 @@ var/mob/living/carbon/human/npc/bouncer/target_bouncer = pick(linked_bouncers) target_bouncer.speak_seldom(pick(target_bouncer.block_phrases), target_mob) -/datum/vip_barrier_perm/proc/notify_barrier_social_bypass(mob/user, mob/bouncer, used_badge) +/datum/vip_barrier_perm/proc/notify_barrier_social_bypass(mob/user, mob/bouncer, used_badge, used_stat) if(!length(linked_barriers) || !isliving(user)) return var/obj/effect/vip_barrier/target_barrier = linked_barriers[1] - target_barrier.handle_social_bypass(user, bouncer, used_badge) + target_barrier.handle_social_bypass(user, bouncer, used_badge, used_stat) //============================================================================= diff --git a/modular_darkpack/modules/vip_areas/code/vip_barriers/__vip_barrier.dm b/modular_darkpack/modules/vip_areas/code/vip_barriers/__vip_barrier.dm index d43c01dce6b8..dedecb303cea 100644 --- a/modular_darkpack/modules/vip_areas/code/vip_barriers/__vip_barrier.dm +++ b/modular_darkpack/modules/vip_areas/code/vip_barriers/__vip_barrier.dm @@ -3,11 +3,13 @@ desc = "Not a real checkpoint." icon = 'modular_darkpack/modules/vip_areas/icons/barrier.dmi' icon_state = "camarilla_blocking" + + anchored = TRUE + var/block_sound = "modular_darkpack/modules/deprecated/sounds/bouncer_blocked.ogg" //Social bypass numbers var/social_bypass_allowed = TRUE - var/social_bypass_time = 20 SECONDS var/can_use_badge = TRUE var/mean_to_cops = TRUE var/social_roll_difficulty = 7 @@ -15,9 +17,7 @@ //Display settings var/always_invisible = FALSE - density = FALSE - anchored = TRUE - + var/datum/storyteller_roll/scene_cooldown/bypass_roll //Assigns an ID to NPCs that guard certain doors, must match a barrier's ID @@ -101,7 +101,7 @@ /obj/effect/vip_barrier/proc/check_entry_permission_custom(mob/living/carbon/human/entering_mob) return TRUE -/obj/effect/vip_barrier/proc/handle_social_bypass(mob/living/carbon/human/user, mob/bouncer, used_badge = FALSE) +/obj/effect/vip_barrier/proc/handle_social_bypass(mob/living/carbon/human/user, mob/bouncer, used_badge = FALSE, used_stat = STAT_EMPATHY) if(user.get_face_name() == "Unknown") to_chat(user, span_notice("They won't talk to someone they can't look in the eye.")) @@ -119,18 +119,29 @@ linked_perm.notify_guard_blocked_denial(user) return - - if(!do_after(user, max(5 SECONDS, social_bypass_time - (user.st_get_stat(STAT_CHARISMA) * 2 SECONDS)), bouncer)) + if(!do_after(user, 1 TURNS, bouncer)) return - - var/involved_social_roll = social_roll_difficulty if(used_badge) involved_social_roll -= 1 - if(SSroll.storyteller_roll(user.st_get_stat(STAT_CHARISMA), involved_social_roll, mobs_to_show_output = user) == ROLL_SUCCESS) - to_chat(user, span_notice("You manage to persuade your way past the guards.")) + if(!bypass_roll) + bypass_roll = new() + bypass_roll.bumper_text = "persuade guard" + + var/verbage + bypass_roll.difficulty = involved_social_roll + bypass_roll.applicable_stats = list(STAT_CHARISMA) + if(used_stat == STAT_INTIMIDATION) + verbage = "intimidate" + bypass_roll.applicable_stats += used_stat + else + verbage = "persuade" + bypass_roll.applicable_stats += used_stat + + if(bypass_roll.st_roll(user, src) == ROLL_SUCCESS) + to_chat(user, span_notice("You manage to [verbage] your way past the guards.")) linked_perm.allow_list += user.get_face_name() return diff --git a/modular_darkpack/modules/walls/code/walls.dm b/modular_darkpack/modules/walls/code/walls.dm index 4aa641980faf..7a2513495fe0 100644 --- a/modular_darkpack/modules/walls/code/walls.dm +++ b/modular_darkpack/modules/walls/code/walls.dm @@ -76,18 +76,18 @@ if(user.body_position != STANDING_UP) return if(above_turf && istype(above_turf, /turf/open/openspace)) - var/total_dexterity = user.st_get_stat(STAT_DEXTERITY) - var/total_athletics = user.st_get_stat(STAT_ATHLETICS) to_chat(user, span_notice("You start climbing up...")) add_fingerprint(user) - var/result = do_after(user, (11 - total_dexterity - total_athletics) SECONDS, src) + var/result = do_after(user, 1 TURNS, src) if(!result || HAS_TRAIT(user, LEANING_TRAIT)) to_chat(user, span_notice("You were interrupted and failed to climb up.")) return //(Botch, slip and take damage), (Fail, fail to climb), (Success, climb up successfully) - var/roll = SSroll.storyteller_roll(total_dexterity+total_athletics, 6, user) + + var/datum/storyteller_roll/climbing/climb_roll = new() + var/roll = climb_roll.st_roll(user, src) switch(roll) if(ROLL_BOTCH) user.ZImpactDamage(loc, 1) diff --git a/modular_darkpack/modules/weapons/code/projectiles.dm b/modular_darkpack/modules/weapons/code/projectiles.dm index 49761bffd098..8764f8aa87b6 100644 --- a/modular_darkpack/modules/weapons/code/projectiles.dm +++ b/modular_darkpack/modules/weapons/code/projectiles.dm @@ -168,11 +168,10 @@ . = ..() if(iscarbon(target)) var/mob/living/carbon/hit_person = target - if(SSroll.storyteller_roll( - dice = hit_person.st_get_stat(STAT_STRENGTH) + min(hit_person.st_get_stat(STAT_DEXTERITY) + hit_person.st_get_stat(STAT_ATHLETICS)), - difficulty = 3 + (!isnull(firer) ? rand(1,2) : 0), - mobs_to_show_output = target - ) == ROLL_FAILURE) + var/datum/storyteller_roll/knockdown_roll = new() + knockdown_roll.applicable_stats = list(STAT_STRENGTH, STAT_DEXTERITY, STAT_ATHLETICS) + knockdown_roll.difficulty = 3 + (!isnull(firer) ? rand(1,2) : 0) + if(knockdown_roll.st_roll(target, firer ? firer : src) == ROLL_FAILURE) hit_person.Knockdown(20) to_chat(hit_person, span_danger("The force of a projectile sends you sprawling!")) diff --git a/tgstation.dme b/tgstation.dme index b12405a1ac85..b2b7794628a9 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -446,7 +446,6 @@ #include "code\__DEFINES\~darkpack\keybindings.dm" #include "code\__DEFINES\~darkpack\library.dm" #include "code\__DEFINES\~darkpack\lock_access_defines.dm" -#include "code\__DEFINES\~darkpack\lockpick_difficulty.dm" #include "code\__DEFINES\~darkpack\mapswitch.dm" #include "code\__DEFINES\~darkpack\masquerade.dm" #include "code\__DEFINES\~darkpack\miscellaneous.dm" @@ -7518,7 +7517,9 @@ #include "modular_darkpack\modules\splats\code\prefrences\splat_pref.dm" #include "modular_darkpack\modules\stock_market\code\stockexchange.dm" #include "modular_darkpack\modules\storage\code\firstaidkit.dm" +#include "modular_darkpack\modules\storyteller_dice\code\roll_datum.dm" #include "modular_darkpack\modules\storyteller_dice\code\roll_subsystem.dm" +#include "modular_darkpack\modules\storyteller_dice\code\roll_subtypes.dm" #include "modular_darkpack\modules\storyteller_dice\code\rolling_pref.dm" #include "modular_darkpack\modules\storyteller_dice\code\verbs.dm" #include "modular_darkpack\modules\storyteller_stats\code\_st_stats.dm" From bd98070bdc3f732b98db2a759554ef48fbefe5ba Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 16:35:54 +0000 Subject: [PATCH 245/271] Automatic changelog for PR #633 [ci skip] --- html/changelogs/AutoChangeLog-pr-633.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-633.yml diff --git a/html/changelogs/AutoChangeLog-pr-633.yml b/html/changelogs/AutoChangeLog-pr-633.yml new file mode 100644 index 000000000000..445b527243cf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-633.yml @@ -0,0 +1,8 @@ +author: "FalloutFalcon" +delete-after: True +changes: + - rscadd: "Custom dice rolling verbs for scenes and filling the gaps in unimplemented content/rolls." + - rscadd: "Most rolls now play a dice roll sound effect" + - qol: "Massively prettified the roll to_chat and fills it with useful information for rolls" + - refactor: "Some dice rolls now use a new datumized system of rolling, most use it with a wrapper through the old system so they dont gain as much new behavoir" + - balance: "Identifying artifacts only requires 3 occult but now has a roll on a scene length cooldown" \ No newline at end of file From dfdc1e37405cac75f65a240b0d7df8aadd0006d5 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Sun, 15 Feb 2026 13:43:38 -0600 Subject: [PATCH 246/271] Fix flakey fail caused by ladder (#676) ## About The Pull Request fix flaky fail caused by a modular room ## Why It's Good For The Game This ladder is fluff and not mean to actually go anywhere. --- .../Vampire/westfield_mall/modules/old_train_rail_3.dmm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_maps/map_files/Vampire/westfield_mall/modules/old_train_rail_3.dmm b/_maps/map_files/Vampire/westfield_mall/modules/old_train_rail_3.dmm index cd9f6d355f60..82c5d420f329 100644 --- a/_maps/map_files/Vampire/westfield_mall/modules/old_train_rail_3.dmm +++ b/_maps/map_files/Vampire/westfield_mall/modules/old_train_rail_3.dmm @@ -112,7 +112,9 @@ /turf/open/floor/plating/rough/cave, /area/vtm/interior/sewer) "N" = ( -/obj/structure/ladder/manhole/up, +/obj/structure/ladder/manhole/up{ + requires_friend = 0 + }, /turf/open/floor/plating/rough/cave, /area/vtm/interior/sewer) "O" = ( From 125706b81bc907f3951d7a9cd06ae8b6843155f0 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Mon, 16 Feb 2026 02:47:22 +0000 Subject: [PATCH 247/271] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-514.yml | 4 -- html/changelogs/AutoChangeLog-pr-531.yml | 7 --- html/changelogs/AutoChangeLog-pr-563.yml | 5 --- html/changelogs/AutoChangeLog-pr-595.yml | 5 --- html/changelogs/AutoChangeLog-pr-600.yml | 11 ----- html/changelogs/AutoChangeLog-pr-629.yml | 4 -- html/changelogs/AutoChangeLog-pr-631.yml | 5 --- html/changelogs/AutoChangeLog-pr-633.yml | 8 ---- html/changelogs/AutoChangeLog-pr-638.yml | 5 --- html/changelogs/AutoChangeLog-pr-651.yml | 4 -- html/changelogs/AutoChangeLog-pr-652.yml | 5 --- html/changelogs/AutoChangeLog-pr-656.yml | 4 -- html/changelogs/AutoChangeLog-pr-657.yml | 5 --- html/changelogs/AutoChangeLog-pr-658.yml | 5 --- html/changelogs/AutoChangeLog-pr-660.yml | 4 -- html/changelogs/AutoChangeLog-pr-663.yml | 4 -- html/changelogs/AutoChangeLog-pr-665.yml | 6 --- html/changelogs/AutoChangeLog-pr-666.yml | 4 -- html/changelogs/archive/2026-02.yml | 57 ++++++++++++++++++++++++ 19 files changed, 57 insertions(+), 95 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-514.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-531.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-563.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-595.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-600.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-629.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-631.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-633.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-638.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-651.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-652.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-656.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-657.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-658.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-660.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-663.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-665.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-666.yml diff --git a/html/changelogs/AutoChangeLog-pr-514.yml b/html/changelogs/AutoChangeLog-pr-514.yml deleted file mode 100644 index 514329767447..000000000000 --- a/html/changelogs/AutoChangeLog-pr-514.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SELFHELL" -delete-after: True -changes: - - rscadd: "Pentex FIRST Team ERT" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-531.yml b/html/changelogs/AutoChangeLog-pr-531.yml deleted file mode 100644 index 6455110dc219..000000000000 --- a/html/changelogs/AutoChangeLog-pr-531.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "dwinters99, KCartridge, Major00" -delete-after: True -changes: - - rscadd: "DP Wolves" - - rscadd: "PSG1 magazine and ammo" - - code_imp: "gun code organization" - - rscadd: "undense bin" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-563.yml b/html/changelogs/AutoChangeLog-pr-563.yml deleted file mode 100644 index 4c2ec020eecd..000000000000 --- a/html/changelogs/AutoChangeLog-pr-563.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "XeonMations, yooriss, RatFromTheJungle, OrbisAnimal, FlufflesTheDog, sunnyaries" -delete-after: True -changes: - - rscadd: "Added Do emotes" - - rscadd: "Added subtle and subtler emotes" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-595.yml b/html/changelogs/AutoChangeLog-pr-595.yml deleted file mode 100644 index 7d2a3a12cdf1..000000000000 --- a/html/changelogs/AutoChangeLog-pr-595.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "FalloutFalcon" -delete-after: True -changes: - - bugfix: "mobs are now cleared from the manifest upon matrixing" - - bugfix: "matrixing clears a breacher from the masq" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-600.yml b/html/changelogs/AutoChangeLog-pr-600.yml deleted file mode 100644 index abf9ce95bdc0..000000000000 --- a/html/changelogs/AutoChangeLog-pr-600.yml +++ /dev/null @@ -1,11 +0,0 @@ -author: "FalloutFalcon" -delete-after: True -changes: - - qol: "first key checked on a door has no delay" - - bugfix: "abyss tentacles should be able to acctually make a sound as intended" - - bugfix: "fixed tranforming BP dupe" - - bugfix: "typhon brew is craftable" - - bugfix: "humanity 10 vamps wont burn in the sun (IF ENABLED VIA CONFIG)" - - image: "blood hunt skull uses its onfloor" - - code_imp: "more non-combat item interactions are no longer in attack-by" - - code_imp: "all changes in BP should update your hud" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-629.yml b/html/changelogs/AutoChangeLog-pr-629.yml deleted file mode 100644 index 5ca679870803..000000000000 --- a/html/changelogs/AutoChangeLog-pr-629.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "FalloutFalcon" -delete-after: True -changes: - - balance: "Doubles the define for TTRPG damage to represent 10 instead of 5 force" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-631.yml b/html/changelogs/AutoChangeLog-pr-631.yml deleted file mode 100644 index 681d4acc72f8..000000000000 --- a/html/changelogs/AutoChangeLog-pr-631.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "FalloutFalcon" -delete-after: True -changes: - - bugfix: "tiles next to the graveyard gate are made dense automaticly" - - refactor: "Gravekeeper gate should behavior more consistently in line with atom integrity" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-633.yml b/html/changelogs/AutoChangeLog-pr-633.yml deleted file mode 100644 index 445b527243cf..000000000000 --- a/html/changelogs/AutoChangeLog-pr-633.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "FalloutFalcon" -delete-after: True -changes: - - rscadd: "Custom dice rolling verbs for scenes and filling the gaps in unimplemented content/rolls." - - rscadd: "Most rolls now play a dice roll sound effect" - - qol: "Massively prettified the roll to_chat and fills it with useful information for rolls" - - refactor: "Some dice rolls now use a new datumized system of rolling, most use it with a wrapper through the old system so they dont gain as much new behavoir" - - balance: "Identifying artifacts only requires 3 occult but now has a roll on a scene length cooldown" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-638.yml b/html/changelogs/AutoChangeLog-pr-638.yml deleted file mode 100644 index d0a22f74a006..000000000000 --- a/html/changelogs/AutoChangeLog-pr-638.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Knightscholar" -delete-after: True -changes: - - rscadd: "Added the ability to toggle Aura Perception" - - rscdel: "Removed Industrial SFX from The Spirit's Touch" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-651.yml b/html/changelogs/AutoChangeLog-pr-651.yml deleted file mode 100644 index 5c8a84eda268..000000000000 --- a/html/changelogs/AutoChangeLog-pr-651.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "FalloutFalcon" -delete-after: True -changes: - - sound: "Makes thunder quieter" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-652.yml b/html/changelogs/AutoChangeLog-pr-652.yml deleted file mode 100644 index 03006e15b8da..000000000000 --- a/html/changelogs/AutoChangeLog-pr-652.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "FalloutFalcon" -delete-after: True -changes: - - rscadd: "Pharmacy has sutures, gauze, and mesh" - - balance: "bruise packs and ointment is cheaper" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-656.yml b/html/changelogs/AutoChangeLog-pr-656.yml deleted file mode 100644 index 3831a440a3a0..000000000000 --- a/html/changelogs/AutoChangeLog-pr-656.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "XeonMations" -delete-after: True -changes: - - code_imp: "Fixed some hard deletes" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-657.yml b/html/changelogs/AutoChangeLog-pr-657.yml deleted file mode 100644 index a50383d4d91d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-657.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "FalloutFalcon" -delete-after: True -changes: - - sound: "the canon round sound effect is 1/4 the default volume as the code intended" - - sound: "other sounds are now the intended volume" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-658.yml b/html/changelogs/AutoChangeLog-pr-658.yml deleted file mode 100644 index 4d550f9f61aa..000000000000 --- a/html/changelogs/AutoChangeLog-pr-658.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Knightscholar" -delete-after: True -changes: - - rscadd: "Hand tazers have cells in them" - - balance: "Hand tazers can hit twice per regular cell, instead of once." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-660.yml b/html/changelogs/AutoChangeLog-pr-660.yml deleted file mode 100644 index 1dbe15f57584..000000000000 --- a/html/changelogs/AutoChangeLog-pr-660.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "FalloutFalcon, dwinters99" -delete-after: True -changes: - - balance: "More melee can be stored on the belt" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-663.yml b/html/changelogs/AutoChangeLog-pr-663.yml deleted file mode 100644 index eda8cac2747a..000000000000 --- a/html/changelogs/AutoChangeLog-pr-663.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Beautiful TG coders" -delete-after: True -changes: - - code_imp: "TG Pull. Thank you TG." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-665.yml b/html/changelogs/AutoChangeLog-pr-665.yml deleted file mode 100644 index cc29e2da3757..000000000000 --- a/html/changelogs/AutoChangeLog-pr-665.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "FalloutFalcon, tzui5020, EnchantedCrocolisk" -delete-after: True -changes: - - rscadd: "New outfits have been added to the loadout and Hot Ishu inspired by the scene girl era." - - rscadd: "Three new shoes." - - rscadd: "Two new hoodies." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-666.yml b/html/changelogs/AutoChangeLog-pr-666.yml deleted file mode 100644 index d503f75529fe..000000000000 --- a/html/changelogs/AutoChangeLog-pr-666.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "XeonMations" -delete-after: True -changes: - - qol: "Made our character preferences nicer to look at." \ No newline at end of file diff --git a/html/changelogs/archive/2026-02.yml b/html/changelogs/archive/2026-02.yml index 02371a0b3f82..b6ddf6665193 100644 --- a/html/changelogs/archive/2026-02.yml +++ b/html/changelogs/archive/2026-02.yml @@ -42,3 +42,60 @@ 2026-02-09: XeonMations: - bugfix: Typhonic beasts now break the masquerade. +2026-02-16: + Beautiful TG coders: + - code_imp: TG Pull. Thank you TG. + FalloutFalcon: + - bugfix: tiles next to the graveyard gate are made dense automaticly + - refactor: Gravekeeper gate should behavior more consistently in line with atom + integrity + - rscadd: Custom dice rolling verbs for scenes and filling the gaps in unimplemented + content/rolls. + - rscadd: Most rolls now play a dice roll sound effect + - qol: Massively prettified the roll to_chat and fills it with useful information + for rolls + - refactor: Some dice rolls now use a new datumized system of rolling, most use + it with a wrapper through the old system so they dont gain as much new behavoir + - balance: Identifying artifacts only requires 3 occult but now has a roll on a + scene length cooldown + - rscadd: Pharmacy has sutures, gauze, and mesh + - balance: bruise packs and ointment is cheaper + - sound: Makes thunder quieter + - qol: first key checked on a door has no delay + - bugfix: abyss tentacles should be able to acctually make a sound as intended + - bugfix: fixed tranforming BP dupe + - bugfix: typhon brew is craftable + - bugfix: humanity 10 vamps wont burn in the sun (IF ENABLED VIA CONFIG) + - image: blood hunt skull uses its onfloor + - code_imp: more non-combat item interactions are no longer in attack-by + - code_imp: all changes in BP should update your hud + - bugfix: mobs are now cleared from the manifest upon matrixing + - bugfix: matrixing clears a breacher from the masq + - sound: the canon round sound effect is 1/4 the default volume as the code intended + - sound: other sounds are now the intended volume + - balance: Doubles the define for TTRPG damage to represent 10 instead of 5 force + FalloutFalcon, dwinters99: + - balance: More melee can be stored on the belt + FalloutFalcon, tzui5020, EnchantedCrocolisk: + - rscadd: New outfits have been added to the loadout and Hot Ishu inspired by the + scene girl era. + - rscadd: Three new shoes. + - rscadd: Two new hoodies. + Knightscholar: + - rscadd: Hand tazers have cells in them + - balance: Hand tazers can hit twice per regular cell, instead of once. + - rscadd: Added the ability to toggle Aura Perception + - rscdel: Removed Industrial SFX from The Spirit's Touch + SELFHELL: + - rscadd: Pentex FIRST Team ERT + XeonMations: + - qol: Made our character preferences nicer to look at. + - code_imp: Fixed some hard deletes + XeonMations, yooriss, RatFromTheJungle, OrbisAnimal, FlufflesTheDog, sunnyaries: + - rscadd: Added Do emotes + - rscadd: Added subtle and subtler emotes + dwinters99, KCartridge, Major00: + - rscadd: DP Wolves + - rscadd: PSG1 magazine and ammo + - code_imp: gun code organization + - rscadd: undense bin From 04373a6648cb2c991887eecc4a8f730b527d0c7a Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Mon, 16 Feb 2026 07:53:06 -0600 Subject: [PATCH 248/271] Lasombra tech bane and other tech interactions (#654) ## About The Pull Request Readds most the old tech bane interactions. Though uses apoc's edit for the computers that means its just a do_after rather then a hard lockout pending a more interesting implementation. image image ## Why It's Good For The Game ## Changelog :cl: add: Readds old interactions of Lasombra's tech bane balance: Computers require at-least 1 dot in computer to not have a do_after qol: Candles last a full hour /:cl: --- code/game/machinery/_machinery.dm | 34 +++++++++++++++++++ code/game/machinery/computer/_computer.dm | 5 +++ .../machinery/computer/operating_computer.dm | 4 +++ code/game/objects/items/devices/flashlight.dm | 2 +- .../game/objects/items/devices/radio/radio.dm | 5 +++ .../chemistry/machinery/chem_dispenser.dm | 6 ++++ .../modules/computers/code/computer.dm | 11 ++++++ .../mob_affecting_adjustments/mob_procs.dm | 12 +++++-- .../code/st_stats/default_abilities.dm | 18 +++++++++- .../vampire_clan/clans/lasombra/lasombra.dm | 24 +++++++++++++ 10 files changed, 117 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 47d76b9c9c7a..6dd1f6a4b129 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -153,6 +153,14 @@ ///What was our power state the last time we updated its appearance? ///TRUE for on, FALSE for off, -1 for never checked var/appearance_power_state = -1 + // DARKPACK EDIT ADD START - STORYTELER_STATS + /// Stat define/typepath required for use of this device. No check if null + var/datum/st_stat/skill_required_for_use + // 0 minimum means you have to have an active DEBUFF rather then just no dots. + // As this would otherwise be insanely frustating to apply to all devices and not representive of the tech skill. + /// You need ATLEAST this many dots in a skill to use. + var/skill_dots_minimum = 0 + // DARKPACK EDIT ADD END /datum/armor/obj_machinery melee = 25 @@ -694,6 +702,32 @@ //Return a non FALSE value to interrupt attack_hand propagation to subtypes. /obj/machinery/interact(mob/user) + // DARKPACK EDIT ADD START - STORYTELER_STATS + // Likely worth making a dice roll after #633 + if(isliving(user) && skill_required_for_use) + var/mob/living/living_user = user + var/bad_at_device = FALSE + + var/dots = living_user.st_get_stat(skill_required_for_use) + if(dots < skill_dots_minimum) + to_chat(user, span_warning("[src] requires atleast [skill_dots_minimum] dots in [skill_required_for_use::name] for proper use.")) + bad_at_device = TRUE + if(CONFIG_GET(flag/punishing_zero_dots) && dots <= 0) + return + + /* I cant verify the lore accuracy of "rejection past your embrace age" and we dont have a invention date for tech to represent it either + if(skill_dots_minimum > 0 && HAS_TRAIT(user, TRAIT_REJECTED_BY_TECHNOLOGY)) + if(skill_required_for_use in list(STAT_COMPUTER, STAT_TECHNOLOGY)) + bad_at_device = TRUE + */ + + if(bad_at_device) + to_chat(user, span_warning("You start interacting with [src]. Confounded device...")) + if(!do_after(user, 1 TURNS, src)) + to_chat(user, span_warning("Bah! You didn't need [src] anyways.")) + return TRUE + // DARKPACK EDIT ADD END + update_last_used(user) return ..() diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 6aa336834121..502c664c17db 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -7,6 +7,11 @@ integrity_failure = 0.5 armor_type = /datum/armor/machinery_computer interaction_flags_machine = INTERACT_MACHINE_ALLOW_SILICON|INTERACT_MACHINE_REQUIRES_LITERACY + // DARKPACK EDIT ADD START - STORYTELER_STATS + skill_required_for_use = STAT_COMPUTER + // V20 p. 108 says for 1 dot "Student: You can navigate touch-screen and traditional point-and-click GUIs" + skill_dots_minimum = 1 + // DARKPACK EDIT ADD END /// How bright we are when turned on. var/brightness_on = 1 /// Icon_state of the keyboard overlay. diff --git a/code/game/machinery/computer/operating_computer.dm b/code/game/machinery/computer/operating_computer.dm index e31d028d95f1..688bcca26713 100644 --- a/code/game/machinery/computer/operating_computer.dm +++ b/code/game/machinery/computer/operating_computer.dm @@ -10,6 +10,10 @@ interaction_flags_machine = parent_type::interaction_flags_machine | INTERACT_MACHINE_REQUIRES_STANDING light_color = LIGHT_COLOR_GREEN + // DARKPACK EDIT ADD START - STORYTELER_STATS + skill_required_for_use = STAT_MEDICINE + skill_dots_minimum = 1 + // DARKPACK EDIT ADD END /// Linked operating table, if any var/obj/structure/table/optable/table diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 142c770ec113..8bc39d0f1443 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -587,7 +587,7 @@ light_range = 2 light_power = 1.5 light_color = LIGHT_COLOR_FIRE - fuel = 35 MINUTES + fuel = 1 HOURS // DARKPACK EDIT CHANGE - (QOL for longer candles) randomize_fuel = FALSE trash_type = /obj/item/trash/candle can_be_extinguished = TRUE diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 4553b809aaca..a5b675703afa 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -288,6 +288,11 @@ if(SEND_SIGNAL(src, COMSIG_RADIO_NEW_MESSAGE, talking_movable, message, channel) & COMPONENT_CANNOT_USE_RADIO) return NONE + // DARKPACK EDIT ADD START + if(talking_movable && HAS_TRAIT(talking_movable, TRAIT_REJECTED_BY_TECHNOLOGY)) + message = scramble_lasombra_message(message, talking_movable) + // DARKPACK EDIT ADD END + if(!spans) spans = list(talking_movable.speech_span) if(!language) diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index e6cc4ebb86d5..a2dbaf3860e5 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -9,6 +9,10 @@ resistance_flags = FIRE_PROOF | ACID_PROOF circuit = /obj/item/circuitboard/machine/chem_dispenser processing_flags = NONE + // DARKPACK EDIT ADD START - STORYTELER_STATS + skill_required_for_use = STAT_SCIENCE + skill_dots_minimum = 1 + // DARKPACK EDIT ADD END /// The cell used to dispense reagents var/obj/item/stock_parts/power_store/cell @@ -633,6 +637,8 @@ ) base_reagent_purity = 0.5 + skill_required_for_use = null // DARKPACK EDIT ADD - STORYTELER_STATS + /obj/machinery/chem_dispenser/drinks/Initialize(mapload) if(dispensable_reagents != null && !dispensable_reagents.len) dispensable_reagents = drinks_dispensable_reagents diff --git a/modular_darkpack/modules/computers/code/computer.dm b/modular_darkpack/modules/computers/code/computer.dm index 4fe138f09ffb..9fa5424129a6 100644 --- a/modular_darkpack/modules/computers/code/computer.dm +++ b/modular_darkpack/modules/computers/code/computer.dm @@ -51,6 +51,17 @@ GLOBAL_LIST_EMPTY(vampire_computers) /obj/vampire_computer/attack_hand(mob/user) . = ..() + /* I cant verify the lore accuracy of "rejection past your embrace age" and we dont have a invention date for tech to represent it either + var/bad_at_computers = FALSE + if(isliving(user)) + var/mob/living/living_user = user + bad_at_computers = (living_user.st_get_stat(STAT_COMPUTER) < 1) || HAS_TRAIT(user, TRAIT_REJECTED_BY_TECHNOLOGY) + if(bad_at_computers) + to_chat(user, span_warning("You start interacting with [src]. Confounded machine...")) + if(!do_after(user, 1 TURNS, src)) + to_chat(user, span_warning("Bah! You didn't need the machine anyways.")) + return + */ ui_interact(user) /obj/vampire_computer/Destroy() diff --git a/modular_darkpack/modules/storyteller_stats/code/mob_affecting_adjustments/mob_procs.dm b/modular_darkpack/modules/storyteller_stats/code/mob_affecting_adjustments/mob_procs.dm index 1c0ea38d3bd1..4bf56f68f8b8 100644 --- a/modular_darkpack/modules/storyteller_stats/code/mob_affecting_adjustments/mob_procs.dm +++ b/modular_darkpack/modules/storyteller_stats/code/mob_affecting_adjustments/mob_procs.dm @@ -1,9 +1,17 @@ -// Get a specific mob's stat from its stats list. +/// Get a specific mob's stat from its stats list. /mob/living/proc/st_get_stat(stat_path, include_bonus) var/datum/st_stat/given_stat = storyteller_stats["[stat_path]"] return given_stat?.get_score(include_bonus) -// Set a specific mob's stat from its stats list. +/// Wrapper for st_get_stat to reduce copypaste. Get a specific mob's stat from its stats list. +/mob/living/proc/st_get_stats(list/stat_list, include_bonus) + var/total_score = 0 + for(var/stat_path in stat_list) + var/datum/st_stat/given_stat = storyteller_stats["[stat_path]"] + total_score += given_stat?.get_score(include_bonus) + return total_score + +/// Set a specific mob's stat from its stats list. /mob/living/proc/st_set_stat(stat_path, amount) var/datum/st_stat/given_stat = storyteller_stats["[stat_path]"] return given_stat?.set_score(amount) diff --git a/modular_darkpack/modules/storyteller_stats/code/st_stats/default_abilities.dm b/modular_darkpack/modules/storyteller_stats/code/st_stats/default_abilities.dm index 501fca922bc3..458393434c59 100644 --- a/modular_darkpack/modules/storyteller_stats/code/st_stats/default_abilities.dm +++ b/modular_darkpack/modules/storyteller_stats/code/st_stats/default_abilities.dm @@ -109,7 +109,17 @@ /datum/st_stat/ability/computer subcategory = "Knowledges" name = "Computer" - description = "Affects your ability to use and interact with computerized devices. At 0 points, you won't be able to use a phone. At 1 point, you can use a phone, but not a computer." + /* V20 p. 108 + This Knowledge represents the ability to operate and program computers, including mobile devices. + Most Computer use also imparts a degree of Internet awareness (if not savvy). + */ + description = "Affects your ability to use and interact with computerized devices." + +// This kinda sucks dick to do for every stat. +/datum/st_stat/ability/computer/New() + . = ..() + if(CONFIG_GET(flag/punishing_zero_dots)) + description += " At 0 points, you won't be able to use a computer." /datum/st_stat/ability/finance subcategory = "Knowledges" @@ -149,4 +159,10 @@ /datum/st_stat/ability/technology subcategory = "Knowledges" name = "Technology" + /* V20 p. 110 + The Technology Knowledge represents a broad acumen with electronics, computer hardware, and devices more elaborate than “machines,” which fall under the Crafts Skill. + If it has a processor, a transistor, or an integrated circuit — if it’s electronic rather than electrical manipulating it uses the Technology Knowledge. + This is the wide-ranging Ability used to build one’s own computer, install (or subvert) a security system, repair a mobile phone, or kitbash a shortwave radio. + You must always choose a specialization in Technology, even though you possess some skill in multiple fields. + */ description = "Affects your character's familiarity with machines, devices, and electrical systems." diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/lasombra/lasombra.dm b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/lasombra/lasombra.dm index b454fddcf9bf..4a4465184637 100644 --- a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/lasombra/lasombra.dm +++ b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/lasombra/lasombra.dm @@ -23,3 +23,27 @@ H.vis_flags |= VIS_HIDE H.add_faction(VAMPIRE_CLAN_LASOMBRA) + +// Not TTRPG accurate and is pending a rework to use real rolls after #633 +/proc/scramble_lasombra_message(message, mob/living/lasombra) + var/static/list/zalgo_letters = list( + "̨a", "̡b", "̢c", "̷d", "̶e", "̸f", "̹g", "̺h", "̻i", + "̼j", "̽k", "̾l", "̿m", "͈n", "͍o", "͎p", "q", "͕r", + "͓s", "͒t", "̱u", "̲v", "̳w", "͡x", "̨y", "̨z", "̨A", + "̨B", "̨C", "̨D", "̨E", "̨F", "̨G", "̨H", "̨I", "̨J", + "̨K", "̨L", "̨M", "̨N", "̨O", "̨P", "̨Q", "̨R", "̨S", + "̨T", "̨U", "̨V", "̨W", "̨X", "̨Y", "̨Z" + ) + var/gibberish_message = "" + var/total_stats = 0 + if(istype(lasombra)) + total_stats = lasombra.st_get_stat(STAT_TECHNOLOGY) * 3 // +3% chance per tech. 15 max, 18 avg, 24 beauty.9 + for(var/i = 1 to length(message)) + var/char = message[i] + // Randomize or replace characters with gibberish + var/chance = 70 + total_stats // 70% + total_stats chance per point of social to keep intact. + if(prob(chance)) + gibberish_message += char + else + gibberish_message += pick(zalgo_letters) // Replace with random gibberish letters + return gibberish_message From d8ddc4862d205e13bc0426e2d20a894cdb420ef2 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Mon, 16 Feb 2026 07:54:20 -0600 Subject: [PATCH 249/271] Blood power behavior improvements (#619) ## About The Pull Request requires #617 Removes the limb bonuses as they are now handled by the strength and brawl stats (and this grants strength) Allows you to set how many turns the ability is active for, as it cant be 1 turn by default as that's way to short for combat. Up to to a full turn (tho idk where you would get the BP for that) Default is 2 turns to replicate old behavior. implements the ttrpg accurate behavior of (similar to blood heal) setting to amount of blood uses for the ability which corralates to your gen, giving you a greater buff. (this also is a light nerf as it used to be +2 but not all gens can use that much) converts the hungry trait and the effect of bloodstar artifact to modifers of BP cost. removed discipline duration affected blood power as despite in bloodlines it working together, Blood power is NOT a disc. ## Why It's Good For The Game More TTRPG accurate. Tho with how it now interacts. It might be worth making it a proper disc similar to blood heal at some point. ## Changelog :cl: qol: you can set how many turns blood power is active for with right click balance: bonus to damage from bloodpower is based entirely on the stat buffs it grants balance: allows you to set buff granted by blood power according to your gen spending limit /:cl: --- code/__DEFINES/~darkpack/combat.dm | 1 + .../code/modules/mob/living/living_defines.dm | 2 +- .../code/artifacts/bloodstar.dm | 6 +- .../code/discipline/__discipline_power.dm | 2 +- .../code/discipline/bloodheal/bloodheal.dm | 2 +- .../code/blood_power.dm | 73 +++++++++++++----- .../sounds/bloodhealing.ogg | Bin 7 files changed, 60 insertions(+), 26 deletions(-) rename modular_darkpack/modules/{deprecated => vampire_the_masquerade}/sounds/bloodhealing.ogg (100%) diff --git a/code/__DEFINES/~darkpack/combat.dm b/code/__DEFINES/~darkpack/combat.dm index 779ae82daa41..d1caf45a02a7 100644 --- a/code/__DEFINES/~darkpack/combat.dm +++ b/code/__DEFINES/~darkpack/combat.dm @@ -3,6 +3,7 @@ #define TURNS * 5 SECONDS ///Duration of one "scene", which is 3 minutes according to us #define SCENES * 3 MINUTES +#define TURNS_PER_SCENE ((1 SCENES) / (1 TURNS)) // To eyeball damage as its calcuated in the ttrpg #define TTRPG_DAMAGE * 10 diff --git a/modular_darkpack/master_files/code/modules/mob/living/living_defines.dm b/modular_darkpack/master_files/code/modules/mob/living/living_defines.dm index c2910fff93f8..318ed24e6997 100644 --- a/modular_darkpack/master_files/code/modules/mob/living/living_defines.dm +++ b/modular_darkpack/master_files/code/modules/mob/living/living_defines.dm @@ -6,7 +6,7 @@ var/list/drunked_of = list() var/discipline_time_plus = 0 - var/bloodpower_time_plus = 0 + var/blood_efficiency = 1 var/thaum_damage_plus = 0 var/resistant_to_disciplines = FALSE diff --git a/modular_darkpack/modules/occult_artifacts/code/artifacts/bloodstar.dm b/modular_darkpack/modules/occult_artifacts/code/artifacts/bloodstar.dm index 33b31c28999c..f8f5e58d45ec 100644 --- a/modular_darkpack/modules/occult_artifacts/code/artifacts/bloodstar.dm +++ b/modular_darkpack/modules/occult_artifacts/code/artifacts/bloodstar.dm @@ -1,13 +1,13 @@ /obj/item/vtm_artifact/bloodstar true_name = "Bloodstar" - true_desc = "Increases Bloodpower duration." + true_desc = "Increases Bloodpower efficiency." icon_state = "bloodstar" research_value = 10 /obj/item/vtm_artifact/bloodstar/get_powers() . = ..() - owner.bloodpower_time_plus = 50 + owner.blood_efficiency = 0.8 /obj/item/vtm_artifact/bloodstar/remove_powers() . = ..() - owner.bloodpower_time_plus = 0 + owner.blood_efficiency = 1 diff --git a/modular_darkpack/modules/powers/code/discipline/__discipline_power.dm b/modular_darkpack/modules/powers/code/discipline/__discipline_power.dm index 13a0d14b5dd0..e61c6b3da141 100644 --- a/modular_darkpack/modules/powers/code/discipline/__discipline_power.dm +++ b/modular_darkpack/modules/powers/code/discipline/__discipline_power.dm @@ -507,7 +507,7 @@ if (toggled && (duration_length == 0)) return - //REFACTOR ME + // DARKPACK TODO - (REFACTOR ME) var/full_duration_length = duration_length + owner.discipline_time_plus duration_timers.Add(addtimer(CALLBACK(src, PROC_REF(duration_expire), target), full_duration_length, TIMER_STOPPABLE | TIMER_DELETE_ME)) diff --git a/modular_darkpack/modules/powers/code/discipline/bloodheal/bloodheal.dm b/modular_darkpack/modules/powers/code/discipline/bloodheal/bloodheal.dm index c85c717a1785..967697b69ff2 100644 --- a/modular_darkpack/modules/powers/code/discipline/bloodheal/bloodheal.dm +++ b/modular_darkpack/modules/powers/code/discipline/bloodheal/bloodheal.dm @@ -12,7 +12,7 @@ name = "Bloodheal power name" desc = "Bloodheal power description" - activate_sound = 'modular_darkpack/modules/deprecated/sounds/bloodhealing.ogg' + activate_sound = 'modular_darkpack/modules/vampire_the_masquerade/sounds/bloodhealing.ogg' level = 1 check_flags = DISC_CHECK_TORPORED diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/blood_power.dm b/modular_darkpack/modules/vampire_the_masquerade/code/blood_power.dm index eccf09a22f21..b49b8a0ad234 100644 --- a/modular_darkpack/modules/vampire_the_masquerade/code/blood_power.dm +++ b/modular_darkpack/modules/vampire_the_masquerade/code/blood_power.dm @@ -6,9 +6,15 @@ background_icon = 'modular_darkpack/master_files/icons/mob/actions/backgrounds.dmi' background_icon_state = "bg_discipline" check_flags = AB_CHECK_HANDS_BLOCKED | AB_CHECK_IMMOBILE | AB_CHECK_LYING | AB_CHECK_CONSCIOUS - cooldown_time = 10 SECONDS + cooldown_time = 1 TURNS vampiric = TRUE + /// How much the ability costs to activate per "turn" + var/bp_per_turns = 1 + var/stat_buff_amount = 1 + // Activated for two "turns" as 5 seconds is acctually pretty short. Opens to door to let players set how long they are declaring it active for. + /// How many "turns" its activated for. Multiplies the blood cost. + var/turns_activated = 2 var/datum/armor/old_armor var/list/obj/item/bodypart/strengthened_limbs @@ -26,42 +32,45 @@ return FALSE var/mob/living/carbon/human/human_owner = owner - var/cost = HAS_TRAIT(human_owner, TRAIT_HUNGRY) ? 3 : 2 - if (human_owner.bloodpool < cost) + if (human_owner.bloodpool < current_bp_cost(human_owner)) if (feedback) SEND_SOUND(human_owner, sound('modular_darkpack/modules/deprecated/sounds/need_blood.ogg', volume = 75)) owner.balloon_alert(owner, "not enough BLOOD!") return FALSE /datum/action/cooldown/blood_power/Activate(mob/living/target) - cooldown_time = 10 SECONDS + target.discipline_time_plus + target.bloodpower_time_plus + cooldown_time = turns_activated TURNS . = ..() + if(!ishuman(owner)) + return var/mob/living/carbon/human/human_owner = owner - playsound(usr, 'modular_darkpack/modules/deprecated/sounds/bloodhealing.ogg', 50, FALSE) + playsound(usr, 'modular_darkpack/modules/vampire_the_masquerade/sounds/bloodhealing.ogg', 50, FALSE) to_chat(human_owner, span_notice("You use blood to become more powerful.")) - for (var/obj/item/bodypart/limb in human_owner.bodyparts) - limb.unarmed_damage_low += 5 - limb.unarmed_damage_high += 5 - LAZYADD(strengthened_limbs, limb) - + // DARKPACK TODO - This can be represented by having stam do anything old_armor = human_owner.physiology.armor human_owner.physiology.armor = old_armor.generate_new_with_modifiers(list(MELEE = 15, BULLET = 15)) - human_owner.st_add_stat_mod(STAT_STRENGTH, 2, "blood_power") - human_owner.st_add_stat_mod(STAT_DEXTERITY, 2, "blood_power") - human_owner.st_add_stat_mod(STAT_STAMINA, 2, "blood_power") + human_owner.st_add_stat_mod(STAT_STRENGTH, stat_buff_amount, "blood_power") + human_owner.st_add_stat_mod(STAT_DEXTERITY, stat_buff_amount, "blood_power") + human_owner.st_add_stat_mod(STAT_STAMINA, stat_buff_amount, "blood_power") - var/cost = HAS_TRAIT(owner, TRAIT_HUNGRY) ? 3 : 2 - human_owner.adjust_blood_pool(-cost) + human_owner.adjust_blood_pool(-current_bp_cost(human_owner)) ADD_TRAIT(human_owner, TRAIT_IGNORESLOWDOWN, MAGIC_TRAIT) addtimer(CALLBACK(src, PROC_REF(end_bloodpower)), cooldown_time) +/datum/action/cooldown/blood_power/proc/current_bp_cost(mob/living/carbon/human/human_owner) + var/cost = bp_per_turns * turns_activated * stat_buff_amount + if(HAS_TRAIT(human_owner, TRAIT_HUNGRY)) + cost = round(cost * 1.5) + cost = round(cost * human_owner.blood_efficiency) + return cost + /datum/action/cooldown/blood_power/proc/end_bloodpower() if (!owner || !ishuman(owner)) return @@ -69,11 +78,6 @@ var/mob/living/carbon/human/human_owner = owner to_chat(human_owner, span_warning("You feel like your BLOOD power slowly decreases.")) - for (var/obj/item/bodypart/limb in strengthened_limbs) - limb.unarmed_damage_low -= 5 - limb.unarmed_damage_high -= 5 - strengthened_limbs = null - human_owner.physiology.armor = old_armor human_owner.st_remove_stat_mod(STAT_STRENGTH, "blood_power") @@ -81,3 +85,32 @@ human_owner.st_remove_stat_mod(STAT_STAMINA, "blood_power") REMOVE_TRAIT(human_owner, TRAIT_IGNORESLOWDOWN, MAGIC_TRAIT) + +/datum/action/cooldown/blood_power/proc/set_usage() + var/turns = tgui_input_number(owner, "Set turns ([1 TURNS / 10] seconds per turn) to use blood for.", "Set Bloodpower Turns", turns_activated, TURNS_PER_SCENE, 1) + if(turns) + turns_activated = turns + var/datum/splat/vampire/kindred/kindred_splat = iskindred(owner) + if(!kindred_splat) + return + // Realising this is reimplenting very similar behavior to discs and could possibly just be typed under it. + var/max_buff_amount = kindred_splat.vitae_spending_rate + if(max_buff_amount <= 1) // No reason to prompt them if they only have one option + return + stat_buff_amount = clamp(stat_buff_amount, 0, max_buff_amount) + var/stat_buff_input = tgui_input_number(owner, "Set amount of dice to add for usage. (Max based on your generation)", "Set Buff Bonus", stat_buff_amount, max_buff_amount, 1) + if(stat_buff_input) + stat_buff_amount = stat_buff_input + +// DARKPACK TODO - (Refactor. Both this and discs should prob just have a subtype for /action_button) +/atom/movable/screen/movable/action_button/Click(location, control, params) + if(istype(linked_action, /datum/action/cooldown/blood_power)) + var/list/modifiers = params2list(params) + + //increase on right click, decrease on shift right click + if(LAZYACCESS(modifiers, RIGHT_CLICK)) + var/datum/action/cooldown/blood_power/bp_action = linked_action + bp_action.set_usage() + return + //TODO: middle click to swap loadout + . = ..() diff --git a/modular_darkpack/modules/deprecated/sounds/bloodhealing.ogg b/modular_darkpack/modules/vampire_the_masquerade/sounds/bloodhealing.ogg similarity index 100% rename from modular_darkpack/modules/deprecated/sounds/bloodhealing.ogg rename to modular_darkpack/modules/vampire_the_masquerade/sounds/bloodhealing.ogg From e4b4773f8dc2b461a3372d287c5cf56da931b304 Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Mon, 16 Feb 2026 14:08:05 +0000 Subject: [PATCH 250/271] Automatic changelog for PR #654 [ci skip] --- html/changelogs/AutoChangeLog-pr-654.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-654.yml diff --git a/html/changelogs/AutoChangeLog-pr-654.yml b/html/changelogs/AutoChangeLog-pr-654.yml new file mode 100644 index 000000000000..dc9b3f3305e9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-654.yml @@ -0,0 +1,6 @@ +author: "FalloutFalcon" +delete-after: True +changes: + - rscadd: "Readds old interactions of Lasombra's tech bane" + - balance: "Computers require at-least 1 dot in computer to not have a do_after" + - qol: "Candles last a full hour" \ No newline at end of file From 18b56d1d352d7dc9fc07208f024d4aa24539433e Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Mon, 16 Feb 2026 14:08:21 +0000 Subject: [PATCH 251/271] Automatic changelog for PR #619 [ci skip] --- html/changelogs/AutoChangeLog-pr-619.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-619.yml diff --git a/html/changelogs/AutoChangeLog-pr-619.yml b/html/changelogs/AutoChangeLog-pr-619.yml new file mode 100644 index 000000000000..d7d8de36391b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-619.yml @@ -0,0 +1,6 @@ +author: "FalloutFalcon" +delete-after: True +changes: + - qol: "you can set how many turns blood power is active for with right click" + - balance: "bonus to damage from bloodpower is based entirely on the stat buffs it grants" + - balance: "allows you to set buff granted by blood power according to your gen spending limit" \ No newline at end of file From d03434b19a7f52c184b0e935cf0cb3775be7ac1c Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Mon, 16 Feb 2026 08:07:12 -0600 Subject: [PATCH 252/271] Phone visual improvments (#668) ## About The Pull Request Gives phones a real onfloor. The old one was the inhand but centered, so it was quite out of perspective. Adds a little particle generator for ringing. ## Why It's Good For The Game Better ## Changelog :cl: add: Particle effect when phones are ringing image: Tweaks smartphone onworld /:cl: --- .../modules/phones/code/_phone.dm | 5 +++++ .../modules/phones/code/phone_effects.dm | 17 +++++++++++++++++ .../modules/phones/code/phone_procs.dm | 4 ++++ .../modules/phones/icons/lefthand.dmi | Bin 721 -> 1142 bytes .../modules/phones/icons/phone.dmi | Bin 5118 -> 6265 bytes .../modules/phones/icons/phone_onfloor.dmi | Bin 1133 -> 695 bytes .../modules/phones/icons/righthand.dmi | Bin 711 -> 1113 bytes .../modules/phones/sounds/phone.ogg | Bin 0 -> 11173 bytes .../modules/phones/sounds/phonestop.ogg | Bin 0 -> 23161 bytes tgstation.dme | 1 + 10 files changed, 27 insertions(+) create mode 100644 modular_darkpack/modules/phones/code/phone_effects.dm create mode 100644 modular_darkpack/modules/phones/sounds/phone.ogg create mode 100644 modular_darkpack/modules/phones/sounds/phonestop.ogg diff --git a/modular_darkpack/modules/phones/code/_phone.dm b/modular_darkpack/modules/phones/code/_phone.dm index 9b5ad1c48adb..059c9a96152f 100644 --- a/modular_darkpack/modules/phones/code/_phone.dm +++ b/modular_darkpack/modules/phones/code/_phone.dm @@ -43,6 +43,8 @@ var/ringer = TRUE // If the phone shows balloon alerts when ringing. var/vibration = TRUE + // Passive particle effect generation for when on call + var/obj/effect/abstract/particle_holder/particle_generator // If the phone's microphone is muted. var/muted = FALSE // ID of the timer that the phone uses for ringing. Deleted once the user denies a phone call or misses it. @@ -115,6 +117,9 @@ if(our_contact.number == sim_card.phone_number) contact_network.contacts -= our_contact + if(particle_generator) + QDEL_NULL(particle_generator) + lose_hearing_sensitivity(ROUNDSTART_TRAIT) UnregisterSignal(src, COMSIG_MOVABLE_HEAR) if(sim_card) diff --git a/modular_darkpack/modules/phones/code/phone_effects.dm b/modular_darkpack/modules/phones/code/phone_effects.dm new file mode 100644 index 000000000000..0eddabad1ceb --- /dev/null +++ b/modular_darkpack/modules/phones/code/phone_effects.dm @@ -0,0 +1,17 @@ +/particles/phone_ringing + icon = 'modular_darkpack/modules/phones/icons/phone.dmi' + icon_state = list("note" = 1) + width = 32 + height = 48 + count = 5 + spawning = 0.5 + lifespan = 2 SECONDS + fade = 1.5 SECONDS + gravity = list(0, 0.1) + position = generator(GEN_SPHERE, 0, 16, NORMAL_RAND) + spin = generator(GEN_NUM, -1, 1, NORMAL_RAND) + + +/obj/item/smartphone/proc/setup_particles() + if(!particle_generator) + particle_generator = new(src, /particles/phone_ringing, PARTICLE_ATTACH_MOB) diff --git a/modular_darkpack/modules/phones/code/phone_procs.dm b/modular_darkpack/modules/phones/code/phone_procs.dm index 7b4f4d54c4dc..1e1bd7d7f5f2 100644 --- a/modular_darkpack/modules/phones/code/phone_procs.dm +++ b/modular_darkpack/modules/phones/code/phone_procs.dm @@ -57,10 +57,14 @@ incoming_phone_number = null if(current_state == PHONE_RINGING) START_PROCESSING(SSprocessing, src) + if(ringer) + setup_particles() if(current_state == PHONE_IN_CALL || current_state == PHONE_AVAILABLE) if(phone_ringing_timer) deltimer(phone_ringing_timer) + if(particle_generator) + QDEL_NULL(particle_generator) STOP_PROCESSING(SSprocessing, src) /obj/item/smartphone/proc/check_missing_sim_card(mob/user) diff --git a/modular_darkpack/modules/phones/icons/lefthand.dmi b/modular_darkpack/modules/phones/icons/lefthand.dmi index af0ff54ee435b96eef1b029ea45f7b833fe0be7a..9092e1da6f77921fcca02a872ac80db9a72b906a 100644 GIT binary patch literal 1142 zcmeAS@N?(olHy`uVBq!ia0vp^3xK$RgAGXbBqvD&sk*9=h!U67;^d;tf|AVqJO+k} zIl*BCMWx@r1Q&e#`b5iHSL@uF^T8WJ4K5l#c%*aQNAn~@QBUs<3*#W;%f?;`a~@4P zGATqMc%_1}y?$tCx3TKx6%tE;^jZx=bI~JaF2SPn=ew^tG)Lr7=&|SGOC}{4$c1ZY z@A$Q|!I_caouprRpx~)y1_tKMo-U3d6?5L+*`F<(D0BSd@}n0uS*{%Q)8iH0*ldyE zaKW)qYpzS6xcbHV!>%Ig;<7GQ9jkYkUUZcC)2O)gAE(oc2Rd{9vdM8CjnOYZKlyy| z^zYnFl8^3A-fh0qc+&b}pl6YR1FQEdR+Eca%P0SQZhctsxW)0JGrhMvKlB^bn;)C? zEHQt}^ILDrw!96uT=zL7Wo{tT7wg_yC9#>Z;nw>!KRy3{@l)XSyL;yUzV(3dR$s84 zg< zZG*>~y|=3WefoO&hv4Ub=ii@h>fhSGNoQB_{`or|ew+5&_}4U`;p`_CMcP-_{kh}U zw6aR6reo#(3+IdH*2PagZq@qu@%n}|6RF<+XQIQWF#P>2!sl^$Y1y9OXnv?iZTD%2 zy#8ACO4Y;l@BV}b1}q$!Of4dePF)O&t_>5E96SUSmT(9JVH56KAuhnY|J?fimGc`` zo}YI*I7KHyv~=eAaQ5CmEILMFYqYrkyt+O8UDcJnFZNb`wTiYazV)`||3kCI^`x5gXGPUtu-{p?%o;2gmqPIei-!IIuyWd`C|MIt{ zz4L|>5gWAB+$Y?P{r@!2{+{mM`4{ZHr1;n(({pui{NDEV=X1sFuSIVueEzxYeRh#p z+|0jid>gK2^u1*|+r{sFW^5!c5LCm&B`&GO$wiq3C7Jno3=9>F zrMdfmX ze{k#4r3;t+Vz?;c`Xt5Msqcb*@Pd+sd&1CHvy0 z&d=^+U9e-5S`%N&70bmI{&!j>({&hrZCyM6;p84ppmT^p+0*22ZLn7~X^3OI`?gk^ zeS!MFn!GrhP(GK(?}QpW{pvEmfBF7n_0z6((ev#X_Ok5#_bEf9Nh(?`T&%kL{G(+v z<^JfMVVk(0qwuYN!LgkIUyCdB8#uo+|GmFbJudarzm|>u8MkGWPU_(}(^ttx$at{e64V@~?aid5eqG7DtG^V|UPX zjMsW{B=oHW!`vw6_3Ck=*N-3mAoS&MlK-3d9oLjxtUh?wo!|d2`fxR4&K~)Q|1C+s id1t!2AYv+Qy?pZ&nS$9K-#dY6l)=;0&t;ucLK6VZxE-7T diff --git a/modular_darkpack/modules/phones/icons/phone.dmi b/modular_darkpack/modules/phones/icons/phone.dmi index cd47b2b544cf5559070442bf2b531bfe3a689173..c9028cddfae1906ccae4485a628a5925004b83aa 100644 GIT binary patch literal 6265 zcmaiZcQhPMw7(!$gs@7KgjEtH#Uk1lQCDA!Xdy~;i59)?5(Lp(gs9Q`3Zg7lwCKIp zO|;b$cC}^s`JVSX@16JFAMcNuJM+1B=FB}a_jB(#^HB$;N<+m)MM6SCqpk*daV>NI zZIl$(ee{U^(`zx}um92$V(Ve;{^p(M8&?++65q^EN$pgjLe$|SdwPtm{W{pVW@=mC zG^Eh>prP@M+AHzEbA#vnN?-FCFT;>Q;|U2_Q69$ME?$gFI85YOsiy8(X~;TTf4F@t z@Q`#qqFV3ulZIb5bUNd8^OEU0?lTuRLx)Z8KKK)X7mU5@gP6Oeufrod^EByZ-#IY5 z-HBb)kZcy@-Knp%3b<4-)Ab9fLh%`EB5*8Y`sM_b6#!i+rI!;VPPaeBT+)^f zH?TR8+E{me^$>o;3E3b}TV$O>Lc(mT4pGqe&D_hnmBKjH`V-vzggc{ygp`7%p7K!? zZ>PwYweCpOTlDliQEpo1zgXM5x>{a~4tS7d0}koMgxRd==^u84-dDC@fk5&on1E@l zVO+cCaYEF@?ehJgk-dcz!=>&7D?CF*Kf_a^Bsyuy;|7Lm^tAQAuGFsS5S`WCg^69f4aQiNkBF@ahV0#B(ev+ zRAklht`^DHl4i2o`Hi>bBb571er9!E`?l&gF@il%{Wuxy8QiGoIk;h4N2`=cE(brb z3CP;?65foq!->pqC%60jz#m|fpOCEt_r1Q5;rg<-DqhJd?c0^b;Z@W`I`mI$E%w%d zjVpA^+FynnE;6g;l1(>cI92x0dRPRi&DeebP%zj%Z)Ya5Qlzln(P4C)s$X^zS^T3H zX?NlAR%+S0$A<6zsKH{MGqEpqEM$WDnYGDVLT)^|g1?Y|`u>7;x|WIu%tCav;jQD+ z7C1u;H!0zFp>W!lET_KcfsvT)kIfKCJ=s}`|8xYl)&>WfoV`L{rh7FC-Frx&wm#T6 zTuGmNKS4mX@w}@M7_-luz58XMNup4DXXi35c#eO}o~68L!`o%47LzspuN4&3c1H;F zq1E3e{ZHyxL*oXS5I61g=dZhfg2
    &v|a`)!04?`9e3!6wTm^glN`7mD8ZP*Q&%) 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 literal 5118 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 P^Z)}LW9?E+hsgf{Qu+G+ diff --git a/modular_darkpack/modules/phones/icons/phone_onfloor.dmi b/modular_darkpack/modules/phones/icons/phone_onfloor.dmi index 6a3c9c97a0e9ac71489bbb4b55347721bdf3f90d..87237de750540dc618df898bed37d2f3901a1337 100644 GIT binary patch delta 581 zcmV-L0=oU}2)6})iBL{Q4GJ0x0000DNk~Le0001h0001B2m=5B0OF*IdjJ3ceo#zQ zMZmzof&u`k0sz7Z2UY+8U=9m{004;&3zr22of8me7ZPh77LFGZksTJH92TS@8*LvL zlOGtRBppLqLxPig;Nak@xTGp8D?UFz7#A67fS7AzWtEdXlR{H)vn@B$($cBDk)U!Y zbb4W+n~rm1Qe9nSz`(!&006n!{6#)XZCXIS00001bW%=J06^y0W&i*HmysoYe&2pj+a0YpheK~!jg?busSgfI{V;89^q zxfFG|({**#0RR6FT6o}zP7@ksW6t+_(r_4t2Ot6f0JtL$tL^-8wVgk$_MNAI!bK2l z=O+@2(`h@8NG_si-+5CYj*}#ge?x15G|jR!71jbu<+)PQT7W-KA;rlvC2?rU1*O>w zWvQ^_l2ramxsp52FOR_7e`ue85T?JdPe4j@|I$7I{yYW7yaCo7Fy<#{-2r3X0P7Ao z&I14d0002ofpbw5WqCffK*biQo2IEfa(97>pFrKVEnA@LI<`Qsd#*rff39D76}WV7 zYyo|}vIWfbi(j39)|xBuKJzN@(OrBdaQigAxC=DjjwR%C>U(wvZnFd50ssI20001T zeY?4HZ^JOK`8baMyntpu9^JXOX_~xpZ~QM5ckYe!T_qew2ef~M?`1F$cPe1o4S;Tx{nZ(E1u#mw(grSY;KmdaT7lSinf(8Q* zR8TFq=<&zTJA)?NPQCwBcJ<9a?e7^s-&Q(Rt{=-YW&gidz7J}Y88^T7x_j>VT=j6a zEWan;&&NNVA31rl)P@&N)A#=Al>O8__0P7BPtUJi3;lj$#^#d0S!e%T^{TJie$aAl zR6ufYa;3?3lj-gCd;TYEKKrugWJRRWx5}GFe;yy3@#(TJ?^DG}Ae*flXirt+W!}uE zyVgln{kk*pwB07Bo^(Nhy$4o${qxkfU-~p%`OJ0hIj2&lOfI_m@c4O|oo|%2k35;v zcaq(Rzi8*AdreQ`^hLtEuHN>L?((WXv}5}E?F)QV|MySR&(+Z4{QUQ?>R#59d*dRa zBiG(@yEUPcW$|$aN0pqt=idJB8)FOj^@<3`optd5$+q7JY4_Dk=& ze&T7-g_?C(g0~*7`OU8HP48^?guk+`URGseQ?dC^@soEQQhQCMZtlCV!a%6u-u(D( ze{T6JFV__p9?f06eEasO$@;~`$LhCFWcc#$&)SmGlEYo^#p`x%SYx%@Ds*AM2CM$7 z$qZHX`?kpL{jrJbkxSS8TeqV0>LPkr7JPsH`o+=sA6E79?kT>%^m$f%Q!f}5_wOIhw_VKOqqFx%`Gmk%5$6@Z{!58)mr2eDcO9Gb0uq3<>=GQ0vJMXjuTarXl?v#IqYq!1K%ZT+1ntOVF zzhk^=Ub1{%v6o1gwgcCD@xM#W#nQ!ISuS@;yxX+o#o@Q>uP#2hV;}!!^Np_pZ~ilP zVfnw>a@$|~m+~hf);DZuRhK@{J^hR5f$PXQ0LeO7wy0-(YtE?~@Ash#n3)+oUHx3v IIVCg!0C|Aa{Qv*} diff --git a/modular_darkpack/modules/phones/icons/righthand.dmi b/modular_darkpack/modules/phones/icons/righthand.dmi index 4a01bd10225df2c0f9c4eb5c559c25a851164ad8..2c05949554223c0d3ac369eda05fad92b4131c12 100644 GIT binary patch literal 1113 zcmeAS@N?(olHy`uVBq!ia0vp^3xK$RgAGXbBqvD&sk*9=h!U67;^d;tf|AVqJO+k} zIl*BCMWx@r1Q&e#`b5iHSL@uF^T8WJ4K5l#c%*aQNAn~@QBUs<3*#W;%f?;`a~@4P zGATqMc%_1}y?$tCx3TKx6%tE;^jZx=bI~JaF2SPn=ew^tG)Lr7=&|SGOC}{4$c1ZY z@A$Q|!I_caouprRpx~)y1_tJ7o-U3d6?5L+*_bVyC~^Gb_M;aySypxXHJOCCuoqrn zb`(E;$x~*|9G8##3qI>>G<7uZUfs#(w>8P*;(x`I03i$@>HK@vd;4?!ZMG#J1Z4Vee~!rQ{j;xP z{q*?l@3uaAe6+%*EOPq?;cb6+Zz#>VG%x4UPN?@j9OM@}`s?q$Ujj?G>LnRJxHL>q za_|sTSi&I?#KNJ;)FQ&@)Wx9aibeR
      yH`c5+JyYs#wcgA^f_o)l3PS$g7Gtd$6 zFAS0Fs;&5)XC=kA{M$bh`S~>sVr|cV7zn#h-CJ2%T9yBwwOAE6^g>n`2C?fppd%jpDz zdVA}8hx*t4X?Zp4{Pg+J&-cdF-CcEEt15I(YkIke@k}2n`GlK~bN_JaURw6vr<>`F zy|=7Q-IX83y48Dn?H6u)TzarU0K;$5v;P%qWE8UF@ivao&|1m4(yUyi^{0l{Hg_|n zw@-fetE8P&DP`Z%do(Nc`RA2$H65gnhF)znsq}ri>-C18HHB{Tmur1XS<8_7&~N$Y ze7=~uui}C$*S+49{MF{3*7uaP(^FTaUDLdl`@6>OtJEGni6GBf;ihkjL`Dw|cfy6I z&f-5&voC4o+2`7aAOD)Zi`i)Y`iQL0KTmzw@o(vV7GogK>+{bm+0*zY{H!?|H0ykL v*wyT5Qs<9BGzG6eUE|>KFbP0l+XkKnu+ih literal 711 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoWmO>&B`&GO$wiq3C7Jno3=9>F zrM+K*Q899N&E?+pFhyuizq>r`a#z-8?bXtYe_wn3`3u99+0(;W z1-~#B);xL|`u%?G`+Y5y^Gx40mFS;ZvTUb%PR1EVV0g3OM-E(!GkRt-GMH-Km9KGQ zny~CMr!jZHJv)KdU%d;z{7p4E62kCj@vE#q(a&d}vlKOqFR81)w#U-*$xoK-JK__= zSp!$k&1RplzjV{xOAayhYdY(;PdxFNQ&?A{>t^-;%_1$D>@I3|m6OFxPA>B4T0a$Q z;GhX+GA9`6J>&h>IJi~|b=$NAS+sn4}_E)=K^r@x|GW6rF8+=)HVxl{HO=G1p3ZDk`D@I_v*4Yjr6e;0 fFjSx@p~Sx7B7Z>+U%**lNHKW2`njxgN@xNA6-6Ga diff --git a/modular_darkpack/modules/phones/sounds/phone.ogg b/modular_darkpack/modules/phones/sounds/phone.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a874d03b36460086e9d8ab1ce865532d5afe0507 GIT binary patch literal 11173 zcmch-c|4Tw_dkBkSZ1*=*+N6a$X==uHI^)68$-op%aT1BOG1p0EHPP1qKJ_pq*n@+ z^s*+&u4F5PO3`L1%l8_6-k9 z{_9{_byl;RtwkFd2w6mU5Y62;g#80T{s{XE0NH}S-zABm}*z*|Id#GMX}xEP;j_3N#$mvoP$GSlOfy%T$qy-(INEh;76)4&aNb>~ zFp991PMFE0rEC4|<)`7<EIfUOc~*eYYU0<|7w(z*$-HH}N6(5iIUy%OI1 zG#)mUHa5M_Y|3dm4+j2@+Z?=kNn?}WY@O7a5euneQ-QbAe}BX6_S^y(02CG}r@T|< z7nHh-1swng5>JVmUJ|vak$&E*z=!5@YzG%BD7J7L8PrG<=S47-h3%=k%sqM}Ei z-E9N3T=cyD(svk#>r&Ij# zwW4;GH6O%0Dr<-GL#hq%9%))_694@`*!=se`? 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 IUeyrzU-f@WxBvhE literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/phones/sounds/phonestop.ogg b/modular_darkpack/modules/phones/sounds/phonestop.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d41adb7f5a62076ba6b793befe3a543b59c7b8f1 GIT binary patch literal 23161 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 XEvAozN@c{ Date: Mon, 16 Feb 2026 14:29:14 +0000 Subject: [PATCH 253/271] Automatic changelog for PR #668 [ci skip] --- html/changelogs/AutoChangeLog-pr-668.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-668.yml diff --git a/html/changelogs/AutoChangeLog-pr-668.yml b/html/changelogs/AutoChangeLog-pr-668.yml new file mode 100644 index 000000000000..00b829cd6c48 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-668.yml @@ -0,0 +1,5 @@ +author: "FalloutFalcon" +delete-after: True +changes: + - rscadd: "Particle effect when phones are ringing" + - image: "Tweaks smartphone onworld" \ No newline at end of file From 93573b4781255a72132477f399f6d851b92d0c66 Mon Sep 17 00:00:00 2001 From: chazzyjazzy <33268885+chazzyjazzy@users.noreply.github.com> Date: Mon, 16 Feb 2026 10:56:35 -0500 Subject: [PATCH 254/271] Reimplements NG and Swat (#549) ## About The Pull Request This PR reimplements NG and Swat to be used with the Summon-ERT verb before you ask, yes NG is very fucking powerful, if they need to be summoned, SWAT should probably go first and die it adds multiple roles allowed for SWAT and NG, including SWAT - Lieutenant * who spawns with a 50 cal deagle, a black armored trenchcoat, sunglasses, a beret, and some cuffs - Field Medic * who spawns with an mp5, a magnum revolver, a labcoat, and alot of medical gear, and a compact defib - Rifleman * who spawns with an AR-15 and standard police armor/helmet, cuffs and nades (smoke, flash, frag) - Negotiator * who spawns with no armor at all, just a suit, a megaphone, cookies, coffees, and 7 grand to negotiate and de-escalate (and maybe something else for if negotiations go south) NG - Sergeant * who spawns with jaegerspas, a pistol, sunglasses, military fatigues and bulletproof vest, and a megaphone - Rifleman * who spawns with an AUG and full army gear - Medic * who spawns with the clinic director's coat and military fatigues, a bunch of medical gear and an mp5 and a compact defib - Bomb Squad * who spawns with EOD armor, a grenade launcher and a bunch of grenades, a flamethrower, but the downside is they only have an uzi with no clips (might give them c4s as well as breaching charges) - Marksman * who spawns with an autosniper and a bulletproof vest i also made it so that these guys finally spawn with police keys ## Why It's Good For The Game human stuff, reimplemented ERTs to work with modern /tg/ verb, consequence for breaking the masquerade muhahaha ## Changelog :cl: chazzyjazzy, INFARED_BARON add: reimplements SWAT and NG ERTs with new roles /:cl: --------- Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/modules/admin/verbs/ert.dm | 4 +- code/modules/antagonists/ert/ert.dm | 2 +- modular_darkpack/modules/clothes/code/suit.dm | 9 +- .../modules/deprecated/icons/48x32.dmi | Bin 8793 -> 19226 bytes .../modules/ert/code/items/swat_items.dm | 43 ++++ .../modules/ert/code/national_guard.dm | 24 ++ .../code/outfits/national_guard_outfits.dm | 104 +++++++++ .../modules/ert/code/outfits/swat_outfits.dm | 84 +++++++ modular_darkpack/modules/ert/code/swat.dm | 19 ++ modular_darkpack/modules/ert/code/team.dm | 17 +- modular_darkpack/modules/ert/icons/badges.dmi | Bin 0 -> 941 bytes .../modules/ert/icons/badges_onfloor.dmi | Bin 0 -> 594 bytes .../modules/jobs/code/event/national_guard.dm | 217 ------------------ .../modules/jobs/code/event/swat.dm | 196 ---------------- tgstation.dme | 7 +- 15 files changed, 302 insertions(+), 424 deletions(-) create mode 100644 modular_darkpack/modules/ert/code/items/swat_items.dm create mode 100644 modular_darkpack/modules/ert/code/national_guard.dm create mode 100644 modular_darkpack/modules/ert/code/outfits/national_guard_outfits.dm create mode 100644 modular_darkpack/modules/ert/code/outfits/swat_outfits.dm create mode 100644 modular_darkpack/modules/ert/code/swat.dm create mode 100644 modular_darkpack/modules/ert/icons/badges.dmi create mode 100644 modular_darkpack/modules/ert/icons/badges_onfloor.dmi delete mode 100644 modular_darkpack/modules/jobs/code/event/national_guard.dm delete mode 100644 modular_darkpack/modules/jobs/code/event/swat.dm diff --git a/code/modules/admin/verbs/ert.dm b/code/modules/admin/verbs/ert.dm index 8070c5d6f340..0f1147cdc283 100644 --- a/code/modules/admin/verbs/ert.dm +++ b/code/modules/admin/verbs/ert.dm @@ -75,14 +75,14 @@ if (ertemplate) ertemplate = new ertemplate else - ertemplate = new /datum/ert/centcom_official + ertemplate = new /datum/ert/darkpack/swat // DARKPACK EDIT CHANGE - ORIGINAL: ertemplate = new /datum/ert/centcom_official var/human_authority_setting = CONFIG_GET(string/human_authority) var/list/settings = list( "preview_callback" = CALLBACK(src, PROC_REF(makeERTPreviewIcon)), "mainsettings" = list( - "template" = list("desc" = "Template", "callback" = CALLBACK(src, PROC_REF(makeERTTemplateModified)), "type" = "datum", "path" = "/datum/ert", "subtypesonly" = TRUE, "value" = ertemplate.type), + "template" = list("desc" = "Template", "callback" = CALLBACK(src, PROC_REF(makeERTTemplateModified)), "type" = "datum", "path" = "/datum/ert/darkpack", "subtypesonly" = TRUE, "value" = ertemplate.type), // DARKPACK EDIT CHANGE - Original : "template" = list("desc" = "Template", "callback" = CALLBACK(src, PROC_REF(makeERTTemplateModified)), "type" = "datum", "path" = "/datum/ert", "subtypesonly" = TRUE, "value" = ertemplate.type), "teamsize" = list("desc" = "Team Size", "type" = "number", "value" = ertemplate.teamsize), "mission" = list("desc" = "Mission", "type" = "string", "value" = ertemplate.mission), "polldesc" = list("desc" = "Ghost poll description", "type" = "string", "value" = ertemplate.polldesc), diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index f7ae99d8fe04..baa59a14dfd1 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -251,7 +251,7 @@ to_chat(owner, "You are the [name].") - var/missiondesc = "Your squad is being sent on a mission to [station_name()] by Nanotrasen's Security Division." + var/missiondesc = "Your squad is being sent on a mission to [station_name()]." // DARKPACK EDIT CHANGE - Original : var/missiondesc = "Your squad is being sent on a mission to [station_name()] by Nanotrasen's Security Division." if(leader) //If Squad Leader missiondesc += " Lead your squad to ensure the completion of the mission. Board the shuttle when your team is ready." else diff --git a/modular_darkpack/modules/clothes/code/suit.dm b/modular_darkpack/modules/clothes/code/suit.dm index d08acce22159..87093cd3eeff 100644 --- a/modular_darkpack/modules/clothes/code/suit.dm +++ b/modular_darkpack/modules/clothes/code/suit.dm @@ -341,9 +341,14 @@ wound = 25 /obj/item/clothing/suit/vampire/trench/alt/armored - name = "armored trenchcoat" + name = "armored brown trenchcoat" icon_state = "trench2" - max_integrity = 1000; + max_integrity = 400 + armor_type = /datum/armor/armored_jackets + +/obj/item/clothing/suit/vampire/trench/armored + name = "armored black trenchcoat" + max_integrity = 400 armor_type = /datum/armor/armored_jackets /obj/item/clothing/suit/vampire/trench diff --git a/modular_darkpack/modules/deprecated/icons/48x32.dmi b/modular_darkpack/modules/deprecated/icons/48x32.dmi index 492b10ca9158da8b3362ef605008f87944f2b595..608b9520cbecd1c1738143e128d20c69c7a3a7eb 100644 GIT binary patch literal 19226 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 i`(`1P#H#!AMk8bbxkncx#-Ok}VDnW-uN}3JOOi z9v~48u|6tlS3Hb(R#7)9L`+URBOMwO7BMF$asvZUN<^nQ7i(x?Yhz^}A16gVOO=z8 zV?{FE-Q8$VJD`zm(8HrMGc!U$LL(s|R8&;TuyjgGJ1;LJVP8;Y8yk0ZWJVAWj4UkQ z$dY$zUr;|fr%E^A%3H6Ugv7R@7Z)9CaeOm0K~h&^nxdt3S3xx?9vdDcD=;^YZdja) za63OnTVG>QR$s}<$y`M?iI0*g7Z*S&C}2G}m}yiU8zeV6MNd>_Z+D0@D=bk-NP~NK zPD@!OA}nWJTQxOAp{cbwFfd$CPl0)PDHj$+EGAk$F`b>Aer8XTglBAKaeQ`xl#YpT zRz#$pd<_c{hXnw{F92CpRyQs&?QsAB2M2U;ZU3|p|Ln#8({*G+G)pQYg<@c-rJ^nx z6RDMrB`7l=A0jO&JB^{BJW5hsa(EC76&Dg7JwHNBOHpxcYgSxuTV;B^#>Cp->Pk&n ziV%?99=XijdEOQQAYF`qM-l)00DGTPE!Ct=GbNc00DG*R9JLGWpiV4 zX>fFDZ*Bkpc$}4%&uYRz5XR5RQv|)1V$@wkyz1b$qw@rK`$J(^XOEQ0)#L-FTzU(*8aa58%ls;@`)0n;T z6qchxJ5rxC8O2eq9fzYdjtZw5x~%_#sR&let5%8F-WledImyabQkK4wQ;~GKs0pL8 zMjb$s8tcy@YfWQCh+A#RfmpUPwZDhWYO}8>7eiDhw;mX1L_LQM$c5tMXVFvglTg)S z4nbHCJ%}~o%W%zXS{S@DFH~=1pAZJk1(wKGaViU6Fi86w#pHXZ`rm?P;go81?w1eY zyTz4V>oH&WA)(@d$u1BEyrl&=rbg}4N#@%EBf)&!S?h?|$li4cfSMXe&|Uc;yTbd& zI)#)65EHKH2pIN2VSar>QM=A}$~mf04s7g7vpUIc_A50O(sW$WzvCDutL<|5wfO>7 zhLDFaOaxW{03KyYL_t(|ob8>Be-l;K$8(km#BG7ct-M%3-WC**7HvgWOACckw7l4~ zg_af+R9ts?tBBRzR7ztlu09LPCQWf$*+*r|%kqI1`Tw4C&b>34B=ed~CWFjR+UDiV z%{|{a=iECpH)A9cDpaUYp+fyi1@N1)+S@h6s6Ds)4g79dy`h4n(r=zT-vi1Ecoqj3jl$_4k${_i}b3o1H!(l zTBxeZYkM<2HGlqZ+_>!49_cJx^jke3SiBhbA}I6|WhojZB^rz5JD|6(R_&|Ub8H}1 z6@#d`{r{kze%jLB#$VKY7eV3HUf@}@NEblABQ0LMn8QawMpYzs8>nUwpeVT$EwHaH zw68*kMUX@b+b8>{pB9iz?X6T(Lk`b-<{5_`yR=6-0?(p_`G8PFCq|OO`AJ^cNj|#t|NO_7psen9f3djRxMmi}AMr zg!#a3NQbMdF$Dmk=o`nA&c3S3z@8!k*j|{M+7l!rdsA;~mMvMj6dj(2au5+N?KyZ5 z&qAV;^A3palNVSd6d+fm4>5M2iu+H51R&KuT5V%50a@FNK+@TpxVvl_db?!lk|j8^ znQvcIT-pQUSy)I%I>1$eYBc(`Sct0*0D4QILDf4Z24u~?TC=BT!ePC=9KUVswUQJy zAMXL(C0~~;!M`wX{=9ilSymOt_E1v;G?Xq!JjQe)JP!fpg99-|IYed6q?A*uODv{! zU)n>puvd|CZ7I@TKr+RHUZSh$?6WoK5X_TR#f*@1dswn`84w-{p5=ygR7*^+NJM25 z<{N`)cVs|MA*hzx$SvtLQ9w%dgO|L>?Q?klonVEL~ay%Ms7Q<;(47 ztCEd6Ly^-tCCaZL&+W7BE~9ABc`F>IvO917GmA>I2Lyz8oX}whqWQfi z2O?q~SVg0JOmhH1Mn$d3x3BWVUi2THeU_u)*=IrXHo`N%c|wa8m0*uyjI#hou_GNY z*uk6wQLeXKQdRpZox?c+;gLOczozC{ktun#TV%{~a(59FZO;cjfI}QCb8?_lo#Q~( z1zBxru1sT?YOc^IWyG`E8+)3=P&8no6pn20)B^MvGh?C7U$^!I2xlCC@mAvikdnKH zv&WP2m<)I}r?;i|gc>J!&;g1dM#BeGQkGjN zxzD_|r}>FVZ25l;lxAv|TAU2^wg$flaRH#s)LWK$ys^SXR zQFP!$Ct~@M++)d!Ps+JCmEhJs!hm9eQM9V+u>-_ik2&|+sXb(`sVQtu7loo#)ztwY zRJ6^=lO>wgp$uyUn$_8?c8aOi03 zm4H@9=m|k}b?IjcT?+ZET2))Sg8o>2xRxdI8fk3h%9YP~X0LLLiRDV_HAf<(0|fZ8 zZ-CU^WBkDC)rg2?zLr3tO2SS9ueySj&po%&qIq}rpk6kR4`MNK5d@f+YD8C(d;>&l z3usx&? z4NGt|5=!8o($^G6cxbgn1cDANp~56vAyznnKqMH!svJNv^4G6NH_+KN>)36J zlyqeeYRM9a#L5N+q|J$VMW{D`)b_1x#DX0H1huPpF%Q!ch$!P$uc*an(y~qNTLm4) z-3hP;wU&OFIPKnE{84xytE!?u3`kKKDe_{z2ZYr2t!#KnllWDOv4W_6Pl$fMcySid z>e^McIh&Bzva|rKTZ8}BtXa=auU%{O5$^1H8%35a$^x1ja2SfDi&a-eqqLH#1T<>T zM1yu#>H`|RD4c$e0(vGH(GXYQ01r;m4G=D`w}9l*UQu}LlhIPed8JmRC{3)ZZT)g6 zYTvoFTqK8xc>OmqG6p0(UBi7AE(2B;&FS@Ppd@?XxgrkjB66a#Z1Wyhc-mMEis7=f zA|~8!0CDHUQcEB>z`s}3uE_5TcNCLltsIwWnnNxNpVzO$H%hVRuXZ2_n*Bh8M|S{q zY~!+R3P`wX^u-YGB$isz)Nuv*QCr9-!fU|M!?kLs<%a9n>Ge2Ztt-hsCTEwqUxCRI zf>_jeT_XmlSg&5*iKMLB<`ZgpXsZp$+RHSEuUS*zuv>c-P2rj-C~PC={TLyNmK%^o z59~!g!#b1U$+3Nr9}gTsegG;(7!S_*6k%`Gly4FAn2PIG2*^@Y!7G1yEzt7fFeFr{ zP@zJF3S}VJuyMolE(Th+_K&wVpu5kboI32*{;}8dFTC&q`nz#sne45!iS(k-rcIkS zZ}y-~uLUoV&|ilU;nv|glUWY!%^5X>-92Qjl|Kj`K6aOZ`!)`#oV%O>%0?j+f?N?S(=f%*<1! z{d$?LuN0~-3+R=tn{wnMAP$F@8yXzracs})W!A5c0XSGM^U5pr_4#~sk1ICRle>+L z=x@UolB4W$YOgKAi^=seV6k4NZfku#XO)&;b^2th2q1ulh7B7UQ8-F(dG%Gh@NsXi zB9iN6@CDQLGWA>Q2+*d@Djt3+snykO_8(9~!^`9=d%Tf6wh14%_N=`1GU{RwgQXz# zI8Gr7D#tW_)z<^yv(0t&KraBMU!A{4!NT1}ba&&1S6|&IW_nh9T-s;lY`sjqHnt-g z!h^&9i&R0GPoy48lu7&Bw!QY6_v`?j1xl61EgOW#4I3L@_s(7?XX|A&KmrebA_98x zCE#G93^W6@t!#h*8u1umy6&o>*Q>`jF=}P41ou$cAW?#=7WH? z)){wf+qO5}c@m69&|vMa zTYHDnt(P$Xl;uN5B4&WLl?6}(I>`=mI5gV2>(<_}wDmHDfOLGUw5=>T*3f`SBHeY8 zEpF|76z15QZ+Z?0C&lQgP$M2%d2R2b;LSHN$2@Pf0gpHvg||-pb!+dVaG>|%?odfcyLZ9E*wXvTl-L(`%O(PJ6f!KZrYv)$lAO(?cBMuwUr;iF4XSb^xNBy(8)#nO{kU@ z^tic2sHv$rPusV*H0NxiGxw~^JKOf`*~5sSeQ$gFTW`I!dv|+#dzmn4?c1BOr`wyh zZ{NOy^!D5AIYPmI{KN0$g3y_J*5!^pZEeV?qhseTm($2&l+2#6Um zpxvl;^aA$o+eg&)>}f+lTDGA{X`hBo)5q*GkDvnw4wBw^=N(ySFwJ(nO)gVx;5!^4 z>Ra1$EArbrnp#Bic?hV3<7DSfS)(POeS2H!MTFFj39(PsjFJKE2A~RLQG=Kb>!1LE z)fxRJK+R1c-c>O*<&RjRM0*dY1OLNvgQGkHY6sX$&s$rmGNIbr_c0i(Ql$do_S@Sn zBIuydfddEj??1qdTBzV4AIvc=yzpJ4t+V!}^;547648jXw(V(S94IW^JNacE(eQ^R zNu>kQ+Bda0kmVEEfAAfApod=b-?c3))Ar7EIK$Lb~0>X(U9pgCxRIEh(_Pkjd z%?$=IN;?lTOas(hK0v$nmh~J`uJ(I6NsQ20Njl2oDs49rDq8;GDTA8$T%0%r4zJc5 ziB6wLK$Y%FFx8|23IoVQl2FLUR83r^Lq4HGg$ng6RcAb2=`K`OcK&z8<4^P;hyfDs z%$MGvvVg>Wtt-|6WD$>dcXvs}rMmRYDg_97dU_6_4j=C6$-9AiZ=X*+iW8GA4NzPM zN_~j$c6NHz9kop-wr~V>=ul73;loFA2|>TVfV#7RgEYFk;{#nsbs|7sRq3wo0gg!r zrqFZbNRP~~BRWF(w7tZ3=Pfa2W)UB}+d>R6X|fCdJ-9Rh-$Ln?$ z!8vmH@E`y9$DWTr{`i9r{`990kDo++^iiL0fZ_y5H(+(M;>T1GCiKWNK(c+a_o0t6 zsIRY|3pD-81@yu3lf9T>Cy@`Jtq+jmT0-!mIq9iA4G+ zgGi!4_fU>umL2Xneu5Bvc;a|(FP9+v={@O3rDi}8AV5ct!m-XynQ-D=fvL;CLyf+Z zCq)SLunqxEfp9cC(sTUyd+(k2_yYvQMVbb(K3|414bZ#C7?A6a1PU&1@-ISwLVB6Hpl;6qK`-O!?-!G3oFWn) zF^Z8+eB9UH#|6l*8l972#kAl(AjH!LSy3zjyr+so$D>bkEFP_j1Voc@4*~THJUE==^nR%<87b;7NMeB^cIlXC;~dk0~Q?OV-A;_V~yjSw+#>=&N0u%G1(>pD$+*;gvTrX z9q!wUa%{lk5Ta4O$oUTNVOo#?QH~9GHx&{pey+?D1k5o%4)q<1a?GRCAzlaxee@BA zP=El%`6OFVE}j9Ma_p_(m7+o+p@D&}p!CSkbNWt&go4(kfGNZiszN$d=?;V{ql($P zr#u=Ih$Gjoltt$yAnd*9{-+llIh<>6KZ!DG|MSmPL=-ZD z5t8}h3w#=sL_044sXO=63l|*K+5uh_%j%e~&;cPq4byMuz z3)FiD+jwR_Br{AR8ltF?4@AOIKvj5#bpAYW_b=#rZ#``(w6~Upy#(|Z)Q}46Gtya^ za9FenP(=?r3q*)y{6y4wP~pKxIRTx*`g!`)sT!vam)E{n4a!3} z&l?t(X=@yJzufl4iq0bWKm0#Nq6qpV_~(x*r@=s-6bTh7RH#s)LWK(TBn!az<XbJS%6?5$ z{cbqE)af@MxP)vVLBGUT>yqekGLaY=F%FU8v9YlPYj~KRC#1gqIx*};fB1e2@$PZH zWyJX9?oN3dm~pyg&Skps%a{Hx@x6Enlci8d$+#aFIf>yyC6n~K^zP8@aXRA&f)I@p z5d5M0EW|s<FXIGXF0{S}w`qD>0 zK!7e{jlKlQ@4ovEK=K(uK=|IsNS^&L0UF~78diS^K8d7OmmErNnn=h80uTnsI7z!X zSC$r1LO}8Om*CaygY1PsAaU{1h#EK}SwJHr7cT;gk^nQdjrUkR6v)wG+)Y!Y7i3T30(-m zm8(}RJO;Q%((JEToBN~Aaj)-+qZjauU-$f~(J*gnkAOTG=1Wn0-1A#={kp_}LPF+( zaXQ^r>0Sg_5QdPAuu8}Mzq0rksk18{Mv#^09Ap?lp+bc!N~v_Z(p?C)LO|9^p+Z9D zN~b5%=~ShA5mX_X%*14gfL#BN(G*1~<@05MbQ#VK|V2jMn6h4 z`h6@=gb)r6>ojs@GBkWmQiAy~ig8}4QNv)O1WJj1|F3^V%l_$(g>+JxDFGL6m+YpznhMh`3BmWirzO4aHI>MODZTKrsk2H)R3xtpj;dlvcqf#!1I9^&b>6`dOqQPXPP^bo1sEMvF?Pa$%E|66+v9TKuT5 zBO`jE4*Wg%kXbM54U6mZS->q^f zMI6W%v0>E9DdqGJKis&1fRK;dO_RxFVzi9w%d*40JBewySG_<$)6B>HrsW1ytQ0zM z^Q^ULjGtlw(X!hh0`l~jZR*C2DNZo=gv7#a@46C9O;P;Zyjc{W#1jIj7&s&ZWcJnc zUy+I#zElBy-Rjp4sMzoc6)IGyP@zJF@=t;J=2}pdP6NP9CY73TyHM*15v0?piHS7f zNoO)MGrw{|0It{U!L7{11cCux>Qx3pfr?6zFj8QJ>h|s1w{FpcTX&et3;{}|_>t8o zxZeeVN@9^P=xG|0hAE}fX&tPr<=y}O_wMc60JrYl!M9UPh!=a=1d+imaMY)uBrzw9 zSpFxjXQrrMnxtP526XS-MgC>7d{1{j18guUBHc6Q!0BBJ5X-Iuu|fZuf)Wl z2o=4Y#x5cmBy{KQy}P%BCGBF3kcAUDyMWsjpJyIRE|a({%1s!K6#uM+Rk{Jyd<^@QB`i&4q0EEG)R~k5k)DnqEu3v zoJ^&$3`jtC5YX*gFe9_?&b@me+{U;_n}vgZ7s!^e)fvPChA!nLampE?w9D1yc2~9y z5@tpepHvnSI->)02V>{f-Mh#KEh$rO-^CU{tR*BuhE5plf=p&|65B8VRFK5fynULv zU3_nMaoZ?i?qWny+UYRi?&hU$Agk6bdS3+uaQDs~B*bPWgbH_oAdioX0Tm{(SiDKi zyF*Z#3=#%i!5|?Dw;+An#KeDc z5@>?6%5B%6Qtsg+ams+&~gCN;8vPAm|tlVg^Z!geE7`GntvR1tB-< zWz_XGRyG9*qur#;<iki<5#(d#@6xB--M z5pZ6JLS(`$4@%qxATrV{@Y2l3-HJVz0q2Q;Ce+BuvQQM+v^Xd-5tkE}ljuqSB0|=M zqFhQBd;!sZlk3+fCVXE8X;&x$q{;w#jFj@bMu!R&DpaUYp+bcUpzhzl|KP#>O7|kD zLOOKPKl7l{9SNj}PAWAqIf*e;>AnO`0!~I;+Y15ZiRthqO1joPJDUk>P*wQS%%*}G1-Jhehnwxuo3gJj0nOQp2N~N&w5S=h`azw*=3IpchL(Z!wepJ`#{{4p> zG7o4xpQ8s4!ovx@<{tinBl)98q8`({r_wzNnC5UKfAmn)WIDJA`Q(X5ESd>YiKaoU z(j5w#XwaJDn#{AHkWaqmIDSGd=HdXVbSHwWxw$ZaEEUd}LxlKpz P00000NkvXXu0mjfSlnJu diff --git a/modular_darkpack/modules/ert/code/items/swat_items.dm b/modular_darkpack/modules/ert/code/items/swat_items.dm new file mode 100644 index 000000000000..8d3d906504ca --- /dev/null +++ b/modular_darkpack/modules/ert/code/items/swat_items.dm @@ -0,0 +1,43 @@ +/obj/item/storage/belt/police/swat + name = "swat belt" + desc = "Can hold SWAT gear like handcuffs." + icon_state = "security" + inhand_icon_state = "security" + worn_icon_state = "security" + content_overlays = TRUE + storage_type = /datum/storage/security_belt + +/obj/item/storage/belt/police/swat/full + +/obj/item/storage/belt/police/swat/full/PopulateContents() + new /obj/item/reagent_containers/spray/pepper(src) + new /obj/item/restraints/handcuffs(src) + new /obj/item/restraints/handcuffs(src) + new /obj/item/melee/baton/vamp(src) + +/obj/item/card/swat + name = "Dogtags" + desc = "The dogtags of an elite law enforcement officer. It prints the officer's name in case they're captured or killed." + icon = 'modular_darkpack/modules/ert/icons/badges.dmi' + icon_state = "dogtags" + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/badges_onfloor.dmi') + worn_icon = 'modular_darkpack/modules/jobs/icons/id_worn.dmi' + worn_icon_state = "police_badge" + +/obj/item/card/lieutenant + name = "Officer Badge" + desc = "The shiny badge of an elite law enforcement officer. It shines with golden authority." + icon = 'modular_darkpack/modules/ert/icons/badges.dmi' + icon_state = "leader" + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/badges_onfloor.dmi') + worn_icon = 'modular_darkpack/modules/jobs/icons/id_worn.dmi' + worn_icon_state = "police_badge" + +/obj/item/card/first_aid + name = "First Aid Officer Card" + desc = "The professional laminated card of a field medic. Did you know it's a war crime to specifically target field medics?" + icon = 'modular_darkpack/modules/ert/icons/badges.dmi' + icon_state = "first_aid" + ONFLOOR_ICON_HELPER('modular_darkpack/modules/ert/icons/badges_onfloor.dmi') + worn_icon = 'modular_darkpack/modules/jobs/icons/id_worn.dmi' + worn_icon_state = "grey_id" diff --git a/modular_darkpack/modules/ert/code/national_guard.dm b/modular_darkpack/modules/ert/code/national_guard.dm new file mode 100644 index 000000000000..496dde9cc1a2 --- /dev/null +++ b/modular_darkpack/modules/ert/code/national_guard.dm @@ -0,0 +1,24 @@ +/datum/antagonist/ert/darkpack/national_guard/leader + name = "National Guard Sergeant" + outfit = /datum/outfit/job/vampire/ert/national_guard/sergeant + role = "National Guard Sergeant" + +/datum/antagonist/ert/darkpack/national_guard/medic + name = "National Guard Medic" + outfit = /datum/outfit/job/vampire/ert/national_guard/medic + role = "National Guard Medic" + +/datum/antagonist/ert/darkpack/national_guard/rifleman + name = "National Guard Rifleman" + outfit = /datum/outfit/job/vampire/ert/national_guard/rifleman + role = "National Guard Rifleman" + +/datum/antagonist/ert/darkpack/national_guard/explosives + name = "National Guard Bomb Squad" + outfit = /datum/outfit/job/vampire/ert/national_guard/explosives + role = "National Guard Bomb Squad" + +/datum/antagonist/ert/darkpack/national_guard/marksman + name = "National Guard Marksman" + outfit = /datum/outfit/job/vampire/ert/national_guard/marksman + role = "National Guard Marksman" diff --git a/modular_darkpack/modules/ert/code/outfits/national_guard_outfits.dm b/modular_darkpack/modules/ert/code/outfits/national_guard_outfits.dm new file mode 100644 index 000000000000..b4b477b8e68f --- /dev/null +++ b/modular_darkpack/modules/ert/code/outfits/national_guard_outfits.dm @@ -0,0 +1,104 @@ +/datum/outfit/job/vampire/ert/national_guard/sergeant + name = "National Guard Sergeant" + ears = /obj/item/radio/headset/darkpack/military + glasses = /obj/item/clothing/glasses/vampire/sun + uniform = /obj/item/clothing/under/vampire/military_fatigues + gloves = /obj/item/clothing/gloves/vampire/work + r_pocket = /obj/item/flashlight/seclite + l_pocket = /obj/item/vamp/keys/police/federal + shoes = /obj/item/clothing/shoes/vampire/jackboots + suit = /obj/item/clothing/suit/vampire/vest + id = /obj/item/card/lieutenant + r_hand = /obj/item/gun/ballistic/automatic/darkpack/autoshotgun + backpack_contents = list( + /obj/item/ammo_box/magazine/darkpackautoshot = 1, + /obj/item/ammo_box/darkpack/c12g/buck = 1, + /obj/item/knife/vamp = 1, + /obj/item/storage/medkit/darkpack/ifak = 1, + /obj/item/megaphone = 1, + ) + +/datum/outfit/job/vampire/ert/national_guard/medic + name = "National Guard Medic" + ears = /obj/item/radio/headset/darkpack/military + glasses = /obj/item/clothing/glasses/vampire/perception + uniform = /obj/item/clothing/under/vampire/military_fatigues + gloves = /obj/item/clothing/gloves/vampire/latex + r_pocket = /obj/item/flashlight/seclite + l_pocket = /obj/item/vamp/keys/police/federal + shoes = /obj/item/clothing/shoes/vampire/jackboots + belt = /obj/item/defibrillator/compact/loaded + suit = /obj/item/clothing/suit/vampire/labcoat/director + head = /obj/item/clothing/head/beret + id = /obj/item/card/first_aid + r_hand = /obj/item/gun/ballistic/automatic/darkpack/mp5 + backpack_contents = list( + /obj/item/ammo_box/magazine/darkpack9mp5 = 1, + /obj/item/storage/medkit/darkpack/doctor = 1, + /obj/item/storage/medkit/darkpack/combat = 1, + /obj/item/storage/medkit/darkpack/burn = 1, + /obj/item/storage/medkit/darkpack/brute = 1, + ) + +/datum/outfit/job/vampire/ert/national_guard/rifleman + name = "National Guard Rifleman" + ears = /obj/item/radio/headset/darkpack/military + uniform = /obj/item/clothing/under/vampire/military_fatigues + mask = /obj/item/clothing/mask/vampire/balaclava + gloves = /obj/item/clothing/gloves/vampire/work + r_pocket = /obj/item/flashlight/seclite + l_pocket = /obj/item/ammo_box/magazine/darkpackaug + shoes = /obj/item/clothing/shoes/vampire/jackboots + belt = /obj/item/gun/ballistic/automatic/darkpack/aug + suit = /obj/item/clothing/suit/vampire/vest/army + head = /obj/item/clothing/head/vampire/army + id = /obj/item/card/swat + backpack_contents = list( + /obj/item/ammo_box/magazine/darkpackaug = 1, + /obj/item/grenade/frag = 1, + /obj/item/grenade/flashbang = 1, + /obj/item/grenade/smokebomb = 1, + /obj/item/storage/medkit/darkpack/ifak = 1, + ) + +/datum/outfit/job/vampire/ert/national_guard/explosives + name = "National Guard Explosives Expert" + ears = /obj/item/radio/headset/darkpack/military + uniform = /obj/item/clothing/under/vampire/military_fatigues + gloves = /obj/item/clothing/gloves/vampire/work + r_pocket = /obj/item/lighter + shoes = /obj/item/clothing/shoes/vampire/jackboots + suit = /obj/item/clothing/suit/vampire/eod + head = /obj/item/clothing/head/vampire/eod + id = /obj/item/card/swat + backpack_contents = list( + /obj/item/grenade/frag = 1, + /obj/item/grenade/flashbang = 1, + /obj/item/grenade/smokebomb = 1, + /obj/item/molotov = 1, + /obj/item/gun/ballistic/revolver/grenadelauncher = 1, + /obj/item/gun/ballistic/automatic/darkpack/uzi = 1, + /obj/item/liquid_flamethrower = 1, + ) + +/datum/outfit/job/vampire/ert/national_guard/marksman + name = "National Guard Marksman" + ears = /obj/item/radio/headset/darkpack/military + glasses = /obj/item/clothing/glasses/vampire/sun + uniform = /obj/item/clothing/under/vampire/military_fatigues + gloves = /obj/item/clothing/gloves/vampire/work + r_pocket = /obj/item/flashlight/seclite + l_pocket = /obj/item/ammo_box/magazine/m9mm + shoes = /obj/item/clothing/shoes/vampire/jackboots + suit = /obj/item/clothing/suit/vampire/vest/army + head = /obj/item/clothing/head/beret + id = /obj/item/card/swat + backpack_contents = list( + /obj/item/ammo_box/magazine/darkpack556 = 1, + /obj/item/ammo_box/magazine/m9mm = 1, + /obj/item/storage/medkit/darkpack/ifak = 1, + /obj/item/binoculars = 1, + /obj/item/gun/ballistic/automatic/darkpack/autosniper = 1, + /obj/item/gun/ballistic/automatic/pistol/darkpack/beretta = 1, + ) + diff --git a/modular_darkpack/modules/ert/code/outfits/swat_outfits.dm b/modular_darkpack/modules/ert/code/outfits/swat_outfits.dm new file mode 100644 index 000000000000..34ca0575474f --- /dev/null +++ b/modular_darkpack/modules/ert/code/outfits/swat_outfits.dm @@ -0,0 +1,84 @@ +/datum/outfit/job/vampire/swat_rifleman + name = "Swat Rifleman" + ears = /obj/item/radio/headset/darkpack/police + uniform = /obj/item/clothing/under/vampire/police/utility + gloves = /obj/item/clothing/gloves/fingerless + l_pocket = /obj/item/vamp/keys/police + suit_store = /obj/item/flashlight/seclite + shoes = /obj/item/clothing/shoes/vampire/jackboots + belt = /obj/item/storage/belt/police/swat/full + suit = /obj/item/clothing/suit/vampire/vest + head = /obj/item/clothing/head/vampire/helmet + id = /obj/item/card/swat + r_hand = /obj/item/gun/ballistic/automatic/darkpack/ar15 + backpack_contents = list( + /obj/item/ammo_box/magazine/darkpack556 = 2, + /obj/item/grenade/frag = 1, + /obj/item/grenade/flashbang = 1, + /obj/item/grenade/smokebomb = 1, + /obj/item/storage/medkit/darkpack/ifak = 1, + /obj/item/restraints/handcuffs = 1, + ) + +/datum/outfit/job/vampire/swat_lieutenant + name = "Swat Lieutenant" + ears = /obj/item/radio/headset/darkpack/police + glasses = /obj/item/clothing/glasses/vampire/sun + uniform = /obj/item/clothing/under/vampire/police/utility + gloves = /obj/item/clothing/gloves/fingerless + l_pocket = /obj/item/vamp/keys/police/secure/captain + suit_store = /obj/item/flashlight/seclite + shoes = /obj/item/clothing/shoes/vampire/jackboots + belt = /obj/item/storage/belt/police/swat/full + suit = /obj/item/clothing/suit/vampire/trench/armored + head = /obj/item/clothing/head/hats/hos/beret + id = /obj/item/card/lieutenant + r_hand = /obj/item/gun/ballistic/automatic/pistol/darkpack/deagle/c50 + backpack_contents = list( + /obj/item/ammo_box/magazine/m50 = 2, + /obj/item/grenade/frag = 1, + /obj/item/grenade/flashbang = 1, + /obj/item/grenade/smokebomb = 1, + /obj/item/storage/medkit/darkpack/ifak = 1, + /obj/item/storage/box/handcuffs = 1, + ) + +/datum/outfit/job/vampire/swat_medic + name = "Swat Field Medic" + ears = /obj/item/radio/headset/darkpack/police + glasses = /obj/item/clothing/glasses/vampire/perception + uniform = /obj/item/clothing/under/vampire/police/utility + gloves = /obj/item/clothing/gloves/vampire/latex + l_pocket = /obj/item/vamp/keys/police + suit_store = /obj/item/flashlight/seclite + shoes = /obj/item/clothing/shoes/vampire/jackboots + belt = /obj/item/defibrillator/compact/loaded + suit = /obj/item/clothing/suit/vampire/labcoat + head = /obj/item/clothing/head/vampire/helmet + id = /obj/item/card/first_aid + r_hand = /obj/item/gun/ballistic/automatic/darkpack/mp5 + backpack_contents = list( + /obj/item/ammo_box/magazine/darkpack9mp5 = 2, + /obj/item/storage/medkit/darkpack/doctor = 1, + /obj/item/storage/medkit/darkpack/combat = 1, + /obj/item/storage/medkit/darkpack/burn = 1, + /obj/item/storage/medkit/darkpack/brute = 1, + ) + +/datum/outfit/job/vampire/swat_negotiator + name = "SWAT Negotiations Expert" + ears = /obj/item/radio/headset/darkpack/police + uniform = /obj/item/clothing/under/vampire/suit + l_pocket = /obj/item/vamp/keys/police + shoes = /obj/item/clothing/shoes/vampire + id = /obj/item/card/swat + r_hand = /obj/item/gun/ballistic/automatic/darkpack/sniper // for when negotiations go south. + backpack_contents = list( + /obj/item/clothing/under/vampire/suit/female = 1, + /obj/item/stack/dollar/thousand = 1, + /obj/item/ammo_box/darkpack/c50 = 1, + /obj/item/reagent_containers/cup/glass/coffee/vampire = 1, + /obj/item/food/cookie = 1, // cookies but no milk. these are gonna be some hard negotiations. + /obj/item/megaphone = 1, + /obj/item/flashlight/seclite = 1, + ) diff --git a/modular_darkpack/modules/ert/code/swat.dm b/modular_darkpack/modules/ert/code/swat.dm new file mode 100644 index 000000000000..d48abfa10df5 --- /dev/null +++ b/modular_darkpack/modules/ert/code/swat.dm @@ -0,0 +1,19 @@ +/datum/antagonist/ert/darkpack/swat/leader + name = "SWAT Lieutenant" + outfit = /datum/outfit/job/vampire/swat_lieutenant + role = "SWAT Lieutenant" + +/datum/antagonist/ert/darkpack/swat/medic + name = "SWAT Field Medic" + outfit = /datum/outfit/job/vampire/swat_medic + role = "SWAT Field Medic" + +/datum/antagonist/ert/darkpack/swat/rifleman + name = "SWAT Rifleman" + outfit = /datum/outfit/job/vampire/swat_rifleman + role = "SWAT Rifleman" + +/datum/antagonist/ert/darkpack/swat/negotiations + name = "SWAT Negotiations Expert" + outfit = /datum/outfit/job/vampire/swat_negotiator + role = "SWAT Negotiations Expert" diff --git a/modular_darkpack/modules/ert/code/team.dm b/modular_darkpack/modules/ert/code/team.dm index 220f4e9bcffa..97df12882279 100644 --- a/modular_darkpack/modules/ert/code/team.dm +++ b/modular_darkpack/modules/ert/code/team.dm @@ -1,10 +1,19 @@ /datum/ert/darkpack abstract_type = /datum/ert/darkpack -// /datum/ert/darkpack/swat -//TODO: Get the SWAT Icons from Bomby & reimplement SWAT using the normal ert system -// /datum/ert/darkpack/national_guard -//TODO: Get new assets & reimplement the national guard using the normal ERT system +/datum/ert/darkpack/swat + leader_role = /datum/antagonist/ert/darkpack/swat/leader + roles = list(/datum/antagonist/ert/darkpack/swat/medic, /datum/antagonist/ert/darkpack/swat/rifleman, /datum/antagonist/ert/darkpack/swat/negotiations) + rename_team = "SWAT Unit" + mission = "Assess the situation and assist the Police Department. Ensure that law and order is restored in the City." + polldesc = "the City's Special Weapons and Tactics Unit" + +/datum/ert/darkpack/national_guard + leader_role = /datum/antagonist/ert/darkpack/national_guard/leader + roles = list(/datum/antagonist/ert/darkpack/national_guard/medic, /datum/antagonist/ert/darkpack/national_guard/rifleman, /datum/antagonist/ert/darkpack/national_guard/explosives) + rename_team = "National Guard Platoon" + mission = "Stabilize the area. Establish a curfew. Disperse the riots. Ensure safety and restore order immediately - by any means." + polldesc = "the National Guard Emergency Response Unit" /datum/ert/darkpack/pentex leader_role = /datum/antagonist/ert/darkpack/pentex/leader diff --git a/modular_darkpack/modules/ert/icons/badges.dmi b/modular_darkpack/modules/ert/icons/badges.dmi new file mode 100644 index 0000000000000000000000000000000000000000..dc6836811e5e78213ab3a484ebaa0a61d859c27a GIT binary patch literal 941 zcmV;e15*5nP)PDmXbmDnVEk6&gKZ zd=)D~6B8N0z`&rLmxX|PBQ{Y^M?x!0XEtVp7Z@CDXJT3(34AFTFA))#Q987ePK;?S zUPKvd;Pp@d0004WQchCV=-0C=2JR&a84_w-Y6 z@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5DJ4I>Br&~M ziHkEOv#1y-V#vjrR+N~V3Sq<5<)kL2q!tlWmIjn9iBHT-!KG4J!PU{0+7?J`oj zuiUc$00Lo2L_t(oh3%H>lAVcbg|ZW9%oMx^WVm2~7xiDINv4 z)1$*Q3sAfgNLf{ZNzlGXs)cIB!5{>$q9CV9dK515t4atVIp-quQsk882|63bgAf## zQgXk9VvO_fwZcypB{S5x~H3 zLn%cFAP`R_09>h>sM`jhq!-}ed^eaUA#gY$V1S`&t%t$59+*Hum>`519m#+LtLmcA z>-Aden85b{yGk4%T#Rwxm1-KmDOL4GBMz^J9w2~lQ67)8<4LpK?y!S;lj*gl6b$>= z1jG9d$Ine3)*}N7@@=z2-0}EG=|K=C!DDci5Y)==zJV(c!094)yxV!y`Mn|FApp^j zg4eZ)xDzzZIKYpFfFr-#Zkw3_Zpuxd*)8U?{TdC+19-zbJQzT+e@B3d_xS(yN2)b% z^6dh{;Sg7Z0RJ(Ux1XOuLE*<_32%(GPEpXjSioCrouV^sF`w^&H%{?syUu(Z$#EXv z8iRwk*aRp}r~EX>;Q7AqgW~A^F`Q@e1_jPwk6)1BG+E$y#7*GQK)=q{bMd+?@_q03 zH$ibepW(fm!o$q0=Z!bT6nIA`3EX#G0CTUH#%EoJ3S;{SN5w?mE7}$mcoKpF&%|W@ zQSp6o{LI6AReWDAzm`1AgTe_G@PooG=CgQ5>|rS%6w~kD6UBS{zgNEjdTTd|Ix#E7 P00000NkvXXu0mjfQv9Wg literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/ert/icons/badges_onfloor.dmi b/modular_darkpack/modules/ert/icons/badges_onfloor.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f06fb56ec1f3e53dafd03aa5df30e03bf403c115 GIT binary patch literal 594 zcmV-Y0pXOT-vmGHzf)sCo4HRKO`n9I5|HmL0COu zd=(WM6B8K~D?-4)z@VL%g@AiDW`rwCXCpRIPDer)7#vz332bL#d?^`>X)Q^|p^E?j z00DGTPE!Ct=GbNc004h_R9JLGWpiV4X>fFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5; z&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3K9+B|p6+F}+xci!&v&s2C_> z$i8R4RW!v!ROZ z_UoXtPr9zl>ksEl1vF3m;l8hVgjRlH(VqH~MY)1bc5>w{7{?hbI3wP+-1@t-RKc3w zAZ~vvCrtRyB+?KT9mhxOaHoJDyvhUs%br1#4tc%t?Kq9ntwZ4baeH(*-=CkAA7Iks zBt}49qwDh%_<{8cjH6Ol@qy(f;@%1`tOHDEB?j20*vR_{4)7ue_$iaTfnRVv7NAn8 zR4NZpD0gph2K`#@2MTdsntQ2F6xI;$&0C>=qje1{#Tb{u3UiFK5>crSuu!0PIYou are the leading sergeant for this mission. You are responsible for guiding your team's operation.") - to_chat(owner, "If you feel you are not up to this task, give your command to another soldier.") - owner.announce_objectives() - addtimer(CALLBACK(src, PROC_REF(national_guardteam_name_assign)), 1) - -/datum/antagonist/national_guard/sergeant/proc/national_guardteam_name_assign() - if(!national_guard_team) - return - national_guard_team.rename_team(ask_name()) - -/datum/antagonist/national_guard/sergeant/proc/ask_name() - var/randomname = pick(GLOB.last_names) - var/newname = stripped_input(owner.current,"You are the sergeant. Please choose a name for your team.", "Name change",randomname) - if (!newname) - newname = randomname - else - newname = reject_bad_name(newname) - if(!newname) - newname = randomname - -/datum/antagonist/national_guard/create_team(datum/team/national_guard/new_team) - if(!new_team) - if(!always_new_team) - for(var/datum/antagonist/national_guard/N in GLOB.antagonists) - if(!N.owner) - stack_trace("Antagonist datum without owner in GLOB.antagonists: [N]") - continue - national_guard_team = new /datum/team/national_guard - national_guard_team.update_objectives() - return - if(!istype(national_guard_team)) - stack_trace("Wrong team type passed to [type] initialization.") - national_guard_team = new_team - -/datum/antagonist/national_guard/admin_add(datum/mind/new_owner,mob/admin) - new_owner.assigned_role = ROLE_NATIONAL_GUARD - new_owner.add_antag_datum(src) - message_admins("[key_name_admin(admin)] has national guard'd [key_name_admin(new_owner)].") - log_admin("[key_name(admin)] has national guard'd [key_name(new_owner)].") - -/datum/team/national_guard/proc/rename_team(new_name) - national_guard_name = new_name - name = "[national_guard_name] Team" - -/datum/objective/national_guard - name = "national_guard" - explanation_text = "Follow the orders of your sergeant." - martyr_compatible = TRUE - -/proc/national_guard_name() - var/name = "" - - // Prefix - name += pick("Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf", "Hotel", "India", "Juliet", "Kilo", "Lima", "Mike", "November", "Oscar", "Papa", "Quebec", "Romeo", "Sierra", "Tango", "Uniform", "Victor", "Whiskey", "X-ray", "Yankee", "Zulu") - - // Suffix - if (prob(80)) - name += " " - - // Full - if(prob(60)) - name += pick("Squad", "Team", "Unit", "Group", "Section", "Element", "Detachment") - // Broken - else - name += pick("-", "*", "") - name += "Ops" - -/datum/team/national_guard - var/national_guard_name - var/core_objective = /datum/objective/national_guard - member_name = "National Guard Operative" - var/memorized_code - var/list/team_discounts - var/obj/item/nuclear_challenge/war_button - -/datum/team/national_guard/New() - ..() - national_guard_name = national_guard_name() - -/datum/team/national_guard/proc/update_objectives() - if(core_objective) - var/datum/objective/O = new core_objective - O.team = src - objectives += O - -/datum/team/national_guard/roundend_report() - var/list/parts = list() - parts += span_header("[national_guard_name] Operatives:") - - var/text = "
      [span_header("The national guard were:")]" - text += printplayerlist(members) - parts += text - - return "
      [parts.Join("
      ")]
      " diff --git a/modular_darkpack/modules/jobs/code/event/swat.dm b/modular_darkpack/modules/jobs/code/event/swat.dm deleted file mode 100644 index d5bc506a5abb..000000000000 --- a/modular_darkpack/modules/jobs/code/event/swat.dm +++ /dev/null @@ -1,196 +0,0 @@ -/datum/outfit/job/vampire/swat - name = "Swat Officer" - ears = /obj/item/radio/headset/darkpack/police - uniform = /obj/item/clothing/under/vampire/police/utility - mask = /obj/item/clothing/mask/vampire/balaclava - r_pocket = /obj/item/flashlight - l_pocket = /obj/item/vamp/keys/police - shoes = /obj/item/clothing/shoes/vampire/jackboots - belt = /obj/item/storage/belt/security/police/swat - suit = /obj/item/clothing/suit/vampire/vest/police - head = /obj/item/clothing/head/vampire/helmet - id = /obj/item/card/police - backpack_contents = list( - /obj/item/ammo_box/magazine/darkpack556 = 4, - /obj/item/storage/medkit/darkpack/ifak = 1, - /obj/item/vamp/keys/hack=2 - ) - r_hand = /obj/item/gun/ballistic/automatic/darkpack/ar15 - -/datum/antagonist/swat/proc/equip_swat() - var/list/landmarkslist = list() - for(var/obj/effect/landmark/start/S in GLOB.start_landmarks_list) - if(S.name == name) - landmarkslist += S - var/mob/living/carbon/human/H = new(pick(landmarkslist)) - H.equipOutfit(swat_outfit) - H.st_set_stat(5, STAT_LARCENY) - H.st_set_stat(4, STAT_STRENGTH) - H.ignores_warrant = TRUE - -/datum/antagonist/swat - name = "Swat Officer" - roundend_category = "Swat" - antagpanel_category = "Swat" - pref_flag = ROLE_SWAT - antag_hud_name = "synd" - antag_moodlet = /datum/mood_event/focused - show_to_ghosts = TRUE - var/always_new_team = FALSE - var/datum/team/swat/swat_team - var/swat_outfit = /datum/outfit/job/vampire/swat - var/custom_objective - -/datum/antagonist/swat/team_leader - name = "Swat Team Leader" - always_new_team = TRUE - var/title - -/datum/antagonist/swat/on_gain() - var/mob/living/carbon/human/swat_character = owner.current - swat_character.randomize_human_appearance() - forge_objectives() - equip_swat() - give_alias() - return ..() - -/datum/antagonist/swat/on_removal() - ..() - to_chat(owner.current,span_userdanger("You are no longer in the Special Weapons and Tactics squad!")) - -/datum/antagonist/swat/greet() - to_chat(owner.current, span_alertsyndie("You're in the Special Weapons and Tactics squad.")) - to_chat(owner, span_notice("You are a [swat_team ? swat_team.swat_name : "swat"] officer!")) - spawn(3 SECONDS) - owner.announce_objectives() - - -/datum/antagonist/swat/proc/give_alias() - var/my_name = "Tyler" - var/list/swat_ranks = list("Private", "Private First Class", "Lance Corporal", "Corporal") - var/selected_rank = pick(swat_ranks) - if(owner.current.gender == MALE) - my_name = pick(GLOB.first_names_male) - else - my_name = pick(GLOB.first_names_female) - var/my_surname = pick(GLOB.last_names) - owner.current.fully_replace_character_name(null,"[selected_rank] [my_name] [my_surname]") - -/datum/antagonist/swat/forge_objectives() - spawn(2 SECONDS) - if(swat_team) - objectives |= swat_team.objectives - -/datum/antagonist/swat/leader/give_alias() - var/my_name = "Tyler" - if(owner.current.gender == MALE) - my_name = pick(GLOB.first_names_male) - else - my_name = pick(GLOB.first_names_female) - var/my_surname = pick(GLOB.last_names) - owner.current.fully_replace_character_name(null,"Squad Leader [my_name] [my_surname]") - -/datum/team/swat/antag_listing_name() - if(swat_name) - return "[swat_name] Officers" - else - return "Officers" - - -/datum/antagonist/swat/leader/greet() - to_chat(owner, "You are the SWAT Officer in charge of this mission. You are responsible for guiding your team's operation.") - to_chat(owner, "If you feel you are not up to this task, give your command to another officer.") - spawn(3 SECONDS) - owner.announce_objectives() - addtimer(CALLBACK(src, PROC_REF(swatteam_name_assign)), 1) - -/datum/antagonist/swat/leader/proc/swatteam_name_assign() - if(!swat_team) - return - swat_team.rename_team(ask_name()) - -/datum/antagonist/swat/leader/proc/ask_name() - var/randomname = pick(GLOB.last_names) - var/newname = stripped_input(owner.current,"You are the squa leader. Please choose a name for your team.", "Name change",randomname) - if (!newname) - newname = randomname - else - newname = reject_bad_name(newname) - if(!newname) - newname = randomname - -/datum/antagonist/swat/create_team(datum/team/swat/new_team) - if(!new_team) - if(!always_new_team) - for(var/datum/antagonist/swat/N in GLOB.antagonists) - if(!N.owner) - stack_trace("Antagonist datum without owner in GLOB.antagonists: [N]") - continue - swat_team = new /datum/team/swat - swat_team.update_objectives() - return - if(!istype(swat_team)) - stack_trace("Wrong team type passed to [type] initialization.") - swat_team = new_team - -/datum/antagonist/swat/admin_add(datum/mind/new_owner,mob/admin) - new_owner.assigned_role = ROLE_SWAT - new_owner.add_antag_datum(src) - message_admins("[key_name_admin(admin)] has swat'd [key_name_admin(new_owner)].") - log_admin("[key_name(admin)] has swat'd [key_name(new_owner)].") - -/datum/team/swat/proc/rename_team(new_name) - swat_name = new_name - name = "[swat_name] Team" - -/proc/swat_name() - var/name = "" - - // Prefix - name += pick("Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf", "Hotel", "India", "Juliet", "Kilo", "Lima", "Mike", "November", "Oscar", "Papa", "Quebec", "Romeo", "Sierra", "Tango", "Uniform", "Victor", "Whiskey", "X-ray", "Yankee", "Zulu") - - // Suffix - if (prob(80)) - name += " " - - // Full - if(prob(60)) - name += pick("Squad", "Team", "Unit", "Group", "Section", "Element", "Detachment") - // Broken - else - name += pick("-", "*", "") - name += "Ops" - - return name - -/datum/objective/swat - name = "swat" - explanation_text = "Follow the orders of your commander." - martyr_compatible = TRUE - -/datum/team/swat - var/swat_name - var/core_objective = /datum/objective/swat - member_name = "Swat Officer" - -/datum/team/swat/New() - ..() - swat_name = swat_name() - -/datum/team/swat/proc/update_objectives() - if(core_objective) - var/datum/objective/O = new core_objective - O.team = src - objectives += O - - -/datum/team/swat/roundend_report() - var/list/parts = list() - parts += span_header("[swat_name] Operatives:") - - var/text = "
      [span_header("The SWAT were:")]" - text += printplayerlist(members) - parts += text - - return "
      [parts.Join("
      ")]
      " - diff --git a/tgstation.dme b/tgstation.dme index 8a2ed7ca0268..367abcf91a06 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7117,9 +7117,14 @@ #include "modular_darkpack\modules\electricity\code\generator.dm" #include "modular_darkpack\modules\elevators\code\elevator.dm" #include "modular_darkpack\modules\ert\code\loadout.dm" +#include "modular_darkpack\modules\ert\code\national_guard.dm" #include "modular_darkpack\modules\ert\code\pentex_ert_roles.dm" +#include "modular_darkpack\modules\ert\code\swat.dm" #include "modular_darkpack\modules\ert\code\team.dm" #include "modular_darkpack\modules\ert\code\items\first_team.dm" +#include "modular_darkpack\modules\ert\code\items\swat_items.dm" +#include "modular_darkpack\modules\ert\code\outfits\national_guard_outfits.dm" +#include "modular_darkpack\modules\ert\code\outfits\swat_outfits.dm" #include "modular_darkpack\modules\fire\code\fire.dm" #include "modular_darkpack\modules\fire\code\molotov.dm" #include "modular_darkpack\modules\fire\code\object_interactions.dm" @@ -7184,8 +7189,6 @@ #include "modular_darkpack\modules\jobs\code\camarilla\primogens\ventrue.dm" #include "modular_darkpack\modules\jobs\code\clinic\director.dm" #include "modular_darkpack\modules\jobs\code\clinic\doctor.dm" -#include "modular_darkpack\modules\jobs\code\event\national_guard.dm" -#include "modular_darkpack\modules\jobs\code\event\swat.dm" #include "modular_darkpack\modules\jobs\code\garou\councillor.dm" #include "modular_darkpack\modules\jobs\code\garou\guardian.dm" #include "modular_darkpack\modules\jobs\code\garou\truthcatcher.dm" From ef82086c736114dd7bb87a7f043b63cffd9fd819 Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Mon, 16 Feb 2026 16:10:12 +0000 Subject: [PATCH 255/271] Automatic changelog for PR #549 [ci skip] --- html/changelogs/AutoChangeLog-pr-549.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-549.yml diff --git a/html/changelogs/AutoChangeLog-pr-549.yml b/html/changelogs/AutoChangeLog-pr-549.yml new file mode 100644 index 000000000000..504a168d77bb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-549.yml @@ -0,0 +1,4 @@ +author: "chazzyjazzy, INFARED_BARON" +delete-after: True +changes: + - rscadd: "reimplements SWAT and NG ERTs with new roles" \ No newline at end of file From 09a61b0f9dba5c998b0a5ff0429d6847c181b0f5 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 17 Feb 2026 03:02:11 -0600 Subject: [PATCH 256/271] Fixes dusting final death issue (#678) ## About The Pull Request Fixes #677 Fixes #577 Also makes it a signal cause with is it not. ## Why It's Good For The Game You can only dice ~~twice~~ once as a vampire ## Changelog :cl: fix: Fixes final death sprite issue /:cl: --- .../modules/mob/living/carbon/human/death.dm | 34 +------------ .../splats/kindred_splat/kindred_splat.dm | 49 +++++++++++++++++-- 2 files changed, 46 insertions(+), 37 deletions(-) diff --git a/modular_darkpack/master_files/code/modules/mob/living/carbon/human/death.dm b/modular_darkpack/master_files/code/modules/mob/living/carbon/human/death.dm index 5e1cc763e372..7ca2cf4febe0 100644 --- a/modular_darkpack/master_files/code/modules/mob/living/carbon/human/death.dm +++ b/modular_darkpack/master_files/code/modules/mob/living/carbon/human/death.dm @@ -1,39 +1,9 @@ /mob/living/carbon/human/death(gibbed) . = ..() + if(!.) + return . SEND_SIGNAL(SSdcs, COMSIG_GLOB_REPORT_CRIME, CRIME_MURDER, get_turf(src)) GLOB.masquerade_breakers_list -= src GLOB.sabbatites -= src - - if(!iskindred(src)) - return - can_be_embraced = FALSE - var/obj/item/organ/brain/brain = get_organ_slot(ORGAN_SLOT_BRAIN) //NO REVIVAL EVER - if(brain) - brain.organ_flags |= ORGAN_FAILING - - /* - if(HAS_TRAIT(src, TRAIT_IN_FRENZY)) - exit_frenzymod() - */ - SEND_SOUND(src, sound('modular_darkpack/modules/vampire_the_masquerade/sounds/final_death.ogg', volume = 50)) - - switch (chronological_age) - if(-INFINITY to 10) //normal corpse - return - if(10 to 50) - rot_body(1) //skin takes on a weird colouration - visible_message(span_notice("[src]'s skin loses some of its colour.")) - if(50 to 100) - rot_body(2) //looks slightly decayed - visible_message(span_notice("[src]'s skin rapidly decays.")) - if(100 to 150) - rot_body(3) //looks very decayed - visible_message(span_warning("[src]'s body rapidly decomposes!")) - if(150 to 200) - rot_body(4) //mummified skeletonised corpse - visible_message(span_warning("[src]'s body rapidly skeletonises!")) - if(200 to INFINITY) //turn to ash - playsound(src, 'modular_darkpack/modules/vampire_the_masquerade/sounds/burning_death.ogg', 80, TRUE) - dust(just_ash = TRUE, drop_items = TRUE, force = TRUE) diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/splats/kindred_splat/kindred_splat.dm b/modular_darkpack/modules/vampire_the_masquerade/code/splats/kindred_splat/kindred_splat.dm index 52aa8d79da7a..9569e1c51c06 100644 --- a/modular_darkpack/modules/vampire_the_masquerade/code/splats/kindred_splat/kindred_splat.dm +++ b/modular_darkpack/modules/vampire_the_masquerade/code/splats/kindred_splat/kindred_splat.dm @@ -78,6 +78,8 @@ // Morality loss RegisterSignal(owner, COMSIG_PATH_HIT, PROC_REF(adjust_morality)) + RegisterSignal(owner, COMSIG_LIVING_DEATH, PROC_REF(on_kindred_death)) + // Make all food except raw meat repulsive var/obj/item/organ/tongue/tongue = owner.get_organ_by_type(/obj/item/organ/tongue) tongue?.liked_foodtypes = NONE @@ -94,11 +96,14 @@ /datum/splat/vampire/kindred/on_lose() owner.set_clan(null) - UnregisterSignal(owner, COMSIG_CARBON_LOSE_ORGAN) - UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_CRITICAL_CONDITION)) - UnregisterSignal(owner, COMSIG_MOB_VAMPIRE_SUCKED) - UnregisterSignal(owner, COMSIG_MOB_APPLY_DAMAGE_MODIFIERS) - UnregisterSignal(owner, COMSIG_HUMAN_ON_HANDLE_BLOOD) + UnregisterSignal(owner, list( + COMSIG_CARBON_LOSE_ORGAN, + SIGNAL_ADDTRAIT(TRAIT_CRITICAL_CONDITION), + COMSIG_MOB_VAMPIRE_SUCKED, + COMSIG_MOB_APPLY_DAMAGE_MODIFIERS, + COMSIG_HUMAN_ON_HANDLE_BLOOD, + COMSIG_LIVING_DEATH + )) // Reset tongue var/obj/item/organ/tongue/tongue = owner.get_organ_by_type(/obj/item/organ/tongue) @@ -185,6 +190,40 @@ return HANDLE_BLOOD_NO_NUTRITION_DRAIN|HANDLE_BLOOD_NO_OXYLOSS +/datum/splat/vampire/kindred/proc/on_kindred_death(mob/living/carbon/human/kindred, gibbed) + if(gibbed) + return + + kindred.can_be_embraced = FALSE + var/obj/item/organ/brain/brain = kindred.get_organ_slot(ORGAN_SLOT_BRAIN) //NO REVIVAL EVER + if(brain) + brain.organ_flags |= ORGAN_FAILING + + /* + if(HAS_TRAIT(src, TRAIT_IN_FRENZY)) + exit_frenzymod() + */ + SEND_SOUND(kindred, sound('modular_darkpack/modules/vampire_the_masquerade/sounds/final_death.ogg', volume = 50)) + + switch(kindred.chronological_age) + if(-INFINITY to 10) //normal corpse + return + if(10 to 50) + kindred.rot_body(1) //skin takes on a weird colouration + kindred.visible_message(span_notice("[kindred]'s skin loses some of its colour.")) + if(50 to 100) + kindred.rot_body(2) //looks slightly decayed + kindred.visible_message(span_notice("[kindred]'s skin rapidly decays.")) + if(100 to 150) + kindred.rot_body(3) //looks very decayed + kindred.visible_message(span_warning("[kindred]'s body rapidly decomposes!")) + if(150 to 200) + kindred.rot_body(4) //mummified skeletonised corpse + kindred.visible_message(span_warning("[kindred]'s body rapidly skeletonises!")) + if(200 to INFINITY) //turn to ash + playsound(kindred, 'modular_darkpack/modules/vampire_the_masquerade/sounds/burning_death.ogg', 80, TRUE) + kindred.dust(just_ash = TRUE, drop_items = TRUE, force = TRUE) + /datum/splat/vampire/kindred/vv_edit_var(var_name, var_value) switch (var_name) if (NAMEOF(src, generation)) From 7917642d27dcdaba34fe7c4f24bf83b9d34e25ad Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 09:17:10 +0000 Subject: [PATCH 257/271] Automatic changelog for PR #678 [ci skip] --- html/changelogs/AutoChangeLog-pr-678.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-678.yml diff --git a/html/changelogs/AutoChangeLog-pr-678.yml b/html/changelogs/AutoChangeLog-pr-678.yml new file mode 100644 index 000000000000..7af55ea813c0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-678.yml @@ -0,0 +1,4 @@ +author: "FalloutFalcon" +delete-after: True +changes: + - bugfix: "Fixes final death sprite issue" \ No newline at end of file From 51af52dc098a6b4ee3c3e39cb7f7c09aedcd606e Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 17 Feb 2026 03:06:05 -0600 Subject: [PATCH 258/271] Pool table mechanics (#675) ## About The Pull Request Functioning Pool! Tables now spawn with a full set of balls and some pool cues. Attacking the table with a cue lets you choose a ball and then rolls your stats to see what you hit. https://github.com/user-attachments/assets/e350b484-2f27-4ecd-b911-b3b7cdfe4646 ## Why It's Good For The Game excellent barrp material. A fun little use for streetwise as its missing a way to express it at the moment ## Changelog :cl: add: Pool tables has balls and cue's that creates a little 8-Ball mini-game. /:cl: --- .../Vampire/westfield_mall/westfield_mall.dmm | 58 +++- code/game/objects/structures/tables_racks.dm | 4 +- .../modules/billiards/code/billiard.dm | 247 ++++++++++++++++++ .../modules/billiards/icons/32x48.dmi | Bin 0 -> 1369 bytes .../modules/billiards/icons/back.dmi | Bin 0 -> 354 bytes .../modules/billiards/icons/billiard.dmi | Bin 0 -> 25218 bytes .../billiards/icons/billiard_onfloor.dmi | Bin 0 -> 1478 bytes .../modules/billiards/icons/lefthand.dmi | Bin 0 -> 525 bytes .../modules/billiards/icons/righthand.dmi | Bin 0 -> 515 bytes .../billiards/sounds/poolball_strike.ogg | Bin 0 -> 71862 bytes modular_darkpack/modules/decor/code/decor.dm | 12 - .../modules/deprecated/icons/32x48.dmi | Bin 38320 -> 37717 bytes tgstation.dme | 1 + .../Scripts/DarkPack/675_billiard.txt | 1 + 14 files changed, 302 insertions(+), 21 deletions(-) create mode 100644 modular_darkpack/modules/billiards/code/billiard.dm create mode 100644 modular_darkpack/modules/billiards/icons/32x48.dmi create mode 100644 modular_darkpack/modules/billiards/icons/back.dmi create mode 100644 modular_darkpack/modules/billiards/icons/billiard.dmi create mode 100644 modular_darkpack/modules/billiards/icons/billiard_onfloor.dmi create mode 100644 modular_darkpack/modules/billiards/icons/lefthand.dmi create mode 100644 modular_darkpack/modules/billiards/icons/righthand.dmi create mode 100644 modular_darkpack/modules/billiards/sounds/poolball_strike.ogg create mode 100644 tools/UpdatePaths/Scripts/DarkPack/675_billiard.txt diff --git a/_maps/map_files/Vampire/westfield_mall/westfield_mall.dmm b/_maps/map_files/Vampire/westfield_mall/westfield_mall.dmm index 9943af2f7e82..fa67f815e653 100644 --- a/_maps/map_files/Vampire/westfield_mall/westfield_mall.dmm +++ b/_maps/map_files/Vampire/westfield_mall/westfield_mall.dmm @@ -16787,6 +16787,12 @@ /obj/effect/decal/pallet, /turf/open/water/vamp_sewer, /area/vtm/interior/sewer) +"jdm" = ( +/obj/effect/decal/wallpaper/papers/random{ + pixel_y = 25 + }, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/anarch) "jdP" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -16827,6 +16833,34 @@ }, /turf/open/floor/plating/sidewalk/poor, /area/vtm/interior/sewer) +"jpq" = ( +/obj/effect/decal/wallpaper/papers/random{ + pixel_x = 1; + pixel_y = 26 + }, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/anarch) +"jrT" = ( +/obj/structure/table/wood, +/obj/item/pool_cue{ + pixel_x = 10; + pixel_y = 6 + }, +/obj/item/pool_cue{ + pixel_x = 3; + pixel_y = 5 + }, +/obj/item/pool_cue{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = -9; + pixel_y = 5 + }, +/obj/structure/sign/poster/city/ministry/directional/north, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/anarch) "jtP" = ( /obj/item/toy/crayon/spraycan{ pixel_x = 7; @@ -17580,6 +17614,10 @@ }, /turf/open/floor/carpet/darkpack/purplegold, /area/vtm/westfield_mall/interior/theatre) +"rle" = ( +/obj/machinery/light_switch/directional/north, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/anarch) "rne" = ( /obj/effect/decal/rugs, /obj/effect/decal/rugs, @@ -17717,6 +17755,12 @@ /obj/structure/sign/city/skateshop/two/directional/north, /turf/open/floor/plating/sidewalk/poor, /area/vtm/westfield_mall/skatepark) +"sXa" = ( +/obj/structure/table/wood/billiard{ + start_with_cues = 0 + }, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/anarch) "taO" = ( /obj/machinery/button{ id = "keepershutters" @@ -32747,7 +32791,7 @@ ajc aeH aeH aeH -aeH +aUG aUG atx aft @@ -32899,8 +32943,8 @@ ajc aeH aeH aeH -aeH aUG +rle aHF aft aft @@ -33051,9 +33095,9 @@ ajc aeH aeH aeH -aeH aUG -atx +jdm +sXa aft aft aHF @@ -33203,8 +33247,8 @@ ajc aeH aeH aeH -aeH aUG +jpq atx aft aft @@ -33355,8 +33399,8 @@ ajc aeH aeH aeH -aeH aUG +jrT atx aft aft @@ -33507,7 +33551,7 @@ ajc aeH aeH aeH -aeH +aUG aUG aME aft diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index f39daf2b018b..8f490102cadd 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -393,8 +393,8 @@ // Items are centered by default, but we move them if click ICON_X and ICON_Y are available if(LAZYACCESS(modifiers, ICON_X) && LAZYACCESS(modifiers, ICON_Y)) // Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf) - x_offset = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(ICON_SIZE_X*0.5), ICON_SIZE_X*0.5) - y_offset = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(ICON_SIZE_Y*0.5), ICON_SIZE_Y*0.5) + x_offset = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) + pixel_x - 16, -(ICON_SIZE_X*0.5), ICON_SIZE_X*0.5) // DARKPACK EDIT CHANGE + y_offset = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) + pixel_y - 16, -(ICON_SIZE_Y*0.5), ICON_SIZE_Y*0.5) // DARKPACK EDIT CHANGE if(!user.transfer_item_to_turf(tool, get_turf(src), x_offset, y_offset, silent = FALSE)) return ITEM_INTERACT_BLOCKING diff --git a/modular_darkpack/modules/billiards/code/billiard.dm b/modular_darkpack/modules/billiards/code/billiard.dm new file mode 100644 index 000000000000..39caecbc5455 --- /dev/null +++ b/modular_darkpack/modules/billiards/code/billiard.dm @@ -0,0 +1,247 @@ +#define SOLID_BALL "Solid Ball" +#define STRIPED_BALL "Striped Ball" +#define EIGHT_BALL "8-Ball" +#define ZERO_BALL "0-Ball" + +#define TABLE_BOUNDS 11 + +/obj/item/pool_cue + name = "pool cue" + desc = "Used for playing a game of 8 ball." + icon = 'modular_darkpack/modules/billiards/icons/billiard.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/billiards/icons/billiard_onfloor.dmi') + icon_state = "cue" + base_icon_state = "cue" + worn_icon = 'modular_darkpack/modules/billiards/icons/back.dmi' + lefthand_file = 'modular_darkpack/modules/billiards/icons/lefthand.dmi' + righthand_file = 'modular_darkpack/modules/billiards/icons/righthand.dmi' + force = 10 + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + throwforce = 15 + throw_speed = 2 + attack_verb_continuous = list("smashes", "slams", "whacks", "thwacks") + attack_verb_simple = list("smash", "slam", "whack", "thwack") + +/obj/item/pool_cue/Initialize(mapload) + . = ..() + AddComponent(/datum/component/two_handed, \ + force_unwielded = /obj/item/pool_cue::force, \ + force_wielded = 15, \ + ) + +/obj/item/pool_cue/update_icon_state() + inhand_icon_state = "[base_icon_state][HAS_TRAIT(src, TRAIT_WIELDED)]" + return ..() + +/obj/item/pool_ball + name = "pool ball" + desc = "Used for playing a game of 8 ball." + icon = 'modular_darkpack/modules/billiards/icons/billiard.dmi' + ONFLOOR_ICON_HELPER('modular_darkpack/modules/billiards/icons/billiard_onfloor.dmi') + icon_state = "0ball" + var/ball_number = 0 + +/obj/item/pool_ball/update_name(updates) + . = ..() + if(ball_number == 0) + name = "cue ball" + else + name = "\improper [ball_number]-ball" + +/obj/item/pool_ball/update_icon_state() + . = ..() + icon_state = "[ball_number]ball" + +/obj/item/pool_ball/random/Initialize(mapload) + . = ..() + ball_number = rand(0,15) + update_appearance() + +/obj/structure/table/wood/billiard + name = "billiard table" + desc = "Come here, play some BALLS. I know you want it so much..." + icon = 'modular_darkpack/modules/billiards/icons/32x48.dmi' + icon_state = "billiard1" + smoothing_flags = NONE + smoothing_groups = null + canSmoothWith = null + pixel_y = -16 + + can_flip = FALSE + + var/start_with_cues = TRUE + var/start_min_cues = 1 + var/start_max_cues = 4 + + var/start_with_balls = TRUE + +/obj/structure/table/wood/billiard/Initialize() + . = ..() + + var/turf/my_turf = get_turf(src) + if(start_with_balls) + for(var/ball_num in 0 to 15) + var/obj/item/pool_ball/new_ball = new(my_turf) + new_ball.ball_number = ball_num + new_ball.update_appearance() + new_ball.pixel_x += rand(-TABLE_BOUNDS,TABLE_BOUNDS) + new_ball.pixel_y += rand(-TABLE_BOUNDS-6,TABLE_BOUNDS) + + if(start_with_cues) + for(var/i in 1 to rand(start_min_cues, start_max_cues)) + var/obj/item/pool_cue/new_cue = new(my_turf) + new_cue.pixel_x += rand(-TABLE_BOUNDS,TABLE_BOUNDS) + new_cue.pixel_y += rand(-TABLE_BOUNDS,TABLE_BOUNDS) + +/obj/structure/table/wood/billiard/atom_deconstruct(disassembled) + . = ..() + dump_contents() + +/obj/structure/table/wood/billiard/dump_contents() + var/turf/my_turf = get_turf(src) + for(var/obj/item/ball in contents) + ball.forceMove(my_turf) + ball.pixel_x = rand(-TABLE_BOUNDS,TABLE_BOUNDS) + ball.pixel_y = rand(-TABLE_BOUNDS,TABLE_BOUNDS) + +/obj/structure/table/wood/billiard/examine(mob/user) + . = ..() + . += span_notice("There are [length(get_balls_on_table(SOLID_BALL))] solid and [length(get_balls_on_table(STRIPED_BALL))] striped balls left.") + if(!length(get_balls_on_table(EIGHT_BALL))) + . += span_warning("The 8-Ball has been sunk.") + +/obj/structure/table/wood/billiard/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + . = ..() + + if(istype(held_item, /obj/item/pool_cue)) + context[SCREENTIP_CONTEXT_LMB] = "Strike ball" + . = CONTEXTUAL_SCREENTIP_SET + else if(!held_item) + context[SCREENTIP_CONTEXT_RMB] = "Reset Table" + . = CONTEXTUAL_SCREENTIP_SET + + return . || NONE + +/obj/structure/table/wood/billiard/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(istype(tool, /obj/item/pool_cue)) + var/static/list/cue_options = list( + SOLID_BALL = image(icon = 'modular_darkpack/modules/billiards/icons/billiard.dmi', icon_state = "1ball"), + STRIPED_BALL = image(icon = 'modular_darkpack/modules/billiards/icons/billiard.dmi', icon_state = "15ball"), + EIGHT_BALL = image(icon = 'modular_darkpack/modules/billiards/icons/billiard.dmi', icon_state = "8ball"), + ) + var/choice = show_radial_menu(user, src, cue_options, require_near = TRUE) + if(!choice) + return ITEM_INTERACT_BLOCKING + if(!length(get_balls_on_table(choice))) + to_chat(user, span_warning("You cant aim for a [lowertext(choice)] because they are all sunk!")) + return ITEM_INTERACT_BLOCKING + user.visible_message(span_notice("[user] begins lining up a shot to hit a [lowertext(choice)]."), span_notice("You begin lining up a shot to hit a [lowertext(choice)].")) + if(!do_after(user, 1 TURNS, src)) + return ITEM_INTERACT_BLOCKING + user.visible_message(span_notice("[user] strikes a [lowertext(choice)]!"), span_notice("You strike your target!")) + playsound(src, 'modular_darkpack/modules/billiards/sounds/poolball_strike.ogg', 75) + + var/datum/storyteller_roll/pool_aiming/accuracy_roll = new() + var/accuracy_result = accuracy_roll.st_roll(user, src) * 2 + var/datum/storyteller_roll/pool_hits/amount_to_hit_roll = new() + var/amount_to_hit_result = amount_to_hit_roll.st_roll(user, src) + for(var/i in 1 to amount_to_hit_result) + if(!length(get_balls_on_table())) + break + sink_ball(user, choice, accuracy_result, amount_to_hit_result) + return ITEM_INTERACT_SUCCESS + +/datum/storyteller_roll/pool_aiming + bumper_text = "billiard aiming" + applicable_stats = list(STAT_DEXTERITY) + numerical = TRUE + // spammy_roll = TRUE + difficulty = 4 + +/datum/storyteller_roll/pool_hits + bumper_text = "billiard hit" + applicable_stats = list(STAT_PERCEPTION, STAT_STREETWISE) + numerical = TRUE + // spammy_roll = TRUE + difficulty = 4 + +/obj/structure/table/wood/billiard/attack_hand_secondary(mob/user, list/modifiers) + . = ..() + to_chat(user, span_notice("You begin reseting the table to play another game of 8-Ball.")) + if(do_after(user, 1 TURNS, src)) + reset_table() + user.visible_message(span_notice("[user] resets the table for another game of 8-Ball"), span_notice("You finish reseting the table. Ready for another game?")) + update_appearance() + return ITEM_INTERACT_SUCCESS + return ITEM_INTERACT_BLOCKING + +/obj/structure/table/wood/billiard/proc/sink_ball(mob/living/user, target_ball_type, accuracy_result, amount_to_hit_result, obj/item/pool_ball/sunk_ball) + if(!sunk_ball) + sunk_ball = random_ball(target_ball_type, accuracy_result) + + if(!sunk_ball) + return + if(num_to_ball_type(sunk_ball.ball_number) == EIGHT_BALL) + user.visible_message(span_warning("[user] [pick("Pitted", "Sank", "Sunk")] the 8-Ball.. Damn.."), span_warning("[pick("Fuck", "Shit", "Piss")].. You [pick("Pitted", "Sank", "Sunk")] the 8-Ball")) + else + user.visible_message(span_notice("[user] sinks [sunk_ball]. [length(get_balls_on_table(num_to_ball_type(sunk_ball.ball_number)))] left."), span_notice("You sink [sunk_ball]!")) + sunk_ball.forceMove(src) + + for(var/obj/item/pool_ball/ball in get_balls_on_table(list(SOLID_BALL, STRIPED_BALL, EIGHT_BALL, ZERO_BALL))) + if(prob(50 + amount_to_hit_result * 10)) + animate(ball, time = rand(0.5 SECONDS, 3 SECONDS) , pixel_x = rand(-TABLE_BOUNDS, TABLE_BOUNDS), pixel_y = rand(-TABLE_BOUNDS-6, TABLE_BOUNDS), easing = CUBIC_EASING|EASE_OUT) + +/obj/structure/table/wood/billiard/proc/random_ball(desired_ball_type, accuracy_result = 2) + var/list/obj/item/pool_ball/sorted_balls = get_balls_on_table() + var/list/obj/item/pool_ball/weighted_balls = list() + for(var/obj/item/pool_ball/entry in sorted_balls) + if(desired_ball_type == num_to_ball_type(entry.ball_number)) + weighted_balls[entry] = accuracy_result + else + weighted_balls[entry] = 1 + return pick_weight(weighted_balls) + +/obj/structure/table/wood/billiard/proc/reset_table() + var/turf/my_turf = get_turf(src) + for(var/obj/item/pool_ball/ball in contents) + ball.forceMove(my_turf) + ball.pixel_x = rand(-TABLE_BOUNDS,TABLE_BOUNDS) + ball.pixel_y = rand(-TABLE_BOUNDS-6,TABLE_BOUNDS) + +/obj/structure/table/wood/billiard/proc/get_balls_on_table(list/looking_for = list(SOLID_BALL, STRIPED_BALL, EIGHT_BALL), sorted = FALSE) + RETURN_TYPE(/list/obj/item/pool_ball) + + var/turf/my_turf = get_turf(src) + + // Lets us pass a single item and turn it into a list + if(looking_for && !islist(looking_for)) + looking_for = list(looking_for) + + var/list/all_balls = list() + for(var/obj/item/pool_ball/ball in my_turf) + if(!(num_to_ball_type(ball.ball_number) in looking_for)) + continue + all_balls += ball + + if(sorted) + all_balls = sort_list(all_balls, GLOBAL_PROC_REF(cmp_num_string_asc)) + return all_balls + +/obj/structure/table/wood/billiard/proc/num_to_ball_type(number) + switch(number) + if(1 to 7) + return SOLID_BALL + if(9 to 15) + return STRIPED_BALL + if(8) + return EIGHT_BALL + if(0) + return ZERO_BALL + +#undef SOLID_BALL +#undef STRIPED_BALL +#undef EIGHT_BALL +#undef ZERO_BALL + +#undef TABLE_BOUNDS diff --git a/modular_darkpack/modules/billiards/icons/32x48.dmi b/modular_darkpack/modules/billiards/icons/32x48.dmi new file mode 100644 index 0000000000000000000000000000000000000000..1ae617561d4c6ec03cc68a657d5c9fa6334e161a GIT binary patch literal 1369 zcmV-f1*ZCmP)V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+ z(=$pyG8SCLC5a`eK&DbsW=>9KVo{2r5*KGmW>GOv%#e#Sttc@!6~e|)X+*S2V_Yhg z6NklIpt1X;7$v8pH|s^(FGR52efS z^h76g^{hZ^cN;km^+#0a$&>(i(~X&#@Cx!EJu?qRs-p0B65!mg#{k(769Hg~yL+N0g&b4Id~F&0Sz^0VOM35=HD~@2=IhLA>F@aUI481mCqlc;$#W& z2CXnJfKgl_0D8g5XhfG6xIzFUxJCfIULbl6^5bT!<^#$LrALD_>?e2tzd*rCtVbxG!l0oIw+@MkW%W?Z#;_{HPFPads5~cjjuwR^)0atHy z!|j_bB#mEtlq!EgfX!K34I4LtRrZzg6$F@`oVTO^YBAG({>~iQ%L9uq6qiyKhrEi>%|WeGCY_;~V@wUQlQuYMN^zv{-wFqW3lC+Q<3>o>}#uBolK`)4)I2?An2&(1- zcoA~;9dMlpswYJFl^D1l$4zLO5ke6xq30Sr?`%IddUUKkqq z9-wpqAEcQ2?an@m0=TW!Psa0)fG>a*nYLdDkc|a=53nNBg6sjZv4AB}V=TQn92YNO zH;#%Ipn>D!1?sRE0#8xTF>*7iAWdWaj5FFjUM54l5`s{r)Am z;N#aPTHd-^=gyoD-VkbV(fGk5o%24LCmD)*dUseD2N_>B_EMPhXws2MAqv5oJ5546 zyNy*huaH>M+HJg6!_Zvxh}n~%u!66}jM7{T-}gy+GxZxB0NUB^>EamT(V3jEKv>|A z(lQT^Mnz997L70mc5?%Z1T7B7hpY)&9*z%H1%ezdu$)?};Lg}(9%=COB2(54tpJrJ z2`Wr$8k^?a-N3f`!-U`iZ4+w6RKqoPHy85}Sb4q9e02$$a%K!iX literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/billiards/icons/billiard.dmi b/modular_darkpack/modules/billiards/icons/billiard.dmi new file mode 100644 index 0000000000000000000000000000000000000000..bd8690c25e7dd17a28987e5e9aebb04917435f83 GIT binary patch literal 25218 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 F{}-q3i3|V$ literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/billiards/icons/billiard_onfloor.dmi b/modular_darkpack/modules/billiards/icons/billiard_onfloor.dmi new file mode 100644 index 0000000000000000000000000000000000000000..8da85d0e53e6c302188e30ff95a7088f437ddf3d GIT binary patch literal 1478 zcmZ`(c~sI_7=1s%Fv@{k%F=?GN-`bMOf4oMvr{MWAcpxAWSeq>IY z-0kbEKD#XN%Bl&1gP{x7WbNK}G8g@c`WmC9$1|uX0->PWy6Tbc6mJAI!maSE-$gkj z>S>?cF1TlE+unR5V%FNOF(-GAjwpIKHodN=sfo2BTtBb5xeG5!UY=4<&kj%RRC?!K zF~Jrx^O3n?bQvRmox^X~6WV*zj~R&Ve5ZBAL|+tk0=6Z5^d0A(<@MxyMZ{m}Fr`nc zJ;yK^2LN2)x4rSPb8xcMfZBsh=Em*J64|yCY>y zeag{!-HW5Ul5yv82`P1{L;4%Kok({E%^X5E$0uOpbKTD0T>I=8uc8rcQnyDGoB2u+ zygqHQoE;_}Gpan(zONwN@c|jqV`#W(xB)Uik`|I69E1bwK-uq*>%jgeo$o8-OPm8& zAqdqC3Pf1eKt${Fpe)r)hIeq2{PH(%g-0!7I27_g%v)ZO*LkA383j`t^xn36?3x0$ z@lBkPC^qkupk7(2GHR0^W{cP^Ew#HjTj>RMMDFp8Y?X8Y0x@GnV`pU@K558r7hnp# z7&ogT-RX3{F|tgf4B6T?B&l!73Ys|s7ay)rR&OfKXVHGeQz$?+^xw6v6shn^`& z##0#&MD)$Pik{cx*^0bKU+NK%NaYz56(~Aizv{7*s)8TSBa5!j`TR`15@l`P&-gARoDzK zx*UvnJhznV?=3U5_oRKDzhuvOPbE`L6ya4r%{7UIQHNpGd^2R|?dh|>RL4n541Ek}adVy#+q$SdvY5WOB{lPJ+Do^p9+|Q%RRPgz z3%)1l`6=tK^eQk0DPc;4@d>#k>EU#-KMc)xf!+TZ{j$xhaej)Iq+;SusDtrOEdH1L zV`e@#EA&pM)%CJ+T|nq2Q^AFWf1b*1`~dyX)pdKDj_$dJj}D`rB$-N z4IFv8X(T|7a=mknN=>mL77NDB1=++cTMmtlkF&}#_=zOL4IYjS4|lXpx69~NsYV9E zTw(RFz}}K*L{%#6S2xod8s;-IGk*#Q2#9%&uo|F|3hsW%{rR0~=9HF!rL20FFblP< za5uHoY8};!Y%u6-d`tLZ%MR_mCHc|lKp+XQ7!dsX5L17G@(HPoHR6ij# zcCLOhaWx!G0?(EMIY|r40EJ;7#L6B(aJQS9_v7Cx(gbNXu5leYpSBSA@S(=PdV)&0 zsodH3<4xU}t)1u8$03TpM!yylXlUhZUFK7y1*tJ3toiO}4K=1TR!#SE327(vm<`}~ wDFn29I$!|J&qn|(V=oGj!0lCl(N{$W`76tw=fNkP)gLo(+Ue@RvG+;%8y9Dn?f?J) literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/billiards/icons/lefthand.dmi b/modular_darkpack/modules/billiards/icons/lefthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..06dfeaf61094671cd4d6c438527d9301d038c4e6 GIT binary patch literal 525 zcmV+o0`mQdP)FM05B2&Jr)4nvSA7&5$*s000DGTPE!Ct z=GbNc004V>R9JLGWpiV4X>fFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM z;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3K9+xir;4iHkEOv#1!Phl?|S3k(>T@mZmQX#oR1E3jF>fX@mH3xdHUPAf1hU`+s1%mKt& z5C)|au&ZZ9w*Z$y7+}XO#fo1iCSb!K-BW|MpzxVZ3Au`)2Gv9s_K+Z1L4|t2 P00000NkvXXu0mjf7~#RS literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/billiards/icons/righthand.dmi b/modular_darkpack/modules/billiards/icons/righthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..4e7136d5c65d826aa255699aae75be22c6e40476 GIT binary patch literal 515 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 z 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 X@WSnJdruD<_V(rq2IfT^2o4Sobi*U4 literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/decor/code/decor.dm b/modular_darkpack/modules/decor/code/decor.dm index 55f9ca252bab..216db9d025fe 100644 --- a/modular_darkpack/modules/decor/code/decor.dm +++ b/modular_darkpack/modules/decor/code/decor.dm @@ -437,18 +437,6 @@ /obj/underplate/stuff icon_state = "stuff" -/obj/structure/billiard_table - name = "billiard table" - desc = "Come here, play some BALLS. I know you want it so much..." - icon = 'modular_darkpack/modules/deprecated/icons/32x48.dmi' - icon_state = "billiard1" - anchored = TRUE - density = TRUE - -/obj/structure/billiard_table/Initialize(mapload) - . = ..() - icon_state = "billiard[rand(1, 3)]" - /obj/structure/pole name = "stripper pole" desc = "A pole fastened to the ceiling and floor, used to show of ones goods to company." diff --git a/modular_darkpack/modules/deprecated/icons/32x48.dmi b/modular_darkpack/modules/deprecated/icons/32x48.dmi index f29a6a2c7af14d5686ee2ad0fa5b5c44571b0a26..d3b06fc711f37e379141865d5d674654f1190237 100644 GIT binary patch literal 37717 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 literal 38320 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 Date: Tue, 17 Feb 2026 09:33:20 +0000 Subject: [PATCH 259/271] Automatic changelog for PR #675 [ci skip] --- html/changelogs/AutoChangeLog-pr-675.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-675.yml diff --git a/html/changelogs/AutoChangeLog-pr-675.yml b/html/changelogs/AutoChangeLog-pr-675.yml new file mode 100644 index 000000000000..ba2dac3e5a9e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-675.yml @@ -0,0 +1,4 @@ +author: "FalloutFalcon" +delete-after: True +changes: + - rscadd: "Pool tables has balls and cue's that creates a little 8-Ball mini-game." \ No newline at end of file From f7067e4dbcb04fe90f7aa4b2fe56a6e96bd9abe4 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 17 Feb 2026 03:06:45 -0600 Subject: [PATCH 260/271] Berets in loudout and gags support for onfloors (#671) ## About The Pull Request https://github.com/user-attachments/assets/d2049c0f-f205-40f6-8870-2c32a5316249 ## Why It's Good For The Game its useful to support gags on on-floors as we still use grey scalable TG items in game and map atm. This prob wont mean we convert item to gags as many of the vtm sprites have baked in hue shifting which doesnt translate well to GAGS/greyscale ## Changelog :cl: add Adds grey scalable berets to loadout image: Adds onfloors for berets code: Onfloor sprites now support GAGS /:cl: --- code/datums/elements/gags_recolorable.dm | 4 ++++ code/game/machinery/washing_machine.dm | 4 ++++ code/game/objects/items.dm | 15 +++++++++++++-- code/modules/clothing/head/collectable.dm | 2 ++ code/modules/clothing/head/hat.dm | 1 + code/modules/clothing/head/jobs.dm | 8 ++++++++ code/modules/clothing/spacesuits/specialops.dm | 1 + code/modules/loadout/loadout_items.dm | 4 ++++ code/modules/unit_tests/greyscale_config.dm | 7 +++++++ modular_darkpack/modules/clothes/code/head.dm | 3 --- .../modules/clothes/icons/head_onfloor.dmi | Bin 0 -> 523 bytes .../modules/loadout/code/categories/heads.dm | 3 +++ .../onfloor_icons/code/dynamic_item_icon.dm | 3 ++- .../modules/onfloor_icons/code/gags_configs.dm | 7 +++++++ tgstation.dme | 1 + 15 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 modular_darkpack/modules/clothes/icons/head_onfloor.dmi create mode 100644 modular_darkpack/modules/onfloor_icons/code/gags_configs.dm diff --git a/code/datums/elements/gags_recolorable.dm b/code/datums/elements/gags_recolorable.dm index 3802492bc3b5..643e89b33db3 100644 --- a/code/datums/elements/gags_recolorable.dm +++ b/code/datums/elements/gags_recolorable.dm @@ -42,6 +42,10 @@ allowed_configs += "[initial(item.greyscale_config_inhand_left)]" if(initial(item.greyscale_config_inhand_right)) allowed_configs += "[initial(item.greyscale_config_inhand_right)]" + // DARKPACK EDIT ADD START - ONFLOOR_ICONS + if(initial(item.greyscale_config_onfloor)) + allowed_configs += "[initial(item.greyscale_config_onfloor)]" + // DARKPACK EDIT ADD END var/datum/greyscale_modify_menu/spray_paint/menu = new( target, user, allowed_configs, CALLBACK(src, PROC_REF(recolor), user, can, target), diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index b88f0f9c1dd2..0476fdad5bdd 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -268,6 +268,10 @@ GLOBAL_LIST_INIT(dye_registry, list( new_greyscale_args["new_inhand_left"] = initial(target_type.greyscale_config_inhand_left) if(initial(target_type.greyscale_config_inhand_right)) new_greyscale_args["new_inhand_right"] = initial(target_type.greyscale_config_inhand_right) + // DARKPACK EDIT ADD START - ONFLOOR_ICONS + if(initial(target_type.greyscale_config_onfloor)) + new_greyscale_args["new_onfloor_config"] = initial(target_type.greyscale_config_onfloor) + // DARKPACK EIDT ADD END if(new_greyscale_args.len) new_greyscale_args["colors"] = initial(target_type.greyscale_colors) || COLOR_WHITE diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index dadf220db745..266e9e688dff 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -47,6 +47,9 @@ var/greyscale_config_inhand_right ///The config type to use for greyscaled belt overlays. Both this and greyscale_colors must be assigned to work. var/greyscale_config_belt + // DARKPACK EDIT ADD START - ONFLOOR_ICONS + var/greyscale_config_onfloor + // DARKPACK EDIT ADD END /* !!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!! @@ -250,7 +253,7 @@ if(sharpness && force > 5) //give sharp objects butchering functionality, for consistency AddComponent(/datum/component/butchering, speed = 8 SECONDS * toolspeed) - if(!greyscale_config && greyscale_colors && (greyscale_config_worn || greyscale_config_belt || greyscale_config_inhand_right || greyscale_config_inhand_left)) + if(!greyscale_config && greyscale_colors && (greyscale_config_worn || greyscale_config_belt || greyscale_config_inhand_right || greyscale_config_inhand_left || greyscale_config_onfloor)) // DARKPACK EDIT CHANE START - ONFLOOR_ICONS update_greyscale() . = ..() @@ -378,13 +381,17 @@ /obj/item/proc/suicide_act(mob/living/user) return -/obj/item/set_greyscale(list/colors, new_config, new_worn_config, new_inhand_left, new_inhand_right) +/obj/item/set_greyscale(list/colors, new_config, new_worn_config, new_inhand_left, new_inhand_right, new_onfloor_config) // DARKPACK EDIT CHANGE - ONFLOOR_ICONS if(new_worn_config) greyscale_config_worn = new_worn_config if(new_inhand_left) greyscale_config_inhand_left = new_inhand_left if(new_inhand_right) greyscale_config_inhand_right = new_inhand_right + // DARKPACK EDIT ADD START - ONFLOOR_ICONS + if(new_onfloor_config) + greyscale_config_onfloor = new_onfloor_config + // DARKPACK EDIT ADD END return ..() /// Checks if this atom uses the GAGS system and if so updates the worn and inhand icons @@ -398,6 +405,10 @@ lefthand_file = SSgreyscale.GetColoredIconByType(greyscale_config_inhand_left, greyscale_colors) if(greyscale_config_inhand_right) righthand_file = SSgreyscale.GetColoredIconByType(greyscale_config_inhand_right, greyscale_colors) + // DARKPACK EDIT ADD START - ONFLOOR_ICONS + if(greyscale_config_onfloor) + onflooricon = SSgreyscale.GetColoredIconByType(greyscale_config_onfloor, greyscale_colors) + // DARKPACK EDIT ADD END /obj/item/verb/move_to_top() set name = "Move To Top" diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index 90f85d352f04..ee8e2b49e43f 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -73,6 +73,7 @@ post_init_icon_state = "beret" greyscale_config = /datum/greyscale_config/beret greyscale_config_worn = /datum/greyscale_config/beret/worn + greyscale_config_onfloor = /datum/greyscale_config/beret/onfloor // DARKPACK EDIT ADD - ONFLOOR_ICONS greyscale_colors = "#972A2A" dog_fashion = /datum/dog_fashion/head/beret hair_mask = /datum/hair_mask/standard_hat_middle @@ -104,6 +105,7 @@ post_init_icon_state = "beret_flat" greyscale_config = /datum/greyscale_config/beret greyscale_config_worn = /datum/greyscale_config/beret/worn + greyscale_config_onfloor = /datum/greyscale_config/beret/onfloor // DARKPACK EDIT ADD - ONFLOOR_ICONS greyscale_colors = "#8F7654" inhand_icon_state = null flags_1 = parent_type::flags_1 | NO_NEW_GAGS_PREVIEW_1 diff --git a/code/modules/clothing/head/hat.dm b/code/modules/clothing/head/hat.dm index 93c085f9fc1a..7a307d37b540 100644 --- a/code/modules/clothing/head/hat.dm +++ b/code/modules/clothing/head/hat.dm @@ -107,6 +107,7 @@ post_init_icon_state = "beret_flat" greyscale_config = /datum/greyscale_config/beret greyscale_config_worn = /datum/greyscale_config/beret/worn + greyscale_config_onfloor = /datum/greyscale_config/beret/onfloor // DARKPACK EDIT ADD - ONFLOOR_ICONS greyscale_colors = "#8F7654" inhand_icon_state = null diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 44c04771dbc3..11689e4b1b35 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -132,6 +132,7 @@ post_init_icon_state = "beret_badge" greyscale_config = /datum/greyscale_config/beret_badge greyscale_config_worn = /datum/greyscale_config/beret_badge/worn + greyscale_config_onfloor = /datum/greyscale_config/beret_badge/onfloor // DARKPACK EDIT ADD - ONFLOOR_ICONS greyscale_colors = "#0070B7#FFCE5B" hair_mask = /datum/hair_mask/standard_hat_middle @@ -393,6 +394,7 @@ post_init_icon_state = "beret" greyscale_config = /datum/greyscale_config/beret greyscale_config_worn = /datum/greyscale_config/beret/worn + greyscale_config_onfloor = /datum/greyscale_config/beret/onfloor // DARKPACK EDIT ADD - ONFLOOR_ICONS greyscale_colors = "#972A2A" flags_1 = IS_PLAYER_COLORABLE_1 hair_mask = /datum/hair_mask/standard_hat_middle @@ -454,6 +456,7 @@ post_init_icon_state = "beret_badge" greyscale_config = /datum/greyscale_config/beret_badge greyscale_config_worn = /datum/greyscale_config/beret_badge/worn + greyscale_config_onfloor = /datum/greyscale_config/beret_badge/onfloor // DARKPACK EDIT ADD - ONFLOOR_ICONS greyscale_colors = "#39393f#f0cc8f" hair_mask = /datum/hair_mask/standard_hat_middle @@ -571,6 +574,7 @@ post_init_icon_state = "beret_badge" greyscale_config = /datum/greyscale_config/beret_badge greyscale_config_worn = /datum/greyscale_config/beret_badge/worn + greyscale_config_onfloor = /datum/greyscale_config/beret_badge/onfloor // DARKPACK EDIT ADD - ONFLOOR_ICONS greyscale_colors = "#a52f29#F2F2F2" armor_type = /datum/armor/cosmetic_sec strip_delay = 6 SECONDS @@ -613,6 +617,7 @@ post_init_icon_state = "beret_badge" greyscale_config = /datum/greyscale_config/beret_badge greyscale_config_worn = /datum/greyscale_config/beret_badge/worn + greyscale_config_onfloor = /datum/greyscale_config/beret_badge/onfloor // DARKPACK EDIT ADD - ONFLOOR_ICONS greyscale_colors = "#7e1980#c9cbcb" //Medical @@ -797,6 +802,7 @@ post_init_icon_state = "beret_badge" greyscale_config = /datum/greyscale_config/beret_badge greyscale_config_worn = /datum/greyscale_config/beret_badge/worn + greyscale_config_onfloor = /datum/greyscale_config/beret_badge/onfloor // DARKPACK EDIT ADD - ONFLOOR_ICONS greyscale_colors = "#C5D4F3#ECF1F8" armor_type = /datum/armor/beret_durathread @@ -826,6 +832,7 @@ post_init_icon_state = "beret_badge" greyscale_config = /datum/greyscale_config/beret_badge greyscale_config_worn = /datum/greyscale_config/beret_badge/worn + greyscale_config_onfloor = /datum/greyscale_config/beret_badge/onfloor // DARKPACK EDIT ADD - ONFLOOR_ICONS greyscale_colors = "#46b946#f2c42e" armor_type = /datum/armor/beret_centcom_formal strip_delay = 10 SECONDS @@ -855,5 +862,6 @@ post_init_icon_state = "beret_badge" greyscale_config = /datum/greyscale_config/beret_badge greyscale_config_worn = /datum/greyscale_config/beret_badge/worn + greyscale_config_onfloor = /datum/greyscale_config/beret_badge/onfloor // DARKPACK EDIT ADD - ONFLOOR_ICONS greyscale_colors = "#43523d#a2abb0" armor_type = /datum/armor/cosmetic_sec diff --git a/code/modules/clothing/spacesuits/specialops.dm b/code/modules/clothing/spacesuits/specialops.dm index d0f06f89a67e..dc55e3ec0d50 100644 --- a/code/modules/clothing/spacesuits/specialops.dm +++ b/code/modules/clothing/spacesuits/specialops.dm @@ -6,6 +6,7 @@ post_init_icon_state = "beret_badge" greyscale_config = /datum/greyscale_config/beret_badge greyscale_config_worn = /datum/greyscale_config/beret_badge/worn + greyscale_config_onfloor = /datum/greyscale_config/beret_badge/onfloor // DARKPACK EDIT ADD - ONFLOOR_ICONS inhand_icon_state = null greyscale_colors = "#397F3F#FFCE5B" clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT diff --git a/code/modules/loadout/loadout_items.dm b/code/modules/loadout/loadout_items.dm index defb470356c2..7f93eec9c93d 100644 --- a/code/modules/loadout/loadout_items.dm +++ b/code/modules/loadout/loadout_items.dm @@ -140,6 +140,10 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) allowed_configs += "[initial(item_path.greyscale_config_inhand_left)]" if(initial(item_path.greyscale_config_inhand_right)) allowed_configs += "[initial(item_path.greyscale_config_inhand_right)]" + // DARKPACK EDIT ADD START - ONFLOOR_ICONS + if(initial(item_path.greyscale_config_onfloor)) + allowed_configs += "[initial(item_path.greyscale_config_onfloor)]" + // DARKPACK EDIT ADD END var/datum/greyscale_modify_menu/menu = new( manager, diff --git a/code/modules/unit_tests/greyscale_config.dm b/code/modules/unit_tests/greyscale_config.dm index edd6df20c5aa..1c9663806a20 100644 --- a/code/modules/unit_tests/greyscale_config.dm +++ b/code/modules/unit_tests/greyscale_config.dm @@ -25,6 +25,13 @@ if(belt && !belt.icon_states[inside_belt_icon_state]) TEST_FAIL("[belt.DebugName()] is missing a sprite for the belt overlay for [item_path]. Expected icon state: '[inside_belt_icon_state]'") + // DARKPACK EDIT ADD START - ONFLOOR_ICONS + var/datum/greyscale_config/onfloor = SSgreyscale.configurations["[initial(item_path.greyscale_config_onfloor)]"] + var/onflooricon_state = item_path::onflooricon_state || item_path::post_init_icon_state || item_path::icon_state + if(onfloor && !onfloor.icon_states[onflooricon_state]) + TEST_FAIL("[onfloor.DebugName()] is missing a sprite for the onfloor icon for [item_path]. Expected icon state: '[onflooricon_state]'") + // DARKPACK EDIT ADD END + /// Makes sure objects using greyscale configs have, if any, the correct number of colors /datum/unit_test/greyscale_color_count diff --git a/modular_darkpack/modules/clothes/code/head.dm b/modular_darkpack/modules/clothes/code/head.dm index 9d40fcef5581..594215ef8d7c 100644 --- a/modular_darkpack/modules/clothes/code/head.dm +++ b/modular_darkpack/modules/clothes/code/head.dm @@ -374,7 +374,4 @@ /obj/item/clothing/head/beret/black name = "black beret" desc = "A black beret, perfect for war veterans and dark, brooding, anti-hero mimes." - icon_state = "beret" - greyscale_config = /datum/greyscale_config/beret - greyscale_config_worn = /datum/greyscale_config/beret/worn greyscale_colors = "#3f3c40" diff --git a/modular_darkpack/modules/clothes/icons/head_onfloor.dmi b/modular_darkpack/modules/clothes/icons/head_onfloor.dmi new file mode 100644 index 0000000000000000000000000000000000000000..edcb059e7e98e44674d24eeb8384adf16bf45c39 GIT binary patch literal 523 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!)0(?ST4;(nq#Kf?YiQy0@dl*mw zA9oW2Lnj~ibXL~6!UE~yLfNuned0nBWyKcCh%Hf+&Xt##EHANCMRw-Qndi@+|NsAg zT3Q;=kecu65kNB;OM?7@862M7NCR@ZszM@4TvCgZi!uvJGV}8o7%JujhZPi+e*Y3& z@bT*tEpJ_|b7#&6ZwNKGX#C)j&UqirlMF>Yy*n(7gN!d5dnwF$H0j8s5QSjR&TeDX z%_}5Mm^^vpqwRIZmvy6W!=jazol_MOZIxwJdM?bI5;Y~NDR#HwtW`g@%yChgqPA?w z@<%~S*F1Rjoavh)LsN`>&O&zwb)c(md%8G=WHi3Lc2MY$0uRfD6-!0D9ChFRuV1BU z{OyWq-|=1VcR4dX5fW5dWM6z!_WAX@g>|A+|AFeg`;Y5$ zIKG#Ez-_hFm*Jd4u5g2Kz-^WXJRLyrLTAn2_>^^9^|;q1Jh}F7{qyO*N59%XzxMCH zoxSwez`S?=vsVW^|9bq+o&Q^#>OS%4XFLO{5*4xe=j!JI0VQSnSu=TFGd7$*0rVz= LCs1OYQ$iB}TtML> literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/loadout/code/categories/heads.dm b/modular_darkpack/modules/loadout/code/categories/heads.dm index d299ef0353e4..b4070bf1806f 100644 --- a/modular_darkpack/modules/loadout/code/categories/heads.dm +++ b/modular_darkpack/modules/loadout/code/categories/heads.dm @@ -105,3 +105,6 @@ /datum/loadout_item/head/prayer_veil name = "Prayer Veil" item_path = /obj/item/clothing/head/vampire/prayer_veil + +/datum/loadout_item/head/beret + item_path = /obj/item/clothing/head/beret diff --git a/modular_darkpack/modules/onfloor_icons/code/dynamic_item_icon.dm b/modular_darkpack/modules/onfloor_icons/code/dynamic_item_icon.dm index f95918d9cce3..f9052eee82ab 100644 --- a/modular_darkpack/modules/onfloor_icons/code/dynamic_item_icon.dm +++ b/modular_darkpack/modules/onfloor_icons/code/dynamic_item_icon.dm @@ -44,10 +44,10 @@ item.item_flags &= ~ACTIVE_WORLD_ICON item.update_icon() + item.update_greyscale() /datum/element/dynamic_item_icon/proc/apply_onfloor_icon(obj/item/item) item.icon = item.onflooricon - item.worn_icon = initial(item.worn_icon) item.pixel_w = 0 item.cut_overlays() if (item.onflooricon_state) @@ -57,3 +57,4 @@ item.item_flags |= ACTIVE_WORLD_ICON item.update_icon() + //item.update_greyscale() diff --git a/modular_darkpack/modules/onfloor_icons/code/gags_configs.dm b/modular_darkpack/modules/onfloor_icons/code/gags_configs.dm new file mode 100644 index 000000000000..bccde76a4e12 --- /dev/null +++ b/modular_darkpack/modules/onfloor_icons/code/gags_configs.dm @@ -0,0 +1,7 @@ +/datum/greyscale_config/beret/onfloor + name = "Badged (Onfloor)" + icon_file = 'modular_darkpack/modules/clothes/icons/head_onfloor.dmi' + +/datum/greyscale_config/beret_badge/onfloor + name = "Badged Beret (Onfloor)" + icon_file = 'modular_darkpack/modules/clothes/icons/head_onfloor.dmi' diff --git a/tgstation.dme b/tgstation.dme index 45fcf911e083..e857ed933c51 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7356,6 +7356,7 @@ #include "modular_darkpack\modules\occult_artifacts\code\artifacts\weekapaug_thistle.dm" #include "modular_darkpack\modules\onfloor_icons\code\apply_onfloor_icon_element.dm" #include "modular_darkpack\modules\onfloor_icons\code\dynamic_item_icon.dm" +#include "modular_darkpack\modules\onfloor_icons\code\gags_configs.dm" #include "modular_darkpack\modules\paths\code\conjured_items.dm" #include "modular_darkpack\modules\paths\code\occult_research.dm" #include "modular_darkpack\modules\paths\code\path.dm" From 8f41c6e05e8db53dfbd1d0808448d3f2b10577e4 Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 09:48:56 +0000 Subject: [PATCH 261/271] Automatic changelog for PR #671 [ci skip] --- html/changelogs/AutoChangeLog-pr-671.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-671.yml diff --git a/html/changelogs/AutoChangeLog-pr-671.yml b/html/changelogs/AutoChangeLog-pr-671.yml new file mode 100644 index 000000000000..55d48c175e95 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-671.yml @@ -0,0 +1,5 @@ +author: "FalloutFalcon" +delete-after: True +changes: + - image: "Adds onfloors for berets" + - code_imp: "Onfloor sprites now support GAGS" \ No newline at end of file From 1cde729067bb16a93f4b60e8ead6d2285ae0b427 Mon Sep 17 00:00:00 2001 From: chazzyjazzy <33268885+chazzyjazzy@users.noreply.github.com> Date: Wed, 18 Feb 2026 21:57:36 -0500 Subject: [PATCH 262/271] Merits and Flaws Beginning (#542) ## About The Pull Request This PR will eventually make the basic architecture for all the merits/flaws, so that we have the hooking into st_stats and the quirk/darkpack subtype in one PR, and then all the quirks themselves in another so that things are nice and atomized ## Why It's Good For The Game ye ## Changelog :cl: code: makes the basic structure for merits and flaws /:cl: --------- Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- .../~darkpack/traits/declarations.dm | 9 ++- code/_globalvars/traits/_traits.dm | 1 + .../subsystem/processing/quirks.dm | 2 +- .../client/preferences/middleware/quirks.dm | 61 +++++++++++++++- code/modules/unit_tests/quirks.dm | 61 ++++++++++++++-- config/game_options.txt | 2 +- .../code/modules/mob/living/carbon/examine.dm | 16 +++-- .../modules/government/code/passport.dm | 23 ------ .../merits_flaws/code/_darkpack_quirk.dm | 71 +++++++++++++++++++ .../merits_flaws/code/illegal_identity.dm | 29 ++++++++ .../merits_flaws/code/permanent_fangs.dm | 10 +++ .../modules/merits_flaws/merits_flaws.md | 28 ++++++++ .../modules/splats/code/splat_management.dm | 9 +++ .../modules/weapons/code/pliers.dm | 2 +- tgstation.dme | 3 + .../CharacterPreferences/QuirksPage.tsx | 24 ++++--- 16 files changed, 301 insertions(+), 50 deletions(-) create mode 100644 modular_darkpack/modules/merits_flaws/code/_darkpack_quirk.dm create mode 100644 modular_darkpack/modules/merits_flaws/code/illegal_identity.dm create mode 100644 modular_darkpack/modules/merits_flaws/code/permanent_fangs.dm create mode 100644 modular_darkpack/modules/merits_flaws/merits_flaws.md diff --git a/code/__DEFINES/~darkpack/traits/declarations.dm b/code/__DEFINES/~darkpack/traits/declarations.dm index 5291c3c51d00..881b6dbe0df0 100644 --- a/code/__DEFINES/~darkpack/traits/declarations.dm +++ b/code/__DEFINES/~darkpack/traits/declarations.dm @@ -95,7 +95,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_MYSTICISM_KNOWLEDGE "mysticism_knowledge" #define TRAIT_NECROMANCY_KNOWLEDGE "necromancy_knowledge" #define TRAIT_SERPENTIS_SKIN "serpent_skin" -#define TRAIT_ILLEGAL_IDENTITY "illegal_identity" // GOVERMENT + // Allows the user to pass through doors #define TRAIT_PASSDOOR "trait_passdoor" // DARKPACK EDIT ADD - Obtenebration & Mysticism Rework @@ -112,4 +112,11 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai // Is the Vampire currently hungry? Hunger is defined at a bloodpool rating of 7 - self control (if humanity alignment) or instincts (enlightenment alignment) // its called this because theres apparently already a defined quirk called 'hungry' which appears to lower your blood drawn from biting by half. #define TRAIT_NEEDS_BLOOD "vampire_hungry" + + +// BELOW ARE ALL MERITS/FLAWS +#define TRAIT_ILLEGAL_IDENTITY "illegal_identity" // GOVERNMENT +#define TRAIT_PERMAFANGS "permafangs" + + // END TRAIT DEFINES diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index 4b30fcfba89b..cdf391b3a32e 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -521,6 +521,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_PERCEPTUAL_TRAUMA_BYPASS" = TRAIT_PERCEPTUAL_TRAUMA_BYPASS, "TRAIT_PERFECT_ATTACKER" = TRAIT_PERFECT_ATTACKER, "TRAIT_PERMANENTLY_MORTAL" = TRAIT_PERMANENTLY_MORTAL, + "TRAIT_PERMAFANGS" = TRAIT_PERMAFANGS, "TRAIT_PHOTOGRAPHER" = TRAIT_PHOTOGRAPHER, "TRAIT_PIERCEIMMUNE" = TRAIT_PIERCEIMMUNE, "TRAIT_PLANT_SAFE" = TRAIT_PLANT_SAFE, diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index 1d7725dffe89..99c725a7d609 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -68,7 +68,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) /datum/controller/subsystem/processing/quirks/proc/SetupQuirks() // Sort by Positive, Negative, Neutral; and then by name - var/list/quirk_list = sort_list(valid_subtypesof(/datum/quirk), GLOBAL_PROC_REF(cmp_quirk_asc)) + var/list/quirk_list = sort_list(subtypesof(/datum/quirk/darkpack), GLOBAL_PROC_REF(cmp_quirk_asc)) // DARKPACK EDIT CHANGE - Original : var/list/quirk_list = sort_list(subtypesof(/datum/quirk), GLOBAL_PROC_REF(cmp_quirk_asc)) for(var/type in quirk_list) var/datum/quirk/quirk_type = type diff --git a/code/modules/client/preferences/middleware/quirks.dm b/code/modules/client/preferences/middleware/quirks.dm index b8ad5c462902..061ab6c4b806 100644 --- a/code/modules/client/preferences/middleware/quirks.dm +++ b/code/modules/client/preferences/middleware/quirks.dm @@ -62,6 +62,9 @@ data["default_quirk_balance"] = CONFIG_GET(number/default_quirk_points) data["species_disallowed_quirks"] = get_species_compatibility() data["splat_disallowed_quirks"] = get_splat_compatibility() // DARKPACK EDIT ADD - SPLATS + data["quirk_balance"] = get_quirk_balance() // DARKPACK EDIT ADD - MERITS/FLAWS + data["freebie_points"] = get_freebie_points() // DARKPACK EDIT ADD - MERITS/FLAWS + data["clan_disallowed_quirks"] = get_clan_compatibility() // DARKPACK EDIT ADD - MERITS/FLAWS return data @@ -73,6 +76,8 @@ data["selected_quirks"] = get_selected_quirks() data["species_disallowed_quirks"] = get_species_compatibility() data["splat_disallowed_quirks"] = get_splat_compatibility() // DARKPACK EDIT ADD - SPLATS + data["freebie_points"] = get_freebie_points() // DARKPACK EDIT ADD - MERITS/FLAWS + data["clan_disallowed_quirks"] = get_clan_compatibility() // DARKPACK EDIT ADD - MERITS/FLAWS return data @@ -112,7 +117,11 @@ /datum/preference_middleware/quirks/proc/give_quirk(list/params, mob/user) var/quirk_name = params["quirk"] - + // DARKPACK EDIT ADD - MERITS/FLAWS + var/datum/st_stat/freebie/freebie_points = preferences.preference_storyteller_stats["[STAT_FREEBIE_POINTS]"] + var/datum/quirk/quirk_type = SSquirks.quirks[quirk_name] + freebie_points.decrease_points(quirk_type.value) + // DARKPACK EDIT END - MERITS/FLAWS preferences.validate_quirks() var/list/new_quirks = preferences.all_quirks | quirk_name if (SSquirks.filter_invalid_quirks(new_quirks) != new_quirks) @@ -130,7 +139,11 @@ /datum/preference_middleware/quirks/proc/remove_quirk(list/params, mob/user) var/quirk_name = params["quirk"] - + // DARKPACK EDIT ADD - MERITS/FLAWS + var/datum/st_stat/freebie/freebie_points = preferences.preference_storyteller_stats["[STAT_FREEBIE_POINTS]"] + var/datum/quirk/quirk_type = SSquirks.quirks[quirk_name] + freebie_points.increase_points(quirk_type.value) + // DARKPACK EDIT END - MERITS/FLAWS var/list/new_quirks = preferences.all_quirks - quirk_name if ( \ !(quirk_name in preferences.all_quirks) \ @@ -155,3 +168,47 @@ selected_quirks += sanitize_css_class_name(quirk) return selected_quirks + +//DARKPACK EDIT ADD - MERITS/FLAWS + +/datum/preference_middleware/quirks/proc/get_freebie_points() + var/datum/st_stat/freebie/freebie_stat = preferences.preference_storyteller_stats["[STAT_FREEBIE_POINTS]"] + if(!freebie_stat) + return null + + var/base_points = 15 + var/spent_on_stats = freebie_stat.freebie_cost_spent + var/quirk_balance = get_quirk_balance() + + return base_points - spent_on_stats + quirk_balance + +/datum/preference_middleware/quirks/proc/get_quirk_balance() + var/total_cost = 0 + for(var/quirk_name in preferences.all_quirks) + var/datum/quirk/quirk_type = SSquirks.quirks[quirk_name] + total_cost -= quirk_type.value + return total_cost + +/datum/preference_middleware/quirks/proc/get_clan_compatibility() + var/list/clan_blacklist = list() + var/clan_name = preferences.read_preference(/datum/preference/choiced/vampire_clan) + + if(!clan_name) + return clan_blacklist + + //clan_name is clan.name which is "Brujah" vampire clan list is "name" ("Brujah") = typepath, vampire_clans is typepath = datum. we need the datum for the id, which is... just a lowercase name... + var/datum/vampire_clan/clan = GLOB.vampire_clans[GLOB.vampire_clan_list[clan_name]] + for(var/quirk_path in SSquirks.quirk_prototypes) + var/datum/quirk/quirk_prototype = SSquirks.quirk_prototypes[quirk_path] + + // clan exclusion is only going to reasonably appear on darkpack quirks + if(!istype(quirk_prototype, /datum/quirk/darkpack)) + continue + + var/datum/quirk/darkpack/darkpack_quirk = quirk_prototype + if(!darkpack_quirk.is_clan_appropriate(clan)) + clan_blacklist += quirk_prototype.name + + return clan_blacklist + +//DARKPACK EDIT END - MERITS/FLAWS diff --git a/code/modules/unit_tests/quirks.dm b/code/modules/unit_tests/quirks.dm index 63ffbe62db8b..3fe8c465b158 100644 --- a/code/modules/unit_tests/quirks.dm +++ b/code/modules/unit_tests/quirks.dm @@ -21,6 +21,7 @@ /datum/unit_test/quirk_initial_medical_records /datum/unit_test/quirk_initial_medical_records/Run() + /* DARKPACK EDIT REMOVAL - MERITS/FLAWS - we don't need this and darkpack quirk splat/clan exclusion makes it impossible to add to a random test character with no splats var/mob/living/carbon/human/patient = allocate(/mob/living/carbon/human/consistent) for(var/datum/quirk/quirk_type as anything in valid_subtypesof(/datum/quirk)) @@ -35,6 +36,7 @@ TEST_ASSERT_NOTNULL(quirk.medical_record_text,"[quirk_type] has no medical record description!") patient.remove_quirk(quirk_type) + */ /// Ensures the blood deficiency quirk updates its mail goodies correctly /datum/unit_test/blood_deficiency_mail @@ -47,6 +49,7 @@ ) /datum/unit_test/blood_deficiency_mail/Run() + /* DARKPACK EDIT REMOVAL - MERITS/FLAWS - we are not using /tg/ quirks var/mob/living/carbon/human/dummy = allocate(/mob/living/carbon/human/consistent) dummy.add_quirk(/datum/quirk/blooddeficiency) var/datum/quirk/blooddeficiency/quirk = dummy.get_quirk(/datum/quirk/blooddeficiency) @@ -73,6 +76,7 @@ if(!isnull(species_to_test[last_species])) TEST_ASSERT(!(species_to_test[last_species] in quirk.mail_goodies), \ "Blood deficiency quirk did not update correctly for [species_type]! ([last_species] did not get its blood bag removed)") + */ /// Ensures that all quirks correctly initialized when added /datum/unit_test/quirk_validity @@ -82,7 +86,12 @@ // Assigning this manually as config is empty GLOB.uncommon_roundstart_languages = list(/datum/language/uncommon) - for (var/datum/quirk/quirk_type as anything in valid_subtypesof(/datum/quirk)) + for (var/datum/quirk/darkpack/quirk_type as anything in valid_subtypesof(/datum/quirk/darkpack)) // DARKPACK EDIT CHANGE - Original: for (var/datum/quirk/quirk_type as anything in valid_subtypesof(/datum/quirk)) + // DARKPACK EDIT ADD START - MERITS/FLAWS + var/list/forbidden_splats_test = quirk_type.forbidden_splats + var/list/allowed_splats_test = quirk_type.allowed_splats + var/list/excluded_clans_test = quirk_type.excluded_clans + // DARKPACK EDIT ADD END - MERITS/FLAWS var/mob/dead/new_player/abstract_player = allocate(/mob/dead/new_player) var/datum/client_interface/roundstart_mock_client = new() abstract_player.mock_client = roundstart_mock_client @@ -90,16 +99,58 @@ var/mob/living/carbon/human/new_character = allocate(/mob/living/carbon/human/consistent) new_character.mind_initialize() abstract_player.new_character = new_character - if (!new_character.add_quirk(quirk_type, roundstart_mock_client)) - TEST_FAIL("Failed to initialize quirk [quirk_type] on a roundstart character!") + + // DARKPACK EDIT ADD START - MERITS/FLAWS + // if allowed splats, add the allowed splat, then test, failure if its not added + if(allowed_splats_test) + for(var/datum/splat/allowed_splat in allowed_splats_test) + new_character.add_splat(allowed_splat) + if (!new_character.add_quirk(quirk_type, roundstart_mock_client)) + TEST_FAIL("Failed to initialize quirk [quirk_type] on a roundstart character with allowed splat [allowed_splat]!") + new_character.clear_splats() //clear after for the next test + + // if forbidden splats, add the disallowed splat, then test, failure if its added + if(forbidden_splats_test) + for(var/datum/splat/forbidden_splat in forbidden_splats_test) + new_character.add_splat(forbidden_splat) + if (new_character.add_quirk(quirk_type, roundstart_mock_client)) + TEST_FAIL("Successfully initialized quirk [quirk_type] on a roundstart character that had a forbidden splat [forbidden_splat]!") + new_character.clear_splats() + + // if all are null, then its an allowed quirk for all, failure if cannot add + if(!forbidden_splats_test && !allowed_splats_test && !excluded_clans_test) + if (!new_character.add_quirk(quirk_type, roundstart_mock_client)) + TEST_FAIL("Failed to initialize quirk [quirk_type] on a roundstart character!") + // DARKPACK EDIT ADD END - MERITS/FLAWS var/mob/living/carbon/human/latejoin_character = allocate(/mob/living/carbon/human/consistent) var/datum/client_interface/latejoin_mock_client = new() latejoin_mock_client.prefs = new(latejoin_mock_client) latejoin_character.mock_client = latejoin_mock_client latejoin_character.mind_initialize() - if (!latejoin_character.add_quirk(quirk_type, latejoin_mock_client)) - TEST_FAIL("Failed to initialize quirk [quirk_type] on a latejoin character!") + + // DARKPACK EDIT ADD - MERITS/FLAWS + // if allowed splats, add the allowed splat, then test, failure if its not added + if(allowed_splats_test) + for(var/datum/splat/allowed_splat in allowed_splats_test) + latejoin_character.add_splat(allowed_splat) + if (!latejoin_character.add_quirk(quirk_type, latejoin_mock_client)) + TEST_FAIL("Failed to initialize quirk [quirk_type] on a latejoin character with allowed splat [allowed_splat]!") + latejoin_character.clear_splats() + + // if forbidden splats, add the allowed splat, then test, failure if its added + if(forbidden_splats_test) + for(var/datum/splat/forbidden_splat in forbidden_splats_test) + latejoin_character.add_splat(forbidden_splat) + if (latejoin_character.add_quirk(quirk_type, latejoin_mock_client)) + TEST_FAIL("Successfully initialized quirk [quirk_type] on a latejoin character that had a forbidden splat [forbidden_splat]!") + latejoin_character.clear_splats() + + // if all are null, then its an allowed quirk for all, failure if cannot add + if(!forbidden_splats_test && !allowed_splats_test && !excluded_clans_test) + if (!latejoin_character.add_quirk(quirk_type, latejoin_mock_client)) + TEST_FAIL("Failed to initialize quirk [quirk_type] on a latejoin character!") + // DARKPACK EDIT ADD END - MERITS/FLAWS // Clean up after ourselves GLOB.uncommon_roundstart_languages.Cut() diff --git a/config/game_options.txt b/config/game_options.txt index acb47502f499..a7e9527451c9 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -557,7 +557,7 @@ NEGATIVE_STATION_TRAITS 3 1 # Uncomment to disable Quirk point balancing for the server and clients. # If enabled, players will be able to select positive quirks without first selecting negative quirks. # If enabled, randomized Quirks will still use points internally, in order to maintain balance. -#DISABLE_QUIRK_POINTS +DISABLE_QUIRK_POINTS # The maximum amount of positive quirks one character can have at roundstart. # If set to -1, then players will be able to select any quantity of positive quirks. diff --git a/modular_darkpack/master_files/code/modules/mob/living/carbon/examine.dm b/modular_darkpack/master_files/code/modules/mob/living/carbon/examine.dm index 629a2c982e78..f771551c6907 100644 --- a/modular_darkpack/master_files/code/modules/mob/living/carbon/examine.dm +++ b/modular_darkpack/master_files/code/modules/mob/living/carbon/examine.dm @@ -23,19 +23,21 @@ . += span_danger("[p_They()] [p_are()] a decayed corpse!
      ") if(HAS_TRAIT(src, TRAIT_SERPENTIS_SKIN) && !(HIDEJUMPSUIT)) // 'hidden by modest clothing' - . += span_danger("[p_They()] [p_are()] covered in... scales!?") + . += span_danger("[p_They()] [p_are()] covered in... scales!?
      ") if(!(obscured_slots & HIDEFACE)) switch(st_get_stat(STAT_APPEARANCE)) if(0) - . += span_bolddanger("AGHH!!! WHAT THE HELL IS THAT THING!!!") + . += span_bolddanger("AGHH!!! WHAT THE HELL IS THAT THING!!!
      ") if(1) - . += span_danger("Eugh. [p_They()] [p_are()] really ugly.") + . += span_danger("Eugh. [p_They()] [p_are()] really ugly.
      ") if(2) - . += span_notice("[p_They()] [p_are()] about average looking.") + . += span_notice("[p_They()] [p_are()] about average looking.
      ") if(3) - . += span_nicegreen("[p_They()] [p_are()] quite nice looking!") + . += span_nicegreen("[p_They()] [p_are()] quite nice looking!
      ") if(4) - . += span_purple("[p_They()] [p_are()] very attractive!") + . += span_purple("[p_They()] [p_are()] very attractive!
      ") if(5 to INFINITY) - . += span_rose(span_bold("Oh... My God... [p_They()] [p_are()] absolutely stunning! You find yourself blushing just looking at them!")) + . += span_rose(span_bold("Oh... My God... [p_They()] [p_are()] absolutely stunning! You find yourself blushing just looking at them!
      ")) + if (HAS_TRAIT(src, TRAIT_PERMAFANGS)) + . += span_warning("[p_They()] [p_have()] visible fangs in [p_their()] mouth.
      ") diff --git a/modular_darkpack/modules/government/code/passport.dm b/modular_darkpack/modules/government/code/passport.dm index f4c437f0da0c..37bcf6bf42b7 100644 --- a/modular_darkpack/modules/government/code/passport.dm +++ b/modular_darkpack/modules/government/code/passport.dm @@ -1,26 +1,3 @@ -/datum/quirk/illegal_identity - name = "Illegal Identity" - desc = "Illegal immigrant? Died legally? Born a wolf? The cops aren't happy." - value = 0 - quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_HIDE_FROM_SCAN - icon = FA_ICON_PERSON_CIRCLE_QUESTION - mob_trait = TRAIT_ILLEGAL_IDENTITY - gain_text = span_warning("You feel legally unprepared.") - lose_text = span_notice("You feel bureaucratically legitimate.") - medical_record_text = "Patient is not checked in with valid identification." - // excluded_clans = list(CLAN_RAVNOS) // DARKPACK TODO - RAVNOS - (They are forced to take this) - -/datum/quirk/illegal_identity/add() - . = ..() - if(!ishuman(quirk_holder)) - return - var/mob/living/carbon/human/criminal = quirk_holder - var/obj/item/passport/passport = locate() in criminal // In pockets - if(!passport && criminal.back) - passport = locate() in criminal.back // In backpack - if(passport && passport.owner == criminal.real_name) - passport.link_human(criminal) - /datum/loadout_item/pocket_items/passport name = "Identification" item_path = /obj/item/passport diff --git a/modular_darkpack/modules/merits_flaws/code/_darkpack_quirk.dm b/modular_darkpack/modules/merits_flaws/code/_darkpack_quirk.dm new file mode 100644 index 000000000000..18680a0b25b2 --- /dev/null +++ b/modular_darkpack/modules/merits_flaws/code/_darkpack_quirk.dm @@ -0,0 +1,71 @@ +/datum/quirk/darkpack + abstract_type = /datum/quirk/darkpack + /// List of splats (vampire clans/types) this quirk is allowed for. Null = all allowed + var/list/allowed_splats + /// List of splats this quirk is explicitly forbidden for + var/list/forbidden_splats + /// Excluded clans from this quirk (exclusive to vampire) + var/list/excluded_clans + /// Minimum Generation + var/minimum_generation + /// Unique failure message on joining the round (should probably just mix the clan and generation blocking into the tgui...) + var/failure_message = "One of the quirks you've selected hasn't applied - your character is ineligible to use it!" + +/datum/quirk/darkpack/add_to_holder(mob/living/new_holder, quirk_transfer = FALSE, client/client_source, unique = TRUE, announce = TRUE) + if(forbidden_splats) + for(var/datum/splat/splat as anything in new_holder.splats) + if(splat.id in forbidden_splats) + return FALSE + + if(allowed_splats) + var/has_allowed_splat = FALSE + for(var/datum/splat/splat as anything in new_holder.splats) + if(splat.id in allowed_splats) + has_allowed_splat = TRUE + break + if(!has_allowed_splat) + return FALSE + + if(excluded_clans && iskindred(new_holder)) + var/datum/splat/vampire/kindred/kindred_splat = iskindred(new_holder) + if(kindred_splat.clan && (kindred_splat.clan.id in excluded_clans)) + to_chat(new_holder, span_warning("[failure_message]")) + return FALSE + + if(minimum_generation) + var/datum/splat/vampire/kindred/kindred_splat = iskindred(new_holder) + if(kindred_splat.generation < minimum_generation) + to_chat(new_holder, span_warning("[failure_message]")) + return FALSE + return ..() + +/datum/quirk/darkpack/is_splat_appropriate(datum/splat/mob_splat) + if(!..()) + return FALSE + + if(!forbidden_splats && !allowed_splats && !excluded_clans) + return TRUE + + var/datum/splat/splat_path = GLOB.splat_prototypes[mob_splat] + var/splat_id = splat_path?.id + + if(forbidden_splats && (splat_id in forbidden_splats)) + return FALSE + + if(allowed_splats && !(splat_id in allowed_splats)) + return FALSE + + return TRUE + +/datum/quirk/darkpack/proc/is_clan_appropriate(datum/vampire_clan/clan) + if(!excluded_clans) + return TRUE + + if(!clan) + return TRUE + + if(clan.id in excluded_clans) + return FALSE + + return TRUE + diff --git a/modular_darkpack/modules/merits_flaws/code/illegal_identity.dm b/modular_darkpack/modules/merits_flaws/code/illegal_identity.dm new file mode 100644 index 000000000000..07688d52bdc5 --- /dev/null +++ b/modular_darkpack/modules/merits_flaws/code/illegal_identity.dm @@ -0,0 +1,29 @@ +/datum/quirk/darkpack/illegal_identity + name = "Illegal Identity" + desc = "Illegal immigrant? Died legally? Born a wolf? The cops aren't happy." + value = 0 + quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_HIDE_FROM_SCAN + icon = FA_ICON_PERSON_CIRCLE_QUESTION + mob_trait = TRAIT_ILLEGAL_IDENTITY + gain_text = span_warning("You feel legally unprepared.") + lose_text = span_notice("You feel bureaucratically legitimate.") + medical_record_text = "Patient is not checked in with valid identification." + //excluded_clans = list(VAMPIRE_CLAN_RAVNOS) // They are forced to take this + failure_message = "Oh, there's my actual ID, looks like I misplaced it..." + +/datum/quirk/darkpack/illegal_identity/add() + . = ..() + if(!ishuman(quirk_holder)) + return + var/mob/living/carbon/human/criminal = quirk_holder + var/obj/item/passport/passport = locate() in criminal // In pockets + if(!passport && criminal.back) + passport = locate() in criminal.back // In backpack + if(passport && passport.owner == criminal.real_name) + passport.link_human(criminal) + //drivers license too + var/obj/item/card/drivers_license/license = locate() in criminal // In pockets + if(!license && criminal.back) + license = locate() in criminal.back // In backpack + if(license) + license.link_human(criminal) diff --git a/modular_darkpack/modules/merits_flaws/code/permanent_fangs.dm b/modular_darkpack/modules/merits_flaws/code/permanent_fangs.dm new file mode 100644 index 000000000000..8ee8a3d81f9a --- /dev/null +++ b/modular_darkpack/modules/merits_flaws/code/permanent_fangs.dm @@ -0,0 +1,10 @@ +/datum/quirk/darkpack/permafangs + name = "Permanent Fangs" + desc = "Your fangs do not retract, making it impossible for you to hide your true nature. While some mortals may think you've had your teeth filed or are wearing prosthetics, sooner or later you're going to run into someone who knows what you truly are." + value = -1 + mob_trait = TRAIT_PERMAFANGS + gain_text = span_notice("Your fangs become stuck.") + lose_text = span_notice("You feel your fangs retract again.") + allowed_splats = list(SPLAT_KINDRED) + icon = FA_ICON_TEETH + failure_message = "You feel your fangs retract." diff --git a/modular_darkpack/modules/merits_flaws/merits_flaws.md b/modular_darkpack/modules/merits_flaws/merits_flaws.md new file mode 100644 index 000000000000..6b5a1d0100bf --- /dev/null +++ b/modular_darkpack/modules/merits_flaws/merits_flaws.md @@ -0,0 +1,28 @@ +## + +Module ID: MERITS_FLAWS + +### Description: + +This module implements Darkpack merits/flaws, allowing users to select negative quirks for extra freebie points to allocate on the stat sheet, or positive quirks to diminish their freebie points on the statsheet. Users cannot go below zero freebie points. + +### TG Proc/File Changes: + +- `tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx` +- `code/modules/client/preferences/middleware/quirks.dm` -- adds two procs, `get_freebie_points()`, `get_quirk_balance()` + +### Modular Overrides: + +- N/A + +### Defines: + +- N/A + +### Included files that are not contained in this module: + +- N/A + +### Credits: + +chazzyjazzy diff --git a/modular_darkpack/modules/splats/code/splat_management.dm b/modular_darkpack/modules/splats/code/splat_management.dm index da555294f827..5120616ed64f 100644 --- a/modular_darkpack/modules/splats/code/splat_management.dm +++ b/modular_darkpack/modules/splats/code/splat_management.dm @@ -39,6 +39,15 @@ return FALSE +/** + * Clears all the splats from the mob/living + * Mostly used in unit tests + */ +/mob/living/proc/clear_splats() + if(splats) + for(var/datum/splat/splat_in_list in splats) + remove_splat(splat_in_list) + /** * Returns if the given splat type can be added to the mob or not. * Incompatibilities are due to an existing splat clashing with it or the given diff --git a/modular_darkpack/modules/weapons/code/pliers.dm b/modular_darkpack/modules/weapons/code/pliers.dm index 9b296168df48..2d07bb87fc3a 100644 --- a/modular_darkpack/modules/weapons/code/pliers.dm +++ b/modular_darkpack/modules/weapons/code/pliers.dm @@ -11,7 +11,7 @@ /// If pulling fangs lasts for the entire ROUND or not. var/permanent = TRUE -/* DARKPACK TODO - Merits/Flaws related to feeding +/* DARKPACK TODO - MERITS/FLAWS related to feeding /obj/item/wirecutters/pliers/attack(mob/living/target, mob/living/user) . = ..() if(HAS_TRAIT(user, TRAIT_PACIFISM)) diff --git a/tgstation.dme b/tgstation.dme index e857ed933c51..a15f57612b49 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7282,6 +7282,9 @@ #include "modular_darkpack\modules\masquerade\code\subsystem\masquerade.dm" #include "modular_darkpack\modules\matrix\code\job.dm" #include "modular_darkpack\modules\matrix\code\matrix.dm" +#include "modular_darkpack\modules\merits_flaws\code\_darkpack_quirk.dm" +#include "modular_darkpack\modules\merits_flaws\code\illegal_identity.dm" +#include "modular_darkpack\modules\merits_flaws\code\permanent_fangs.dm" #include "modular_darkpack\modules\mob_spawners\code\citizen.dm" #include "modular_darkpack\modules\movie_theatre\code\areas.dm" #include "modular_darkpack\modules\movie_theatre\code\fluff.dm" diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx index b8b30f2be7ce..0ffe9e20b8af 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx @@ -344,7 +344,7 @@ function QuirkPage() { } }); - let balance = -data.default_quirk_balance; + let balance = data.freebie_points ?? 0; // DARKPACK EDIT CHANGE - Original : let balance = -data.default_quirk_balance; let positiveQuirks = 0; for (const selectedQuirkName of selectedQuirks) { @@ -357,7 +357,7 @@ function QuirkPage() { positiveQuirks += 1; } - balance += selectedQuirk.value; + //balance += selectedQuirk.value; DARKPACK EDIT REMOVAL - Merits/Flaws } function getReasonToNotAdd(quirkName: string) { @@ -370,6 +370,11 @@ function QuirkPage() { return 'You need a negative quirk to balance this out!'; } } + //DARKPACK EDIT ADD - Merits/Flaws + if (balance - quirk.value < 0) { + return 'You need more freebie points to take this quirk!'; + } + //DARKPACK EDIT ADD - Merits/Flaws const selectedQuirkNames = selectedQuirks.map((quirkKey) => { return quirkInfo[quirkKey].name; @@ -389,6 +394,9 @@ function QuirkPage() { } } } + if (data.clan_disallowed_quirks.includes(quirk.name)) { // DARKPACK EDIT ADD - MERITS/FLAWS + return 'This quirk is incompatible with your selected clan.'; // DARKPACK EDIT END - MERITS/FLAWS + } if (data.splat_disallowed_quirks.includes(quirk.name)) { // DARKPACK EDIT CHANGE - SPLATS return 'This quirk is incompatible with your selected splats.'; // DARKPACK EDIT CHANGE - SPLATS } @@ -484,17 +492,15 @@ function QuirkPage() { - {pointsEnabled ? ( - Quirk Balance - ) : ( - 0 ? 3.4 : 0} /> + {( + // DARKPACK EDIT CHANGE START -- Removed pointsEnabled ? checks + Freebie Points // DARKPACK EDIT CHANGE -- Changed 'Quirk Balance' to 'Freebie Points' )} - {pointsEnabled ? ( + {( {balance} - ) : ( - 0 ? 3.4 : 0} /> + // DARKPACK EDIT CHANGE END -- Removed pointsEnabled ? checks )} From 88ad2faf75cf3fa711e07affa2dcbe353d2170e1 Mon Sep 17 00:00:00 2001 From: "darkpack13-api[bot]" <220339179+darkpack13-api[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 03:11:49 +0000 Subject: [PATCH 263/271] Automatic changelog for PR #542 [ci skip] --- html/changelogs/AutoChangeLog-pr-542.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-542.yml diff --git a/html/changelogs/AutoChangeLog-pr-542.yml b/html/changelogs/AutoChangeLog-pr-542.yml new file mode 100644 index 000000000000..b6b359cac6d3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-542.yml @@ -0,0 +1,4 @@ +author: "chazzyjazzy" +delete-after: True +changes: + - code_imp: "makes the basic structure for merits and flaws" \ No newline at end of file From 3ba22210103d870098c8ef8d72ab4d5982034a37 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Thu, 19 Feb 2026 10:16:08 -0600 Subject: [PATCH 264/271] Fera rework (#489) ## About The Pull Request Part 1 of the fera rework: Most garou content minus 1-5 gifts Requires #407, #657 Continuation of #122 Should fix #484 Fixes bloodpool part of #513 Playerfacing: Implements garou based upon the following document: https://docs.google.com/document/d/1ZhMsB3mToUq5Q7dk86YdyvcRfaPpq2sOxYeZKwCNEQU/edit?tab=t.0#heading=h.axkr5oqixflc Codewise: Aims to overhaul fera onto the new splat framework and future proof the handling of splats to prevent stuff like corax just being a secret tribe of the garou and other extremely jank code. ## Why It's Good For The Game Better code c: Alteast on Apoc, we already have plans for the bear and fox fera very soon, we need good bones for that. ## Changelog :cl: add: Readds garou add: Moon phase is calculated mostly accurately based on in-game day add: Rage gained from looking at the moon is now based on phase add: Howl emote that can be used by dogs, dogs (garou), or dogs (gangrel) add: Re-implements 1 gift for each auspice fix: Blood-pool icon is properly updated when its added to you admin: Adjustments to stats and important prefs can be properly viewed in the log viewers balance: Makes generic helpers to represent "Heal this amount of "dots" of damage". Gives this to garou at 1 dot every "turn" (5 seconds at the time of writing) balance: Punching basic mobs and humans now calculate damage based on strength balance: W20 silver bullet handling. No agg damage in breed form. 5 bullets are a guaranteed loss of gnosis. /:cl: --------- Co-authored-by: XeonMations <62395746+XeonMations@users.noreply.github.com> Co-authored-by: Lucia Canelli <167369312+TheCarnalest@users.noreply.github.com> Co-authored-by: dwinters99 <65516417+dwinters99@users.noreply.github.com> Co-authored-by: chazzyjazzy <33268885+chazzyjazzy@users.noreply.github.com> --- _maps/map_files/Vampire/runtimetown.dmm | 1508 ++-- .../Vampire/westfield_mall/westfield_mall.dmm | 6857 +++++++++-------- .../westfield_mall/westfield_umbra.dmm | 20 +- code/__DEFINES/logging.dm | 4 +- code/__DEFINES/~darkpack/auras.dm | 2 +- code/__DEFINES/~darkpack/combat.dm | 2 + code/__DEFINES/~darkpack/fera/fera.dm | 28 + .../~darkpack/fera/werewolf_auspice.dm | 18 + .../~darkpack/fera/werewolf_renown.dm | 13 + .../~darkpack/fera/werewolf_tribe.dm | 25 + code/__DEFINES/~darkpack/generations.dm | 2 +- code/__DEFINES/~darkpack/mobs.dm | 27 +- code/__DEFINES/~darkpack/splats.dm | 8 +- .../~darkpack/status_effects_debuffs.dm | 2 - .../~darkpack/traits/declarations.dm | 21 + code/__DEFINES/~darkpack/werewolf_auspice.dm | 7 - code/__DEFINES/~darkpack/werewolf_tribe.dm | 28 - code/_globalvars/darkpack/lists/masquerade.dm | 2 + code/_globalvars/darkpack/lists/splats.dm | 17 +- code/_globalvars/traits/_traits.dm | 17 +- code/_onclick/hud/hud.dm | 7 + code/_onclick/hud/human.dm | 6 +- code/_onclick/hud/living.dm | 6 +- code/_onclick/other_mobs.dm | 2 + code/controllers/subsystem/ticker.dm | 5 + code/datums/components/crafting/crafting.dm | 2 +- code/datums/emotes.dm | 8 +- code/game/atom/atom_defense.dm | 2 +- code/game/machinery/computer/arcade/battle.dm | 2 +- code/game/objects/items/stacks/medical.dm | 2 +- code/game/say.dm | 4 +- code/modules/client/preferences.dm | 2 +- .../modules/client/preferences/_preference.dm | 4 +- code/modules/fishing/fishing_rod.dm | 2 +- .../modules/mob/living/basic/basic_defense.dm | 15 +- code/modules/mob/living/carbon/examine.dm | 2 +- .../mob/living/carbon/human/_species.dm | 34 +- code/modules/mob/living/carbon/human/human.dm | 1 - code/modules/mob/living/carbon/human/life.dm | 4 + .../carbon/human/species_types/humans.dm | 6 +- code/modules/mob/living/living.dm | 6 +- .../modules/mob/living/living_update_icons.dm | 12 +- code/modules/unit_tests/combat.dm | 1 + .../unit_tests/screenshot_humanoids.dm | 2 +- ...s__datum_species_human_shifter_bestial.png | Bin 0 -> 1051 bytes ...oids__datum_species_human_shifter_dire.png | Bin 0 -> 622 bytes ...ids__datum_species_human_shifter_feral.png | Bin 0 -> 915 bytes ...ids__datum_species_human_shifter_homid.png | Bin 0 -> 995 bytes ...noids__datum_species_human_shifter_war.png | Bin 0 -> 952 bytes config/darkpack_config.txt | 5 + .../master_files/code/_onclick/hud/hud.dm | 8 +- .../master_files/code/_onclick/hud/living.dm | 3 +- .../code/modules/mob/living/carbon/examine.dm | 9 +- .../mob/living/carbon/human/_species.dm | 4 + .../mob/living/carbon/human/human_defines.dm | 7 +- .../icons/mob/actions/backgrounds.dmi | Bin 15254 -> 14550 bytes .../aggravated_damage/code/generic_healing.dm | 54 + .../code/movable_screens/blood_hud.dm | 37 +- .../diablerie/adjust_generation.dm | 2 +- .../overfeeding/diablerie/make_diablerist.dm | 5 +- modular_darkpack/modules/cars/code/car.dm | 2 + .../modules/cars/code/car_actions.dm | 3 + .../city_traits/code/positive_traits.dm | 1 - modular_darkpack/modules/decor/code/decor.dm | 16 - .../modules/deprecated/icons/48x48.dmi | Bin 23266 -> 8601 bytes .../modules/deprecated/icons/radio.dmi | Bin 2580 -> 0 bytes .../modules/deprecated/icons/werewolf.dmi | Bin 59332 -> 0 bytes .../deprecated/icons/werewolf_abilities.dmi | Bin 7827 -> 0 bytes .../modules/deprecated/icons/werewolf_ui.dmi | Bin 1674 -> 0 bytes .../deprecated/sounds/werewolf_fall.ogg | Bin 16895 -> 0 bytes .../modules/doors/code/keys/keys.dm | 2 +- .../modules/frenzy/code/frenzy.dm | 2 +- .../modules/guestbook/code/human_helpers.dm | 3 + .../modules/jobs/code/clinic/doctor.dm | 2 +- .../jobs/code/miscelllaneous/citizen.dm | 2 +- .../jobs/code/miscelllaneous/club_worker.dm | 2 +- .../jobs/code/miscelllaneous/janitor.dm | 2 +- .../modules/jobs/code/miscelllaneous/taxi.dm | 2 +- .../modules/jobs/code/pentex/branch_lead.dm | 2 +- .../modules/jobs/code/pentex/employee.dm | 2 +- .../modules/jobs/code/pentex/sec.dm | 2 +- .../modules/jobs/code/police/dispatcher.dm | 4 +- .../modules/jobs/code/police/police.dm | 4 +- .../modules/jobs/code/supply/supply_tech.dm | 2 +- .../code/components/violation_observer.dm | 15 +- .../masquerade/code/masquerade_contract.dm | 10 +- .../masquerade/code/subsystem/masquerade.dm | 72 +- .../masquerade/sound/humanity_gain.ogg | Bin 0 -> 11890 bytes .../masquerade/sound/veil_violation.ogg | Bin 0 -> 43595 bytes .../npc/code/nonhuman/friendly/bird.dm | 4 +- .../npc/code/nonhuman/hostile/werewolf.dm | 1 + modular_darkpack/modules/npc/icons/corvid.dmi | Bin 15936 -> 0 bytes .../code/discipline/auspex/aura_component.dm | 11 + .../code/discipline/dominate/dominate.dm | 4 +- .../code/discipline/presence/presence.dm | 12 +- .../discipline/thaumaturgy/path_of_blood.dm | 2 +- .../thaumaturgy/paths/lure_of_flames.dm | 2 +- .../modules/powers/code/discipline_actions.dm | 1 - .../modules/powers/icons/auras.dmi | Bin 1570 -> 28521 bytes .../modules/quirks/code/quirks.dm | 55 +- .../modules/round_status/code/pref_code.dm | 27 +- .../modules/splats/code/gaining_splats.dm | 3 + .../modules/splats/code/hud_managment.dm | 7 + .../modules/splats/code/powers/_power.dm | 8 + .../code/{ => powers}/st_power_management.dm | 0 .../modules/splats/code/splat_life.dm | 2 + .../modules/splats/code/subsplat/_subsplat.dm | 28 + .../storyteller_dice/code/roll_datum.dm | 2 +- .../storyteller_dice/code/roll_subtypes.dm | 12 + .../modules/storyteller_stats/code/logging.dm | 6 + .../code/stat_pref_middleware.dm | 13 +- .../code/kindred/torpor.dm | 1 + .../code/vampire_clan/clan_globals.dm | 11 +- .../code/vampire_clan/clan_mark_pref.dm | 2 +- .../modules/vitae/code/embracing.dm | 2 +- modular_darkpack/modules/vitae/code/vitae.dm | 2 +- .../modules/weapons/code/melee.dm | 17 +- .../modules/weapons/code/projectiles.dm | 30 +- .../werewolf_the_apocalypse/code/emotes.dm | 70 + .../code/garou/auspice.dm | 105 - .../code/garou/garou_species.dm | 87 - .../code/garou/silver_slowdown.dm | 14 - .../code/garou/transformation.dm | 176 - .../code/garou/werewolf_mobs/life.dm | 131 - .../code/garou/werewolf_mobs/lupus.dm | 73 - .../code/garou/werewolf_mobs/werewolf.dm | 272 - .../garou/werewolf_mobs/werewolf_defense.dm | 140 - .../werewolf_mobs/werewolf_update_icons.dm | 73 - .../code/garou_languages.dm | 54 + .../code/gifts/_gift.dm | 55 + .../code/gifts/auspices/ahroun.dm | 45 + .../code/gifts/auspices/galliard.dm | 96 + .../code/gifts/auspices/philodox.dm | 106 + .../code/gifts/auspices/ragabash.dm | 95 + .../code/gifts/auspices/theurge.dm | 40 + .../code/gifts/innate/howling.dm | 119 + .../code/{ => gifts/tribes}/tribes.dm | 67 +- .../werewolf_the_apocalypse/code/glyphs.dm | 69 +- .../werewolf_the_apocalypse/code/hud.dm | 217 + .../code/{ => old}/gifts.dm | 239 +- .../code/preferences/auspice.dm | 20 + .../code/preferences/breed.dm | 40 + .../code/preferences/fur.dm | 15 + .../code/preferences/renown.dm | 47 + .../code/preferences/tribe.dm | 20 + .../code/silver_damage.dm | 41 + .../code/species/garou_organs.dm | 53 + .../code/splats/examine_text.dm | 46 + .../code/splats/fera_species.dm | 302 + .../code/splats/fera_splat.dm | 175 + .../code/splats/is_werewolf_helpers.dm | 30 + .../code/splats/pref_lore.dm | 52 + .../code/splats/renown.dm | 100 + .../code/splats/transformation.dm | 79 + .../code/splats/varediting.dm | 37 + .../code/splats/werewolf_gift_management.dm | 31 + .../code/status_effects/delirium.dm | 0 .../code/status_effects/rage_heal.dm | 0 .../code/subsplats/_subsplat.dm | 16 + .../code/subsplats/auspices/_auspice.dm | 77 + .../code/subsplats/auspices/garou.dm | 142 + .../code/subsplats/breeds/_breed.dm | 73 + .../code/subsplats/breeds/garou.dm | 18 + .../code/subsplats/tribes/_tribe.dm | 65 + .../code/subsplats/tribes/garou.dm | 164 + .../werewolf_the_apocalypse/code/totems.dm | 346 +- .../code/werewolf_globals.dm | 60 +- .../code/werewolf_hud.dm | 249 - .../icons/auspices.dmi | Bin 0 -> 677 bytes .../icons/corax_forms/corvid.dmi | Bin 0 -> 33182 bytes .../icons/corax_forms/crinos.dmi | Bin 0 -> 62744 bytes .../icons/garou_forms/crinos.dmi | Bin 0 -> 84157 bytes .../icons/garou_forms/glabro.dmi | Bin 0 -> 1390 bytes .../icons/garou_forms/hispo.dmi | Bin 0 -> 60106 bytes .../icons/garou_forms/lupus.dmi | Bin 0 -> 15944 bytes .../icons/garou_languages.dmi | Bin 0 -> 414 bytes .../icons/hud_meters.dmi | Bin 0 -> 2322 bytes .../icons/hud_transforms.dmi | Bin 0 -> 2097 bytes .../icons/silver_dam_status.dmi | Bin 0 -> 1519 bytes .../werewolf_the_apocalypse/icons/tribes.dmi | Bin 0 -> 4248 bytes .../icons/werewolf_abilities.dmi | Bin 0 -> 8154 bytes .../icons/werewolf_lupus.dmi | Bin .../icons/werewolf_ui.dmi | Bin 0 -> 1824 bytes .../modules/werewolf_the_apocalypse/readme.md | 28 + .../sounds/bumps.ogg | Bin .../sounds/corax_transform.ogg | Bin 0 -> 31464 bytes .../sounds/emotes}/awo1.ogg | Bin .../sounds/emotes}/awo2.ogg | Bin .../sounds/emotes/cawcrinos.ogg | Bin 0 -> 16436 bytes .../sounds/emotes}/crinos_growl.ogg | Bin .../sounds/emotes}/female_growl.ogg | Bin .../sounds/emotes}/lupus_growl.ogg | Bin .../sounds/emotes}/male_growl.ogg | Bin .../sounds/gifts}/falling_touch.ogg | Bin .../sounds/gifts/falling_touch_activate.ogg | Bin 0 -> 52813 bytes .../sounds/gifts}/infectious_laughter.ogg | Bin .../sounds/gifts/scent_of_the_true_form.ogg | Bin 0 -> 35012 bytes .../sounds/ice_blocking.ogg | Bin .../sounds/inspiration.ogg | Bin .../sounds/inspire.ogg | Bin .../sounds/instant_transmission.ogg | Bin 0 -> 17572 bytes .../sounds/milky_blur.ogg | Bin .../sounds/rage_decrease.ogg | Bin .../sounds/rage_heal.ogg | Bin .../sounds/rage_increase.ogg | Bin .../sounds/razor_claws.ogg | Bin .../sounds/speedtrans.ogg | Bin 0 -> 41896 bytes .../sounds/transform.ogg | Bin .../sounds/werewolf_bite.ogg | Bin .../sounds/werewolf_cast_failed.ogg | Bin .../sounds/werewolf_step.ogg | Bin .../modules/z_travel/code/transfer_point.dm | 4 +- tgstation.dme | 49 +- .../darkpack_fur_color.tsx | 7 + .../UpdatePaths/Scripts/DarkPack/489_fera.txt | 1 + 215 files changed, 7913 insertions(+), 6113 deletions(-) create mode 100644 code/__DEFINES/~darkpack/fera/fera.dm create mode 100644 code/__DEFINES/~darkpack/fera/werewolf_auspice.dm create mode 100644 code/__DEFINES/~darkpack/fera/werewolf_renown.dm create mode 100644 code/__DEFINES/~darkpack/fera/werewolf_tribe.dm delete mode 100644 code/__DEFINES/~darkpack/werewolf_auspice.dm delete mode 100644 code/__DEFINES/~darkpack/werewolf_tribe.dm create mode 100644 code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_bestial.png create mode 100644 code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_dire.png create mode 100644 code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_feral.png create mode 100644 code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_homid.png create mode 100644 code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_war.png create mode 100644 modular_darkpack/master_files/code/modules/mob/living/carbon/human/_species.dm create mode 100644 modular_darkpack/modules/aggravated_damage/code/generic_healing.dm delete mode 100644 modular_darkpack/modules/deprecated/icons/radio.dmi delete mode 100644 modular_darkpack/modules/deprecated/icons/werewolf.dmi delete mode 100644 modular_darkpack/modules/deprecated/icons/werewolf_abilities.dmi delete mode 100644 modular_darkpack/modules/deprecated/icons/werewolf_ui.dmi delete mode 100644 modular_darkpack/modules/deprecated/sounds/werewolf_fall.ogg create mode 100644 modular_darkpack/modules/masquerade/sound/humanity_gain.ogg create mode 100644 modular_darkpack/modules/masquerade/sound/veil_violation.ogg delete mode 100644 modular_darkpack/modules/npc/icons/corvid.dmi create mode 100644 modular_darkpack/modules/splats/code/hud_managment.dm create mode 100644 modular_darkpack/modules/splats/code/powers/_power.dm rename modular_darkpack/modules/splats/code/{ => powers}/st_power_management.dm (100%) create mode 100644 modular_darkpack/modules/splats/code/splat_life.dm create mode 100644 modular_darkpack/modules/splats/code/subsplat/_subsplat.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/emotes.dm delete mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/garou/auspice.dm delete mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/garou/garou_species.dm delete mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/garou/silver_slowdown.dm delete mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/garou/transformation.dm delete mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/life.dm delete mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/lupus.dm delete mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/werewolf.dm delete mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/werewolf_defense.dm delete mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/werewolf_update_icons.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/garou_languages.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/_gift.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/ahroun.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/galliard.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/philodox.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/ragabash.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/theurge.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/innate/howling.dm rename modular_darkpack/modules/werewolf_the_apocalypse/code/{ => gifts/tribes}/tribes.dm (72%) create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/hud.dm rename modular_darkpack/modules/werewolf_the_apocalypse/code/{ => old}/gifts.dm (50%) create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/auspice.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/breed.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/fur.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/renown.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/tribe.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/silver_damage.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/species/garou_organs.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/splats/examine_text.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/splats/fera_species.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/splats/fera_splat.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/splats/is_werewolf_helpers.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/splats/pref_lore.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/splats/renown.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/splats/transformation.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/splats/varediting.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/splats/werewolf_gift_management.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/status_effects/delirium.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/status_effects/rage_heal.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/_subsplat.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/auspices/_auspice.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/auspices/garou.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/breeds/_breed.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/breeds/garou.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/tribes/_tribe.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/tribes/garou.dm delete mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/code/werewolf_hud.dm create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/auspices.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/corax_forms/corvid.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/corax_forms/crinos.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/crinos.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/glabro.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/hispo.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/lupus.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_languages.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/hud_meters.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/hud_transforms.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/silver_dam_status.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/tribes.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/werewolf_abilities.dmi rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/icons/werewolf_lupus.dmi (100%) create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/icons/werewolf_ui.dmi create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/readme.md rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/bumps.ogg (100%) create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/sounds/corax_transform.ogg rename modular_darkpack/modules/{deprecated/sounds => werewolf_the_apocalypse/sounds/emotes}/awo1.ogg (100%) rename modular_darkpack/modules/{deprecated/sounds => werewolf_the_apocalypse/sounds/emotes}/awo2.ogg (100%) create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/sounds/emotes/cawcrinos.ogg rename modular_darkpack/modules/{deprecated/sounds => werewolf_the_apocalypse/sounds/emotes}/crinos_growl.ogg (100%) rename modular_darkpack/modules/{deprecated/sounds => werewolf_the_apocalypse/sounds/emotes}/female_growl.ogg (100%) rename modular_darkpack/modules/{deprecated/sounds => werewolf_the_apocalypse/sounds/emotes}/lupus_growl.ogg (100%) rename modular_darkpack/modules/{deprecated/sounds => werewolf_the_apocalypse/sounds/emotes}/male_growl.ogg (100%) rename modular_darkpack/modules/{deprecated/sounds => werewolf_the_apocalypse/sounds/gifts}/falling_touch.ogg (100%) create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/sounds/gifts/falling_touch_activate.ogg rename modular_darkpack/modules/{deprecated/sounds => werewolf_the_apocalypse/sounds/gifts}/infectious_laughter.ogg (100%) create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/sounds/gifts/scent_of_the_true_form.ogg rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/ice_blocking.ogg (100%) rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/inspiration.ogg (100%) rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/inspire.ogg (100%) create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/sounds/instant_transmission.ogg rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/milky_blur.ogg (100%) rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/rage_decrease.ogg (100%) rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/rage_heal.ogg (100%) rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/rage_increase.ogg (100%) rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/razor_claws.ogg (100%) create mode 100644 modular_darkpack/modules/werewolf_the_apocalypse/sounds/speedtrans.ogg rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/transform.ogg (100%) rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/werewolf_bite.ogg (100%) rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/werewolf_cast_failed.ogg (100%) rename modular_darkpack/modules/{deprecated => werewolf_the_apocalypse}/sounds/werewolf_step.ogg (100%) create mode 100644 tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/darkpack_fur_color.tsx create mode 100644 tools/UpdatePaths/Scripts/DarkPack/489_fera.txt diff --git a/_maps/map_files/Vampire/runtimetown.dmm b/_maps/map_files/Vampire/runtimetown.dmm index 659ef858d289..8e176ba7fbf2 100644 --- a/_maps/map_files/Vampire/runtimetown.dmm +++ b/_maps/map_files/Vampire/runtimetown.dmm @@ -1,4 +1,16 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/structure/guncase, +/obj/item/gun/ballistic/shotgun/vampire, +/obj/item/flashlight/lantern/on{ + pixel_x = -7; + pixel_y = 19 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) +"ag" = ( +/turf/open/misc/dirt, +/area/vtm/graveyard) "av" = ( /obj/structure/table, /obj/item/ammo_box/magazine/darkpack45acp, @@ -7,10 +19,6 @@ /obj/item/gun/ballistic/automatic/pistol/darkpack/m1911, /turf/open/floor/plating/rough, /area/vtm/interior/anarch) -"ax" = ( -/obj/structure/toiletbong, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) "aM" = ( /obj/effect/spawner/random/trash/rat, /turf/open/misc/beach/vamp, @@ -27,12 +35,6 @@ /obj/structure/platform/lowwall/brick, /turf/open/floor/plating/rough, /area/vtm/interior/shop) -"bh" = ( -/obj/structure/chair/greyscale{ - dir = 8 - }, -/turf/open/floor/plating/rough/cave, -/area/vtm/outside/pacificheights) "bj" = ( /obj/structure/closet/secure_closet/freezer, /turf/open/floor/city/toilet, @@ -48,9 +50,10 @@ /obj/structure/roadsign/crosswalk, /turf/open/floor/plating/sidewalk/poor, /area/vtm/outside/pacificheights) -"bx" = ( -/turf/closed/wall/vampwall/brick, -/area/vtm/graveyard/interior) +"bA" = ( +/obj/structure/werewolf_totem/generic/weaver, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/techshop) "bB" = ( /obj/structure/chair/wood/darkpack/red, /turf/open/floor/plating/rough, @@ -66,6 +69,14 @@ /obj/structure/closet/secure_closet/medical2, /turf/open/floor/plating/rough, /area/vtm/interior/clinic) +"bD" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/engineering/toolbox{ + pixel_x = 2; + pixel_y = 2 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "bK" = ( /obj/machinery/fax/admin/camarilla, /obj/structure/table/wood, @@ -130,6 +141,12 @@ }, /turf/open/floor/plating/rough, /area/vtm/interior/techshop) +"cz" = ( +/obj/structure/table, +/obj/lombard/blackmarket, +/obj/structure/platform/lowwall/rich/old, +/turf/open/floor/plating/rough, +/area/vtm/interior/cog) "cQ" = ( /obj/structure/table, /obj/item/storage/medkit/darkpack/ifak, @@ -152,34 +169,16 @@ }, /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) -"dc" = ( -/obj/structure/railing, -/obj/structure/lattice/grate, -/turf/open/openspace, -/area/vtm/outside/pacificheights) -"dd" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/engineering/toolbox{ - pixel_x = 2; - pixel_y = 2 - }, -/turf/open/floor/plating/rough, -/area/vtm/graveyard/interior) -"di" = ( -/obj/structure/lattice/grate, -/turf/open/openspace, -/area/vtm/outside/pacificheights) "dA" = ( /obj/structure/table, /obj/item/storage/medkit/darkpack/doctor, /obj/machinery/light/directional/north, /turf/open/floor/plating/concrete, /area/vtm/interior/shop) -"dL" = ( -/obj/structure/table/wood, -/obj/machinery/light/directional/south, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) +"dE" = ( +/obj/structure/railing, +/turf/open/floor/plating/canal, +/area/vtm/interior/techshop) "dN" = ( /obj/item/clothing/head/cone, /turf/open/misc/dirt, @@ -189,16 +188,6 @@ /obj/machinery/radio_tranceiver/anarch, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) -"dU" = ( -/obj/structure/railing/corner, -/turf/open/floor/plating/canal, -/area/vtm/outside/pacificheights) -"ed" = ( -/obj/structure/vampfence/rich{ - dir = 4 - }, -/turf/open/misc/dirt, -/area/vtm/graveyard) "ef" = ( /obj/structure/roofstuff/vent_end{ dir = 4 @@ -218,6 +207,12 @@ /obj/item/vamp/keys/camarilla, /turf/open/floor/plating/asphalt, /area/vtm/outside/pacificheights) +"ew" = ( +/obj/structure/vampfence/corner/rich{ + dir = 8 + }, +/turf/open/misc/dirt, +/area/vtm/graveyard) "eG" = ( /obj/machinery/light/directional/north, /turf/open/floor/plating/rough, @@ -291,10 +286,6 @@ }, /turf/open/floor/plating/sidewalk/rich, /area/vtm/outside/pacificheights) -"gl" = ( -/obj/machinery/hydroponics/soil, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) "gs" = ( /obj/effect/turf_decal/bordur{ dir = 1 @@ -343,6 +334,10 @@ /obj/machinery/sprinkler/area_managed, /turf/open/floor/plating/rough, /area/vtm/interior/techshop) +"hp" = ( +/obj/structure/tzijelly, +/turf/open/floor/plating/rough/cave, +/area/vtm/interior/techshop) "hu" = ( /obj/effect/decal/pallet, /obj/item/ammo_box/darkpack/arrows, @@ -357,6 +352,9 @@ /obj/structure/table/countertop/beige, /turf/open/floor/plating/rough, /area/vtm/interior/shop) +"hF" = ( +/turf/open/openspace, +/area/vtm/interior/techshop) "hH" = ( /obj/effect/decal/cleanable/trash{ icon_state = "trash5" @@ -406,9 +404,6 @@ "iD" = ( /turf/closed/wall/vampwall/painted, /area/vtm/interior/shop) -"iH" = ( -/turf/open/floor/plating/rough/cave, -/area/vtm/outside/pacificheights) "iJ" = ( /obj/effect/spawner/random/occult/artifact, /turf/open/floor/wood/smooth/old, @@ -436,10 +431,6 @@ }, /turf/open/floor/plating/asphalt, /area/vtm/outside/pacificheights) -"iZ" = ( -/obj/machinery/hydroponics/simple/plastic, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) "jd" = ( /obj/structure/table/wood, /obj/machinery/radio_tranceiver/police, @@ -483,22 +474,6 @@ }, /turf/open/floor/plating/elevatorshaft, /area/vtm/outside/pacificheights) -"jG" = ( -/obj/structure/table/wood, -/obj/item/shovel/vamp{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/item/shovel/vamp{ - pixel_x = -4; - pixel_y = 7 - }, -/obj/item/melee/vamp/tire{ - pixel_x = 1; - pixel_y = 14 - }, -/turf/open/floor/plating/rough, -/area/vtm/graveyard/interior) "jK" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -557,6 +532,16 @@ /obj/item/molotov, /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) +"kx" = ( +/obj/structure/vampfence/corner/rich{ + dir = 4 + }, +/turf/open/misc/dirt, +/area/vtm/graveyard) +"kO" = ( +/obj/structure/toiletbong, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "kS" = ( /turf/closed/wall/vampwall/market, /area/vtm/interior/shop) @@ -566,25 +551,18 @@ }, /turf/open/floor/plating/asphalt, /area/vtm/outside/pacificheights) +"lf" = ( +/obj/structure/chair/greyscale{ + dir = 8 + }, +/turf/open/floor/plating/rough/cave, +/area/vtm/interior/techshop) "lk" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) -"ll" = ( -/obj/machinery/light/dim/directional/east, -/obj/effect/spawner/random/decoration/flower, -/turf/open/misc/dirt, -/area/vtm/graveyard) -"lm" = ( -/obj/vampgrave{ - spawn_interval = 300; - max_zombies_per_grave = 1; - name = "upturned grave" - }, -/turf/open/misc/dirt, -/area/vtm/graveyard) "ln" = ( /obj/item/kirbyplants/darkpack/random{ pixel_x = -7; @@ -597,17 +575,8 @@ /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) "lx" = ( -/obj/structure/table/wood, -/obj/item/ammo_box/darkpack/c12g{ - pixel_x = 6; - pixel_y = 8 - }, -/obj/item/ammo_box/darkpack/c12g{ - pixel_x = -6; - pixel_y = 11 - }, -/turf/open/floor/plating/rough, -/area/vtm/graveyard/interior) +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "lM" = ( /obj/effect/decal/cleanable/trash, /obj/effect/spawner/random/occult/artifact, @@ -630,6 +599,15 @@ }, /turf/open/misc/dirt, /area/vtm/outside/supply) +"mb" = ( +/obj/effect/landmark/teleport_mark/alltribes, +/turf/open/floor/plating/rough/cave, +/area/vtm/interior/techshop) +"mf" = ( +/obj/structure/table/wood, +/obj/item/scythe/vamp, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "mm" = ( /obj/structure/table/reinforced, /obj/machinery/computer/order_console/mining/restricted/police, @@ -640,14 +618,23 @@ /obj/structure/barrels/rand, /turf/open/misc/dirt, /area/vtm/outside/supply) -"mt" = ( -/obj/structure/vampfence/rich, -/turf/open/misc/dirt, -/area/vtm/graveyard) +"mr" = ( +/turf/open/floor/plating/canal, +/area/vtm/interior/techshop) "mw" = ( /obj/structure/ladder/manhole/up, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"mT" = ( +/obj/structure/table/wood, +/obj/item/seeds/cannabis, +/obj/item/seeds/cannabis, +/obj/item/seeds/cannabis, +/obj/item/seeds/cannabis, +/obj/item/seeds/cannabis, +/obj/item/seeds/cannabis, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "mW" = ( /obj/item/storage/box/syringes, /obj/item/storage/box/masks, @@ -713,12 +700,6 @@ }, /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) -"nw" = ( -/obj/structure/table, -/obj/lombard, -/obj/structure/platform/lowwall/rich/old, -/turf/open/floor/plating/rough, -/area/vtm/outside/pacificheights) "nA" = ( /obj/effect/decal/cleanable/garbage, /obj/effect/decal/cleanable/cardboard, @@ -736,6 +717,14 @@ /obj/structure/sign/city/store/bacotell/directional/north, /turf/open/floor/plating/concrete, /area/vtm/interior/shop) +"nZ" = ( +/obj/structure/vampfence/corner/rich, +/turf/open/misc/dirt, +/area/vtm/graveyard) +"od" = ( +/obj/structure/sign/flag/pride/trans/directional/north, +/turf/open/floor/plating/rough/cave, +/area/vtm/interior/techshop) "of" = ( /obj/item/storage/medkit/darkpack/standard, /obj/item/storage/medkit/darkpack/standard, @@ -743,10 +732,6 @@ /obj/structure/table, /turf/open/floor/plating/rough, /area/vtm/interior/clinic) -"oi" = ( -/obj/structure/closet/crate/wooden/communitygardens/seeds, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) "ok" = ( /obj/effect/decal/cleanable/litter, /turf/open/misc/beach/vamp, @@ -796,6 +781,10 @@ /obj/structure/platform/lowwall/brick_old, /turf/open/floor/plating/rough, /area/vtm/outside/pacificheights) +"pv" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/plating/rough/cave, +/area/vtm/interior/techshop) "pz" = ( /obj/darkpack_car/rand{ locked = 0; @@ -803,11 +792,6 @@ }, /turf/open/floor/plating/asphalt, /area/vtm/outside/pacificheights) -"pD" = ( -/obj/machinery/light/directional/north, -/obj/structure/lattice/grate, -/turf/open/openspace, -/area/vtm/outside/pacificheights) "pG" = ( /obj/effect/landmark/npcbeacon, /obj/effect/turf_decal/bordur/corner{ @@ -815,6 +799,10 @@ }, /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) +"pI" = ( +/obj/structure/lattice/grate, +/turf/open/openspace, +/area/vtm/interior/techshop) "pN" = ( /turf/open/floor/plating/rough, /area/vtm/interior/clinic) @@ -945,16 +933,6 @@ /obj/structure/stairs/north, /turf/open/floor/plating/rough, /area/vtm/interior/techshop) -"rO" = ( -/obj/structure/table/wood, -/obj/item/seeds/cannabis, -/obj/item/seeds/cannabis, -/obj/item/seeds/cannabis, -/obj/item/seeds/cannabis, -/obj/item/seeds/cannabis, -/obj/item/seeds/cannabis, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) "rW" = ( /obj/effect/turf_decal/crosswalk, /turf/open/floor/plating/asphalt, @@ -1005,10 +983,6 @@ }, /turf/open/floor/plating/concrete, /area/vtm/interior/shop) -"sQ" = ( -/obj/machinery/hydroponics/simple/wooden, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) "sR" = ( /obj/effect/decal/pallet, /turf/open/misc/dirt, @@ -1036,10 +1010,6 @@ /obj/structure/table/countertop/black, /turf/open/floor/plating/rough, /area/vtm/interior/shop) -"sZ" = ( -/obj/structure/sink/directional/east, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) "tb" = ( /obj/effect/landmark/npcbeacon, /obj/effect/turf_decal/bordur, @@ -1052,10 +1022,10 @@ /obj/structure/lamppost/four, /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) -"tr" = ( -/obj/structure/sign/flag/pride/lesbian/directional/north, -/turf/open/floor/plating/rough/cave, -/area/vtm/outside/pacificheights) +"to" = ( +/obj/structure/vampgate, +/turf/open/misc/dirt, +/area/vtm/graveyard) "tu" = ( /obj/darkpack_car/track/volkswagen{ dir = 4; @@ -1073,6 +1043,15 @@ }, /turf/open/floor/plating/asphalt, /area/vtm/outside/pacificheights) +"tJ" = ( +/obj/machinery/smartfridge/drying/rack, +/obj/machinery/light/directional/north, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) +"tL" = ( +/obj/structure/vampfence/rich, +/turf/open/misc/grass, +/area/vtm/graveyard) "tO" = ( /obj/effect/gibspawner/human, /obj/structure/sign/city/store/gummaguts/directional/north, @@ -1086,6 +1065,9 @@ }, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"tR" = ( +/turf/closed/wall/vampwall/rich/old, +/area/vtm/interior/cog) "tW" = ( /obj/darkpack_car/police/ranger, /turf/open/floor/plating/asphalt, @@ -1100,14 +1082,10 @@ }, /turf/open/floor/iron/smooth_large, /area/vtm/outside/pacificheights) -"uo" = ( -/obj/structure/table/wood, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -4; - pixel_y = 14 - }, -/turf/open/floor/plating/rough, -/area/vtm/graveyard/interior) +"uh" = ( +/obj/structure/vampfence/corner/rich, +/turf/open/misc/grass, +/area/vtm/graveyard) "ut" = ( /obj/structure/chair/comfy/darkpack/green{ dir = 1 @@ -1150,10 +1128,6 @@ }, /turf/open/floor/plating/concrete, /area/vtm/interior/shop) -"uP" = ( -/obj/structure/sign/flag/pride/trans/directional/north, -/turf/open/floor/plating/rough/cave, -/area/vtm/outside/pacificheights) "uX" = ( /obj/effect/landmark/navigate_destination, /turf/open/floor/plating/rough, @@ -1163,6 +1137,16 @@ /obj/item/vtm_artifact/fae_charm, /turf/open/floor/wood/smooth/old, /area/vtm/interior/sewer) +"vf" = ( +/turf/open/floor/wood/rough, +/area/vtm/interior/techshop) +"vi" = ( +/obj/structure/vampdoor/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/door/access/graveyard, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "vl" = ( /obj/effect/turf_decal/bordur{ dir = 8 @@ -1181,26 +1165,19 @@ /mob/living/carbon/human/npc/shop, /turf/open/floor/city/toilet, /area/vtm/interior/shop) -"vF" = ( -/obj/structure/vampfence/corner/rich, -/turf/open/misc/dirt, -/area/vtm/graveyard) +"vG" = ( +/obj/machinery/smartfridge/drying/rack, +/obj/item/food/grown/cannabis, +/obj/item/food/grown/cannabis, +/obj/item/food/grown/cannabis, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "vH" = ( /obj/structure/sign/city/police_department/directional/north{ icon_state = "police3" }, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) -"vW" = ( -/obj/structure/table/wood, -/obj/item/soil_sack, -/obj/item/soil_sack/coir, -/obj/item/soil_sack/gel, -/obj/item/soil_sack/rich, -/obj/item/soil_sack/vermaculite, -/obj/item/soil_sack/worm, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) "wb" = ( /obj/structure/table, /obj/item/storage/medkit/darkpack/brute, @@ -1208,6 +1185,24 @@ /obj/item/storage/medkit/darkpack/brute, /turf/open/floor/plating/rough, /area/vtm/interior/clinic) +"wh" = ( +/obj/structure/table/wood, +/obj/item/food/grown/cannabis, +/obj/item/food/grown/cannabis, +/obj/item/food/grown/cannabis, +/obj/item/food/grown/cannabis, +/obj/item/food/grown/cannabis, +/obj/item/food/grown/cannabis, +/obj/item/bong{ + pixel_y = 10; + pixel_x = 10 + }, +/obj/item/bong{ + pixel_y = 2; + pixel_x = 10 + }, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "wj" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -1223,12 +1218,6 @@ /obj/effect/decal/cleanable/trash, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) -"wP" = ( -/obj/structure/vampfence/corner/rich{ - dir = 8 - }, -/turf/open/misc/dirt, -/area/vtm/graveyard) "xc" = ( /obj/weapon_showcase, /turf/open/floor/wood/smooth/old, @@ -1252,6 +1241,10 @@ }, /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) +"xt" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "xC" = ( /obj/effect/decal/cleanable/litter, /turf/open/floor/plating/concrete, @@ -1275,10 +1268,16 @@ /obj/item/gun/ballistic/automatic/darkpack/thompson, /turf/open/floor/plating/rough, /area/vtm/interior/anarch) -"xV" = ( +"xY" = ( /obj/structure/table/wood, -/turf/open/floor/plating/rough, -/area/vtm/graveyard/interior) +/obj/item/soil_sack, +/obj/item/soil_sack/coir, +/obj/item/soil_sack/gel, +/obj/item/soil_sack/rich, +/obj/item/soil_sack/vermaculite, +/obj/item/soil_sack/worm, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "xZ" = ( /obj/machinery/light/floor, /turf/open/floor/plating/rough, @@ -1290,6 +1289,10 @@ "yk" = ( /turf/closed/wall/vampwall/brick, /area/vtm/interior/supply) +"yo" = ( +/obj/structure/table/wood, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "yq" = ( /obj/structure/barrels/rand, /obj/structure/sign/city/chinese/alt2/directional/west, @@ -1312,10 +1315,6 @@ /obj/item/storage/medkit/darkpack/burn, /turf/open/floor/plating/rough, /area/vtm/interior/clinic) -"yK" = ( -/obj/structure/vampdoor, -/turf/open/floor/plating/rough/cave, -/area/vtm/outside/pacificheights) "yW" = ( /obj/machinery/button/elevator/directional/north{ id = "DebugElevator4"; @@ -1329,6 +1328,15 @@ }, /turf/open/misc/grass, /area/vtm/outside/pacificheights) +"yX" = ( +/obj/structure/railing, +/obj/structure/ladder/manhole/up{ + connect_down = 1; + connect_up = 0 + }, +/obj/structure/lattice/grate, +/turf/open/openspace, +/area/vtm/interior/techshop) "zd" = ( /turf/open/floor/wood/smooth/old, /area/vtm/interior/sewer) @@ -1343,10 +1351,6 @@ }, /turf/open/floor/plating/asphalt, /area/vtm/outside/pacificheights) -"zq" = ( -/obj/structure/platform/lowwall/brick/window/reinforced, -/turf/open/floor/plating/rough, -/area/vtm/graveyard/interior) "zv" = ( /mob/living/carbon/human/npc/shop, /obj/machinery/light/directional/north, @@ -1363,6 +1367,9 @@ /obj/effect/spawner/random/stray_animal, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"zD" = ( +/turf/open/floor/plating/rough/cave, +/area/vtm/interior/techshop) "zF" = ( /obj/structure/table/wood, /obj/item/vtm_artifact/weekapaug_thistle, @@ -1393,12 +1400,11 @@ }, /turf/open/floor/plating/asphalt, /area/vtm/outside/pacificheights) -"An" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/bureaucracy/paper{ - pixel_x = 7; - pixel_y = -2 +"Ay" = ( +/obj/structure/vampdoor/wood{ + dir = 1 }, +/obj/effect/mapping_helpers/door/access/graveyard, /turf/open/floor/plating/rough, /area/vtm/graveyard/interior) "AE" = ( @@ -1415,7 +1421,10 @@ /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) "Bb" = ( -/turf/open/misc/dirt, +/obj/structure/vampfence/rich{ + dir = 4 + }, +/turf/open/misc/grass, /area/vtm/graveyard) "Be" = ( /obj/structure/vampdoor/simple, @@ -1430,13 +1439,6 @@ }, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) -"Bi" = ( -/obj/structure/vampdoor/wood{ - dir = 1 - }, -/obj/effect/mapping_helpers/door/access/graveyard, -/turf/open/floor/plating/rough, -/area/vtm/graveyard/interior) "Bp" = ( /obj/structure/vampdoor, /turf/open/floor/city/toilet, @@ -1461,9 +1463,6 @@ /obj/structure/barrels/rand, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) -"Bv" = ( -/turf/open/floor/plating/rough, -/area/vtm/graveyard/interior) "Bw" = ( /obj/structure/transport/linear/public, /obj/machinery/elevator_control_panel/directional/north{ @@ -1472,14 +1471,22 @@ }, /turf/open/floor/plating/elevatorshaft, /area/vtm/outside/pacificheights) +"BH" = ( +/obj/structure/table/wood, +/obj/item/ammo_box/darkpack/c12g{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/ammo_box/darkpack/c12g{ + pixel_x = -6; + pixel_y = 11 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "BL" = ( /mob/living/carbon/human/npc/shop, /turf/open/floor/plating/concrete, /area/vtm/interior/shop) -"BM" = ( -/obj/structure/vampgate, -/turf/open/misc/dirt, -/area/vtm/graveyard) "BQ" = ( /obj/structure/closet/crate/bin, /turf/open/floor/plating/rough, @@ -1489,10 +1496,6 @@ /obj/structure/platform/lowwall/market, /turf/open/floor/plating/rough, /area/vtm/interior/shop) -"BZ" = ( -/obj/structure/railing, -/turf/open/floor/plating/canal, -/area/vtm/outside/pacificheights) "Ca" = ( /obj/structure/table, /obj/item/gun/ballistic/automatic/darkpack/sniper, @@ -1503,15 +1506,6 @@ /obj/structure/table/countertop/red, /turf/open/floor/plating/concrete, /area/vtm/interior/shop) -"Cj" = ( -/obj/structure/railing, -/obj/structure/ladder/manhole/up{ - connect_down = 1; - connect_up = 0 - }, -/obj/structure/lattice/grate, -/turf/open/openspace, -/area/vtm/outside/pacificheights) "Ct" = ( /obj/structure/lamppost/one{ dir = 1 @@ -1531,6 +1525,10 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plating/rough, /area/vtm/interior/techshop) +"CO" = ( +/obj/structure/platform/lowwall/brick/window/reinforced, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "Df" = ( /obj/structure/closet/crate/freezer/blood{ name = "vampire blood freezer" @@ -1551,8 +1549,7 @@ }, /turf/open/floor/plating/sidewalk/poor, /area/vtm/outside/pacificheights) -"Dk" = ( -/obj/machinery/light/dim/directional/east, +"Dj" = ( /turf/open/floor/plating/rough, /area/vtm/graveyard/interior) "Dp" = ( @@ -1562,10 +1559,6 @@ /obj/item/storage/medkit/darkpack/oxy, /turf/open/floor/plating/rough, /area/vtm/interior/clinic) -"Dq" = ( -/obj/structure/vampfence/rich, -/turf/open/misc/grass, -/area/vtm/graveyard) "Dr" = ( /obj/effect/turf_decal/bordur/corner{ dir = 1 @@ -1609,6 +1602,11 @@ }, /turf/open/floor/plating/concrete, /area/vtm/interior/shop) +"DS" = ( +/obj/machinery/light/dim/directional/east, +/obj/effect/spawner/random/decoration/flower, +/turf/open/misc/dirt, +/area/vtm/graveyard) "DT" = ( /obj/machinery/fax/endron, /obj/structure/table/wood, @@ -1629,10 +1627,27 @@ "Ef" = ( /turf/closed/wall/vampwall/rich/old, /area/vtm/interior/sewer) +"Eg" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/rollingpapers{ + pixel_x = -6 + }, +/obj/item/storage/box/matches{ + pixel_x = 6; + pixel_y = 10 + }, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "Em" = ( /obj/structure/cargo_put, /turf/open/misc/dirt, /area/vtm/outside/supply) +"Eq" = ( +/obj/structure/vampfence/rich{ + dir = 4 + }, +/turf/open/misc/dirt, +/area/vtm/graveyard) "Et" = ( /obj/structure/table/optable, /obj/machinery/defibrillator_mount/loaded{ @@ -1656,14 +1671,14 @@ /obj/machinery/light/directional/west, /turf/open/misc/dirt, /area/vtm/outside/supply) +"EI" = ( +/obj/structure/vampfence/rich, +/turf/open/misc/dirt, +/area/vtm/graveyard) "EL" = ( /obj/structure/platform/lowwall/rich/old/window, /turf/open/floor/plating/rough, /area/vtm/interior/clinic) -"EN" = ( -/obj/effect/landmark/error, -/turf/open/floor/plating/rough/cave, -/area/vtm/outside/pacificheights) "EY" = ( /turf/closed/wall/vampwall/rich, /area/vtm/outside/pacificheights) @@ -1735,12 +1750,8 @@ /area/vtm/interior/clinic) "Gu" = ( /obj/structure/platform/lowwall/brick/window, -/turf/open/floor/plating/rough, -/area/vtm/interior/shop) -"Gw" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/plating/rough/cave, -/area/vtm/outside/pacificheights) +/turf/open/floor/plating/rough, +/area/vtm/interior/shop) "GF" = ( /turf/cordon, /area/misc/cordon) @@ -1802,12 +1813,6 @@ /obj/effect/landmark/npcwall, /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) -"Hg" = ( -/obj/item/paper{ - default_raw_text = "Error room!!" - }, -/turf/open/floor/plating/rough/cave, -/area/vtm/outside/pacificheights) "Hh" = ( /obj/darkpack_car/rand{ locked = 0 @@ -1840,6 +1845,14 @@ }, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"Hv" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/bureaucracy/paper{ + pixel_x = 7; + pixel_y = -2 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "Hy" = ( /obj/machinery/atm{ dir = 8; @@ -1880,10 +1893,6 @@ /obj/structure/roadblock, /turf/open/floor/plating/sidewalk/poor, /area/vtm/outside/pacificheights) -"Io" = ( -/obj/structure/vampfence/corner/rich, -/turf/open/misc/grass, -/area/vtm/graveyard) "Ip" = ( /obj/structure/retail/black_market, /obj/structure/table/countertop/black, @@ -1899,15 +1908,32 @@ "ID" = ( /turf/closed/wall/vampwall/market, /area/vtm/outside/pacificheights) +"IE" = ( +/obj/structure/sign/flag/pride/lesbian/directional/north, +/turf/open/floor/plating/rough/cave, +/area/vtm/interior/techshop) "IL" = ( /obj/structure/ladder/manhole/up, /turf/open/floor/plating/rough, /area/vtm/interior/techshop) +"IQ" = ( +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) +"IU" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/plating/canal, +/area/vtm/interior/techshop) "IZ" = ( /obj/machinery/fax/aasimites, /obj/structure/table/wood, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"Je" = ( +/obj/machinery/light/directional/north, +/obj/structure/werewolf_totem/children_of_gaia, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "Jf" = ( /obj/machinery/door/airlock/elevator/left{ dir = 8; @@ -1938,10 +1964,6 @@ /obj/item/reagent_containers/blood, /turf/open/floor/plating/rough, /area/vtm/interior/clinic) -"Jq" = ( -/obj/structure/sign/flag/pride/directional/north, -/turf/open/floor/plating/rough/cave, -/area/vtm/outside/pacificheights) "Ju" = ( /obj/effect/gibspawner/human, /obj/machinery/light/directional/west, @@ -1975,15 +1997,9 @@ /obj/effect/spawner/random/trash/rat, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) -"JZ" = ( -/obj/item/clothing/head/collectable/pirate, -/turf/open/floor/wood/rough, -/area/vtm/outside/pacificheights) -"Ka" = ( -/obj/structure/table/wood, -/obj/item/scythe/vamp, -/turf/open/floor/plating/rough, -/area/vtm/graveyard/interior) +"JX" = ( +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/techshop) "Kc" = ( /obj/effect/turf_decal/bordur, /obj/effect/landmark/npc_spawn_point, @@ -1999,12 +2015,25 @@ "Kk" = ( /turf/closed/wall/vampwall/brick_old, /area/vtm/outside/ghetto) +"Kn" = ( +/obj/structure/table, +/obj/lombard, +/obj/structure/platform/lowwall/rich/old, +/turf/open/floor/plating/rough, +/area/vtm/interior/cog) "Ko" = ( /obj/effect/landmark/npcbeacon/directed{ dir = 8 }, /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) +"Kq" = ( +/obj/item/flashlight/lantern/on{ + pixel_x = -8; + pixel_y = 8 + }, +/turf/open/misc/dirt, +/area/vtm/graveyard) "Kr" = ( /obj/structure/table, /obj/item/stack/dollar/thousand, @@ -2071,13 +2100,6 @@ }, /turf/open/misc/dirt, /area/vtm/outside/supply) -"Lk" = ( -/obj/item/flashlight/lantern/on{ - pixel_x = -8; - pixel_y = 8 - }, -/turf/open/misc/dirt, -/area/vtm/graveyard) "Lw" = ( /obj/structure/table, /obj/item/gas_can, @@ -2169,17 +2191,10 @@ /obj/structure/platform/lowwall/brick, /turf/open/floor/plating/rough, /area/vtm/interior/shop) -"Mz" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/rollingpapers{ - pixel_x = -6 - }, -/obj/item/storage/box/matches{ - pixel_x = 6; - pixel_y = 10 - }, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) +"MD" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/plating/rough/cave, +/area/vtm/interior/techshop) "MF" = ( /obj/structure/table/wood, /obj/machinery/radio_tranceiver/camarilla, @@ -2235,34 +2250,11 @@ /obj/structure/chair/darkpack/red, /turf/open/floor/plating/rough, /area/vtm/interior/techshop) -"NC" = ( -/obj/structure/vampdoor/wood{ - dir = 4 - }, -/obj/effect/mapping_helpers/door/access/graveyard, -/turf/open/floor/plating/rough, -/area/vtm/graveyard/interior) "NI" = ( /obj/structure/retail/bacotell_menu, /obj/structure/table/countertop/bacotell, /turf/open/floor/plating/concrete, /area/vtm/interior/shop) -"NK" = ( -/obj/machinery/smartfridge/drying/rack, -/obj/item/food/grown/cannabis, -/obj/item/food/grown/cannabis, -/obj/item/food/grown/cannabis, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) -"NN" = ( -/obj/structure/guncase, -/obj/item/gun/ballistic/shotgun/vampire, -/obj/item/flashlight/lantern/on{ - pixel_x = -7; - pixel_y = 19 - }, -/turf/open/floor/plating/rough, -/area/vtm/graveyard/interior) "NO" = ( /obj/structure/table/wood/fancy/red, /obj/item/storage/bag/books, @@ -2281,6 +2273,10 @@ "NR" = ( /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"NW" = ( +/obj/structure/sign/flag/pride/directional/north, +/turf/open/floor/plating/rough/cave, +/area/vtm/interior/techshop) "NX" = ( /obj/effect/decal/pallet, /obj/machinery/light/directional/west, @@ -2313,6 +2309,10 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"Oz" = ( +/obj/structure/sink/directional/east, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "OB" = ( /obj/darkpack_car/police{ locked = 0 @@ -2353,10 +2353,6 @@ /obj/structure/vampdoor, /turf/open/floor/wood/smooth/old, /area/vtm/interior/sewer) -"OQ" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/plating/canal, -/area/vtm/outside/pacificheights) "OU" = ( /obj/effect/spawner/random/trash/grime{ spawn_loot_count = 20; @@ -2364,24 +2360,6 @@ }, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) -"OV" = ( -/obj/structure/table/wood, -/obj/item/food/grown/cannabis, -/obj/item/food/grown/cannabis, -/obj/item/food/grown/cannabis, -/obj/item/food/grown/cannabis, -/obj/item/food/grown/cannabis, -/obj/item/food/grown/cannabis, -/obj/item/bong{ - pixel_y = 10; - pixel_x = 10 - }, -/obj/item/bong{ - pixel_y = 2; - pixel_x = 10 - }, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) "OZ" = ( /obj/structure/table, /obj/item/ammo_box/magazine/darkpackaug, @@ -2408,10 +2386,10 @@ /obj/machinery/computer/operating, /turf/open/floor/plating/rough, /area/vtm/interior/clinic) -"Py" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/plating/rough/cave, -/area/vtm/outside/pacificheights) +"Pw" = ( +/obj/structure/closet/crate/wooden/communitygardens/tools, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "Pz" = ( /obj/structure/transport/linear/public, /obj/machinery/elevator_control_panel/directional/north{ @@ -2431,6 +2409,12 @@ /obj/structure/roofstuff/vent, /turf/open/misc/grass, /area/vtm/outside/pacificheights) +"PK" = ( +/obj/structure/vampdoor{ + dir = 4 + }, +/turf/open/floor/plating/canal, +/area/vtm/interior/techshop) "PL" = ( /obj/effect/landmark/latejoin, /turf/open/misc/beach/vamp, @@ -2438,12 +2422,6 @@ "PO" = ( /turf/open/floor/plating/rough, /area/vtm/interior/anarch) -"PP" = ( -/obj/structure/table, -/obj/lombard/blackmarket, -/obj/structure/platform/lowwall/rich/old, -/turf/open/floor/plating/rough, -/area/vtm/outside/pacificheights) "PR" = ( /obj/structure/vampdoor{ dir = 4 @@ -2527,6 +2505,10 @@ }, /turf/open/misc/dirt/rails, /area/vtm/outside/supply) +"Rf" = ( +/obj/item/clothing/head/collectable/pirate, +/turf/open/floor/wood/rough, +/area/vtm/interior/techshop) "Rg" = ( /obj/structure/table/wood, /obj/structure/retail/flower_shop, @@ -2551,6 +2533,14 @@ /obj/structure/platform/lowwall/market, /turf/open/floor/plating/rough, /area/vtm/interior/shop) +"Rs" = ( +/turf/closed/wall/vampwall/brick, +/area/vtm/graveyard/interior) +"Rv" = ( +/obj/structure/table/wood, +/obj/machinery/light/directional/south, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "Rx" = ( /obj/effect/landmark/npcbeacon, /obj/effect/turf_decal/bordur/corner{ @@ -2599,15 +2589,6 @@ "SK" = ( /turf/closed/wall/vampwall/rich/old, /area/vtm/interior/clinic) -"SL" = ( -/turf/open/floor/wood/rough, -/area/vtm/outside/pacificheights) -"SM" = ( -/obj/structure/vampdoor{ - dir = 4 - }, -/turf/open/floor/plating/canal, -/area/vtm/outside/pacificheights) "SP" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -2666,11 +2647,10 @@ /obj/item/gun/ballistic/automatic/pistol/darkpack/deagle, /turf/open/floor/plating/rough, /area/vtm/interior/anarch) -"TU" = ( -/obj/machinery/smartfridge/drying/rack, -/obj/machinery/light/directional/north, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) +"TT" = ( +/obj/structure/railing/corner, +/turf/open/floor/plating/canal, +/area/vtm/interior/techshop) "TY" = ( /obj/structure/rack/food{ dir = 4; @@ -2678,17 +2658,16 @@ }, /turf/open/floor/plating/concrete, /area/vtm/interior/shop) -"Uf" = ( -/obj/structure/chair/wood/darkpack/red{ - dir = 1 - }, -/turf/open/floor/plating/rough, -/area/vtm/graveyard/interior) "Uq" = ( /obj/machinery/fax/admin/anarch, /obj/structure/table/wood, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) +"Us" = ( +/obj/machinery/light/directional/north, +/obj/structure/lattice/grate, +/turf/open/openspace, +/area/vtm/interior/techshop) "Ut" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -2716,12 +2695,6 @@ /obj/structure/transport/linear/public, /turf/open/floor/plating/elevatorshaft, /area/vtm/outside/pacificheights) -"UI" = ( -/obj/structure/vampfence/rich{ - dir = 4 - }, -/turf/open/misc/grass, -/area/vtm/graveyard) "UJ" = ( /obj/structure/closet/crate/dumpster, /turf/open/misc/beach/vamp, @@ -2733,10 +2706,6 @@ /obj/structure/transport/linear/public, /turf/open/floor/plating/elevatorshaft, /area/vtm/outside/pacificheights) -"UN" = ( -/obj/structure/closet/crate/wooden/communitygardens/tools, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) "Va" = ( /obj/machinery/computer/order_console/mining/restricted/hospital, /obj/structure/table/reinforced, @@ -2823,6 +2792,20 @@ }, /turf/open/floor/plating/sidewalk/rich, /area/vtm/outside/pacificheights) +"Wh" = ( +/obj/vampgrave{ + spawn_interval = 300; + max_zombies_per_grave = 1; + name = "upturned grave" + }, +/turf/open/misc/dirt, +/area/vtm/graveyard) +"Wk" = ( +/obj/structure/chair/wood/darkpack/red{ + dir = 1 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "Wl" = ( /obj/structure/table, /obj/item/ammo_box/magazine/darkpack556, @@ -2855,6 +2838,10 @@ /obj/structure/table/reinforced, /turf/open/floor/wood/smooth/old, /area/vtm/interior/sewer) +"WH" = ( +/obj/structure/vampdoor, +/turf/open/floor/plating/rough/cave, +/area/vtm/interior/techshop) "WJ" = ( /obj/structure/transport/linear/public, /turf/open/floor/plating/elevatorshaft, @@ -2951,20 +2938,31 @@ /mob/living/carbon/human/npc/incel, /turf/open/misc/beach/vamp, /area/vtm/outside/pacificheights) -"Yh" = ( +"Yb" = ( /obj/structure/table/wood, -/obj/machinery/light/directional/north, -/turf/open/floor/plating/sidewalk, -/area/vtm/outside/pacificheights) +/obj/item/storage/toolbox/mechanical{ + pixel_x = -4; + pixel_y = 14 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "Ys" = ( /turf/open/openspace, /area/vtm/outside/pacificheights) +"Yw" = ( +/obj/structure/railing, +/obj/structure/lattice/grate, +/turf/open/openspace, +/area/vtm/interior/techshop) "Yz" = ( /obj/structure/chair/office{ dir = 8 }, /turf/open/floor/plating/sidewalk/poor, /area/vtm/outside/supply) +"YA" = ( +/turf/closed/wall/vampwall/brick_old, +/area/vtm/interior/techshop) "YB" = ( /obj/machinery/fax/admin/endron, /obj/structure/table/wood, @@ -2984,6 +2982,10 @@ /obj/structure/roadsign/speedlimit, /turf/open/floor/plating/sidewalk/poor, /area/vtm/outside/pacificheights) +"YM" = ( +/obj/machinery/hydroponics/simple/wooden, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "YY" = ( /obj/structure/table/reinforced, /obj/item/ritual_tome/arcane, @@ -2995,18 +2997,36 @@ }, /turf/open/floor/plating/sidewalk, /area/vtm/outside/pacificheights) +"Zk" = ( +/obj/structure/table/wood, +/obj/item/shovel/vamp{ + pixel_x = 2; + pixel_y = 1 + }, +/obj/item/shovel/vamp{ + pixel_x = -4; + pixel_y = 7 + }, +/obj/item/melee/vamp/tire{ + pixel_x = 1; + pixel_y = 14 + }, +/turf/open/floor/plating/rough, +/area/vtm/graveyard/interior) "Zs" = ( /turf/closed/wall/vampwall/brick_old, /area/vtm/outside/pacificheights) +"Zt" = ( +/obj/structure/closet/crate/wooden/communitygardens/seeds, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "Zz" = ( /turf/open/misc/grass/random/grass, /area/vtm/outside/pacificheights) -"ZO" = ( -/obj/structure/vampfence/corner/rich{ - dir = 4 - }, -/turf/open/misc/dirt, -/area/vtm/graveyard) +"ZH" = ( +/obj/machinery/hydroponics/simple/plastic, +/turf/open/floor/plating/sidewalk, +/area/vtm/interior/cog) "ZS" = ( /obj/structure/table, /obj/item/gun/ballistic/shotgun/toy/crossbow/vampire{ @@ -6717,11 +6737,11 @@ oD oD oD NR -vF -mt -mt -mt -wP +nZ +EI +EI +EI +ew cj ik VQ @@ -6782,14 +6802,14 @@ Zz oD oD Zz -Io -Dq -mt -ZO -Bb -Bb -Bb -ed +uh +tL +EI +kx +ag +ag +ag +Eq cj ik VQ @@ -6850,14 +6870,14 @@ Oi Zz oD Oi -UI -lm -Bb -Bb -Bb -Bb -Bb Bb +Wh +ag +ag +ag +ag +ag +ag cj FB VQ @@ -6918,14 +6938,14 @@ Oi oD oD Oi -ed -Bb -Bb -lm -Bb -Bb -Bb -BM +Eq +ag +ag +Wh +ag +ag +ag +to cj ik VQ @@ -6986,14 +7006,14 @@ Oi oD oD Oi -ed -lm -ll -Bb -Bb -Bb -Bb -Bb +Eq +Wh +DS +ag +ag +ag +ag +ag Bq ik VQ @@ -7053,15 +7073,15 @@ oD Oi oD oD -bx -zq -zq -bx -Lk -Bb -Bb -Bb -ed +Rs +CO +CO +Rs +Kq +ag +ag +ag +Eq cj ik VQ @@ -7121,15 +7141,15 @@ oD Oi oD Zz -bx -An -Ka -bx -Bb -Bb -Bb -Bb -ed +Rs +Hv +mf +Rs +ag +ag +ag +ag +Eq Ig ik VQ @@ -7189,15 +7209,15 @@ oD Zs yW oD -bx -jG -Bv -bx -zq -NC -bx -bx -ZO +Rs +Zk +Dj +Rs +CO +vi +Rs +Rs +kx cj kc Cz @@ -7257,15 +7277,15 @@ oD Zs XD Jf -bx -lx -Uf -Bv -Bv -Bv -Bv -Bi -Bb +Rs +BH +Wk +Dj +Dj +Dj +Dj +Ay +ag cj ik VQ @@ -7325,14 +7345,14 @@ oD Zs Pz WJ -bx -NN -Bv -Dk -Bv -Bv -Bv -bx +Rs +aa +Dj +IQ +Dj +Dj +Dj +Rs Ny Ny rB @@ -7393,14 +7413,14 @@ Ny Ny Ny Ny -bx -bx -bx -bx -dd -uo -xV -bx +Rs +Rs +Rs +Rs +bD +Yb +yo +Rs GF Ny rB @@ -7587,13 +7607,13 @@ GJ GJ "} (2,1,2) = {" -GJ -MS -MS -MS -MS -MS -MS +GJ +ZU +ZU +ZU +ZU +ZU +ZU MS MS MS @@ -7656,12 +7676,12 @@ GJ "} (3,1,2) = {" GJ -MS -tr -Gw -iH -iH -MS +ZU +IE +pv +zD +zD +ZU Mm Ys Ys @@ -7724,12 +7744,12 @@ GJ "} (4,1,2) = {" GJ -MS -uP -EN -Hg -iH -MS +ZU +od +hp +mb +zD +ZU tY Ys Ys @@ -7792,12 +7812,12 @@ GJ "} (5,1,2) = {" GJ -MS -Jq -Py -bh -iH -yK +ZU +NW +MD +lf +zD +WH tY Ys Ys @@ -7860,20 +7880,20 @@ GJ "} (6,1,2) = {" GJ -MS -MS -MS -MS -MS -MS -SM -MS -MS -MS -MS -MS -MS -MS +ZU +ZU +ZU +ZU +ZU +ZU +PK +ZU +ZU +ZU +ZU +ZU +ZU +ZU GN lX lX @@ -7928,20 +7948,20 @@ GJ "} (7,1,2) = {" GJ -MS -eQ -eQ -eQ -eQ -MS -tY -BZ -Ys -Ys -Ys -Ys -Ys -di +ZU +JX +JX +JX +JX +ZU +mr +dE +hF +hF +hF +hF +hF +pI GN lX lX @@ -7996,20 +8016,20 @@ GJ "} (8,1,2) = {" GJ -MS -eQ -eQ -eQ -eQ -MS -di -dc -Ys -Ys -Ys -Ys -Ys -di +ZU +JX +bA +JX +JX +ZU +pI +Yw +hF +hF +hF +hF +hF +pI GN lX lX @@ -8064,20 +8084,20 @@ GJ "} (9,1,2) = {" GJ -MS -eQ -eQ -eQ -eQ -MS -pD -dc -Ys -Ys -Ys -Ys -Ys -di +ZU +JX +JX +JX +JX +ZU +Us +Yw +hF +hF +hF +hF +hF +pI GN lX lX @@ -8132,20 +8152,20 @@ GJ "} (10,1,2) = {" GJ -MS -eQ -eQ -eQ -eQ -eQ -di -dc -Ys -Ys -Ys -Ys -Ys -di +ZU +JX +JX +JX +JX +JX +pI +Yw +hF +hF +hF +hF +hF +pI GN lX lX @@ -8200,20 +8220,20 @@ GJ "} (11,1,2) = {" GJ -MS -MS -MS -MS -MS -MS -di -dc -Ys -Ys -Ys -Ys -Ys -di +tR +tR +tR +tR +tR +tR +pI +Yw +hF +hF +hF +hF +hF +pI GN lX lX @@ -8268,20 +8288,20 @@ GJ "} (12,1,2) = {" GJ -MS -ax -sZ -sZ -vW -MS -di -dc -Ys -Ys -Ys -Ys -Ys -di +tR +kO +Oz +Oz +xY +tR +pI +Yw +hF +hF +hF +hF +hF +pI GN lX lX @@ -8336,20 +8356,20 @@ GJ "} (13,1,2) = {" GJ -MS -sQ -eQ -eQ -gl -MS -tY -BZ -Ys -Ys -Ys -Ys -Ys -di +tR +YM +lx +lx +xt +tR +mr +dE +hF +hF +hF +hF +hF +pI GN lX lX @@ -8404,20 +8424,20 @@ GJ "} (14,1,2) = {" GJ -MS -sQ -eQ -eQ -gl -MS -tY -dU -SL -JZ -Ys -Ys -Ys -di +tR +YM +lx +lx +xt +tR +mr +TT +vf +Rf +hF +hF +hF +pI LU lX lX @@ -8472,20 +8492,20 @@ GJ "} (15,1,2) = {" GJ -MS -Yh -eQ -eQ -dL -MS -OQ -BZ -Ys -Ys -Ys -Ys -Ys -di +tR +Je +lx +lx +Rv +tR +IU +dE +hF +hF +hF +hF +hF +pI LU lX lX @@ -8540,20 +8560,20 @@ GJ "} (16,1,2) = {" GJ -MS -sQ -eQ -eQ -iZ -MS -di -dc -Ys -Ys -Ys -Ys -Ys -di +tR +YM +lx +lx +ZH +tR +pI +Yw +hF +hF +hF +hF +hF +pI GN lX lX @@ -8608,20 +8628,20 @@ GJ "} (17,1,2) = {" GJ -MS -sQ -eQ -eQ -iZ -MS -di -dc -Ys -Ys -Ys -Ys -Ys -di +tR +YM +lx +lx +ZH +tR +pI +Yw +hF +hF +hF +hF +hF +pI GN lX lX @@ -8676,20 +8696,20 @@ GJ "} (18,1,2) = {" GJ -MS -rO -eQ -eQ -oi -MS -di -Cj -Ys -Ys -Ys -Ys -Ys -di +tR +mT +lx +lx +Zt +tR +pI +yX +hF +hF +hF +hF +hF +pI GN lX lX @@ -8744,20 +8764,20 @@ GJ "} (19,1,2) = {" GJ -MS -rO -eQ -eQ -oi -MS -di -dc -Ys -Ys -Ys -Ys -Ys -di +tR +mT +lx +lx +Zt +tR +pI +Yw +hF +hF +hF +hF +hF +pI GN lX lX @@ -8812,20 +8832,20 @@ GJ "} (20,1,2) = {" GJ -MS -NK -eQ -eQ -UN -MS -di -dc -Ys -Ys -Ys -Ys -Ys -di +tR +vG +lx +lx +Pw +tR +pI +Yw +hF +hF +hF +hF +hF +pI LU lX lX @@ -8880,20 +8900,20 @@ GJ "} (21,1,2) = {" GJ -MS -TU -eQ -eQ -UN -MS -OQ -BZ -Ys -Ys -Ys -Ys -Ys -di +tR +tJ +lx +lx +Pw +tR +IU +dE +hF +hF +hF +hF +hF +pI LU lX lX @@ -8948,20 +8968,20 @@ GJ "} (22,1,2) = {" GJ -MS -OV -eQ -eQ -eQ -eQ -tY -tY -Ys -Ys -Ys -Ys -Ys -di +tR +wh +lx +lx +lx +lx +mr +mr +hF +hF +hF +hF +hF +pI GN lX lX @@ -9016,20 +9036,20 @@ GJ "} (23,1,2) = {" GJ -MS -Mz -eQ -eQ -eQ -eQ -tY -tY -Ys -Ys -Ys -Ys -Ys -di +tR +Eg +lx +lx +lx +lx +mr +mr +hF +hF +hF +hF +hF +pI GN lX lX @@ -9084,20 +9104,20 @@ GJ "} (24,1,2) = {" GJ -MS -nw -PP -MS -MS -MS -SM -SM -MS -MS -Zs -Zs -Zs -Zs +tR +Kn +cz +tR +tR +tR +PK +PK +ZU +ZU +YA +YA +YA +YA Kk Mg SJ diff --git a/_maps/map_files/Vampire/westfield_mall/westfield_mall.dmm b/_maps/map_files/Vampire/westfield_mall/westfield_mall.dmm index fa67f815e653..54712988dedc 100644 --- a/_maps/map_files/Vampire/westfield_mall/westfield_mall.dmm +++ b/_maps/map_files/Vampire/westfield_mall/westfield_mall.dmm @@ -75,9 +75,8 @@ /turf/open/floor/plating/concrete, /area/vtm/westfield_mall/interior/anarch) "aan" = ( -/obj/item/bong, -/turf/open/floor/plating/rough/cave, -/area/vtm/westfield_mall/interior/cave) +/turf/open/water/hot_spring, +/area/vtm/westfield_mall/forest) "aao" = ( /obj/structure/punching_bag, /obj/effect/decal/rugs, @@ -2889,9 +2888,9 @@ /turf/open/floor/wood/old, /area/vtm/westfield_mall/interior/chantry) "ajK" = ( -/obj/structure/glowshroom/glowcap, -/turf/open/misc/grass, -/area/vtm/westfield_mall/forest) +/obj/item/flashlight/lantern/on, +/turf/open/floor/plating/rough/cave, +/area/vtm/westfield_mall/interior/cave) "ajL" = ( /obj/structure/rack/food/rand, /turf/open/floor/city/plating, @@ -3765,7 +3764,7 @@ /turf/open/floor/carpet/darkpack/bluegold, /area/vtm/westfield_mall/interior/theatre) "amG" = ( -/obj/structure/glowshroom, +/obj/structure/glowshroom/single, /turf/open/floor/plating/rough/cave, /area/vtm/westfield_mall/interior/cave) "amH" = ( @@ -3884,8 +3883,9 @@ /turf/open/floor/city/plating, /area/vtm/westfield_mall/interior) "ana" = ( -/obj/item/seeds/cannabis, -/turf/open/floor/plating/rough, +/obj/structure/flora/rock/stalagmite, +/obj/effect/realistic_fog/dense/strong, +/turf/open/floor/plating/rough/cave, /area/vtm/westfield_mall/interior/cave) "anb" = ( /obj/effect/turf_decal/bordur{ @@ -3927,8 +3927,12 @@ /turf/open/floor/carpet/darkpack/bluegold, /area/vtm/westfield_mall/interior/theatre) "ani" = ( -/obj/structure/glowshroom/glowcap, -/turf/open/floor/plating/rough, +/obj/structure/platform/lowwall/wood, +/obj/item/flashlight/lantern/on{ + pixel_x = 9; + pixel_y = 2 + }, +/turf/open/misc/dirt, /area/vtm/westfield_mall/interior/cave) "anj" = ( /obj/item/kirbyplants/random/dead{ @@ -4726,7 +4730,7 @@ /turf/open/floor/city/plating, /area/vtm/westfield_mall/interior/anarch) "apL" = ( -/obj/machinery/hydroponics/simple/plastic, +/obj/machinery/hydroponics/simple/wooden, /turf/open/floor/plating/rough/cave, /area/vtm/westfield_mall/interior/cave) "apN" = ( @@ -6158,7 +6162,7 @@ /turf/open/floor/plating/concrete, /area/vtm/westfield_mall/interior/supply) "auj" = ( -/obj/structure/glowshroom, +/obj/structure/glowshroom/single, /turf/open/floor/plating/rough, /area/vtm/westfield_mall/interior/cave) "auk" = ( @@ -6872,9 +6876,11 @@ /turf/open/floor/wood/smooth, /area/vtm/interior/clinic) "awD" = ( -/obj/structure/glowshroom/shadowshroom, -/turf/open/misc/grass, -/area/vtm/westfield_mall/forest) +/obj/structure/chair/wood/darkpack{ + dir = 1 + }, +/turf/open/misc/dirt, +/area/vtm/westfield_mall/interior/cave) "awE" = ( /obj/structure/guncase, /obj/item/gun/ballistic/automatic/darkpack/huntrifle, @@ -8165,12 +8171,9 @@ /turf/open/floor/wood/smooth/old, /area/vtm/westfield_mall/interior/skatepark) "aBa" = ( -/obj/structure/flora/bush/sparsegrass/style_random, -/obj/effect/turf_decal/bordur{ - dir = 9 - }, -/turf/open/floor/plating/sidewalk/old, -/area/vtm/westfield_mall/forest) +/obj/structure/platform/lowwall/wood, +/turf/open/misc/dirt, +/area/vtm/westfield_mall/interior/cave) "aBb" = ( /obj/structure/vampipe{ pixel_y = 32; @@ -9960,7 +9963,7 @@ /turf/open/misc/dirt, /area/vtm/westfield_mall) "aGX" = ( -/obj/structure/glowshroom, +/obj/structure/glowshroom/single, /turf/open/misc/dirt, /area/vtm/westfield_mall/interior/cave) "aGY" = ( @@ -13913,6 +13916,10 @@ /obj/effect/decal/cleanable/blood/splatter/oil, /turf/open/floor/plating/stone, /area/vtm/westfield_mall/interior/endron_logging) +"aUa" = ( +/obj/structure/flora/rock/stalagmite, +/turf/open/floor/plating/rough/cave, +/area/vtm/westfield_mall/interior/cave) "aUb" = ( /obj/effect/landmark/start, /turf/open/floor/city/plating, @@ -15721,7 +15728,7 @@ /turf/open/floor/wood/smooth/old, /area/vtm/interior/shop) "aZU" = ( -/obj/structure/glowshroom, +/obj/structure/glowshroom/single, /turf/open/misc/grass, /area/vtm/westfield_mall/forest) "aZV" = ( @@ -15771,6 +15778,39 @@ }, /turf/open/floor/iron/grimy, /area/vtm/westfield_mall/interior/art_store) +"bfc" = ( +/obj/structure/table/wood, +/obj/effect/decal/pallet, +/obj/item/flashlight/lantern/on{ + pixel_x = -9; + pixel_y = 10 + }, +/obj/item/chair/wood/darkpack{ + pixel_x = 9; + pixel_y = 10 + }, +/obj/item/chair/wood/darkpack{ + pixel_x = 8; + pixel_y = 11 + }, +/obj/item/chair/wood/darkpack{ + pixel_x = 8; + pixel_y = 12 + }, +/obj/item/chair/wood/darkpack{ + pixel_x = 5; + pixel_y = 10 + }, +/obj/item/chair/wood/darkpack{ + pixel_x = 8; + pixel_y = 11 + }, +/obj/item/chair/wood/darkpack{ + pixel_x = 9; + pixel_y = 13 + }, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "bfr" = ( /obj/structure/desk_bell{ pixel_x = -7; @@ -15804,6 +15844,10 @@ /obj/effect/mapping_helpers/door/autoname, /turf/open/floor/carpet/darkpack/purplegold, /area/vtm/westfield_mall/interior/law_office) +"bxv" = ( +/obj/effect/spawner/random/flora/flowers, +/turf/open/misc/dirt, +/area/vtm/westfield_mall/interior/cave) "bzR" = ( /obj/machinery/sprinkler, /turf/open/floor/carpet/darkpack/purplegold, @@ -15985,6 +16029,10 @@ "cLU" = ( /turf/open/floor/plating/rough/cave, /area/vtm/interior/caves) +"cND" = ( +/obj/effect/spawner/random/flora/grass, +/turf/open/misc/dirt, +/area/vtm/westfield_mall/interior/cave) "cTO" = ( /obj/transfer_point_vamp/umbral/exit{ id = "umbra_forest" @@ -16099,6 +16147,9 @@ /obj/machinery/light/directional/east, /turf/open/floor/city/toilet, /area/vtm/westfield_mall/interior/bathroom) +"edJ" = ( +/turf/open/water/hot_spring, +/area/vtm/westfield_mall/interior/cave) "eel" = ( /obj/machinery/light/floor, /turf/open/floor/plating/concrete, @@ -16276,6 +16327,9 @@ }, /turf/open/floor/plating/concrete, /area/vtm/westfield_mall/interior/groundskeeper_garage) +"fgE" = ( +/turf/closed/indestructible/the_matrix, +/area/vtm/westfield_mall/interior/cave) "fgJ" = ( /obj/effect/turf_decal/bordur/inverse{ dir = 8 @@ -16351,6 +16405,10 @@ /obj/effect/decal/wallpaper/light, /turf/closed/wall/vampwall/painted, /area/vtm/westfield_mall/interior/games_store) +"fIO" = ( +/obj/effect/decal/pallet, +/turf/open/floor/plating/rough/cave, +/area/vtm/westfield_mall/interior/cave) "fJW" = ( /obj/effect/turf_decal/bordur/inverse{ dir = 1 @@ -16376,6 +16434,17 @@ /obj/item/flashlight/seclite, /turf/open/floor/iron/dark, /area/vtm/westfield_mall/interior/art_store) +"fOL" = ( +/obj/item/bong{ + pixel_x = -9; + pixel_y = -1 + }, +/turf/open/floor/plating/rough/cave, +/area/vtm/westfield_mall/interior/cave) +"fRW" = ( +/obj/structure/closet/crate/wooden/communitygardens/tools, +/turf/open/floor/plating/rough/cave, +/area/vtm/westfield_mall/interior/cave) "fSa" = ( /obj/structure/filingcabinet/chestdrawer, /obj/item/flashlight/lamp{ @@ -16437,6 +16506,10 @@ /obj/structure/retail/gun_store, /turf/open/floor/wood/smooth/old, /area/vtm/westfield_mall/interior) +"gra" = ( +/obj/effect/spawner/random/flora/rocks, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "gsP" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/item/food/vampire/icecream/chocolate, @@ -16493,6 +16566,19 @@ }, /turf/open/floor/iron/grimy, /area/vtm/westfield_mall/interior/art_store) +"gBa" = ( +/obj/structure/stone_tile/slab, +/obj/item/food/meat/rawcutlet/bear, +/obj/item/food/meat/rawcutlet/bear{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/item/food/meat/rawcutlet/bear{ + pixel_x = -7; + pixel_y = 6 + }, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "gKJ" = ( /obj/structure/vampdoor/simple{ dir = 4 @@ -16565,6 +16651,10 @@ /obj/effect/decal/wallpaper/padded, /turf/closed/wall/vampwall/painted, /area/vtm/westfield_mall/interior/theatre) +"her" = ( +/obj/structure/bonfire/dense/prelit, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "heG" = ( /obj/transfer_point_vamp/umbral/exit{ id = "umbra_street" @@ -16606,6 +16696,14 @@ }, /turf/open/floor/plating/concrete, /area/vtm/westfield_mall/interior/groundskeeper_garage) +"hqp" = ( +/obj/effect/realistic_fog, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) +"hxC" = ( +/obj/effect/realistic_fog/dense/strong, +/turf/open/floor/plating/rough/cave, +/area/vtm/westfield_mall/interior/cave) "hyM" = ( /obj/machinery/icecream_vat, /turf/open/floor/wood/smooth, @@ -16723,6 +16821,10 @@ }, /turf/open/floor/wood/smooth/old, /area/vtm/westfield_mall/interior/games_store) +"ieU" = ( +/obj/effect/realistic_fog/dense/strong, +/turf/open/water/beach/vamp, +/area/vtm/westfield_mall/interior/cave) "ifk" = ( /turf/open/floor/iron/grimy, /area/vtm/westfield_mall/interior/art_store) @@ -16876,6 +16978,16 @@ }, /turf/open/floor/iron/grimy, /area/vtm/westfield_mall/interior/art_store) +"jwu" = ( +/obj/machinery/hydroponics/soil, +/turf/open/misc/dirt, +/area/vtm/westfield_mall/forest) +"jwH" = ( +/obj/structure/chair/wood/darkpack{ + dir = 8 + }, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "jxp" = ( /obj/structure/closet/crate/bin, /obj/effect/spawner/random/trash/garbage, @@ -16913,6 +17025,10 @@ }, /turf/open/floor/iron/dark, /area/vtm/westfield_mall/interior/art_store) +"jNL" = ( +/obj/structure/table/wood, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "jQE" = ( /obj/structure/railing{ dir = 1 @@ -17111,6 +17227,10 @@ /obj/machinery/sprinkler, /turf/open/floor/wood/smooth, /area/vtm/westfield_mall/interior/candy_store) +"mgz" = ( +/obj/effect/realistic_fog, +/turf/open/floor/plating/rough/cave, +/area/vtm/westfield_mall/interior/cave) "mjJ" = ( /obj/item/kirbyplants/darkpack/random, /obj/effect/turf_decal/siding/white, @@ -17207,6 +17327,18 @@ /obj/effect/mapping_helpers/mob_buckler, /turf/open/floor/carpet/darkpack/bluegold, /area/vtm/westfield_mall/interior/theatre) +"mMR" = ( +/obj/structure/table/wood, +/obj/item/seeds/cannabis{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/seeds/cannabis{ + pixel_x = -6; + pixel_y = 4 + }, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "mPi" = ( /obj/structure/safe, /obj/item/stack/dollar/hundred{ @@ -17310,6 +17442,17 @@ /obj/machinery/light/directional/east, /turf/open/floor/carpet/darkpack/blacksilver, /area/vtm/westfield_mall/interior/skatepark) +"nNk" = ( +/obj/item/flashlight/lantern/on, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) +"nNq" = ( +/obj/effect/spawner/random/flora/rocks{ + pixel_y = -2; + pixel_x = -1 + }, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "nRx" = ( /obj/structure/vampdoor/simple, /obj/effect/mapping_helpers/door/access/cleaning, @@ -17342,6 +17485,11 @@ /obj/effect/decal/wallpaper/light, /turf/closed/wall/vampwall/painted, /area/vtm/westfield_mall/interior/law_office) +"ogy" = ( +/obj/effect/spawner/random/flora/grass, +/obj/effect/spawner/random/flora/flowers, +/turf/open/misc/dirt, +/area/vtm/westfield_mall/interior/cave) "okz" = ( /obj/structure/sign/city/skateshop/three/directional/north, /turf/open/floor/plating/sidewalk/poor, @@ -17364,7 +17512,9 @@ /turf/open/misc/dirt, /area/vtm/interior/caves) "oqv" = ( -/obj/structure/coclock, +/obj/structure/coclock{ + pixel_y = -2 + }, /obj/machinery/light_switch/directional/north{ pixel_x = -12 }, @@ -17410,10 +17560,19 @@ /obj/effect/mapping_helpers/door/autoname, /turf/open/floor/wood/herring, /area/vtm/westfield_mall/interior/hot_ishu) +"oFh" = ( +/obj/effect/decal/garou_glyph/caern, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "oGX" = ( /obj/effect/spawner/random/trash/box, /turf/open/floor/city/plating, /area/vtm/interior/shop) +"oMG" = ( +/obj/structure/stone_tile/slab, +/obj/effect/spawner/random/food_or_drink/plant_produce, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "oQx" = ( /obj/structure/table/countertop/beige, /obj/effect/turf_decal/siding/wood{ @@ -17467,6 +17626,10 @@ }, /turf/open/floor/plating/sidewalk/old, /area/vtm/westfield_mall/parking_lot) +"pfj" = ( +/obj/structure/werewolf_totem/generic/alltribes, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "pmd" = ( /obj/structure/table/countertop/beige, /obj/effect/turf_decal/siding/wood{ @@ -17562,10 +17725,18 @@ /obj/machinery/light/directional/north, /turf/open/floor/wood/smooth/old, /area/vtm/westfield_mall/interior/skatepark) +"qiO" = ( +/turf/closed/wall/vampwall/wood, +/area/vtm/westfield_mall/interior/cave) "qtc" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/smooth, /area/vtm/westfield_mall/interior/art_store) +"qCk" = ( +/obj/structure/table/wood, +/obj/effect/decal/pallet, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "qNv" = ( /obj/effect/turf_decal/siding/wood/dark{ dir = 8 @@ -17601,6 +17772,13 @@ /obj/effect/mapping_helpers/door/autoname, /turf/open/floor/city/plating, /area/vtm/westfield_mall/interior/arcade) +"qYz" = ( +/obj/structure/coclock{ + pixel_y = -2 + }, +/obj/structure/table/countertop, +/turf/open/floor/carpet/darkpack/orangesilver, +/area/vtm/westfield_mall/interior/supply) "rfA" = ( /obj/effect/decal/carpet{ pixel_x = 10; @@ -17645,6 +17823,10 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/carpet/darkpack/purplegold, /area/vtm/westfield_mall/interior/law_office) +"rCh" = ( +/obj/effect/realistic_fog, +/turf/open/water/hot_spring, +/area/vtm/westfield_mall/forest) "rCr" = ( /obj/effect/decal/cleanable/trash, /obj/transfer_point_vamp/umbral/exit{ @@ -17675,6 +17857,11 @@ }, /turf/open/floor/plating/roofwalk, /area/vtm/westfield_mall) +"rIi" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lantern/on, +/turf/open/floor/plating/rough/cave, +/area/vtm/westfield_mall/interior/cave) "rJe" = ( /obj/transfer_point_vamp/umbral/exit{ id = "umbra_church" @@ -17699,6 +17886,10 @@ }, /turf/open/floor/wood/herring, /area/vtm/westfield_mall/interior/law_office) +"rZU" = ( +/obj/structure/closet/crate/wooden/communitygardens/seeds, +/turf/open/floor/plating/rough/cave, +/area/vtm/westfield_mall/interior/cave) "seO" = ( /obj/machinery/sprinkler, /turf/open/floor/plating/concrete, @@ -17889,6 +18080,10 @@ }, /turf/open/floor/iron/dark, /area/vtm/westfield_mall/interior/art_store) +"tSo" = ( +/obj/item/flashlight/flare/candle/infinite, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "tTU" = ( /obj/structure/chair/darkpack/blue{ dir = 1 @@ -17987,6 +18182,11 @@ /obj/effect/mapping_helpers/door/autoname, /turf/open/floor/wood/smooth, /area/vtm/interior/shop) +"uEx" = ( +/obj/effect/spawner/random/flora/flowers, +/obj/effect/spawner/random/flora/flowers, +/turf/open/misc/dirt, +/area/vtm/westfield_mall/interior/cave) "uGu" = ( /obj/structure/table/countertop/beige, /obj/effect/turf_decal/siding/wood, @@ -18028,6 +18228,20 @@ }, /turf/open/floor/plating/sidewalk/poor, /area/vtm/interior/sewer) +"uNn" = ( +/obj/structure/table/wood, +/obj/effect/decal/pallet, +/obj/item/veil_contract, +/obj/item/veil_contract{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/veil_contract{ + pixel_x = 8; + pixel_y = 1 + }, +/turf/open/floor/plating/rough/cave, +/area/vtm/westfield_mall/interior/cave) "uPd" = ( /obj/item/kirbyplants/random, /turf/open/floor/carpet/darkpack/blacksilver, @@ -18113,6 +18327,10 @@ /obj/structure/lattice/grate, /turf/open/water/vamp_sewer, /area/vtm/interior/sewer) +"vts" = ( +/obj/effect/spawner/random/flora/rocks, +/turf/open/floor/plating/rough/cave, +/area/vtm/westfield_mall/interior/cave) "vxJ" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -18363,6 +18581,33 @@ }, /turf/open/floor/plating/rough, /area/vtm/westfield_mall/interior/anarch) +"wZb" = ( +/obj/structure/table/wood, +/obj/effect/decal/pallet, +/obj/item/darkpack/spear{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/darkpack/spear{ + pixel_x = -5; + pixel_y = -6 + }, +/obj/item/darkpack/spear{ + pixel_x = -1; + pixel_y = -4 + }, +/obj/item/gun/ballistic/automatic/darkpack/huntrifle{ + pixel_y = 10 + }, +/obj/item/ammo_box/darkpack/c556{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/item/ammo_box/magazine/darkpack556/hunt{ + pixel_x = 12 + }, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "xjy" = ( /obj/effect/landmark/start/darkpack/hospital/clinic_director, /turf/open/floor/wood/smooth, @@ -18422,6 +18667,10 @@ /obj/structure/table/modern, /turf/open/floor/carpet/green, /area/vtm/westfield_mall/interior/law_office) +"xRi" = ( +/obj/structure/flora/rock/stalagmite, +/turf/open/floor/plating/rough, +/area/vtm/westfield_mall/interior/cave) "xRE" = ( /obj/structure/sign/painting{ pixel_y = 32; @@ -19621,7 +19870,7 @@ asT azz aco aco -aco +aRF aco aco azz @@ -24111,7 +24360,7 @@ aPP adV azz aBJ -aco +aRF azz aeW aeW @@ -50236,7 +50485,7 @@ aQQ adg adg auY -atC +aSM atC atC atC @@ -50388,7 +50637,7 @@ aQQ adg adg auY -atC +qYz aAQ aAQ atC @@ -109895,13 +110144,13 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +aFc +aFc +aFc +aFc +aFc avR avR avR @@ -110042,18 +110291,18 @@ avR avR avR avR -aFc -aFc -aFc -aFc -aFc -avR -avR avR avR avR avR avR +aFc +adj +adj +fgE +fgE +adj +aFc avR avR avR @@ -110190,17 +110439,6 @@ avR avR avR avR -aFc -aFc -aFc -aFc -aFc -arI -arI -arI -aFc -aFc -aFc avR avR avR @@ -110210,6 +110448,17 @@ avR avR avR avR +aFc +adj +ana +hxC +hxC +adj +aFc +avR +avR +avR +avR avR avR aFc @@ -110340,20 +110589,6 @@ avR avR avR avR -aFc -aFc -aFc -arI -arI -arI -arI -arI -aLD -arI -arI -arI -aFc -aFc avR avR avR @@ -110363,6 +110598,20 @@ avR avR avR avR +avR +avR +aFc +adj +hxC +hxC +hxC +adj +aFc +aFc +avR +avR +avR +avR aFc aFc arI @@ -110490,22 +110739,6 @@ avR avR avR avR -aFc -aFc -aFc -arI -arI -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -arI -arI -aFc avR avR avR @@ -110515,6 +110748,22 @@ avR avR avR avR +avR +avR +avR +avR +aFc +adj +amG +aWd +aWd +adj +adj +aFc +avR +avR +avR +avR aFc arI arI @@ -110641,24 +110890,6 @@ avR avR avR avR -aFc -aFc -arI -arI -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -arI -aFc -aFc avR avR avR @@ -110667,13 +110898,31 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +aFc +adj +xRi +aTe +aWd +amG +adj +aFc +avR +avR +avR +avR aFc arI +ieU aXX +ieU aXX -aXX -aXX -aXX +ieU aXX aXX aWd @@ -110792,25 +111041,6 @@ avR avR avR avR -aFc -aFc -arI -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -arI -arI -aFc avR avR avR @@ -110819,21 +111049,40 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +aFc +adj +adj +aTe +aWd +auj +adj +aFc +avR +avR +avR +avR aFc arI aXX +ieU aXX +ieU aXX -aXX -aXX -aXX +ieU aXX aXX aWd aWd aWd auj -ani +auj arI arI aFc @@ -110943,141 +111192,6 @@ avR avR avR avR -aFc -aFc -arI -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -arI -aFc -aFc -avR -avR -avR -avR -avR -avR -avR -aFc -arI -aXX -aXX -aXX -aXX -aXX -adj -adj -aXX -aXX -aXX -aWd -aWd -aTe -aXX -arI -arI -arI -aFc -aFc -avR -avR -avR -avR -avR -avR -avR -avR -aFc -aFc -arI -auM -auM -auM -auM -auM -aBu -aHn -aHn -ayh -aGp -aGp -aGp -aGp -aXI -aXI -aXI -aXI -aXI -aXI -aXI -aXI -aXI -arI -aFc -"} -(10,1,5) = {" -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR avR avR avR @@ -111096,54 +111210,37 @@ avR avR aFc aFc -arI -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -arI -arI -aFc +adj +aUa +aWd +auj +adj aFc avR avR avR avR -avR -avR aFc arI -arI -aXX -aXX -aXX +ieU aXX +ieU aXX +ieU adj adj aXX aXX aXX -aXX -aXX -aXX -aXX +aWd +aWd aTe +aXX +arI arI arI aFc +aFc avR avR avR @@ -111153,18 +111250,18 @@ avR avR avR aFc -arI +aFc arI auM auM auM -aSE auM auM +aBu aHn aHn -afK -afd +ayh +aGp aGp aGp aGp @@ -111180,7 +111277,20 @@ aXI arI aFc "} -(11,1,5) = {" +(10,1,5) = {" +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -111245,31 +111355,6 @@ avR avR avR avR -aFc -aFc -arI -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -arI -arI -aFc -aFc avR avR avR @@ -111277,25 +111362,36 @@ avR avR aFc aFc +adj +adj +aWd +aTe +adj +aFc +aFc +aFc +avR +avR +aFc arI +arI +ieU aXX +ieU aXX +ieU +adj +adj aXX aXX aXX aXX -adj -adj -adj -aXX aXX aXX aXX -aWd aTe -auj arI -aFc +arI aFc avR avR @@ -111303,23 +111399,24 @@ avR avR avR avR -aFc +avR +avR aFc arI +arI auM auM auM -auM -aBu +aSE auM auM -aSE aHn aHn afK afd aGp aGp +aGp aXI aXI aXI @@ -111332,7 +111429,23 @@ aXI arI aFc "} -(12,1,5) = {" +(11,1,5) = {" +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -111398,55 +111511,38 @@ avR avR avR aFc -arI -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -arI -arI aFc aFc +adj +adj +adj +aWd +aWd +adj +adj +adj aFc aFc aFc aFc -avR aFc arI -arI -aXX -aXX aXX +ieU aXX +ieU aXX aXX -aWd +adj adj adj aXX aXX -aTe -aWd +aXX +aXX aWd aTe -arI +auj arI aFc aFc @@ -111454,22 +111550,23 @@ avR avR avR avR +avR +avR aFc aFc arI -arI -auM -auM -auM auM auM auM auM aBu auM +auM +aSE aHn -aww -ayh +aHn +afK +afd aGp aGp aXI @@ -111484,7 +111581,23 @@ aXI arI aFc "} -(13,1,5) = {" +(12,1,5) = {" +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -111550,35 +111663,18 @@ avR avR aFc aFc -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -arI -arI -arI -arI -arI -arI -aFc +adj +adj +adj +gra +amG +aWd +aWd +amG +aUa +adj +adj +adj aFc aFc aFc @@ -111589,19 +111685,21 @@ aXX aXX aXX aXX +aXX aWd -aWd -adj adj adj +aXX +aXX aTe -aTe +aWd aWd aTe -auj arI arI aFc +aFc +avR avR avR avR @@ -111616,11 +111714,10 @@ auM auM auM auM -auM -auM +aBu auM aHn -ayj +aww ayh aGp aGp @@ -111636,7 +111733,7 @@ aXI arI aFc "} -(14,1,5) = {" +(13,1,5) = {" avR avR avR @@ -111700,37 +111797,189 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +aFc +aFc +adj +adj +aTe +nNk +aTe +aTe +aWd +aWd +aWd +aWd +amG +vts +adj +aFc +aFc +aFc aFc arI arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD +aXX +aXX +aXX +aXX +aXX +aWd +aWd +adj +adj +adj +aTe +aTe +aWd +aTe +auj +arI +arI +aFc +avR +avR +avR +aFc +aFc arI arI +auM +auM +auM +auM +auM +auM +auM +auM +auM +auM +aHn +ayj +ayh +aGp +aGp +aXI +aXI +aXI +aXI +aXI +aXI +aXI +aXI +aXI +arI +aFc +"} +(14,1,5) = {" +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +aFc +adj +adj +xRi +auj +aTe +aTe +aTe +aWd +mgz +aWd +aWd +aWd +aWd +adj +adj aFc aFc aFc @@ -111747,7 +111996,7 @@ aWd aWd adj adj -aTe +oFh aWd aTe aTe @@ -111851,39 +112100,39 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -aFc -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -arI -arI +adj +aTe +aTe +aWd +gra +aTe +aTe +aWd +aWd +aWd +amG +aWd +aWd +aWd +adj +adj aFc aFc aFc @@ -112002,41 +112251,41 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc aFc -arI -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aRN -aRN -aOx -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -arI -arI +adj +gra +aTe +aWd +aTe +aTe +aTe +aTe +aTe +aTe +aWd +auj +aTe +aWd +aUa +adj +adj aFc aFc aFc @@ -112154,45 +112403,45 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -arI -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aOx -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -arI -arI -arI -arI -arI +adj +adj +aTe +aWd +aWd +aTe +auj +aTe +xRi +aTe +aTe +xRi +auj +aTe +mgz +atM +aGX +adj +adj +adj +adj +adj aFc aFc aFc @@ -112306,48 +112555,48 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -arI -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -atM -atM +adj +vts +aWd +aWd +mgz +aTe +qiO +aTe +aTe +aTe +aTe +gra +qiO +aTe +aTe atM atM -arI -arI -arI -arI +aBa +ani +awD +aGX +adj +adj +adj +adj arI atM aTe @@ -112458,39 +112707,39 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aRN -aRN -aOx -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aOx -aRN -aRN -aRN -aRN -aRN +aFc +adj +auj +aWd +aWd +aWd +aWd +xRi +aTe +aTe +aTe +aTe +aTe +aTe +aTe +aTe +atM atM atM atM @@ -112610,39 +112859,39 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -arI -aLD -aLD -aLD -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aOx -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aOx -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN +adj +adj +aTe +aTe +aWd +aWd +aWd +aTe +aTe +edJ +aan +aan +jwu +uEx +cND +atM +atM atM aGX atM @@ -112762,39 +113011,39 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -arI -aLD -aLD -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aOx -aRN -aRN -aRN -aRN -aRN +adj +aTe +tSo +oMG +tSo +aWd +aWd +aWd +edJ +aan +aan +aan +aan +jwu +uEx +cND +atM atM atM atM @@ -112914,39 +113163,39 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -arI -aLD -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aOx -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN +adj +auj +aTe +pfj +gBa +aWd +aWd +aWd +aan +aan +rCh +aan +aan +cND +atM +atM +atM atM atM atM @@ -112963,7 +113212,7 @@ aWd aWd amG adj -ani +auj aTe arI arI @@ -113066,40 +113315,40 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -arI -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aOx -aRN -aRN -aRN -aRN -aOx -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN +adj +xRi +tSo +oMG +tSo +aWd +aWd +aWd +aan +aan +aan +aan +aan +cND +bxv +atM +atM +atM atM atM atM @@ -113210,50 +113459,50 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -aFc -aFc -aFc -aFc -aFc -aFc -aFc -aFc -arI -aBu -aBu -aRN -aRN -aRN -aRN -aOx -aRN -aOx -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -auM -auM +adj +adj +aTe +aTe +aTe +aTe +aTe +aWd +edJ +aan +aan +aan +aan +jwu +ogy +atM +atM +atM +her +aTe atM atM atM @@ -113361,57 +113610,57 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc aFc -abS -abS -abS -abS -abS -abS -abS -abS -arI -aRN -aRN -aRN -aRN -azA -aRN -aRN -aRN -aRN -aRN -aOx -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -auM -auM -auM -auM -auM -auM -auM -auM -arI +adj +aTe +aTe +hqp +aTe +aTe +aTe +aTe +aTe +aan +aan +jwu +bxv +uEx +atM +aGX +aTe +aTe +aTe +aTe +aWd +aWd +aTe +aTe +adj arI arI arI @@ -113513,57 +113762,57 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -abS -abS -aHj -aDR -aQc -aQc -aQc -aDR -abS -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aRN -aRN -auM -auM -auM -auM -auM -auM -auM -auM -auM -arI -arI +adj +aUa +aWd +aWd +aTe +auj +qiO +xRi +aTe +aTe +aTe +xRi +qiO +uEx +cND +atM +aTe +qCk +jNL +rIi +fIO +aWd +aTe +adj +adj aFc aFc aFc @@ -113664,57 +113913,57 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -aFc -abS -aHj -aHj -aHj -aHj -aHj -aHj -aHj -abS -aRN -aRN -akj -akj -akj -akj -akj -add -add -add -akj -aRN -aRN -aRN -aRN -aRN -aOx -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aRN -auM -auM -auM -auM -auM -auM -auM -auM -auM -auM -arI +adj +adj +amG +aWd +aTe +aTe +gra +aTe +xRi +aTe +aTe +aTe +aTe +aTe +aTe +aTe +aTe +aTe +aTe +aWd +aWd +aWd +aWd +adj aFc aFc avR @@ -113815,58 +114064,58 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc aFc -akj -akj -aDR -aHj -aTZ -aDR -aHj -aHj -aHj -abS -aRN -aRN -akj -aoa -aMm -awp -akj -akj -aRZ -aeu -acF -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aLD -aRN -aRN -aRN -auM -auM -auM -auM -auM -auM -auM -auM -auM -auM -arI -arI +adj +aWd +aWd +aWd +aWd +aTe +aTe +auj +aTe +aTe +aTe +aTe +aTe +aTe +hqp +aTe +aTe +jwH +aWd +aWd +aWd +adj +adj aFc avR avR @@ -113967,57 +114216,57 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -akj -akj -aHj -aHj -aHj -aHj -aty -aHJ -aHJ -aHJ -abS -aRN -aRN -akj -aIJ -aSO -aSO -aSO -akj -aah -aeu -axp -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aRN -auM -auM -auM -auM -auM -auM -auM -auM -auM -arI -arI +adj +aUa +aWd +aWd +aWd +aWd +aTe +hqp +aTe +aTe +aTe +aTe +aTe +aTe +aWd +aWd +bfc +wZb +uNn +fRW +rZU +adj aFc aFc avR @@ -114119,57 +114368,57 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc -avk -aUd -aHj -aHj -aHj -aHj -aEx -aBs -aSO -axJ -akj -akj -akj -akj -aaH -aSO -aSO -aSO -akj -amp -aoQ -awb -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aLD -aRN -aRN -aRN -aRN -arI -arI -arI -arI -arI -arI -arI -arI -arI -arI -aFc +adj +adj +aWd +aWd +aWd +aWd +aTe +aTe +aTe +aTe +aTe +aWd +amG +aWd +aWd +adj +adj +adj +adj +adj +adj +adj aFc avR avR @@ -114271,50 +114520,51 @@ avR avR avR avR -aFc -avk -aUd -aHj -aHj -aHj -aHj -aOC -aUL -aSO -aSO -aSO -aSO -aSO -afP -aSO -aSO -aSO -aSO -aPB -aNB -aeu -abI -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aLD -aRN -aRN -aRN -arI -arI -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc aFc +adj +gra +aTe +amG +aTe +nNq +aTe +aTe +aTe +aWd +aWd +aWd +vts +adj +adj aFc aFc aFc @@ -114325,7 +114575,6 @@ aFc avR avR avR -avR aFc arI aWd @@ -114423,48 +114672,6 @@ avR avR avR avR -aFc -avk -aUd -aHj -aHj -aHj -aHj -aEx -aUL -aSO -aSO -akj -akj -akj -akj -alW -aKd -aKd -aKd -akj -amp -aeu -awb -aRN -aRN -aRN -aOx -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aLD -arI -arI -arI -arI -arI -aFc -aFc avR avR avR @@ -114478,12 +114685,54 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +aFc +adj +adj +aTe +auj +aTe +aTe +aTe +aTe +aWd +aWd +amG +amG +adj +adj +aFc +aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc arI arI arI aWd -aWd +fOL aBB apL apL @@ -114575,47 +114824,6 @@ avR avR avR avR -aFc -avk -aHj -aDR -agl -agl -agl -apo -aAz -aAz -aAz -abS -aRN -aRN -avk -acP -ahA -ahA -aKd -akj -aaj -aah -acF -aRN -aRN -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aLD -arI -aFc -aFc -aFc -aFc -aFc avR avR avR @@ -114630,15 +114838,56 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +aFc +aFc +adj +adj +adj +auj +aTe +gra +amG +aWd +ajK +adj +adj +adj +aFc +aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc aFc aFc aZY aqW aWd -aan -ana -ana +aWd +aTe +aTe aMa ain asJ @@ -114727,43 +114976,6 @@ avR avR avR avR -aFc -akj -akj -aHj -aOv -aOv -agl -agl -aOv -aug -agl -abS -aRN -aRN -avk -aGf -aYT -aYT -aKd -akj -aih -aeu -acF -aRN -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aLD -aLD -arI -aFc avR avR avR @@ -114784,6 +114996,43 @@ avR avR avR avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +aFc +aFc +aFc +adj +adj +adj +adj +adj +adj +adj +adj +aFc +aFc +aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR aFc aZY aWd @@ -114809,7 +115058,7 @@ aSx aSx aSx aZU -ajK +aZU aZU aSx aSx @@ -114879,43 +115128,6 @@ avR avR avR avR -aFc -aFc -abS -abS -aOv -aTk -aOv -aOv -aOv -agl -agl -abS -aRN -aRN -avk -aVY -aVY -aVY -akj -akj -aYC -aeu -acF -aRN -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aLD -arI -arI -aFc avR avR avR @@ -114936,13 +115148,50 @@ avR avR avR avR -aFc -arI +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +aFc +aFc +aFc +aFc +aFc +aFc +aFc +aFc +aFc +aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +aFc +arI aWd aWd aWd aTe -aTe +mMR aMa aru aXi @@ -114959,7 +115208,7 @@ aSx aSx aSE aSx -awD +aZU aKB aKB aKB @@ -115032,42 +115281,42 @@ avR avR avR avR -aFc -aFc -abS -abS -abS -agl -agl -agl -abS -abS -abS -aRN -aRN -akj -akj -akj -akj -akj -add -add -add -akj -aRN -aOx -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aLD -arI -aFc -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -115116,7 +115365,7 @@ aKB aKB aKB aKB -awD +aZU aSx aRN aRN @@ -115185,40 +115434,40 @@ avR avR avR avR -aFc -aFc -aFc -abS -agl -agl -agl -abS -aFc -arI -aRN -aRN -aRN -aGY -ayd -aGY -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aLD -arI -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -115262,7 +115511,7 @@ aSx aSx aSx aSx -ajK +aZU aKB aKB akH @@ -115339,38 +115588,38 @@ avR avR avR avR -aFc -abS -agl -agl -agl -abS -aFc -arI -aRN -aRN -aRN -aGY -aSL -aGY -aRN -aBh -aRN -aRN -aRN -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aLD -arI -arI -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -115491,38 +115740,38 @@ avR avR avR avR -aFc -abS -agl -agl -agl -abS -aFc -arI -arI -aRN -aRN -aGY -aSL -aGY -aRN -aRN -aBu -aBu -aBu -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -aLD -arI -aFc -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -115567,11 +115816,11 @@ aSx aSx aSx aBu -awD +aZU aKB aKB aZd -ajK +aZU aSx aSx aSx @@ -115643,37 +115892,37 @@ avR avR avR avR -aFc -abS -abS -abS -abS -abS -aFc -aFc -arI -aRN -aRN -aGY -aSL -aGY -aRN -aBu -aBu -aBu -aBu -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -arI -arI -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -115795,37 +116044,37 @@ avR avR avR avR -aFc -aFc -aFc -aFc -aFc -aFc -aFc -aFc -arI -aRN -aRN -aha -aSL -aSL -aRN -aBu -aBu -aBu -aBu -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -aLD -arI -aFc -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -115954,29 +116203,29 @@ avR avR avR avR -aFc -arI -aRN -azA -aSL -aSL -aSL -aRN -aBu -aBu -aBu -aBu -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -arI -arI -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -116106,29 +116355,29 @@ avR avR avR avR -aFc -arI -aRN -aio -aSL -aRN -aSL -aRN -aRN -aio -aBu -aBu -aRN -aOx -aRN -aRN -aLD -aLD -aLD -aLD -arI -aFc -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -116258,28 +116507,28 @@ avR avR avR avR -aFc -arI -aRN -aSL -aSL -aRN -aha -aSL -azA -aBu -aRN -aNE -aRN -aRN -aRN -aRN -aLD -aLD -aLD -aLD -arI -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -116410,28 +116659,28 @@ avR avR avR avR -aFc -arI -aRN -aSL -aRN -aRN -aio -aSL -aRN -aPF -aPF -aPF -aRN -aRN -aRN -aRN -aRN -aRN -aRN -arI -arI -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -116562,28 +116811,28 @@ avR avR avR avR -aFc -arI -aSL -aSL -aRN -aRN -aPF -aPF -aPF -aPF -aPF -aPF -aPF -aRN -aRN -aOx -aRN -aRN -arI -arI -aFc -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -116714,27 +116963,27 @@ avR avR avR avR -aFc -arI -aPF -aPF -aPF -aPF -aPF -aRN -aPF -aPF -aPF -aPF -aPF -aRN -aRN -aRN -aRN -arI -arI -aFc -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -116866,26 +117115,26 @@ avR avR avR avR -aFc -arI -arI -arI -arI -arI -arI -arI -aPF -aPF -aPF -aPF -aPF -arI -arI -arI -arI -arI -aFc -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -117018,25 +117267,25 @@ avR avR avR avR -aFc -aFc -aFc -aFc -aFc -aFc -aFc -arI -arI -arI -arI -arI -arI -arI -aFc -aFc -aFc -aFc -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -117176,15 +117425,15 @@ avR avR avR avR -aFc -aFc -aFc -aFc -aFc -aFc -aFc -aFc -aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR @@ -117789,11 +118038,11 @@ avR avR avR avR -avR -avR -avR -avR -avR +aFc +aFc +aFc +aFc +aFc avR avR avR @@ -117937,17 +118186,17 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +aFc +aFc +aFc +arI +arI +arI +aFc +aFc +aFc avR avR avR @@ -118087,20 +118336,20 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +aFc +arI +arI +arI +arI +arI +aLD +arI +arI +arI +aFc +aFc avR avR avR @@ -118237,22 +118486,22 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +aFc +arI +arI +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +arI +arI +aFc avR avR avR @@ -118388,24 +118637,24 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +arI +arI +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +arI +aFc +aFc avR avR avR @@ -118539,25 +118788,25 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +arI +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +arI +arI +aFc avR avR avR @@ -118690,27 +118939,27 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +arI +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +arI +aFc +aFc avR avR avR @@ -118841,43 +119090,43 @@ avR avR avR avR +aFc +aFc +arI +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +arI +arI +aFc +aFc +avR +avR +avR +avR +avR +avR +avR +avR +avR avR avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR aFc aFc arI @@ -118992,31 +119241,31 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +arI +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +arI +arI +aFc +aFc avR avR avR @@ -119144,36 +119393,36 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +arI +arI +aFc +aFc +aFc +aFc +aFc +aFc avR avR avR @@ -119295,38 +119544,38 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +arI +arI +arI +arI +arI +arI +aFc +aFc avR avR avR @@ -119447,39 +119696,39 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +arI +arI +aFc +aFc avR avR avR @@ -119598,42 +119847,42 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +arI +arI +aFc +aFc +aFc avR avR avR @@ -119749,45 +119998,45 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +arI +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aRN +aRN +aRN +aRN +aRN +aOx +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +arI +arI +arI +aFc +aFc +aFc avR avR avR @@ -119901,47 +120150,47 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aOx +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +arI +arI +arI +aFc +aFc +aFc avR avR avR @@ -120053,49 +120302,49 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +arI +arI +arI +aFc +aFc +aFc avR avR aFc @@ -120205,51 +120454,51 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aRN +aRN +aRN +aRN +aRN +aOx +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aOx +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +arI +arI +arI +aFc +aFc +aFc aFc aFc arI @@ -120357,52 +120606,52 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +aLD +aLD +aLD +aLD +aLD +aLD +aLD +aRN +aRN +aRN +aOx +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aOx +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +arI +arI +arI +arI +arI aFc arI arI @@ -120509,52 +120758,52 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +aLD +aLD +aLD +aLD +aLD +aLD +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aOx +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +arI aFc aFc arI @@ -120661,53 +120910,53 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +aLD +aLD +aLD +aLD +aLD +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aOx +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +arI +arI aFc arI arI @@ -120813,57 +121062,57 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -aFc aFc arI aLD +aLD +aLD +aLD +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aOx +aRN +aRN +aRN +aRN +aOx +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +arI +arI +arI +arI +aLD aas aas aas @@ -120957,64 +121206,64 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +aFc +aFc +aFc +aFc +aFc +aFc aFc arI +aBu +aBu +aRN +aRN +aRN +aRN +aOx +aRN +aOx +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aBu +aBu +aBu +aas +arI arI aVw aas @@ -121108,66 +121357,66 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR aFc +aFc +abS +abS +abS +abS +abS +abS +abS +abS arI -arI +aRN +aRN +aRN +aRN +azA +aRN +aRN +aRN +aRN +aRN +aOx +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aBu +aBu +aBu +aBu +aBu +aas aas aas aas @@ -121260,64 +121509,64 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR aFc +abS +abS +aHj +aDR +aQc +aQc +aQc +aDR +abS +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aRN +aRN +aRN +aRN +aRN +auM +auM +auM +auM +auM +auM +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aBu +aBu +aas +aas arI arI aVw @@ -121411,65 +121660,65 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR aFc +aFc +abS +aHj +aHj +aHj +aHj +aHj +aHj +aHj +abS +aRN +aRN +akj +akj +akj +akj +akj +add +add +add +akj +aRN +aRN +aRN +aRN +aRN +aOx +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aRN +aRN +aRN +aRN +auM +auM +auM +auM +auM +auM +auM +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +arI +arI arI aLD aLD @@ -121562,65 +121811,65 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +akj +akj +aDR +aHj +aTZ +aDR +aHj +aHj +aHj +abS +aRN +aRN +akj +aoa +aMm +awp +akj +akj +aRZ +aeu +acF +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aLD +aRN +aRN +aRN +auM +auM +auM +auM +auM +auM +auM +auM +auM +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +arI +arI aFc arI aLD @@ -121714,64 +121963,64 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +akj +akj +aHj +aHj +aHj +aHj +aty +aHJ +aHJ +aHJ +abS +aRN +aRN +akj +aIJ +aSO +aSO +aSO +akj +aah +aeu +axp +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aRN +aRN +aRN +aRN +auM +auM +auM +auM +auM +auM +auM +auM +auM +aRN +aRN +arI +arI +arI +arI +arI +arI +arI aFc aFc arI @@ -121866,64 +122115,64 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +avk +aUd +aHj +aHj +aHj +aHj +aEx +aBs +aSO +axJ +akj +akj +akj +akj +aaH +aSO +aSO +aSO +akj +amp +aoQ +awb +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aLD +aRN +aRN +aRN +aRN +arI +arI +arI +arI +arI +arI +arI +arI +arI +arI +arI +arI +aFc +aFc +aFc +aFc +aFc +aFc aFc arI arI @@ -122018,51 +122267,51 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +avk +aUd +aHj +aHj +aHj +aHj +aOC +aUL +aSO +aSO +aSO +aSO +aSO +afP +aSO +aSO +aSO +aSO +aPB +aNB +aeu +abI +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aLD +aRN +aRN +aRN +arI +arI +aFc +aFc +aFc +aFc aFc aFc aFc @@ -122170,48 +122419,48 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +avk +aUd +aHj +aHj +aHj +aHj +aEx +aUL +aSO +aSO +akj +akj +akj +akj +alW +aKd +aKd +aKd +akj +amp +aeu +awb +aRN +aRN +aRN +aOx +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aLD +arI +arI +arI +arI +arI +aFc +aFc avR avR avR @@ -122322,47 +122571,47 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +avk +aHj +aDR +agl +agl +agl +apo +aAz +aAz +aAz +abS +aRN +aRN +avk +acP +ahA +ahA +aKd +akj +aaj +aah +acF +aRN +aRN +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aLD +arI +aFc +aFc +aFc +aFc +aFc avR avR avR @@ -122474,43 +122723,43 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +akj +akj +aHj +aOv +aOv +agl +agl +aOv +aug +agl +abS +aRN +aRN +avk +aGf +aYT +aYT +aKd +akj +aih +aeu +acF +aRN +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aLD +aLD +arI +aFc avR avR avR @@ -122626,43 +122875,43 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +abS +abS +aOv +aTk +aOv +aOv +aOv +agl +agl +abS +aRN +aRN +avk +aVY +aVY +aVY +akj +akj +aYC +aeu +acF +aRN +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aLD +arI +arI +aFc avR avR avR @@ -122779,42 +123028,42 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +abS +abS +abS +agl +agl +agl +abS +abS +abS +aRN +aRN +akj +akj +akj +akj +akj +add +add +add +akj +aRN +aOx +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aLD +arI +aFc +aFc avR avR avR @@ -122932,40 +123181,40 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +aFc +abS +agl +agl +agl +abS +aFc +arI +aRN +aRN +aRN +aGY +ayd +aGY +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aLD +arI +aFc avR avR avR @@ -123086,38 +123335,38 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +abS +agl +agl +agl +abS +aFc +arI +aRN +aRN +aRN +aGY +aSL +aGY +aRN +aBh +aRN +aRN +aRN +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aLD +arI +arI +aFc avR avR avR @@ -123238,38 +123487,38 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +abS +agl +agl +agl +abS +aFc +arI +arI +aRN +aRN +aGY +aSL +aGY +aRN +aRN +aBu +aBu +aBu +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +aLD +arI +aFc +aFc avR avR avR @@ -123390,37 +123639,37 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +abS +abS +abS +abS +abS +aFc +aFc +arI +aRN +aRN +aGY +aSL +aGY +aRN +aBu +aBu +aBu +aBu +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +arI +arI +aFc avR avR avR @@ -123454,7 +123703,7 @@ aVo aVo aVo ati -aBa +aIc aVQ aas auM @@ -123542,37 +123791,37 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +aFc +aFc +aFc +aFc +aFc +aFc +arI +aRN +aRN +aha +aSL +aSL +aRN +aBu +aBu +aBu +aBu +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +aLD +arI +aFc +aFc avR avR avR @@ -123701,29 +123950,29 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +aRN +azA +aSL +aSL +aSL +aRN +aBu +aBu +aBu +aBu +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +arI +arI +aFc avR avR avR @@ -123853,29 +124102,29 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +aRN +aio +aSL +aRN +aSL +aRN +aRN +aio +aBu +aBu +aRN +aOx +aRN +aRN +aLD +aLD +aLD +aLD +arI +aFc +aFc avR avR avR @@ -124005,28 +124254,28 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +aRN +aSL +aSL +aRN +aha +aSL +azA +aBu +aRN +aNE +aRN +aRN +aRN +aRN +aLD +aLD +aLD +aLD +arI +aFc avR avR avR @@ -124157,28 +124406,28 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +aRN +aSL +aRN +aRN +aio +aSL +aRN +aPF +aPF +aPF +aRN +aRN +aRN +aRN +aRN +aRN +aRN +arI +arI +aFc avR avR avR @@ -124309,28 +124558,28 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +aSL +aSL +aRN +aRN +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aRN +aRN +aOx +aRN +aRN +arI +arI +aFc +aFc avR avR avR @@ -124461,27 +124710,27 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +aPF +aPF +aPF +aPF +aPF +aRN +aPF +aPF +aPF +aPF +aPF +aRN +aRN +aRN +aRN +arI +arI +aFc +aFc avR avR avR @@ -124613,26 +124862,26 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +arI +arI +arI +arI +arI +arI +arI +aPF +aPF +aPF +aPF +aPF +arI +arI +arI +arI +arI +aFc +aFc avR avR avR @@ -124765,25 +125014,25 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +aFc +aFc +aFc +aFc +aFc +arI +arI +arI +arI +arI +arI +arI +aFc +aFc +aFc +aFc +aFc avR avR avR @@ -124923,15 +125172,15 @@ avR avR avR avR -avR -avR -avR -avR -avR -avR -avR -avR -avR +aFc +aFc +aFc +aFc +aFc +aFc +aFc +aFc +aFc avR avR avR diff --git a/_maps/map_files/Vampire/westfield_mall/westfield_umbra.dmm b/_maps/map_files/Vampire/westfield_mall/westfield_umbra.dmm index 06428b278e4f..4b3101117890 100644 --- a/_maps/map_files/Vampire/westfield_mall/westfield_umbra.dmm +++ b/_maps/map_files/Vampire/westfield_mall/westfield_umbra.dmm @@ -1995,9 +1995,7 @@ /turf/open/floor/plating/concrete, /area/vtm/outside/penumbra) "Cp" = ( -/obj/effect/landmark/teleport_mark{ - tribe = "Black Spiral Dancers" - }, +/obj/effect/landmark/teleport_mark/wyrm, /turf/open/indestructible/necropolis/air, /area/vtm/outside/penumbra) "Cq" = ( @@ -2593,9 +2591,7 @@ /turf/open/misc/dirt, /area/vtm/outside/penumbra) "Kn" = ( -/obj/effect/landmark/teleport_mark{ - tribe = "Bone Gnawers" - }, +/obj/effect/landmark/teleport_mark/weaver, /turf/open/floor/plating/rough/cave, /area/vtm/outside/penumbra) "Ks" = ( @@ -2657,9 +2653,7 @@ /turf/open/floor/plating/granite, /area/vtm/outside/penumbra) "Lv" = ( -/obj/effect/landmark/teleport_mark{ - tribe = "Glass Walkers" - }, +/obj/effect/landmark/teleport_mark/weaver, /turf/open/floor/plating/canal, /area/vtm/outside/penumbra) "Ly" = ( @@ -3230,9 +3224,7 @@ /turf/open/floor/plating/canal, /area/vtm/outside/penumbra) "UX" = ( -/obj/effect/landmark/teleport_mark{ - tribe = "Children of Gaia" - }, +/obj/effect/landmark/teleport_mark/gaia, /turf/open/misc/grass, /area/vtm/outside/penumbra) "Vb" = ( @@ -3291,9 +3283,7 @@ /turf/open/floor/city/plating_mono, /area/vtm/outside/penumbra) "VD" = ( -/obj/effect/landmark/teleport_mark{ - tribe = "Wendigo" - }, +/obj/effect/landmark/teleport_mark/wyld, /turf/open/misc/dirt, /area/vtm/outside/penumbra) "VE" = ( diff --git a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm index 719a089264bb..b8f437b2e15e 100644 --- a/code/__DEFINES/logging.dm +++ b/code/__DEFINES/logging.dm @@ -51,7 +51,7 @@ #define LOG_RADIO_EMOTE (1 << 20) #define LOG_SPEECH_INDICATORS (1 << 21) #define LOG_TRANSPORT (1 << 22) -#define LOG_STATS (1 << 23) // DARKPACK EDIT ADD - logging stats to prevent abuse +#define LOG_STATS (1 << 23) // DARKPACK EDIT ADD - STORYTELLER_STATS - (logging stats to prevent abuse) // DARKPACK EDIT ADD START - SUBTLE #define LOG_SUBTLE (1 << 24) // DARKPACK EDIT ADD END @@ -63,8 +63,8 @@ #define INDIVIDUAL_EMOTE_LOG (LOG_EMOTE | LOG_RADIO_EMOTE) #define INDIVIDUAL_COMMS_LOG (LOG_PDA | LOG_CHAT | LOG_COMMENT | LOG_TELECOMMS) #define INDIVIDUAL_OOC_LOG (LOG_OOC | LOG_ADMIN) -#define INDIVIDUAL_SHOW_ALL_LOG (LOG_ATTACK | LOG_SAY | LOG_WHISPER | LOG_EMOTE | LOG_RADIO_EMOTE | LOG_DSAY | LOG_PDA | LOG_CHAT | LOG_COMMENT | LOG_TELECOMMS | LOG_OOC | LOG_ADMIN | LOG_OWNERSHIP | LOG_GAME | LOG_ADMIN_PRIVATE | LOG_ASAY | LOG_MECHA | LOG_VIRUS | LOG_SHUTTLE | LOG_ECON | LOG_VICTIM | LOG_SPEECH_INDICATORS) #define INDIVIDUAL_SUBTLE_LOG (LOG_SUBTLE) // DARKPACK EDIT ADD - SUBTLE +#define INDIVIDUAL_SHOW_ALL_LOG (LOG_ATTACK | LOG_SAY | LOG_WHISPER | LOG_EMOTE | LOG_RADIO_EMOTE | LOG_DSAY | LOG_PDA | LOG_CHAT | LOG_COMMENT | LOG_TELECOMMS | LOG_OOC | LOG_ADMIN | LOG_OWNERSHIP | LOG_GAME | LOG_ADMIN_PRIVATE | LOG_ASAY | LOG_MECHA | LOG_VIRUS | LOG_SHUTTLE | LOG_ECON | LOG_VICTIM | LOG_SPEECH_INDICATORS | LOG_STATS) // DARKPACK EDIT CHANGE - STORYTELLER_STATS - (Added LOG_STATS) #define LOGSRC_CKEY "Ckey" #define LOGSRC_MOB "Mob" diff --git a/code/__DEFINES/~darkpack/auras.dm b/code/__DEFINES/~darkpack/auras.dm index 514c44e06e60..6c7e04a137c3 100644 --- a/code/__DEFINES/~darkpack/auras.dm +++ b/code/__DEFINES/~darkpack/auras.dm @@ -35,7 +35,7 @@ #define AURA_VAMPIRE (FALSE) // Aura colors are pale #define AURA_GHOUL (FALSE) // Pale blotches in the aura #define AURA_MAGIC_USE (FALSE) // Myriad sparkles in aura -- Not implemented. Mages. -#define AURA_WEREBEAST (FALSE) // Bright, vibrant aura -- DARKPACK TODO - GAROU +#define AURA_WEREBEAST (FALSE) // Bright, vibrant aura // WEREWOLF #define AURA_GHOST (FALSE) // Weak, intermittent aura #define AURA_FAERIE (FALSE) // Rainbow highlights in aura -- Not implemented. Changelings. diff --git a/code/__DEFINES/~darkpack/combat.dm b/code/__DEFINES/~darkpack/combat.dm index d1caf45a02a7..164bad9dfd99 100644 --- a/code/__DEFINES/~darkpack/combat.dm +++ b/code/__DEFINES/~darkpack/combat.dm @@ -1,6 +1,8 @@ //normal duration defines +/// W20 p. 239, V20 p. 254: lists turns as taking between 3 seconds (the norm for combat) to three minutes, depending on the pace of the scene ///Duration of one "turn", which is 5 seconds according to us #define TURNS * 5 SECONDS +// Scenes have 0 hard defined rules for length. ///Duration of one "scene", which is 3 minutes according to us #define SCENES * 3 MINUTES #define TURNS_PER_SCENE ((1 SCENES) / (1 TURNS)) diff --git a/code/__DEFINES/~darkpack/fera/fera.dm b/code/__DEFINES/~darkpack/fera/fera.dm new file mode 100644 index 000000000000..7a93866a0454 --- /dev/null +++ b/code/__DEFINES/~darkpack/fera/fera.dm @@ -0,0 +1,28 @@ +/// How long it takes for a werewolf's Veil to naturally repair +// #define UMBRA_VEIL_COOLDOWN 15 MINUTES +/// How long it takes for a werewolf to regenerate a blood point +// #define FERA_BP_REGEN 60 SECONDS // I cant find a source to this. +/// Cooldown between Veil violations +// #define VEIL_COOLDOWN 20 SECONDS + +#define MAX_RAGE 10 +#define MAX_GNOSIS 10 +#define PRIMAL_URGE_PLACEHOLDER 3 + +#define BREED_HOMID "Homid" +#define BREED_LUPUS "Lupus" +#define BREED_CRINOS "Metis" //Its called metis because anything player facing should only show "Metis" instead of "Crinos", despite it being a crinos form. Blame gadabout. + +#define FEATURE_FUR_COLOR "fera_fur" + +// fera will likely have a seperate list of colors but uses the same feature or var as other fera +GLOBAL_LIST_INIT(garou_fur_colors, list( + "black" = "black", + "gray" = "gray", + "red" = "red", + "white" = "white", + "ginger" = "ginger", + "brown" = "brown" +)) + +#define STATUS_EFFECT_SILVER_BULLLET_STACKS /datum/status_effect/stacking/silver_bullets diff --git a/code/__DEFINES/~darkpack/fera/werewolf_auspice.dm b/code/__DEFINES/~darkpack/fera/werewolf_auspice.dm new file mode 100644 index 000000000000..d4363c0da788 --- /dev/null +++ b/code/__DEFINES/~darkpack/fera/werewolf_auspice.dm @@ -0,0 +1,18 @@ +// Auspices + +#define AUSPICE_RAGABASH "Ragabash" +#define AUSPICE_THEURGE "Theurge" +#define AUSPICE_PHILODOX "Philodox" +#define AUSPICE_AHROUN "Ahroun" +#define AUSPICE_GALLIARD "Galliard" + +#define AUSPICE_NONE "Stolen Moon" + +#define MOON_NEW "new moon" +#define MOON_WAXING_CRESENT "waxing cresent" +#define MOON_FIRST_QUARTER "first quarter" +#define MOON_WAXING_GIBBOUS "waxing gibbous" +#define MOON_FULL "full moon" +#define MOON_WANING_GIBBOUS "waning gibbous" +#define MOON_LAST_QUARTER "last quarter" +#define MOON_WANING_CRESCENT "waning crescent" diff --git a/code/__DEFINES/~darkpack/fera/werewolf_renown.dm b/code/__DEFINES/~darkpack/fera/werewolf_renown.dm new file mode 100644 index 000000000000..9b961c382f56 --- /dev/null +++ b/code/__DEFINES/~darkpack/fera/werewolf_renown.dm @@ -0,0 +1,13 @@ +#define RENOWN_HONOR "honor" +#define RENOWN_GLORY "glory" +#define RENOWN_WISDOM "wisdom" + +#define ALL_RENOWNS list(RENOWN_HONOR, RENOWN_GLORY, RENOWN_WISDOM) + +#define RANK_CUB 0 +#define RANK_CLIATH 1 +#define RANK_FOSTERN 2 +#define RANK_ADREN 3 +#define RANK_ATHRO 4 +#define RANK_ELDER 5 +#define RANK_LEGEND 6 diff --git a/code/__DEFINES/~darkpack/fera/werewolf_tribe.dm b/code/__DEFINES/~darkpack/fera/werewolf_tribe.dm new file mode 100644 index 000000000000..6c040cf46c96 --- /dev/null +++ b/code/__DEFINES/~darkpack/fera/werewolf_tribe.dm @@ -0,0 +1,25 @@ +/// No Tribe. +#define TRIBE_RONIN "Ronin" + +#define TRIBE_BLACK_FURIES "Black Furies" +#define TRIBE_BONE_GNAWERS "Bone Gnawers" +#define TRIBE_CHILDREN_OF_GAIA "Children of Gaia" +#define TRIBE_FIANNA "Fianna" +#define TRIBE_GALESTALKERS "Galestalkers" +#define TRIBE_GET_OF_FENRIS "Get of Fenris" +#define TRIBE_UKTENA "Uktena" +#define TRIBE_GLASS_WALKERS "Glass Walkers" +#define TRIBE_RED_TALONS "Red Talons" +#define TRIBE_SHADOW_LORDS "Shadow Lords" +#define TRIBE_SILENT_STRIDERS "Silent Striders" +#define TRIBE_SILVER_FANGS "Silver Fangs" +#define TRIBE_STARGAZERS "Stargazers" +#define TRIBE_BLACK_SPIRAL_DANCERS "Black Spiral Dancers" + +#define TRIBE_CORAX "Corax" // DARKPACK TODO - CORAX + +#define TRIBE_ALL list(TRIBE_RONIN, TRIBE_GALESTALKERS, TRIBE_CHILDREN_OF_GAIA, TRIBE_UKTENA, TRIBE_FIANNA, TRIBE_GET_OF_FENRIS, TRIBE_BLACK_FURIES, TRIBE_SILVER_FANGS, TRIBE_SILENT_STRIDERS, TRIBE_RED_TALONS, TRIBE_STARGAZERS, TRIBE_GLASS_WALKERS, TRIBE_BONE_GNAWERS, TRIBE_SHADOW_LORDS, TRIBE_BLACK_SPIRAL_DANCERS, TRIBE_CORAX) +#define TRIBE_GAIA list(TRIBE_GALESTALKERS, TRIBE_CHILDREN_OF_GAIA, TRIBE_UKTENA, TRIBE_FIANNA, TRIBE_GET_OF_FENRIS, TRIBE_BLACK_FURIES, TRIBE_SILVER_FANGS, TRIBE_SILENT_STRIDERS, TRIBE_RED_TALONS, TRIBE_STARGAZERS, TRIBE_GLASS_WALKERS, TRIBE_BONE_GNAWERS, TRIBE_SHADOW_LORDS, TRIBE_CORAX) +#define TRIBE_WYLD list(TRIBE_GALESTALKERS, TRIBE_CHILDREN_OF_GAIA, TRIBE_UKTENA, TRIBE_FIANNA, TRIBE_GET_OF_FENRIS, TRIBE_BLACK_FURIES, TRIBE_SILVER_FANGS, TRIBE_SILENT_STRIDERS, TRIBE_RED_TALONS, TRIBE_STARGAZERS, TRIBE_SHADOW_LORDS, TRIBE_CORAX) +#define TRIBE_WEAVER list(TRIBE_GLASS_WALKERS, TRIBE_BONE_GNAWERS) +#define TRIBE_WYRM list(TRIBE_BLACK_SPIRAL_DANCERS) diff --git a/code/__DEFINES/~darkpack/generations.dm b/code/__DEFINES/~darkpack/generations.dm index d8b48a78e502..1a63f8a851f2 100644 --- a/code/__DEFINES/~darkpack/generations.dm +++ b/code/__DEFINES/~darkpack/generations.dm @@ -4,7 +4,7 @@ * Lower = stronger */ -/// Limit for highest generation possible, Based off v20 Beckket's Jyhad Diary +/// Limit for highest generation possible, Based off V20 Beckket's Jyhad Diary #define HIGHEST_GENERATION_LIMIT 16 /// Limit for lowest generation possible #define LOWEST_GENERATION_LIMIT 1 diff --git a/code/__DEFINES/~darkpack/mobs.dm b/code/__DEFINES/~darkpack/mobs.dm index 06f3ad530bbc..2a2dab3f5abd 100644 --- a/code/__DEFINES/~darkpack/mobs.dm +++ b/code/__DEFINES/~darkpack/mobs.dm @@ -4,16 +4,27 @@ #define isavatar(A) (istype(A, /mob/living/basic/avatar)) #define iszomboid(A) (istype(A, /mob/living/basic/zombie) || (istype(A, /mob/living/basic/beastmaster/giovanni_zombie))) -// DARKPACK TODO - implement other splats -#define isgarou(A) (FALSE) +#define SPECIES_FERA "fera" -#define iswerewolf(A) (FALSE) -#define iscrinos(A) (FALSE) -#define islupus(A) (FALSE) +#define SPECIES_FERA_HOMID "homid" +#define SPECIES_FERA_BESTIAL "bestial" +#define SPECIES_FERA_WAR "war" +#define SPECIES_FERA_DIRE "dire" +#define SPECIES_FERA_FERAL "feral" -#define iscorax(A) (FALSE) -#define iscorvid(A) (FALSE) -#define iscoraxcrinos(A) (FALSE) +// #define SPECIES_GAROU "garou" + +// #define isshifted(A) (istype(A, /mob/living/carbon/human/fera)) +//homid +#define ishomid(A) (is_species(A, /datum/species/human/shifter/homid)) +//bestial e.g glabro +#define isglabro(A) (is_species(A, /datum/species/human/shifter/bestial)) +//war e.g crinos +#define iscrinos(A) (is_species(A, /datum/species/human/shifter/war)) +//dire e.g hispo +#define ishispo(A) (is_species(A, /datum/species/human/shifter/dire)) +//feral e.g lupus +#define islupus(A) (is_species(A, /datum/species/human/shifter/feral)) #define isnpc(A) (istype(A, /mob/living/carbon/human/npc)) diff --git a/code/__DEFINES/~darkpack/splats.dm b/code/__DEFINES/~darkpack/splats.dm index 2122041178bb..bdc75565c439 100644 --- a/code/__DEFINES/~darkpack/splats.dm +++ b/code/__DEFINES/~darkpack/splats.dm @@ -3,5 +3,11 @@ #define SPLAT_KINDRED "splat_kindred" #define SPLAT_GHOUL "splat_ghoul" -// Presently unimplmented. Used for wolf jobs. + +#define SPLAT_KINFOLK "splat_kinfolk" +/// Parent type for shifters. Not player facing. Shouldnt be needed but put here for clarity. +//#define SPLAT_FERA "splat_fera" #define SPLAT_GAROU "splat_garou" +#define SPLAT_CORAX "splat_corax" // DARKPACK TODO - CORAX + +#define SPLAT_ALL list(SPLAT_NONE, SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_KINFOLK, SPLAT_GAROU) diff --git a/code/__DEFINES/~darkpack/status_effects_debuffs.dm b/code/__DEFINES/~darkpack/status_effects_debuffs.dm index f3e64f12580d..f3ba3642907a 100644 --- a/code/__DEFINES/~darkpack/status_effects_debuffs.dm +++ b/code/__DEFINES/~darkpack/status_effects_debuffs.dm @@ -1,4 +1,2 @@ -// This is the new file that should hold all the debuff status effects in wod13 -#define STATUS_EFFECT_SILVER_SLOWDOWN /datum/status_effect/silver_slowdown //slows down any mobs with a bane to silver. #define STATUS_EFFECT_AWE /datum/status_effect/awe diff --git a/code/__DEFINES/~darkpack/traits/declarations.dm b/code/__DEFINES/~darkpack/traits/declarations.dm index 881b6dbe0df0..1d0d3424b7f0 100644 --- a/code/__DEFINES/~darkpack/traits/declarations.dm +++ b/code/__DEFINES/~darkpack/traits/declarations.dm @@ -40,9 +40,12 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_DIABLERIE "diablerie" #define TRAIT_GULLET "gullet" #define TRAIT_CHARMER "charmer" + +// Mutates the apperance of auras #define TRAIT_COLD_AURA "cold_aura" #define TRAIT_WARM_AURA "warm_aura" #define TRAIT_FRENETIC_AURA "frenetic_aura" + #define TRAIT_BLUSH_OF_HEALTH "blush_of_health" /// The mob will automatically breach the Masquerade when seen by others, with no exceptions #define TRAIT_UNMASQUERADE "unmasquerade" @@ -113,6 +116,24 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai // its called this because theres apparently already a defined quirk called 'hungry' which appears to lower your blood drawn from biting by half. #define TRAIT_NEEDS_BLOOD "vampire_hungry" +/// If the species has garou breeds to select. +#define TRAIT_WTA_GAROU_BREED "wta_garou_breeds" +// if the species has garou tribes to select. +#define TRAIT_WTA_GAROU_TRIBE "wta_garou_tribes" +// If the species has garou auspices to select. +#define TRAIT_WTA_GAROU_AUSPICE "wta_garou_auspice" +// This mob has fur! +#define TRAIT_FERA_FUR "fera_fur" +/// If the fera is wyrm tainted. Affects their sprite. +#define TRAIT_WYRMTAINTED "wyrm_tainted" +/// For living mobs to prevent adjustments to their lying angle. Used primarly for fera. +#define TRAIT_NO_LYING_ANGLE "no_lying_angle" +// Expensive but allows us to ensure there resting gets updated. +#define TRAIT_TRANSFORM_UPDATES_ICON "transform_updates_icon" +// Massivly boosts the range of your howl emote. +#define TRAIT_LOUD_HOWLER "loud_howler" +/// Prevents the mob from picking up items larger then small +#define TRAIT_SMALL_HANDS "small_hands" // BELOW ARE ALL MERITS/FLAWS #define TRAIT_ILLEGAL_IDENTITY "illegal_identity" // GOVERNMENT diff --git a/code/__DEFINES/~darkpack/werewolf_auspice.dm b/code/__DEFINES/~darkpack/werewolf_auspice.dm deleted file mode 100644 index b3bb9b8fda50..000000000000 --- a/code/__DEFINES/~darkpack/werewolf_auspice.dm +++ /dev/null @@ -1,7 +0,0 @@ -#define AUSPICE_AHROUN "Ahroun" -#define AUSPICE_GALLIARD "Galliard" -#define AUSPICE_PHILODOX "Philodox" -#define AUSPICE_THEURGE "Theurge" -#define AUSPICE_RAGABASH "Ragabash" - -#define AUSPICE_NONE "Stolen Moon" diff --git a/code/__DEFINES/~darkpack/werewolf_tribe.dm b/code/__DEFINES/~darkpack/werewolf_tribe.dm deleted file mode 100644 index 9a38b204d143..000000000000 --- a/code/__DEFINES/~darkpack/werewolf_tribe.dm +++ /dev/null @@ -1,28 +0,0 @@ -#define TRIBE_NONE "Ronin" - -#define TRIBE_GALESTALKERS "Galestalkers" -#define TRIBE_CHILDRENOFGAIA "Children of Gaia" -#define TRIBE_GHOSTCOUNCIL "Ghost Council" -#define TRIBE_HARTWARDENS "Hart Wardens" -#define TRIBE_GETOFFENRIS "Get of Fenris" -#define TRIBE_BLACKFURIES "Black Furies" -#define TRIBE_SILVERFANGS "Silver Fangs" -#define TRIBE_SILENTSTRIDERS "Silent Striders" -#define TRIBE_REDTALONS "Red Talons" -#define TRIBE_STARGAZERS "Stargazers" -#define TRIBE_GLASSWALKERS "Glass Walkers" -#define TRIBE_BONEGNAWERS "Bone Gnawers" -#define TRIBE_SHADOWLORDS "Shadow Lords" -#define TRIBE_BLACKSPIRALDANCERS "Black Spiral Dancers" - -#define TRIBE_CORAX "Corax" - -#define TRIBE_ALL list(TRIBE_NONE, TRIBE_GALESTALKERS, TRIBE_CHILDRENOFGAIA, TRIBE_GHOSTCOUNCIL, TRIBE_HARTWARDENS, TRIBE_GETOFFENRIS, TRIBE_BLACKFURIES, TRIBE_SILVERFANGS, TRIBE_SILENTSTRIDERS, TRIBE_REDTALONS, TRIBE_STARGAZERS, TRIBE_GLASSWALKERS, TRIBE_BONEGNAWERS, TRIBE_SHADOWLORDS, TRIBE_BLACKSPIRALDANCERS, TRIBE_CORAX) - -#define TRIBE_GAIA list(TRIBE_GALESTALKERS, TRIBE_CHILDRENOFGAIA, TRIBE_GHOSTCOUNCIL, TRIBE_HARTWARDENS, TRIBE_GETOFFENRIS, TRIBE_BLACKFURIES, TRIBE_SILVERFANGS, TRIBE_SILENTSTRIDERS, TRIBE_REDTALONS, TRIBE_STARGAZERS, TRIBE_GLASSWALKERS, TRIBE_BONEGNAWERS, TRIBE_SHADOWLORDS, TRIBE_CORAX) - -#define TRIBE_WYLD list(TRIBE_GALESTALKERS, TRIBE_CHILDRENOFGAIA, TRIBE_GHOSTCOUNCIL, TRIBE_HARTWARDENS, TRIBE_GETOFFENRIS, TRIBE_BLACKFURIES, TRIBE_SILVERFANGS, TRIBE_SILENTSTRIDERS, TRIBE_REDTALONS, TRIBE_STARGAZERS, TRIBE_SHADOWLORDS, TRIBE_CORAX) - -#define TRIBE_WEAVER list(TRIBE_GLASSWALKERS, TRIBE_BONEGNAWERS) - -#define TRIBE_WYRM list(TRIBE_BLACKSPIRALDANCERS) diff --git a/code/_globalvars/darkpack/lists/masquerade.dm b/code/_globalvars/darkpack/lists/masquerade.dm index c83c6b33df1b..c2fffb11b4f3 100644 --- a/code/_globalvars/darkpack/lists/masquerade.dm +++ b/code/_globalvars/darkpack/lists/masquerade.dm @@ -4,5 +4,7 @@ GLOBAL_LIST_EMPTY(logging_machines) GLOBAL_LIST_EMPTY(blood_hunt_announcers) /// List of people who have created unresolved major Masquerade breaches GLOBAL_LIST_EMPTY(masquerade_breakers_list) +/// List of people who have created unresolved major Veil breaches (Masquerade but for werewolves/fera) +GLOBAL_LIST_EMPTY(veil_breakers_list) /// Areas that people will be transported to if they latejoin with a Masquerade-violating appearance GLOBAL_LIST_EMPTY(masquerade_latejoin) diff --git a/code/_globalvars/darkpack/lists/splats.dm b/code/_globalvars/darkpack/lists/splats.dm index c24136b76a38..928ed2ae05cb 100644 --- a/code/_globalvars/darkpack/lists/splats.dm +++ b/code/_globalvars/darkpack/lists/splats.dm @@ -1,7 +1,7 @@ /// An assoc list of splat IDs to type paths GLOBAL_LIST_INIT(splat_list, init_splat_list()) /// List of all splat prototypes to reference, assoc [type] = prototype -GLOBAL_LIST_INIT_TYPED(splat_prototypes, /datum/splat, init_splat_prototypes()) +GLOBAL_LIST_INIT_TYPED(splat_prototypes, /datum/splat, init_subtypes_w_path_keys(/datum/splat, list())) /proc/init_splat_list() var/list/splat_list = list() @@ -9,11 +9,14 @@ GLOBAL_LIST_INIT_TYPED(splat_prototypes, /datum/splat, init_splat_prototypes()) splat_list[splat_path::id] = splat_path return splat_list -/proc/init_splat_prototypes() - var/list/splat_list = list() - for(var/splat_type in valid_subtypesof(/datum/splat)) - splat_list[splat_type] = new splat_type() - return splat_list - /// An assoc list of species types to their features (from get_features()) GLOBAL_LIST_EMPTY(features_by_splats) + + +/// Creates an assoc list indexed by the name of the subsplat +/proc/init_subsplat_list(path = /datum/subsplat) + var/list/subsplat_list = list() + for (var/datum/subsplat/subsplat as anything in valid_subtypesof(path)) + subsplat_list[subsplat::name] = subsplat + //subsplat_list = sort_list(subsplat_list) + return subsplat_list diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index cdf391b3a32e..04f7eed6098b 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -677,6 +677,9 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_VORACIOUS" = TRAIT_VORACIOUS, "TRAIT_VTM_CLANS" = TRAIT_VTM_CLANS, // DARKPACK EDIT ADD "TRAIT_VTM_MORALITY" = TRAIT_VTM_MORALITY, // DARKPACK EDIT ADD + "TRAIT_WTA_GAROU_AUSPICE" = TRAIT_WTA_GAROU_AUSPICE, // DARKPACK EDIT ADD + "TRAIT_WTA_GAROU_BREED" = TRAIT_WTA_GAROU_BREED, // DARKPACK EDIT ADD + "TRAIT_WTA_GAROU_TRIBE" = TRAIT_WTA_GAROU_TRIBE, // DARKPACK EDIT ADD "TRAIT_WAS_EVOLVED" = TRAIT_WAS_EVOLVED, "TRAIT_WATER_ADAPTATION" = TRAIT_WATER_ADAPTATION, "TRAIT_WATER_HATER" = TRAIT_WATER_HATER, @@ -688,6 +691,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_WING_BUFFET" = TRAIT_WING_BUFFET, "TRAIT_WING_BUFFET_TIRED" = TRAIT_WING_BUFFET_TIRED, "TRAIT_WOUND_LICKER" = TRAIT_WOUND_LICKER, + "TRAIT_WYRMTAINTED" = TRAIT_WYRMTAINTED, // DARKPACK EDIT ADD "TRAIT_XENO_HOST" = TRAIT_XENO_HOST, "TRAIT_XENO_IMMUNE" = TRAIT_XENO_IMMUNE, "TRAIT_XRAY_HEARING" = TRAIT_XRAY_HEARING, @@ -710,21 +714,26 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_SPACE_ANT_IMMUNITY" = TRAIT_SPACE_ANT_IMMUNITY, "TRAIT_BRAIN_TRAUMA_IMMUNITY" = TRAIT_BRAIN_TRAUMA_IMMUNITY, "TRAIT_BLUSH_OF_HEALTH" = TRAIT_BLUSH_OF_HEALTH, // DARKPACK EDIT ADD - "TRAIT_GHOST_VISION" = TRAIT_GHOST_VISION, // DARKPACK EDIT ADD - Necromancy + "TRAIT_GHOST_VISION" = TRAIT_GHOST_VISION, // DARKPACK EDIT ADD - POWERS - (Necromancy) "TRAIT_COLD_AURA" = TRAIT_COLD_AURA, // DARKPACK EDIT ADD + "TRAIT_WARM_AURA" = TRAIT_WARM_AURA, // DARKPACK EDIT ADD "TRAIT_FRENETIC_AURA" = TRAIT_FRENETIC_AURA, // DARKPACK EDIT ADD "TRAIT_THAUMATURGY_KNOWLEDGE" = TRAIT_THAUMATURGY_KNOWLEDGE, // DARKPACK EDIT ADD "TRAIT_VICISSITUDE_KNOWLEDGE" = TRAIT_VICISSITUDE_KNOWLEDGE, // DARKPACK EDIT ADD "TRAIT_MYSTICISM_KNOWLEDGE" = TRAIT_MYSTICISM_KNOWLEDGE, // DARKPACK EDIT ADD "TRAIT_NECROMANCY_KNOWLEDGE" = TRAIT_NECROMANCY_KNOWLEDGE, // DARKPACK EDIT ADD - "TRAIT_WARM_AURA" = TRAIT_WARM_AURA, // DARKPACK EDIT ADD "TRAIT_PASSDOOR" = TRAIT_PASSDOOR, // DARKPACK EDIT ADD "TRAIT_TIMEWARPER" = TRAIT_TIMEWARPER, // DARKPACK EDIT ADD "TRAIT_SERPENTIS_SKIN" = TRAIT_SERPENTIS_SKIN, // DARKPACK EDIT ADD - POWERS - (Serpentis) "TRAIT_NEEDS_BLOOD" = TRAIT_NEEDS_BLOOD, //DARKPACK EDIT ADD - Hunger and Frenzy - "TRAIT_SILENCED" = TRAIT_SILENCED, // DARKPACK EDIT ADD - Quietus - "TRAIT_WEAK_TO_DOMINATE" = TRAIT_WEAK_TO_DOMINATE, // DARKPACK EDIT ADD - Dominate + "TRAIT_SILENCED" = TRAIT_SILENCED, // DARKPACK EDIT ADD - POWERS - (Quietus) + "TRAIT_WEAK_TO_DOMINATE" = TRAIT_WEAK_TO_DOMINATE, // DARKPACK EDIT ADD - POWERS - (Dominate) "TRAIT_ILLEGAL_IDENTITY" = TRAIT_ILLEGAL_IDENTITY, // DARKPACK EDIT ADD - GOVERMENT + "TRAIT_NO_LYING_ANGLE" = TRAIT_NO_LYING_ANGLE, // DARKPACK EDIT ADD - WEREWOLF + "TRAIT_TRANSFORM_UPDATES_ICON" = TRAIT_TRANSFORM_UPDATES_ICON, // DARKPACK EDIT ADD - WEREWOLF + "TRAIT_LOUD_HOWLER" = TRAIT_LOUD_HOWLER, // DARKPACK EDIT ADD - WEREWOLF + "TRAIT_FERA_FUR" = TRAIT_FERA_FUR, // DARKPACK EDIT ADD - WEREWOLF + "TRAIT_SMALL_HANDS" = TRAIT_SMALL_HANDS, // DARKPACK EDIT ADD - WEREWOLF "TRAIT_NECROPOLIS_WORSHIP" = TRAIT_NECROPOLIS_WORSHIP, ), /mob/living/carbon = list( diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 3ff5530952ad..95a32d09db23 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -249,6 +249,13 @@ GLOBAL_LIST_INIT(available_ui_styles, list( healthdoll = null bloodpool_icon = null // DARKPACK EDIT ADD zone_icon = null // DARKPACK EDIT ADD + // DARKPACK EDIT ADD START - WEREWOLF + auspice_icon = null + rage_and_gnosis_icon = null + homid_trans_icon = null + war_trans_icon = null + feral_trans_icon = null + // DARKPACK EDIT ADD END spacesuit = null hunger = null alien_plasma_display = null diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 7a8e6bc1cfd9..3a34be48f1f5 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -273,11 +273,15 @@ infodisplay += healthdoll // DARKPACK EDIT ADD START - bloodpool_icon = new /atom/movable/screen/bloodpool(null, src) + bloodpool_icon = new /atom/movable/screen/bloodpool(null, src) infodisplay += bloodpool_icon zone_icon = new /atom/movable/screen/zone_hud(null, src) infodisplay += zone_icon + + if(owner.splats) + for(var/datum/splat/splat in owner.splats) + splat.add_relevent_huds(src) // DARKPACK EDIT ADD END stamina = new /atom/movable/screen/stamina(null, src) diff --git a/code/_onclick/hud/living.dm b/code/_onclick/hud/living.dm index 93335c11b507..97fe1f7a7ca3 100644 --- a/code/_onclick/hud/living.dm +++ b/code/_onclick/hud/living.dm @@ -27,9 +27,13 @@ infodisplay += stamina // DARKPACK EDIT ADD START - bloodpool_icon = new /atom/movable/screen/bloodpool(null, src) + bloodpool_icon = new /atom/movable/screen/bloodpool(null, src) infodisplay += bloodpool_icon zone_icon = new /atom/movable/screen/zone_hud(null, src) infodisplay += zone_icon + + if(owner.splats) + for(var/datum/splat/splat in owner.splats) + splat.add_relevent_huds(src) // DARKPACK EDIT ADD END diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 1cd89773c55a..9098dfc1a3a1 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -67,8 +67,10 @@ return attack_target.attack_paw(src, modifiers) /mob/living/carbon/human/resolve_unarmed_attack(atom/attack_target, list/modifiers) + /* // DARKPACK EDIT REMOVAL - Dont assume we are a chimp because we cant use tools. if(!ISADVANCEDTOOLUSER(src)) return ..() + */ return attack_target.attack_hand(src, modifiers) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 204652b58ff2..84a89b9d8243 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -200,6 +200,7 @@ SUBSYSTEM_DEF(ticker) if(!roundend_check_paused && (check_finished() || force_ending)) current_state = GAME_STATE_FINISHED + GLOB.canon_event = FALSE // We generally consider all events in postgame to be non-canon due to most servers having EORG // DARKPACK EDIT ADD toggle_ooc(TRUE) // Turn it on toggle_dooc(TRUE) declare_completion(force_ending) @@ -219,6 +220,10 @@ SUBSYSTEM_DEF(ticker) if(SScity_time.roundend_started) return TRUE // DARKPACK EDIT ADD END + // DARKPACK EDIT ADD START - MASQUERADE + if(SSmasquerade.roundend_started) + return TRUE + // DARKPACK EDIT ADD END return FALSE /// Gets a list of players with their readied state so we can post it as a log diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index b80d0b7d82bd..1eaa5f0c8663 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -239,7 +239,7 @@ for(var/behavior in recipe.tool_behaviors) recipe_time += dynamic_recipe_time * found_behaviors[behavior] - // DARKPACK EDIT ADD START - STORYTELLR_STATS + // DARKPACK EDIT ADD START - STORYTELLER_STATS var/mob/living/carbon/human/human_crafter if(ishuman(crafter)) human_crafter = crafter diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 2231872edf1e..5b61f09c31e5 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -51,6 +51,7 @@ var/stat_allowed = CONSCIOUS /// Sound to play when emote is called. var/sound + var/extra_range = 0 // DARKPACK EDIT ADD /// Does this emote vary in pitch? var/vary = FALSE /// If this emote's sound is affected by TTS pitch @@ -120,7 +121,7 @@ frequency = rand(MIN_EMOTE_PITCH, MAX_EMOTE_PITCH) * (1 + sqrt(abs(user.pitch)) * SIGN(user.pitch) * EMOTE_TTS_PITCH_MULTIPLIER) else if(vary) frequency = rand(MIN_EMOTE_PITCH, MAX_EMOTE_PITCH) - playsound(source = user,soundin = tmp_sound,vol = 50, vary = FALSE, ignore_walls = sound_wall_ignore, frequency = frequency) + playsound(source = user,soundin = tmp_sound,vol = 50, vary = FALSE, extrarange = get_range(user), ignore_walls = sound_wall_ignore, frequency = frequency) // DARKPACK EDIT CHANGE - (Added extrarange getter) var/is_important = running_emote_type & EMOTE_IMPORTANT @@ -248,6 +249,11 @@ /datum/emote/proc/get_sound(mob/living/user) return sound //by default just return this var. +// DARKPACK EDIT ADD START +/datum/emote/proc/get_range() + return extra_range +// DARKPACK EDIT ADD END + /** * To get the flags visible/audible messages for ran by the emote. * diff --git a/code/game/atom/atom_defense.dm b/code/game/atom/atom_defense.dm index 66c04585e69c..f582462a1c2d 100644 --- a/code/game/atom/atom_defense.dm +++ b/code/game/atom/atom_defense.dm @@ -12,7 +12,7 @@ var/damage_deflection = 0 // DARKPACK EDIT ADD START /// Atom uses integrity but will not be deleted upon reaching 0 through normal means - var/prevent_destruction = FALSE + var/prevent_destruction = FALSE // DARKPACK EDIT ADD END var/resistance_flags = NONE // INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ON_FIRE | UNACIDABLE | ACID_PROOF diff --git a/code/game/machinery/computer/arcade/battle.dm b/code/game/machinery/computer/arcade/battle.dm index 21039012dd28..11ef5e4a8d1d 100644 --- a/code/game/machinery/computer/arcade/battle.dm +++ b/code/game/machinery/computer/arcade/battle.dm @@ -360,7 +360,7 @@ SStgui.update_uis(src) return //we couldn't heal ourselves or steal MP, we'll just attack instead. - var/skill_level = user.st_get_stat(STAT_TECHNOLOGY) || 1 // DARKPACK EDIT CHANGE - STORYTELLR_STATS + var/skill_level = user.st_get_stat(STAT_TECHNOLOGY) || 1 // DARKPACK EDIT CHANGE - STORYTELLER_STATS var/chance_at_counterattack = 40 + (skill_level * 5) //at level 1 this is 45, at legendary this is 75 var/damage_dealt = (defending_flags & BATTLE_ATTACK_FLAG_DEFEND) ? rand(5, 10) : rand(15, 20) if((defending_flags & BATTLE_ATTACK_FLAG_COUNTERATTACK) && prob(chance_at_counterattack)) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 3c427fa6c252..f3c6758cda09 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -248,7 +248,7 @@ /// Checks a bunch of stuff to see if we can heal the patient, including can_heal /// Gives a feedback if we can't ultimatly heal the patient (unless silent is TRUE) /obj/item/stack/medical/proc/try_heal_checks(mob/living/patient, mob/living/user, healed_zone, silent = FALSE) - // DARKPACK EDIT ADD START - STORYTELLR_STATS + // DARKPACK EDIT ADD START - STORYTELLER_STATS if(CONFIG_GET(flag/punishing_zero_dots) && user.st_get_stat(STAT_MEDICINE) < 1) to_chat(user, span_warning("How do I do this...?")) return FALSE diff --git a/code/game/say.dm b/code/game/say.dm index e7c96b7aa494..a170a2f08309 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -165,10 +165,10 @@ GLOBAL_LIST_INIT(freqtospan, list( var/atom/movable/virtualspeaker/fakespeaker = reliable_narrator reliable_narrator = fakespeaker.source - if(ismob(src) && (namepart != "Unknown") && ismob(reliable_narrator)) + if(ismob(src) && ishuman(reliable_narrator) && (namepart != "Unknown")) var/mob/receiver_mob = src if(receiver_mob.mind?.guestbook) - var/mob/speaker_human = reliable_narrator + var/mob/living/carbon/human/speaker_human = reliable_narrator var/known_name = receiver_mob.mind.guestbook.get_known_name(src, reliable_narrator, speaker_human.real_name) if(known_name) namepart = "[known_name]" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 3d6da8268a0e..82d83f3ebf85 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -47,7 +47,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) //Job preferences 2.0 - indexed by job title , no key or value implies never var/list/job_preferences = list() - // DARKPACK EDIT ADD START - STORYTELLR_STATS + // DARKPACK EDIT ADD START - STORYTELLER_STATS var/list/preference_storyteller_stats = list() // DARKPACK EDIT ADD END // DARKPACK EDIT ADD START - ALTERNATIVE_JOB_TITLES diff --git a/code/modules/client/preferences/_preference.dm b/code/modules/client/preferences/_preference.dm index de01b73dc92c..c3fa4733a0e1 100644 --- a/code/modules/client/preferences/_preference.dm +++ b/code/modules/client/preferences/_preference.dm @@ -42,11 +42,11 @@ /// Preferences relating to World of Darkness TTRPG elements #define PREFERENCE_PRIORITY_WORLD_OF_DARKNESS 11 -#define PREFERENCE_PRIORITY_REQUIRES_CLAN 12 +#define PREFERENCE_PRIORITY_REQUIRES_SUBSPLAT 12 // DARKPACK EDIT ADD END - TTRPG preferences /// The maximum preference priority, keep this updated, but don't use it for `priority`. -#define MAX_PREFERENCE_PRIORITY PREFERENCE_PRIORITY_REQUIRES_CLAN // DARKPACK EDIT CHANGE - TTRPG Preferences +#define MAX_PREFERENCE_PRIORITY PREFERENCE_PRIORITY_REQUIRES_SUBSPLAT // DARKPACK EDIT CHANGE - TTRPG Preferences /// For choiced preferences, this key will be used to set display names in constant data. #define CHOICED_PREFERENCE_DISPLAY_NAMES "display_names" diff --git a/code/modules/fishing/fishing_rod.dm b/code/modules/fishing/fishing_rod.dm index 01d1d3c0c12a..d3c9088aec5f 100644 --- a/code/modules/fishing/fishing_rod.dm +++ b/code/modules/fishing/fishing_rod.dm @@ -371,7 +371,7 @@ user = user || loc if (!isliving(user) || !user.mind || !user.is_holding(src)) return - . += round(user.st_get_stat(STAT_STRENGTH) * 0.3) // DARKPACK EDIT CHANGE - STORYTELLR_STATS + . += round(user.st_get_stat(STAT_STRENGTH) * 0.3) // DARKPACK EDIT CHANGE - STORYTELLER_STATS return max(., 1) /obj/item/fishing_rod/dropped(mob/user, silent) diff --git a/code/modules/mob/living/basic/basic_defense.dm b/code/modules/mob/living/basic/basic_defense.dm index b4100a73cc16..636021dac1ac 100644 --- a/code/modules/mob/living/basic/basic_defense.dm +++ b/code/modules/mob/living/basic/basic_defense.dm @@ -21,8 +21,19 @@ if(HAS_TRAIT(user, TRAIT_PACIFISM)) to_chat(user, span_warning("You don't want to hurt [src]!")) return TRUE - var/obj/item/bodypart/arm/active_arm = user.get_active_hand() - var/damage = (basic_mob_flags & IMMUNE_TO_FISTS) ? 0 : rand(active_arm.unarmed_damage_low, active_arm.unarmed_damage_high) + + // DARKPACK EDIT CHANGE START - STORYTELLER_STATS + // ROLL TO HIT // DARKPACK TODO + // var/successes = SSroll.storyteller_roll(user.st_get_stat(STAT_DEXTERITY) + user.st_get_stat(STAT_BRAWL), 6, user) + // ROLL TO DAMAGE + var/damage_output + if(HAS_TRAIT(user, TRAIT_PERFECT_ATTACKER)) + damage_output = user.st_get_stat(STAT_STRENGTH) + else + var/datum/storyteller_roll/damage/damage_roll = new() + damage_output = damage_roll.st_roll(user, src) + var/damage = (basic_mob_flags & IMMUNE_TO_FISTS) ? 0 : damage_output TTRPG_DAMAGE // DARKPACK EDIT CHANGE - STORYTELLER_STATS + // DARKPACK EDIT CHANGE END if(check_block(user, damage, "[user]'s punch", UNARMED_ATTACK, 0, BRUTE)) return user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm index 10c45dbdc39b..4d79a1b841e4 100644 --- a/code/modules/mob/living/carbon/examine.dm +++ b/code/modules/mob/living/carbon/examine.dm @@ -185,7 +185,7 @@ if(-INFINITY to BLOOD_VOLUME_BAD) . += span_deadsay("[t_He] resemble[p_s()] a crushed, empty juice pouch.") - . += display_darkpack_examine_text() // DARKPACK EDIT ADD + . += display_darkpack_examine_text(user) // DARKPACK EDIT ADD if(is_bleeding()) var/list/obj/item/bodypart/bleeding_limbs = list() diff --git a/code/modules/mob/living/carbon/human/_species.dm b/code/modules/mob/living/carbon/human/_species.dm index 5bd058d3ca4a..4c2a0e8ab5ac 100644 --- a/code/modules/mob/living/carbon/human/_species.dm +++ b/code/modules/mob/living/carbon/human/_species.dm @@ -814,24 +814,20 @@ GLOBAL_LIST_EMPTY(features_by_species) //Someone in a grapple is much more vulnerable to being harmed by punches. var/grappled = (target.pulledby && target.pulledby.grab_state >= GRAB_AGGRESSIVE) - // Our lower and upper unarmed damage values. Damage is rolled between these two values. - var/lower_unarmed_damage = attacking_bodypart.unarmed_damage_low - var/upper_unarmed_damage = attacking_bodypart.unarmed_damage_high - - // The presence of TRAIT_STRENGTH increases our upper unarmed damage. This is a damage cap increase. - upper_unarmed_damage += HAS_TRAIT(user, TRAIT_STRENGTH) ? 2 : 0 - - // DARKPACK EDIT ADD - Storyteller Stats - var/damage_multiplier = 1 + ((user.st_get_stat(STAT_STRENGTH) - 2) / 5) - upper_unarmed_damage *= damage_multiplier - // DARKPACK EDIT ADD - Storyteller Stats - - // Out athletics skill is used to set our potential base damage roll. It won't increase our potential damage roll, but will make our unarmed attack more consistent. - // For a normal human arm, this would cap at 10, and for a normal human leg, this would go up to 14. - lower_unarmed_damage = min(lower_unarmed_damage + user.st_get_stat(STAT_BRAWL), upper_unarmed_damage) // DARKPACK EDIT CHANGE - STORYTELLER_STATS + // DARKPACK EDIT CHANGE START - STORYTELLER_STATS + // ROLL TO HIT // DARKPACK TODO + // var/successes = SSroll.storyteller_roll(user.st_get_stat(STAT_DEXTERITY) + user.st_get_stat(STAT_BRAWL), 6, list(user), user) + // ROLL TO DAMAGE + var/damage_output + if(HAS_TRAIT(user, TRAIT_PERFECT_ATTACKER)) + damage_output = user.st_get_stat(STAT_STRENGTH) + else + var/datum/storyteller_roll/damage/damage_roll = new() + damage_output = damage_roll.st_roll(user, target) + // DARKPACK EDIT CHANGE END // The actual damage roll. May still be augmented by further factors. - var/damage = rand(lower_unarmed_damage, upper_unarmed_damage) + var/damage = damage_output TTRPG_DAMAGE // DARKPACK EDIT CHANGE - STORYTELLER_STATS // Limb accuracy is used to determine miss probabilities (higher the value, the less likely you are to miss), armor penetration (if entitled) and the possible result from a stagger combo hit. var/limb_accuracy = attacking_bodypart.unarmed_effectiveness // Limb sharpness determines the type of wounds this unarmed strike could possibly roll. By default, most limbs are blunt and have no sharpness. @@ -873,7 +869,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/obj/item/bodypart/affecting = target.get_bodypart(hit_zone) var/miss_chance = 100//calculate the odds that a punch misses entirely. considers stamina and brute damage of the puncher. punches miss by default to prevent weird cases - if(lower_unarmed_damage) + if(damage) // DARKPACK EDIT CHANGE - STORYTELLER_STATS if((target.body_position == LYING_DOWN) || HAS_TRAIT(user, TRAIT_PERFECT_ATTACKER) || staggered || user_drunkenness && HAS_TRAIT(user, TRAIT_DRUNKEN_BRAWLER)) //kicks and attacks against staggered targets never miss (provided your species deals more than 0 damage). Drunken brawlers while drunk also don't miss miss_chance = 0 else @@ -945,7 +941,7 @@ GLOBAL_LIST_EMPTY(features_by_species) SEND_SIGNAL(target, COMSIG_HUMAN_GOT_PUNCHED, user, damage, attack_type, affecting, final_armor_block, kicking, limb_sharpness) SEND_SIGNAL(user, COMSIG_HUMAN_PUNCHED, target, damage, attack_type, affecting, final_armor_block, kicking, limb_sharpness) - // DARKPACK EDIT ADD - Knockdown chance system from old harm proc + // DARKPACK EDIT ADD START - (Knockdown chance system from old harm proc) if((target.stat != DEAD) && (!target.IsKnockdown())) var/roll = SSroll.storyteller_roll( dice = user.st_get_stat(STAT_STRENGTH), @@ -959,7 +955,7 @@ GLOBAL_LIST_EMPTY(features_by_species) to_chat(user, span_danger("You knock [target] down!")) target.apply_effect(2 SECONDS, EFFECT_KNOCKDOWN, armor_block) log_combat(user, target, "got a stun punch with their previous punch") - // DARKPACK EDIT END + // DARKPACK EDIT ADD END // If our target is staggered and has sustained enough damage, we can apply a randomly determined status effect to inflict when we punch them. // The effects are based on the punching effectiveness of our attacker. Some effects are not reachable by the average human, and require augmentation to reach or being a species with a heavy punch effectiveness. diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ef948a1fd22f..e8069416015a 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -66,7 +66,6 @@ /mob/living/carbon/human/Destroy() QDEL_NULL(physiology) GLOB.human_list -= src - GLOB.kindred_list -= src // DARKPACK EDIT ADD if (mob_mood) QDEL_NULL(mob_mood) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 4714ba39cb12..e32b3b53619e 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -47,6 +47,10 @@ handle_liver(seconds_per_tick) // For special species interactions dna.species.spec_life(src, seconds_per_tick) + // DARKPACK EDIT ADD START - SPLATS + for(var/datum/splat/splat in splats) + splat.splat_life(seconds_per_tick) + // DARKPACK EDIT ADD END return stat != DEAD /mob/living/carbon/human/calculate_affecting_pressure(pressure) diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index c34dba20112f..c87c52b52357 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -9,12 +9,14 @@ payday_modifier = 1.1 /datum/species/human/prepare_human_for_preview(mob/living/carbon/human/human) -// human.set_haircolor("#bb9966", update = FALSE) // brown // DARKPACK EDIT START + // DARKPACK EDIT CHANGE START + // human.set_haircolor("#bb9966", update = FALSE) // brown human.set_hairstyle("Bald", update = TRUE) human.set_facial_hairstyle("Beard (Goatee)", update = TRUE) human.set_facial_haircolor("#7E3F00") human.undershirt = "T-Shirt (Yellow)" - human.update_body() // DARKPACK EDIT END + human.update_body() + // DARKPACK EDIT CHANGE END /datum/species/human/get_scream_sound(mob/living/carbon/human/human) if(human.physique == MALE) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 2d9cadb4e730..cfb84489b996 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -754,7 +754,7 @@ add_traits(list(TRAIT_UI_BLOCKED, TRAIT_PULL_BLOCKED, TRAIT_UNDENSE), LYING_DOWN_TRAIT) if(HAS_TRAIT(src, TRAIT_FLOORED) && !(dir & (NORTH|SOUTH))) setDir(pick(NORTH, SOUTH)) // We are and look helpless. - if(rotate_on_lying) + if(rotate_on_lying && !HAS_TRAIT(src, TRAIT_NO_LYING_ANGLE)) // DARKPACK EDIT CHANGE - WEREWOLF add_offsets(LYING_DOWN_TRAIT, y_add = PIXEL_Y_OFFSET_LYING) /// Proc to append behavior related to lying down. @@ -1368,6 +1368,10 @@ return /mob/living/can_hold_items(obj/item/I) + // DARKPACK EDIT ADD START + if(I && (I.w_class <= WEIGHT_CLASS_SMALL) && HAS_TRAIT(src, TRAIT_SMALL_HANDS)) + return FALSE + // DARKPACK EDIT ADD END return ..() && HAS_TRAIT(src, TRAIT_CAN_HOLD_ITEMS) && usable_hands /mob/living/can_perform_action(atom/target, action_bitflags) diff --git a/code/modules/mob/living/living_update_icons.dm b/code/modules/mob/living/living_update_icons.dm index 274a5a4f101d..e11457a49a23 100644 --- a/code/modules/mob/living/living_update_icons.dm +++ b/code/modules/mob/living/living_update_icons.dm @@ -8,7 +8,7 @@ var/final_dir = dir var/changed = FALSE - if(lying_angle != lying_prev && rotate_on_lying) + if(lying_angle != lying_prev && (rotate_on_lying && !HAS_TRAIT(src, TRAIT_NO_LYING_ANGLE))) // DARKPACK EDIT CHANGE - WEREWOLF changed = TRUE if(lying_angle && lying_prev == 0) if(current_translate) @@ -25,7 +25,7 @@ if(resize != RESIZE_DEFAULT_SIZE) changed = TRUE - var/is_vertical = !lying_angle || !rotate_on_lying + var/is_vertical = !lying_angle || !rotate_on_lying || HAS_TRAIT(src, TRAIT_NO_LYING_ANGLE) // DARKPACK EDIT CHANGE - WEREWOLF var/new_translation = get_transform_translation_size(resize * current_size) // scaling also affects translation, so we've to undo the old translate beforehand. if(is_vertical && current_translate) @@ -41,6 +41,14 @@ if(is_vertical && new_translation) ntransform.Translate(0, new_translation) + // DARKPACK EDIT ADD START - WEREWOLF + if(HAS_TRAIT(src, TRAIT_TRANSFORM_UPDATES_ICON)) + update_body() + update_damage_overlays() + // regenerate_icons, as much as it should be what is called, happens to call this, creating a infinite loop. + // regenerate_icons() + // DARKPACK EDIT ADD END + if(!changed) //Nothing has been changed, nothing has to be done. return FALSE diff --git a/code/modules/unit_tests/combat.dm b/code/modules/unit_tests/combat.dm index 80ccbaf8dadd..113abac1339c 100644 --- a/code/modules/unit_tests/combat.dm +++ b/code/modules/unit_tests/combat.dm @@ -2,6 +2,7 @@ var/mob/living/carbon/human/puncher = allocate(/mob/living/carbon/human/consistent) var/mob/living/carbon/human/victim = allocate(/mob/living/carbon/human/consistent) + puncher.st_set_stat(STAT_STRENGTH, 1) // DARKPACK EDIT ADD // Avoid all randomness in tests ADD_TRAIT(puncher, TRAIT_PERFECT_ATTACKER, INNATE_TRAIT) diff --git a/code/modules/unit_tests/screenshot_humanoids.dm b/code/modules/unit_tests/screenshot_humanoids.dm index c392b888e413..95ffe8e64d26 100644 --- a/code/modules/unit_tests/screenshot_humanoids.dm +++ b/code/modules/unit_tests/screenshot_humanoids.dm @@ -2,7 +2,7 @@ /datum/unit_test/screenshot_humanoids /datum/unit_test/screenshot_humanoids/Run() - var/list/testable_species = subtypesof(/datum/species) + var/list/testable_species = valid_subtypesof(/datum/species) // DARKPACK EDIT CHANGE // Test lizards as their own thing so we can get more coverage on their features var/mob/living/carbon/human/lizard = allocate(/mob/living/carbon/human/dummy/consistent) diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_bestial.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_bestial.png new file mode 100644 index 0000000000000000000000000000000000000000..456a5ce1a860024af036e8954b3403a43a60b52a GIT binary patch literal 1051 zcmV+$1mydPP)liA|@sn92}>rw$#_(iHoAjv8E#=DJ?BC%gxd5?(Q8OB&Dgg zba8^zl7+{wqfJKApCs)3g*#Q%}&H$-3!Q01x=#0O|vvxHU9Vwo*3r6+pLn36|3zm6FC9skkpt zR#I5?$Pol(SVpB-bgo`F)im_$7~Ka)5ji>Z)NYaw0J=|= zd*B}e+(@_yNQmX_K7E>AUnfCt(_Q-E?d>qlVxH)ts?Sr_r@5+&0mMB0}prrq3Jk>k}ZY?p*T_B>mjw8 z^B+qKN=sQe?=FFpS5giO5cW~7IfQI5cs@?-6!EaGI1CFpCLHe7dQ5Kb$sh0lQoYBJ zuMkj=xvler=j*#pYmE5{0dv>mH2V}FB+9-9U~B=9BAFBpK=vgj8uUmnJIG@{D9t!s z0zeFlQz$xc84#imdaVN;JWXKAEl^D^851j-_haJ>YK{bWsRY51M%^;t9RcuwRI zu2pOc0SwK)Uv+>aZ6rXshZ&LQ{%-gD!gcWSyxW;^JZ~AVnxeJq<2$e6TpFZ5gw^^B zfv+dRYJDcG)&B<&07ufi2AFXmtpW1zUm?tkM_5ZBb8zD1)5SyZu?&A6aPbI#$8TXH VJI;(+7&ia_002ovPDHLkV1fl%+I#>2 literal 0 HcmV?d00001 diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_dire.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_dire.png new file mode 100644 index 0000000000000000000000000000000000000000..f881901300db907e72d03dc0de9edafccd701722 GIT binary patch literal 622 zcmV-!0+IcRP)fFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TB zGg33tGfE(w;*!LYR3KAHiHkEOv#1!Po{KZBC^0t`#5UwoR&e!m0hh8 z6P`?27^wn7xT^pq1}N~UA<@8xgoy#0c!!HXmKCh;DzLlWm4(SG2HK!+7-&5(FeMEi ztR>lw0o3-BfqrCQ#Fd4zAaP>vMd3<14m#vuBLoL7{s+nh5++vQf;IyO;sjhWu&Y3e zn}+!s%wv=w_*1~*UvQ2F0F2A$#w>qtlkOkQ7SNFY-7u$2bonG=KWDAK0@|XYl=N>8 z2d?ue=w;;w4~FisPl1XJXejxx-h)7T+NnOD&0?dve0yx2TG|nPjn4J!j*x=~`vace zT#nqe0EiJSjPuve*O!e1$Qug9449wj2fW|r4_MEGl^yyS*h5|eS%C&tOZ5n1ekWEP z3aXzEi3AR$8jnC!V1MHsz&@r}gO>d+`8~OmczO!XagIOZ8{u+F*nk;k$p8QV07*qo IM6N<$f@=Z^V*mgE literal 0 HcmV?d00001 diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_feral.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_feral.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb6d4dd4bab33e6c4763c35614fd01b22a4f94b GIT binary patch literal 915 zcmV;E18n?>P)KAp{n%&H*su0&TcJ?|+DqlNL+EJVY{1q-mh4}02>@wAA^ugY}-H0;P%5B%{&tBPI*q; z9{|xru=^ZRV&U4ss>YSiVa>v|htq1zws~mss&lG?#4Zt4fQlN`09rH1>^G7x5@;;<_y{;vnp%~OF&+?Ff5a!WcWpUsl*N9`)A-`3Gd5^7+nz)M?7zcs;ML z)T3vO6U(fZxebkZngryn_Pgms-vM>udzyX$Fo}1kGicsx4ZJj=0oIHh7(65lAbD@* zP)5OXGOr#$x19Z~Xm6yx8-7}T#fWOu p-KCb`V}uWBJ~jvsQhtnzQBPayzqHS` zs`=5zzo?xN6ci#RCKwzXr>eHp*WZbYqRO$RBP1y;Ei=o_(eCc<9UUa4skU@+g4B|Q z$FHND?|g;;0004WQchCV=-0C=2JR&a84_w-Y6 z@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5Nr{UyC9|j) zq@Ig2ttc@!6~s2=QdV&Fa{-$O0Gj_84mqJ=L;wH+u}MThR9J=Wmf3RKFbqYxIAI7b zrRsWX6-T!F|KHdPN=Z85qK^C0$rPU0iZ5^k(i8w8KATA?|4vs*^*q*et=RP4`bMh< zymadxasg~wfJZH*lCljjc?ssRp+5;Dwb9ZvQ#6vzz_U$|op`b6t$1OHwAMtnp*yl{ zC~eXLNO~xq7_GkY>hm62S2=Dt!a7BwL=@Ao9ZG=y#ye^wLf-?x5fzahMkFQv#teg4+!<$Hs2j?e>mmUUfY(Usa05J79zOhc@6r_5nsd zat5s#M60}nUjKi>bRjGC?p0^CI{<*tn-KDV(dMIKr-+BOcLT^Vp}1G$(YaBzJ2i7| z(axdCR|tql-wxCxa6HPgvlRmRu0u7W#E=$%gJ&mSOex&9prwdgbO7XH;zkemGK1Xq zX)ObqCxs#dn*qcLbOA_#GT`GTaP#MSNoxRNFJDe_-29W#%COU|9-lR>hFjtp;iHOe zVSwh|_p=U=tPKn(_b?-J-{0?#r&b21<9@G);kIkcswo=NZ{K+hw{k#wCv@W%LOY%b z-S|xC#s3E|03~Va0VWir9w0aW4q=*Sgq{Nr2iKN-U1o^3&CS0JSZ0LZ?HB6~HqZOC R_0IqR002ovPDHLkV1h%N(n$aS literal 0 HcmV?d00001 diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_war.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_shifter_war.png new file mode 100644 index 0000000000000000000000000000000000000000..f26cac5b753eee2a491e3d7b287fbb121ad57fed GIT binary patch literal 952 zcmV;p14sOcP)fFDZ*Bkp zc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LY zR3KAHiHkEOv#1!Po{KZBC^0t`#5UwoR&e!m0h4m3t%zL zx25x}?FS&pxjk{eqe4@+JIEYpNGI@UnEk|t$8g=*=(#>0x<#hz$4ocCAJe^R2WJ`s zgPwrjEH?A$aD>|y(mpKrpy(lhF90XU3lMN@uX*5eewi2kD6jLw!;69Twt1iawN#gX a1^xg7(v(Z#!iOpV0000")) if (HAS_TRAIT(src, TRAIT_PERMAFANGS)) . += span_warning("[p_They()] [p_have()] visible fangs in [p_their()] mouth.
      ") + + // WEREWOLF + var/datum/splat/werewolf/werewolf_splat = iswerewolfsplat(user) + if(werewolf_splat && !(obscured_slots & HIDEFACE)) + . += werewolf_splat.examine_other_human(src) + // WEREWOLF diff --git a/modular_darkpack/master_files/code/modules/mob/living/carbon/human/_species.dm b/modular_darkpack/master_files/code/modules/mob/living/carbon/human/_species.dm new file mode 100644 index 000000000000..4c429d28433c --- /dev/null +++ b/modular_darkpack/master_files/code/modules/mob/living/carbon/human/_species.dm @@ -0,0 +1,4 @@ + +/datum/species + /// Used in get_generic_name to replace gender + var/visible_gender_override diff --git a/modular_darkpack/master_files/code/modules/mob/living/carbon/human/human_defines.dm b/modular_darkpack/master_files/code/modules/mob/living/carbon/human/human_defines.dm index 37e038ebf4e8..5ef248c4bd44 100644 --- a/modular_darkpack/master_files/code/modules/mob/living/carbon/human/human_defines.dm +++ b/modular_darkpack/master_files/code/modules/mob/living/carbon/human/human_defines.dm @@ -1,4 +1,8 @@ /mob/living/carbon/human + // Humans have a default bloodpool of 10 + maxbloodpool = 10 + bloodpool = 10 + // NPC humans get the area of effect, player humans dont. var/violation_aoe = FALSE /// List of ownership types the player has claimed keys for (e.g., "apartment", "car") @@ -6,6 +10,3 @@ // Visible adjectives, used for Guestbooks. var/visible_adjective = "" - // Humans have a default bloodpool of 10 - maxbloodpool = 10 - bloodpool = 10 diff --git a/modular_darkpack/master_files/icons/mob/actions/backgrounds.dmi b/modular_darkpack/master_files/icons/mob/actions/backgrounds.dmi index 5035f0cdcb8fa4c57b623bdade836c47b3eb01b1..96425f0b24dc9245da10fd34aa258e1293b05360 100644 GIT binary patch delta 13195 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 0) + healed_dots += heal_storyteller_scars(dots_to_heal) + + if(heal_aggravated) + while(dots_to_heal > 0 && get_agg_loss()+get_fire_loss() > 0) + heal_ordered_damage(1 TTRPG_DAMAGE, list(BURN, AGGRAVATED)) + dots_to_heal-- + healed_dots++ + + while(dots_to_heal > 0 && get_brute_loss()+get_tox_loss()+get_oxy_loss() > 0) + heal_ordered_damage(1 TTRPG_DAMAGE, list(BRUTE, TOX, OXY)) + dots_to_heal-- + healed_dots++ + + if(healed_dots) + updatehealth() + + return healed_dots + +/mob/living/proc/heal_storyteller_scars(dots_to_heal) + return + +/mob/living/carbon/heal_storyteller_scars(dots_to_heal) + var/healed_dots = 0 + + for(var/datum/wound/our_wound in all_wounds) + if(dots_to_heal <= 0) + break + our_wound.remove_wound() + dots_to_heal-- + healed_dots++ + + // W20 p. 259: describes "battle scars" to be inclusive of stuff like organ damage, brain damage or lost limbs. + for(var/obj/item/organ/target_organ as anything in organs) + if(!target_organ.damage) + continue + if(target_organ.apply_organ_damage(-dots_to_heal TTRPG_DAMAGE, required_organ_flag = ORGAN_ORGANIC)) + dots_to_heal-- + healed_dots++ + + return healed_dots + diff --git a/modular_darkpack/modules/blood_drinking/code/movable_screens/blood_hud.dm b/modular_darkpack/modules/blood_drinking/code/movable_screens/blood_hud.dm index 5dab25e00803..c6fdab35ecb9 100644 --- a/modular_darkpack/modules/blood_drinking/code/movable_screens/blood_hud.dm +++ b/modular_darkpack/modules/blood_drinking/code/movable_screens/blood_hud.dm @@ -1,14 +1,27 @@ -#define ui_living_bloodpool "EAST-1:28,CENTER-4:14" +#define UI_LIVING_BLOODPOOL "EAST-1:28,CENTER-4:14" /atom/movable/screen/bloodpool name = "bloodpool" //icon = 'modular_darkpack/modules/blood_drinking/icons/bloodpool.dmi' //32x32 version icon = 'modular_darkpack/modules/blood_drinking/icons/old_bloodpool.dmi' icon_state = "blood0" - screen_loc = ui_living_bloodpool + screen_loc = UI_LIVING_BLOODPOOL mouse_over_pointer = MOUSE_HAND_POINTER -/atom/movable/screen/bloodpool/Click() +/atom/movable/screen/bloodpool/Initialize(mapload, datum/hud/hud_owner) + . = ..() + + update_icon() + register_context() + +/atom/movable/screen/bloodpool/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + + context[SCREENTIP_CONTEXT_LMB] = "Check blood points" + + return CONTEXTUAL_SCREENTIP_SET + +/atom/movable/screen/bloodpool/Click(location, control, params) if(isliving(usr)) var/mob/living/bloodbag = usr bloodbag.update_blood_hud() @@ -19,13 +32,19 @@ else to_chat(bloodbag, span_notice("You've got [bloodbag.bloodpool]/[bloodbag.maxbloodpool] blood points.")) - . = ..() + return ..() + +/atom/movable/screen/bloodpool/update_icon_state() + var/mob/living/owner = hud?.mymob + if(!istype(owner)) + return + var/bp_amount = clamp(round((owner.bloodpool/owner.maxbloodpool)*10), 0, 10) + icon_state = "blood[bp_amount]" + return ..() /mob/living/proc/update_blood_hud() - if(!client || !hud_used) + if(!hud_used) return - if(hud_used.bloodpool_icon) - var/emm = clamp(round((bloodpool/maxbloodpool)*10), 0, 10) - hud_used.bloodpool_icon.icon_state = "blood[emm]" + hud_used.bloodpool_icon?.update_icon() -#undef ui_living_bloodpool +#undef UI_LIVING_BLOODPOOL diff --git a/modular_darkpack/modules/blood_drinking/code/overfeeding/diablerie/adjust_generation.dm b/modular_darkpack/modules/blood_drinking/code/overfeeding/diablerie/adjust_generation.dm index 42a6c8697911..b8a2bde5ec3e 100644 --- a/modular_darkpack/modules/blood_drinking/code/overfeeding/diablerie/adjust_generation.dm +++ b/modular_darkpack/modules/blood_drinking/code/overfeeding/diablerie/adjust_generation.dm @@ -8,4 +8,4 @@ new_generation = max(generation - 1, MAX_TRUSTED_GENERATION) kindred.set_generation(new_generation) - client.prefs.write_preference_midround(GLOB.preference_entries[/datum/preference/numeric/generation], new_generation) + write_preference_midround(/datum/preference/numeric/generation, new_generation) diff --git a/modular_darkpack/modules/blood_drinking/code/overfeeding/diablerie/make_diablerist.dm b/modular_darkpack/modules/blood_drinking/code/overfeeding/diablerie/make_diablerist.dm index f10fcb5d7931..df28216398a2 100644 --- a/modular_darkpack/modules/blood_drinking/code/overfeeding/diablerie/make_diablerist.dm +++ b/modular_darkpack/modules/blood_drinking/code/overfeeding/diablerie/make_diablerist.dm @@ -1,8 +1,5 @@ /mob/living/carbon/human/proc/make_diablerist() - if(!client?.prefs) - return - - client.prefs.write_preference_midround(GLOB.preference_entries[/datum/preference/toggle/diablerist], TRUE) + write_preference_midround(/datum/preference/toggle/diablerist, TRUE) ADD_TRAIT(src, TRAIT_DIABLERIE, TRAIT_DIABLERIE) SEND_SIGNAL(src, COMSIG_MOB_UPDATE_AURA) diff --git a/modular_darkpack/modules/cars/code/car.dm b/modular_darkpack/modules/cars/code/car.dm index 55abdd49f099..f5a83940f720 100644 --- a/modular_darkpack/modules/cars/code/car.dm +++ b/modular_darkpack/modules/cars/code/car.dm @@ -672,6 +672,8 @@ return if(user.IsUnconscious() || HAS_TRAIT(user, TRAIT_INCAPACITATED) || HAS_TRAIT(user, TRAIT_RESTRAINED)) return + if(!ISADVANCEDTOOLUSER(user)) + return var/turn_speed = min(abs(speed_in_pixels) / 10, 3) switch(direction) if(NORTH) diff --git a/modular_darkpack/modules/cars/code/car_actions.dm b/modular_darkpack/modules/cars/code/car_actions.dm index 15c9c0771f7a..7d4ea543c544 100644 --- a/modular_darkpack/modules/cars/code/car_actions.dm +++ b/modular_darkpack/modules/cars/code/car_actions.dm @@ -88,6 +88,9 @@ to_chat(owner, span_danger("You don't know what you're doing!")) return FALSE + if(!ISADVANCEDTOOLUSER(clicker)) + return + var/obj/darkpack_car/owned_car = owner.loc if(!owned_car.on) if((owned_car.get_integrity() == owned_car.max_integrity) || (prob(100*(owned_car.get_integrity()/owned_car.max_integrity)))) diff --git a/modular_darkpack/modules/city_traits/code/positive_traits.dm b/modular_darkpack/modules/city_traits/code/positive_traits.dm index 4fa6ecac98cf..16406a2f10fc 100644 --- a/modular_darkpack/modules/city_traits/code/positive_traits.dm +++ b/modular_darkpack/modules/city_traits/code/positive_traits.dm @@ -17,5 +17,4 @@ /datum/station_trait/full_moon/on_round_start() . = ..() - GLOB.moon_state = "Full" set_starlight(null, GLOB.starlight_range*1.2, GLOB.starlight_power*1.2) diff --git a/modular_darkpack/modules/decor/code/decor.dm b/modular_darkpack/modules/decor/code/decor.dm index 216db9d025fe..9e2303d42538 100644 --- a/modular_darkpack/modules/decor/code/decor.dm +++ b/modular_darkpack/modules/decor/code/decor.dm @@ -640,22 +640,6 @@ icon = 'modular_darkpack/modules/deprecated/icons/64x64.dmi' icon_state = "kover" -/obj/were_ice - name = "ice block" - desc = "Stores some precious organs..." - icon = 'modular_darkpack/modules/deprecated/icons/werewolf_lupus.dmi' - icon_state = "ice_man" - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF - -/obj/were_ice/lupus - icon_state = "ice_wolf" - -/obj/were_ice/crinos - icon = 'modular_darkpack/modules/deprecated/icons/werewolf.dmi' - icon_state = "ice" - pixel_w = -8 - - /obj/structure/bury_pit name = "bury pit" desc = "You can bury someone here." diff --git a/modular_darkpack/modules/deprecated/icons/48x48.dmi b/modular_darkpack/modules/deprecated/icons/48x48.dmi index 91e622fc89a115f7e422aa875e2c0e52eadaabeb..b36897ceb1b9f389c36c42bfa26e8cbe44faa08b 100644 GIT binary patch literal 8601 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 diff --git a/modular_darkpack/modules/deprecated/icons/radio.dmi b/modular_darkpack/modules/deprecated/icons/radio.dmi deleted file mode 100644 index 4b1cc0088ecfa08ae353bda472e2efb7fbf0d25f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2580 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 G5B~#QX3SOq diff --git a/modular_darkpack/modules/deprecated/icons/werewolf_abilities.dmi b/modular_darkpack/modules/deprecated/icons/werewolf_abilities.dmi deleted file mode 100644 index 76eb03fbdf60a1203b672750df88ac4f390e063c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7827 zcmZvBWmJ?=7w&myhDN$Wh7Jkob_VHAr9>J81f&#@7*axMB_#x<6p)aXK|s2Z5CjCI zrIlu`-}n8w>#qCfIeYCt=dAra`|Pv#i8atuzedbN3;?*Msi9&70QAoUi-hohIGd+o z_iqU^&@oZPVzK|sK>Kdds;mvP zrBF(od_we$Y6Q zGQVws7L(^->FDcu?rZXIM+*~n6%lSe25MJN8TrAovVSLle2w&s0eW@X>7ShvXkzB8 z;^<@V?efUi#nS@-|C|?h`aR}uk}6cTebLxa`o8*IJ2}6n;1n;+&6tj|72W41V{I*` z6n>9xLRTz$<&jL9XE#beG|&2Lcj#~jo_Wd2{_)A9C#W2$EX$Gp%DfJKq)Um5jRT_fQY*GU#)u_d9Ho``pH-e5_z zd8M36#?;MHYI$HJDz6m7O13Xkin{AXdG`;q_cLQU-vZuq*@_GPfHx;i@^hm*b+lRc zgzS_RIX|g8kK8*|yUq zJYczB)Zm1c820#YW2V^7X9~D6_r3)o`k?l>rMG*$C2Gl?;O-Q=J(U{v_VE_P?ua46Ox@_lW9PJ z`LlRmWk1+6()|(hyzgtT)qK>uSch-uRs@)WVOg(3d-mMGo-M3wO_8e46~c0H+Psmj zG04Lahb2Rg3VxBIIr+9EmKek!hPTb#l-X=qzlktL;Hxk~b>SKP5=w!9jdn&~Ch}Mh z(g2bd#eqxRBbN|-)TojIBf2<+2TrFxaU$ID4nBU!Xe4m@As_H_ffje(>90e17{WFzs6fNCCN_~1;?&p}!Qo&Q6>T3;)Up#8lv<}?qV5`!M3 zV9>lUTF3&=`Ct{~Xqwwkb4dhpp$t55CyG-ybYgEL*yq75{&xJZBVAb;2XG>B(g8QK zJ;WP8QGs}LA;R$_z#3z~i2)~sm|jKcj&M+pUgZP^0DIUk!*M*n#*i4haPrMer^u|{ z7v;^}x>XpY|8Xm%;UwlIUkjum1anQ8!bJB0u-M(Bk!2MN@uh>rrXN|mULw1^llx=G;OvA|Km3~Tp;x^M1Y$7lm-HuK&c21)A@>dodnoz znT60|Vn7}LL^d3=BuqcjqJu{X=)y(e7)jnI)@8!fxk`ShzlF!OZ;l#;$QK(N2Wha# zr0CAO>MArK)61W@z`P-A<8>TY|7$?e^*ovtp7a8uU$bRQZ_#VNp?GX;RHSf?Q0xmv z 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 diff --git a/modular_darkpack/modules/deprecated/sounds/werewolf_fall.ogg b/modular_darkpack/modules/deprecated/sounds/werewolf_fall.ogg deleted file mode 100644 index 6ea5225344aae9a458ffaf01cac324f19256142b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16895 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:>@PMdF&hL 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 Sva#_f@BFx!K@x5p0sa@uJpbqb diff --git a/modular_darkpack/modules/doors/code/keys/keys.dm b/modular_darkpack/modules/doors/code/keys/keys.dm index 1cec601ec2e4..4a1976b572a8 100644 --- a/modular_darkpack/modules/doors/code/keys/keys.dm +++ b/modular_darkpack/modules/doors/code/keys/keys.dm @@ -368,7 +368,7 @@ LOCKACCESS_POLICE_CAPTAIN ) -//===========================GAROU KEYS=========================== +//===========================FERA KEYS=========================== /obj/item/vamp/keys/nps name = "\improper Park Service keys" diff --git a/modular_darkpack/modules/frenzy/code/frenzy.dm b/modular_darkpack/modules/frenzy/code/frenzy.dm index 0c92e39d15a0..a40a5a9fcc7a 100644 --- a/modular_darkpack/modules/frenzy/code/frenzy.dm +++ b/modular_darkpack/modules/frenzy/code/frenzy.dm @@ -12,7 +12,7 @@ /mob/living/carbon/proc/rollfrenzy() if(client) - if(isgarou(src) || iswerewolf(src)) + if(isgarou(src)) to_chat(src, "I'm full of [span_danger("ANGER")], and I'm about to flare up in [span_danger("RAGE")]. Rolling...") else if(iskindred(src)) to_chat(src, "I need [span_danger("BLOOD")]. The [span_danger("BEAST")] is calling. Rolling...") diff --git a/modular_darkpack/modules/guestbook/code/human_helpers.dm b/modular_darkpack/modules/guestbook/code/human_helpers.dm index da8d60536b37..193fd0198676 100644 --- a/modular_darkpack/modules/guestbook/code/human_helpers.dm +++ b/modular_darkpack/modules/guestbook/code/human_helpers.dm @@ -7,6 +7,9 @@ visible_gender = "Woman" else visible_gender = "Person" + if(dna?.species.visible_gender_override) + visible_gender = dna.species.visible_gender_override + return visible_gender /mob/living/carbon/human/proc/get_age() diff --git a/modular_darkpack/modules/jobs/code/clinic/doctor.dm b/modular_darkpack/modules/jobs/code/clinic/doctor.dm index ba3411275641..175e8f57871f 100644 --- a/modular_darkpack/modules/jobs/code/clinic/doctor.dm +++ b/modular_darkpack/modules/jobs/code/clinic/doctor.dm @@ -16,7 +16,7 @@ ) description = "Help your fellow kindred in all matters medicine related. Sell blood. Keep your human colleagues ignorant." - allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_NONE) + allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_KINFOLK, SPLAT_NONE) allowed_clans = list(VAMPIRE_CLAN_DAUGHTERS_OF_CACOPHONY, VAMPIRE_CLAN_SALUBRI, VAMPIRE_CLAN_BAALI, VAMPIRE_CLAN_BRUJAH, VAMPIRE_CLAN_TREMERE, VAMPIRE_CLAN_VENTRUE, VAMPIRE_CLAN_NOSFERATU, VAMPIRE_CLAN_GANGREL, VAMPIRE_CLAN_CITY_GANGREL, VAMPIRE_CLAN_TOREADOR, VAMPIRE_CLAN_MALKAVIAN, VAMPIRE_CLAN_BANU_HAQIM, VAMPIRE_CLAN_GIOVANNI, VAMPIRE_CLAN_SETITE, VAMPIRE_CLAN_TZIMISCE, VAMPIRE_CLAN_LASOMBRA, VAMPIRE_CLAN_CAITIFF, VAMPIRE_CLAN_KIASYD) known_contacts = list("Clinic Director") diff --git a/modular_darkpack/modules/jobs/code/miscelllaneous/citizen.dm b/modular_darkpack/modules/jobs/code/miscelllaneous/citizen.dm index 0f258c5a8cc8..cd42710a762d 100644 --- a/modular_darkpack/modules/jobs/code/miscelllaneous/citizen.dm +++ b/modular_darkpack/modules/jobs/code/miscelllaneous/citizen.dm @@ -10,7 +10,7 @@ display_order = JOB_DISPLAY_ORDER_CITIZEN department_for_prefs = /datum/job_department/citizen job_flags = CITY_JOB_FLAGS - allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_NONE) + allowed_splats = SPLAT_ALL minimal_masquerade = 0 alt_titles = list( "Citizen", diff --git a/modular_darkpack/modules/jobs/code/miscelllaneous/club_worker.dm b/modular_darkpack/modules/jobs/code/miscelllaneous/club_worker.dm index 1f4bd2e2b0fb..8b164064836d 100644 --- a/modular_darkpack/modules/jobs/code/miscelllaneous/club_worker.dm +++ b/modular_darkpack/modules/jobs/code/miscelllaneous/club_worker.dm @@ -22,7 +22,7 @@ "Club Attendant" ) - allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_NONE) + allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_KINFOLK, SPLAT_NONE) description = "Offer strip club services. Some of your clientele may be... Unusual, but you are either addicted to vampire bites, or bribed to listen little and say even less." minimal_masquerade = 3 diff --git a/modular_darkpack/modules/jobs/code/miscelllaneous/janitor.dm b/modular_darkpack/modules/jobs/code/miscelllaneous/janitor.dm index b62c79369605..6a438be49119 100644 --- a/modular_darkpack/modules/jobs/code/miscelllaneous/janitor.dm +++ b/modular_darkpack/modules/jobs/code/miscelllaneous/janitor.dm @@ -7,7 +7,7 @@ config_tag = "JANITOR" outfit = /datum/outfit/job/vampire/janitor job_flags = CITY_JOB_FLAGS - allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_NONE) + allowed_splats = SPLAT_ALL department_for_prefs = /datum/job_department/city_services departments_list = list( /datum/job_department/city_services, diff --git a/modular_darkpack/modules/jobs/code/miscelllaneous/taxi.dm b/modular_darkpack/modules/jobs/code/miscelllaneous/taxi.dm index 1263de38b5c9..1c79a17dc28b 100644 --- a/modular_darkpack/modules/jobs/code/miscelllaneous/taxi.dm +++ b/modular_darkpack/modules/jobs/code/miscelllaneous/taxi.dm @@ -13,7 +13,7 @@ departments_list = list( /datum/job_department/city_services, ) - allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_NONE) + allowed_splats = SPLAT_ALL description = "Drive people in the city." minimal_masquerade = 0 diff --git a/modular_darkpack/modules/jobs/code/pentex/branch_lead.dm b/modular_darkpack/modules/jobs/code/pentex/branch_lead.dm index f7a3b363d1a0..8866004027d0 100644 --- a/modular_darkpack/modules/jobs/code/pentex/branch_lead.dm +++ b/modular_darkpack/modules/jobs/code/pentex/branch_lead.dm @@ -23,7 +23,7 @@ "Endron Operations Director" ) - allowed_splats = list(SPLAT_GAROU, SPLAT_KINDRED, SPLAT_NONE) + allowed_splats = SPLAT_ALL // allowed_tribes = list(TRIBE_WYRM, TRIBE_RONIN) allowed_clans = VAMPIRE_CLAN_ALL minimal_masquerade = 5 diff --git a/modular_darkpack/modules/jobs/code/pentex/employee.dm b/modular_darkpack/modules/jobs/code/pentex/employee.dm index e4d2e9f84813..bbaa327790b3 100644 --- a/modular_darkpack/modules/jobs/code/pentex/employee.dm +++ b/modular_darkpack/modules/jobs/code/pentex/employee.dm @@ -24,7 +24,7 @@ "Endron Labourer" ) - allowed_splats = list(SPLAT_GAROU, SPLAT_KINDRED, SPLAT_NONE) + allowed_splats = SPLAT_ALL // allowed_tribes = list(TRIBE_WYRM, TRIBE_RONIN) allowed_clans = VAMPIRE_CLAN_ALL minimal_masquerade = 3 diff --git a/modular_darkpack/modules/jobs/code/pentex/sec.dm b/modular_darkpack/modules/jobs/code/pentex/sec.dm index 1c47b7e99420..b4050511b35c 100644 --- a/modular_darkpack/modules/jobs/code/pentex/sec.dm +++ b/modular_darkpack/modules/jobs/code/pentex/sec.dm @@ -16,7 +16,7 @@ job_flags = CITY_JOB_FLAGS outfit = /datum/outfit/job/vampire/pentex_sec - allowed_splats = list(SPLAT_GAROU, SPLAT_KINDRED, SPLAT_NONE) + allowed_splats = SPLAT_ALL // allowed_tribes = list(TRIBE_WYRM, TRIBE_RONIN) allowed_clans = VAMPIRE_CLAN_ALL minimal_masquerade = 3 diff --git a/modular_darkpack/modules/jobs/code/police/dispatcher.dm b/modular_darkpack/modules/jobs/code/police/dispatcher.dm index f70beb09462a..acb7beffbd85 100644 --- a/modular_darkpack/modules/jobs/code/police/dispatcher.dm +++ b/modular_darkpack/modules/jobs/code/police/dispatcher.dm @@ -15,8 +15,8 @@ /datum/job_department/clinic, ) - allowed_splats = list(SPLAT_GHOUL, SPLAT_NONE) - splat_slots = list(SPLAT_GHOUL = 1) + allowed_splats = list(SPLAT_GHOUL, SPLAT_KINFOLK, SPLAT_NONE) + splat_slots = list(SPLAT_GHOUL = 1, SPLAT_KINFOLK = 1) description = "Report emergencies to the correct emergency service." minimal_masquerade = 0 diff --git a/modular_darkpack/modules/jobs/code/police/police.dm b/modular_darkpack/modules/jobs/code/police/police.dm index a4b46d3ed98a..83bf746e995a 100644 --- a/modular_darkpack/modules/jobs/code/police/police.dm +++ b/modular_darkpack/modules/jobs/code/police/police.dm @@ -20,8 +20,8 @@ "Senior Police Officer", ) - allowed_splats = list(SPLAT_GHOUL, SPLAT_NONE) - splat_slots = list(SPLAT_GHOUL = 2) + allowed_splats = list(SPLAT_GHOUL, SPLAT_KINFOLK, SPLAT_NONE) + splat_slots = list(SPLAT_GHOUL = 2, SPLAT_KINFOLK = 2) description = "Enforce the Law." minimal_masquerade = 0 diff --git a/modular_darkpack/modules/jobs/code/supply/supply_tech.dm b/modular_darkpack/modules/jobs/code/supply/supply_tech.dm index c9a0618cb838..be165fdae7e1 100644 --- a/modular_darkpack/modules/jobs/code/supply/supply_tech.dm +++ b/modular_darkpack/modules/jobs/code/supply/supply_tech.dm @@ -15,7 +15,7 @@ /datum/job_department/supply, ) - allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_NONE) + allowed_splats = SPLAT_ALL description = "You work at the warehouse, moving boxes and selling not-quite legal goods to anyone who has the money." minimal_masquerade = 0 diff --git a/modular_darkpack/modules/masquerade/code/components/violation_observer.dm b/modular_darkpack/modules/masquerade/code/components/violation_observer.dm index e131be0a0e52..a02ea128cd51 100644 --- a/modular_darkpack/modules/masquerade/code/components/violation_observer.dm +++ b/modular_darkpack/modules/masquerade/code/components/violation_observer.dm @@ -63,21 +63,18 @@ breached_players -= player_breacher /atom/proc/observe_masquerade_violation(player_breacher) - /* // DARKPACK TODO - GAROU - if(isgarou(player_breacher) || iswerewolf(player_breacher)) + do_alert_animation() + if(iswerewolfsplat(player_breacher)) to_chat(player_breacher, span_userdanger(span_bold("VEIL VIOLATION"))) - SEND_SOUND(player_breacher, sound('code/modules/wod13/sounds/veil_violation.ogg', volume = 75)) + playsound(player_breacher, 'modular_darkpack/modules/masquerade/sound/veil_violation.ogg', 50, FALSE, -5) return - */ playsound(player_breacher, 'modular_darkpack/modules/masquerade/sound/masquerade_violation.ogg', 50, FALSE, -5) to_chat(player_breacher, span_userdanger(span_bold("MASQUERADE VIOLATION"))) /atom/proc/observe_masquerade_reinforce(player_breacher) - /* // DARKPACK TODO - GAROU - if(isgarou(player_breacher) || iswerewolf(player_breacher)) - SEND_SOUND(player_breacher, sound('code/modules/wod13/sounds/humanity_gain.ogg', volume = 75)) - to_chat(player_breacher, span_big(span_boldnicegreen("VEIL REINFORCEED"))) + if(iswerewolfsplat(player_breacher)) + to_chat(player_breacher, span_big(span_boldnicegreen("VEIL REINFORCED"))) + playsound(player_breacher, 'modular_darkpack/modules/masquerade/sound/humanity_gain.ogg', 50, FALSE, -5) return - */ to_chat(player_breacher, span_big(span_boldnicegreen("MASQUERADE REINFORCED"))) playsound(player_breacher, 'modular_darkpack/modules/masquerade/sound/masquerade_reinforce.ogg', 50, FALSE, -5) diff --git a/modular_darkpack/modules/masquerade/code/masquerade_contract.dm b/modular_darkpack/modules/masquerade/code/masquerade_contract.dm index 9cc5010d2339..48c2106f68eb 100644 --- a/modular_darkpack/modules/masquerade/code/masquerade_contract.dm +++ b/modular_darkpack/modules/masquerade/code/masquerade_contract.dm @@ -13,9 +13,9 @@ fire = 100 acid = 100 -/obj/item/masquerade_contract/attack_self(mob/user) +/obj/item/masquerade_contract/attack_self(mob/user, modifiers) . = ..() - if(!iskindred(user) && !isghoul(user)) + if(!isvampiresplat(user)) return var/turf/current_location = get_turf(user) to_chat(user, "[span_bold("YOU")], [get_area_name(user)] X:[current_location.x] Y:[current_location.y] Z:[current_location.z]") @@ -42,10 +42,9 @@ armor_type = /datum/armor/masquerade_contract resistance_flags = FIRE_PROOF | ACID_PROOF -/* // DARKPACK TODO - GAROU -/obj/item/veil_contract/attack_self(mob/user) +/obj/item/veil_contract/attack_self(mob/user, modifiers) . = ..() - if(!isgarou(user)) + if(!iswerewolfsplat(user)) return var/turf/current_location = get_turf(user) to_chat(user, "[span_bold("YOU")], [get_area_name(user)] X:[current_location.x] Y:[current_location.y] Z:[current_location.z]") @@ -60,4 +59,3 @@ if(!GLOB.veil_breakers_list) to_chat(user, span_info("No available Veil breakers in city...")) -*/ diff --git a/modular_darkpack/modules/masquerade/code/subsystem/masquerade.dm b/modular_darkpack/modules/masquerade/code/subsystem/masquerade.dm index 239d4f3c7ad2..962d799ef944 100644 --- a/modular_darkpack/modules/masquerade/code/subsystem/masquerade.dm +++ b/modular_darkpack/modules/masquerade/code/subsystem/masquerade.dm @@ -5,7 +5,10 @@ SUBSYSTEM_DEF(masquerade) var/masquerade_level = MASQUERADE_MAX_LEVEL var/list/masquerade_breachers var/static/regex/masquerade_breaching_phrase_regex + + // The round is soon to be declared ending. Scarey sounds during this. var/ending = FALSE + var/roundend_started = FALSE /datum/controller/subsystem/masquerade/Initialize() masquerade_breachers = new() @@ -67,21 +70,15 @@ SUBSYSTEM_DEF(masquerade) . = TRUE break if(player_breacher.masquerade_score == 5) //Doesn't matter if they weren't in one of these lists. - // DARKPACK TODO - GAROU - //GLOB.veil_breakers_list -= player_breacher + GLOB.veil_breakers_list -= player_breacher GLOB.masquerade_breakers_list -= player_breacher - /* // DARKPACK TODO - GAROU - if(isgarou(player_breacher) || iswerewolf(player_breacher)) - var/random_renown = pick("Honor","Wisdom","Glory") - switch(random_renown) - if("Honor") - player_breacher.adjust_renown("honor", -1, vessel = player_breacher) - if("Glory") - player_breacher.adjust_renown("glory", -1, vessel = player_breacher) - if("Wisdom") - player_breacher.adjust_renown("wisdom", -1, vessel = player_breacher) + /* + var/datum/splat/werewolf/werewolf_splat = iswerewolfsplat(player_breacher) + if(istype(werewolf_splat)) + werewolf_splat.adjust_renown(pick(RENOWN_HONOR, RENOWN_GLORY, RENOWN_WISDOM), 1) */ + save_persistent_masquerade(player_breacher) return . @@ -99,14 +96,20 @@ SUBSYSTEM_DEF(masquerade) return player_breacher.masquerade_score = max(0, player_breacher.masquerade_score - 1) masquerade_breachers += list(list(player_breacher, source, reason)) - // DARKPACK TODO - GAROU - //if(isgarou(player_breacher) || iswerewolf(player_breacher)) - // GLOB.veil_breakers_list |= player_breacher - //else - GLOB.masquerade_breakers_list |= player_breacher + if(isvampiresplat(player_breacher)) + GLOB.masquerade_breakers_list |= player_breacher + else if(iswerewolfsplat(player_breacher)) + GLOB.veil_breakers_list |= player_breacher //Only lower the global masq if the player's breach score is actually reduced by 1 if(pre_breach_score > player_breacher.masquerade_score) masquerade_level = max(0, masquerade_level - 1) + + /* + var/datum/splat/werewolf/werewolf_splat = iswerewolfsplat(player_breacher) + if(istype(werewolf_splat)) + werewolf_splat.adjust_renown(pick(RENOWN_HONOR, RENOWN_GLORY, RENOWN_WISDOM), -1) + */ + save_persistent_masquerade(player_breacher) check_roundend_condition() @@ -117,10 +120,10 @@ SUBSYSTEM_DEF(masquerade) // Save the player's masquerade level to their character sheet. /datum/controller/subsystem/masquerade/proc/save_persistent_masquerade(mob/living/player_breacher) - var/datum/preferences/preferences = GLOB.preferences_datums[ckey(player_breacher.key)] - if(preferences) - preferences.write_preference_midround(GLOB.preference_entries[/datum/preference/numeric/masquerade], player_breacher.masquerade_score) - preferences.save_character() + var/mob/living/carbon/human/human_breacher = player_breacher + if(!istype(human_breacher)) + return + human_breacher.write_preference_midround(/datum/preference/numeric/masquerade, player_breacher.masquerade_score) // This is for clearing the round's masquerade because a player matrix'd /datum/controller/subsystem/masquerade/proc/matrix_masquerade_breacher(mob/living/player_breacher, update_preferences) @@ -128,28 +131,21 @@ SUBSYSTEM_DEF(masquerade) if((player_breacher in masquerade_breach)) masquerade_breachers -= list(masquerade_breach) masquerade_level = min(MASQUERADE_MAX_LEVEL, masquerade_level + 1) - // DARKPACK TODO - GAROU - //if(isgarou(player_breacher) || iswerewolf(player_breacher)) - // GLOB.veil_breakers_list -= player_breacher - //else GLOB.masquerade_breakers_list -= player_breacher + GLOB.veil_breakers_list -= player_breacher if(update_preferences) save_persistent_masquerade(player_breacher) // This is for checking if a joined player should be on the breachers list. /datum/controller/subsystem/masquerade/proc/masquerade_breacher_check(mob/living/player_breacher) if(player_breacher.masquerade_score < 5) - // DARKPACK TODO - GAROU - //if(isgarou(player_breacher) || iswerewolf(player_breacher)) - // GLOB.veil_breakers_list |= player_breacher - //else - GLOB.masquerade_breakers_list |= player_breacher + if(isvampiresplat(player_breacher)) + GLOB.masquerade_breakers_list |= player_breacher + else if(iswerewolfsplat(player_breacher)) + GLOB.veil_breakers_list |= player_breacher else - // DARKPACK TODO - GAROU - //if(isgarou(player_breacher) || iswerewolf(player_breacher)) - // GLOB.veil_breakers_list -= player_breacher - //else GLOB.masquerade_breakers_list -= player_breacher + GLOB.veil_breakers_list -= player_breacher /datum/controller/subsystem/masquerade/proc/player_masquerade_reinforce(datum/source, mob/living/player_breacher) SIGNAL_HANDLER @@ -184,10 +180,6 @@ SUBSYSTEM_DEF(masquerade) else var/atom/object = masquerade_breach_list[2] SEND_SIGNAL(object, COMSIG_ALL_MASQUERADE_REINFORCE) - SSticker.force_ending = 1 - SSticker.current_state = GAME_STATE_FINISHED + GLOB.canon_event = FALSE - toggle_ooc(TRUE) // Turn it on - toggle_dooc(TRUE) - SSticker.declare_completion(SSticker.force_ending) - Master.SetRunLevel(RUNLEVEL_POSTGAME) + roundend_started = TRUE diff --git a/modular_darkpack/modules/masquerade/sound/humanity_gain.ogg b/modular_darkpack/modules/masquerade/sound/humanity_gain.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7e11eef24cd903d8788a6e9faf5bec0f4d9e4120 GIT binary patch literal 11890 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 literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/masquerade/sound/veil_violation.ogg b/modular_darkpack/modules/masquerade/sound/veil_violation.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b859541f6df9e26f68a86c1a8e563efab9048197 GIT binary patch literal 43595 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 1) to_chat(owner, span_warning("Commands must be only ONE word!")) return FALSE diff --git a/modular_darkpack/modules/powers/code/discipline/presence/presence.dm b/modular_darkpack/modules/powers/code/discipline/presence/presence.dm index b163a3ddf920..aed2b15ab46b 100644 --- a/modular_darkpack/modules/powers/code/discipline/presence/presence.dm +++ b/modular_darkpack/modules/powers/code/discipline/presence/presence.dm @@ -49,14 +49,14 @@ target.apply_overlay(MUTATIONS_LAYER) SEND_SOUND(target, sound('modular_darkpack/modules/powers/sounds/presence_activate.ogg')) - // resist presence button - note to self, in the future, v20 states that the resister must continue to spend willpower if in the presence of the vamp + // resist presence button - note to self, in the future, V20 states that the resister must continue to spend willpower if in the presence of the vamp var/datum/action/resist_presence/resist_action = new(target) resist_action.Grant(target) // remove the action after 20 seconds addtimer(CALLBACK(resist_action, TYPE_PROC_REF(/datum/action, Remove), target), resist_timer) -//used in awe - v20 book states that awe affects the targets of lowest willpower first if affecting multiple targets. +//used in awe - V20 book states that awe affects the targets of lowest willpower first if affecting multiple targets. /datum/discipline_power/presence/proc/sort_targets_by_willpower(list/targets) var/list/sorted = list() for(var/mob/living/carbon/target in targets) @@ -149,7 +149,7 @@ to_chat(owner, span_warning("There is no one around to be awed by your presence.")) return - var/list/target_counts = list(1, 2, 6, 20, length(potential_targets)) //v20 core rulebook presence -> awe + var/list/target_counts = list(1, 2, 6, 20, length(potential_targets)) //V20 core rulebook presence -> awe var/targets_to_affect = target_counts[clamp(successes, 1, 5)] potential_targets = sort_targets_by_willpower(potential_targets) @@ -186,7 +186,7 @@ multi_activate = TRUE cooldown_length = 15 SECONDS duration_length = 10 SECONDS - vitae_cost = 1 //no mention of literally any cost for using this in v20 + vitae_cost = 1 //no mention of literally any cost for using this in V20 var/successes = 0 @@ -211,7 +211,7 @@ to_chat(target, span_userdanger("Overwhelming dread fills you! You must get away from [owner]!")) to_chat(owner, span_warning("Your terrifying presence sends [target] fleeing in terror!")) - //v20's 'dread gaze' section states that with 3 or more successes targets will find themselves scratching at the walls or fleeing against their will because they are so terrified. + //V20's 'dread gaze' section states that with 3 or more successes targets will find themselves scratching at the walls or fleeing against their will because they are so terrified. //var/datum/cb = CALLBACK(target, TYPE_PROC_REF(/mob/living/carbon/human, step_away_caster), owner) //for(var/i in 1 to 30) //addtimer(cb, (i - 1) * target.total_multiplicative_slowdown()) @@ -314,7 +314,7 @@ var/location_info = "[get_area_name(owner_turf)], X:[owner_turf.x] Y:[owner_turf.y] Z:[owner_turf.z]" to_chat(summon_target, span_yellowteamradio("[owner.real_name] is summoning you to their location. [owner.real_name] is currently at [location_info]")) - //v20 presence -> 'summon' section for this flavortext + //V20 presence -> 'summon' section for this flavortext var/list/flavor_texts = list( "You feel a faint pull towards [owner.real_name], approaching slowly and hesitantly.", "You feel reluctantly compelled to seek out [owner.real_name], though obstacles easily deter you.", diff --git a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/path_of_blood.dm b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/path_of_blood.dm index 172e5df29b76..207df790feff 100644 --- a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/path_of_blood.dm +++ b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/path_of_blood.dm @@ -153,7 +153,7 @@ /datum/discipline_power/thaumaturgy/cauldron_of_blood ) -// "Each success forces the subject to spend one blood point immediately in the way the caster desires" -v20 Core Rulebook +// "Each success forces the subject to spend one blood point immediately in the way the caster desires" -V20 Core Rulebook /datum/discipline_power/thaumaturgy/blood_rage/activate(mob/living/carbon/human/target) if(..()) return diff --git a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/paths/lure_of_flames.dm b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/paths/lure_of_flames.dm index 8e1acc28c04c..229b155b58c6 100644 --- a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/paths/lure_of_flames.dm +++ b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/paths/lure_of_flames.dm @@ -14,7 +14,7 @@ var/range_successes var/flames_range -//v20 core rulebook states that lure of flames can only conjure flames so far depending on successes. +//V20 core rulebook states that lure of flames can only conjure flames so far depending on successes. /datum/discipline_power/thaumaturgy/path/flames/pre_activation_checks(atom/target, ranged) . = ..() if(src.ranged == FALSE) diff --git a/modular_darkpack/modules/powers/code/discipline_actions.dm b/modular_darkpack/modules/powers/code/discipline_actions.dm index 4e35d3a3b104..d94ef451dc99 100644 --- a/modular_darkpack/modules/powers/code/discipline_actions.dm +++ b/modular_darkpack/modules/powers/code/discipline_actions.dm @@ -1,6 +1,5 @@ /datum/action/discipline check_flags = NONE - background_icon = 'modular_darkpack/master_files/icons/mob/actions/backgrounds.dmi' background_icon_state = "bg_discipline" button_icon = 'modular_darkpack/modules/deprecated/icons/ui/actions.dmi' button_icon_state = "bloodheal" diff --git a/modular_darkpack/modules/powers/icons/auras.dmi b/modular_darkpack/modules/powers/icons/auras.dmi index 2ef96f58195efeb43af16f57ecc981c9c74ff321..136a1e6ad2b65edd5636aec2e7492e32ea5b8d3c 100644 GIT binary patch literal 28521 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 literal 1570 zcmV+-2Hp9IP)V=-0C)j~j=KtkFc1Li>{l$>ANR1m=1>j`{fE^=v)}`gRe#^8m4(>Nz!VeX zFZ<^urbQ03ah}HkznDCppcd9*gM8kgtl`$mAznyKz=$SC5h%^h2TedVj(W543r00mx2L_t(|+U=V`Qd=<$hVwWDt8RJ^CNsSR zs}2{Ti*k`pS6qUb4EJEu6{mpaWq8zaWLdH;>81I-Nl0RUvfgi7md&(5x#%)!E4;nE zy_deby1JUUdffNm$M7c!Y_79mhj0N9^KS>&pC^&D2>P$X0m5c=6k6% zHU()6sHH){_vf>R5z@wMQ&1`ONjU&~U%p5HoDmW@rSQ@S0Nc`PmDY+DBe+{Hl0y*i{rSZU1C*k)ciJ@f z*}#wCv#Q%Pl$LXC@Z^oZ$QN zRqEs}Ge|loX&ZcBK6@>>_imatr~%)fFEXk%A{|k{x8;X*3}qc<+U<51?*s@yQEqN- zj@G5;=V#Yh1pKjlu>f+g6u#8!H57asJ}CgIQfh#Er@5et8z$nFXM$GR^?St>j zKN3KX%A`hc?Sk*mCk0>?*rWzf#(?k7{}jMTcuQO0$MDVa0M=>-e+>U<2Cxh~($6Rk z_%VDl0Z<7GF315thF@F)BnGuawbH2xd>?+Z0Hj-%9H^-WzCE860N1!i$@%Xjb;0-H zs|BzqQ@Uog?sviW;h!XeYExCIK~AZf960#Ce0CQwVye=p5`2GtbsNZiPAOE=X(ji!rUwk2Cq%pO&!S~}I1kk!yZBe>3*a6>%|0w{E zg9xeN;QR4SVgMY)o)3Tcoj}w-ulj5dxD<aupc3BE6%y%yf9$d-IH_`dw=Hqbk53BE5M{~mtf1pjd;mM;L+a> zj(*v{{7M9H=gE(F@K(&0CE)O|7Xy-47ZF7BbLX!m257aTc?rlLKvd@=`Sa@krpk!6 0) roller.balloon_alert(player_mob, "[last_sucess_amount]", TRUE) diff --git a/modular_darkpack/modules/storyteller_dice/code/roll_subtypes.dm b/modular_darkpack/modules/storyteller_dice/code/roll_subtypes.dm index da9b36d83d51..1bfa854c810d 100644 --- a/modular_darkpack/modules/storyteller_dice/code/roll_subtypes.dm +++ b/modular_darkpack/modules/storyteller_dice/code/roll_subtypes.dm @@ -44,6 +44,18 @@ reroll_cooldown = 1 TURNS numerical = TRUE +// DARKPACK TODO - (Attacks need a rework on how they calcuate landing a hit.) +/datum/storyteller_roll/punch + bumper_text = "punch" + applicable_stats = list(STAT_DEXTERITY, STAT_BRAWL) + spammy_roll = TRUE + +/datum/storyteller_roll/damage + bumper_text = "damage" + applicable_stats = list(STAT_STRENGTH) + numerical = TRUE + spammy_roll = TRUE + // Mental Feats /datum/storyteller_roll/investigation bumper_text = "investigation" diff --git a/modular_darkpack/modules/storyteller_stats/code/logging.dm b/modular_darkpack/modules/storyteller_stats/code/logging.dm index cbb0f8b63597..6022c693cd5b 100644 --- a/modular_darkpack/modules/storyteller_stats/code/logging.dm +++ b/modular_darkpack/modules/storyteller_stats/code/logging.dm @@ -1,2 +1,8 @@ /proc/log_stats(text, list/data) logger.Log(LOG_CATEGORY_STATS, text, data) + +/datum/log_category/stats + category = LOG_CATEGORY_STATS + config_flag = /datum/config_entry/flag/log_stats + +/datum/config_entry/flag/log_stats diff --git a/modular_darkpack/modules/storyteller_stats/code/stat_pref_middleware.dm b/modular_darkpack/modules/storyteller_stats/code/stat_pref_middleware.dm index 135a2ae9c299..94421f8635bf 100644 --- a/modular_darkpack/modules/storyteller_stats/code/stat_pref_middleware.dm +++ b/modular_darkpack/modules/storyteller_stats/code/stat_pref_middleware.dm @@ -58,8 +58,8 @@ var/new_value = stat_path.get_score(include_bonus = FALSE) - var/log_text = "[key_name(user, TRUE, TRUE)] increased stat '[stat_path.name]' from [old_value] to [new_value]" - log_stats(log_text) + var/real_name = user.client.prefs.read_preference(/datum/preference/name/real_name) + user.log_message("increased stat '[stat_path.name]' from [old_value] to [new_value] on [real_name]", LOG_STATS) return TRUE /datum/preference_middleware/stats/proc/decrease_stat(list/params, mob/user) @@ -89,8 +89,8 @@ update_middleware_stats(preferences.preference_storyteller_stats) var/new_value = stat_path.get_score(include_bonus = FALSE) - var/log_text = "[key_name(user, TRUE, TRUE)] decreased stat '[stat_path.name]' from [old_value] to [new_value]" - log_stats(log_text) + var/real_name = user.client.prefs.read_preference(/datum/preference/name/real_name) + user.log_message("decreased stat '[stat_path.name]' from [old_value] to [new_value] on '[real_name]'", LOG_STATS) return TRUE /datum/preference_middleware/stats/proc/reset_stats(list/params, mob/user) @@ -100,8 +100,9 @@ to_chat(user, span_warning("You have to be in the main menu to adjust your stats.")) return FALSE - var/log_text = "[key_name(user, TRUE, TRUE)] reset all stats to default values" - log_stats(log_text) + var/real_name = user.client.prefs.read_preference(/datum/preference/name/real_name) + user.log_message("reset all stats to default values on '[real_name]'", LOG_STATS) + preferences.preference_storyteller_stats = null preferences.preference_storyteller_stats = create_new_stat_prefs(preferences.preference_storyteller_stats) return TRUE diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/kindred/torpor.dm b/modular_darkpack/modules/vampire_the_masquerade/code/kindred/torpor.dm index 64ba868c0fa3..861299439d40 100644 --- a/modular_darkpack/modules/vampire_the_masquerade/code/kindred/torpor.dm +++ b/modular_darkpack/modules/vampire_the_masquerade/code/kindred/torpor.dm @@ -14,6 +14,7 @@ var/torpor_time = (14 - morality_score) MINUTES COOLDOWN_START(vampirism, torpor_timer, torpor_time) // RegisterSignal(new_kindred, COMSIG_PATH_HIT, PROC_REF(adjust_morality)) + /mob/living/proc/cure_torpor(source, force) if(!HAS_TRAIT_FROM(src, TRAIT_TORPOR, source)) return diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clan_globals.dm b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clan_globals.dm index 864a5eb1dbbb..220d9e72d5f4 100644 --- a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clan_globals.dm +++ b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clan_globals.dm @@ -4,19 +4,12 @@ GLOBAL_LIST_INIT(vampire_clan_list, init_vampire_clan_list()) /proc/init_vampire_clan_list() var/list/clan_list = list() for (var/datum/vampire_clan/clan_type as anything in valid_subtypesof(/datum/vampire_clan)) - clan_list[initial(clan_type.name)] = clan_type + clan_list[clan_type::name] = clan_type clan_list = sort_list(clan_list) return clan_list /// Associative list of Clan typepaths to singletons -GLOBAL_LIST_INIT_TYPED(vampire_clans, /datum/vampire_clan, init_vampire_clans()) - -/proc/init_vampire_clans() - var/list/clan_list = list() - for (var/datum/vampire_clan/clan_type as anything in valid_subtypesof(/datum/vampire_clan)) - clan_list[clan_type] = new clan_type - clan_list = sort_list(clan_list) - return clan_list +GLOBAL_LIST_INIT_TYPED(vampire_clans, /datum/vampire_clan, init_subtypes_w_path_keys(/datum/vampire_clan, list())) /// All frenzied players GLOBAL_LIST_EMPTY(frenzy_list) diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clan_mark_pref.dm b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clan_mark_pref.dm index d18dbcf2eb41..90b12e5b1ca9 100644 --- a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clan_mark_pref.dm +++ b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clan_mark_pref.dm @@ -1,7 +1,7 @@ /datum/preference/external_choiced/clan_mark savefile_key = "clan_mark" savefile_identifier = PREFERENCE_CHARACTER - priority = PREFERENCE_PRIORITY_REQUIRES_CLAN + priority = PREFERENCE_PRIORITY_REQUIRES_SUBSPLAT category = PREFERENCE_CATEGORY_SECONDARY_FEATURES relevant_inherent_trait = TRAIT_VTM_CLANS diff --git a/modular_darkpack/modules/vitae/code/embracing.dm b/modular_darkpack/modules/vitae/code/embracing.dm index 742487125462..28452f65ff07 100644 --- a/modular_darkpack/modules/vitae/code/embracing.dm +++ b/modular_darkpack/modules/vitae/code/embracing.dm @@ -37,7 +37,7 @@ //addtimer(CALLBACK(childe, PROC_REF(embrace_persistence_confirmation)), 1 SECONDS) -/* // DARKPACK TODO - GAROU +/* // DARKPACK TODO - WEREWOLF /mob/living/carbon/human/proc/attempt_abomination_embrace(mob/living/carbon/human/childe, second_party_embrace) if(!(childe.auspice?.level)) //here be Abominations return diff --git a/modular_darkpack/modules/vitae/code/vitae.dm b/modular_darkpack/modules/vitae/code/vitae.dm index a89949c17021..6dbfc41182d8 100644 --- a/modular_darkpack/modules/vitae/code/vitae.dm +++ b/modular_darkpack/modules/vitae/code/vitae.dm @@ -14,7 +14,7 @@ var/datum/weakref/embracer_weakref = data["donor"] var/mob/living/carbon/human/embracer = embracer_weakref?.resolve() - //if(isgarou(victim)) //Are we a garou species? DARKPACK TODO - GAROU + //if(isgarou(victim)) //Are we a garou species? DARKPACK TODO - WEREWOLF // attempt_abomination_embrace(childe) // victim.rollfrenzy() // return diff --git a/modular_darkpack/modules/weapons/code/melee.dm b/modular_darkpack/modules/weapons/code/melee.dm index 679caad78a28..d4e078f62808 100644 --- a/modular_darkpack/modules/weapons/code/melee.dm +++ b/modular_darkpack/modules/weapons/code/melee.dm @@ -150,6 +150,7 @@ . = ..() AddComponent(/datum/component/selling, 600, "longsword", FALSE) +// "Keepers" derived from "my brother's keeper" are an epithet for Lasombra but this seems to be a wholly unqiue item not found in any book. /obj/item/claymore/longsword/keeper name = "The Brother's Keeper" desc = "The ancient yet classic weapon of times gone, this is a longsword. This exemplar is surprisingly well taken care of, despite its age, to the point that whatever blood or vitae it may have drawn in the past is not visible at all, while still functioning as well as it first did however long ago. Upon the flat side of this blade, a simple well-worn inscription is engraved in Latin. 'In Death, I Rise.'" @@ -158,27 +159,15 @@ force = 50 block_chance = 45 armour_penetration = 40 - sharpness = SHARP_EDGED attack_verb_continuous = list("slashes", "cuts") attack_verb_simple = list("slash", "cut") hitsound = 'sound/items/weapons/rapierhit.ogg' wound_bonus = 5 - resistance_flags = FIRE_PROOF - masquerade_violating = FALSE //is_iron = FALSE DARKPACK TODO - Kiasyd -/* DARKPACK TODO - WEREWOLF - (this is a silver longsword) -/obj/item/claymore/longsword/keeper/afterattack(atom/target, mob/living/carbon/user, proximity) +/obj/item/claymore/longsword/keeper/afterattack(atom/target, mob/user, list/modifiers, list/attack_modifiers) . = ..() - if(iswerewolf(target) || isgarou(target) && proximity) - var/mob/living/carbon/M = target - if(M.auspice.gnosis) - if(prob(50)) - adjust_gnosis(-1, M) - - M.apply_damage(25, CLONE) - M.apply_status_effect(STATUS_EFFECT_SILVER_SLOWDOWN) -*/ + fera_silver_damage(target, 5, 1) /obj/item/melee/baseball_bat/vamp name = "baseball bat" diff --git a/modular_darkpack/modules/weapons/code/projectiles.dm b/modular_darkpack/modules/weapons/code/projectiles.dm index 8764f8aa87b6..a80e7527a32f 100644 --- a/modular_darkpack/modules/weapons/code/projectiles.dm +++ b/modular_darkpack/modules/weapons/code/projectiles.dm @@ -15,18 +15,10 @@ /obj/projectile/bullet/darkpack/vamp9mm/silver name = "9mm silver bullet" -/* /obj/projectile/bullet/darkpack/vamp9mm/silver/on_hit(atom/target, blocked = 0, pierce_hit) . = ..() - if(iswerewolf(target) || isgarou(target)) - var/mob/living/carbon/M = target - if(M.auspice.gnosis) - if(prob(50)) - adjust_gnosis(-1, M) + fera_silver_damage(target, 2) - M.apply_damage(10, AGGRAVATED) - M.apply_status_effect(STATUS_EFFECT_SILVER_SLOWDOWN) -*/ // .45 ACP /obj/projectile/bullet/darkpack/vamp45acp name = ".45 ACP bullet" @@ -43,18 +35,10 @@ /obj/projectile/bullet/darkpack/vamp45acp/silver name = ".45 ACP silver bullet" -/* /obj/projectile/bullet/darkpack/vamp45acp/silver/on_hit(atom/target, blocked = 0, pierce_hit) . = ..() - if(iswerewolf(target) || isgarou(target)) - var/mob/living/carbon/M = target - if(M.auspice.gnosis) - if(prob(50)) - adjust_gnosis(-1, M) + fera_silver_damage(target, 3) - M.apply_damage(15, AGGRAVATED) - M.apply_status_effect(STATUS_EFFECT_SILVER_SLOWDOWN) -*/ // .44 Magnum /obj/projectile/bullet/darkpack/vamp44 name = ".44 bullet" @@ -67,18 +51,10 @@ name = ".44 silver bullet" //icon_state = "s44" -/* /obj/projectile/bullet/darkpack/vamp44/silver/on_hit(atom/target, blocked = 0, pierce_hit) . = ..() - if(iswerewolf(target) || isgarou(target)) - var/mob/living/carbon/M = target - if(M.auspice.gnosis) - if(prob(50)) - adjust_gnosis(-1, M) + fera_silver_damage(target, 4) - M.apply_damage(20, AGGRAVATED) - M.apply_status_effect(STATUS_EFFECT_SILVER_SLOWDOWN) -*/ // .50 BMG/AE /obj/projectile/bullet/darkpack/vamp50 name = ".50 BMG bullet" diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/emotes.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/emotes.dm new file mode 100644 index 000000000000..24795cf5a1fa --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/emotes.dm @@ -0,0 +1,70 @@ +/datum/emote/living/growl + key = "growl" + key_third_person = "growls" + message = "growls!" + emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE + +/datum/emote/living/growl/get_sound(mob/living/carbon/human/user) + if(!istype(user)) + return + return user.dna.species.get_growl_sound(user) + +/// Returns the species' growl sound +/datum/species/proc/get_growl_sound(mob/living/carbon/human/human) + if(human.physique == FEMALE) + return 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/emotes/female_growl.ogg' + return 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/emotes/male_growl.ogg' + +/datum/species/human/shifter/war/get_growl_sound(mob/living/carbon/human/human) + return 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/emotes/crinos_growl.ogg' +/datum/species/human/shifter/dire/get_growl_sound(mob/living/carbon/human/human) + return 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/emotes/crinos_growl.ogg' +/datum/species/human/shifter/feral/get_growl_sound(mob/living/carbon/human/human) + return 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/emotes/lupus_growl.ogg' + +/* // DARKPACK TODO - CORAX +/datum/emote/living/caw + key = "caw" + key_third_person = "caws" +message = "caws!" + emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE + +/datum/emote/living/caw/get_sound(mob/living/carbon/human/user) + if(!istype(user)) + return + return user.dna.species.get_caw_sound(user) +*/ + +/datum/emote/living/howl + key = "howl" + key_third_person = "howls" + message = "howls!" + message_param = "howls for %t!" + emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE + +/datum/emote/living/howl/get_sound(mob/living/user) + var/static/list/howl_sounds = list( + 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/emotes/awo1.ogg', + 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/emotes/awo2.ogg', + ) + if(isdog(user) || istype(user, /mob/living/basic/mining/wolf)) + return pick(howl_sounds) + + if(isgarou(user)) + return pick(howl_sounds) + + if(user.is_clan(/datum/vampire_clan/gangrel)) + return pick(howl_sounds) + +/datum/emote/living/howl/get_range(mob/living/user) + if(HAS_TRAIT(user, TRAIT_LOUD_HOWLER)) + return 60 + + if(isdog(user) || istype(user, /mob/living/basic/mining/wolf)) + return 7 + + if(isgarou(user)) + return 15 + + if(user.is_clan(/datum/vampire_clan/gangrel)) + return 7 diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/auspice.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/auspice.dm deleted file mode 100644 index 87462dda2a03..000000000000 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/auspice.dm +++ /dev/null @@ -1,105 +0,0 @@ -/datum/auspice - var/name = "Loh" - var/desc = "Furry ebaka" - var/level = 1 - var/start_rage = 1 - var/rage = 1 - var/start_gnosis = 1 - var/gnosis = 1 - var/base_breed = "Homid" - var/tribe = "Wendigo" - var/list/gifts = list() - var/force_abomination = FALSE - - var/list/wendigo = list( - /datum/action/gift/stoic_pose = 1, - /datum/action/gift/freezing_wind = 2, - /datum/action/gift/bloody_feast = 3 - ) - - var/list/glasswalker = list( - /datum/action/gift/smooth_move = 1, - /datum/action/gift/digital_feelings = 2, - /datum/action/gift/elemental_improvement = 3 - ) - - var/list/spiral = list( - /datum/action/gift/stinky_fur = 1, - /datum/action/gift/venom_claws = 2, - /datum/action/gift/burning_scars = 3 - ) - -/datum/auspice/proc/on_gain(mob/living/carbon/C) - C.update_rage_hud() - C.transformator.lupus_form.auspice = src - C.transformator.lupus_form.dna = C.dna - C.transformator.crinos_form.auspice = src - C.transformator.crinos_form.dna = C.dna - rage = start_rage - if(length(gifts)) - for(var/i in gifts) - var/datum/action/A1 = new i() - A1.Grant(C) - var/datum/action/A2 = new i() - A2.Grant(C.transformator.lupus_form) - var/datum/action/A3 = new i() - A3.Grant(C.transformator.crinos_form) - - switch(tribe) - if("Glasswalkers") - for(var/i in 1 to level) - var/zalupa = glasswalker[i] - var/datum/action/A = new zalupa() - A.Grant(C) - var/datum/action/A1 = new zalupa() - A1.Grant(C.transformator.lupus_form) - var/datum/action/A2 = new zalupa() - A2.Grant(C.transformator.crinos_form) - if("Wendigo") - for(var/i in 1 to level) - var/zalupa = wendigo[i] - var/datum/action/A = new zalupa() - A.Grant(C) - var/datum/action/A1 = new zalupa() - A1.Grant(C.transformator.lupus_form) - var/datum/action/A2 = new zalupa() - A2.Grant(C.transformator.crinos_form) - if("Black Spiral Dancers") - for(var/i in 1 to level) - var/zalupa = spiral[i] - var/datum/action/A = new zalupa() - A.Grant(C) - var/datum/action/A1 = new zalupa() - A1.Grant(C.transformator.lupus_form) - var/datum/action/A2 = new zalupa() - A2.Grant(C.transformator.crinos_form) - -/datum/auspice/ahroun - name = "Ahroun" - desc = "The Ahroun is the archetype of the werewolf as murderous beast, though they range from unapologetic berserkers to hardened veterans tempering their Rage with discipline. Their high levels of Rage put them on the edge at all times - the Full Moon's blessing is a hair trigger, among other things. Those closer to the waxing moon tend to exult in the glory of the war, while those closer to the waning moon are more viciously pragmatic, ruthless in their bloodthirst. Every Ahroun is a dangerous individual to be around, but when the forces of the Wyrm attack, their packmates are glad to have a Full Moon warrior at the front of the charge." - start_rage = 5 - gifts = list(/datum/action/gift/falling_touch, /datum/action/gift/inspiration, /datum/action/gift/razor_claws) - -/datum/auspice/galliard - name = "Galliard" - desc = "Where the Philodox is stoic, the Galliard is a creature of unbridled passion. The Gibbous Moon is a fiery muse, and stirs its children into great heights and depths of emotion. While all Galliards are prone to immense mirth and immense melancholy, those born under a waning moon fall more readily into dark, consuming passions; they are the tragedians of the Garou, mastering tales of doom, ruin, sacrifice and loss. Conversely, their waxing-moon cousins sing of triumph and conquest, of the pounding heart and the love of life. They tend to be the soul of their pack's morale - when the Galliard is willing to go on, so too are all the others." - start_rage = 4 - gifts = list(/datum/action/gift/beast_speech, /datum/action/gift/call_of_the_wyld, /datum/action/gift/mindspeak) - -/datum/auspice/philodox - name = "Philodox" - desc = "Buried so heavily in his role as impartial judge and jury, the Philodox may seem aloof, even surprisingly cold-blooded for a werewolf. Those born under the waxing Half Moon may seem unusually serene and disaffected, their emotions only emerging when their Rage comes to a boil. The waning-moon Philodox is more incisive and judgmental, his all-seeing eye always carefully watching his packmates and colleagues for any departure from the expected. The Half Moons' opinions are somewhat feared, yet highly respected - a word of praise or condemnation means much coming from those born to see both sides of every struggle." - start_rage = 3 - gifts = list(/datum/action/gift/resist_pain, /datum/action/gift/scent_of_the_true_form, /datum/action/gift/truth_of_gaia) - -/datum/auspice/theurge - name = "Theurge" - desc = "The Crescent Moons can be strange and enigmatic, prone to falling into the convoluted symbolic logic of the spirits they truck with rather than the more familiar logic of humanity. Those Theurges born under the waning moon frequently have a harsher, more adversarial relationship with the spirit world - they tend to excel at binding and forcing spirits to their will, and are more vicious when battling spirits. Theurges born under the waxing moon tend to be more generous and open with the spirits, charming and cajoling rather than intimidating and threatening." - start_rage = 2 - gifts = list(/datum/action/gift/mothers_touch, /datum/action/gift/sense_wyrm, /datum/action/gift/spirit_speech) - -/datum/auspice/ragabash - name = "Ragabash" - desc = "The Ragabash born under the waxing new moon is usually light-hearted and capricious, while one born under the waning new moon has a slightly more wicked and ruthless streak. It's a rare Ragabash indeed that lacks a keen wit and the capacity to find some humor in any situation, no matter how bleak. Many other werewolves are slow to take the Ragabash seriously, though, as it's difficult to tell the difference between a New Moon's mockery that points out a grievous flaw in a plan and similar mockery that simply amuses him. Sometimes a Ragabash points out that the emperor has no clothes - but sometimes they're the first to cry wolf, so to speak." - start_rage = 1 - gifts = list(/datum/action/gift/blur_of_the_milky_eye, /datum/action/gift/open_seal, /datum/action/gift/infectious_laughter) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/garou_species.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/garou_species.dm deleted file mode 100644 index d4f498a15e00..000000000000 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/garou_species.dm +++ /dev/null @@ -1,87 +0,0 @@ -/datum/species/garou - name = "Werewolf" - id = "garou" - default_color = "FFFFFF" - toxic_food = PINEAPPLE - species_traits = list(EYECOLOR, HAIR, FACEHAIR, LIPS, HAS_FLESH, HAS_BONE) - inherent_traits = list(TRAIT_ADVANCEDTOOLUSER, TRAIT_VIRUSIMMUNE, TRAIT_PERFECT_ATTACKER) - use_skintones = TRUE - limbs_id = "human" - wings_icon = "Dragon" - mutant_bodyparts = list("tail_human" = "None", "ears" = "None", "wings" = "None") - brutemod = 0.75 - heatmod = 1 - burnmod = 1 - dust_anim = "dust-h" - whitelisted = TRUE - selectable = TRUE - var/glabro = FALSE - -/datum/species/garou/on_species_gain(mob/living/carbon/human/C) - . = ..() -// ADD_TRAIT(C, TRAIT_NOBLEED, HIGHLANDER) - C.update_body(0) - C.last_experience = world.time+3000 - var/datum/action/gift/glabro/glabro = new() - glabro.Grant(C) - var/datum/action/gift/rage_heal/GH = new() - GH.Grant(C) - C.transformator = new(C) - C.transformator.human_form = C - - //garou resist vampire bites better than mortals - RegisterSignal(C, COMSIG_MOB_VAMPIRE_SUCKED, PROC_REF(on_garou_bitten)) - RegisterSignal(C.transformator.lupus_form, COMSIG_MOB_VAMPIRE_SUCKED, PROC_REF(on_garou_bitten)) - RegisterSignal(C.transformator.crinos_form, COMSIG_MOB_VAMPIRE_SUCKED, PROC_REF(on_garou_bitten)) - -/datum/species/garou/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) - . = ..() - UnregisterSignal(C, COMSIG_MOB_VAMPIRE_SUCKED) - UnregisterSignal(C.transformator.lupus_form, COMSIG_MOB_VAMPIRE_SUCKED) - UnregisterSignal(C.transformator.crinos_form, COMSIG_MOB_VAMPIRE_SUCKED) - for(var/datum/action/gift/G in C.actions) - G.Remove(C) - -/datum/species/garou/check_roundstart_eligible() - return FALSE - -/proc/adjust_rage(amount, mob/living/carbon/C, sound = TRUE) - if(amount > 0) - if(C.auspice.rage < 10) - if(sound) - SEND_SOUND(C, sound('modular_darkpack/modules/deprecated/sounds/rage_increase.ogg', volume = 75)) - to_chat(C, span_userdanger("RAGE INCREASES")) - C.auspice.rage = min(10, C.auspice.rage+amount) - if(amount < 0) - if(C.auspice.rage > 0) - C.auspice.rage = max(0, C.auspice.rage+amount) - if(sound) - SEND_SOUND(C, sound('modular_darkpack/modules/deprecated/sounds/rage_decrease.ogg', volume = 75)) - to_chat(C, span_userdanger("RAGE DECREASES")) - C.update_rage_hud() - -/proc/adjust_gnosis(amount, mob/living/carbon/C, sound = TRUE) - if(amount > 0) - if(C.auspice.gnosis < C.auspice.start_gnosis) - if(sound) - SEND_SOUND(C, sound('modular_darkpack/modules/deprecated/sounds/humanity_gain.ogg', volume = 75)) - to_chat(C, span_boldnotice("GNOSIS INCREASES")) - C.auspice.gnosis = min(C.auspice.start_gnosis, C.auspice.gnosis+amount) - if(amount < 0) - if(C.auspice.gnosis > 0) - C.auspice.gnosis = max(0, C.auspice.gnosis+amount) - if(sound) - SEND_SOUND(C, sound('modular_darkpack/modules/deprecated/sounds/rage_decrease.ogg', volume = 75)) - to_chat(C, span_boldnotice("GNOSIS DECREASES")) - C.update_rage_hud() - -/** - * On being bit by a vampire - * - * This handles vampire bite sleep immunity and any future special interactions. - */ -/datum/species/garou/proc/on_garou_bitten(datum/source, mob/living/carbon/being_bitten) - SIGNAL_HANDLER - - if(isgarou(being_bitten) || iswerewolf(being_bitten)) - return COMPONENT_RESIST_VAMPIRE_KISS diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/silver_slowdown.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/silver_slowdown.dm deleted file mode 100644 index 1d9f41e91a34..000000000000 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/silver_slowdown.dm +++ /dev/null @@ -1,14 +0,0 @@ -/datum/status_effect/silver_slowdown - id = "slowdown" - status_type = STATUS_EFFECT_REPLACE - duration = 5 SECONDS - -/datum/status_effect/silver_slowdown/on_apply() - . = ..() - var/mob/living/carbon/user = owner - user.add_movespeed_modifier(/datum/movespeed_modifier/silver_slowdown) - -/datum/status_effect/silver_slowdown/on_remove() - . = ..() - var/mob/living/carbon/user = owner - user.remove_movespeed_modifier(/datum/movespeed_modifier/silver_slowdown) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/transformation.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/transformation.dm deleted file mode 100644 index 3d6a546356d9..000000000000 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/transformation.dm +++ /dev/null @@ -1,176 +0,0 @@ -/obj/werewolf_holder/transformation - var/mob/living/carbon/human/human_form - var/mob/living/carbon/werewolf/crinos/crinos_form - var/mob/living/carbon/werewolf/lupus/lupus_form - - var/transformating = FALSE - var/given_quirks = FALSE - -/obj/werewolf_holder/transformation/Initialize(mapload) - . = ..() - crinos_form = new() - crinos_form.transformator = src - lupus_form = new() - lupus_form.transformator = src - -/obj/werewolf_holder/transformation/proc/transfer_damage(mob/living/carbon/first, mob/living/carbon/second) - second.masquerade = first.masquerade - var/percentage = (100/first.maxHealth)*second.maxHealth - second.adjust_brute_loss(round((first.get_brute_loss()/100)*percentage)-second.get_brute_loss()) - second.adjust_fire_loss(round((first.get_fire_loss()/100)*percentage)-second.get_fire_loss()) - second.adjustToxLoss(round((first.get_tox_loss()/100)*percentage)-second.get_tox_loss()) - second.adjust_agg_loss(round((first.get_agg_loss()/100)*percentage)-second.get_agg_loss()) - -/obj/werewolf_holder/transformation/proc/trans_gender(mob/living/carbon/trans, form) - if(!given_quirks) - given_quirks = TRUE - if(trans.has_quirk(/datum/quirk/dancer)) - var/datum/action/dance/DA = new() - DA.Grant(lupus_form) - var/datum/action/dance/NE = new() - NE.Grant(crinos_form) - var/matrix/ntransform = matrix(transform) //aka transform.Copy() - if(trans.auspice.rage == 0 && form != trans.auspice.base_breed) - to_chat(trans, "Not enough rage to transform into anything but [trans.auspice.base_breed].") - return - if(trans.in_frenzy) - to_chat(trans, "You can't transform while in frenzy.") - return - trans.inspired = FALSE - if(ishuman(trans)) - var/datum/species/garou/G = trans.dna.species - var/mob/living/carbon/human/H = trans - if(G.glabro) - H.remove_overlay(PROTEAN_LAYER) - G.punchdamagelow = G.punchdamagelow-15 - G.punchdamagehigh = G.punchdamagehigh-15 - H.st_remove_stat_mod(STAT_STRENGTH, "glabro_form") - H.physiology.armor.melee = H.physiology.armor.melee-15 - H.physiology.armor.bullet = H.physiology.armor.bullet-15 - var/matrix/M = matrix() - M.Scale(1) - H.transform = M - G.glabro = FALSE - H.update_icons() - switch(form) - if("Lupus") - if(iscrinos(trans)) - ntransform.Scale(0.75, 0.75) - if(ishuman(trans)) - ntransform.Scale(1, 0.75) - if("Crinos") - if(islupus(trans)) - ntransform.Scale(1.75, 1.75) - if(ishuman(trans)) - ntransform.Scale(1.25, 1.5) - if("Homid") - if(iscrinos(trans)) - ntransform.Scale(0.75, 0.5) - if(islupus(trans)) - ntransform.Scale(1, 1.5) - if(!transformating) - transformating = TRUE - switch(form) - if("Lupus") - if(trans == lupus_form) - transformating = FALSE - return - animate(trans, transform = ntransform, color = "#000000", time = 30) - playsound(get_turf(trans), 'modular_darkpack/modules/deprecated/sounds/transform.ogg', 50, FALSE) - for(var/mob/living/simple_animal/hostile/beastmaster/B in trans.beastmaster) - qdel(B) - spawn(30) - if(trans.stat == DEAD || !trans.client) // [ChillRaccoon] - preventing non-player transform issues - animate(trans, transform = null, color = "#FFFFFF") - return - var/items = trans.get_contents() - for(var/obj/item/item_worn in items) - if(!ismob(item_worn.loc)) - continue - trans.dropItemToGround(item_worn, TRUE) - var/current_loc = get_turf(trans) - lupus_form.color = "#000000" - lupus_form.forceMove(current_loc) - animate(lupus_form, color = "#FFFFFF", time = 10) - lupus_form.key = trans.key - forceMove(lupus_form) - lupus_form.bloodpool = trans.bloodpool - lupus_form.masquerade = trans.masquerade - lupus_form.nutrition = trans.nutrition - lupus_form.mind = trans.mind - lupus_form.update_blood_hud() - transfer_damage(trans, lupus_form) - lupus_form.add_movespeed_modifier(/datum/movespeed_modifier/lupusform) - trans.forceMove(src) - transformating = FALSE - animate(trans, transform = null, color = "#FFFFFF", time = 1) - lupus_form.update_icons() - if("Crinos") - if(trans == crinos_form) - transformating = FALSE - return - animate(trans, transform = ntransform, color = "#000000", time = 30) - playsound(get_turf(trans), 'modular_darkpack/modules/deprecated/sounds/transform.ogg', 50, FALSE) - for(var/mob/living/simple_animal/hostile/beastmaster/B in trans.beastmaster) - qdel(B) - spawn(30) - if(trans.stat == DEAD || !trans.client) // [ChillRaccoon] - preventing non-player transform issues - animate(trans, transform = null, color = "#FFFFFF") - return - var/items = trans.get_contents() - for(var/obj/item/item_worn in items) - if(!ismob(item_worn.loc)) - continue - trans.dropItemToGround(item_worn, TRUE) - var/current_loc = get_turf(trans) - crinos_form.color = "#000000" - crinos_form.forceMove(current_loc) - animate(crinos_form, color = "#FFFFFF", time = 10) - crinos_form.key = trans.key - forceMove(crinos_form) - crinos_form.bloodpool = trans.bloodpool - crinos_form.masquerade = trans.masquerade - crinos_form.nutrition = trans.nutrition - crinos_form.mind = trans.mind - crinos_form.update_blood_hud() - crinos_form.st_add_stat_mod(STAT_STRENGTH, 3, "crinos_form") - transfer_damage(trans, crinos_form) - crinos_form.add_movespeed_modifier(/datum/movespeed_modifier/crinosform) - trans.forceMove(src) - transformating = FALSE - animate(trans, transform = null, color = "#FFFFFF", time = 1) - crinos_form.update_icons() - if("Homid") - if(trans == human_form) - transformating = FALSE - return - animate(trans, transform = ntransform, color = "#000000", time = 30) - playsound(get_turf(trans), 'modular_darkpack/modules/deprecated/sounds/transform.ogg', 50, FALSE) - for(var/mob/living/simple_animal/hostile/beastmaster/B in trans.beastmaster) - qdel(B) - spawn(30) - if(trans.stat == DEAD || !trans.client) // [ChillRaccoon] - preventing non-player transform issues - animate(trans, transform = null, color = "#FFFFFF") - return - var/items = trans.get_contents() - for(var/obj/item/item_worn in items) - if(!ismob(item_worn.loc)) - continue - trans.dropItemToGround(item_worn, TRUE) - var/current_loc = get_turf(trans) - human_form.color = "#000000" - human_form.forceMove(current_loc) - animate(human_form, color = "#FFFFFF", time = 10) - human_form.key = trans.key - forceMove(human_form) - human_form.bloodpool = trans.bloodpool - human_form.masquerade = trans.masquerade - human_form.nutrition = trans.nutrition - human_form.mind = trans.mind - human_form.update_blood_hud() - transfer_damage(trans, human_form) - human_form.remove_movespeed_modifier(/datum/movespeed_modifier/crinosform) - human_form.remove_movespeed_modifier(/datum/movespeed_modifier/lupusform) - trans.forceMove(src) - transformating = FALSE - animate(trans, transform = null, color = "#FFFFFF", time = 1) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/life.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/life.dm deleted file mode 100644 index d50b76298918..000000000000 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/life.dm +++ /dev/null @@ -1,131 +0,0 @@ -/mob/living/carbon/werewolf/Life() - update_icons() - update_rage_hud() - return..() - -/mob/living/carbon/Life() - . = ..() - if(isgarou(src) || iswerewolf(src)) - if(key && stat <= HARD_CRIT) - var/datum/preferences/P = GLOB.preferences_datums[ckey(key)] - if(P) - if(P.masquerade != masquerade) - P.masquerade = masquerade - P.save_preferences() - P.save_character() - - - if(stat != DEAD) - var/gaining_rage = TRUE - for(var/obj/structure/werewolf_totem/W in GLOB.totems) - if(W.totem_health) - if(W.tribe == auspice.tribe) - if(get_area(W) == get_area(src) && client) - gaining_rage = FALSE - if(last_gnosis_buff+300 < world.time) - last_gnosis_buff = world.time - adjust_gnosis(1, src, TRUE) - if(iscrinos(src)) - if(auspice.base_breed == "Crinos") - gaining_rage = FALSE - //else if(auspice.rage == 0) //! [ChillRaccoon] - FIXME - // transformator.trans_gender(src, auspice.base_breed) - if(islupus(src)) - if(auspice.base_breed == "Lupus") - gaining_rage = FALSE - //else if(auspice.rage == 0) - // transformator.trans_gender(src, auspice.base_breed) - if(ishuman(src)) - if(auspice.base_breed == "Homid") - gaining_rage = FALSE - //else if(auspice.rage == 0) - // transformator.trans_gender(src, auspice.base_breed) - - if(gaining_rage && client) - if((last_rage_gain + 1 MINUTES) < world.time) - last_rage_gain = world.time - adjust_rage(1, src, TRUE) - - if(masquerade == 0) - if(!is_special_character(src)) - if(auspice.gnosis) - to_chat(src, span_warning("My Veil is too low to connect with the spirits of Umbra!")) - adjust_gnosis(-1, src, FALSE) - - if(auspice.rage >= 9) - if(!in_frenzy) - if((last_frenzy_check + 40 SECONDS) <= world.time) - last_frenzy_check = world.time - rollfrenzy() - - if(istype(get_area(src), /area/vtm/outside/penumbra)) - if((last_veil_restore + 40 SECONDS) < world.time) - adjust_veil(1, src, TRUE) - last_veil_restore = world.time - - switch(auspice.tribe) - if("Wendigo") - if(istype(get_area(src), /area/vtm/forest)) - if((last_veil_restore + 50 SECONDS) <= world.time) - adjust_veil(1, src, TRUE) - last_veil_restore = world.time - - if("Glasswalkers") - if(istype(get_area(src), /area/vtm/interior/glasswalker)) - if((last_veil_restore + 50 SECONDS) <= world.time) - adjust_veil(1, src, TRUE) - last_veil_restore = world.time - - if("Black Spiral Dancers") - if(istype(get_area(src), /area/vtm/interior/endron_facility)) - if((last_veil_restore + 50 SECONDS) <= world.time) - adjust_veil(1, src, TRUE) - last_veil_restore = world.time - - -/mob/living/carbon/werewolf/crinos/Life() - . = ..() - if(CheckEyewitness(src, src, 5, FALSE)) - adjust_veil(-1) - -/mob/living/carbon/werewolf/check_breath(datum/gas_mixture/breath) - return - -/mob/living/carbon/werewolf/handle_status_effects() - . = ..() - //natural reduction of movement delay due to stun. - if(move_delay_add > 0) - move_delay_add = max(0, move_delay_add - rand(1, 2)) - -/mob/living/carbon/werewolf/handle_changeling() - return - -/mob/living/carbon/werewolf/handle_fire()//Aliens on fire code - . = ..() - if(.) //if the mob isn't on fire anymore - return - adjust_bodytemperature(BODYTEMP_HEATING_MAX) //If you're on fire, you heat up! - -/mob/living/carbon/proc/adjust_veil(var/amount) - if(last_veil_adjusting+200 >= world.time) - return - if(amount > 0) - if(HAS_TRAIT(src, TRAIT_VIOLATOR)) - return - if(amount < 0) - if(istype(get_area(src), /area/vtm)) - var/area/vtm/V = get_area(src) - if(V.zone_type != "masquerade") - return - last_veil_adjusting = world.time - if(!is_special_character(src)) - if(amount < 0) - if(masquerade > 0) - SEND_SOUND(src, sound('modular_darkpack/modules/deprecated/sounds/veil_violation.ogg', volume = 75)) - to_chat(src, span_boldnotice("VEIL VIOLATION")) - masquerade = max(0, masquerade+amount) - if(amount > 0) - if(masquerade < 5) - SEND_SOUND(src, sound('modular_darkpack/modules/deprecated/sounds/humanity_gain.ogg', volume = 75)) - to_chat(src, span_boldnotice("VEIL REINFORCEMENT")) - masquerade = min(5, masquerade+amount) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/lupus.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/lupus.dm deleted file mode 100644 index 47bd2fc3a811..000000000000 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/lupus.dm +++ /dev/null @@ -1,73 +0,0 @@ -/mob/living/carbon/werewolf/lupus - name = "wolf" - icon_state = "black" - icon = 'code/modules/wod13/werewolf_lupus.dmi' - pass_flags = PASSTABLE - mob_size = MOB_SIZE_SMALL - butcher_results = list(/obj/item/food/meat/slab = 5) - possible_a_intents = list(INTENT_HELP, INTENT_DISARM, INTENT_GRAB, INTENT_HARM) - hud_type = /datum/hud/werewolf - limb_destroyer = 1 - has_limbs = 0 -// dextrous = FALSE -// speed = -1.5 doesn't work on carbons -// var/move_delay_add = -1.5 // movement delay to add also didn't work - melee_damage_lower = 15 - melee_damage_upper = 35 - health = 150 - maxHealth = 150 - werewolf_armor = 10 -// bodyparts = list( -// /obj/item/bodypart/chest, -// /obj/item/bodypart/head, -// /obj/item/bodypart/r_arm, -// /obj/item/bodypart/l_arm, -// /obj/item/bodypart/r_leg, -// /obj/item/bodypart/l_leg, -// ) - var/hispo = FALSE - -/datum/movespeed_modifier/lupusform - multiplicative_slowdown = -0.80 - -/mob/living/carbon/werewolf/lupus/update_icons() - cut_overlays() - - var/laid_down = FALSE - - if(stat == UNCONSCIOUS || IsSleeping() || stat == HARD_CRIT || stat == SOFT_CRIT || IsParalyzed() || stat == DEAD || body_position == LYING_DOWN) - icon_state = "[sprite_color]_rest" - laid_down = TRUE - else - icon_state = "[sprite_color]" - - switch(get_fire_loss()+get_brute_loss()) - if(25 to 75) - var/mutable_appearance/damage_overlay = mutable_appearance(icon, "damage1[laid_down ? "_rest" : ""]") - add_overlay(damage_overlay) - if(75 to 150) - var/mutable_appearance/damage_overlay = mutable_appearance(icon, "damage2[laid_down ? "_rest" : ""]") - add_overlay(damage_overlay) - if(150 to INFINITY) - var/mutable_appearance/damage_overlay = mutable_appearance(icon, "damage3[laid_down ? "_rest" : ""]") - add_overlay(damage_overlay) - - var/mutable_appearance/eye_overlay = mutable_appearance(icon, "eyes[laid_down ? "_rest" : ""]") - eye_overlay.color = sprite_eye_color - eye_overlay.plane = ABOVE_LIGHTING_PLANE - eye_overlay.layer = ABOVE_LIGHTING_LAYER - add_overlay(eye_overlay) - -/mob/living/carbon/werewolf/lupus/regenerate_icons() - if(!..()) - // update_icons() //Handled in update_transform(), leaving this here as a reminder - update_transform() - -/mob/living/carbon/werewolf/lupus/update_transform() //The old method of updating lying/standing was update_icons(). Aliens still expect that. - . = ..() - update_icons() - -/mob/living/carbon/werewolf/lupus/Life() - if(hispo) - CheckEyewitness(src, src, 7, FALSE) - . = ..() diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/werewolf.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/werewolf.dm deleted file mode 100644 index 147c3341e3ce..000000000000 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/werewolf.dm +++ /dev/null @@ -1,272 +0,0 @@ -/mob/living/carbon/werewolf - name = "werewolf" - icon = 'code/modules/wod13/werewolf.dmi' - gender = MALE - dna = null - faction = list(FACTION_GAIA) - ventcrawler = VENTCRAWLER_NONE - pass_flags = 0 -// sight = SEE_MOBS - see_in_dark = 2 - verb_say = "woofs" - rotate_on_lying = 0 - - movement_type = GROUND // [ChillRaccoon] - fucking flying werewolfes is a meme - - bloodpool = 20 - maxbloodpool = 20 - - var/move_delay_add = 0 // movement delay to add - - status_flags = CANUNCONSCIOUS|CANPUSH - - heat_protection = 0.5 // minor heat insulation - - var/leaping = FALSE - gib_type = /obj/effect/decal/cleanable/blood/gibs - unique_name = FALSE - var/environment_smash = ENVIRONMENT_SMASH_STRUCTURES - melee_damage_lower = 20 - melee_damage_upper = 20 - butcher_results = list(/obj/item/food/meat/slab = 5) - layer = LARGE_MOB_LAYER - var/obj_damage = 30 - var/wound_bonus = 20 - var/bare_wound_bonus = 25 - var/sharpness = 50 - var/armour_penetration = 100 - var/melee_damage_type = BRUTE - var/list/damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, AGGRAVATED = 1, STAMINA = 0, OXY = 1) - var/attack_verb_continuous = "attacks" - var/attack_verb_simple = "attack" - var/friendly_verb_continuous = "nuzzles" - var/friendly_verb_simple = "nuzzle" - var/attack_sound = 'modular_darkpack/modules/deprecated/sounds/werewolf_bite.ogg' - - var/sprite_color = "black" - var/sprite_scar = 0 - var/sprite_hair = 0 - var/sprite_hair_color = "#000000" - var/sprite_eye_color = "#FFFFFF" - var/sprite_apparel = 0 - - var/step_variable = 0 - - var/werewolf_armor = 0 - - var/assigned_quirks = FALSE - -/mob/living/carbon/werewolf/update_resting() - if(resting) - ADD_TRAIT(src, TRAIT_IMMOBILIZED, RESTING_TRAIT) - else - REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, RESTING_TRAIT) - return ..() - -/mob/living/carbon/werewolf/crinos/Move(NewLoc, direct) - if(isturf(loc)) - step_variable = step_variable+1 - if(step_variable == 2) - step_variable = 0 - playsound(get_turf(src), 'modular_darkpack/modules/deprecated/sounds/werewolf_step.ogg', 50, FALSE) - . = ..() - -/mob/living/carbon/proc/epic_fall(var/apply_stun_self = TRUE, var/apply_stun_others = TRUE) - playsound(get_turf(src), 'modular_darkpack/modules/deprecated/sounds/werewolf_fall.ogg', 100, FALSE) - new /obj/effect/temp_visual/dir_setting/crack_effect(get_turf(src)) - new /obj/effect/temp_visual/dir_setting/fall_effect(get_turf(src)) - for(var/mob/living/carbon/C in range(5, src)) - if(apply_stun_others) - C.Stun(30) - shake_camera(C, (6-get_dist(C, src))+1, (6-get_dist(C, src))) - if(apply_stun_self) - Stun(20) - shake_camera(src, 5, 4) - -/mob/living/carbon/werewolf/Initialize(mapload) - var/datum/action/gift/rage_heal/GH = new() - GH.Grant(src) - add_verb(src, /mob/living/proc/mob_sleep) - add_verb(src, /mob/living/proc/toggle_resting) - - create_bodyparts() //initialize bodyparts - - create_internal_organs() - - ADD_TRAIT(src, TRAIT_NEVER_WOUNDED, ROUNDSTART_TRAIT) - - . = ..() - -/mob/living/carbon/werewolf/create_internal_organs() - internal_organs += new /obj/item/organ/brain - internal_organs += new /obj/item/organ/tongue - // DARKPACK TODO - Base type for night_vison eyes dont work. Make a subtype and fiddle with the values - internal_organs += new /obj/item/organ/eyes/night_vision - internal_organs += new /obj/item/organ/liver - internal_organs += new /obj/item/organ/stomach - internal_organs += new /obj/item/organ/heart - internal_organs += new /obj/item/organ/lungs - internal_organs += new /obj/item/organ/ears - ..() - -/mob/living/carbon/werewolf/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) // beepsky won't hunt aliums - return -10 - -/mob/living/carbon/werewolf/handle_environment(datum/gas_mixture/environment) - // Run base mob body temperature proc before taking damage - // this balances body temp to the environment and natural stabilization - . = ..() - - if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT) - //Body temperature is too hot. - throw_alert("alien_fire", /atom/movable/screen/alert/alien_fire) - switch(bodytemperature) - if(360 to 400) - apply_damage(HEAT_DAMAGE_LEVEL_1, BURN) - if(400 to 460) - apply_damage(HEAT_DAMAGE_LEVEL_2, BURN) - if(460 to INFINITY) - if(on_fire) - apply_damage(HEAT_DAMAGE_LEVEL_3, BURN) - else - apply_damage(HEAT_DAMAGE_LEVEL_2, BURN) - else - clear_alert("alien_fire") - -/mob/living/carbon/werewolf/reagent_check(datum/reagent/R) //can metabolize all reagents - return 0 - -/mob/living/carbon/werewolf/get_status_tab_items() - . = ..() - . += "Intent: [a_intent]" - -/mob/living/carbon/werewolf/getTrail() - return pick (list("trails_1", "trails2")) - -/mob/living/carbon/werewolf/canBeHandcuffed() - return FALSE - -/mob/living/carbon/werewolf/can_hold_items(obj/item/I) - return (I && (I.item_flags & WEREWOLF_HOLDABLE || ISADVANCEDTOOLUSER(src)) && ..()) - -/mob/living/carbon/werewolf/on_lying_down(new_lying_angle) - . = ..() - update_icons() - -/mob/living/carbon/werewolf/on_standing_up() - . = ..() - update_icons() - -///aliens are immune to stamina damage. -/mob/living/carbon/werewolf/adjust_stamina_loss(amount, updating_health = 1, forced = FALSE) - return FALSE - -///aliens are immune to stamina damage. -/mob/living/carbon/werewolf/setStaminaLoss(amount, updating_health = 1) - return FALSE - -/mob/living/carbon/werewolf/Stun(amount, ignore_canstun = FALSE) - . = ..() - if(!.) - move_delay_add = min(move_delay_add + round(amount / 2), 10) //a maximum delay of 10 - -/mob/living/carbon/werewolf/SetStun(amount, ignore_canstun = FALSE) - . = ..() - if(!.) - move_delay_add = min(move_delay_add + round(amount / 2), 10) - -/mob/living/carbon/werewolf/AdjustStun(amount, ignore_canstun = FALSE) - . = ..() - if(!.) - move_delay_add = clamp(move_delay_add + round(amount/2), 0, 10) - -/mob/living/carbon/werewolf/crinos - name = "werewolf" - icon_state = "black" - mob_size = MOB_SIZE_HUGE - butcher_results = list(/obj/item/food/meat/slab = 5) - possible_a_intents = list(INTENT_HELP, INTENT_DISARM, INTENT_GRAB, INTENT_HARM) - limb_destroyer = 1 - hud_type = /datum/hud/werewolf - melee_damage_lower = 35 - melee_damage_upper = 65 - health = 250 - maxHealth = 250 -// speed = -1 doesn't work on carbons - var/obj/item/r_store = null - var/obj/item/l_store = null - var/pounce_cooldown = 0 - var/pounce_cooldown_time = 30 - pixel_w = -8 -// deathsound = 'sound/voice/hiss6.ogg' - bodyparts = list( - /obj/item/bodypart/chest, - /obj/item/bodypart/head, - /obj/item/bodypart/l_arm, - /obj/item/bodypart/r_arm, - /obj/item/bodypart/r_leg, - /obj/item/bodypart/l_leg, - ) - - werewolf_armor = 30 - -/datum/movespeed_modifier/crinosform - multiplicative_slowdown = -0.2 - -/datum/movespeed_modifier/silver_slowdown - multiplicative_slowdown = 0.3 - -/mob/living/carbon/werewolf/crinos/Initialize(mapload) - . = ..() - var/datum/action/change_apparel/A = new() - A.Grant(src) -// AddComponent(/datum/component/footstep, FOOTSTEP_MOB_CLAW, 0.5, -11) - -/mob/living/carbon/werewolf/lupus/Initialize(mapload) - . = ..() - AddComponent(/datum/component/footstep, FOOTSTEP_MOB_CLAW, 0.5, -11) - var/datum/action/gift/hispo/hispo = new() - hispo.Grant(src) - -/mob/living/carbon/werewolf/crinos/show_inv(mob/user) - user.set_machine(src) - var/list/dat = list() - dat += "" - for(var/i in 1 to held_items.len) - var/obj/item/I = get_item_for_held_index(i) - dat += "" - dat += "" - dat += "" - - dat += {"
      [get_held_index_name(i)]:[(I && !(I.item_flags & ABSTRACT)) ? I : "Empty"]
       
      Empty Pouches
      -
      Close - "} - - var/datum/browser/popup = new(user, "mob[REF(src)]", "[src]", 440, 510) - popup.set_content(dat.Join()) - popup.open() - - -/mob/living/carbon/werewolf/crinos/can_hold_items(obj/item/I) - return TRUE - -/mob/living/carbon/werewolf/crinos/Topic(href, href_list) - //strip panel - if(href_list["pouches"] && usr.canUseTopic(src, BE_CLOSE, NO_DEXTERITY)) - visible_message(span_danger("[usr] tries to empty [src]'s pouches."), \ - span_userdanger("[usr] tries to empty your pouches.")) - if(do_mob(usr, src, POCKET_STRIP_DELAY * 0.5)) - dropItemToGround(r_store) - dropItemToGround(l_store) - - . = ..() - -/mob/living/carbon/werewolf/crinos/resist_grab(moving_resist) - if(pulledby.grab_state) - visible_message(span_danger("[src] breaks free of [pulledby]'s grip!"), \ - span_danger("You break free of [pulledby]'s grip!")) - pulledby.stop_pulling() - . = 0 - -/mob/living/carbon/werewolf/crinos/get_permeability_protection(list/target_zones) - return 0.8 diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/werewolf_defense.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/werewolf_defense.dm deleted file mode 100644 index 9af960232b13..000000000000 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/werewolf_defense.dm +++ /dev/null @@ -1,140 +0,0 @@ - -/mob/living/carbon/werewolf/get_eye_protection() - return ..() + 2 //potential cyber implants + natural eye protection - -/mob/living/carbon/werewolf/get_ear_protection() - return 2 //no ears - -/mob/living/carbon/werewolf/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) - ..(AM, skipcatch = TRUE, hitpush = FALSE) - -/mob/living/carbon/werewolf/attack_hand(mob/living/carbon/human/M) - . = ..() - if(.) //to allow surgery to return properly. - return FALSE - - switch(M.a_intent) - if("help") - help_shake_act(M) - if("grab") - grabbedby(M) - if ("harm") - M.do_attack_animation(src, ATTACK_EFFECT_PUNCH) - return TRUE - if("disarm") - M.do_attack_animation(src, ATTACK_EFFECT_DISARM) - return TRUE - return FALSE - -/mob/living/carbon/werewolf/attack_animal(mob/living/simple_animal/M) - . = ..() - do_rage_from_attack() - if(.) - var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) - switch(M.melee_damage_type) - if(BRUTE) - adjust_brute_loss(damage) - if(BURN) - adjust_fire_loss(damage) - if(TOX) - adjustToxLoss(damage) - if(OXY) - adjust_oxy_loss(damage) - if(AGGRAVATED) - adjust_agg_loss(damage) - if(STAMINA) - adjust_stamina_loss(damage) - -/mob/living/carbon/werewolf/ex_act(severity, target, origin) - if(origin && istype(origin, /datum/spacevine_mutation) && isvineimmune(src)) - return - . = ..() - if(QDELETED(src)) - return - var/obj/item/organ/ears/ears = getorganslot(ORGAN_SLOT_EARS) - switch (severity) - if (EXPLODE_DEVASTATE) - gib() - return - - if (EXPLODE_HEAVY) - take_overall_damage(60, 60) - if(ears) - ears.adjustEarDamage(30,120) - - if(EXPLODE_LIGHT) - take_overall_damage(30,0) - if(prob(50)) - Unconscious(20) - if(ears) - ears.adjustEarDamage(15,60) - -/mob/living/carbon/werewolf/soundbang_act(intensity = 1, stun_pwr = 20, damage_pwr = 5, deafen_pwr = 15) - return 0 - -/mob/living/carbon/werewolf/acid_act(acidpwr, acid_volume) - return FALSE//aliens are immune to acid. - -/mob/living/carbon/werewolf/attack_hand(mob/living/carbon/human/M) - if(..()) - switch(M.a_intent) - if ("harm") - var/damage = rand(1, 9) - if (prob(90)) - playsound(loc, "punch", 25, TRUE, -1) - visible_message(span_danger("[M] punches [src]!"), \ - span_userdanger("[M] punches you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, M) - to_chat(M, span_danger("You punch [src]!")) - if ((stat != DEAD) && (damage > 9 || prob(5)))//Regular humans have a very small chance of knocking an alien down. - Unconscious(3 SECONDS) - visible_message(span_danger("[M] knocks [src] down!"), \ - span_userdanger("[M] knocks you down!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, M) - to_chat(M, span_danger("You knock [src] down!")) - var/obj/item/bodypart/affecting = get_bodypart(ran_zone(M.zone_selected)) - apply_damage(damage, BRUTE, affecting) - log_combat(M, src, "attacked") - else - playsound(loc, 'sound/items/weapons/punchmiss.ogg', 25, TRUE, -1) - visible_message(span_danger("[M]'s punch misses [src]!"), \ - span_danger("You avoid [M]'s punch!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, M) - to_chat(M, span_warning("Your punch misses [src]!")) - - if ("disarm") - if (body_position == STANDING_UP) - if (prob(5)) - Unconscious(3 SECONDS) - playsound(loc, 'sound/items/weapons/thudswoosh.ogg', 50, TRUE, -1) - log_combat(M, src, "pushed") - visible_message(span_danger("[M] pushes [src] down!"), \ - span_userdanger("[M] pushes you down!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), null, M) - to_chat(M, span_danger("You push [src] down!")) - else - if (prob(50)) - dropItemToGround(get_active_held_item()) - playsound(loc, 'sound/items/weapons/thudswoosh.ogg', 50, TRUE, -1) - visible_message(span_danger("[M] disarms [src]!"), \ - span_userdanger("[M] disarms you!"), span_hear("You hear aggressive shuffling!"), COMBAT_MESSAGE_RANGE, M) - to_chat(M, span_danger("You disarm [src]!")) - else - playsound(loc, 'sound/items/weapons/punchmiss.ogg', 25, TRUE, -1) - visible_message(span_danger("[M] fails to disarm [src]!"),\ - span_danger("[M] fails to disarm you!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, M) - to_chat(M, span_warning("You fail to disarm [src]!")) - - - -/mob/living/carbon/werewolf/crinos/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect) - if(!no_effect && !visual_effect_icon) - visual_effect_icon = ATTACK_EFFECT_CLAW - . = ..() - -/mob/living/carbon/werewolf/lupus/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect) - if(!no_effect && !visual_effect_icon) - visual_effect_icon = ATTACK_EFFECT_BITE - . = ..() - -/mob/living/carbon/werewolf/getarmor(def_zone, type) - if(type == BRUTE) - return werewolf_armor - else - return 0 diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/werewolf_update_icons.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/werewolf_update_icons.dm deleted file mode 100644 index 0e73f2c2627c..000000000000 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou/werewolf_mobs/werewolf_update_icons.dm +++ /dev/null @@ -1,73 +0,0 @@ -/mob/living/carbon/werewolf/update_damage_overlays() //aliens don't have damage overlays. - return - -/mob/living/carbon/werewolf/update_body() // we don't use the bodyparts or body layers for aliens. - return - -/mob/living/carbon/werewolf/update_body_parts()//we don't use the bodyparts layer for aliens. - return - -/mob/living/carbon/werewolf/crinos/update_icons() - cut_overlays() - - var/laid_down = FALSE - - if(stat == UNCONSCIOUS || IsSleeping() || stat == HARD_CRIT || stat == SOFT_CRIT || IsParalyzed() || stat == DEAD || body_position == LYING_DOWN) - icon_state = "[sprite_color]_rest" - laid_down = TRUE - else - icon_state = "[sprite_color]" - var/mutable_appearance/shadow_overlay = mutable_appearance(icon, "undershadow") - shadow_overlay.pixel_z = -4 - shadow_overlay.alpha = 64 - shadow_overlay.layer = layer-1 - add_overlay(shadow_overlay) - - if(sprite_scar) - var/mutable_appearance/scar_overlay = mutable_appearance(icon, "scar[sprite_scar][laid_down ? "_rest" : ""]") - add_overlay(scar_overlay) - - switch(get_fire_loss()+get_brute_loss()) - if(25 to 100) - var/mutable_appearance/damage_overlay = mutable_appearance(icon, "damage1[laid_down ? "_rest" : ""]") - add_overlay(damage_overlay) - if(100 to 250) - var/mutable_appearance/damage_overlay = mutable_appearance(icon, "damage2[laid_down ? "_rest" : ""]") - add_overlay(damage_overlay) - if(250 to INFINITY) - var/mutable_appearance/damage_overlay = mutable_appearance(icon, "damage3[laid_down ? "_rest" : ""]") - add_overlay(damage_overlay) - - if(sprite_apparel) - switch(auspice.tribe) - if("Wendigo") - var/mutable_appearance/clothing_overlay = mutable_appearance(icon, "wendigo[sprite_apparel][laid_down ? "_rest" : ""]") - add_overlay(clothing_overlay) - if("Glasswalkers") - var/mutable_appearance/clothing_overlay = mutable_appearance(icon, "glasswalker[sprite_apparel][laid_down ? "_rest" : ""]") - add_overlay(clothing_overlay) - if("Black Spiral Dancers") - var/mutable_appearance/clothing_overlay = mutable_appearance(icon, "spiral[sprite_apparel][laid_down ? "_rest" : ""]") - add_overlay(clothing_overlay) - - if(sprite_hair) - var/mutable_appearance/hair_overlay = mutable_appearance(icon, "hair[sprite_hair][laid_down ? "_rest" : ""]") - hair_overlay.color = sprite_hair_color - add_overlay(hair_overlay) - - var/mutable_appearance/eye_overlay = mutable_appearance(icon, "eyes[laid_down ? "_rest" : ""]") - eye_overlay.color = sprite_eye_color - eye_overlay.plane = ABOVE_LIGHTING_PLANE - eye_overlay.layer = ABOVE_LIGHTING_LAYER - add_overlay(eye_overlay) - - update_inv_hands() - -/mob/living/carbon/werewolf/crinos/regenerate_icons() - if(!..()) - // update_icons() //Handled in update_transform(), leaving this here as a reminder - update_transform() - -/mob/living/carbon/werewolf/crinos/update_transform() //The old method of updating lying/standing was update_icons(). Aliens still expect that. - . = ..() - update_icons() diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/garou_languages.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/garou_languages.dm new file mode 100644 index 000000000000..7d66cf50a4db --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/garou_languages.dm @@ -0,0 +1,54 @@ +/datum/language_holder/garou + understood_languages = list( + /datum/language/common = list(LANGUAGE_ATOM), + /datum/language/garou_tongue = list(LANGUAGE_ATOM), + /datum/language/primal_tongue = list(LANGUAGE_ATOM), + ) + spoken_languages = list( + /datum/language/common = list(LANGUAGE_ATOM), + /datum/language/garou_tongue = list(LANGUAGE_ATOM), + ) + +/datum/language_holder/primal + understood_languages = list( + /datum/language/common = list(LANGUAGE_ATOM), + /datum/language/primal_tongue = list(LANGUAGE_ATOM), + ) + spoken_languages = list( + /datum/language/primal_tongue = list(LANGUAGE_ATOM), + ) + +/datum/language/garou_tongue + name = "Garou Tongue" + desc = "A guttural and pitchy language also known as 'High Tongue', the language of the Garou capable of being learned and spoken by Garou. It is hard to speak in human form." + key = "w" + flags = TONGUELESS_SPEECH | LANGUAGE_HIDE_ICON_IF_NOT_UNDERSTOOD + space_chance = 40 + syllables = list( + "to", "lo", "of", "li", "ka", "ha", "he", "ah", "ny", "ro", + "li", "me", "ad", "he", "ah", "um", "co", "ga", "gar", "fa", + "el", "ra", "ia", "of", "os", "ra", "ta", "na", "ga", "ho", + "lu", "lu", "fe", "zi", "mo", "sha", "ru", "te", "vo", "ni", + "xa", "jo", "da", "ku", "pe", "su", "yo", "ve", "mi", "ba" + ) + icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_languages.dmi' + icon_state = "garou" + default_priority = 90 + +/datum/language/primal_tongue + name = "Primal Tongue" + desc = "A language inherently known to all Garou breeds at birth, able to be spoken only in Lupus, Crinos and Hispo forms." + key = "p" + flags = TONGUELESS_SPEECH | LANGUAGE_HIDE_ICON_IF_NOT_UNDERSTOOD + space_chance = 40 + syllables = list ( + "gra", "grr", "gru", "gha", "sha", "zho", "yip", "whu", "zar", "ruk", + "kra", "hya", "tza", "ska", "yrr", "fru", "thra", "hwo", "vra", "snar", + "kru", "pha", "gha", "hro", "tzo", "wha", "brak", "thru", "chur", "dra", + "vru", "sna", "yru", "hru", "yla", "fro", "rik", "zru", "skra", "zhu", + "kro", "thro", "zyi", "sha", "hza", "mru", "wru", "bruk", "hka", "tza" + ) + icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_languages.dmi' + icon_state = "garou" + default_priority = 90 + diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/_gift.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/_gift.dm new file mode 100644 index 000000000000..8dfddb0a207e --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/_gift.dm @@ -0,0 +1,55 @@ +/datum/action/cooldown/power/gift + background_icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/werewolf_abilities.dmi' + background_icon_state = "bg_gift" + button_icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/werewolf_abilities.dmi' + //button_icon_state = "" + overlay_icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/werewolf_abilities.dmi' + + check_flags = AB_CHECK_IMMOBILE|AB_CHECK_CONSCIOUS + + + var/rage_req = 0 + var/gnosis_req = 0 + +/datum/action/cooldown/power/gift/IsAvailable(feedback) + . = ..() + + if(!ishuman(owner)) + if(feedback) + owner.balloon_alert(owner, "not human!") + return FALSE + + var/datum/splat/werewolf/casting_splat = iswerewolfsplat(owner) + + if(get_rage_cost()) + if(casting_splat.rage < get_rage_cost()) + if(feedback) + to_chat(owner, span_warning("You don't have enough RAGE to do that!")) + SEND_SOUND(owner, sound('modular_darkpack/modules/werewolf_the_apocalypse/sounds/werewolf_cast_failed.ogg', volume = 50)) + return FALSE + if(gnosis_req) + if(casting_splat.gnosis < gnosis_req) + if(feedback) + to_chat(owner, span_warning("You don't have enough GNOSIS to do that!")) + SEND_SOUND(owner, sound('modular_darkpack/modules/werewolf_the_apocalypse/sounds/werewolf_cast_failed.ogg', volume = 50)) + return FALSE + + +/datum/action/cooldown/power/gift/Activate(atom/target) + . = ..() + if(!ishuman(owner)) + return FALSE + + var/datum/splat/werewolf/casting_splat = iswerewolfsplat(owner) + + if(get_rage_cost()) + casting_splat.adjust_rage(-get_rage_cost(), owner, FALSE) + if(get_gnosis_cost()) + casting_splat.adjust_gnosis(-get_gnosis_cost(), owner, FALSE) + to_chat(owner, span_notice("You activate the [name]...")) + +/datum/action/cooldown/power/gift/proc/get_rage_cost() + return rage_req + +/datum/action/cooldown/power/gift/proc/get_gnosis_cost() + return gnosis_req diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/ahroun.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/ahroun.dm new file mode 100644 index 000000000000..5422173bfc98 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/ahroun.dm @@ -0,0 +1,45 @@ +/datum/action/cooldown/power/gift/falling_touch + name = "Falling Touch" + desc = "This Gift allows the Garou to send her foe sprawling with but a touch." + button_icon_state = "falling_touch" + click_to_activate = TRUE + +/datum/action/cooldown/power/gift/falling_touch/set_click_ability(mob/on_who) + . = ..() + SEND_SOUND(owner, 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/gifts/falling_touch.ogg') + + +/datum/action/cooldown/power/gift/falling_touch/Activate(atom/target) + if(!isliving(target)) + return + if(!(target in range(1, owner))) + return + + . = ..() + + var/mob/living/victim = target + var/mob/living/caster = owner + var/datum/splat/werewolf/casting_splat = iswerewolfsplat(owner) + var/holding = caster.get_active_held_item() + if(caster.combat_mode) + victim.Knockdown(1 TURNS) + victim.Immobilize(1 TURNS) + playsound(get_turf(caster), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/gifts/falling_touch_activate.ogg', 75, FALSE) // red-tailed hawk sound mixed with disintegrate.ogg + SEND_SIGNAL(owner, COMSIG_MASQUERADE_VIOLATION) + if(holding) + victim.attackby(holding, caster) + else + victim.attack_hand(caster) + + if(casting_splat.rage) + casting_splat.adjust_rage(-1) + else + caster.st_set_stat(STAT_TEMPORARY_WILLPOWER, max((caster.st_get_stat(STAT_TEMPORARY_WILLPOWER) - 1),0)) + to_chat(caster, span_userdanger("You used WILLPOWER to cast [src]!")) + else + victim.Knockdown(1 TURNS) + to_chat(caster, span_notice("You brush up against [victim], knocking them prone!")) + to_chat(victim, span_userdanger("You fall prone!")) + + StartCooldown() + return TRUE diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/galliard.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/galliard.dm new file mode 100644 index 000000000000..7774c0b3e5e7 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/galliard.dm @@ -0,0 +1,96 @@ +/* +/datum/action/cooldown/power/gift/beast_speech + name = "Beast Speech" + desc = "The werewolf with this Gift may communicate with any animals from fish to mammals." + button_icon_state = "beast_speech" + rage_req = 1 + //gnosis_req = 1 + +/datum/action/cooldown/power/gift/beast_speech/Activate(atom/target) + . = ..() + if(allowed_to_proceed) + var/mob/living/carbon/C = owner + if(length(C.beastmaster) > 3) + var/mob/living/simple_animal/hostile/beastmaster/B = pick(C.beastmaster) + qdel(B) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/wolves.ogg', 75, FALSE) + if(!length(C.beastmaster)) + var/datum/action/beastmaster_stay/E1 = new() + E1.Grant(C) + var/datum/action/beastmaster_deaggro/E2 = new() + E2.Grant(C) + var/mob/living/simple_animal/hostile/beastmaster/D = new(get_turf(C)) + D.my_creator = C + C.beastmaster |= D + D.beastmaster = C +*/ + +/* +/datum/action/cooldown/power/gift/call_of_the_wyld + name = "Call Of The Wyld" + desc = "The werewolf may send her howl far beyond the normal range of hearing and imbue it with great emotion, stirring the hearts of fellow Garou and chilling the bones of all others." + button_icon_state = "call_of_the_wyld" + rage_req = 1 + +/datum/action/cooldown/power/gift/call_of_the_wyld/Activate(atom/target) + . = ..() + + if(!ishuman(owner)) + return + var/mob/living/carbon/human/human_owner = owner + if(allowed_to_proceed) + var/mob/living/carbon/C = owner + C.emote("howl") + for(var/mob/living/carbon/A in orange(6, owner)) + if(isgarou(A) || iswerewolf(A)) + A.emote("howl") + spawn(1 SECONDS) + adjust_gnosis(1, A, TRUE) +// awo1 +*/ + +// Very inaccurate right now +/datum/action/cooldown/power/gift/mindspeak + name = "Mindspeak" + desc = "By invoking the power of waking dreams, the Garou can place any chosen characters into silent communion." + button_icon_state = "mindspeak" +// gnosis_req = 1 + + +/datum/action/cooldown/power/gift/mindspeak/Activate(atom/target) + var/input = tgui_input_text(usr, "What do you want to tell to your Tribe?", name, max_length = MAX_MESSAGE_LEN) + if(!input || !IsAvailable(feedback = TRUE)) + return + + var/list/filter_result = CAN_BYPASS_FILTER(usr) ? null : is_ic_filtered(input) + if(filter_result) + REPORT_CHAT_FILTER_TO_USER(usr, filter_result) + return + + var/list/soft_filter_result = CAN_BYPASS_FILTER(usr) ? null : is_soft_ic_filtered(input) + if(soft_filter_result) + if(tgui_alert(usr,"Your message contains \"[soft_filter_result[CHAT_FILTER_INDEX_WORD]]\". \"[soft_filter_result[CHAT_FILTER_INDEX_REASON]]\", Are you sure you want to say it?", "Soft Blocked Word", list("Yes", "No")) != "Yes") + return + message_admins("[ADMIN_LOOKUPFLW(usr)] has passed the soft filter for \"[soft_filter_result[CHAT_FILTER_INDEX_WORD]]\" they may be using a disallowed term. Message: \"[html_encode(input)]\"") + log_admin_private("[key_name(usr)] has passed the soft filter for \"[soft_filter_result[CHAT_FILTER_INDEX_WORD]]\" they may be using a disallowed term. Message: \"[input]\"") + commune_tribe(usr, input) + +/datum/action/cooldown/power/gift/mindspeak/proc/commune_tribe(mob/living/user, message) + var/my_message + if(!message || !user.mind) + return + + my_message = "[findtextEx(user.name, user.real_name) ? user.name : "[user.real_name] (as [user.name])"]: [message]" + var/datum/splat/werewolf/our_splat = iswerewolfsplat(user) + if(!our_splat?.tribe) + return + for(var/mob/living/listener in viewers(9, owner)) + var/datum/splat/werewolf/listener_splat = iswerewolfsplat(listener) + if(listener == user) + to_chat(user, "You transfer this message to your tribe members nearby: [message]", type = MESSAGE_TYPE_RADIO, avoid_highlighting = TRUE) + else if(listener_splat?.tribe?.name == our_splat.tribe.name) + to_chat(listener, "You hear a message in your head... [message]", type = MESSAGE_TYPE_RADIO) + + for(var/mob/listener in GLOB.dead_mob_list) + var/link = FOLLOW_LINK(listener, user) + to_chat(listener, "[link] [my_message]", type = MESSAGE_TYPE_RADIO) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/philodox.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/philodox.dm new file mode 100644 index 000000000000..ceff6a58f470 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/philodox.dm @@ -0,0 +1,106 @@ +/datum/action/cooldown/power/gift/scent_of_the_true_form + name = "Scent Of The True Form" + desc = "This Gift allows the Garou to determine the true nature of a person." + button_icon_state = "scent_of_the_true_form" + click_to_activate = TRUE + var/static/list/wyld_descriptors = list( + "ozone", + "euphoria", + "flowers", + "an unseen breeze", + "petrichor", + "the calm after a thunderstorm", + "a primal ocean", + "the anticipation of limitless possibility" + ) + var/static/list/weaver_descriptors = list( + "sound patterns", + "cleaning fluid", + "hand sanitizer", + "a spider\'s web", + "silken thread", + "metal", + "a sudden drain of energy", + "flashing lights", + "alarms and sirens" + ) + var/static/list/wyrm_descriptors = list( + "rot", + "decay", + "fear", + "an animal that died in fear", + "depression", + "hopelessness", + "pain", + "lengethening shadows" + ) + +/datum/action/cooldown/power/gift/scent_of_the_true_form/set_click_ability(mob/on_who) + . = ..() + SEND_SOUND(owner, 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/gifts/scent_of_the_true_form.ogg') // Vulture sound mixed with fleshtostone.ogg + +/datum/action/cooldown/power/gift/scent_of_the_true_form/Activate(atom/target) + if(!isliving(target)) + return + if(!(target in range(3, owner))) + to_chat(owner, span_warning("You can't smell [target] from here.")) + return + + . = ..() + + var/mob/living/victim = target + var/mob/living/caster = owner + var/datum/splat/werewolf/target_splat = iswerewolfsplat(victim) + + if(istype(target_splat)) + var/secondary_descriptor = "[pick(wyld_descriptors)]" + switch(target_splat.tribe?.name) + if(TRIBE_GLASS_WALKERS) + secondary_descriptor = "[pick(weaver_descriptors)]" + if(TRIBE_BONE_GNAWERS) + secondary_descriptor = "[pick(weaver_descriptors)]" + if(TRIBE_BLACK_SPIRAL_DANCERS) + secondary_descriptor = "[pick(wyrm_descriptors)]" + to_chat(owner, span_purple("[victim] smells like kin[secondary_descriptor ? "...
      ...and of [secondary_descriptor]." : "."]")) + else + var/successes = SSroll.storyteller_roll(caster.st_get_stat(STAT_PERCEPTION) + PRIMAL_URGE_PLACEHOLDER, 6, owner, numerical = TRUE) + switch(successes) + if(0) + to_chat(owner, span_purple("You can't exactly tell what [victim] smells like.")) + if(1) + to_chat(owner, span_purple("[victim] smells mundane.")) + if(2 to 3) + if(iskindred(victim)) + to_chat(owner, span_purple("[victim] smells of [pick(wyrm_descriptors)]")) + if(isshifter(victim) && !isgarou(victim)) + to_chat(owner, span_purple("They smell of kin, but not Garou.")) +// if(ishungrydead(victim)) +// to_chat(owner, span_purple("[victim] smells of [pick(wyrm_descriptors)]")) +// if(ischangeling(victim)) +// to_chat(owner, span_purple("[victim] smells of [pick(wyld_descriptors)]")) +// if(isdemon(victim)) +// to_chat(owner, span_purple("[victim] smells of brimstone.")) +// if(ismummy(victim)) +// to_chat(owner, span_purple("[victim] smells of [pick(wyld_descriptors)]")) + if(4) + if(iskindred(victim)) + to_chat(owner, span_purple("[victim] smells of [pick(wyrm_descriptors)]")) + if(isghoul(victim)) + to_chat(owner, span_purple("[victim] smells of [pick(wyrm_descriptors)]")) + if(isshifter(victim) && !isgarou(victim)) + to_chat(owner, span_purple("They smell of kin, but not Garou.")) +// if(isfomor(victim)) +// to_chat(owner, span_purple("[victim] smells of [pick(wyrm_descriptors)]")) +// if(ischangeling(victim)) +// to_chat(owner, span_purple("[victim] smells of [pick(wyld_descriptors)]")) +// if(isdemon(victim)) +// to_chat(owner, span_purple("[victim] smells of brimstone.")) +// if(ismummy(victim)) +// to_chat(owner, span_purple("[victim] smells of [pick(wyld_descriptors)]")) +// if(ismage(victim)) +// to_chat(owner, span_purple("[victim] smells of pure energy.")) + + caster.emote("sniff") + + StartCooldown() + return TRUE diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/ragabash.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/ragabash.dm new file mode 100644 index 000000000000..5455734ebfa7 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/ragabash.dm @@ -0,0 +1,95 @@ +/* +/datum/action/cooldown/power/gift/blur_of_the_milky_eye + name = "Blur Of The Milky Eye" + desc = "The Garou's form becomes a shimmering blur, allowing him to pass unnoticed among others." + button_icon_state = "blur_of_the_milky_eye" + rage_req = 2 + //gnosis_req = 1 + +/datum/action/cooldown/power/gift/blur_of_the_milky_eye/Activate(atom/target) + . = ..() + if(allowed_to_proceed) + var/mob/living/carbon/C = owner + C.alpha = 36 + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/milky_blur.ogg', 75, FALSE) + spawn(20 SECONDS) + C.alpha = 255 +*/ + +/datum/action/cooldown/power/gift/infectious_laughter + name = "Infectious Laughter" + desc = "When the Ragabash laughs, those around her are compelled to follow along, forgetting their grievances. Uses the last message you spoke for the ability" + button_icon_state = "infectious_laughter" + // I dont acctually see anything in the book that is causes rage. + // rage_req = 1 + var/last_spoken_message + var/when_spoken = 0 + +/datum/action/cooldown/power/gift/infectious_laughter/Grant(mob/granted_to) + . = ..() + + RegisterSignal(granted_to, COMSIG_MOB_SAY, PROC_REF(on_mob_say)) + +/datum/action/cooldown/power/gift/infectious_laughter/Remove(mob/removed_from) + . = ..() + + UnregisterSignal(removed_from, COMSIG_MOB_SAY) + +/datum/action/cooldown/power/gift/infectious_laughter/proc/on_mob_say(datum/source, list/speech_args) + SIGNAL_HANDLER + + last_spoken_message = speech_args[SPEECH_MESSAGE] + when_spoken = world.time + +/datum/action/cooldown/power/gift/infectious_laughter/IsAvailable(feedback) + . = ..() + if(!last_spoken_message || (when_spoken + 3 TURNS < world.time)) + if(feedback) + to_chat(owner, span_warning("You haven't said anything making a joke of the current scene in the past few moments!")) + return FALSE + +/datum/action/cooldown/power/gift/infectious_laughter/Activate(atom/target) + . = ..() + + if(!ishuman(owner)) + return + if(!last_spoken_message || (when_spoken + 3 TURNS < world.time)) + return + var/mob/living/carbon/human/human_owner = owner + + owner.emote("laugh") + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/gifts/infectious_laughter.ogg', 50, FALSE) + var/list/hearers = oviewers(DEFAULT_MESSAGE_RANGE, owner) + var/highest_diff = 0 + for(var/mob/living/dice_guy in hearers) + var/datum/splat/werewolf/rage_haver = iswerewolfsplat(dice_guy) + if(!rage_haver) + continue + highest_diff = max(highest_diff, rage_haver.rage) + var/roll = SSroll.storyteller_roll(human_owner.st_get_stat(STAT_MANIPULATION) + human_owner.st_get_stat(STAT_EMPATHY), highest_diff, owner) + if(roll == ROLL_SUCCESS) + for(var/mob/living/hearer in hearers) + to_chat(hearer, span_hypnophrase("The message bounces around in your head, \"[last_spoken_message]\". You struggle to recall why you might have been mad.")) + hearer.emote("laugh") + + last_spoken_message = null + when_spoken = 0 + + + // laughers.emote("laugh") + +/* +/datum/action/cooldown/power/gift/open_seal + name = "Open Seal" + desc = "With this Gift, the Garou can open nearly any sort of closed or locked physical device." + button_icon_state = "open_seal" +// gnosis_req = 1 + +/datum/action/cooldown/power/gift/open_seal/Activate(atom/target) + . = ..() + if(allowed_to_proceed) + for(var/obj/structure/vampdoor/V in range(5, owner)) + if(V.closed) + if(V.lockpick_difficulty < 10) + V.open_door(owner, TRUE) +*/ diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/theurge.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/theurge.dm new file mode 100644 index 000000000000..eb26fdefe41c --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/auspices/theurge.dm @@ -0,0 +1,40 @@ +/* +From W20 p. 164 +Mother's Touch +System: The player spends one Gnosis point and rolls +Intelligence + Empathy (difficulty is the target’s current +Rage, or 5 for those with no Rage). Each success heals one +level of lethal, bashing, or aggravated damage. The healer +may even heal fresh Battle Scars (see p. 259) in this man- +ner, if the Gift is applied during the same scene in which +the scar is received and an extra Gnosis point is spent. +*/ +/datum/action/cooldown/power/gift/mothers_touch + name = "Mother's Touch" + desc = "The Garou is able to heal the wounds of any living creature, aggravated or otherwise, simply by laying hands over the afflicted area." + button_icon_state = "mothers_touch" + click_to_activate = TRUE + + //rage_req = 1 + gnosis_req = 1 + + +/datum/action/cooldown/power/gift/mothers_touch/Activate(atom/target) + if(!isliving(target)) + return + if(!(target in range(1, owner))) + return + + . = ..() + + var/mob/living/living_owner = owner + var/datum/splat/werewolf/werewolf_splat = iswerewolfsplat(owner) + var/difficulty = werewolf_splat.uses_rage ? werewolf_splat.rage : 5 + var/successes = SSroll.storyteller_roll(living_owner.st_get_stat(STAT_INTELLIGENCE) + living_owner.st_get_stat(STAT_EMPATHY), difficulty, owner, TRUE) + + var/mob/living/living_target = target + living_target.heal_storyteller_health(successes, TRUE, TRUE, TRUE) + + SEND_SIGNAL(owner, COMSIG_MASQUERADE_VIOLATION) + StartCooldown() + return TRUE diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/innate/howling.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/innate/howling.dm new file mode 100644 index 000000000000..2432605cc06b --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/innate/howling.dm @@ -0,0 +1,119 @@ +/datum/action/cooldown/power/gift/howling + name = "Howl" + desc = "The werewolf may send her howl far beyond the normal range of hearing and communicate a single word or concept to all other Garou across the city." + button_icon_state = "call_of_the_wyld" + rage_req = 1 + check_flags = null + innate_ability = TRUE + var/static/list/howls = list( + "attack" = list( + "menu" = "Attack", + SPLAT_GAROU = "A wolf howls a fierce call to attack", + SPLAT_CORAX = "A raven hisses a fierce call to attack" + ), + "retreat" = list( + "menu" = "Retreat", + SPLAT_GAROU = "A wolf howls a warning to retreat", + SPLAT_CORAX = "A raven squawks a warning to retreat" + ), + "help" = list( + "menu" = "Help", + SPLAT_GAROU = "A wolf howls a desperate plea for help", + SPLAT_CORAX = "A raven shrieks a a desperate plea for help" + ), + "gather" = list( + "menu" = "Gather", + SPLAT_GAROU = "A wolf howls to gather the pack", + SPLAT_CORAX = "A raven beckons the conspiracy" + ), + "victory" = list( + "menu" = "Victory", + SPLAT_GAROU = "A wolf howls in celebration of victory", + SPLAT_CORAX = "A raven croaks in celebration of victory" + ), + "dying" = list( + "menu" = "Dying", + SPLAT_GAROU = "A wolf howls in pain and despair", + SPLAT_CORAX = "A raven shrieks in pain and despair" + ), + "mourning" = list( + "menu" = "Mourning", + SPLAT_GAROU = "A wolf howls in deep mourning for the fallen", + SPLAT_CORAX = "A raven mourns the loss of the fallen" + ) + ) + +/datum/action/cooldown/power/gift/howling/IsAvailable(feedback) + . = ..() + if(istype(get_area(owner), /area/vtm/interior/penumbra)) + if(feedback) + to_chat(owner, span_warning("Your howl echoes and dissipates into the Umbra, it's sound blanketed by the spiritual energy of the Velvet Shadow.")) + return + +/datum/action/cooldown/power/gift/howling/Activate(atom/target) + . = ..() + + var/mob/living/living_mob = owner + var/datum/splat/werewolf/shifter = isshifter(owner) + var/list/menu_options = list() + for(var/howl_key in howls) + menu_options += howls[howl_key]["menu"] + + var/choice = tgui_input_list(owner, "Select a howl to use!", "Howl Selection", menu_options) + if(!choice) + return + + var/howl + for(var/howl_key in howls) + if(howls[howl_key]["menu"] == choice) + howl = howls[howl_key] + break + + var/garou_message = howl[shifter.id] + /* + var/tribe = living_mob.auspice.tribe.name + if (tribe) + garou_message = replacetext(garou_message, "tribe", tribe) + */ + var/origin_turf = get_turf(living_mob) + ADD_TRAIT(living_mob, TRAIT_LOUD_HOWLER, type) + living_mob.emote("howl") + REMOVE_TRAIT(living_mob, TRAIT_LOUD_HOWLER, type) + + var/howl_details + var/final_message + for(var/mob/living/howled_at in GLOB.player_list - owner) + if(isshifter(howled_at)) + howl_details = get_message(howled_at, origin_turf) + final_message = garou_message + howl_details + to_chat(howled_at, span_boldnotice(final_message)) + + +/datum/action/cooldown/power/gift/howling/proc/get_message(mob/living/howled_at, turf/origin_turf) + var/distance = get_dist(howled_at, origin_turf) + var/dirtext = " to the " + var/direction = get_dir(howled_at, origin_turf) + + if(dir2text(direction)) + dirtext += dir2text(direction) + else + dirtext = " although I cannot make out an exact direction" + + var/disttext + switch(distance) + if(0 to 20) + disttext = " within 20 feet" + if(20 to 40) + disttext = " 20 to 40 feet away" + if(40 to 80) + disttext = " 40 to 80 feet away" + if(80 to 160) + disttext = " far" + else + disttext = " very far" + + var/place = get_area_name(origin_turf) + + var/returntext = "[disttext],[dirtext], at [place]." + + return returntext diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/tribes.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/tribes/tribes.dm similarity index 72% rename from modular_darkpack/modules/werewolf_the_apocalypse/code/tribes.dm rename to modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/tribes/tribes.dm index 3c9c78421165..4ecee4e784c0 100644 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/tribes.dm +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts/tribes/tribes.dm @@ -1,14 +1,14 @@ -/datum/action/gift/stoic_pose +/datum/action/cooldown/power/gift/stoic_pose name = "Stoic Pose" desc = "With this gift garou sends theirself into cryo-state, ignoring all incoming damage but also covering themself in a block of ice." button_icon_state = "stoic_pose" rage_req = 2 gnosis_req = 1 -/datum/action/gift/stoic_pose/Trigger() +/datum/action/cooldown/power/gift/stoic_pose/Trigger() . = ..() if(allowed_to_proceed) - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/ice_blocking.ogg', 100, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/ice_blocking.ogg', 100, FALSE) var/mob/living/carbon/C = owner if(isgarou(C)) var/obj/were_ice/W = new (get_turf(owner)) @@ -32,17 +32,32 @@ C.forceMove(get_turf(W)) qdel(W) -/datum/action/gift/freezing_wind +/obj/were_ice + name = "ice block" + desc = "Stores some precious organs..." + icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/werewolf_lupus.dmi' + icon_state = "ice_man" + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF + +/obj/were_ice/lupus + icon_state = "ice_wolf" + +/obj/were_ice/crinos + icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/werewolf.dmi' + icon_state = "ice" + pixel_w = -8 + +/datum/action/cooldown/power/gift/freezing_wind name = "Freezing Wind" desc = "Garou of Wendigo Tribe can create a stream of cold, freezing wind, and strike her foes with it." button_icon_state = "freezing_wind" rage_req = 1 //gnosis_req = 1 -/datum/action/gift/freezing_wind/Trigger() +/datum/action/cooldown/power/gift/freezing_wind/Trigger() . = ..() if(allowed_to_proceed) - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/wind_cast.ogg', 100, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/wind_cast.ogg', 100, FALSE) for(var/turf/T in range(3, get_step(get_step(owner, owner.dir), owner.dir))) if(owner.loc != T) var/obj/effect/wind/W = new(T) @@ -52,14 +67,14 @@ qdel(W) // if(allowed_to_proceed) -/datum/action/gift/bloody_feast +/datum/action/cooldown/power/gift/bloody_feast name = "Bloody Feast" desc = "By eating a grabbed corpse, garou can redeem their lost health and heal the injuries." button_icon_state = "bloody_feast" rage_req = 2 gnosis_req = 1 -/datum/action/gift/bloody_feast/Trigger() +/datum/action/cooldown/power/gift/bloody_feast/Trigger() . = ..() if(allowed_to_proceed) var/mob/living/carbon/C = owner @@ -67,36 +82,36 @@ if(isliving(C.pulling)) var/mob/living/L = C.pulling if(L.stat == DEAD) - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/bloody_feast.ogg', 50, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/bloody_feast.ogg', 50, FALSE) qdel(L) C.revive(full_heal = TRUE, admin_revive = TRUE) -/datum/action/gift/stinky_fur +/datum/action/cooldown/power/gift/stinky_fur name = "Stinky Fur" desc = "Garou creates an aura of very toxic smell, which disorientates everyone around." button_icon_state = "stinky_fur" -/datum/action/gift/stinky_fur/Trigger() +/datum/action/cooldown/power/gift/stinky_fur/Trigger() . = ..() if(allowed_to_proceed) - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/necromancy.ogg', 75, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/necromancy.ogg', 75, FALSE) for(var/mob/living/carbon/C in orange(5, owner)) if(prob(25)) C.vomit() C.dizziness += 10 C.add_confusion(10) -/datum/action/gift/venom_claws +/datum/action/cooldown/power/gift/venom_claws name = "Venom Claws" desc = "While this ability is active, strikes with claws poison foes of garou." button_icon_state = "venom_claws" rage_req = 1 -/datum/action/gift/venom_claws/Trigger() +/datum/action/cooldown/power/gift/venom_claws/Trigger() . = ..() if(allowed_to_proceed) if(ishuman(owner)) - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/venom_claws.ogg', 75, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/venom_claws.ogg', 75, FALSE) var/mob/living/carbon/human/H = owner H.melee_damage_lower = initial(H.melee_damage_lower)+15 H.melee_damage_upper = initial(H.melee_damage_upper)+15 @@ -108,7 +123,7 @@ H.melee_damage_upper = initial(H.melee_damage_upper) to_chat(owner, span_warning("Your claws are not poison anymore...")) else - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/venom_claws.ogg', 75, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/venom_claws.ogg', 75, FALSE) var/mob/living/carbon/H = owner H.melee_damage_lower = initial(H.melee_damage_lower)+10 H.melee_damage_upper = initial(H.melee_damage_upper)+10 @@ -120,14 +135,14 @@ H.melee_damage_upper = initial(H.melee_damage_upper) to_chat(owner, span_warning("Your claws are not poison anymore...")) -/datum/action/gift/burning_scars +/datum/action/cooldown/power/gift/burning_scars name = "Burning Scars" desc = "Garou creates an aura of very hot air, which burns everyone around." button_icon_state = "burning_scars" rage_req = 2 gnosis_req = 1 -/datum/action/gift/burning_scars/Trigger() +/datum/action/cooldown/power/gift/burning_scars/Trigger() . = ..() if(allowed_to_proceed) owner.visible_message(span_danger("[owner.name] crackles with heat!"), span_danger("You crackle with heat, charging up your Gift!")) @@ -139,13 +154,13 @@ spawn(5) qdel(F) -/datum/action/gift/smooth_move +/datum/action/cooldown/power/gift/smooth_move name = "Smooth Move" desc = "Garou jumps forward, avoiding every damage for a moment." button_icon_state = "smooth_move" //rage_req = 1 somewhat useless gift with MMB pounce -/datum/action/gift/smooth_move/Trigger() +/datum/action/cooldown/power/gift/smooth_move/Trigger() . = ..() if(allowed_to_proceed) var/turf/T = get_turf(get_step(get_step(get_step(owner, owner.dir), owner.dir), owner.dir)) @@ -158,14 +173,14 @@ spawn(3) owner.throw_at(T, get_dist(owner, T), 1, owner, 0) -/datum/action/gift/digital_feelings +/datum/action/cooldown/power/gift/digital_feelings name = "Digital Feelings" desc = "Every technology creates an electrical strike, which hits garou's enemies." button_icon_state = "digital_feelings" rage_req = 2 gnosis_req = 1 -/datum/action/gift/digital_feelings/Trigger() +/datum/action/cooldown/power/gift/digital_feelings/Trigger() . = ..() if(allowed_to_proceed) owner.visible_message(span_danger("[owner.name] crackles with static electricity!"), span_danger("You crackle with static electricity, charging up your Gift!")) @@ -175,19 +190,19 @@ for(var/mob/living/L in orange(6, owner)) L.electrocute_act(30, owner, siemens_coeff = 1, flags = NONE) -/datum/action/gift/elemental_improvement +/datum/action/cooldown/power/gift/elemental_improvement name = "Elemental Improvement" desc = "Garou flesh replaces itself with prothesis, making it less vulnerable to brute damage, but more for burn damage." button_icon_state = "elemental_improvement" rage_req = 2 gnosis_req = 1 -/datum/action/gift/elemental_improvement/Trigger() +/datum/action/cooldown/power/gift/elemental_improvement/Trigger() . = ..() if(allowed_to_proceed) animate(owner, color = "#6a839a", time = 10) if(ishuman(owner)) - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/electro_cast.ogg', 75, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/electro_cast.ogg', 75, FALSE) var/mob/living/carbon/human/H = owner H.physiology.armor.melee = 25 H.physiology.armor.bullet = 45 @@ -198,7 +213,7 @@ to_chat(owner, span_warning("Your skin is natural again...")) owner.color = "#FFFFFF" else - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/electro_cast.ogg', 75, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/electro_cast.ogg', 75, FALSE) var/mob/living/carbon/werewolf/H = owner H.werewolf_armor = 45 to_chat(owner, span_notice("You feel your skin replaced with the machine...")) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/glyphs.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/glyphs.dm index 96afd70ec212..f7c779af409c 100644 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/glyphs.dm +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/glyphs.dm @@ -1,32 +1,22 @@ /// Inits GLOB.glyph_list /proc/init_glyphs() var/glyph_list = list() - for(var/path in subtypesof(/obj/effect/decal/garou_glyph)) + for(var/path in valid_subtypesof(/obj/effect/decal/garou_glyph)) var/obj/effect/decal/garou_glyph/S = path glyph_list[S.garou_name] = S sort_list(glyph_list, GLOBAL_PROC_REF(cmp_typepaths_asc)) return glyph_list -/obj/item/charcoal_stick - name = "charcoal stick" - desc = "A piece of burnt charcoal." - icon = 'icons/obj/art/crayons.dmi' - icon_state = "crayonblack" - w_class = WEIGHT_CLASS_SMALL - // TODO: Needs a ear icon state - // slot_flags = ITEM_SLOT_EARS +/obj/item/pen/charcoal/interact_with_atom(atom/target, mob/user, list/modifiers, list/attack_modifiers) + if(!isopenturf(target) || isgroundlessturf(target)) + return NONE -/obj/item/charcoal_stick/afterattack(atom/target, mob/user, list/modifiers, list/attack_modifiers) - // DARKPACK TODO - GAROU - //if(!isgarou(user)) - // return + if(!user.has_language(/datum/language/garou_tongue, UNDERSTOOD_LANGUAGE)) + return NONE if(!GLOB.glyph_list.len) to_chat(user, span_notice("There are no glyphs available.")) - return - - if(!isopenturf(target) || isgroundlessturf(target)) - return + return NONE var/list/glyph_names = list() @@ -34,41 +24,42 @@ glyph_names += glyph var/choice = tgui_input_list(user, "Select a glyph to draw.", "Glyph Selection", glyph_names) - if(choice) - var/obj/effect/decal/garou_glyph/drawn_glyph = GLOB.glyph_list[choice] - if(drawn_glyph) - user.visible_message(span_notice("[user] starts to scrape a glyph into the ground..."), \ - span_notice("You begin to etch the spirals and lines of your chosen glyph...")) - - if(do_after(user, 5 SECONDS, target)) - new drawn_glyph.type(target) - user.visible_message(span_notice("[user] finishes up their rune."), \ - span_notice("You put the finishing touches on your rune, as it marks the ground before you.")) - else - user.visible_message(span_notice("[user] slips, smduges and ruins their glyph."), \ - span_notice("You mess it up, the glyph turning into nothing more than a smear upon the ground.")) - . = ..() + if(!choice) + return ITEM_INTERACT_BLOCKING + + var/obj/effect/decal/garou_glyph/drawn_glyph = GLOB.glyph_list[choice] + if(drawn_glyph) + user.visible_message(span_notice("[user] starts to scrape a glyph into the ground..."), \ + span_notice("You begin to etch the spirals and lines of your chosen glyph...")) + + if(do_after(user, 5 SECONDS, target)) + new drawn_glyph.type(target) + user.visible_message(span_notice("[user] finishes up their rune."), \ + span_notice("You put the finishing touches on your rune, as it marks the ground before you.")) + return ITEM_INTERACT_SUCCESS + else + user.visible_message(span_notice("[user] slips, smduges and ruins their glyph."), \ + span_notice("You mess it up, the glyph turning into nothing more than a smear upon the ground.")) + return ITEM_INTERACT_FAILURE /obj/effect/decal/garou_glyph + abstract_type = /obj/effect/decal/garou_glyph name = "odd glyph" desc = "An odd collection of symbols drawn in what seems to be charcoal." - var/garou_name = "basic glyph" - var/garou_desc = "a basic glyph with no meaning." // This is shown to werewolves who examine the glyph in order to determine its true meaning. anchored = TRUE icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/glyphs.dmi' icon_state = "garou" resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF // Very likely not needed // layer = SIGIL_LAYER + var/garou_name = "basic glyph" + var/garou_desc = "a basic glyph with no meaning." // This is shown to werewolves who examine the glyph in order to determine its true meaning. /obj/effect/decal/garou_glyph/examine(mob/user) . = ..() - // DARKPACK TODO - GAROU - /* - if(isgarou(user) || iswerewolf(user)) // If they're a werewolf, show them the true meaning of the glyph. - . += "Name: [garou_name]\n" + \ - "Description: [garou_desc]\n" - */ + if(user.has_language(/datum/language/garou_tongue, UNDERSTOOD_LANGUAGE)) + . += "Name: [garou_name]\n" + . += "Description: [garou_desc]\n" /obj/effect/decal/garou_glyph/wyrm name = "creepy glyph" diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/hud.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/hud.dm new file mode 100644 index 000000000000..235ff019a939 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/hud.dm @@ -0,0 +1,217 @@ +#define UI_LIVING_AUSPICE "EAST-2:16,CENTER:40" +#define UI_LIVING_RAGE_AND_GNOSIS "EAST-2:20,CENTER-1:40" +#define UI_LIVING_TRANSFORM_HOMID "EAST-2,CENTER+1:40" +#define UI_LIVING_TRANSFORM_WAR "EAST-1,CENTER+1:40" +#define UI_LIVING_TRANSFORM_FERAL "EAST,CENTER+1:40" + +/datum/hud/proc/add_werewolf_elements() + // transform_werewolf = new(null, src) + // infodisplay += transform_werewolf + + if(!auspice_icon) + auspice_icon = new(null, src) + infodisplay += auspice_icon + + if(!rage_and_gnosis_icon) + rage_and_gnosis_icon = new(null, src) + infodisplay += rage_and_gnosis_icon + + if(!homid_trans_icon) + homid_trans_icon = new(null, src) + infodisplay += homid_trans_icon + if(!war_trans_icon) + war_trans_icon = new(null, src) + infodisplay += war_trans_icon + if(!feral_trans_icon) + feral_trans_icon = new(null, src) + infodisplay += feral_trans_icon + + +/datum/splat/werewolf/add_relevent_huds(datum/hud/hud_used) + hud_used.add_werewolf_elements() + +/atom/movable/screen/auspice + name = "auspice" + icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/werewolf_ui.dmi' + icon_state = "auspice_bar" + screen_loc = UI_LIVING_AUSPICE + mouse_over_pointer = MOUSE_HAND_POINTER + var/looked_at_moon = FALSE + COOLDOWN_DECLARE(force_rage_cd) + +/atom/movable/screen/auspice/Initialize(mapload, datum/hud/hud_owner) + . = ..() + + update_icon() + register_context() + +/atom/movable/screen/auspice/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + + context[SCREENTIP_CONTEXT_LMB] = "Check Moon" + if(COOLDOWN_FINISHED(src, force_rage_cd)) + context[SCREENTIP_CONTEXT_RMB] = "Gain Rage" + + return CONTEXTUAL_SCREENTIP_SET + +/atom/movable/screen/auspice/Click(location, control, params) + . = ..() + var/mob/living/carbon/human/clicker = usr + if(!istype(clicker)) + return + var/datum/splat/werewolf/clicker_splat = iswerewolfsplat(clicker) + if(!istype(clicker_splat)) + return + + var/list/modifiers = params2list(params) + if(LAZYACCESS(modifiers, RIGHT_CLICK) && clicker_splat.uses_rage) + if(!COOLDOWN_FINISHED(src, force_rage_cd)) + return + + clicker_splat.adjust_rage(1) + message_admins("[ADMIN_LOOKUPFLW(clicker)] manually gained rage.") + clicker.log_message("manually gained rage.", LOG_GAME, color="red") + COOLDOWN_START(src, force_rage_cd, 1 SCENES) + return TRUE + + var/area/my_area = get_area(clicker) + if(!my_area || !my_area.outdoors) + to_chat(clicker, span_warning("You need to be outside to look at the moon!")) + return + + to_chat(clicker, span_notice("The phase of the Moon is a [GLOB.moon_state].")) + + if(looked_at_moon) + return + looked_at_moon = TRUE + + update_icon() + + if(!clicker_splat.uses_rage) + return + + var/rage_amount = 1 + // W20 p. 145 + switch(GLOB.moon_state) + if(MOON_NEW) + rage_amount = 1 + if(MOON_WANING_GIBBOUS, MOON_WANING_CRESCENT) + rage_amount = 2 + if(MOON_WAXING_CRESENT, MOON_FIRST_QUARTER, MOON_WAXING_GIBBOUS, MOON_LAST_QUARTER) + rage_amount = 3 + if(MOON_FULL) + rage_amount = 4 + + if(clicker_splat?.auspice && (GLOB.moon_state in clicker_splat.auspice.moons_born_under)) + rage_amount = MAX_RAGE + + clicker_splat.adjust_rage(rage_amount, TRUE) + return TRUE + +/atom/movable/screen/auspice/update_icon_state() + if(looked_at_moon) + icon_state = "[GLOB.moon_state]" + return ..() + + +/mob/living/proc/update_werewolf_hud() + if(!hud_used) + return + hud_used.rage_and_gnosis_icon?.update_icon() + +/atom/movable/screen/rage_and_gnosis + name = "rage and gnosis" + icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/hud_meters.dmi' + icon_state = "rage0" + screen_loc = UI_LIVING_RAGE_AND_GNOSIS + +/atom/movable/screen/rage_and_gnosis/Initialize(mapload, datum/hud/hud_owner) + . = ..() + + update_icon() + +/atom/movable/screen/rage_and_gnosis/update_icon_state() + var/mob/living/owner = hud?.mymob + if(!istype(owner)) + return + + var/datum/splat/werewolf/our_splat = iswerewolfsplat(owner) + if(!istype(our_splat)) + return + + icon_state = "rage[our_splat.rage]" + + // Should really be in update_overlays but i wanted to keep it to one iswerewolfsplat fetch + cut_overlays() + add_overlay("gnosis[our_splat.gnosis]") + + return ..() + +/atom/movable/screen/fera_transform + abstract_type = /atom/movable/screen/fera_transform + icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/hud_transforms.dmi' + mouse_over_pointer = MOUSE_HAND_POINTER + var/datum/species/left_click_transform + var/datum/species/right_click_transform + +/atom/movable/screen/fera_transform/Initialize(mapload, datum/hud/hud_owner) + . = ..() + + update_icon() + register_context() + +/atom/movable/screen/fera_transform/Click(location, control, params) + . = ..() + var/mob/living/carbon/human/clicker = usr + if(!istype(clicker)) + return + if(clicker.stat >= UNCONSCIOUS) + return + + var/datum/splat/werewolf/shifter/shifting = isshifter(clicker) + var/list/modifiers = params2list(params) + // Right click for alt forms like glabro and hispo. Ctrl click to use rage to do it instantly (doesnt matter if its breed form tho) + shifting.transform_fera(LAZYACCESS(modifiers, RIGHT_CLICK) ? right_click_transform : left_click_transform, LAZYACCESS(modifiers, CTRL_CLICK)) + + +/atom/movable/screen/fera_transform/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + + var/datum/splat/werewolf/shifter/shifting = isshifter(user) + + if(left_click_transform) + context[SCREENTIP_CONTEXT_LMB] = "Shift to [left_click_transform::name]" + if(left_click_transform != shifting.get_breed_form_species()) + context[SCREENTIP_CONTEXT_CTRL_LMB] = "Shift using rage" + if(right_click_transform) + context[SCREENTIP_CONTEXT_RMB] = "Shift to [right_click_transform::name]" + if(right_click_transform != shifting.get_breed_form_species()) + context[SCREENTIP_CONTEXT_CTRL_RMB] = "Shift using rage" + + return CONTEXTUAL_SCREENTIP_SET + +/atom/movable/screen/fera_transform/homid + name = "homid form" + icon_state = "homid" + screen_loc = UI_LIVING_TRANSFORM_HOMID + left_click_transform = /datum/species/human/shifter/homid + right_click_transform = /datum/species/human/shifter/bestial + +/atom/movable/screen/fera_transform/war + name = "war form" + icon_state = "war" + screen_loc = UI_LIVING_TRANSFORM_WAR + left_click_transform = /datum/species/human/shifter/war + +/atom/movable/screen/fera_transform/feral + name = "feral form" + icon_state = "feral" + screen_loc = UI_LIVING_TRANSFORM_FERAL + left_click_transform = /datum/species/human/shifter/feral + right_click_transform = /datum/species/human/shifter/dire + +#undef UI_LIVING_TRANSFORM_HOMID +#undef UI_LIVING_TRANSFORM_WAR +#undef UI_LIVING_TRANSFORM_FERAL +#undef UI_LIVING_AUSPICE +#undef UI_LIVING_RAGE_AND_GNOSIS diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/old/gifts.dm similarity index 50% rename from modular_darkpack/modules/werewolf_the_apocalypse/code/gifts.dm rename to modular_darkpack/modules/werewolf_the_apocalypse/code/old/gifts.dm index a572395bb31a..86fec51a85d5 100644 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/gifts.dm +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/old/gifts.dm @@ -1,61 +1,17 @@ -/datum/action/gift - icon_icon = 'modular_darkpack/modules/deprecated/icons/werewolf_abilities.dmi' - button_icon = 'modular_darkpack/modules/deprecated/icons/werewolf_abilities.dmi' - check_flags = AB_CHECK_IMMOBILE|AB_CHECK_CONSCIOUS - var/rage_req = 0 - var/gnosis_req = 0 - var/cool_down = 0 - - var/allowed_to_proceed = FALSE - -/datum/action/gift/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force = FALSE) - icon_icon = 'modular_darkpack/modules/deprecated/icons/werewolf_abilities.dmi' - button_icon = 'modular_darkpack/modules/deprecated/icons/werewolf_abilities.dmi' - . = ..() - -/datum/action/gift/Trigger() - . = ..() - if(istype(owner, /mob/living/carbon)) - var/mob/living/carbon/H = owner - if(H.stat == DEAD) - allowed_to_proceed = FALSE - return - if(rage_req) - if(H.auspice.rage < rage_req) - to_chat(owner, span_warning("You don't have enough RAGE to do that!")) - SEND_SOUND(owner, sound('modular_darkpack/modules/deprecated/sounds/werewolf_cast_failed.ogg', volume = 75)) - allowed_to_proceed = FALSE - return - if(H.auspice.gnosis < gnosis_req) - to_chat(owner, span_warning("You don't have enough GNOSIS to do that!")) - SEND_SOUND(owner, sound('modular_darkpack/modules/deprecated/sounds/werewolf_cast_failed.ogg', volume = 75)) - allowed_to_proceed = FALSE - return - if(cool_down+150 >= world.time) - allowed_to_proceed = FALSE - return - cool_down = world.time - allowed_to_proceed = TRUE - if(rage_req) - adjust_rage(-rage_req, owner, FALSE) - if(gnosis_req) - adjust_gnosis(-gnosis_req, owner, FALSE) - to_chat(owner, span_notice("You activate the [name]...")) - -/datum/action/gift/falling_touch +/datum/action/cooldown/power/gift/falling_touch name = "Falling Touch" desc = "This Gift allows the Garou to send her foe sprawling with but a touch." button_icon_state = "falling_touch" rage_req = 1 -/datum/action/gift/falling_touch/Trigger() +/datum/action/cooldown/power/gift/falling_touch/Activate(atom/target) . = ..() if(allowed_to_proceed) var/mob/living/carbon/H = owner - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/falling_touch.ogg', 75, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/falling_touch.ogg', 75, FALSE) H.put_in_active_hand(new /obj/item/melee/touch_attack/werewolf(H)) -/datum/action/gift/inspiration +/datum/action/cooldown/power/gift/inspiration name = "Inspiration" desc = "The Garou with this Gift lends new resolve and righteous anger to his brethren." button_icon_state = "inspiration" @@ -80,28 +36,28 @@ to_chat(src, span_warning("You no longer feel inspired...")) inspired = FALSE -/datum/action/gift/inspiration/Trigger() +/datum/action/cooldown/power/gift/inspiration/Activate(atom/target) . = ..() if(allowed_to_proceed) var/mob/living/carbon/H = owner - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/inspiration.ogg', 75, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/inspiration.ogg', 75, FALSE) H.emote("scream") for(var/mob/living/carbon/C in range(5, owner)) if(iswerewolf(C) || isgarou(C)) if(C.auspice.tribe == H.auspice.tribe) C.inspired() -/datum/action/gift/razor_claws +/datum/action/cooldown/power/gift/razor_claws name = "Razor Claws" desc = "By raking his claws over stone, steel, or another hard surface, the Ahroun hones them to razor sharpness." button_icon_state = "razor_claws" rage_req = 1 -/datum/action/gift/razor_claws/Trigger() +/datum/action/cooldown/power/gift/razor_claws/Activate(atom/target) . = ..() if(allowed_to_proceed) if(ishuman(owner)) - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/razor_claws.ogg', 75, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/razor_claws.ogg', 75, FALSE) var/mob/living/carbon/human/H = owner H.dna.species.attack_verb = "slash" H.dna.species.attack_sound = 'sound/items/weapons/slash.ogg' @@ -119,7 +75,7 @@ H.agg_damage_plus = 0 to_chat(owner, span_warning("Your claws are not sharp anymore...")) else - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/razor_claws.ogg', 75, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/razor_claws.ogg', 75, FALSE) var/mob/living/carbon/H = owner H.melee_damage_lower = H.melee_damage_lower+15 H.melee_damage_upper = H.melee_damage_upper+15 @@ -131,80 +87,17 @@ H.agg_damage_plus = 0 to_chat(owner, span_warning("Your claws are not sharp anymore...")) -/datum/action/gift/beast_speech - name = "Beast Speech" - desc = "The werewolf with this Gift may communicate with any animals from fish to mammals." - button_icon_state = "beast_speech" - rage_req = 1 - //gnosis_req = 1 - -/datum/action/gift/beast_speech/Trigger() - . = ..() - if(allowed_to_proceed) - var/mob/living/carbon/C = owner - if(length(C.beastmaster) > 3) - var/mob/living/simple_animal/hostile/beastmaster/B = pick(C.beastmaster) - qdel(B) - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/wolves.ogg', 75, FALSE) - if(!length(C.beastmaster)) - var/datum/action/beastmaster_stay/E1 = new() - E1.Grant(C) - var/datum/action/beastmaster_deaggro/E2 = new() - E2.Grant(C) - var/mob/living/simple_animal/hostile/beastmaster/D = new(get_turf(C)) - D.my_creator = C - C.beastmaster |= D - D.beastmaster = C - -/datum/action/gift/call_of_the_wyld - name = "Call Of The Wyld" - desc = "The werewolf may send her howl far beyond the normal range of hearing and imbue it with great emotion, stirring the hearts of fellow Garou and chilling the bones of all others." - button_icon_state = "call_of_the_wyld" - rage_req = 1 - -/datum/action/gift/call_of_the_wyld/Trigger() - . = ..() - if(allowed_to_proceed) - var/mob/living/carbon/C = owner - C.emote("howl") - playsound(get_turf(C), pick('modular_darkpack/modules/deprecated/sounds/awo1.ogg', 'modular_darkpack/modules/deprecated/sounds/awo2.ogg'), 100, FALSE) - for(var/mob/living/carbon/A in orange(6, owner)) - if(isgarou(A) || iswerewolf(A)) - A.emote("howl") - playsound(get_turf(A), pick('modular_darkpack/modules/deprecated/sounds/awo1.ogg', 'modular_darkpack/modules/deprecated/sounds/awo2.ogg'), 100, FALSE) - spawn(10) - adjust_gnosis(1, A, TRUE) -// awo1 - -/datum/action/gift/mindspeak - name = "Mindspeak" - desc = "By invoking the power of waking dreams, the Garou can place any chosen characters into silent communion." - button_icon_state = "mindspeak" -// gnosis_req = 1 - -/datum/action/gift/mindspeak/Trigger() - . = ..() - if(allowed_to_proceed) - var/new_thought = input(owner, "What do you want to tell to your Tribe?") as text|null - if(new_thought) - var/mob/living/carbon/C = owner - to_chat(C, "You transfer this message to your tribe members nearby: [sanitize_text(new_thought)]") - for(var/mob/living/carbon/A in orange(9, owner)) - if(isgarou(A) || iswerewolf(A)) - if(A.auspice.tribe == C.auspice.tribe) - to_chat(A, "You hear a message in your head... [sanitize_text(new_thought)]") - -/datum/action/gift/resist_pain +/datum/action/cooldown/power/gift/resist_pain name = "Resist Pain" desc = "Through force of will, the Philodox is able to ignore the pain of his wounds and continue acting normally." button_icon_state = "resist_pain" rage_req = 2 -/datum/action/gift/resist_pain/Trigger() +/datum/action/cooldown/power/gift/resist_pain/Activate(atom/target) . = ..() if(allowed_to_proceed) if(ishuman(owner)) - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/resist_pain.ogg', 75, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/resist_pain.ogg', 75, FALSE) var/mob/living/carbon/human/H = owner H.physiology.armor.melee = 40 H.physiology.armor.bullet = 25 @@ -214,7 +107,7 @@ H.physiology.armor.bullet = initial(H.physiology.armor.bullet) to_chat(owner, span_warning("Your skin is thin again...")) else - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/resist_pain.ogg', 75, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/resist_pain.ogg', 75, FALSE) var/mob/living/carbon/werewolf/H = owner H.werewolf_armor = 40 to_chat(owner, span_notice("You feel your skin thickering...")) @@ -222,14 +115,14 @@ H.werewolf_armor = initial(H.werewolf_armor) to_chat(owner, span_warning("Your skin is thin again...")) -/datum/action/gift/scent_of_the_true_form +/datum/action/cooldown/power/gift/scent_of_the_true_form name = "Scent Of The True Form" desc = "This Gift allows the Garou to determine the true nature of a person." button_icon_state = "scent_of_the_true_form" rage_req = 1 //gnosis_req = 1 -/datum/action/gift/scent_of_the_true_form/Trigger() +/datum/action/cooldown/power/gift/scent_of_the_true_form/Activate(atom/target) . = ..() if(allowed_to_proceed) var/datum/atom_hud/abductor_hud = GLOB.huds[DATA_HUD_ABDUCTOR] @@ -237,49 +130,36 @@ spawn(200) abductor_hud.remove_hud_from(owner) -/datum/action/gift/truth_of_gaia +/datum/action/cooldown/power/gift/truth_of_gaia name = "Truth Of Gaia" desc = "As judges of the Litany, Philodox have the ability to sense whether others have spoken truth or falsehood." button_icon_state = "truth_of_gaia" // rage_req = 1 -/datum/action/gift/mothers_touch - name = "Mother's Touch" - desc = "The Garou is able to heal the wounds of any living creature, aggravated or otherwise, simply by laying hands over the afflicted area." - button_icon_state = "mothers_touch" - rage_req = 2 - //gnosis_req = 1 - -/datum/action/gift/mothers_touch/Trigger() - . = ..() - if(allowed_to_proceed) - var/mob/living/carbon/H = owner - H.put_in_active_hand(new /obj/item/melee/touch_attack/mothers_touch(H)) - -/datum/action/gift/sense_wyrm +/datum/action/cooldown/power/gift/sense_wyrm name = "Sense Wyrm" desc = "This Gift allows the werewolf to sense the presence of Wyrm." button_icon_state = "sense_wyrm" rage_req = 1 -/datum/action/gift/sense_wyrm/Trigger() +/datum/action/cooldown/power/gift/sense_wyrm/Activate(atom/target) . = ..() if(allowed_to_proceed) var/mob/living/carbon/C = owner C.sight = SEE_MOBS|SEE_OBJS - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/sense_wyrm.ogg', 75, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/sense_wyrm.ogg', 75, FALSE) to_chat(owner, span_notice("You feel your sense sharpening...")) spawn(200) C.sight = initial(C.sight) to_chat(owner, span_warning("You no longer sense anything more than normal...")) -/datum/action/gift/spirit_speech +/datum/action/cooldown/power/gift/spirit_speech name = "Spirit Speech" desc = "This Gift allows the Garou to communicate with encountered spirits." button_icon_state = "spirit_speech" //gnosis_req = 1 -/datum/action/gift/spirit_speech/Trigger() +/datum/action/cooldown/power/gift/spirit_speech/Activate(atom/target) . = ..() if(allowed_to_proceed) var/mob/living/carbon/C = owner @@ -287,66 +167,19 @@ spawn(200) C.see_invisible = initial(C.see_invisible) -/datum/action/gift/blur_of_the_milky_eye - name = "Blur Of The Milky Eye" - desc = "The Garou's form becomes a shimmering blur, allowing him to pass unnoticed among others." - button_icon_state = "blur_of_the_milky_eye" - rage_req = 2 - //gnosis_req = 1 - -/datum/action/gift/blur_of_the_milky_eye/Trigger() - . = ..() - if(allowed_to_proceed) - var/mob/living/carbon/C = owner - C.alpha = 36 - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/milky_blur.ogg', 75, FALSE) - spawn(20 SECONDS) - C.alpha = 255 - -/datum/action/gift/open_seal - name = "Open Seal" - desc = "With this Gift, the Garou can open nearly any sort of closed or locked physical device." - button_icon_state = "open_seal" -// gnosis_req = 1 - -/datum/action/gift/open_seal/Trigger() - . = ..() - if(allowed_to_proceed) - for(var/obj/structure/vampdoor/V in range(5, owner)) - if(V.closed) - if(V.lockpick_difficulty < 10) - V.open_door(owner, TRUE) - -/datum/action/gift/infectious_laughter - name = "Infectious Laughter" - desc = "When the Ragabash laughs, those around her are compelled to follow along, forgetting their grievances." - button_icon_state = "infectious_laughter" - rage_req = 1 - -/datum/action/gift/infectious_laughter/Trigger() - . = ..() - if(allowed_to_proceed) - var/mob/living/carbon/C = owner - C.emote("laugh") - C.Stun(10) - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/infectious_laughter.ogg', 100, FALSE) - for(var/mob/living/L in oviewers(4, owner)) - L.emote("laugh") - L.Stun(20) - -/datum/action/gift/rage_heal +/datum/action/cooldown/power/gift/rage_heal name = "Rage Heal" desc = "This Gift allows the Garou to heal severe injuries with rage." button_icon_state = "rage_heal" rage_req = 1 check_flags = null -/datum/action/gift/rage_heal/Trigger() +/datum/action/cooldown/power/gift/rage_heal/Activate(atom/target) . = ..() if(allowed_to_proceed) var/mob/living/carbon/C = owner if(C.stat != DEAD) - SEND_SOUND(owner, sound('modular_darkpack/modules/deprecated/sounds/rage_heal.ogg', volume = 75)) + SEND_SOUND(owner, sound('modular_darkpack/modules/werewolf_the_apocalypse/sounds/rage_heal.ogg', volume = 50)) C.adjust_brute_loss(-40*C.auspice.level, TRUE) C.adjust_fire_loss(-30*C.auspice.level, TRUE) C.adjust_agg_loss(-10*C.auspice.level, TRUE) @@ -376,10 +209,10 @@ name = "Change Apparel" desc = "Choose the clothes of your Crinos form." button_icon_state = "choose_apparel" - icon_icon = 'modular_darkpack/modules/deprecated/icons/werewolf_abilities.dmi' + icon_icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/werewolf_abilities.dmi' check_flags = AB_CHECK_IMMOBILE|AB_CHECK_CONSCIOUS -/datum/action/change_apparel/Trigger() +/datum/action/change_apparel/Activate(atom/target) . = ..() var/mob/living/carbon/werewolf/crinos/C = owner if(C.stat == CONSCIOUS) @@ -388,18 +221,18 @@ else C.sprite_apparel = min(4, C.sprite_apparel+1) -/datum/action/gift/hispo +/datum/action/cooldown/power/gift/hispo name = "Hispo Form" desc = "Change your Lupus form into Hispo and backwards." button_icon_state = "hispo" -/datum/action/gift/hispo/Trigger() +/datum/action/cooldown/power/gift/hispo/Activate(atom/target) . = ..() if(allowed_to_proceed) var/mob/living/carbon/werewolf/lupus/H = owner - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/transform.ogg', 50, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/transform.ogg', 50, FALSE) if(H.hispo) - H.icon = 'modular_darkpack/modules/deprecated/icons/werewolf_lupus.dmi' + H.icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/werewolf_lupus.dmi' H.pixel_w = 0 H.pixel_z = 0 H.melee_damage_lower = initial(H.melee_damage_lower) @@ -409,7 +242,7 @@ H.remove_movespeed_modifier(/datum/movespeed_modifier/crinosform) H.add_movespeed_modifier(/datum/movespeed_modifier/lupusform) else - H.icon = 'modular_darkpack/modules/deprecated/icons/hispo.dmi' + H.icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/hispo.dmi' H.pixel_w = -16 H.pixel_z = -16 H.melee_damage_lower = 35 @@ -419,17 +252,17 @@ H.remove_movespeed_modifier(/datum/movespeed_modifier/lupusform) H.add_movespeed_modifier(/datum/movespeed_modifier/crinosform) -/datum/action/gift/glabro +/datum/action/cooldown/power/gift/glabro name = "Glabro Form" desc = "Change your Homid form into Glabro and backwards." button_icon_state = "glabro" -/datum/action/gift/glabro/Trigger() +/datum/action/cooldown/power/gift/glabro/Activate(atom/target) . = ..() if(allowed_to_proceed) var/mob/living/carbon/human/H = owner var/datum/species/garou/G = H.dna.species - playsound(get_turf(owner), 'modular_darkpack/modules/deprecated/sounds/transform.ogg', 50, FALSE) + playsound(get_turf(owner), 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/transform.ogg', 50, FALSE) if(G.glabro) H.remove_overlay(PROTEAN_LAYER) G.punchdamagelow -= 15 @@ -444,7 +277,7 @@ H.update_icons() else H.remove_overlay(PROTEAN_LAYER) - var/mutable_appearance/glabro_overlay = mutable_appearance('modular_darkpack/modules/deprecated/icons/werewolf_abilities.dmi', H.transformator.crinos_form?.sprite_color, -PROTEAN_LAYER) + var/mutable_appearance/glabro_overlay = mutable_appearance('modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/werewolf_abilities.dmi', H.transformator.crinos_form?.sprite_color, -PROTEAN_LAYER) H.overlays_standing[PROTEAN_LAYER] = glabro_overlay H.apply_overlay(PROTEAN_LAYER) G.punchdamagelow += 15 diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/auspice.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/auspice.dm new file mode 100644 index 000000000000..7c767bd00f21 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/auspice.dm @@ -0,0 +1,20 @@ +/datum/preference/choiced/garou_auspice + savefile_key = "garou_auspice" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_FEATURES + priority = PREFERENCE_PRIORITY_WORLD_OF_DARKNESS + main_feature_name = "Auspice" + relevant_inherent_trait = TRAIT_WTA_GAROU_AUSPICE + must_have_relevant_trait = TRUE + should_generate_icons = TRUE + +/datum/preference/choiced/garou_auspice/init_possible_values() + return assoc_to_keys(GLOB.auspices_list) // This would be inclusive of ALL auspices so many need to be reworked when adding other fera + +/datum/preference/choiced/garou_auspice/icon_for(value) + var/datum/universal_icon/auspice_icon = uni_icon('icons/effects/effects.dmi', "nothing") + auspice_icon.blend_icon(uni_icon('modular_darkpack/modules/werewolf_the_apocalypse/icons/auspices.dmi', replacetext(LOWER_TEXT(value), " ", "_")), ICON_OVERLAY) + return auspice_icon + +/datum/preference/choiced/garou_auspice/apply_to_human(mob/living/carbon/human/target, value) + target.set_auspice(value, TRUE) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/breed.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/breed.dm new file mode 100644 index 000000000000..f07ab142ad4e --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/breed.dm @@ -0,0 +1,40 @@ +/datum/preference/choiced/garou_breed + savefile_key = "garou_breed" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_FEATURES + priority = PREFERENCE_PRIORITY_WORLD_OF_DARKNESS + main_feature_name = "Breed" + relevant_inherent_trait = TRAIT_WTA_GAROU_BREED + must_have_relevant_trait = TRUE + should_generate_icons = TRUE + +/datum/preference/choiced/garou_breed/init_possible_values() + return assoc_to_keys(GLOB.breed_forms_list) + +/datum/preference/choiced/garou_breed/icon_for(value) + var/datum/universal_icon/garou_icon = uni_icon('icons/effects/effects.dmi', "nothing") + switch(value) + if(BREED_HOMID) + var/datum/universal_icon/breed_homid = uni_icon('icons/mob/human/bodyparts_greyscale.dmi', "human_head_m") + breed_homid.blend_icon(uni_icon('icons/mob/human/bodyparts_greyscale.dmi', "human_chest_m"), ICON_OVERLAY) + breed_homid.blend_icon(uni_icon('icons/mob/human/bodyparts_greyscale.dmi', "human_l_arm"), ICON_OVERLAY) + breed_homid.blend_icon(uni_icon('icons/mob/human/bodyparts_greyscale.dmi', "human_r_arm"), ICON_OVERLAY) + breed_homid.blend_icon(uni_icon('icons/mob/human/bodyparts_greyscale.dmi', "human_r_leg"), ICON_OVERLAY) + breed_homid.blend_icon(uni_icon('icons/mob/human/bodyparts_greyscale.dmi', "human_l_leg"), ICON_OVERLAY) + breed_homid.blend_icon(uni_icon('icons/mob/human/bodyparts_greyscale.dmi', "human_r_hand"), ICON_OVERLAY) + breed_homid.blend_icon(uni_icon('icons/mob/human/bodyparts_greyscale.dmi', "human_l_hand"), ICON_OVERLAY) + breed_homid.blend_color(skintone2hex("caucasian1"), ICON_MULTIPLY) + breed_homid.scale(32, 32) + garou_icon.blend_icon(breed_homid, ICON_OVERLAY) + if(BREED_LUPUS) + var/datum/universal_icon/breed_lupus = uni_icon('modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/lupus.dmi', "black") + breed_lupus.scale(32, 32) + garou_icon.blend_icon(breed_lupus, ICON_OVERLAY) + if(BREED_CRINOS) + var/datum/universal_icon/breed_crinos = uni_icon('modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/crinos.dmi', "black") + breed_crinos.scale(32, 32) + garou_icon.blend_icon(breed_crinos, ICON_OVERLAY) + return garou_icon + +/datum/preference/choiced/garou_breed/apply_to_human(mob/living/carbon/human/target, value) + target.set_breed_form(value, TRUE) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/fur.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/fur.dm new file mode 100644 index 000000000000..5ffe5a8988fd --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/fur.dm @@ -0,0 +1,15 @@ +/datum/preference/choiced/garou_fur_color + savefile_key = "garou_fur_color" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_SECONDARY_FEATURES + priority = PREFERENCE_PRIORITY_WORLD_OF_DARKNESS + main_feature_name = "Fera Fur Color" + relevant_inherent_trait = TRAIT_FERA_FUR + must_have_relevant_trait = TRUE + +/datum/preference/choiced/garou_fur_color/init_possible_values() + return assoc_to_keys(GLOB.garou_fur_colors) + + +/datum/preference/choiced/garou_fur_color/apply_to_human(mob/living/carbon/human/target, value) + target.dna.features[FEATURE_FUR_COLOR] = value diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/renown.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/renown.dm new file mode 100644 index 000000000000..d166f2f8a39b --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/renown.dm @@ -0,0 +1,47 @@ +/datum/preference/numeric/renown + abstract_type = /datum/preference/numeric/renown + category = PREFERENCE_CATEGORY_MANUALLY_RENDERED // DARKPACK TODO - Render this somewhere + priority = PREFERENCE_PRIORITY_REQUIRES_SUBSPLAT + savefile_identifier = PREFERENCE_CHARACTER + + minimum = 1 + maximum = 10 + +/datum/preference/numeric/renown/create_default_value() + return 1 + +/datum/preference/numeric/renown/apply_to_human(mob/living/carbon/human/target, value) + var/datum/splat/werewolf/splat = iswerewolfsplat(target) + if(!splat) + return + + splat.renown[savefile_key] = value + +/datum/preference/numeric/renown/honor + savefile_key = RENOWN_HONOR + +/datum/preference/numeric/renown/glory + savefile_key = RENOWN_GLORY + +/datum/preference/numeric/renown/wisdom + savefile_key = RENOWN_WISDOM + + +/datum/preference/numeric/fera_rank + category = PREFERENCE_CATEGORY_MANUALLY_RENDERED // DARKPACK TODO - Render this somewhere + priority = PREFERENCE_PRIORITY_REQUIRES_SUBSPLAT + savefile_identifier = PREFERENCE_CHARACTER + savefile_key = "fera_rank" + + minimum = 0 + maximum = 5 + +/datum/preference/numeric/fera_rank/create_default_value() + return 0 + +/datum/preference/numeric/fera_rank/apply_to_human(mob/living/carbon/human/target, value) + var/datum/splat/werewolf/splat = iswerewolfsplat(target) + if(!splat) + return + + splat.renown_rank = value diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/tribe.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/tribe.dm new file mode 100644 index 000000000000..e5fe60606149 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/tribe.dm @@ -0,0 +1,20 @@ +/datum/preference/choiced/garou_tribe + savefile_key = "garou_tribe" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_FEATURES + priority = PREFERENCE_PRIORITY_WORLD_OF_DARKNESS + main_feature_name = "Tribe" + relevant_inherent_trait = TRAIT_WTA_GAROU_TRIBE + must_have_relevant_trait = TRUE + should_generate_icons = TRUE + +/datum/preference/choiced/garou_tribe/init_possible_values() + return assoc_to_keys(GLOB.tribes_list) // This would be inclusive of ALL tribes so many need to be reworked when adding other fera + +/datum/preference/choiced/garou_tribe/icon_for(value) + var/datum/universal_icon/tribe_icon = uni_icon('icons/effects/effects.dmi', "nothing") + tribe_icon.blend_icon(uni_icon('modular_darkpack/modules/werewolf_the_apocalypse/icons/tribes.dmi', replacetext(LOWER_TEXT(value), " ", "_")), ICON_OVERLAY) + return tribe_icon + +/datum/preference/choiced/garou_tribe/apply_to_human(mob/living/carbon/human/target, value) + target.set_fera_tribe(value, TRUE) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/silver_damage.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/silver_damage.dm new file mode 100644 index 000000000000..3932efaa0f8f --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/silver_damage.dm @@ -0,0 +1,41 @@ +// W20 p. 259 +/datum/status_effect/stacking/silver_bullets + id = "silver_bullet_stacks" + tick_interval = 1 TURNS + delay_before_decay = 1 SCENES + stacks = 1 + stack_threshold = 5 + max_stacks = 5 + // This renders ONTOP of the mob. Not as a status effect. Which is prob what we need to do. + // overlay_file = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/silver_dam_status.dmi' + // overlay_state = "silver" + +/datum/status_effect/stacking/silver_bullets/threshold_cross_effect() + var/datum/splat/werewolf/shifter/splat = isshifter(owner) + if(splat) + splat.adjust_gnosis(-1, TRUE) + + +/obj/projectile/bullet/proc/fera_silver_damage(mob/living/carbon/human/target, dice = 0) + if(!istype(target)) + return + var/datum/splat/werewolf/shifter/shot_pup_splat = isshifter(target) + if(shot_pup_splat) + var/mob/living/carbon/human/shot_pup = target + shot_pup.apply_status_effect(STATUS_EFFECT_SILVER_BULLLET_STACKS) + + if(!shot_pup_splat.is_breed_form()) + // IDK. This is might TTRPG inaccurate RN because i think it should acctaully convert ALL the damage to agg not just add some agg to it. + shot_pup.apply_damage(dice TTRPG_DAMAGE, AGGRAVATED) + +/obj/item/proc/fera_silver_damage(mob/living/carbon/human/target, dice = 0, gnosis_damage = 0) + if(!istype(target)) + return + var/datum/splat/werewolf/shifter/shot_pup_splat = isshifter(target) + if(shot_pup_splat) + var/mob/living/carbon/human/shot_pup = target + shot_pup_splat.adjust_gnosis(-gnosis_damage, TRUE) + + // W20 p. 290 - Werewolves dont take silver damage in breed form because they arent spirits + if(!shot_pup_splat.is_breed_form()) + shot_pup.apply_damage(dice TTRPG_DAMAGE, AGGRAVATED) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/species/garou_organs.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/species/garou_organs.dm new file mode 100644 index 000000000000..d956c2c45b63 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/species/garou_organs.dm @@ -0,0 +1,53 @@ +// Organs and limbs are applied where it makes sense to limited behavoir. +// e.g only the proper dogs on all 4s get the brain as that is to restrict there use of tools and force biting. + +/obj/item/bodypart/head/fera + // limb_id = SPECIES_FERA + head_flags = NONE + unarmed_attack_sound = 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/werewolf_bite.ogg' + +/obj/item/bodypart/chest/fera + // limb_id = SPECIES_FERA + +/obj/item/bodypart/arm/left/fera + // limb_id = SPECIES_FERA + unarmed_attack_verbs = list("claw") + unarmed_attack_verbs_continuous = list("claws") + appendage_noun = "paw" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/werewolf_bite.ogg' + unarmed_miss_sound = 'sound/items/weapons/slashmiss.ogg' + +/obj/item/bodypart/arm/right/fera + // limb_id = SPECIES_FERA + unarmed_attack_verbs = list("claw") + unarmed_attack_verbs_continuous = list("claws") + appendage_noun = "paw" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/werewolf_bite.ogg' + unarmed_miss_sound = 'sound/items/weapons/slashmiss.ogg' + +/obj/item/bodypart/leg/left/fera + // limb_id = SPECIES_FERA + +/obj/item/bodypart/leg/right/fera + // limb_id = SPECIES_FERA + + +// Specificly to restrict use of tools... because that was moved to the brain.. +/obj/item/organ/brain/fera + name = "exotic brain" + organ_traits = list(TRAIT_LITERATE, TRAIT_CAN_STRIP) + +/obj/item/organ/brain/fera/get_attacking_limb(mob/living/carbon/human/target) + if(!HAS_TRAIT(owner, TRAIT_ADVANCEDTOOLUSER) || HAS_TRAIT(owner, TRAIT_FERAL_BITER)) + return owner.get_bodypart(BODY_ZONE_HEAD) + return ..() + +/obj/item/organ/tongue/fera + name = "exotic tongue" + languages_native = list(/datum/language/garou_tongue) + +// Garou tongues can speak all default + garou tongue +/obj/item/organ/tongue/fera/get_possible_languages() + return ..() + /datum/language/garou_tongue diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/examine_text.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/examine_text.dm new file mode 100644 index 000000000000..94f123df8a6d --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/examine_text.dm @@ -0,0 +1,46 @@ +/datum/splat/werewolf/proc/examine_other_human(mob/living/carbon/examined) + var/datum/splat/werewolf/wolp_splat = iswerewolfsplat(examined) + if(wolp_splat) + var/list/honor_flavor = list("claim to good conduct", "claim to honor", "claim to chivalry") + var/list/wisdom_flavor = list("claim to insight", "claim to wisdom", "claim to sagacity") + var/list/glory_flavor = list("claim to bravery", "claim to valor", "claim to glory") + + var/same_tribe = FALSE + var/is_known = FALSE + + if(!wolp_splat.tribe || !wolp_splat.auspice) + return + if(tribe.name == wolp_splat.tribe.name) + same_tribe = TRUE + + switch(wolp_splat.renown_rank) + if(RANK_CUB to RANK_FOSTERN) + if(same_tribe) + . += "You know [examined.p_them()] as \a [fera_rank_name(wolp_splat.renown_rank)] of the [wolp_splat.tribe.name]." + is_known = TRUE + if(RANK_ADREN to RANK_LEGEND) + . += "You know [examined.p_them()] as \a [fera_rank_name(wolp_splat.renown_rank)] [wolp_splat.auspice.name] of the [wolp_splat.tribe.name]." + is_known = TRUE + + if(is_known) + switch(wolp_splat.renown[RENOWN_HONOR]) + if(4,5,6) + . += "In the local Garou, you have heard of [examined.p_their(TRUE)] [honor_flavor[1]]." + if(7,8,9) + . += "In the local Garou, you have heard of [examined.p_their(TRUE)] [honor_flavor[2]]." + if(10) + . += "In the local Garou, you have heard of [examined.p_their(TRUE)] [honor_flavor[3]]." + switch(wolp_splat.renown[RENOWN_WISDOM]) + if(4,5,6) + . += "In the local Garou, you have heard of [examined.p_their(TRUE)] [wisdom_flavor[1]]." + if(7,8,9) + . += "In the local Garou, you have heard of [examined.p_their(TRUE)] [wisdom_flavor[2]]." + if(10) + . += "In the local Garou, you have heard of [examined.p_their(TRUE)] [wisdom_flavor[3]]." + switch(wolp_splat.renown[RENOWN_GLORY]) + if(4,5,6) + . += "In the local Garou, you have heard of [examined.p_their(TRUE)] [glory_flavor[1]]." + if(7,8,9) + . += "In the local Garou, you have heard of [examined.p_their(TRUE)] [glory_flavor[2]]." + if(10) + . += "In the local Garou, you have heard of [examined.p_their(TRUE)] [glory_flavor[3]]." diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/fera_species.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/fera_species.dm new file mode 100644 index 000000000000..384cfec4311f --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/fera_species.dm @@ -0,0 +1,302 @@ +//Required so werewolves can almost entirely override body rendering +/mob/living/carbon/human/update_body_parts(update_limb_data) + if(dna?.species?.update_body_parts(src)) + return + return ..() + +/datum/species/proc/update_body_parts(mob/living/carbon/human/human) + return + +/mob/living/carbon/human/update_damage_overlays() + if(dna?.species?.update_damage_overlays(src)) + return + return ..() + +/datum/species/proc/update_damage_overlays(mob/living/carbon/human/human) + return + + +/datum/species/human/shifter + abstract_type = /datum/species/human/shifter + name = "Fera" + plural_form = "Fera" + id = SPECIES_FERA + species_language_holder = /datum/language_holder/garou + var/mob_pixel_w + var/mob_pixel_z + /// Stats added and removed upon gaining the species + var/list/form_bonus_stats = list() + /// Dice roll difficulty required to shift into this form + var/shift_difficulty = 6 + /// If update_body_parts is allowed to override the body render + var/custom_body_render = FALSE + /// If update_damage_parts is allowed to override the damage render + var/custom_damage_render = FALSE + /// Fallback dmi to refrence if we fail to get one from our splat + var/fallback_icon + /// Speed mod applied and removed upon gaining this species + var/speed_mod + /// Causes delerium, which if the user is affected by, does not cause breaches + var/causes_delerium + /// IF this form can be witnessed, causes masqurade breaches + var/veil_breaching_form = FALSE + +/datum/species/human/shifter/on_species_gain(mob/living/carbon/human/human_who_gained_species, datum/species/old_species, pref_load, regenerate_icons) + . = ..() + if(speed_mod) + human_who_gained_species.add_movespeed_modifier(speed_mod) + + human_who_gained_species.add_offsets(type, w_add = mob_pixel_w, z_add = mob_pixel_z) + + for(var/key, value in form_bonus_stats) + human_who_gained_species.st_add_stat_mod(key, value, type) + +/datum/species/human/shifter/on_species_loss(mob/living/carbon/human/human, datum/species/new_species, pref_load) + . = ..() + if(speed_mod) + human.remove_movespeed_modifier(speed_mod) + + human.remove_offsets(type) + + for(var/key, value in form_bonus_stats) + human.st_remove_stat_mod(key, type) + + +/// Fetch the mobs fur color from their features. +/datum/species/human/shifter/proc/get_fur_color(mob/living/carbon/human/human) + return human.dna.features[FEATURE_FUR_COLOR] ? human.dna.features[FEATURE_FUR_COLOR] : "black" + + +/// Fetch the mob dmi from our splat +/datum/species/human/shifter/proc/get_mob_icon(mob/living/carbon/human/human) + var/datum/splat/werewolf/shifter/shifter_splat = isshifter(human) + var/icon_to_use + if(shifter_splat) + icon_to_use = shifter_splat.mob_icons[id] + + return icon_to_use ? icon_to_use : fallback_icon + +/datum/species/human/shifter/update_body_parts(mob/living/carbon/human/human) + if(!custom_body_render) + return FALSE + + human.remove_overlay(BODYPARTS_LAYER) + + var/fur_color = get_fur_color(human) + var/mob_icon = get_mob_icon(human) + + var/main_iconstate = "" + if(HAS_TRAIT(human, TRAIT_WYRMTAINTED)) + main_iconstate += "spiral" + main_iconstate += fur_color + if(human.body_position == LYING_DOWN) + main_iconstate += "_rest" + + human.overlays_standing[BODYPARTS_LAYER] = list(image(mob_icon, main_iconstate)) + + human.apply_overlay(BODYPARTS_LAYER) + + return TRUE + +/datum/species/human/shifter/update_damage_overlays(mob/living/carbon/human/human) + if(!custom_damage_render) + return FALSE + + human.remove_overlay(DAMAGE_LAYER) + + var/dam_amount + switch(human.get_brute_loss() + human.get_fire_loss() + human.get_agg_loss()) + if(25 to 100) + dam_amount = 1 + if(100 to 250) + dam_amount = 2 + if(250 to INFINITY) + dam_amount = 3 + if(dam_amount) + human.overlays_standing[DAMAGE_LAYER] = mutable_appearance(get_mob_icon(human), "damage[dam_amount][human.body_position == LYING_DOWN ? "_rest" : ""]") + + human.apply_overlay(DAMAGE_LAYER) + + return TRUE + +/datum/species/human/shifter/homid + name = "homid form" + id = SPECIES_FERA_HOMID + + +/datum/species/human/shifter/bestial + name = "bestial form" + id = SPECIES_FERA_BESTIAL + form_bonus_stats = list( + STAT_STRENGTH = 2, + STAT_STAMINA = 2, + STAT_MANIPULATION = -2, + STAT_APPEARANCE = -1 + ) + shift_difficulty = 7 + fallback_icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/glabro.dmi' + veil_breaching_form = TRUE + +/datum/species/human/shifter/bestial/on_species_gain(mob/living/carbon/human/human_who_gained_species, datum/species/old_species, pref_load, regenerate_icons) + . = ..() + human_who_gained_species.update_mob_height() + human_who_gained_species.update_transform(1.25) + + + human_who_gained_species.remove_overlay(BODY_ADJ_LAYER) + + var/fur_color = get_fur_color(human_who_gained_species) + var/mob_icon = get_mob_icon(human_who_gained_species) + + human_who_gained_species.overlays_standing[BODY_ADJ_LAYER] = list(image(mob_icon, fur_color)) + + human_who_gained_species.apply_overlay(BODY_ADJ_LAYER) + +/datum/species/human/shifter/bestial/on_species_loss(mob/living/carbon/human/human, datum/species/new_species, pref_load) + . = ..() + human.update_mob_height() + human.update_transform() + human.remove_overlay(BODY_ADJ_LAYER) + +/datum/species/human/shifter/bestial/update_species_heights(mob/living/carbon/human/holder) + if(HAS_TRAIT(holder, TRAIT_DWARF)) + return HUMAN_HEIGHT_MEDIUM + + if(HAS_TRAIT(holder, TRAIT_TOO_TALL)) + return HUMAN_HEIGHT_TALLEST + + return HUMAN_HEIGHT_TALL + + +/datum/species/human/shifter/war + name = "war form" + id = SPECIES_FERA_WAR + inherent_traits = list( + TRAIT_NO_UNDERWEAR, + TRAIT_NO_BLOOD_OVERLAY, + TRAIT_NO_LYING_ANGLE, + TRAIT_TRANSFORM_UPDATES_ICON, + ) + causes_delerium = TRUE + veil_breaching_form = TRUE + + mutanttongue = /obj/item/organ/tongue/fera + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/fera, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/fera, + BODY_ZONE_HEAD = /obj/item/bodypart/head/fera, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/fera, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/fera, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/fera, + ) + + no_equip_flags = ITEM_SLOT_ON_BODY + + visible_gender_override = "beast" + + form_bonus_stats = list( + STAT_STRENGTH = 4, + STAT_STAMINA = 3, + STAT_DEXTERITY = 1, + STAT_MANIPULATION = -3, + // STAT_APPEARANCE = 0 // NOT YET SUPPORTED + ) + mob_pixel_w = -8 + custom_body_render = TRUE + custom_damage_render = TRUE + fallback_icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/crinos.dmi' + speed_mod = /datum/movespeed_modifier/shifter/war + +/datum/species/human/shifter/dire + name = "dire form" + id = SPECIES_FERA_DIRE + inherent_traits = list( + TRAIT_NO_UNDERWEAR, + TRAIT_NO_BLOOD_OVERLAY, + TRAIT_NO_LYING_ANGLE, + TRAIT_TRANSFORM_UPDATES_ICON, + TRAIT_FERAL_BITER, + TRAIT_SMALL_HANDS, + ) + veil_breaching_form = TRUE + + mutantbrain = /obj/item/organ/brain/fera + mutanttongue = /obj/item/organ/tongue/fera + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/fera, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/fera, + BODY_ZONE_HEAD = /obj/item/bodypart/head/fera, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/fera, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/fera, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/fera, + ) + + no_equip_flags = ITEM_SLOT_ON_BODY + + visible_gender_override = "beast" + + form_bonus_stats = list( + STAT_STRENGTH = 3, + STAT_STAMINA = 3, + STAT_DEXTERITY = 2, + STAT_MANIPULATION = -3, + ) + shift_difficulty = 7 + mob_pixel_w = -16 + mob_pixel_z = -8 + custom_body_render = TRUE + custom_damage_render = TRUE + fallback_icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/hispo.dmi' + speed_mod = /datum/movespeed_modifier/shifter/dire + +/datum/species/human/shifter/feral + name = "feral form" + id = SPECIES_FERA_FERAL + inherent_traits = list( + TRAIT_NO_UNDERWEAR, + TRAIT_NO_BLOOD_OVERLAY, + TRAIT_NO_LYING_ANGLE, + TRAIT_TRANSFORM_UPDATES_ICON, + TRAIT_FERAL_BITER, + TRAIT_SMALL_HANDS, + ) + + mutantbrain = /obj/item/organ/brain/fera + mutanttongue = /obj/item/organ/tongue/fera + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/fera, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/fera, + BODY_ZONE_HEAD = /obj/item/bodypart/head/fera, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/fera, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/fera, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/fera, + ) + + no_equip_flags = ITEM_SLOT_ON_BODY + + visible_gender_override = "wolf" + + form_bonus_stats = list( + STAT_STRENGTH = 1, + STAT_STAMINA = 2, + STAT_DEXTERITY = 2, + STAT_MANIPULATION = -3, + ) + custom_body_render = TRUE + custom_damage_render = TRUE + fallback_icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/lupus.dmi' + speed_mod = /datum/movespeed_modifier/shifter/feral + +/datum/movespeed_modifier/shifter + abstract_type = /datum/movespeed_modifier/shifter + movetypes = GROUND + +// Verify these nums are ttrpg accurate. +/datum/movespeed_modifier/shifter/war + multiplicative_slowdown = -0.1 + +/datum/movespeed_modifier/shifter/dire + multiplicative_slowdown = -0.3 + +/datum/movespeed_modifier/shifter/feral + multiplicative_slowdown = -0.5 diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/fera_splat.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/fera_splat.dm new file mode 100644 index 000000000000..1b5e676b5e10 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/fera_splat.dm @@ -0,0 +1,175 @@ +// Represents the system not that they are a werewolf/fera +/datum/splat/werewolf + abstract_type = /datum/splat/werewolf + + power_type = /datum/action/cooldown/power/gift + + var/uses_rage = FALSE + var/rage = 0 + // without a merit kinfolk cannot use gnosis + var/uses_gnosis = FALSE + var/gnosis = 0 + + var/list/renown = list() + var/renown_rank = RANK_CUB + + var/datum/subsplat/werewolf/breed_form/breed_form + var/datum/subsplat/werewolf/auspice/auspice + var/datum/subsplat/werewolf/tribe/tribe + +/datum/splat/werewolf/proc/adjust_rage(amount, sound = TRUE) + if(!uses_rage) + return FALSE + + if(amount > 0) + if(rage < MAX_RAGE) + rage = min(MAX_RAGE, rage+amount) + if(sound) + SEND_SOUND(owner, sound('modular_darkpack/modules/werewolf_the_apocalypse/sounds/rage_increase.ogg', volume = 50)) + to_chat(owner, span_userdanger("RAGE INCREASES")) + else + return FALSE + if(amount < 0) + if(rage > 0) + rage = max(0, rage+amount) + if(sound) + SEND_SOUND(owner, sound('modular_darkpack/modules/werewolf_the_apocalypse/sounds/rage_decrease.ogg', volume = 50)) + to_chat(owner, span_userdanger("RAGE DECREASES")) + else + return FALSE + + owner.update_werewolf_hud() + return TRUE + +/datum/splat/werewolf/proc/adjust_gnosis(amount, sound = TRUE) + if(!uses_gnosis) + return FALSE + + if(amount > 0) + if(gnosis < MAX_GNOSIS) + gnosis = clamp(gnosis + amount, 0, MAX_GNOSIS) + if(sound) + SEND_SOUND(owner, sound('modular_darkpack/modules/deprecated/sounds/humanity_gain.ogg', volume = 50)) + to_chat(owner, span_boldnotice("GNOSIS INCREASES")) + else + return FALSE + if(amount < 0) + if(gnosis > 0) + gnosis = clamp(gnosis + amount, 0, MAX_GNOSIS) + if(sound) + SEND_SOUND(owner, sound('modular_darkpack/modules/werewolf_the_apocalypse/sounds/rage_decrease.ogg', volume = 50)) + to_chat(owner, span_boldnotice("GNOSIS DECREASES")) + else + return FALSE + + owner.update_werewolf_hud() + return TRUE + + +/datum/splat/werewolf/kinfolk + name = "Kinfolk" + id = SPLAT_KINFOLK + // incompatible_splats = list(/datum/splat/werewolf/shifter) // TODO: Becoming a shifter should get rid of your kinfolk splat + +/datum/splat/werewolf/shifter + abstract_type = /datum/splat/werewolf/shifter + splat_traits = list( + TRAIT_WTA_GAROU_BREED, + TRAIT_WTA_GAROU_AUSPICE, + TRAIT_WTA_GAROU_TRIBE, + TRAIT_FERA_FUR, + TRAIT_FRENETIC_AURA + ) + // id = SPLAT_FERA + incompatible_splats = list( + /datum/splat/werewolf + ) // We dont support being multiple fera or gaining kinfolk as a fera + uses_rage = TRUE + uses_gnosis = TRUE + + var/list/transformation_list = list() + var/transform_sound = 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/transform.ogg' + COOLDOWN_DECLARE(transform_cd) + /** + * [SPECIES_ID -> dmi path] assoc list + * + * Only required for forms that you can into (corax lack dire and bestial) + * and acctually have custom sprite behavoir (homid are exempt, bestial are fluff added to homid) + */ + var/list/mob_icons = list( + SPECIES_FERA_BESTIAL = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/glabro.dmi', + SPECIES_FERA_WAR = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/crinos.dmi', + SPECIES_FERA_DIRE = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/hispo.dmi', + SPECIES_FERA_FERAL = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/garou_forms/lupus.dmi' + ) + COOLDOWN_DECLARE(passive_healing_cd) + COOLDOWN_DECLARE(gnosis_regain_cd) + +/datum/splat/werewolf/shifter/on_gain() + . = ..() + owner.set_species(/datum/species/human/shifter/homid) + add_power(/datum/action/cooldown/power/gift/howling) + + RegisterSignal(owner, COMSIG_LIVING_DEATH, PROC_REF(revert_to_breed_form)) + +/datum/splat/werewolf/shifter/on_lose_or_destroy() + . = ..() + if(!QDELETED(owner)) + owner.set_species(/datum/species/human) + + UnregisterSignal(owner, COMSIG_LIVING_DEATH) + +/datum/splat/werewolf/shifter/splat_life(seconds_per_tick) + regain_gnosis_process(seconds_per_tick) + if(COOLDOWN_FINISHED(src, passive_healing_cd)) + // Metis heal in all forms. Lupus and homid born dont heal FAST FAST in their breed form + // their fast healing is represented in day/days in breed-form so we just dont. + if(is_breed_form() && (get_breed_form_species() != /datum/species/human/shifter/war)) + return + owner.heal_storyteller_health(1, heal_scars = TRUE, heal_blood = TRUE) + COOLDOWN_START(src, passive_healing_cd, 1 TURNS) + var/datum/species/human/shifter/shifter_species = owner.dna.species + if(istype(shifter_species)) + if(shifter_species.veil_breaching_form && !shifter_species.causes_delerium) + SEND_SIGNAL(owner, COMSIG_MASQUERADE_VIOLATION) + +// Being used to represent meditating in your caern +/datum/splat/werewolf/shifter/proc/regain_gnosis_process(seconds_per_tick) + if(!COOLDOWN_FINISHED(src, gnosis_regain_cd)) + return + for(var/obj/structure/werewolf_totem/totem in GLOB.totems) + if(totem.broken) + continue + if(!(tribe.name in totem.tribes)) + continue + if(get_area(totem) != get_area(owner)) + continue + adjust_gnosis(1, TRUE) + COOLDOWN_START(src, gnosis_regain_cd, 1 SCENES) + +/datum/splat/werewolf/shifter/garou + name = "Garou" + id = SPLAT_GAROU + transformation_list = list( + /datum/species/human/shifter/homid, + /datum/species/human/shifter/bestial, + /datum/species/human/shifter/war, + /datum/species/human/shifter/dire, + /datum/species/human/shifter/feral + ) + +/* // DARKPACK TODO - CORAX +/datum/splat/werewolf/shifter/corax + name = "Corax" + id = SPLAT_CORAX + transformation_list = list( + /datum/species/human/shifter/homid, + /datum/species/human/shifter/war, + /datum/species/human/shifter/feral + ) + mob_icons = list( + SPECIES_FERA_WAR = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/corax_forms/crinos.dmi', + SPECIES_FERA_FERAL = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/corax_forms/corvid.dmi' + ) + transform_sound = 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/corax_transform.ogg' +*/ diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/is_werewolf_helpers.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/is_werewolf_helpers.dm new file mode 100644 index 000000000000..427b1be1b8ca --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/is_werewolf_helpers.dm @@ -0,0 +1,30 @@ +/** + * If the character is any kind of fera or kinfolk creature, named after the game line + */ +/proc/iswerewolfsplat(mob/character) + RETURN_TYPE(/datum/splat/werewolf) + + return character.get_splat(/datum/splat/werewolf) + +/proc/isshifter(mob/character) + RETURN_TYPE(/datum/splat/werewolf/shifter) + + return character.get_splat(/datum/splat/werewolf/shifter) + +/proc/isgarou(mob/character) + RETURN_TYPE(/datum/splat/werewolf/shifter/garou) + + return character.get_splat(/datum/splat/werewolf/shifter/garou) + +/* // DARKPACK TODO - CORAX +/proc/iscorax(mob/character) + RETURN_TYPE(/datum/splat/werewolf/shifter/cora + + return character.get_splat(/datum/splat/werewolf/shifter/corax) +*/ + +/proc/iskinfolk(mob/character) + RETURN_TYPE(/datum/splat/werewolf/kinfolk) + + return character.get_splat(/datum/splat/werewolf/kinfolk) + diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/pref_lore.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/pref_lore.dm new file mode 100644 index 000000000000..a37c33482a3e --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/pref_lore.dm @@ -0,0 +1,52 @@ +/datum/splat/werewolf/kinfolk/prepare_human_for_preview(mob/living/carbon/human/human) + human.set_haircolor("#C3BA88", update = FALSE) + human.set_eye_color("B2B2B2", "B2B2B2") + human.set_hairstyle("Bangs (Diagonal Alt)", update = TRUE) + human.undershirt = "Shirt (Ian)" + human.update_body() + +// DARKPACK TODO - WEREWOLF - (len lore) +/datum/splat/werewolf/kinfolk/get_splat_description() + return "Lorem Ipsum" + +// DARKPACK TODO - WEREWOLF - (len lore) +/datum/splat/werewolf/kinfolk/get_splat_lore() + return list( + "Lorem Ipsum", + ) + +/datum/splat/werewolf/shifter/garou/prepare_human_for_preview(mob/living/carbon/human/human) + human.set_haircolor("#502D15", update = FALSE) + human.set_hairstyle("Long Hair 3", update = TRUE) + human.undershirt = "Shirt (Alien)" + human.update_body() + +// DARKPACK TODO - WEREWOLF - (len lore) +/datum/splat/werewolf/shifter/garou/get_splat_description() + return "Lorem Ipsum" + +// DARKPACK TODO - WEREWOLF - (len lore) +/datum/splat/werewolf/shifter/garou/get_splat_lore() + return list( + "Lorem Ipsum", + ) + +/datum/splat/werewolf/shifter/garou/create_pref_unique_perks() + var/list/to_add = list() + + to_add += list( + list( + SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, + SPECIES_PERK_ICON = FA_ICON_DOG, + SPECIES_PERK_NAME = "Shapeshifting", + SPECIES_PERK_DESC = "Garou can shift between 5 diffrent forms that grant them bonus.", + ), + list( + SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, + SPECIES_PERK_ICON = FA_ICON_BAND_AID, + SPECIES_PERK_NAME = "Passive healing", + SPECIES_PERK_DESC = "Garou have a strong passive healing while outside of their breed form.", + ) + ) + + return to_add diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/renown.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/renown.dm new file mode 100644 index 000000000000..2ae22c6d2604 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/renown.dm @@ -0,0 +1,100 @@ +#define MAX_RENOWN 10 + +/datum/splat/werewolf/proc/adjust_renown(attribute, amount) + if(!renown[attribute]) + renown[attribute] = 0 + + + var/old_rank = renown_rank + var/new_amount = clamp(renown[attribute] + amount, 0, MAX_RENOWN) + + renown[attribute] = new_amount + if(amount < 0) + to_chat(owner, span_userdanger("You feel [get_negative_emotion(attribute)]!")) + else if(amount > 0) + to_chat(owner, span_bold("You feel [get_positive_emotion(attribute)]!")) + + switch(attribute) + if(RENOWN_HONOR) + owner.write_preference_midround(/datum/preference/numeric/renown/honor, new_amount) + if(RENOWN_GLORY) + owner.write_preference_midround(/datum/preference/numeric/renown/glory, new_amount) + if(RENOWN_WISDOM) + owner.write_preference_midround(/datum/preference/numeric/renown/wisdom, new_amount) + + renown_rank = auspice_rank_check() + if(old_rank != renown_rank) + to_chat(owner, span_boldnotice("You are now a [fera_rank_name(renown_rank)].")) + + owner.write_preference_midround(/datum/preference/numeric/fera_rank, renown_rank) + + +/datum/splat/werewolf/proc/get_negative_emotion(attribute) + switch(attribute) + if(RENOWN_HONOR) + return "ashamed" + + if(RENOWN_GLORY) + return "humiliated" + + if(RENOWN_WISDOM) + return "foolish" + + return "unsure" + +/datum/splat/werewolf/proc/get_positive_emotion(attribute) + switch(attribute) + + if(RENOWN_HONOR) + return "vindicated" + + if(RENOWN_GLORY) + return "brave" + + if(RENOWN_WISDOM) + return "clever" + + return "confident" + + +/datum/splat/werewolf/proc/auspice_rank_check() + return auspice.rank_requirments(renown) + +// Pretty iffy on this. This could likely just be moved onto the splat itself so corax and other breeds can override it. +/proc/fera_rank_name(rank, breed) + + // if(breed != "Corax") DARKPACK TODO - CORAX + switch(rank) + if(RANK_CUB) + return "cub" // in lowercase so that \a might function during the character examine + if(RANK_CLIATH) + return "cliath" + if(RANK_FOSTERN) + return "fostern" + if(RANK_ADREN) + return "adren" + if(RANK_ATHRO) + return "athro" + if(RANK_ELDER) + return "elder" + if(RANK_LEGEND) + return "legend" +/* DARKPACK TODO - CORAX + switch(rank) + if(0) + return "fledgling" + if(1) + return "oviculum" + if(2) + return "neocornix" + if(3) + return "ales" + if(4) + return "volucris" + if(5) + return "corvus" + if(6) + return "grey eminence" +*/ + +#undef MAX_RENOWN diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/transformation.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/transformation.dm new file mode 100644 index 000000000000..5988945b512a --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/transformation.dm @@ -0,0 +1,79 @@ +#define DOGGY_ANIMATION_TIME 1 TURNS + +/datum/storyteller_roll/fera_trans + bumper_text = "transformation" + applicable_stats = list(STAT_STAMINA) + + +// Remeber if you remove homid being species that this will break. +/datum/splat/werewolf/shifter/proc/transform_fera(datum/species/human/shifter/form_to_transform, costs_rage = FALSE, requires_roll = TRUE, force = FALSE) + if(!form_to_transform) + return + if(!istype(owner)) + return + if(!(form_to_transform in transformation_list)) + return + if(owner?.dna?.species?.type == form_to_transform) + return + if(!force && !COOLDOWN_FINISHED(src, transform_cd)) + to_chat(owner, span_warning("Your shifting is on cooldown for one turn.")) + return + + if(ispath(get_breed_form_species(), form_to_transform)) + requires_roll = FALSE + else if(costs_rage) + if(adjust_rage(-1, TRUE)) + requires_roll = FALSE + else + to_chat(owner, span_warning("You don't have enough RAGE to do that!")) + SEND_SOUND(owner, sound('modular_darkpack/modules/werewolf_the_apocalypse/sounds/werewolf_cast_failed.ogg', volume = 50)) + return + + COOLDOWN_START(src, transform_cd, 1 TURNS) + var/time_to_transform = DOGGY_ANIMATION_TIME + + // TODO: should accctually require an amount of successes equal to the forms your shifting through + if(requires_roll) + var/datum/storyteller_roll/fera_trans/transform_roll = new() + transform_roll.difficulty = form_to_transform::shift_difficulty + switch(transform_roll.st_roll(owner, owner, PRIMAL_URGE_PLACEHOLDER)) + if(ROLL_SUCCESS) + EMPTY_BLOCK_GUARD + if(ROLL_FAILURE, ROLL_BOTCH) + return + + // If it doesnt require a roll it must be instant/free action + if(requires_roll) + playsound(owner, transform_sound, 50, FALSE) + else + playsound(owner, 'modular_darkpack/modules/werewolf_the_apocalypse/sounds/speedtrans.ogg', 50, FALSE) + time_to_transform *= 0.1 + + // owner.Stun(time_to_transform, ignore_canstun = TRUE) + + var/matrix/ntransform = matrix(owner.transform) + ntransform.Scale(1.1, 1.1) + animate(owner, transform = ntransform, color = "#000000", time = time_to_transform * 0.9) + + SEND_SIGNAL(owner, COMSIG_MASQUERADE_VIOLATION) + + addtimer(CALLBACK(src, PROC_REF(transform_finish), form_to_transform, time_to_transform), time_to_transform * 0.9) + +/datum/splat/werewolf/shifter/proc/revert_to_breed_form() + transform_fera(get_breed_form_species(), force = TRUE) + +/datum/splat/werewolf/shifter/proc/transform_finish(form_to_transform, time_taken = DOGGY_ANIMATION_TIME) + animate(owner, transform = null, color = "#FFFFFF", time = time_taken * 0.1) + owner.set_species(form_to_transform) + +/datum/splat/werewolf/shifter/proc/is_breed_form() + if(!owner?.dna) + return FALSE + if(owner.dna.species?.type != get_breed_form_species()) + return FALSE + return TRUE + +/datum/splat/werewolf/shifter/proc/get_breed_form_species() + return breed_form?.breed_species + +#undef DOGGY_ANIMATION_TIME diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/varediting.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/varediting.dm new file mode 100644 index 000000000000..0e490eefd889 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/varediting.dm @@ -0,0 +1,37 @@ +#define VV_HK_EDIT_RENOWN "edit_renown" + +/datum/splat/werewolf/vv_get_dropdown() + . = ..() + VV_DROPDOWN_OPTION("", "---------") + VV_DROPDOWN_OPTION(VV_HK_EDIT_RENOWN, "Edit Renown") + +/datum/splat/werewolf/vv_do_topic(list/href_list) + . = ..() + + if(!.) + return + + if(href_list[VV_HK_EDIT_RENOWN]) + if(!check_rights(R_SPAWN)) + return + var/list/options = ALL_RENOWNS + var/result = tgui_input_list(usr, "Please choose a renown to adjust", "Renown", options) + if(!result) + return + var/amount = tgui_input_number(usr, "Enter to renown add/remove.", "Renown", 1, 10, -10) + if(isnull(amount)) + return + adjust_renown(result, amount) + + +/datum/splat/werewolf/vv_edit_var(var_name, var_value) + . = ..() + if(!.) + return + switch(var_name) + if(NAMEOF(src, rage)) + owner.update_werewolf_hud() + if(NAMEOF(src, gnosis)) + owner.update_werewolf_hud() + +#undef VV_HK_EDIT_RENOWN diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/werewolf_gift_management.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/werewolf_gift_management.dm new file mode 100644 index 000000000000..587d1f8c2f36 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/splats/werewolf_gift_management.dm @@ -0,0 +1,31 @@ +/datum/splat/werewolf/get_power(power_type) + RETURN_TYPE(/datum/action/cooldown/power/gift) + + for(var/datum/action/cooldown/power/gift/found_action as anything in powers) + if(!istype(found_action, power_type)) + continue + + return found_action + +/datum/splat/werewolf/add_power(power_type, level) + // Prevent duplicates + if(get_power(power_type)) + return FALSE + var/datum/action/cooldown/power/gift/adding_action = new power_type() + adding_action.Grant(owner) + LAZYADD(powers, adding_action) + return TRUE + +/datum/splat/werewolf/remove_power(power_type) + var/datum/action/cooldown/power/gift/found_action = get_power(power_type) + if(!found_action) + return FALSE + + LAZYREMOVE(powers, found_action) + qdel(found_action) + return TRUE + +/datum/splat/werewolf/change_power_level(power_type, new_level) + return // We dont really have discs in the same way, and we dont have diffrent power levels for an individual power? + + diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/status_effects/delirium.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/status_effects/delirium.dm new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/status_effects/rage_heal.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/status_effects/rage_heal.dm new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/_subsplat.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/_subsplat.dm new file mode 100644 index 000000000000..c4f78ab568cc --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/_subsplat.dm @@ -0,0 +1,16 @@ +/datum/subsplat/werewolf + abstract_type = /datum/subsplat/werewolf + // Currently un-implemented + /// Fera required to have this subsplat. If null its takeable by any splat. + var/fera_restriction + + // At present it grants all of them but this is a mechanical limitation while i wait for the disc rework. + // /datum/action/cooldown/power/gift + /// All gifts avalible via this subsplat. + var/list/gifts_provided = list() + +/datum/subsplat/werewolf/on_gain(datum/splat/gaining, joining_round) + . = ..() + // Placeholder! + for(var/gift in gifts_provided) + gaining.add_power(gift) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/auspices/_auspice.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/auspices/_auspice.dm new file mode 100644 index 000000000000..4564a2b57334 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/auspices/_auspice.dm @@ -0,0 +1,77 @@ + + +/datum/subsplat/werewolf/auspice + abstract_type = /datum/subsplat/werewolf/auspice + + var/start_rage + + var/moons_born_under = list() + +/datum/subsplat/werewolf/auspice/on_gain(datum/splat/gaining, joining_round) + . = ..() + if(istype(gaining, /datum/splat/werewolf)) + var/datum/splat/werewolf/werewolf_splat = gaining + werewolf_splat.adjust_rage(start_rage) + +/datum/subsplat/werewolf/auspice/proc/rank_requirments(list/renown) + return 0 + +/** + * Gets the singleton of an Auspice + * from its name, typepath, or returns the + * argument if given a Auspice singleton. + * + * Arguments: + * * auspice_identifier - Name, typepath, or singleton of the Auspice being retrieved + */ +/proc/get_fera_auspice(auspice_identifier) + RETURN_TYPE(/datum/subsplat/werewolf/auspice) + + if (ispath(auspice_identifier)) + return GLOB.auspices[auspice_identifier] + else if (istext(auspice_identifier)) + return GLOB.auspices[GLOB.auspices_list[auspice_identifier]] + else + return auspice_identifier + +/** + * Gives the human a Auspice, applying + * on_gain effects and post_gain effects if the + * parameter is true. Can also remove Auspices + * with or without a replacement, and apply + * on_lose effects. Will have no effect the human + * is being given the Auspice it already has. + * + * Arguments: + * * setting_auspice - Typepath or Auspice singleton to give to the human + * * joining_round - If this Auspice is being given at roundstart and should call on_join_round + */ +/mob/living/carbon/human/proc/set_auspice(setting_auspice, joining_round) + var/datum/subsplat/werewolf/auspice/previous_auspice = get_our_auspice() + + // Convert IDs and typepaths to singletons, or just directly assign if already singleton + var/datum/subsplat/werewolf/auspice/new_auspice = get_fera_auspice(setting_auspice) + + // Handle losing Auspice + previous_auspice?.on_lose(src) + + var/datum/splat/werewolf/shifter/shifter = isshifter(src) + if (!shifter) + return + + shifter.auspice = new_auspice + + // Auspice's been cleared, don't apply effects + if (!new_auspice) + return + + // Gaining Auspice effects + new_auspice.on_gain(shifter, joining_round) + +/mob/living/proc/get_our_auspice() + RETURN_TYPE(/datum/subsplat/werewolf/auspice) + + return isshifter(src)?.auspice + +/mob/living/proc/is_auspice(auspice_type) + return istype(get_our_auspice(), auspice_type) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/auspices/garou.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/auspices/garou.dm new file mode 100644 index 000000000000..c045c1e49215 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/auspices/garou.dm @@ -0,0 +1,142 @@ +/datum/subsplat/werewolf/auspice/garou + abstract_type = /datum/subsplat/werewolf/auspice/garou + fera_restriction = SPLAT_GAROU + + +/datum/subsplat/werewolf/auspice/garou/ahroun + name = AUSPICE_AHROUN + desc = "The Ahroun is the archetype of the werewolf as murderous beast, though they range from unapologetic berserkers to hardened veterans tempering their Rage with discipline. Their high levels of Rage put them on the edge at all times - the Full Moon's blessing is a hair trigger, among other things. Those closer to the waxing moon tend to exult in the glory of the war, while those closer to the waning moon are more viciously pragmatic, ruthless in their bloodthirst. Every Ahroun is a dangerous individual to be around, but when the forces of the Wyrm attack, their packmates are glad to have a Full Moon warrior at the front of the charge." + start_rage = 5 + gifts_provided= list(/datum/action/cooldown/power/gift/falling_touch)//, /datum/action/cooldown/power/gift/inspiration, /datum/action/cooldown/power/gift/razor_claws) + moons_born_under = list(MOON_FULL) + +/datum/subsplat/werewolf/auspice/garou/ahroun/rank_requirments(list/renown) + var/glory = renown[RENOWN_GLORY] + var/honor = renown[RENOWN_HONOR] + var/wisdom = renown[RENOWN_WISDOM] + + if(glory >= 10 && honor >= 9 && wisdom >= 4) + return RANK_ELDER + if(glory >= 9 && honor >= 4 && wisdom >= 2) + return RANK_ATHRO + if(glory >= 6 && honor >= 3 && wisdom >= 1) + return RANK_ADREN + if(glory >= 4 && honor >= 1 && wisdom >= 1) + return RANK_FOSTERN + if(glory >= 2 || honor >= 1) + return RANK_CLIATH + return RANK_CUB + +/datum/subsplat/werewolf/auspice/garou/galliard + name = AUSPICE_GALLIARD + desc = "Where the Philodox is stoic, the Galliard is a creature of unbridled passion. The Gibbous Moon is a fiery muse, and stirs its children into great heights and depths of emotion. While all Galliards are prone to immense mirth and immense melancholy, those born under a waning moon fall more readily into dark, consuming passions; they are the tragedians of the Garou, mastering tales of doom, ruin, sacrifice and loss. Conversely, their waxing-moon cousins sing of triumph and conquest, of the pounding heart and the love of life. They tend to be the soul of their pack's morale - when the Galliard is willing to go on, so too are all the others." + start_rage = 4 + gifts_provided = list( + // /datum/action/cooldown/power/gift/beast_speech, + // /datum/action/cooldown/power/gift/call_of_the_wyld, + /datum/action/cooldown/power/gift/mindspeak + ) + moons_born_under = list(MOON_WAXING_GIBBOUS, MOON_WANING_GIBBOUS) + +/datum/subsplat/werewolf/auspice/garou/galliard/rank_requirments(list/renown) + var/glory = renown[RENOWN_GLORY] + var/honor = renown[RENOWN_HONOR] + var/wisdom = renown[RENOWN_WISDOM] + + if(glory >= 9 && honor >= 5 && wisdom >= 9) + return RANK_ELDER + if(glory >= 7 && honor >= 2 && wisdom >= 6) + return RANK_ATHRO + if(glory >= 4 && honor >= 2 && wisdom >= 4) + return RANK_ADREN + if(glory >= 4 && wisdom >= 2) + return RANK_FOSTERN + if(glory >= 2 && wisdom >= 1) + return RANK_CLIATH + return RANK_CUB + +/datum/subsplat/werewolf/auspice/garou/philodox + name = AUSPICE_PHILODOX + desc = "Buried so heavily in his role as impartial judge and jury, the Philodox may seem aloof, even surprisingly cold-blooded for a werewolf. Those born under the waxing Half Moon may seem unusually serene and disaffected, their emotions only emerging when their Rage comes to a boil. The waning-moon Philodox is more incisive and judgmental, his all-seeing eye always carefully watching his packmates and colleagues for any departure from the expected. The Half Moons' opinions are somewhat feared, yet highly respected - a word of praise or condemnation means much coming from those born to see both sides of every struggle." + start_rage = 3 + gifts_provided= list(/datum/action/cooldown/power/gift/scent_of_the_true_form)//,/datum/action/cooldown/power/gift/resist_pain, /datum/action/cooldown/power/gift/truth_of_gaia) + moons_born_under = list(MOON_FIRST_QUARTER, MOON_LAST_QUARTER) + +/datum/subsplat/werewolf/auspice/garou/philodox/rank_requirments(list/renown) + var/glory = renown[RENOWN_GLORY] + var/honor = renown[RENOWN_HONOR] + var/wisdom = renown[RENOWN_WISDOM] + + if(glory >= 4 && honor >= 10 && wisdom >= 9) + return RANK_ELDER + if(glory >= 3 && honor >= 8 && wisdom >= 4) + return RANK_ATHRO + if(glory >= 2 && honor >= 6 && wisdom >= 2) + return RANK_ADREN + if(glory >= 1 && honor >= 4 && wisdom >= 1) + return RANK_FOSTERN + if(honor >= 3) + return RANK_CLIATH + return RANK_CUB + + +/datum/subsplat/werewolf/auspice/garou/theurge + name = AUSPICE_THEURGE + desc = "The Crescent Moons can be strange and enigmatic, prone to falling into the convoluted symbolic logic of the spirits they truck with rather than the more familiar logic of humanity. Those Theurges born under the waning moon frequently have a harsher, more adversarial relationship with the spirit world - they tend to excel at binding and forcing spirits to their will, and are more vicious when battling spirits. Theurges born under the waxing moon tend to be more generous and open with the spirits, charming and cajoling rather than intimidating and threatening." + start_rage = 2 + gifts_provided = list( + /datum/action/cooldown/power/gift/mothers_touch, + // /datum/action/cooldown/power/gift/sense_wyrm, + // /datum/action/cooldown/power/gift/spirit_speech + ) + moons_born_under = list(MOON_WANING_CRESCENT, MOON_WAXING_CRESENT) + +/datum/subsplat/werewolf/auspice/garou/theurge/rank_requirments(list/renown) + var/glory = renown[RENOWN_GLORY] + var/honor = renown[RENOWN_HONOR] + var/wisdom = renown[RENOWN_WISDOM] + + if(glory >= 4 && honor >= 9 && wisdom >= 10) + return RANK_ELDER + if(glory >= 4 && honor >= 2 && wisdom >= 9) + return RANK_ATHRO + if(glory >= 2 && honor >= 1 && wisdom >= 7) + return RANK_ADREN + if(glory >= 1 && wisdom >= 5) + return RANK_FOSTERN + if(wisdom >= 3) + return RANK_CLIATH + return RANK_CUB + + +/datum/subsplat/werewolf/auspice/garou/ragabash + name = AUSPICE_RAGABASH + desc = "The Ragabash born under the waxing new moon is usually light-hearted and capricious, while one born under the waning new moon has a slightly more wicked and ruthless streak. It's a rare Ragabash indeed that lacks a keen wit and the capacity to find some humor in any situation, no matter how bleak. Many other werewolves are slow to take the Ragabash seriously, though, as it's difficult to tell the difference between a New Moon's mockery that points out a grievous flaw in a plan and similar mockery that simply amuses him. Sometimes a Ragabash points out that the emperor has no clothes - but sometimes they're the first to cry wolf, so to speak." + start_rage = 1 + gifts_provided= list( + // /datum/action/cooldown/power/gift/blur_of_the_milky_eye, + /datum/action/cooldown/power/gift/infectious_laughter + // /datum/action/cooldown/power/gift/open_seal, + ) + moons_born_under = list(MOON_NEW) + +/datum/subsplat/werewolf/auspice/garou/ragabash/rank_requirments(list/renown) + var/total_score = renown[RENOWN_GLORY] + renown[RENOWN_HONOR] + renown[RENOWN_WISDOM] + + if(total_score >= 25) + return RANK_ELDER + if(total_score >= 19) + return RANK_ATHRO + if(total_score >= 13) + return RANK_ADREN + if(total_score >= 7) + return RANK_FOSTERN + if(total_score >= 3) + return RANK_CLIATH + return RANK_CUB + +/datum/subsplat/werewolf/auspice/garou/stolen_moon + name = AUSPICE_NONE + // DARKPACK TODO - WEREWOLF - (len lore) + desc = "Your not a dog are you." + // Stolen moon get no gifts diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/breeds/_breed.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/breeds/_breed.dm new file mode 100644 index 000000000000..aeaee128398c --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/breeds/_breed.dm @@ -0,0 +1,73 @@ +// Not a splat in the TTRPG but functions like one in terms of code. +/datum/subsplat/werewolf/breed_form + abstract_type = /datum/subsplat/werewolf/breed_form + + var/start_gnosis + + var/breed_species + +/datum/subsplat/werewolf/breed_form/on_gain(datum/splat/gaining, joining_round) + . = ..() + if(istype(gaining, /datum/splat/werewolf)) + var/datum/splat/werewolf/werewolf_splat = gaining + werewolf_splat.adjust_gnosis(start_gnosis) + +/** + * Gets the singleton of an breed_form + * from its name, typepath, or returns the + * argument if given a breed_form singleton. + * + * Arguments: + * * breed_form_identifier - Name, typepath, or singleton of the breed_form being retrieved + */ +/proc/get_fera_breed_form(breed_form_identifier) + RETURN_TYPE(/datum/subsplat/werewolf/breed_form) + + if (ispath(breed_form_identifier)) + return GLOB.breed_forms[breed_form_identifier] + else if (istext(breed_form_identifier)) + return GLOB.breed_forms[GLOB.breed_forms_list[breed_form_identifier]] + else + return breed_form_identifier + +/** + * Gives the human a breed_form, applying + * on_gain effects and post_gain effects if the + * parameter is true. Can also remove breed_forms + * with or without a replacement, and apply + * on_lose effects. Will have no effect the human + * is being given the breed_form it already has. + * + * Arguments: + * * setting_breed_form - Typepath or breed_form singleton to give to the human + * * joining_round - If this breed_form is being given at roundstart and should call on_join_round + */ +/mob/living/carbon/human/proc/set_breed_form(setting_breed_form, joining_round) + var/datum/subsplat/werewolf/breed_form/previous_breed_form = get_our_breed_form() + + // Convert IDs and typepaths to singletons, or just directly assign if already singleton + var/datum/subsplat/werewolf/breed_form/new_breed_form = get_fera_breed_form(setting_breed_form) + + // Handle losing breed_form + previous_breed_form?.on_lose(src) + + var/datum/splat/werewolf/shifter/shifter = isshifter(src) + if (!shifter) + return + + shifter.breed_form = new_breed_form + + // breed_form's been cleared, don't apply effects + if (!new_breed_form) + return + + // Gaining breed_form effects + new_breed_form.on_gain(shifter, joining_round) + +/mob/living/proc/get_our_breed_form() + RETURN_TYPE(/datum/subsplat/werewolf/breed_form) + + return isshifter(src)?.breed_form + +/mob/living/proc/is_breed_form(breed_form_type) + return istype(get_our_breed_form(), breed_form_type) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/breeds/garou.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/breeds/garou.dm new file mode 100644 index 000000000000..89a797ef5237 --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/breeds/garou.dm @@ -0,0 +1,18 @@ +/datum/subsplat/werewolf/breed_form/garou + abstract_type = /datum/subsplat/werewolf/breed_form/garou + fera_restriction = SPLAT_GAROU + +/datum/subsplat/werewolf/breed_form/garou/homid + name = BREED_HOMID + start_gnosis = 1 + breed_species = /datum/species/human/shifter/homid + +/datum/subsplat/werewolf/breed_form/garou/metis + name = BREED_CRINOS + start_gnosis = 3 + breed_species = /datum/species/human/shifter/war + +/datum/subsplat/werewolf/breed_form/garou/lupus + name = BREED_LUPUS + start_gnosis = 5 + breed_species = /datum/species/human/shifter/feral diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/tribes/_tribe.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/tribes/_tribe.dm new file mode 100644 index 000000000000..07ca1d1efc9f --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/tribes/_tribe.dm @@ -0,0 +1,65 @@ +/datum/subsplat/werewolf/tribe + abstract_type = /datum/subsplat/werewolf/tribe + + var/tribe_keys + //var/tribe_trait + +/** + * Gets the singleton of an tribe + * from its name, typepath, or returns the + * argument if given a tribe singleton. + * + * Arguments: + * * tribe_identifier - Name, typepath, or singleton of the tribe being retrieved + */ +/proc/get_fera_tribe(tribe_identifier) + RETURN_TYPE(/datum/subsplat/werewolf/tribe) + + if (ispath(tribe_identifier)) + return GLOB.fera_tribes[tribe_identifier] + else if (istext(tribe_identifier)) + return GLOB.fera_tribes[GLOB.tribes_list[tribe_identifier]] + else + return tribe_identifier + +/** + * Gives the human a tribe, applying + * on_gain effects and post_gain effects if the + * parameter is true. Can also remove tribes + * with or without a replacement, and apply + * on_lose effects. Will have no effect the human + * is being given the tribe it already has. + * + * Arguments: + * * setting_tribe - Typepath or tribe singleton to give to the human + * * joining_round - If this tribe is being given at roundstart and should call on_join_round + */ +/mob/living/carbon/human/proc/set_fera_tribe(setting_tribe, joining_round) + var/datum/subsplat/werewolf/tribe/previous_tribe = get_our_tribe() + + // Convert IDs and typepaths to singletons, or just directly assign if already singleton + var/datum/subsplat/werewolf/tribe/new_tribe = get_fera_tribe(setting_tribe) + + // Handle losing tribe + previous_tribe?.on_lose(src) + + var/datum/splat/werewolf/shifter/shifter = isshifter(src) + if (!shifter) + return + + shifter.tribe = new_tribe + + // tribe's been cleared, don't apply effects + if (!new_tribe) + return + + // Gaining tribe effects + new_tribe.on_gain(shifter, joining_round) + +/mob/living/proc/get_our_tribe() + RETURN_TYPE(/datum/subsplat/werewolf/tribe) + + return isshifter(src)?.tribe + +/mob/living/proc/is_tribe(tribe_type) + return istype(get_our_tribe(), tribe_type) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/tribes/garou.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/tribes/garou.dm new file mode 100644 index 000000000000..fcf46b013c7f --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/subsplats/tribes/garou.dm @@ -0,0 +1,164 @@ + +/datum/subsplat/werewolf/tribe/garou + abstract_type = /datum/subsplat/werewolf/tribe/garou + fera_restriction = SPLAT_GAROU + +/datum/subsplat/werewolf/tribe/garou/galestalkers + name = TRIBE_GALESTALKERS + desc = "Tireless trackers and peerless hunters, the galestalkers carry the namesake of the wind that crosses the tundra." + // gifts_provided = list( + // /datum/action/gift/stoic_pose = 1, + // /datum/action/gift/freezing_wind = 2, + // /datum/action/gift/bloody_feast = 3 + // ) + tribe_keys = /obj/item/vamp/keys/nps + +/datum/subsplat/werewolf/tribe/garou/ghostcouncil + name = TRIBE_UKTENA + desc = "Seekers of mystery and highly secretive, the Uktena is one of the most misunderstood tribes. Their ranks include guides, academics and the religious." + // gifts_provided = list( + // /datum/action/gift/shroud = 1, + // /datum/action/gift/coils_of_the_serpent = 2, + // /datum/action/gift/banish_totem = 3 + // ) + tribe_keys = /obj/item/vamp/keys/nps + +/datum/subsplat/werewolf/tribe/garou/hartwardens + name = TRIBE_FIANNA + desc = "Growing, creating, cultivating and maintaining the most natural of Gaia's creations, the Wardens are some of the closest to nature. Wherever they are, they coax Gaia's blessing out of whatever they can." + // gifts_provided = list( + // /datum/action/gift/stoic_pose = 1, + // /datum/action/gift/freezing_wind = 2, + // /datum/action/gift/bloody_feast = 3 + // ) + tribe_keys = /obj/item/vamp/keys/nps + +/datum/subsplat/werewolf/tribe/garou/glasswalkers + name = TRIBE_GLASS_WALKERS + desc = "The closest to the Weaver, they find themselves deeply entrenched in modern human society, religion, technology and cities. Every new invention and every new discovery is one that aids the Glass Walkers, instead of impeding them." + // gifts_provided = list( + // /datum/action/gift/smooth_move = 1, + // /datum/action/gift/digital_feelings = 2, + // /datum/action/gift/elemental_improvement = 3 + // ) + tribe_keys = /obj/item/vamp/keys/techstore + +/datum/subsplat/werewolf/tribe/garou/bonegnawers + name = TRIBE_BONE_GNAWERS + desc = "Survivors and scavengers, often destitute and homeless. The Gnawers are seen as mongrels who live off scraps, but they know better. They're the true survivors, patiently waiting for their moment to strike against overconfident foes." + // gifts_provided = list( + // /datum/action/gift/guise_of_the_hound = 1, + // /datum/action/gift/infest = 2, + // /datum/action/gift/gift_of_the_termite = 3 + // ) + tribe_keys = /obj/item/vamp/keys/children_of_gaia + +/datum/subsplat/werewolf/tribe/garou/childrenofgaia + name = TRIBE_CHILDREN_OF_GAIA + desc = "Peacekeepers, negotiators, treaty-makers and philosophers. The Children of Gaia strive as hard as they can create an understanding and unity between the disparate tribes that will allow them to form a united front against their foes." + // gifts_provided = list( + // /datum/action/gift/stoic_pose = 1, + // /datum/action/gift/freezing_wind = 2, + // /datum/action/gift/bloody_feast = 3 + // ) + tribe_keys = /obj/item/vamp/keys/children_of_gaia + +/datum/subsplat/werewolf/tribe/garou/getoffenris + name = TRIBE_GET_OF_FENRIS + desc = "Warriors, compassionate and fierce. They view themselves are Gaia's strongest heroes, but the rest of the tribes view them with caution, their violence more famous than their courage." + // gifts_provided = list( + // /datum/action/gift/stoic_pose = 1, + // /datum/action/gift/freezing_wind = 2, + // /datum/action/gift/bloody_feast = 3 + // ) + tribe_keys = /obj/item/vamp/keys/nps + +/datum/subsplat/werewolf/tribe/garou/blackfuries + name = TRIBE_BLACK_FURIES + desc = "An all-female tribe, and the matriarchs of the Garou. The Black Furies are known fondly for their honor, wisdom, pride and impressive prowess in battle." + // gifts_provided = list( + // /datum/action/gift/stoic_pose = 1, + // /datum/action/gift/freezing_wind = 2, + // /datum/action/gift/bloody_feast = 3 + // ) + tribe_keys = /obj/item/vamp/keys/nps + +/datum/subsplat/werewolf/tribe/garou/silentstriders + name = TRIBE_SILENT_STRIDERS + desc = "Highly spiritual nomads, the Silent Striders have headed deeper and longer into the depths of the Umbra than any other tribe." + // gifts_provided = list( + // /datum/action/gift/stoic_pose = 1, + // /datum/action/gift/freezing_wind = 2, + // /datum/action/gift/bloody_feast = 3 + // ) + tribe_keys = /obj/item/vamp/keys/nps + +/datum/subsplat/werewolf/tribe/garou/shadowlords + name = TRIBE_SHADOW_LORDS + desc = "The closest one could consider a Garou to being a 'politician'. They manipulate the tribes, and their enemies, and rely on cunning and wits more than physical strength. Not to say there aren't adept warriors in their ranks, but the tribe tends towards brains than brawn." + // gifts_provided = list( + // /datum/action/gift/stoic_pose = 1, + // /datum/action/gift/freezing_wind = 2, + // /datum/action/gift/bloody_feast = 3 + // ) + tribe_keys = /obj/item/vamp/keys/techstore + +/datum/subsplat/werewolf/tribe/garou/redtalons + name = TRIBE_RED_TALONS + desc = "Exclusively consisting of lupus, the Red Talons shun humanity and think of them as a blight on Gaia." + // gifts_provided = list( + // /datum/action/gift/stoic_pose = 1, + // /datum/action/gift/freezing_wind = 2, + // /datum/action/gift/bloody_feast = 3 + // ) + +/datum/subsplat/werewolf/tribe/garou/silverfangs + name = TRIBE_SILVER_FANGS + desc = "Commonly known as the 'Alphas' of the Garou Nation, their ranks consist of traditional rulers and wartime leaders. Known for being honorable and having courage, odd mental quirks have begun plaguing their young members, and the tribe is beginning to suffer from diseases of the spirit and mind." + // gifts_provided = list( + // /datum/action/gift/stoic_pose = 1, + // /datum/action/gift/freezing_wind = 2, + // /datum/action/gift/bloody_feast = 3 + // ) + tribe_keys = /obj/item/vamp/keys/nps + +/datum/subsplat/werewolf/tribe/garou/stargazers + name = TRIBE_STARGAZERS + desc = "The calmest of the Garou, they are well known for their introversion. They are the smallest of the remaining tribes, many of their kind wiped out by the Wyrm." + // gifts_provided = list( + // /datum/action/gift/stoic_pose = 1, + // /datum/action/gift/freezing_wind = 2, + // /datum/action/gift/bloody_feast = 3 + // ) + tribe_keys = /obj/item/vamp/keys/nps + +/datum/subsplat/werewolf/tribe/garou/blackspiraldancers + name = TRIBE_BLACK_SPIRAL_DANCERS + desc = "The lost tribe. The dreadwolves. Those who dance lockstep with the Wyrm. They who have entered the labyrinth and come back, changed.\n{THIS IS AN ADVANCED TRIBE AND NOT RECOMMENDED FOR BEGINNERS. LORE KNOWLEDGE IS REQUIRED TO PLAY THIS TRIBE}" + // gifts_provided = list( + // /datum/action/gift/stinky_fur = 1, + // /datum/action/gift/venom_claws = 2, + // /datum/action/gift/burning_scars = 3 + // ) + +/datum/subsplat/werewolf/tribe/garou/ronin + name = TRIBE_RONIN + desc = "Garou who, for one reason or another, find themselves as outcasts of the Nation." + // gifts_provided = list( + // /datum/action/gift/guise_of_the_hound = 1, + // /datum/action/gift/stoic_pose = 2, + // /datum/action/gift/smooth_move = 3, + // /datum/action/gift/shroud = 4 + // ) + +/* // DARKPACK TODO - CORAX +/datum/subsplat/werewolf/tribe/garou/corax + name = TRIBE_CORAX + desc = "{CONSIDER : THIS IS A PLACEHOLDER, FEATURES WILL BE MISSING.} \nMessengers of Gaia, children of Raven, and scions of Helios; the wereravens travel accross the globe, guided by their innate curiosity and insatiable thirst for gossip. \nThey are renowned for their ability to gather useful intelligence, and the difficulty of making them stop talking." + gifts_provided = list( + /datum/action/gift/eye_drink = 1, + /datum/action/gift/smooth_move = 2, + /datum/action/gift/suns_guard = 3 + ) + tribe_trait = TRAIT_CORAX +*/ diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/totems.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/totems.dm index 67c5c06971de..5566401817ef 100644 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/totems.dm +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/totems.dm @@ -1,172 +1,242 @@ /obj/structure/werewolf_totem + abstract_type = /obj/structure/werewolf_totem name = "tribe totem" - desc = "Gives power to all Garou of that tribe and steals it from others." + desc = "Gives power to all Garou of that tribe." icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/totems.dmi' - icon_state = "glassw" - plane = GAME_PLANE - layer = SPACEVINE_LAYER + icon_state = "wendigo" + base_icon_state = "wendigo" anchored = TRUE density = TRUE - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF - var/tribe - var/totem_health = 500 - var/obj/overlay/totem_light_overlay - var/totem_overlay_color = "#FFFFFF" - var/last_rage = 0 + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF + max_integrity = 500 // Fuck you flav for having this orginally be snowflaked health + + // light_color = "#FFFFFF" + light_range = 3 + light_power = 0.5 + damage_deflection = 5 + + var/tribes = list() + + COOLDOWN_DECLARE(rage_notify_cd) var/turf/teleport_turf var/opening = FALSE -// DARKPACK TODO - GAROU - Fuck this not respecting normal integrity -/* -/obj/structure/werewolf_totem/attackby(obj/item/I, mob/living/user, params) - . = ..() - if(I.force) - adjust_totem_health(round(I.force/2)) - -/obj/structure/werewolf_totem/bullet_act(obj/projectile/P, def_zone, piercing_hit = FALSE) - . = ..() - adjust_totem_health(round(P.damage/2)) /obj/structure/werewolf_totem/Initialize(mapload) . = ..() + var/list/candidates = list() for(var/obj/effect/landmark/teleport_mark/T in GLOB.landmarks_list) - if(T.tribe == tribe) - teleport_turf = get_turf(T) - set_light(3, 0.5, totem_overlay_color) + for(var/entry in T.tribes) + if(entry in tribes) + candidates += T + break + + if(!length(candidates)) + if(mapload) + log_mapping("[src] failed to find a candidate for an exit point.") + else + var/candidate = pick(candidates) + teleport_turf = get_turf(candidate) + qdel(candidate) GLOB.totems += src - totem_light_overlay = new(src) - totem_light_overlay.icon = icon - totem_light_overlay.icon_state = "[icon_state]_overlay" - totem_light_overlay.plane = ABOVE_LIGHTING_PLANE - totem_light_overlay.layer = ABOVE_LIGHTING_LAYER - totem_light_overlay.color = totem_overlay_color - overlays |= totem_light_overlay - -/obj/structure/werewolf_totem/proc/adjust_totem_health(amount) - if(amount > 0) - if(totem_health == 0) + + update_icon(UPDATE_ICON) + +/obj/structure/werewolf_totem/update_icon_state() + . = ..() + + if(broken) + icon_state = "[base_icon_state]_broken" + else + icon_state = base_icon_state + +/obj/structure/werewolf_totem/update_overlays() + . = ..() + + var/mutable_appearance/totem_light_overlay = mutable_appearance(icon, "[icon_state]_overlay") + SET_PLANE(totem_light_overlay, ABOVE_LIGHTING_PLANE, src) + totem_light_overlay.color = light_color + // totem_light_overlay.layer = ABOVE_LIGHTING_LAYER + . += totem_light_overlay + +/obj/structure/werewolf_totem/Destroy(force) + . = ..() + GLOB.totems -= src + +/obj/structure/werewolf_totem/take_damage(damage_amount, damage_type = BRUTE, damage_flag = "", sound_effect = TRUE, attack_dir, armour_penetration = 0) + . = ..() + if(. && !broken) + if(!COOLDOWN_FINISHED(src, rage_notify_cd)) + return . + notify_fera(-damage_amount) + COOLDOWN_START(src, rage_notify_cd, 5 SECONDS) + +/obj/structure/werewolf_totem/atom_break(damage_flag) + . = ..() + break_totem() + +/obj/structure/werewolf_totem/atom_destruction(damage_flag) + SHOULD_CALL_PARENT(FALSE) + break_totem() + +/obj/structure/werewolf_totem/atom_fix() + . = ..() + set_light(initial(light_range)) + update_icon(UPDATE_ICON) + notify_fera(1) + +/obj/structure/werewolf_totem/proc/break_totem() + if(broken) + return + broken = TRUE + set_light(0) + update_icon(UPDATE_ICON) + var/obj/umbra_portal/prev = locate() in get_step(src, SOUTH) + if(prev) + collapse_portal(prev) + notify_fera(-1) + +/obj/structure/werewolf_totem/proc/notify_fera(damage_change) + for(var/mob/living/carbon/human/human in GLOB.player_list) + var/datum/splat/werewolf/shifter/shifter_splat = isshifter(human) + if(!istype(shifter_splat)) + continue + if(human.stat == DEAD) + continue + if(!(shifter_splat.tribe.name in tribes)) + continue + + if(damage_change < 0) + if(broken) + to_chat(human, span_userdanger("YOUR TOTEM IS DESTROYED")) + SEND_SOUND(human, sound('sound/effects/tendril_destroyed.ogg', volume = 50)) + shifter_splat.adjust_gnosis(-5, FALSE) + else + to_chat(human, span_userdanger("YOUR TOTEM IS BREAKING DOWN")) + SEND_SOUND(human, sound('modular_darkpack/modules/werewolf_the_apocalypse/sounds/bumps.ogg', volume = 50)) + shifter_splat.adjust_rage(1, FALSE) + else + to_chat(human, span_boldnotice("YOUR TOTEM IS RESTORED")) + SEND_SOUND(human, sound('modular_darkpack/modules/werewolf_the_apocalypse/sounds/inspire.ogg', volume = 50)) + shifter_splat.adjust_gnosis(1, FALSE) + +/obj/structure/werewolf_totem/attack_hand(mob/living/user, list/modifiers) + . = ..() + if(user.combat_mode) + attack_generic(user, rand(user.melee_damage_lower, user.melee_damage_upper)) + else + var/datum/splat/werewolf/shifter/shifter_splat = isshifter(user) + if(!istype(shifter_splat)) + return . + if(broken) + to_chat(user, span_warning("[src] is broken!")) return - totem_health = max(0, totem_health-amount) - if(totem_health == 0) - icon_state = "[initial(icon_state)]_broken" - overlays -= totem_light_overlay - totem_light_overlay.icon_state = "[icon_state]_overlay" - overlays |= totem_light_overlay - for(var/mob/living/carbon/C in GLOB.player_list) - if(iswerewolf(C) || isgarou(C)) - if(C.stat != DEAD) - if(C.auspice.tribe == tribe) - set_light(0) - to_chat(C, span_userdanger("YOUR TOTEM IS DESTROYED")) - SEND_SOUND(C, sound('sound/effects/tendril_destroyed.ogg', volume = 75)) - adjust_gnosis(-5, C, FALSE) - var/obj/umbra_portal/prev = locate() in get_step(src, SOUTH) - if(prev) - qdel(prev.exit) - qdel(prev) + var/obj/umbra_portal/prev = locate() in get_step(src, SOUTH) + if(!prev) + if(shifter_splat.auspice.name == AUSPICE_THEURGE) + if(!opening) + opening = TRUE + if(do_after(user, 10 SECONDS, src)) + spawn_portal() + opening = FALSE + else + to_chat(user, span_warning("You need a Theurge to open the Moon Gates!")) else - for(var/mob/living/carbon/C in GLOB.player_list) - if(iswerewolf(C) || isgarou(C)) - if(C.stat != DEAD) - if(C.auspice.tribe == tribe) - if(last_rage+50 < world.time) - last_rage = world.time - to_chat(C, span_userdanger("YOUR TOTEM IS BREAKING DOWN")) - SEND_SOUND(C, sound('modular_darkpack/modules/deprecated/sounds/bumps.ogg', volume = 75)) - adjust_rage(1, C, FALSE) - if(amount < 0) - totem_health = min(initial(totem_health), totem_health-amount) - if(totem_health > 0) - if(icon_state != initial(icon_state)) - for(var/mob/living/carbon/C in GLOB.player_list) - if(iswerewolf(C) || isgarou(C)) - if(C.stat != DEAD) - if(C.auspice.tribe == tribe) - to_chat(C, span_userhelp("YOUR TOTEM IS RESTORED")) - SEND_SOUND(C, sound('modular_darkpack/modules/deprecated/sounds/inspire.ogg', volume = 75)) - adjust_gnosis(1, C, FALSE) - icon_state = "[initial(icon_state)]" - overlays -= totem_light_overlay - totem_light_overlay.icon_state = "[icon_state]_overlay" - overlays |= totem_light_overlay -*/ + if(shifter_splat.auspice.name == AUSPICE_THEURGE) + collapse_portal(prev) + +/obj/structure/werewolf_totem/proc/spawn_portal() + var/obj/umbra_portal/prev = locate() in get_step(src, SOUTH) + if(prev) + collapse_portal(prev) + playsound(src, 'modular_darkpack/modules/deprecated/sounds/portal.ogg', 50, FALSE) + var/obj/umbra_portal/U = new (get_step(src, SOUTH)) + // New code doesnt relay on ID for these two's connections buy why not. + U.id = "[pick(tribes)][rand(1, 999)]" + var/obj/umbra_portal/P = new (teleport_turf) + P.id = U.id + U.link_portal(P) + +/obj/structure/werewolf_totem/proc/collapse_portal(obj/umbra_portal/old_portal) + playsound(src, 'modular_darkpack/modules/deprecated/sounds/portal.ogg', 50, FALSE) + qdel(old_portal.exit) + qdel(old_portal) /obj/structure/werewolf_totem/wendigo - name = "\improper Wendigo totem" - desc = "Gives power to all Garou of that tribe and steals it from others." - icon_state = "wendigo" - tribe = "Wendigo" - totem_overlay_color = "#81ff4f" + name = "\improper " + TRIBE_GALESTALKERS + " totem" + tribes = list(TRIBE_GALESTALKERS) + light_color = "#81ff4f" /obj/structure/werewolf_totem/children_of_gaia - name = "Children of Gaia Totem" - desc = "Gives power to all Garou of that tribe and steals it from others." - icon_state = "wendigo" - tribe = "Children of Gaia" - totem_overlay_color = "#00CEC8" + name = "\improper " + TRIBE_CHILDREN_OF_GAIA + " totem" + tribes = list(TRIBE_CHILDREN_OF_GAIA) + light_color = "#00CEC8" /obj/structure/werewolf_totem/bone_gnawer - name = "Bone Gnawer Totem" - desc = "Gives power to all Garou of that tribe and steals it from others." - icon_state = "wendigo" - tribe = "Bone Gnawers" - totem_overlay_color = "#FFA500" + name = "\improper " + TRIBE_BONE_GNAWERS + " totem" + light_color = "#FFA500" + tribes = list(TRIBE_BONE_GNAWERS) /obj/structure/werewolf_totem/glasswalker - name = "\improper Glasswalker totem" - desc = "Gives power to all Garou of that tribe and steals it from others." + name = "\improper " + TRIBE_GLASS_WALKERS + " totem" icon_state = "glassw" - tribe = "Glasswalkers" - totem_overlay_color = "#35b0ff" + base_icon_state = "glassw" + light_color = "#35b0ff" + tribes = list(TRIBE_GLASS_WALKERS) /obj/structure/werewolf_totem/spiral name = "spiral totem" - desc = "Gives power to all Garou of that tribe and steals it from others." icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/spiral_totem.dmi' icon_state = "spiral" - tribe = "Black Spiral Dancers" - totem_overlay_color = "#ff5235" + base_icon_state = "spiral" + light_color = "#ff5235" + tribes = list(TRIBE_BLACK_SPIRAL_DANCERS) + +/obj/structure/werewolf_totem/generic + light_color = "#81ff4f" + tribes = TRIBE_GAIA + +/obj/structure/werewolf_totem/generic/wyld + light_color = "#81ff4f" + tribes = TRIBE_WYLD + +/obj/structure/werewolf_totem/generic/weaver + icon_state = "glassw" + base_icon_state = "glassw" + light_color = "#35b0ff" + tribes = TRIBE_WEAVER + +/obj/structure/werewolf_totem/generic/wyrm + icon = 'modular_darkpack/modules/werewolf_the_apocalypse/icons/spiral_totem.dmi' + icon_state = "spiral" + base_icon_state = "spiral" + light_color = "#ff5235" + tribes = TRIBE_WYRM + +/obj/structure/werewolf_totem/generic/alltribes + tribes = TRIBE_ALL + + +// This things type path sucks /obj/effect/landmark/teleport_mark - name = "Teleport" - icon_state = "x" - var/tribe + name = "totem Exit Mark" + icon_state = "portal_exit" + var/tribes = list() -// DARKPACK TODO - GAROU -/* -/obj/structure/werewolf_totem/attack_hand(mob/user) - . = ..() - if(iswerewolf(user) || isgarou(user)) - var/mob/living/carbon/C = user - if(C.a_intent != INTENT_HARM) - if(totem_health <= 0) - to_chat(C, span_warning("[src] is broken!")) - return - var/obj/umbra_portal/prev = locate() in get_step(src, SOUTH) - if(!prev) - if(C.auspice.name == "Theurge") - if(!opening) - opening = TRUE - if(do_mob(user, src, 10 SECONDS)) - playsound(loc, 'modular_darkpack/modules/deprecated/sounds/portal.ogg', 75, FALSE) - var/obj/umbra_portal/U = new (get_step(src, SOUTH)) - // New code doesnt relay on ID for these two's connections buy why not. - U.id = "[tribe][rand(1, 999)]" - var/obj/umbra_portal/P = new (teleport_turf) - P.id = U.id - U.link_portal(P) - opening = FALSE - else - opening = FALSE - else - to_chat(C, span_warning("You need a Theurge to open the Moon Gates!")) - else - if(C.auspice.name == "Theurge") - playsound(loc, 'modular_darkpack/modules/deprecated/sounds/portal.ogg', 75, FALSE) - qdel(prev.exit) - qdel(prev) - else - adjust_totem_health(round(C.melee_damage_lower/2)) -*/ +/obj/effect/landmark/teleport_mark/gaia + tribes = TRIBE_GAIA + +/obj/effect/landmark/teleport_mark/wyld + tribes = TRIBE_WYLD + +/obj/effect/landmark/teleport_mark/weaver + tribes = TRIBE_WEAVER + +/obj/effect/landmark/teleport_mark/wyrm + tribes = TRIBE_WYRM + +/obj/effect/landmark/teleport_mark/alltribes + tribes = TRIBE_ALL diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/werewolf_globals.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/werewolf_globals.dm index 5fedbf24d242..e112a527852d 100644 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/werewolf_globals.dm +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/werewolf_globals.dm @@ -1,7 +1,65 @@ /// Current phase of the moon, randomly chosen -GLOBAL_VAR_INIT(moon_state, pick("New", "Crescent", "Half", "Gibbous", "Full")) +GLOBAL_VAR_INIT(moon_state, get_moon_phase()) + +#define LUNAR_CYCLE 29.530588 +/proc/get_moon_phase() + // First known fullmoon since the BYOND EPOCH. + var/ref_year = 2000 + var/ref_month = 1 + var/ref_day = 20 + + var/year = text2num(station_time_timestamp("YYYY")) + var/month = text2num(station_time_timestamp("MM")) + var/day = text2num(station_time_timestamp("DD")) + + var/ref_days = ref_year * 365 + ref_month * 30 + ref_day + var/current_days = year * 365 + month * 30 + day + + var/days_since_full = current_days - ref_days + + var/phase_day = days_since_full % LUNAR_CYCLE + if(phase_day < 0) + phase_day += LUNAR_CYCLE + + return moon_phase_name(phase_day) +#undef LUNAR_CYCLE + +/proc/moon_phase_name(phase_day) + if(phase_day < 1.84566) + return MOON_NEW + if(phase_day < 5.53699) + return MOON_WAXING_CRESENT + if(phase_day < 9.22831) + return MOON_FIRST_QUARTER + if(phase_day < 12.91963) + return MOON_WAXING_GIBBOUS + if(phase_day < 16.61096) + return MOON_FULL + if(phase_day < 20.30228) + return MOON_WANING_GIBBOUS + if(phase_day < 23.99361) + return MOON_LAST_QUARTER + if(phase_day < 27.68493) + return MOON_WANING_CRESCENT + return MOON_FULL /// List of all Tribe totems GLOBAL_LIST_EMPTY(totems) + +/// Associative list of auspice names to typepaths +GLOBAL_LIST_INIT(auspices_list, init_subsplat_list(/datum/subsplat/werewolf/auspice)) +/// Associative list of auspice typepaths to singletons +GLOBAL_LIST_INIT_TYPED(auspices, /datum/subsplat/werewolf/auspice, init_subtypes_w_path_keys(/datum/subsplat/werewolf/auspice, list())) + +/// Associative list of tribe names to typepaths +GLOBAL_LIST_INIT(tribes_list, init_subsplat_list(/datum/subsplat/werewolf/tribe)) +/// Associative list of tribe typepaths to singletons +GLOBAL_LIST_INIT_TYPED(fera_tribes, /datum/subsplat/werewolf/tribe, init_subtypes_w_path_keys(/datum/subsplat/werewolf/tribe, list())) + +/// Associative list of breed form names to typepaths +GLOBAL_LIST_INIT(breed_forms_list, init_subsplat_list(/datum/subsplat/werewolf/breed_form)) +/// Associative list of breed_form typepaths to singletons +GLOBAL_LIST_INIT_TYPED(breed_forms, /datum/subsplat/werewolf/breed_form, init_subtypes_w_path_keys(/datum/subsplat/werewolf/breed_form, list())) + GLOBAL_LIST_INIT(glyph_list, init_glyphs()) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/werewolf_hud.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/werewolf_hud.dm deleted file mode 100644 index 652ee0e5d886..000000000000 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/werewolf_hud.dm +++ /dev/null @@ -1,249 +0,0 @@ -/atom/movable/screen/werewolf - icon = 'icons/hud/screen_midnight.dmi' - -/datum/hud/werewolf - ui_style = 'icons/hud/screen_midnight.dmi' - -/atom/movable/screen/rage - name = "Rage" - icon = 'code/modules/wod13/48x48.dmi' - icon_state = "rage0" - layer = HUD_LAYER - plane = HUD_PLANE - -/atom/movable/screen/transform_homid - name = "Homid" - icon = 'code/modules/wod13/32x48.dmi' - icon_state = "homid" - layer = HUD_LAYER - plane = HUD_PLANE - -/atom/movable/screen/transform_homid/Click() - var/mob/living/carbon/C = usr - if(C.stat >= SOFT_CRIT || C.IsSleeping() || C.IsUnconscious() || C.IsParalyzed() || C.IsKnockdown() || C.IsStun()) - return - if(C.transformator) - C.transformator.trans_gender(C, "Homid") - -/atom/movable/screen/transform_crinos - name = "Crinos" - icon = 'code/modules/wod13/32x48.dmi' - icon_state = "crinos" - layer = HUD_LAYER - plane = HUD_PLANE - -/atom/movable/screen/transform_crinos/Click() - var/mob/living/carbon/C = usr - if(C.stat >= SOFT_CRIT || C.IsSleeping() || C.IsUnconscious() || C.IsParalyzed() || C.IsKnockdown() || C.IsStun()) - return - if(C.transformator) - C.transformator.trans_gender(C, "Crinos") - -/atom/movable/screen/transform_lupus - name = "Lupus" - icon = 'code/modules/wod13/32x48.dmi' - icon_state = "lupus" - layer = HUD_LAYER - plane = HUD_PLANE - -/atom/movable/screen/transform_lupus/Click() - var/mob/living/carbon/C = usr - if(C.stat >= SOFT_CRIT || C.IsSleeping() || C.IsUnconscious() || C.IsParalyzed() || C.IsKnockdown() || C.IsStun()) - return - if(C.transformator) - C.transformator.trans_gender(C, "Lupus") - -/atom/movable/screen/auspice - name = "Auspice" - icon = 'code/modules/wod13/werewolf_ui.dmi' - icon_state = "auspice_bar" - layer = HUD_LAYER - plane = HUD_PLANE - -/atom/movable/screen/auspice/Click() - if(!GLOB.moon_state) - GLOB.moon_state = pick("Full", "Gibbous", "Half", "Crescent", "New") - var/mob/living/carbon/C = usr - if(C.stat >= SOFT_CRIT || C.IsSleeping() || C.IsUnconscious() || C.IsParalyzed() || C.IsKnockdown() || C.IsStun()) - return - var/area/vtm/V = get_area(C) - if(!V.outdoors) - to_chat(C, span_warning("You need to be outside to look at the moon!")) - return - if(C.last_moon_look == 0 || C.last_moon_look+600 < world.time) -// last_moon_look = world.time - C.transformator.lupus_form.last_moon_look = world.time - C.transformator.crinos_form.last_moon_look = world.time - C.transformator.human_form.last_moon_look = world.time - to_chat(C, span_notice("The Moon is [GLOB.moon_state].")) -// icon_state = "[GLOB.moon_state]" - C.emote("howl") - playsound(get_turf(C), pick('modular_darkpack/modules/deprecated/sounds/awo1.ogg', 'modular_darkpack/modules/deprecated/sounds/awo2.ogg'), 100, FALSE) - icon_state = "[GLOB.moon_state]" - spawn(10) - adjust_rage(1, C, TRUE) - -/datum/hud - var/atom/movable/screen/auspice_icon - -/datum/hud/werewolf/New(mob/living/carbon/werewolf/owner) - ..() - - var/atom/movable/screen/using - var/atom/movable/screen/transform_werewolf - -//equippable shit - -//hands - if(iscrinos(owner)) - build_hand_slots() - -//begin buttons - - using = new /atom/movable/screen/fullscreen_hud() - using.screen_loc = ui_full_inventory - using.hud = src - static_inventory += using - - transform_werewolf = new /atom/movable/screen/transform_lupus() - transform_werewolf.screen_loc = ui_werewolf_lupus - transform_werewolf.hud = src - static_inventory += transform_werewolf - - transform_werewolf = new /atom/movable/screen/transform_crinos() - transform_werewolf.screen_loc = ui_werewolf_crinos - transform_werewolf.hud = src - static_inventory += transform_werewolf - - transform_werewolf = new /atom/movable/screen/transform_homid() - transform_werewolf.screen_loc = ui_werewolf_homid - transform_werewolf.hud = src - static_inventory += transform_werewolf - - auspice_icon = new /atom/movable/screen/auspice() - auspice_icon.screen_loc = ui_werewolf_auspice - auspice_icon.hud = src - static_inventory += auspice_icon - - rage_icon = new /atom/movable/screen/rage() - rage_icon.screen_loc = ui_werewolf_rage - rage_icon.hud = src - infodisplay += rage_icon - - if(iscrinos(owner)) - using = new /atom/movable/screen/swap_hand() - using.icon = 'code/modules/wod13/UI/buttons32.dmi' - using.icon_state = "swap_1" - using.screen_loc = ui_swaphand_position(owner,1) - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/swap_hand() - using.icon = 'code/modules/wod13/UI/buttons32.dmi' - using.icon_state = "swap_2" - using.screen_loc = ui_swaphand_position(owner,2) - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/act_intent() - using.icon_state = mymob.a_intent - using.icon = 'code/modules/wod13/UI/buttons32.dmi' - using.hud = src - static_inventory += using - action_intent = using - - using = new/atom/movable/screen/language_menu - using.screen_loc = ui_language_menu - using.icon = 'code/modules/wod13/UI/buttons_wide.dmi' - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/drop() - using.icon = 'code/modules/wod13/UI/buttons_wide.dmi' - using.screen_loc = ui_drop - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/resist() - using.icon = 'code/modules/wod13/UI/buttons_wide.dmi' - using.screen_loc = ui_resist - using.hud = src - hotkeybuttons += using - - throw_icon = new /atom/movable/screen/throw_catch() - throw_icon.icon = 'code/modules/wod13/UI/buttons_wide.dmi' - throw_icon.screen_loc = ui_throw - throw_icon.hud = src - hotkeybuttons += throw_icon - - pull_icon = new /atom/movable/screen/pull() - pull_icon.icon = 'code/modules/wod13/UI/buttons_wide.dmi' - pull_icon.update_icon() - pull_icon.screen_loc = ui_pull - pull_icon.hud = src - static_inventory += pull_icon - -//begin indicators - - healths = new /atom/movable/screen/healths() - healths.icon = 'code/modules/wod13/UI/buttons32.dmi' - healths.hud = src - infodisplay += healths - blood_icon = new /atom/movable/screen/blood() - blood_icon.screen_loc = ui_bloodpool - blood_icon.hud = src - infodisplay += blood_icon - - zone_select = new /atom/movable/screen/zone_sel() - zone_select.icon = 'code/modules/wod13/UI/buttons64.dmi' - zone_select.hud = src - zone_select.update_icon() - static_inventory += zone_select - - for(var/atom/movable/screen/inventory/inv in (static_inventory + toggleable_inventory)) - if(inv.slot_id) - inv.hud = src - inv_slots[TOBITSHIFT(inv.slot_id) + 1] = inv - inv.update_icon() - -/datum/hud/werewolf/persistent_inventory_update() - if(!mymob) - return - if(!iscrinos(mymob)) - return - var/mob/living/carbon/werewolf/H = mymob - if(hud_version != HUD_STYLE_NOHUD) - for(var/obj/item/I in H.held_items) - I.screen_loc = ui_hand_position(H.get_held_index_of_item(I)) - H.client.screen += I - else - for(var/obj/item/I in H.held_items) - I.screen_loc = null - H.client.screen -= I - -/mob/living/carbon/werewolf/Life() - . = ..() - update_blood_hud() - update_rage_hud() - -/mob/living/Initialize(mapload) - . = ..() - gnosis = new(src) - gnosis.icon = 'modular_darkpack/modules/deprecated/icons/48x48.dmi' - gnosis.plane = ABOVE_HUD_PLANE - gnosis.layer = ABOVE_HUD_LAYER - -/mob/living/proc/update_rage_hud() - if(!client || !hud_used) - return - if(isgarou(src) || iswerewolf(src)) - if(hud_used.rage_icon) - hud_used.rage_icon.overlays -= gnosis - var/mob/living/carbon/C = src - hud_used.rage_icon.icon_state = "rage[C.auspice.rage]" - gnosis.icon_state = "gnosis[C.auspice.gnosis]" - hud_used.rage_icon.overlays |= gnosis - if(hud_used.auspice_icon) - var/mob/living/carbon/C = src - if(C.last_moon_look != 0) - hud_used.auspice_icon.icon_state = "[GLOB.moon_state]" diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/icons/auspices.dmi b/modular_darkpack/modules/werewolf_the_apocalypse/icons/auspices.dmi new file mode 100644 index 0000000000000000000000000000000000000000..efd83db23af7180bf9eae99308dbe611b4685422 GIT binary patch literal 677 zcmV;W0$TlvP)V=-0C=2* z(9H_MFc1XbbMh3Sy^DWWFVZ4C*jJF1tl2=CEt^z*e1ipVlH1Jiou)PC{xXcFyAJw^ zk~~LqGRMtUtCzQ#N;&McBJ_^(T2h9LB{l*M?vSX_%6ds<+G+I=m~hQMmO+R+un?8BcS1;Ayb^HJT0iH=jK~zYI)s}0H zgdhxnsd@l9@c_yZ_5_-E|1+(~Kws!UHkoAmM=SkkOQGo8Hw1bC^ywic@edB(fUs!+ zgbS>i-UCk#9A-l#D>MKUGa3ZE2M{X&#RNKqXzx1!Vb6e)Dq4WWSOa7VAne&{W&ji* z?VA9pRsfZP;y(e#VK-n_=>q^2!2b!bbu{R69cb9TWREH-lWS!!$qBTX20#%8&{=CD z#l)?&3!S(DjEkxWr%!#RPPe%DKeBY%j|CXkCg4S{L(|eRz-=u6#*oIJ5IxK-!0z1; z!iuM-wF#IoOTZiwfbNFqNZ%3X%}wz^<8r?%9j=*APsIUB3#+GT=pspSt9JwI`{sX@ z38X>nDpde)0WWW<{BJQUK!nVj*KPsF#hmB;3Z9kCv@Hcp=ZA4cmO~W)1}x`ZI(9TY zRp{*Nxhsw>F2v&W5YuThg%pi1rPDp=(%C)pUd63cBE`TPC3ic-)j9BRbRIzNgrrlQ zH$v%WMD>4OMml9{sl=0zeXy56MJ5&yHXZ3Ah)oeOU&qm9|26pqLf|C2E6lEA00000 LNkvXXu0mjf=}aP> literal 0 HcmV?d00001 diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/icons/corax_forms/corvid.dmi b/modular_darkpack/modules/werewolf_the_apocalypse/icons/corax_forms/corvid.dmi new file mode 100644 index 0000000000000000000000000000000000000000..2a85620d7f36ccdab447b1007aa0d43f1d205289 GIT binary patch literal 33182 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