Fixes runtime when a borg is reset.
Fixes issue where /proc/select_active_ai_with_fewest_borgs() would not always return the intended AI.
Fixes issues with new borgs spamming the master AI with creation messages under some circumstances.
Commit b1546ee3eb contained a rather
bone-headed mistake, that resulted in embedding with penetrating
projectiles to not behave as desired.
This commit fixes that, and provides a cleaner implementation.
Collection of gear and changes from the four gear polls on the forums
includes:
2 new automatic weapons, mapped in to ERT and random weapon spawns.
Laser carbine balance.
Slow emergency softsuits, no armor value other than bio and rad, 4
slowdown.
1 knife, not mapped in, available for Psi's uplink merge.
New vests: 2 types, 2 pocket no slowdown,
4 pocket with slowdown, second is available from cargo and one random
vest
spawn in armory. The first replaces all instances of the old vests. Old
vests still exist in code.
Mercenary vest with no slowdown, 4 pockets, and slightly better armor,
not on map, possibly for Nukes or Traitor Uplink
Holster rearrangement for custom loadout.
Acid dispenser, mapped into robotics and science.
New food items, added to vendors and rations crate.
New random medical spawns, added to medbay.
Cargo and loadout additions to accommodate new items.
1 beanbag loaded 5 round shotgun added to Warden's closet to compensate
for officers having .45 ltls and the HoS having an e-gun, suggested by
IRC and server.
http://baystation12.net/forums/viewtopic.php?f=5&t=12064http://baystation12.net/forums/viewtopic.php?f=5&t=12031http://baystation12.net/forums/viewtopic.php?f=5&t=12027http://baystation12.net/forums/viewtopic.php?f=5&t=12007
Fixes projectiles Bump()-ing twice when penetrating walls. Fixes
projectiles being unable to penetrate a wall that was destroyed because
it turned into plating.
Tweaks syringe gun and dart gun, renames syringe gun cartridges and makes them printable.
Adjusts penetration so that passing through mobs happens with a probability that scales with damage.
Adds a .45 signal pistol to the HoP's closet and a 9mm one to the mercenary shuttle.
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
The Icarus is now fireable in gun form. The point defense mode fires several lasers one after the other so that it can penetrate. The main gun mode fires a modified meteor. Also added an "abstract weapon" which has the projectile type settable for admin shenanigans.
Walls now lack an armor variable, which is replaced with buffed health. Normal walls take 4 shots with a normal laser or 5 emitter bursts to destroy. Reinforced walls now take 20 normal laser shots or 28 emitter shots.
Added some proactive runtime protection to logging for projectile impacts. Without a valid firer, the jump button is linked to the victim.
* 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.
Continues the wiring upgrade. Now cameras, airlocks, robots, and air alarms also use the new wire datum system.
Global wiring code is now removed but there are sneaky objects which didn't rely on them such as mulebots and autolathes.
Fixes a few issues from the previous upgrade.
First pass on major conversion of xenomorphs to a human subspecies. Additional condensing of various redundant mob verbs.
Converted larva and diona to their own class, collapsed the rest of xenomorphs into a human species, other stuff.
Completely removed attack_alien(). Still have to reimplement some of the lost behavior for human/alien.
Reapplies lost attack_alien() functionality other than tackling/caressing.
Further alien/humanoid cleanup and xenospawn fix-ups. Also uncommented caste verbs.
Removed half-finished abilities system since species.dm handles it.
All xenomorphs functionality should be working now, other than the HUD, tackling and the xenomorph balance issues.
Added icons for xenomorph castes, moved broadcast languages into datums, removed alien_talk and robot_talk vars.
Merged with organ removal code.
Reapplied verbs to simple_animals/slimes. Updated species definitions to have appropriate organs.
Readded tackle as a human verb.
Borer changes regarding brain removal.
Working on moving the human HUD to the species datum a bit. Mixed results.
Moved Cortical Link to a language, added borer husks.
Tidied up the HUD stuff. Still need to make it rebuild properly when species is changed, but this will do for no
Compile fix, forgot the DME.
Fixed up ventcrawl, added new organ mechanics for dionaea.
Fixed up some overlooked sections causing mobs without brains to die immediately.
Fixed up plasma generation for queens, bugs with organs, force_organ issues with set_species().
Increased laser cannon damage to be higher than regular laser damage.
Also updated the name var of /laser/captain so that it doesn't inherit
"laser carbine"
New proc: /datum/species/create_organs
Called in set_species when no organs exist or it's forced.
Also shuffled set_species around a bit, adding a var to human/new to
specify a species to start as.
Should fix the adminspawn vox organ runtime.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>