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.
This adds the Lone Spacer offship and ghostrole. This is a shuttle-based
offship with only one slot, designed to be a totally generic and
versatile sandbox to play around with. It can be played in pretty much
any way imaginable, in any sector, any species, essentially any origin,
doing anything from piracy to smuggling, trading, light mining or
xenoarchaeology, or whatever else helps the intrepid explorer scratch
out a living from the stars.
**This is up for review.**
A few things to note:
- This adds a few crate variants to provide hazards in some of the
submaps. I've playtested these, they seem to work smoothly.
- There is an ongoing bug with shuttle-based offships, including this
and the Izharshan ship, in which telecommunications doesn't work unless
you clear every filtered frequency. I'm not attempting to tackle that
bug in this PR, so tentatively players will have to use the multitool by
the all-in-one to clear the filtering frequencies, or they can simply
use a shortwave.
- The ship is just within the constraints for shuttle size - I couldn't
make it any bigger. If it can't dock with a docking port, it's because
the docking port is mapped without enough space.
- IconDiffBot says I modified the Xanu Frigate overmap sprites at one
point. I'm not honestly sure how this happened, but it _seems_ fine?
- The workshop submap gives the ship a variety of generic augments, plus
all of the Zeng-Hu specific augments including the memory manipulator
and enhanced retinas. It doesn't have any more faction-specific augments
than those. The submap is mostly designed for installing prosthetics and
augments and making simple robots, but I'm pretty sure you could use it
to make a shipbound or IPC if you really wanted.
Credit to NobleRow for the overmap sprites!
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.
Moves the IPC memory wiper from the RD's locker to the OM's locker. It
makes more sense for the OM to have it, since the Machinist is an
operations overseen job, not a science overseen job.
Removes the tranquilizer rifle from the HoS's office, and places it in
the RD's office. Along with removing the box of shells from the HoS
locker, placing them in the RD's locker.
Changes the description of the rifle to move it away from being a 50 cal
sniper. Changed the shells to reflect this as well.
Expands the RD's office and reshuffles it slightly to make space for the
tranquilizer cabinet.
Part 2 will be a resprite of the rifle, to be added at a later date.
PR will need loremaster approval due to description involving corporate
lore.
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.
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>
Fixed a runtime with crates animation when closing.
Updated closets door animation code, renamed one var to be more clear,
some minor DMDoc, moved some procs around.
Changes the sink/reagent dispenser (i.e. water tanks)' filling system to
be intent-based rather than opening a window every time. Should make
filling/emptying containers at least 10x quicker. :)
Use **HELP** intent to fill from a container. Any other intent (i.e.
HARM) will have you try to empty the container into the dispenser/sink
instead.
Additional examination info has been added to both the sink and reagent
dispensers to give such information.
* Barricades will now send a chat message if you can't climb them due to
there being barbed wire.
* Fixed barbed wire overlays not appearing on barricades.
Splits the current survey probes into two types: Atmosphere and Ground,
as well as adding a Geomagnetic variant. Replaces some of the currently
mapped in atmosphere probes with the two other types.
- bugfix: "Fixed tents not allowing assembly/disassembly by someone who
was interrupted."
- bugfix: "Fixed tents having invisible walls inside of them."
- bugfix: "Fixed ghosts being unable to see inside tents."
- bugfix: "Fixed tent sprites to be 3/4th compliant."
- bugfix: "Fixed tent roofs not disappering when you disassemble one you
are inside of."
- bugfix: "Fixed tent canvas not having a description."
- bugfix: "Fixed pre-fabricated tents not being disassembleable."
* Puts all the items that were manually mapped into head of staff
lockers into the code. Also deletes some dupe items (why do I have two
megaphones, etc)
* Also very minorly changes the CMO office after I deleted the rack with
a stethoscope, medbelt, and medHUD on it.
---------
Co-authored-by: La Villa Strangiato <mangodeity@gmail.com~>
Made relaymoves uniform in function header and non sleepable.
Improved IPC/borg recharger, made it time constant.
Tweaked client/Move() to avoid a range(), moved a relaymove around to
fix a bug, some minor tweaks.
Fixed IPC/borg recharge station not taking the IPC/Borg in on bump.
Adds tents, in two variants (A larger and smaller one). These utilise a
new large structure framework allowing a single item to spawn multiple
structures (The parts of the tent) in the correct places. The tents
count as inside, so can be used to shelter from weather. Tents have
roofs which become semi-transparent when entered. There are also
mappable effects which generate a tent at round start for mapping.
Adds sleeping bags, which can be attached to the outside of bags for
easy carrying. Ideally this would be an accessories interaction, but
backpacks aren't clothing and converting them to be such is outside of
the scope of this PR.
Adds foldable tables, for setting up on expeditions.
Ported SSThrowing from TG, to handle throwings.
Updated movement system to the latest iteration, made it a datum as per
latest iteration.
Updated pass/hit handling of atoms, introduced pass_flag_self to
determine what atoms allow to pass.
Moved procs and defines around to make them more organized.
This PR brings back the more accurate title for First Responders, of
Paramedic, to bring it in line with some snippets of the SOP and to be
more accurate to the role itself, as both Security Officers and the rare
and elusive Firefighting Atmospherics Technician can be considered first
responders.
also I just like it better.
Changes any mentions of first responder in gear/access/etc to Paramedic
or PARAMEDIC where applicable.
NT ruins at Ouerea no longer has certain loot that was acquirable from
the RD locker (esp the radios....)
Minor refactor of locker code to allow this
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Standard examination was in an examine box. This makes it so fluff
examines are also in a box.
Fixes#18438
---------
Co-authored-by: Cody Brittain <cbrittain10@live.com>
Refactored fire_act() to be in line with TG version, removed useless
parameter, added signal, made non sleepable and forced to call parent.
Added atom_act.dm file for the various *_act procs.
A significant amount of influence was taken from
https://github.com/Baystation12/Baystation12/pull/33255, however adapted
to Aurora. Key things to note is the port of the newer alpha settings
from /tg/, among other improvements.
The ancient holographic and screen overlay code has been purged. This is
now handled with emissives, while holograms are handled with filters as
well.
---------
Co-authored-by: Cody Brittain <cbrittain10@live.com>
Fixes being unable to access the Intrepid's copilot chairs, outside of
climbing over the back of them.
This was due to the window present on their tile not checking for
density, despite being specifically modified to allow passage.
Revival of #17075. Adds roller bed racks which can hold 4 collapsed beds
for organisation. Replaces the beds that spawn on the medical bay tables
with racks of the corresponding amounts.