Stationbounds now have accents, starting off with Text-to-Speech, and can choose to mimic any accent.
The bots that robotics can produce now also have TTS accents.
IPCs can choose to use the TTS accent if they wish.
update_icons(), UpdateIcon() and updateicon() are now changed to be update_icon().
Many interactions expect a target to have an update_icon(), so they should all be the same.
Also fixed some stuff that was using relative pathing, along the way.
Converts reagents to use typepaths instead of IDs.
Centralises reagent spawning in a lot of places to use reagents_to_add instead of a variety of custom methods or initialise overrides.
-Almost all aspects of virology and it's related machinery and objects have been purged from the code and map.
-Most of disease code has been purged. Some pieces of it remain as holdovers because they would require extensive rewrite of defines and codes for things like nanite robot transformation and appendicitis (that frankly isn't necessary)
-The outbreak event has been purged, as has the virology malicious code event variant.
-The Virology department has been remapped into the Abandoned Sector.
Part 1 in the "why my impact wrench no wrench bolt" saga
tl;dr for end users: combitools / impact wrenches now work on everything their non-powered versions do (except mechs and RIGs, tune in next time on dragon ball Z for that)
essentially all this PR does is murder every istype() check possible that could use a helper function instead, most notably many pen checks with ispen(). it also repaths combitools and powerdrills to /obj/item/weapon so they aren't instantly taken out of contention by half of the known attackby() prompts
I already squashed a couple runtimes here and there from the pen changes and it's possible I missed another because pencode is another scourge upon our lives
How to build machine blueprints!
Use steel sheets like normal, then rotate the frame how you like it using the directional arrow. From here use a Multitool to finalize it and then wire it up like you would before.
This PR is depending on #4868 for it's ui framework. This PR mostly makes new SSrecords subsystem responsible for storing records. This should replace old datacore.
Make new SSrecords.
Make things use SSrecords and whole code compile
Made VueUi button <vui-button> to push parameters as JSON, preserving client side data stricture.
Add new records console and admin record management.
I am mostly looking for feedback regarding SSrecords and it's data storage mechanism criticism (It's using lists for storage)
This PR make few things:
Hostile mobs now have a var smart which designates if they are smart enough to check their line of fire. In future I will also use this var to try and find path to their target around obstacles.
If Hostile mob is smart and is a ranged mob, it will check it's line of fire before it shoots. If there is a friendly mob in line of fire, we will not shoot. If we hit some other object, but we still can hit our target penetrating that object, we will fire. If we can't hit our target, we just don't fire.
Currently makes all hostile, ranged mobs smart.
Cleans up hivebot code and improves it. Hivebot spawn beacon has now chance of spawning different kinds of bots each cycle, and has a spawn delay between each.
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().
* Base work for the unathi robot subspecies.
* Adds metabolism species, kidney vars, and the robot unathi organs.
* Moves some action buttons to organs, pretty much a bay port right now. Todo: the unathi and alien stuff should also go here.
* First autakh implant power.
* Fixes the organs action button this time.
* Finishes more implants, and interactions with flashs and vaurca.
* Prepare for great changes.
* Drops the real bomb, boss.
* He who fights with monsters.
* Far more work into augments and limb removing powers.
* Limb verbs should be good now.
* A LOT of work into the assited organ, allowing it to bleed and etc, as well adding a new chem that will stop bleeding in their case.
* Probably the last work on implants.
* Some extra touches.
* Some tweaks to the species.
* More fixes and adds kyre's sprites.
* More runtime fixes.
* Fixes the species name too.
* Fixes travis.
* Updates this file too to work with the new tools procs.
* Adds changelog
* Fixed changelog.
* Unathi hair and lore description.
* Some tweaks to this too.
* Locks away them for now, they will be released after we got all the events and etc done.
* Changes this chemical.
* Fixes an airlock runtime.
* Adds the non scan flag to the autakh, mostly due to some bizzare interactions with changelings and cloning.
* Organs removal changes; can't take out the organ if it is too damage.
* Restricts them back again.
* Robotic organs now have the proper icons and names.
* Adds sprites for their organs and some extra tweaks.
* Fixes this missing icon.
* emp should also now hurt assited organs.
* Tweaks more organ related things.
* Fixes the head not being properly set as well.
* Fixes their flags.
* fixes the flag for real this time.
* Poze's review.
* Changes the au'takh organ buttons to don't be animated.
* Helps with adminbus or something.
* Fowl's requested changes.
* Fixes a typo.
* Robotic limb's brute and burn mods are now controlled by the limb model.
* Fowl's changes once more.
* Stops some spam.
* More grammar.
* No eal.
* Skull's review.
Soil Plots:
- Can be created with three sandstone blocks.
- Can be removed with shovels or minispades. Has a timer that delays the construction and deconstruction.
- On spawn, soil plots do not contain water, or nutrient, requiring some initial start-up instead of just rebuilding the plot to get more water and nutrient.
Hydroponics trays:
- Received a minor buff -> No weeds. Hydroponic trays do not face issue from weeds irl. This will add incentive to using them outside readily available and constructable soil plots.
- Retaining of warning light for toxin levels and pest levels on the trays.
- Added NT dummy failsafe because people are killing their plants because they don't realize they require setting of lights. Default light is now set to five on each closed tray.
Point of the PR:
- Add incentive to use sandstone bricks to create planting beds if desired, keep incentive to use hydroponic trays as well as give them change to bring in line to more realistic standards for how hydroponic trays function.
- Prevent people from killing their plants through general lack of knowledge while providing a simple basic light setting that will at least slow decay of any closed system plants.
- Add some difficulty to initial upkeep of soil plots, while also preventing misuse through demolishing to obtain further water and nutrient.
Farmbots prioritize refilling if their tanks are below 30%
Farmbots option to turn On/Off watering trays actually works, was set to use wrong var.
Moved sink in Hydroponics so that it is actually is in field of view of farmbots when they attend to trays. Fixes#5718
Reworded APC and SMES state when input and output are the same
Fixes#5721
Apparently this was still causing some trouble. basically without qdel the tank before moving new and assigning we will have a duplicate.
Fixes farmbot assemblies having duplicated watertank after they are finished assembling.
Wanted to fix one bug, but couldn't stop.
- Farmbot now have harvesting animation.
- Farmbots no longer have two water tanks inside of them, that was causing them to use hidden water tank and not let it be refilled. Fixes#5677
- Farmbots now will wait for weedlevel to be 5 or higher, that is when the alarm is triggered. And call `update_icon()` when it is done. Otherwise people wouldn't notice if they were killing weeds
- Vending machine now accept only items of the same type as defined in their product list. So you can no longer insert cult's ritual knife into Dinnerware. Fixes#5671
- Merchants cannot by generic mech's weapon, it was replaced with UT AC 2 and Scatterbox. Fixes#5675
- Ghosts cannot be teleported by telescience. Fixes#5688
Newscaster no longer keep photo in them after you take it out. Fixes#5216
Added missing cameras in the bar. Fixes#5207
Added two emergency O2 wall lockers to the bar and kitchen. Fixes#5241
Fixed reference in red track pants(was referring to blue). Fixes#5276
Beepsky/ED209 now stop moving after they are being disabled. Fixes#5244
Cyborgs can not open/close curtains. Fixes#5284
ED 209 no longer fires from long distance, but gets closer if target is too far away to shoot.
Beepsky uses walk_to() instead of step_to()
Beepsky has variable of his speed that is used by walk_to()
Beepsky now targets person who attacks them.
Beepsky now reports if they are being attacked.
Beepsky uses better and shorter patrol paths
-adds weaponry permission access, that is used by the securitron to check if the person can use a weapon, added to all security roles, the head of personnel and the captain
-added a firing pin that checks for access
-fixed the ert id having access to things they should not
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().
-changes how simple mobs handle can_fall, can_ztravel and CanAvoidGravity works on simple mobs by adding checks to see if the mob is alive and has the flying var
-fixes #4008
-fixes being unable to emag secbots
Fixes#3742 - someone unfucked the fix again.
Resolves#3740 and resolves#3739.
Fixes#1558 - a 10 month long meme is dead.
Resolves#3720 by making robo-eyes immune only to the eye stinging effects of pepperspray. Let there be equality amongst the synths.
Fixes#3676 - tested, shouldn't break. It was double-calling set_death_timer.
Fixes#3672 and fixes#3658 - that was my bad on not noticing the diff around hologram.icon = icon vs add_overlay(icon).
Fixes#3762 - I'm surprised this didn't fuck over more.