Commit Graph

140 Commits

Author SHA1 Message Date
Fluffy
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
Cody Brittain
dc610520fe Refactor /obj/screen to /atom/movable/screen (#19852)
Part of backend stuff required for #19188. Should probably be test
merged.

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2024-09-21 12:12:07 +00:00
Fluffy
a3a4d46fa7 Hitby refactor (#19624)
Refactored hitby to be in line with TG's version.
Refactored item weight defines to a more clear naming scheme, also in
line with TG's version.
Refactored how the movement bumps are handled, ported signals to handle
them, in preparation for the movement update.
Fixed disposal hit bouncing the hitting atom on the wall.
Items do not push other items anymore if they are tiny.
2024-07-28 20:52:08 +00:00
Evandorf
8ab73519c6 Fixes Arterials Not Applying Bloodloss (#19658)
- ~~The handle_blood proc will now check all organs, not just damaged
ones, and apply bloodloss accurately; including arterials where the
external wounds are healed.~~

- Added an arterial check to the proc which determines which external
organs are damaged so that the handle_blood proc will correctly remove
blood for external organs with arterial bleeds with no damage.

- Arterial severity which applies less than 1u of bloodloss is now
accounted for properly and is no longer rounded down to 0.

Fixes: https://github.com/Aurorastation/Aurora.3/issues/17807
2024-07-25 13:13:28 +00:00
Fluffy
1e43a1267c Turned various spawns into timers / removed (#19402)
Turned various spawns into timers / removed.
Removed the magnet machinery and sd alerts, ancient code that was not
used anywhere anyways.
2024-06-16 15:24:27 +00:00
Fluffy
3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +00:00
Geeves
86d3b89a52 Simple Mob Notifications (#19102)
* Tweaked some messages to be based on time since last message, instead
of being based on probability. This includes low blood messages,
infected liver messages, fever messages, and some drug messages.
2024-05-15 17:09:49 +00:00
Cody Brittain
c01768e45c Assisted organ sprites, and assisted brains (#19087)
This PR adds several sprites for assisted organs, which previously
lacked any sprites at all. In addition, this adds an assisted brain,
which is now available to pick in character creation. Long-term, I'd
like to look into adding assisted implants into the medical gameplay
loop, but for now these are character-creation only. "Mechanical"
prosthetic brains are not possible, and have been excised entirely.

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/organs/organs.dmi | Mechoid (Polaris) | CC-BY-SA |

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2024-05-09 15:08:00 +00:00
Crosarius
5eb6738fa7 Alcohol Intoxication Overhaul (#19062)
This PR will make broad changes to the way that alcohol/butanol
intoxication works in game, with the intention of making alcohol
consumption actually impactful, and last much longer than it currently
does. It also includes some quality of life changes to the way that
liver damage works, better indication of the player's level of
intoxication to better communicate when the player is getting **too**
drunk, and the frequency of vomiting. Players will **no longer** die
extremely fast from getting drunk, will be able to get drunk, and stay
drunk.

- The rate of liver alcohol filtration has been reduced to 0.015
intoxication every second. This calculates out to the elimination of
0.015 BAC (One standard drink) every ten minutes.
- New messages have been added to indicate when the player is drunker
than drunk.
- At 0.10 BAC the "You feel drunk!" message is replaced with the message
"You feel absolutely smashed!"
- At 0.15 BAC the "You feel drunk!" message is replaced with the message
"You feel the room spinning..."
- Liver damage no longer occurs when the player vomits from
intoxication, and instead occurs when the player blacks out or loses
consciousness (0.20 and 0.30 BAC, respectively)
- The liver will no longer regenerate BAC is above 0.20.
- The coefficient multiplier that Unathi metabolise butanol has been
buffed from 3 to 9 (They now metabolise butanol at roughly the same rate
that Humans metabolise Alcohol)

One thing of note is that these changes have indirectly fixed a "bug"
that was occurring for Unathi with Butanolic beverages; The liver was
filtering out intoxication faster than Unathi were able to metabolise
some lower strength butanolic drinks, making them unable to get drunk
from things like sarezhi wine. With the buff to intoxication, and the
reduction in liver filtration speed, butanol is going to be returned to
being very potent for Unathi (This seems to be the way it was originally
intended?) so Unathi players who are used to Butanol being quite useless
at intoxicating Unathi are going to need to be especially careful.

Also, I have done testing on my local test server, but to be frank the
tickrate of my test server is very fast, and I'm not entirely sure just
how well these changes will translate to a live environment with a
heavier server load and longer tick times.

---------

Signed-off-by: Crosarius <30341877+Crosarius@users.noreply.github.com>
Co-authored-by: Cody Brittain <cbrittain10@yahoo.com>
2024-05-05 21:13:27 +00:00
RustingWithYou
8c4b86349d Makes prosthetics editable in appearance editor (#18879)
The appearance editor can now change organs and limbs into
prosthetic/nymph/amputated versions.
As ghostroles can now edit their own limbs, the Tarwa Conglomerate
ghostroles no longer have random nymph limbs.
Height and speech bubbles no longer need the user to be able to change
their species to modify them

---------

Signed-off-by: RustingWithYou <63625389+RustingWithYou@users.noreply.github.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2024-04-18 22:50:20 +00:00
smellie
11f8eff319 Cryonics Additions + IV Bag Stuff (#18415)
### Summary:
This PR fleshes out cryonics, both inside a cryotube and outside of a
cryotube, and gives a pharmacist a lot more to do during those high
energy rounds as they will be required to prepare and oversee any
cryonic mixes. Lots of ways you can go about doing with the biggest
reward being brain regeneration that bypasses oxygenation requirements,
at the cost of significant downsides if done improperly.

This generally empowers pharmacists and physicians and offers
non-surgical treatment alternatives, though often incurs a penalty or
takes a little longer than surgical treatment, so it doesn't make
surgeons redundant.

This list'll be exhaustive so medical players aren't left in the dark
and can just refer to this while a wiki update is worked on, instead of
digging through code.

 **Changes to Stasis/Cryotubes:**
- Stasis at temperates between 120K and 200K has been reduced to between
5 and 10, as opposed to 10 and 20. This means chemicals still have a
good chance of metabolising if you set a cryotube to above ~140K.
Cryotubes will still achieve good stasis if you cool below 120K -
upgraded stockparts from the workshop/R&D will help with this.
- (Bugfix) IPCs will not longer be knocked unconscious if they enter an
active cryotube.

**Misc. Reagent Additions/Tweaks:**
- Bicaridine now only requires 30u in the blood to begin attempting to
repair arterial bleeds, as opposed to 50u.
- Adds a Blood Thinning chemical effect. This prevents Coagzolug's blood
clotting effect from working and works in the opposite way - increasing
how much blood you lose per blood loss tick. Fluvectionem and
Synaptizine apply Blood Thinning at a strength of 25, translating to 25%
faster blood loss.

**Cryonic Chemicals:**
- Cryoxadone and Clonexadone both overdose at 5u. **_This is not a
problem when using a cryotube due to how cryotubes administer
reagents._** Overdosing either results in genetic damage and severe eye
damage.
- Cryoxadone and Clonexadone's organ healing capabilities have been
significantly nerfed. The organ healing is still noticable and useful
for pharmacist/surgeonless rounds; they cannot heal the brain though.
- Cryosurfactant has been renamed to Cryosilicate, mimicking
Pyrosilicate - the recipe now uses silicate instead of surfactant.
- Cryosilicate and Pyrosilicate now have an effect when used in the
body: cryosilicate will supercool a patient; pyrosilicate will
chemically incinerate someone. Leporazine will inhibit these functions.
- Bicaridine will repair arterial bleeds when used in cryogenic
conditions.
- Kelotane will repair disfigurement when used in cryogenic conditions.
- Peridaxon 2x effective in cryogenic conditions. Peridaxon can
denecrotise livers and kidneys in extracool cryogenic conditions - it
cannot denecrotise other organs. Using peridaxon in cryogenic conditions
will result in benign tumour growth (see below).
- Red Nightshade can repair bone breaks in cryogenic conditions. It will
still put a patient into a berserk state.
- Cataleptinol - see below.

**Cataleptinol Rework:**
Cataleptinol has been reworked from the ground up and is where
pharmacist's will be able to shine by making fancy cryotube beaker
mixers or cryonic mixtures for use in IV stands.
- The new recipe is 2 parts Alkysine, 0.5 parts Phoron, 1 part
Clonexadone and a 5u Cryosilicate catalyst. This translates to: 120u
Alkysine + 60u Clonexadone + 30u Phoron w/ 5u Cryosilicate = 60u (1
bottle) of Cataleptinol - expensive and lots of tricky precursors,
leaves enough left over to make a 2nd bottle without having to remake
all of the precursors.
- **In cryogenic conditions**, Cataleptinol will restore 7.5% brain
activity per metabolisation tick. This _bypasses the 85% oxygenation
requirement_, at the cost of hallucinations, blood thinning and liver
damage. The trade is roughly 40% brain activity (assuming nothing is
causing brain damage) for total liver failure.
- **Outside of cryogenic conditions**, Cataleptinol becomes a lot less
reliable and a lot more dangerous to use, with only a 75% chance of
restoring 2% brain activity per metabolisation tick. It will still
bypass oxygenation requirements, making it useful during _**severe
emergencies**_, at the cost of inducing painshock in addition to the
above hallucinations, blood thinning and liver damage. The trade is
roughly 25% brain activity (assuming nothing is causing brain damage)
for total liver failure.
- Cataleptinol _**overdoses at 3u**_ and has a fast metabolisation of
0.6u/tick - this makes it hard to dose without using an IV drip. If you
overdose Cataleptinol by using another method of administration, then
the patient's liver will crash, brain regeneration undone and the
patient will have severe seizures resulting in more pain. Using
Cataleptinol outside of cryogenic conditions **is high risk and only
potentially high reward**, but it could buy a couple more minutes.

**Tumours:**
- Adds Benign Tumours. Benign tumours simply drain nutrition and cause
frequent pain; they do not spread or affect nearby organs.
- Adds Malignant Tumours. Malignant tumours will begin by draining
nutrition then effecting symptoms based on the tumour's location (chest
tumours -> coughing, gasping, chest pain; brain tumours ->
disorientation, memory loss; abdominal -> vomiting, abdominal pain;
anywhere else -> lethargy). In the later stages, malignant tumours will
begin to damage the organs they are close to, then will eventually enter
the circulatory _~~and lymphatic~~_ system and spawn more malignant
tumours in other parts of the body.
- Peridaxon will result in benign tumour growth when overdosed or used
in cryogenic conditions.
- Genetic damage will result in malignant tumour growth.
- Ryetalyn is the anti-tumour drug and will put both benign and
malignant tumours into recession. You can also surgically intervene and
excise tumours as you would k'ois mycosis or fluke parasites.
- You cannot have more than 3 of any tumour - things won't get too out
of hand.

**IV Bag Stuff:**
- Adds 2 labels for IV bags: Cryonics Mixture, denoted by a CR; Other
Mixture, denoted by an M.
- Renames `blood packs` to `IV bags` and changes their formatting. What
was `blood pack O+` will now appear as `IV bag - O+ Blood`; `blood pack
Saline Plus` -> `IV bag - Saline Plus`.

**Misc.:**
- Only 20 genetic degradation on a limb is required to deform it instead
of 30. This should make it slightly more common, as 30 is a large number
to reach when this number is calculated per limb.
- Seizures can be given variable strengths.
- (Bugfix) Coolant tanks no longer just set a room's temperature to 0K
when destroyed. The amount it cools a room scales with the amount of
coolant still in the tank but cannot go below 173K/-100°C.
- Cryocells now have stockparts and can be upgraded/deconstructed.
2024-04-13 16:14:51 +00:00
Matt Atlas
fec6dbe24f Adjusts the force of all items to be multiplied. (#18708)
* force balancing?

* force

* cl & maglight nerf

---------

Co-authored-by: DreamySkrell <>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-03-24 17:10:31 +00:00
Fluffy
2455785fd9 Bots revamp (#18649)
* revamp logic

* ui, navbeacons

* JPS, buildable navbeacons, heap, more pain

* sdf

* sdaf

* Update html/changelogs/fluffyghost-botsnavbeaconspath.yml

Co-authored-by: Ben <91219575+Ben10083@users.noreply.github.com>
Signed-off-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>

* sdf

* sd

* SSmove_manager, navbeacon and cleanbot fixes

* sdaf

* swap most mobs to use movement loops

* dfgs

---------

Signed-off-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Co-authored-by: Ben <91219575+Ben10083@users.noreply.github.com>
2024-03-21 20:11:56 +00:00
Fluffy
9afe761db3 Some refactors, DMDoc and UT (#18365)
* dsfa

* accessories fix

* fixed "has been hit by" message with intent check

* sdfa
2024-02-12 15:32:23 +00:00
Matt Atlas
4423d03f2f Adds examine boxes. (#18370)
* Adds examine boxes.

* lint

* what kind of dreams did you dream?

* unlimited

* midgardsormr

* sdsd

* fixes

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-02-11 21:58:20 +00:00
Fluffy
849340274d sdaf (#18321) 2024-02-08 12:38:28 +00:00
Matt Atlas
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 Atlas
12487c94bb Updates SDQL2 to the latest TG version and adds variable protection. (#17997)
* 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

* discord protection

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-12-25 17:10:35 +00:00
Fluffy
c25c8b6a37 Last editorconfig fixup (#17782)
* one

* two

* three

* fsdsdf
2023-11-20 18:22:42 +00:00
Wowzewow (Wezzy)
ea1101ec5c Better Bodyscanners and Surgery Stuff (#17520)
* Better Bodyscanners and Surgery Stuff

* ope

* i can't believe that worked

* adv

* bodyscanner fixes
2023-10-07 21:36:13 +00:00
Cody Brittain
0a3dac31e0 Refactored do_after to use a flag-based system for options (#17127)
* Refactored do_after to use a flag-based system for options

* More flags

* Ditto

* Use the HAS_FLAG macro

* do_after pass

* Fix burning paper code

* Resolve issues from Fluffy's code reviews

* .
2023-09-27 12:17:14 +00:00
Cody Brittain
ce5ac79e3c Split examine verb and function, and improve it (#17251)
* Split examine verb and function, and include adjacency and distance checking in examine function

* Fix various issues

* Update code/modules/mob/examinations.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Add required define vars

* Update code/game/objects/items/stacks/wrap.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

---------

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2023-09-09 08:07:36 +00:00
Doxxmedearly
c0bff2b352 Potassium Chloride/Chlorophoride Adjustments (#16938)
* Potassium Chloride/Chlorophoride Adjustments

* Update code/modules/organs/internal/heart.dm

Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>

---------

Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2023-08-03 22:51:31 +00:00
Matt Atlas
b13ba13521 Fixes some cases where fakedeath doesn't work. (#16404)
Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-05-30 16:14:31 +00:00
Matt Atlas
fee7deabd7 Fixes a lot of bugs. (#16187)
* Fixes a lot of bugs.

* fix more shit

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-04-10 17:29:16 +00:00
Matt Atlas
31c73ead85 Ports the radiation subsystem and cleans up damage flags. (#15715) 2023-02-07 13:22:47 +01:00
Geeves
937fe2292b Heat Packs & Discomfort Tweaks (#15659) 2023-02-03 12:33:44 +01:00
Wildkins
b381d6f124 Flash and flashbang tweaks and fixes (#15651) 2023-01-25 12:41:17 +01:00
Matt Atlas
dd482c63af Update the codebase to 515. (#15553)
* Update the codebase to 515.

* edit that

* WHOOPS

* maor

* maybe works

* libcall and shit

* do that too

* remove that

* auxtools isnt updated so get rid of it

* actually remove auxtools lol

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-01-23 21:21:37 +01:00
Alberyk
37ea1a24ea Body and Soul of Steel: the Tesla Rejuvenation Suit (#15590) 2023-01-20 16:30:49 +01:00
Wildkins
a77539ee65 Unify flash handling under flash_act (#15563) 2023-01-18 21:14:43 +01:00
Matt Atlas
3c55751594 Adds mechanical traits from origins. (#15497) 2023-01-13 12:25:18 +01:00
Fluffy
04d89f212a Singletons + refactor of /datum/observ + refactor of /decl/ into /singleton/ (#15519) 2023-01-10 19:22:14 +01:00
sheeplets
8510e2a978 Raises maximum health and break threshold of hearts, nerfs the heart damage component of adrenaline (#15520)
* heart

* aa
2023-01-09 00:56:09 +01:00
Matt Atlas
b1869884c1 Revert "Singletons + refactor of /datum/observ (#15487)" (#15515) 2023-01-05 19:21:22 +01:00
Fluffy
0ddcf0817a Singletons + refactor of /datum/observ (#15487) 2023-01-05 18:41:40 +01:00
SleepyGemmy
5179dad83e Removes Old Deprecated Stuff (#15241) 2023-01-02 14:27:29 +01:00
Geeves
252436ae4d Genetic Skeletonization & Mutation Refactor (#15293) 2022-12-18 20:23:43 +01:00
SleepyGemmy
ea6ec4dd52 Tweaks Unconsciousness (#14626) 2022-08-21 19:44:51 +02:00
Matt Atlas
1d1d3fe87f Fixes some min_broken_damage values being too low. (#14663) 2022-08-20 17:54:31 +02:00
SleepyGemmy
06227e9256 Fixes Faulty Indentation in Brain Code (#14586) 2022-08-10 18:45:13 -03:00
Matt Atlas
7c2a3e193a Zombie tweaks/buffs/nerfs. (#14324) 2022-06-20 17:40:53 +02:00
Matt Atlas
93f2d894e7 Removes stunning from headshots. (#14155) 2022-06-10 13:01:00 +02:00
mikomyazaki
dae76e0558 Life improvements: Part 1 (#13912) 2022-05-18 14:22:43 +02:00
Alberyk
91306e70f9 Tesla prosthetics eyes can now use night vision (#13736) 2022-05-06 13:58:18 +02:00
VisVirific
986eb71f60 Lung Rescue Surgery Fixes (#13714) 2022-05-01 02:16:09 +02:00
VisVirific
774ede40bb Mediborgs can transplant organs again (#13537) 2022-04-16 21:32:29 +02:00
mikomyazaki
17ec460cc5 Toxins suppress natural liver healing rate. (#13420) 2022-04-08 16:42:06 +02:00
sadkermit
79372075e8 Recreational Drug & Toxins Tweaks & Additions (#13129)
This took way too long.
2022-04-08 16:38:18 +02:00
VisVirific
1b1a0d420d Blood Loss Messages Tweak (#13123) 2022-02-11 17:42:09 -03:00