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.
Refactored the attack proc signature.
Added signals and components for the attack proc.
Added signals and components for the attackby proc.
Adjusted some leftover attackby procs signatures.
Added grep test to ensure people don't keep adding attack/attackby procs
with the wrong signature.
- Cleaned up electronic cigarette code slightly.
- Electronic cigarette cartridges are now removed with alt-click.
- Electronic cigarette cartridges now last far longer.
For some reason, e-cigs had their own snowflake transfer value, which
meant that your average electronic cartridge lasted you maybe 1 minute.
---------
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Halves the price of overloaders from 200 to 100. Free IPCs are an
economically disadvantaged group so something aimed at them probably
shouldn't be so expensive.
Triples the amount of time overloaders last. 30 seconds was too short a
time for meaningful roleplay to occur, especially given how much they
cost.
This is a remap of the TCAF Corvette offship, intended to be more
intuitive than the current one.
**This is up for review.**
Notes:
1. The combustion engine isn't the only source of power in the ship,
there's also a portable generator that should be able to produce enough
to keep the ship going.
2. This adds a few clothing and overmap sprites for use in the
ghostrole, credit to Noble for them, and it also consolidates a few of
the existing TCAF assets into a single faction file. It isn't
comprehensive, but it's more organised than it was.
3. The armoury has been diversified a little. It's now composed of two
blaster rifles, one bolt slinger, one combat laser rifle, one pump
shotgun, and one burst rifle, plus the PEAC and six blaster revolvers as
sidearms. The primary intention of the combat laser rifle, pump shotgun,
and burst rifle is to provide a little AP which blasters universally
badly lack, so the ghostrole should be decently competitive against
armour. My hope is it should be roughly as strong as the Coalition
Ranger ship in combat.
4. I'm not totally happy with the hangar, but I'm not satisfied with any
of the docking port designs I've been able to think of, so I'm running
with it for now. I do believe a docking port is generally preferable.
5. Per Trio, species restrictions are tightened a bit on the Decurion to
only cover humans, Skrell, IPCs, and Vaurca Warriors. Liable to be
changed. Vaurca workers have also been excluded from every combatant
ghostrole, playable only as technicians. I'll be prodding at adding
bulwarks too, but they're not currently included due to some fickleness
with giving them appropriate uniforms.
6. The sensors are the strong variant for the shuttle and ship, with the
idea that it should be particularly good at reconnaissance. I doubt
anyone would use the shuttle to scout the sector, but the sensors are
good to throw a bone in that direction.
I'm not sure when the templeist versebook lost the icon it was meant to
reference, but it's been broken for a while. This adds a new sprite for
the book, plus inhands, to fill the gap.
Refactored the projectile code, mostly in line with TG's now.
Refactored various procs that are used or depends on it.
Projectiles can now ricochet if enabled to.
Damage falloffs with distance.
Homing projectiles can now have accuracy falloff with distance.
Projectiles have a maximum range.
Muzzle flash is configurable per projectile.
Impact effect of the projectile is configurable per projectile.
Accuracy decreases with distance.
Projectiles work with signals and emits them, for easy hooking up from
other parts of the code.
Meatshielding is now less effective .
Impact sound is now configurable per projectile.
High risk.
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
Personal shields can now remain active while put back in the belt,
freeing your hands.
Some code reordering and cleanup.
Fixed a runtime on inspection of the personal shield.
Added 79 new stickers. 60 by LforLouise, 1 by Noble Row, 2 by Ben10083,
10 by Hazelmouse, 1 by Mr.Popper, 4 by FabianK3, and 1 by Kermit.
Added sticker sheets, a storage that can only store stickers. Sprite by
Noble Row
Added the new sticker sheets to the loadout menu
Replaced gold star and googly eye boxes with sticker sheets.
Nicotine pill bottle was incorrectly labled 10u, while only having 5u
pills.
Whoops.
Thanks Ofna01 for letting me know.
---------
Signed-off-by: HanSolo1519 <72716882+HanSolo1519@users.noreply.github.com>
Refactored the abstract meta propriety into defines.
It's now more easy to spot/see abstract types thanks to the macro that
defines them.
Added a check on initialization of atoms to avoid spawning abstract
types.
Made the spawn_atom proc check for abstractness.
Made the spawn_atom proc use tgui_list for types list shorter than 1000
elements, which enables to search in them. It's too laggy on larger
lists so above 1000 it uses the builtin input.
Made the spawn_atom use a list subtraction instead of a double list,
it's lighter on memory and processing.
Your coworkers getting you down? Struggling to keep that headache at bay
during a day at the office? Just need a pick-me-up? Look no further!
Adds the Nanopharm, a simple vending machine giving access to some
over-the-counter pharmaceuticals. Caffine pills, Cough medicine, that
sort of thing. Amazing for 'My coworkers are such a headache I need to
pop pills over it' rp.
Please actually do feel free to give feedback over what should be added
or omitted. I want to give some variety without adding things that
should be prescription and controlled substances. Current things of note
are caffeine pills, nicotine pills, and vitamins which this PR adds.
Same as #19740, but with less conflicts hopefully. Credit to
Courierbravo for helping with the map when my SDMM install messed up
---------
Signed-off-by: HanSolo1519 <72716882+HanSolo1519@users.noreply.github.com>
Take two; without panic closing a PR because it changed a file I didnt
want changed!
Adds a new item to the game and to the loadout options under 'zippos',
the Callistean lighter!
A cheap. Flimsy. Garbage lighter that Idris swears wasn't a money
laundering scheme.

