Commit Graph

143 Commits

Author SHA1 Message Date
Kashargul de17517e42 bunch of global vars (#19091)
* bunch of global vars

* .
2026-01-25 13:18:03 -08:00
Kashargul fa37803797 barricade breakthrough (#18474)
* barricade breakthrough

* fire deals more
2025-09-14 23:09:20 -04:00
Selis b0f0f4685f JSON Logging Refactor (#18252)
* First pass

* fixes

* more fixes

* num2hex length changes

* pass 2

* fixed warning

* looc log fix

* .

* update tgui

* .

* .

* .

* .

* perttier

* cleanup

* .

* .

* fix token

* no

* .

* .

* .

* ,

* modsay eventsay

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-09-11 17:28:20 +02:00
Kashargul 6f1d6c524d Simple mob port [IDB IGNORE] (#18236)
* first adjustements

* few more

* construct

* next

* next set

* next

* next

* next

* next

* next

* .

* last non modular set

* make it compile

* .

* .

* change that

* synx

* teamush

* override fix

* TEAMUSH

* adds organ sell element

* adds pick color

* get rid of these chompcomments

* removes chomp comments

* Update gaslamp_vr.dm

* zipgun

* zip and synx

* fixes synx

* Update topic.dm

* move the trash verbs

* .

* .

* .

* port

* Update rakshasa_trap.dm

* Update slug.dm

---------

Co-authored-by: C.L. <killer65311@gmail.com>
Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
2025-08-22 17:24:51 -04:00
Cameron Lennox b3fb00d70d Refactors do_after w/ TG's do_after (#18282)
* part1

* keeps range ability

* no cog vore
2025-08-22 00:21:14 +02:00
Selis f4bf017921 Unit Test rework & Master/Ticker update (#17912)
* Unit Test rework & Master/Ticker update

* Fixes and working unit testing

* Fixes

* Test fixes and FA update

* Fixed runtimes

* Radio subsystem

* move that glob wherever later

* ident

* CIBUILDING compile option

* Fixed runtimes

* Some changes to the workflow

* CI Split

* More split

* Pathing

* Linters and Annotators

* ci dir fix

* Missing undef fixed

* Enable grep checks

* More test conversions

* More split

* Correct file

* Removes unneeded inputs

* oop

* More dependency changes

* More conversions

* Conversion fixes

* Fixes

* Some assert fixes

* Corrects start gate

* Converted some README.dms to README.mds

* Removes duplicate proc

* Removes unused defines

* Example configs

* fix dll access viol by double calling

* Post-rebase fixes

* Cleans up names global list

* Undef restart counter

* More code/game/ cleanup

* Statpanel update

* Skybox

* add

* Fix ticker

* Roundend fix

* Persistence dependency update

* Reordering

* Reordering

* Reordering

* Initstage fix

* .

* .

* Reorder

* Reorder

* Circle

* Mobs

* Air

* Test fix

* CI Script Fix

* Configs

* More ticker stuff

* This is now in 'reboot world'

* Restart world announcements

* no glob in PreInit

* to define

* Update

* Removed old include

* Make this file normal again

* moved

* test

* shared unit testing objects

* Updates batched_spritesheets and universal_icon

* .

* job data debug

* rm that

* init order

* show us

* .

* i wonder

* .

* .

* urg

* do we not have a job ID?

* .

* rm sleep for now

* updated rust-g linux binaries

* binaries update 2

* binaries update 3

* testing something

* change that

* test something

* .

* .

* .

* locavar

* test

* move that

* .

* debug

* don't run this test

* strack trace it

* cleaner

* .

* .

* cras again

* also comment this out

* return to official rust g

* Update robot_icons.dm

* monitor the generation

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-08-10 01:37:23 +02:00
SatinIsle 45d3940c21 Lets mobs eat again (#18078)
Fixed vore hostile mobs (those that eat people unprompted) not being able to target players with mob vore enabled.
2025-07-26 07:59:15 -07:00
Cameron Lennox 84dc5535dc var/global/list -> GLOB. conversion (#17928)
* These two are easy

* !!!runlevel_flags

the fact it was global.runlevel_flags.len has me a bit...iffy on this.

* !!!json_cache

Same as above. used global.

* player_list & observer_mob_list

* mechas_list

* this wasn't even used

* surgery_steps

* event_triggers

* landmarks_list

* dead_mob_list

* living_mob_list

* ai_list

* cable_list

* cleanbot_reserved_turfs

* listening_objects

* silicon_mob_list

* human_mob_list

* Update global_lists.dm

* joblist

* mob_list

* Update global_lists.dm

* holomap_markers

* mapping_units

* mapping_beacons

* hair_styles_list

* facial_hair_styles_list

* Update global_lists.dm

* facial_hair_styles_male_list

* facial_hair_styles_female_list

* body_marking_styles_list

* body_marking_nopersist_list

* ear_styles_list

* hair_styles_male_list

* tail_styles_list

* wing_styles_list

* escape_list & rune_list & endgame_exits

these were all really small

* endgame_safespawns

* stool_cache

* emotes_by_key

* random_maps & map_count

* item_tf_spawnpoints

* narsie_list

* active_radio_jammers

* unused

* paikeys

* pai_software_by_key & default_pai_software

* plant_seed_sprites

* magazine_icondata_keys  & magazine_icondata_states

* unused

* ashtray_cache

* light_type_cache

* HOLIDAY!!!

this one was annoying

* faction stuff (red?!)

* Update preferences_factions.dm

* vs edit removal

* backbaglist, pdachoicelist, exclude_jobs

* item_digestion_blacklist, edible_tech, blacklisted_artifact_effect, selectable_footstep, hexNums, syndicate_access

* string_slot_flags and hexdigits->hexNums

* possible_changeling_IDs

* vr_mob_tf_options

* vr_mob_spawner_options

* pipe_colors

* vr_mob_spawner_options

* common_tools

* newscaster_standard_feeds

* Update periodic_news.dm

* changeling_fabricated_clothing

* semirandom_mob_spawner_decisions

* id_card_states

* Update syndicate_ids.dm

* overlay_cache & gear_distributed_to

* more

* radio_channels_by_freq

* Update global_lists.dm

* proper

* default_medbay_channels & default_internal_channels

default_internal_channels is weird as it has a mapbased proc() but that proc is never called...

* valid_ringtones

* move this

* possible_plants

* more

* separate these

moves xeno2chemlist from a hook to a new global list.

* tube_dir_list

* valid_bloodreagents & monitor_states

* Junk

* valid_bloodtypes

* breach_burn_descriptors & burn

* more!!

appliance_available_recipes seems uber cursed, re-look at later

* Appliance code is cursed

* wide_chassis & flying_chassis

* allows_eye_color

* all_tooltip_styles

* direction_table

* gun_choices

* severity_to_string

* old event_viruses

* description_icons

* MOVE_KEY_MAPPINGS

* more more

* pai & robot modules

* Update global_lists.dm

* GEOSAMPLES

Also swaps a .len to LAZYLEN()

* shieldgens

* reagent recipies

* global ammo types

* rad collector

* old file and unused global

* nif_look_messages

* FESH

* nifsoft

* chamelion

* the death of sortAtom

* globulins

* lazylen that

* Update global_lists.dm

* LAZY

* Theese too

* quick fix

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-07-14 20:14:31 +02:00
Kashargul 15fe00b6e1 missing VV options (#17968)
* missing VV options

* .

* .

* code cleanup

* more vv options

* .

* .

* we also should set that
2025-07-13 15:58:22 +02:00
Cameron Lennox 86a21e9578 Properly paths sound files and folders (#17604)
* bye

* hello

* hi

* hi

* bye

* hi

* bye

* hi

* Replace em

* bye

* hi

* bye

* Hi

* bye

* hi

* bye

* hi

* bye

* hi

* bye

* hi

* bye

* hi

* bye

* hi

* bye

* hi

* hi

* hi

* hi

* hi

* gwah
2025-05-15 20:14:50 -07:00
Cameron Lennox 40861f50e0 Proper MaxHealth checks and Crit Point (#17704)
* Fixes maxhealth checks not including modifiers and mxHP

Death at:
W/ 100max hp: https://i.imgur.com/nR8DtzG.png
W/ 125max hp: https://i.imgur.com/87eD2hW.png
W/ 25max hp: https://i.imgur.com/SP6rPWc.png

* Crit Point

* small xenochimera fix

* Update game_options.txt
2025-05-15 00:25:30 -07:00
SatinIsle 152118c1d4 adds missing SIGNAL_HANDLERs (#17585)
* adds missing SIGNAL_HANDLERs

Added missing SIGNAL_HANDLER lines to many RegisterSignal() proc refs.

* Oopsies
2025-04-26 21:50:50 +02:00
Cameron Lennox d0787362cd Kitchen Sink PR (#17515)
* insanity

- Crawling
- Recursive Listeners
- Global Conversion to GLOB.
- Sound channels (and sound (but not looping sound yet))
- Species and gender specific sounds
- Admin proc to enable vore antag on a target
- Dying by being crushed inside of shoes now enables your vore_death flag
- *pain emote
- RNG Spaceslipping removed
- Selecting the groin with help intent will do a bellyrub on the target
- Xenochimera get lick wounds
- Wolves now get stomachs (and stomach overlays)
- Proper vantag handling
- Staff exiting will now notify staff
- Modular computers get a power on sound now

GET IN THERE

* whoops forgot to give it to mobs

* Bellyrubbing is now an emote

* Update vorestation.dme

* some small edits

actually gives voice freq a valid starting selection
makes the default voice less jarring

* Update atoms_movable.dm

* Update atoms_movable.dm
2025-04-25 16:21:35 -04:00
Selis 28e969778c code/global.dm => code/_global_vars/ (#17244)
* 1

* Full conversion

* .

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-04-21 05:55:25 -04:00
SatinIsle 94e61bdfc0 Fixes some bad Destroy()s (#17511)
* Fixes some bad Destroy()s

Fixes some bad destroys on request of Kash, will need checking over that I've not misunderstood the instructions! This is all I had time to look through for now. Checked around 200-ish files.

* The rest of them

Found a quick way to look through them all

* Update chicken.dm

* fix that

* don't abuse destroy

* .

* move this up

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-04-12 00:15:42 +02:00
Kashargul 1def015bad end of file Fix (#17308)
* end of file Fix

* fix those lints too
2025-03-10 16:15:35 -04:00
Kashargul 46bea7cfa2 Initialize fixing (#17279)
* Initialoize fixing

* diff fix

* add init grep test

* fixed missed ones

* .

* some more

* ,
2025-03-08 13:59:29 -05:00
Drathek d062ff9f49 Port OD Pragma Lints (#17171)
* Experimental: Port OD Pragma Lints

* first pass: Includes icon forge fixes/updates

* 2nd pass

* third pass

* debug_ai: This what you're unhappy with?

* Revert "debug_ai: This what you're unhappy with?"

This reverts commit bc178792e6.

* How about this

* Or is it the else?

* Pass summer

---------

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
2025-02-26 18:12:03 -05:00
Kashargul 2ae6355aff more new to Init (#17147)
* more new to Init

* fix pumps

* style update

* fix atmos memory leak

* fix mech

* qdel in here

* Update hands.dm

* Update rings.dm
2025-02-16 00:16:15 +01:00
Cameron Lennox b1fc0d4c70 Consolidates some /Destroy()s to make them properly delete (#17046)
* The mob/living/Destroy() consolidation

* The mob/Destroy() consolidation

* The /mob/living/carbon/human consolidation

* The datum/Destroy() Consolidation

* The /atom/movable/Destroy() Consolidation

* for human
2025-02-14 03:06:25 +01:00
Cameron Lennox f326dec745 Moves ALLY check up so mobs DONT maul their allies (#17074) 2025-02-08 14:10:39 -05:00
Kashargul af85f098cd bunch of misc fixes (#17031)
* bunch of misc fixes

* .

* more refs also new ref tracking from chomp

* oups

* eh
2025-02-05 13:53:53 -05:00
Kashargul 59b9802628 some istype to macros (#16826) 2025-01-06 06:45:02 +10:00
SatinIsle 4ff00f8ab5 Metal Vore Solid (#16542)
* Metal Vore Solid

Added a new AI function called guard_limit. This limits the "find target" portion of the AI to only acquire targets that are in front of them, allowing people to potentially sneak behind them.

Added a few guard_limit variants of existing AI holder types, particularly for mercs.

Tested and it seems to work exactly as intended. If their friends are engaged in combat, they will still rush in to help them even if they were looking the other way.

* Update code/modules/ai/ai_holder_targeting.dm

Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com>

---------

Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com>
2024-10-31 10:53:31 +01:00
Selis aa06b5d8d0 Fixed 2 static lists (#16525)
* Fixed 2 static lists

* Removed second roundup
2024-10-26 14:47:06 +02:00
ShadowLarkens dc3fd79427 The final action buttons PR (#16514)
* Make action button target datum

* Initial working action palette

* Action related refactors

* tgstation/tgstation/pull/71339
2024-10-26 13:20:54 +02:00
Kashargul b594520a74 next set of spans (#16434)
* next set of spans

* some more

* next

* next

* next

* .

* text...

* next... rest soon

* .

* .

* ok last set for the night

* .

* .

* .

* .

* some more

* next

* next

* all for now

* .

* some more easy ones

* some more easy ones

* .

* .

* some more bolds

* oups auto complete moment

* add the remaining spans

* this as well

* this as well

* .

* .,

* resync them properly
2024-10-16 23:37:27 +02:00
Kashargul a2c673ab7a refactors most spans 2024-10-02 21:10:31 +02:00
Kashargul e0d694e8ac rid of old span macros 2024-10-01 23:51:48 +02:00
Kashargul 6cabe9f7e6 Undefines local defines and moves global to __define (#16028)
* first set of defines

* some more

* .

* final defines

* del local define
2024-06-09 17:29:20 +10:00
Heroman3003 c7b6c3e42b Revert "Revert "Garbage collection, asset delivery, icon2html revolution, and…" (#15816)
This reverts commit f6d0f62622.
2024-04-22 06:29:01 +10:00
Kashargul 4c90f3953d fix some runtimes and an overlay overflow (#15915)
* fix some runtimes and memleaks

* .
2024-04-11 09:08:39 +10:00
Heroman3003 f6d0f62622 Revert "Garbage collection, asset delivery, icon2html revolution, and general…" (#15815)
This reverts commit cc05d51b69.
2024-03-10 20:01:05 +10:00
Cadyn cc05d51b69 Garbage collection, asset delivery, icon2html revolution, and general fixes (515) (#15739)
* Making it compileable

* Adds Tracy & Fixed missing compat in sorting code

* CI workflow using "Stable" beta version

* Tracy define

* Fixes

* Update GC from TGStation

* fixes

* Appease linter

* begone custom_items.txt

* Making it compileable

* Adds Tracy & Fixed missing compat in sorting code

* CI workflow using "Stable" beta version

* Tracy define

* Fixes

* Build dependencies at 514

* Asset delivery/GC/515 megapatch

* fix runtime

* Appease integration tests

* More runtime fixes

* Attempting to resolve runtime

* Update spacemanDMM

* icon2html revolution

* icon2html part 2

* fixes

* Attempt to appease linter

* More fixes

* Final fixes (hopefully)

* operator keyword moment

* minor fixes and additions

* undo extra tgui files

* switch to QDEL_IN_STOPPABLE where necessary

* Pain

* GPS runtime

* dropped(null) fix, + chompedit the fixes just incase.

* Fix chat tags

* Update _build_dependencies.sh

* runtime in orebag, duplicate in computer/ship/proc/look, runtime in zoom

* tweak zoom change

* another registersignal override runtime

* 1

* Revert "1"

This reverts commit 43f619ca6c216c2bc41b8f7a346069f99591261b.

* various qdel ref fixes

* newplayer and observer harddels

* disposalholder logging remove, gargoyle hard del + typo

* retouch atom/movable destroy to be TG-like

* potential edge case ref in manualfollow

* extra following potential ref

* global list refs tweak, new_player undo a thing

* /mob/new_player qdel fixes

* undo some things

* revert atoms/movable/destroy

* revert mind and new_player panel changes

* atoms and atom/movable reversions

* bring back datum/mind and panel fixes

* projectile optimisation

* Reverts useless edits, clothing hood runtime, projectile runtime

I tried a lot of things which do not help, and i reverted a lot of it here.

* a few more reversions of useless changes

* Begin getting rid of CHOMPedit comments

* Nuke remaining chompedit comments

* Revert "undo extra tgui files"

This reverts commit f3bdcde8cb.

* fixing oops

* line ending shenanigans

* More GC cleanup

* Optimisations to test/trace projectile, turrets. Tweaks.

Turrets now only trace when they are absolutely sure they want to shoot. disposalholder, effect master and artefact qdel refs changes.

* bad usage of the check_trajectory proc

check_trajectory returns a list of objects hit along it's path to it's target, not a boolean of the target being hittable. a couple places in code assume this, so here they are fixed.

* puts legacy globals into GLOB datum for debug use

* fix upport oopsie

* fix

* Move recursive listening to component

* Minor fixes and cleanup

* undo my temp solution

* tweaks + a missed thing

* recursive_move sanity checks and safety cases

* Catch null initialisation cases + fix borg creation

VV edit spawns the object in nullspace then directly sets it's loc, which means the movement is unregistered. The spawn(0) delay should hopefully mean that setup_parents happens AFTER any unregistered movement.

* circular inventory check, make checks better

* better handling of safety reset cases

* Add logging to safety checks

---------

Co-authored-by: Selis <selis@xynolabs.com>
Co-authored-by: Selis <sirlionfur@hotmail.de>
Co-authored-by: Raeschen <rycoop29@gmail.com>
2024-03-10 09:39:33 +10:00
Drathek 7c8bb85de3 Whitespace Standardization [MDB IGNORE] (#15748)
* Update settings

* Whitespace changes

* Comment out merger hooks in gitattributes

Corrupt maps would have to be resolved in repo before hooks could be updated

* Revert "Whitespace changes"

This reverts commit afbdd1d844.

* Whitespace again minus example

* Gitignore example changelog

* Restore changelog merge setting

* Keep older dmi hook attribute until hooks can be updated

* update vscode settings too

* Renormalize remaining

* Revert "Gitignore example changelog"

This reverts commit de22ad375d.

* Attempt to normalize example.yml (and another file I guess)

* Try again
2024-02-20 11:28:51 +01:00
SatinIsle 62bc133ca4 Edible retaliate mobs
Makes some mobs that are retaliate or vore hostile stop fighting whilst inside a belly. Specifically: Squirrels, bats, peasants, sheep, succubi, vampires, wolfgirls and wolftaurs.

Also adds this to passive mobs, which won't change anything normally as they don't fight when eaten. However, it will mean that catgirls and lamia, which are normally passive, will stop fighting in a belly if spawned via the semirandom mob spawner.
2023-09-23 12:40:16 +01:00
VerySoft 4891aadb80 You don't have to fight in the belly if you don't want to
Adds a var for AI holders called: bell_fight

This var defaults to true, while true the mob will attempt to fight you while it is in a belly.

Prospective mob designers can make AIs that have this disabled though, in cases where you want a mob to give up fighting once it's been eaten.
2023-09-22 15:03:05 -04:00
SatinIsle ee1baecdba New redgate Islands map
Added a new redgate islands map. This consists of two Z-levels: An ocean with a few islands to visit, many with vore mobs on them. An underwater Z-level with lots of things to find hidden around the ocean floor, a little more sparse on vore mobs.

Added a new underwater turf. Standing on this turf feeds you CO2 instead of air, suffocating you. It is a subset of water turfs, and therefore interacts with aquatic, which also allows you to breathe on these turfs. This does mean that you can use the "dive" ability of aquatic under the water too, but it can be treated as though you are swimming up above the sea floor.

Added a "diving" subset of the ocean turf, which allows you to dive down to the turf beneath it, or to swim up from below. Uses normal move up/down verbs.

Added a bunch of underwater flora.

Added a collapsed ships mast prop.

Added a new variation of Fake_Sun that applies a new underwater weather effect and has only one option for the colour and brightness.

Added a new "vorny" variation of the great white carp. This one is very hard to escape from and digests quickly, but is stunned if you manage to do so to give you a chance to flee.

Added a new water resistant and friendly hiveless hivebot called Harry.

Added a couple of creative commons 0 sound effects for the ocean and underwater areas.
2023-08-30 14:51:00 +01:00
VerySoft 514b6b954d More adjustments
Makes it so the mobs with vore_hostile will only be hostile when their capacity isn't full
2023-08-04 21:13:28 -04:00
Casey dd881251ef Merge pull request #15167 from Very-Soft/stardog
[WIP] Stardog
2023-08-04 16:23:08 -04:00
VerySoft 482e03e664 648 2023-08-03 06:48:32 -04:00
VerySoft b5ad497ac0 538 2023-08-02 05:38:52 -04:00
VerySoft bb37b7609a 2137 2023-07-30 21:37:39 -04:00
Runa Dacino 79715765d0 tweak: Implements requested changes to ai init
- In mob/living init, makes sure there is no pre-existing ai_holder before calling its init
- In the initialize_ai_holder, double checks if we got a pre-existing ai_holder and properly GCs it if so
- Furthermore, checks if the ai_holder_type was valid by checking if ai_holder is null, if so - logs a debug message and returns.
2023-07-29 14:18:05 +02:00
Runa Dacino 39a06b3013 tweak: Moves ai_holder init into its own proc
Moves the logic for initializing an ai_holder from mob/living/Initialize() into its own proc, replacing the original code with a call of this proc.

Functionally, nothing has been changed. However, this enables ai reinitialization for gms
2023-07-28 21:28:18 +02:00
Selis 271ff9408f Spell Fixes 2023-06-18 12:47:36 +02:00
ItsSelis 10d2178516 More 515 Compatibility 2023-06-05 19:29:40 +02:00
VerySoft 9865838150 That's a thing people will probably do 2023-05-11 13:42:15 -04:00
VerySoft 5d61c3c52f Adds weaken and stun 2023-05-11 13:12:03 -04:00
VerySoft f7d8cf029c Adds mob forgiveness
Makes it so that if you rest while being attacked by a retaliate mob, they may decide to stop attacking you.

They will forgive you if their health is full, if they cannot eat you, and if they are otherwise not hostile. If they CAN eat you, then their behavior will be as normal, they will proceed to eat you.

At the moment this applies to all retaliate mobs, but a variable `forgive_resting` is in place for in case we want some mobs to not be so forgiving, be it normally or through adminbus.
2023-05-10 20:47:10 -04:00