51 Commits
Author SHA1 Message Date
FabianK3andGitHub 144a6a943b Revert "Refactor Get Pain" (#23118)
Reverts Aurorastation/Aurora.3#22847
2026-08-21 01:25:32 +00:00
VMSolidusandGitHub 40e88e0d2d Refactor Get Pain (#22847)
This PR refactors get_pain() to be essentially performance free.
Previously it was a member of the top 5 most expensive procs.
I had to touch a metric shitton of files to make this happen. Notably
get_pain() was also 1/3rd of the entire processing cost for Mobs - Life
2026-08-19 22:50:40 +00:00
7d058fc613 Jukebox TGUI update, Earphones autoplay, sound keys refactor (#21630)
V2 of [previous music playing
PR](https://github.com/Aurorastation/Aurora.3/pull/21466). TLDR no
longer uses the connect_range component for implementation because it
turned out a bit too inflexible for overlapping music players.

Removes a NanoUI template for the [TGUI
update](https://github.com/Aurorastation/Aurora.3/pull/21046).

New changelog:
  - refactor: "Ported Jukebox's NanoUI interface to TGUI."
- refactor: "Ported Jukebox audio playing functionality to a component."
- refactor: "Sound keys refactored from singletons to datums, along with
larger breakout of sound.dm to allow for easier SFX updates in future."
  - code_imp: "Expanded track datums to include track lengths."
- code_imp: "Reorganized music file folders for more intuitive access."
  - rscadd: "Earphone status feedback text now includes track length."
  - rscadd: "Added autoplay functionality to earphones."
- bugfix: "Fixed earphones' 'Previous Song' verb not sending you to the
end of the playlist when used while the first track is selected."
- bugfix: "Fixed gain adjustment for 'Konyang-1' (-23 dB -> standard
-9.8 dB)."
- bugfix: "Fixed y-offset of audioconsole-running overlay animation to
line up with the actual screen."

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-01-22 16:54:40 +00:00
Cody BrittainandGitHub 96a2951608 Improve, cleanup, and expand wound code (#20757)
This PR includes several changes to bring our wound code up to date with
baystation, nebula, and modern standards. Highlights include:
- The usage of integers between 0 and 100 for ratios (expressed as a
percentage), instead of 0.0 to 1.0. Small decimal values are prone to
floating point precision errors, but by moving to a percentage instead,
we can reduce the impact of this.
- The untangling of damage flags and injury flags, which were used
interchangably in the code. This could have caused issues should we
expand any of these.
- Larger embedded objects now halt bleeding in wounds, until they are
pulled out. In exchange however, embedded objects will halt healing in
wounds (it is difficult to close an open wound that currently has a rod
stuck in it)
- A lot of data, such as implanted objects and organs, are now stored in
amputated limbs.
2025-12-19 20:22:29 +00:00
FluffyandGitHub b8902e2e16 Runtime map now loads in ~11 seconds instead of ~40, sped up various other things (#19957)
Runtime map now has a bunch of new areas / items with often-tested
stuffs, and some hard-to-put-at-runtime stuffs.
Runtime map jobs now are positioned to make it faster to reach the
aforementioned often-tested stuffs.
Runtime map doesn't generate an overmap anymore by default, which speeds
up the process.
Runtime map now loads in ~11 seconds instead of ~40 seconds as it was
before.
Updated the maploader to be faster in parsing maps.
Bapi is not engaged anymore if we're only measuring the map size, which
speeds up the process.
In fastboot we do not generate the codexes anymore, which speeds up the
process.
In fastboot and if exoplanets and away sites are not enabled, we do not
parse the map templates anymore, which speeds up the process.
Updated the icon smoothing to be faster.
Optimized cargo area code.
Other optimizations.
2024-10-06 21:31:01 +00:00
FluffyandGitHub 8f9de7c3e2 Text() away (#19850)
Refactored all the builtin text procs to use string interpolation
instead.
Added a linting for the above.

This is based on, and should only be merged after, #19847
2024-09-21 12:46:31 +00:00
CrosariusandGitHub bb3f4e69ba Helmet Headbutt Protection (#19531)
This makes headbutting correctly check for the head armour, to determine
whether it's possible to knock someone unconscious.

Head armour will now prevent you from being knocked unconscious by a
headbutt, unless the attacker has more head armour than you. (e.g.
breacher hardsuit vs corporate helmet)

You can also knock yourself unconscious by headbutting someone with more
head armour than you.
2024-06-29 20:45:26 +00:00
FluffyandGitHub 3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +00:00
cadd19beac Ports the TG globals controller and converts globals. (#18057)
* SDQL2 update

* fix that verb

* cl

* fix that

* toworld

* this is pointless

* update info

* siiiiick..

* vv edit update

* fix that

* fix editing vars

* fix VV

* Port the /TG/ globals controller.

* part 1

* part 2

* oops

* part 3

* Hollow Purple

* sadas

* bsbsdb

* muda na agaki ta

* ids 1-15

* 16-31

* 41-75

* bring me back to how things used to be before i lost it all

* the strength of mayhem

* final touches

* cl

* protect some vars

* update sdql2 to use glob

* stuff?

* forgot that is not defined there

* whoops

* observ

* but it never gets better

* a

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-12-26 01:16:02 +00:00
Matt AtlasandGitHub 31c73ead85 Ports the radiation subsystem and cleans up damage flags. (#15715) 2023-02-07 13:22:47 +01:00
FluffyandGitHub 04d89f212a Singletons + refactor of /datum/observ + refactor of /decl/ into /singleton/ (#15519) 2023-01-10 19:22:14 +01:00
Matt AtlasandGitHub b1869884c1 Revert "Singletons + refactor of /datum/observ (#15487)" (#15515) 2023-01-05 19:21:22 +01:00
FluffyandGitHub 0ddcf0817a Singletons + refactor of /datum/observ (#15487) 2023-01-05 18:41:40 +01:00
listerlaandGitHub c14d8377a9 Lowers headbutt damage by 5 (#13082) 2022-02-08 11:41:31 +01:00
Matt AtlasandGitHub d1a30fc4a0 Unnerf security's non-lethals, revert pain decay changes. (#11305) 2021-03-02 20:40:03 +01:00
Matt AtlasandGitHub c30cd94024 Reworks armor damage reduction + armor components + more goodies. (#11106)
Ports Baystation12/Baystation12#27254 and Baystation12/Baystation12#24787 and everything inbetween I guess.

Note that this PR makes guns and armor overall stronger. Lasers also once again do organ damage.
2021-02-14 17:54:45 +02:00
DoxxmedearlyandGitHub 476d901a71 Infection Tweaks (#11072) 2021-01-29 11:52:08 +01:00
Matt AtlasandGitHub d4666caaac Ports Goonchat from Baystation. (#9635)
changes:

    rscadd: "Ported a new chat system, Goonchat, that allows for cool things like changing font style, size, spacing, highlighting up to 5 strings in the chat, and DARK MODE."
    rscadd: "Repeated chat messages can now get compacted. You can disable this in goonchat settings."
    rscadd: "You can change icon style to any font on your system."
    tweak: "The game window has been altered a bit to adjust for this."
    rscdel: "Removed skin style prefs as they are no longer used."
2020-09-24 23:06:04 +03:00
Matt AtlasandGitHub 0dd08df5b2 Refactors sound groups to use decls instead of a massive switch with dozens of global lists. (#9702) 2020-08-28 20:47:00 +02:00
MarinaGryphonandGitHub 87e071fce5 Replaces \gender to fix metagaming issues. (#9745) 2020-08-25 11:46:34 +02:00
Wowzewow (Wezzy)andGitHub 772d1f3d5c Adds new push sounds, makes all punch sounds use the proper one in sound.dm (#9675) 2020-08-24 14:04:38 +02:00
WernerandGitHub cb4a712851 Enforces Lineendings and adds Editorconfig (#7657) 2019-12-21 16:19:24 +01:00
Matt AtlasandWerner bbecc7b461 Many vore improvements. (#7686) 2019-12-19 20:06:14 +01:00
Matt AtlasandErki ab2723a3c5 Security equip. fixes/buffs, general brainmed fixes, agony + halloss into pain (#7699)
tweak: "Security's base nonlethal equipment - tasers and rubbers - is now a bit better."
    bugfix: "Fixed teargas doing practically nothing."
    bugfix: "Fixed a lot of stuff not applying pain damage. Ow."
    bugfix: "Fixed undefined values on the CMC."
    bugfix: "Fixed dionae not regenerating damage."
2019-12-18 09:15:17 +02:00
Matt AtlasandErki df0cd6189a Brainmed Update (#7502)
gamer time.
2019-12-10 20:41:15 +02:00
Matt AtlasandWerner 5da2a9c24b Splits organs into organ/internal (#7441) 2019-11-20 23:07:10 +01:00
WernerandGitHub af16a489a6 Removes Weapons (#7415)
* Adds icon and hitsound where needed.

* Moves alt_attack to /obj/item and deletes weapons.dm

* Replaced /obj/item/weapon with /obj/item

* Fixes merge issues.

* Fix merge issues.
2019-11-16 18:36:13 +01:00
MarinaGryphonandErki 68dd51121c Makeshift Chemistry and Medical (#6618)
Skull is fucking CRYING right now.
2019-07-26 11:57:05 +03:00
DwagoandWerner 8dcb41bda1 Adds Hair Tugging (#6053) 2019-05-04 13:45:27 +02:00
LordFowlandErki 8d436c4a03 Converts all necessary << outputs into the to_chat() macro. (#6076)
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;

All << is converted into to_chat().
2019-03-10 23:39:03 +02:00
LordFowlandWerner a18fd30476 Tweaks Headbutts and Grabbing by Species (#5951) 2019-03-04 23:45:49 +01:00
BurgerLUAandErki 8519dcc393 .loc = to forceMove() (#4937)
As requested, this PR is changed to only include all .loc = to forceMove() changes.
2018-08-04 01:48:58 +03:00
LohikarandErki c80d893e71 Misc Synthetic Code Cleanup & Minor Tweaks (#3307)
Mostly synthetic code cleanup, some tweaks to human examine and ID cards too.

changes:

Synthetic sprint procs have been compressed down to one proc for all machine subspecies vs. one per subspecies.
Synthetic sprint now only stuns synthetics with empty cells for 30 seconds for all types.
Refactored synthetic limb roboticization.
Changed how a lot of synthetic/industrial checks work.
ID portraits are now 128x128, and scaled without blurring.
Species can now specify an examine text color (for their species name) that differs from their flesh color.
Fixed some eye checks not respecting species.vision_organ.
Examine pulse-checking now uses do_mob & has a progress bar.
2017-08-29 23:21:29 +03:00
Alberykandskull132 2f949ecb45 Ports baystation armor system (#2954)
Ports Baystation12/Baystation12#12658

Changing how the calculation of armor works , instead of just being a check if it is protected fully, half or nothing. Making armor more reliable and less rng dependant.

Also, uranium meteors will irradiate nearby people when they explode.
2017-07-15 16:24:03 +03:00
skull132andGitHub fd6a8305a5 Letting skull touch logging is now strictly haram (#2476)
Turns out. I did a bad.
2017-05-27 18:56:22 +03:00
Wernerandskull132 59e7377798 UDP Logging (#1997)
This implements UDP Logging with GELF.
It will allow full text search over all the logs and attributes sent over GELF to the log server.
2017-04-01 23:47:00 +03:00
skull132 e9b688e1f6 Merge branch 'development-2' into development
Christ on a stick. SO MANY ERRORS. REEE.

# Conflicts:
#	baystation12.dme
#	code/_helpers/lists.dm
#	code/_helpers/logging.dm
#	code/_helpers/text.dm
#	code/_onclick/click.dm
#	code/controllers/configuration.dm
#	code/controllers/master_controller.dm
#	code/datums/supplypacks.dm
#	code/game/antagonist/antagonist.dm
#	code/game/antagonist/antagonist_print.dm
#	code/game/antagonist/outsider/commando.dm
#	code/game/antagonist/outsider/ninja.dm
#	code/game/area/areas.dm
#	code/game/gamemodes/cult/cult_items.dm
#	code/game/gamemodes/game_mode.dm
#	code/game/jobs/access.dm
#	code/game/machinery/atmoalter/canister.dm
#	code/game/machinery/autolathe.dm
#	code/game/machinery/doors/airlock.dm
#	code/game/machinery/recharger.dm
#	code/game/machinery/suit_storage_unit.dm
#	code/game/mecha/mech_fabricator.dm
#	code/game/mecha/mecha.dm
#	code/game/objects/effects/spiders.dm
#	code/game/objects/items.dm
#	code/game/objects/items/devices/PDA/PDA.dm
#	code/game/objects/items/devices/flash.dm
#	code/game/objects/items/devices/lightreplacer.dm
#	code/game/objects/items/devices/paicard.dm
#	code/game/objects/items/devices/scanners.dm
#	code/game/objects/items/devices/suit_cooling.dm
#	code/game/objects/items/devices/uplink.dm
#	code/game/objects/items/robot/robot_upgrades.dm
#	code/game/objects/items/toys.dm
#	code/game/objects/items/weapons/cards_ids.dm
#	code/game/objects/items/weapons/handcuffs.dm
#	code/game/objects/items/weapons/manuals.dm
#	code/game/objects/items/weapons/material/kitchen.dm
#	code/game/objects/items/weapons/material/misc.dm
#	code/game/objects/items/weapons/material/swords.dm
#	code/game/objects/items/weapons/melee/energy.dm
#	code/game/objects/items/weapons/melee/misc.dm
#	code/game/objects/items/weapons/scrolls.dm
#	code/game/objects/items/weapons/storage/belt.dm
#	code/game/objects/items/weapons/stunbaton.dm
#	code/game/objects/items/weapons/tools.dm
#	code/game/objects/objs.dm
#	code/game/objects/structures/crates_lockers/closets.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/game/objects/structures/janicart.dm
#	code/game/sound.dm
#	code/game/turfs/simulated.dm
#	code/game/verbs/ooc.dm
#	code/global.dm
#	code/modules/admin/verbs/debug.dm
#	code/modules/admin/verbs/modifyvariables.dm
#	code/modules/client/client procs.dm
#	code/modules/client/preferences.dm
#	code/modules/clothing/clothing.dm
#	code/modules/clothing/head/hardhat.dm
#	code/modules/clothing/head/helmet.dm
#	code/modules/clothing/head/jobs.dm
#	code/modules/clothing/head/misc_special.dm
#	code/modules/clothing/shoes/jobs.dm
#	code/modules/clothing/spacesuits/alien.dm
#	code/modules/clothing/spacesuits/captain.dm
#	code/modules/clothing/spacesuits/miscellaneous.dm
#	code/modules/clothing/spacesuits/rig/rig_pieces.dm
#	code/modules/clothing/spacesuits/rig/suits/alien.dm
#	code/modules/clothing/spacesuits/spacesuits.dm
#	code/modules/clothing/spacesuits/void/merc.dm
#	code/modules/clothing/spacesuits/void/void.dm
#	code/modules/clothing/suits/armor.dm
#	code/modules/clothing/suits/jobs.dm
#	code/modules/clothing/suits/storage.dm
#	code/modules/clothing/suits/utility.dm
#	code/modules/clothing/suits/wiz_robe.dm
#	code/modules/clothing/under/jobs/security.dm
#	code/modules/economy/Events.dm
#	code/modules/economy/Events_Mundane.dm
#	code/modules/economy/economy_misc.dm
#	code/modules/events/blob.dm
#	code/modules/events/event.dm
#	code/modules/events/event_container.dm
#	code/modules/events/event_manager.dm
#	code/modules/events/money_lotto.dm
#	code/modules/events/prison_break.dm
#	code/modules/events/spacevine.dm
#	code/modules/hydroponics/trays/tray.dm
#	code/modules/mob/dead/observer/observer.dm
#	code/modules/mob/emote.dm
#	code/modules/mob/holder.dm
#	code/modules/mob/language/station.dm
#	code/modules/mob/living/bot/cleanbot.dm
#	code/modules/mob/living/carbon/alien/diona/diona.dm
#	code/modules/mob/living/carbon/alien/diona/diona_attacks.dm
#	code/modules/mob/living/carbon/give.dm
#	code/modules/mob/living/carbon/human/emote.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/human_defense.dm
#	code/modules/mob/living/carbon/human/inventory.dm
#	code/modules/mob/living/carbon/human/life.dm
#	code/modules/mob/living/carbon/human/species/outsider/vox.dm
#	code/modules/mob/living/carbon/human/species/station/golem.dm
#	code/modules/mob/living/carbon/human/species/station/station.dm
#	code/modules/mob/living/carbon/human/update_icons.dm
#	code/modules/mob/living/carbon/metroid/metroid.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_defense.dm
#	code/modules/mob/living/living_defines.dm
#	code/modules/mob/living/silicon/ai/ai.dm
#	code/modules/mob/living/silicon/pai/admin.dm
#	code/modules/mob/living/silicon/pai/pai.dm
#	code/modules/mob/living/silicon/robot/drone/drone.dm
#	code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
#	code/modules/mob/living/silicon/robot/emote.dm
#	code/modules/mob/living/silicon/robot/robot_items.dm
#	code/modules/mob/living/silicon/robot/robot_modules.dm
#	code/modules/mob/living/silicon/silicon.dm
#	code/modules/mob/living/simple_animal/bees.dm
#	code/modules/mob/living/simple_animal/friendly/cat.dm
#	code/modules/mob/living/simple_animal/friendly/corgi.dm
#	code/modules/mob/living/simple_animal/friendly/farm_animals.dm
#	code/modules/mob/living/simple_animal/friendly/mouse.dm
#	code/modules/mob/living/simple_animal/friendly/spiderbot.dm
#	code/modules/mob/living/simple_animal/hostile/hostile.dm
#	code/modules/mob/living/simple_animal/simple_animal.dm
#	code/modules/mob/logout.dm
#	code/modules/mob/mob.dm
#	code/modules/mob/mob_grab_specials.dm
#	code/modules/mob/mob_helpers.dm
#	code/modules/mob/new_player/sprite_accessories.dm
#	code/modules/organs/organ.dm
#	code/modules/organs/organ_alien.dm
#	code/modules/organs/organ_external.dm
#	code/modules/paperwork/faxmachine.dm
#	code/modules/projectiles/ammunition/boxes.dm
#	code/modules/projectiles/ammunition/bullets.dm
#	code/modules/projectiles/guns/energy/nuclear.dm
#	code/modules/projectiles/guns/energy/rifle.dm
#	code/modules/projectiles/guns/energy/special.dm
#	code/modules/projectiles/guns/projectile.dm
#	code/modules/projectiles/guns/projectile/automatic.dm
#	code/modules/projectiles/guns/projectile/pistol.dm
#	code/modules/projectiles/guns/projectile/revolver.dm
#	code/modules/projectiles/guns/projectile/shotgun.dm
#	code/modules/projectiles/projectile/bullets.dm
#	code/modules/projectiles/projectile/special.dm
#	code/modules/reagents/reagent_containers.dm
#	code/modules/reagents/reagent_containers/food/drinks.dm
#	code/modules/research/designs.dm
#	code/modules/research/destructive_analyzer.dm
#	code/modules/research/rdconsole.dm
#	code/modules/spells/artifacts.dm
#	code/modules/spells/spellbook.dm
#	code/modules/tables/tables.dm
#	code/world.dm
#	config/example/config.txt
#	icons/mob/items_lefthand.dmi
#	icons/mob/items_righthand.dmi
#	icons/obj/lighting.dmi
2016-10-31 00:01:52 +02:00
NanakoACandskull132 804851f6f6 Diona Overhaul - SEP2016 (#442) 2016-09-09 23:55:48 +03:00
Daranz ae09e9cd07 Remove some redundancy in devour delays 2016-02-01 04:32:50 +13:00
Daranz c5aaa9be31 Replace gluttonous magic numbers with defines 2016-02-01 04:31:00 +13:00
Daranz 3395f7eb99 Revise gluttonous values
There are now three gluttonous values, more in line with previously intended
behavior. This fixes behavior like xenomorphs not being able to eat mobs or
Vox eating whole people.
2016-01-31 15:48:58 +01:00
Daranz 470cffc031 Add admin logs to devouring 2016-01-31 22:28:20 +09:00
Daranz 8597f5dd13 Make simple_animal a valid devouring target 2016-01-31 14:07:25 +01:00
PsiOmegaDelta 185faaeb82 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	.travis.yml
	code/game/turfs/turf.dm
	code/modules/mob/living/carbon/human/examine.dm
	code/modules/mob/living/carbon/human/human_defense.dm
	code/modules/mob/mob_grab_specials.dm
2015-12-08 08:23:10 +01:00
PsiOmegaDelta 5fcf13ac55 Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/game/objects/items/weapons/surgery_limbattachment.dm
	code/modules/mob/living/carbon/human/human_defense.dm
	code/modules/mob/living/carbon/human/species/species.dm
	code/modules/organs/organ.dm
	code/modules/organs/organ_external.dm
	code/setup.dm
2015-12-08 08:09:37 +01:00
mwerezak 9135a609cb Replaces most instances of if(E & ORGAN_DESTROYED) with if(E.is_stump()). Fixes #11468 2015-12-06 04:17:52 -05:00
PsiOmegaDelta d891fba1cc Mob size tweaks.
Merges the use of the is_small and mob_size into one.
Changes the species size handling to set the mob size instead of being yet another separate var to check.
2015-09-20 17:12:07 +02:00
PsiOmegaDelta a7fa8cde49 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/modules/clothing/spacesuits/void/merc.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/simple_animal/borer/borer_captive.dm
	code/modules/mob/mob_grab_specials.dm
	code/modules/reagents/reagent_containers/food/drinks/bottle.dm
	html/changelogs/.all_changelog.yml
2015-09-11 08:54:03 +02:00
mwerezak 8e66d3b31a Fixes IPCs being knocked unconscious when being hit in the head with a melee weapon
Replaces the hardcoded def_zones with a headcheck() proc to handle species who have "brains" are located in non-standard places.
2015-09-09 19:49:46 -04:00
PsiOmega a7c527f491 Compilation fixes. 2015-09-02 15:14:24 +02:00