This is intended as a warm up PR for me to re-familiarize myself with a
few tools; and to give something nice to the better moon.
This makes candles, matches, and cigarettes burn for longer than they
currently do. Matches burn for twice as long, candles for about +1/3 as
long, and cigarettes around twice as long.
Code note: I don't see any problems with this for matches and candles,
but there's a comment in the current code warning strictly not to lower
the smokable burn_rate below 0.01, see the changes. I haven't been able
to hunt down exactly why this is, and it seems like the burn_rate for
the parent type was already lowered down to 0.006 a few years ago by a
previous PR intended to extend cigarette burn times. From what I can
tell reagents are still being absorbed below 0.01 by having the
cigarette on your mask slot, so if there is a serious issue with this it
can be removed under review, but I'm not certain what it would be. I've
removed every subtype modification to burn_rate, which seems to have
been left a setting substantially higher than the parent, causing pipes
and cigars in live to seem to burn out very quickly - like in a little
over a minute.
The removed `qdel` seemed extraneous from what I could gather. There may
be a niche instance that the `qdel` caught, but from what I read of the
code and testing it, the `qdel`s in `activate()` and `small_countdown()`
are sufficient. I could have put it behind an if statement, and still
could, but it looked messy and seemed unnecessary.
I have some small gripe with `DROPLIMB_BLUNT` somehow not causing injury
or a bleeding wound. If someone gets their hand hit so hard with a
baseball bat that they no longer have their hand, I doubt it would be
bloodless. I struggle to think of a scenario where the loss of a limb
does not involve heavy bleeding.
Anyway, I settled for changing it to a `DROPLIMB_EDGE.` I was
considering adding an instant bloodloss (5-10% depending on which limb
was exploded), but that felt a bit much.
Additionally, I would like to make the change from `_BLUNT` to `_EDGE`
for [Greimorian egg-bursting limb
loss](5e69bf50bc/code/game/objects/effects/spiders.dm (L322)),
but I worried it would muddle this PR too much.
Below image shows what a health analyzer scan prints with the new
`_EDGE` limb loss. When `_BLUNT` there is simply no wound, bleeding, or
pain.

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.
Unfortunately most of the map is kind of unplayable or not mapped in
mind with stairs being untraversable for roller beds or wheelchairs.
Remapping every map to work with this mechanic is also not something I
am interested in.
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
This reduces the explosion radius of standstills. Currently, standstill
landmines blow a hole in the ship so large that it can take engineering
an extremely long time to fix it, even with full staffing. If a
standstill goes off inside service, for instance, nobody is using
service for a very large portion of the round, if ever - between the
venting, the broken floors, walling, windows, furniture, and machines. I
think it'd benefit as a tool without its users having to worry about the
insane blast radius disrupting more than they intended.
This reduces the heavy and light impact ranges, so they'll do less
structural damage, but maintains their devastation range - so, if you're
caught at the epicentre of the blast, you should still be about as
immediately critical as before. Lethality shouldn't be strongly
influenced, just structural damage. The blast radius is still large
enough that, in my testing, it's impossible to fully escape the blast.
Current blast radius:

PR blast radius:

-Adds 12 new food dishes to the game (4 Unathi dishes, 2 Galatean, 1
Tretian, 5 misc.) including some requested dishes such as unathi
desserts and fettucini alfredo. Expands the use of Nakarka
-fixes bug where konaqu wasn't displaying right in the codex
-fixes phrasing on nakarka cheese wheels to be more in line with how
Vaucra talk
-fixes incorrectly named muffin types
---------
Signed-off-by: tomixcomics <tomi.lifelesslosers@gmail.com>
Co-authored-by: Pirouette <57296132+listerla@users.noreply.github.com>
* Animal traps now work based off mob size, instead of having a specific
mapped in list for animals it can or cannot capture.
* Added new examine text to traps that help explain how to use them.
* Added a verb to deploy / undeploy traps.
* Tweaked a couple interactions with traps, mechanically and
grammatically.
* Fixed a lot of bugs and issues with traps.
- [x] Finish looking over the file and removing the bad.
- [x] Clear out the TO-DO's I left in the file.
- [x] Add ability to examine the item to figure out how to use the item.
- [x] Test changes.
This re-adds the Anomalist alt-title for Xenoarchaeologist, alongside
some uniforms for them (They're just Xenoarch radios and uniforms which
are renamed to say "Anomalist")
The justification for this is that Xenoarchaeology and Anomaly research
are pretty distinct mechanically and lorewise. This isn't to say
necessarily that a Xenoarchaeologist is incapable of doing research on
anomalies or vise versa, and I don't want to tell people that they
can't!
However, I would like to have a way for Science characters with
specialisations in anomaly research to be able to distinguish themselves
from Xenoarchaeology, because their field wouldn't really have much to
do with doing anthropological research or fossils or archaeology,
really.
Refactored Life() to receive seconds per tick and times fired as
parameters.
Life() now cannot be slept in, turned various sleepings into async calls
procs.
Optimized mob AI subsystems, gave them new priorities levels and flags.
Grab upgrades are now elaborated asynchronously, tweaked them to avoid
stacking multiple upgrades.
Fixed plains tyrants keeping sending messages about stomping even if
dead.
Removed the gelf logging infrastructure.
Refactored the various logging procs to be a direct call in light of the
above.
Removed ancilliary UDP related things.
As titled. It sets the idea that the cubed animals aren't exactly the
same as their regular counterparts. This might be something for lore to
decide though, not me. So this PR should probably stay up for a bit.
For those too scared of clicking the "files changed" section. The
description is as follows.
"The manufacture of a cubed animal produces subjects that are similar
but have marked differences compared to their ordinary cousins. Higher
brain functions are all but destroyed and the life expectancy of the
cubed animal is greatly reduced, with most expiring only a few days
after introduction with water."
---------
Co-authored-by: WickedCybs <wickedcybs@gmail.com>