Projectile hitscan effects moved to /effects/projectiles folder.
Most of projectile firing code and some of impact code refactored, and projectile hitscan effects refactored with ported TGcode (which is mostly TGcode I wrote anyways 😎)
Projectiles can now be fired at any angle, instead of just at the center of turfs!
Projectiles are now [in theory] 100% accurate down to 0.001 of a pixel.
This PR rips out the old Bump() and Bumped() procs and replaces them with Collide() and CollidedWith() respectively. Behavior should be the same, but Bump() should no longer be double-called, and no longer relies on spawns.
Other changes:
LAssailant is now a weakref.
Some direct loc setting are now forceMove().
Shotgun slugs and revolvers were pretty much stong, by instagibbing people ignoring armor, due to having a maim bonus. This pr will remove this, those weapons can still maim and gib limbs, but without any magical force that is able to ignore armor. Plasma cutter and heavy sniper bullets still keep this feature for obvious reasons.
-separates the mecha weapons dmi in three different dmis for each type of weapon
-buffs the ion cannon, by having its ion being 5x more effective than the regular ion gun
-buffs the damage from the mecha smg
-adds new weapons such as the gatling laser, gatling xray, mounted tesla cannon, mounted anti-material rifle, mounted gyrojet autocannon, mounted anti-material cannon and possible more
-increases the equipment slot for mechas to 4 from 3
-adds some of the new weapons design to the mech fabricator
-changes the weapons names to be more generic
-fixes #4296
-fixes the missing walrus facial hair sprite
-fixes the empty carbine and mosing rifle having the wrong on armor sprite
-fixes prank guns having firing pins
-fixes #4217
-lowers some of the component techs to make possible to get them
-fixes the phoron capacitor design having the wrong id
-modulator will now change the firing sound of the weapon, to avoid things like tasers and non lethals modules sounding like lasers
-fixes a bug with the random voidsuit picking the wrong helmet for the captain voidsuit
-fixes #4172
-fixes #4193
-fixes #4192
-fixes #4189
-fixes #4179
-fixes #4170
-fixes #4197
-fixes #4201
-changes the access of the security checkpoint, so all heads of staff can use it
-fixes the hop being unable to access the account's computer
-fixes being able to feed holodeck penguins
-fixes modular laser weapons not interacting with firing pins
-fixes more guns not interacting with pins and remove the need for pins from certain guns, like crossbow, alien weapons and etc
-fixes unstable matter's portals and the elixir of life
-nerfs liquid fire a bit
I'm going full steam ahead with this.
Adds firing pins/ Authentication mechanisms. these are needed to fire any specific weapon.
Weapons generally spawn with firing pins in them. or at least should. The exception to this is anything made in R&D - which needs to secure a firing pin from somewhere.
There's currently the following firing pins:
One that checks for a specific implant, EG a loyalty implant one.
One that always fails, and can replace other pins. (this one would likely be admin only. it's clown themed)
The Laser tag code got refactored to the pins. so each gun has a different pin. if you somehow got this pin, you could make it so you could only shoot a gun while wearing a laser tag vest, for example.
A Testing range pin, which only allows firing in specific areas - of which are mapped in currently.
A DNA locked one. and a subtype which will explode if someone else tries to use it.
the system's designed to be easy enough to add on to.
Feedback fourm is here:
Implements the long-promised modular RnD energy weapon system I embarked upon in the ancient days of August 2016. Currently just a basic framework based heavily on Printer's recent work.
Relevant thread: https://forums.aurorastation.org/viewtopic.php?f=18&t=9755
-fixes #3747 by making so that the tranq bullets inject the target with some sleeping toxin
-fixes things like random plushie and animals getting stuck into the person's contents when you open a gift
changes:
Rechargers now briefly show a progress bar showing the current charge level of the device currently charging.
Examining a recharger will now specify what is in the charger.
Atoms can now mark themselves as requiring an icon update on initialize instead of overriding Initialize() just to call update_icon().
Charger code is now slightly more modular, using proc/get_cell() to get a ref to the power cell instead of hard-coded if-else chains for each supported type.
Adds flooring to the turret with "decorative" conduits.
Adds darkening and brightening animation when turret opens/closes to indicate the turret rising up or down.
Made new construction phase depicting nearly all steps visually (Apart from adding the prox sensor.)
Made sure almost every gun that can be turreted has a relevant sprite. These are based on gun sprites. Changing those might cause turrets to not reflect the gun look.
Some guns share sprites, some were made unturretable.
Added new set of vars on the /gun/energy level, since the /gun level had few essential vars missing and I am not really looking for any other code rewrites regarding this right now. Should not be hard to move them step up, if ever needed.
Turrets that have only one shooting mode have now the changing mode option greyed out.
Also removed leftover references to two energy carbine subtypes and removed one global list.
Adds new sounds effects to the following;
-nar'sie summoning
-turning on and off a welder
-using a megaphone
-new flashbang and being hit by a flashbang sounds
-cutting wood
-chain of command attack sound
-opening/closing curtains
-rocket launcher sound
-opening/closing a light submachine gun
-ports some gun and gun mechanics from polaris and bay such as the Lemant revolver, capguns sprites
-collapses svd.dm and scout_sniper.dm into sniper.dm
-renames boltaction.dm to rifle.dm
Ports Polaris' integrated electronics system, whichallows for Roboticists & Electricians/Engineers to build custom devices and machines for a variety of purposes.
PLAGIARIZED AND REBASE VERSION OF #3409 BECAUSE FUCK GIT
The old Lawgiver code didn't work as intended, with different modes using different charge values and having different recoil. This PR fixes that code, so the lawgiver is now somewhat balanced (No more HE spam yay). Current ammo amounts, from full charge, are:
Stun and Singleshot = 40
Burst = 13ish, just shoots 3 Singleshot in a row
AP = 15
Hotshot and Pellets = 8
Highex = 5 (Original charge cost placed it at 6.6 recurring, brought it down to 5)
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.
The cooldown is currently 3 seconds as suggested by this thread
also adds a nifty proc to Aiming to set said cool-down, it's variable.
The proc is "aim_cooldown(x)" with x being the time you want them unable to aim.
-name added the prefix mounted to all mounted guns
-converted the hos sniper rifle bullet to the new armor system
-converted projectile/special.dm to absolute pathing
-reduced again the damage of frag grenades
-added armor penetration to the pulse beam, to make it more than just a stronger laser
-fixed the fake grenade getting stuck in the primed sprite after its detonation and added a indication it is take in the desc
changes:
Converts guns to initialize.
Converts lift control panels to initialize.
Swaps out a spawn in droppods for addtimer.
Fixes a bug where already-opened pod doors would still attempt to prime if hit.
-fixes #3226
-fixes zipties boxes
-fixes the mounted pulse module using the wrong gun
-fixes ballistic guns icons showing as empty when the round starts
-tweaks the uplink vest to include the matching helmet
Port of the merchant mechanics from baystation12.
All of the trader, prices and most essential system are done, as well the job datum and the like. Mapping the shuttle, the base and a new dock will be done in a later pr.
Also adds phazon construction and several other items used in this pr.
The chance of the merchant slow being open at round start can be changed via the config, it is 20% by default.