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().
The Leyon Pistol has been changed to be closer to the original vision of it.
It is loaded via a special 10mm speedloader, however loading it takes some time.
Each gun (when ordered via cargo) will ship with a speedloader.
The speedloaders itself can not be ordered, but 10mm ammunition boxes can which can be used to restock the speedloaders or load the gun directly.
Reduces the price for the gun at the merchants from 1500 to 500 credits
And makes additional ammo boxes purchaseable
Also changes the path name of the 10mm ammo/mags/... to be consistent with the standard pathing for ammo
Adds additional messages if you can not load a gun with a single cartridge (currently it fails silently)
This pr adds bayonets, knives that you can attach to some rifles. When attacking someone in melee with the rifle, you will attack your target with the bayonet instead of the rifle itself. Sprites are from tg and baystation.
Also, fixes the vintage rifle having no in hand sprites
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.
In this new gun patch:
-rewritting bolt action rifles, so they are less shotgun like, also new sounds for them!
-adding a spin cylinder verb for the revolver
-jamming mechanics for guns, only the ghetto .45 pistol will use them atm
-minor changes to renegades, removing big shotgun that won't make it really stealthy, and heisters, by adding more guns.
Adding a new var: allowed_magazines.
Pretty much it defines what magazines you can load into a gun, it will stop people from loading submachine guns into pistols and etc. Also, fixing the Deckard revolver.
Expands on firemodes to include settings for the egun/adv egun,
floraray, and pulse rifle.
By default attack_self() now cycles firemodes for any gun. Updates
several projectile guns in a desperate attempt to avoid the need for an
unload ammo verb.
Protolathe and CI build procs moved to them from RD console.
Protolathe and CI now have a build queue. Designs take varying time to
build.
P and CI material storage is now a list instead of a set of vars.
origin_tech is now a list.
All sheets now contain exactly 2000 units of matter.
In design datum, chemicals and materials are two separate lists.
Designs are now sorted. The method is kinda hacky but flexible. They
have a var, sort_string. Designs are sorted alphabetically using it.
Circuits how show whether they build a machine or a computer in CI menu.
Adds item construction, for now protolathe is used.
Fixes SAW unloading. Fixes c20r and SAW icon states. Tweaks sniper desc, and makes clip icons for 7.62mm ammo less pixelated - still pretty much a codersprite though. Fixes ptrs item_state.
Fixes certain guns being unremovable due to unloading ammo taking
precedence over picking up. Also adds on-back icon for the merc sniper
which is just a copy of the LWAP's.
Makes syringe guns a type of launcher gun, and removes the hack
projectile.
Also moves syringe and dart gun source files into the modules/projectile
folder.
Removes can_fire() and moves some of it's functionality into
get_next_projectile(), which was renamed to consume_next_projectile() to
indicate the possibility of side-effects.
Also renamed flag var to check_armour
Rewrites gun.dm. Reorganizes the firing procedure into logical procs and cleans up some unnecessary variables or demotes them to the subtypes that actually care. Energy weapons that create their own projectiles no longer care about in_chamber. Launcher support is much more natural now.
Cleans up duplicated cyborg energy weapon power supply code. Adds support for energy weapons to recharge from external power sources, unifying cyborg and hardsuit mounted weapons. Incorporates the cyborg taser recharging mechanism. Cleans up laser tag gun duplication
Changes path strings to actual paths. Changes relative paths to absolute paths.
Renamed several targeting vars to make their purposes more clear.
Fixed targeting not handling firing correctly for certain subtypes.
* Refactors projectile Bump()
* Converts projectile_type var strings to paths
* Reorganizes bullet projectile paths
* Made a pass through all the bullet_act() definitions. Mainly ensured that damage_type is checked when dealing damage to certain objects. Removed stupid /turf bullet_act() override, replaced with on_hit() overrides on the relevant projectiles.
* Adds shotgun pellets projectile. Adds Raptor's shotgun slug sprite.
* Gives stunshots more of their own identity, refluffs them as taser cartridges for shotguns. They still aren't obtainable anywhere unless spawned.
* Makes projectiles pass through girders and cultgirders with a certain probability, unless the girder itself was clicked.
* Projectiles are also able to pass through grilles. Low damage projectiles have a chance to be blocked by grilles. High damage projectiles have a chance to have some damage absorbed by the grille.
* Makes projectiles for blanks invisible.
* Adds flash bullet types
* Adds support for 'penetrating' projectiles
* Swaps .45 and 9mm projectile types. .45s hit slightly harder, 9mils have more ammo capacity.