* Idle bots will move out of doorways
Idle bots will move out of doorways, including turfs with firedoors or blastdoors.
* +changelog
* fix parentheses
* Port ParadiseSS13/Paradise#2100 - Saycode refactor
* Removed unused old carbon slimes code
* Port ParadiseSS13/Paradise#5099 - Saycode part 2
* Ported ParadiseSS13/Paradise#7170's /datum/browser Check Known Languages
* Port ParadiseSS13/Paradise#9240 - Get rid of alt_name in favor of GetAltName()
* Port ParadiseSS13/Paradise#10330 - You can now use multiple languages in one message
* Addressed Atermonera's review.
Translators now print the full message if they find any languages within the
message that the user doesn't understand, minus languages it cannot translate.
Additionally, the combine_message proc has been significantly simplified
by eliminating an ugly tree structure with the help of a little helper
proc.
The removal of the extra span inside each piece doesn't seem to have
visually changed the messages in any other way than changing where the
wordwrap happens, strangely enough. Must be something in IE's code being
picky about invisible elements. On the bright side, it splits *later*
than it did before, thus reducing the lines a message will take up by a
tiny amount.
Also, a bunch of things now have the 'filter_say' class from
PolarisSS13/Polaris#6998. Since span classes with no definition are
totally valid and just don't do anything, this PR does **not** depend on
that PR being merged first.
* Always gotta be one
* Fixes Repairing Bots
You can now repair beepsky, slime securitrons, and other bots if they get damaged
* Can Fix Emag
* Updates changelog
* fix rcsadd to rscadd
* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
Adds toolspeed var, which is a multiplier on how 'fast' the tool works. 0.5 means it goes twice as fast.
Adds usesound var, which determines what sound is used when a tool is being used.
Changes a lot of code to use those two vars instead.
Adds 'ayyy' tools, which are ported from /tg/'s abductor gamemode. They're currently admin only but I might make them obtainable by xenoarch later.
Adds powertools, also from /tg/. CE starts with them in a new toolbelt that spawns in their locker, ported from (you guessed it) /tg/.
Changes welder sprites to look nicer, ported yet again from /tg/. Modified the blue welder slightly so it can be the electric welder sprite.
Adds various sounds from /tg/, for tools and welders.
Adds a fairly simple system that allows adjusting various numbers like max health, incoming damage, outgoing melee damage, etc. The nice part is that changing certain variables this way (like max health) is a lot safer than manually setting the max health var directly.
Changes a lot of short lines of code to point towards a variable's getter or setter helper instead of reading the var directly so the modifiers can work.
Endoarmor, delayed toxin sting, Enfeebling sting, and recursive adrenaline overdose now use the modifier system.
Enfeebling sting now only lasts two minutes, from five minutes, however it now also reduces the victim's melee damage by 25%/50%, and increases the damage they suffer by 10%/35%, for normal and recursive respectively.
Delayed Toxin Sting's effects are now felt all at once instead of over the course of a few minutes.
* Merge two not-really conflicts
Thanks git, that whitespace conflict was super important?
* DME merge
* Added defines for mobs used by simple animals.
* Lost a slime along the way
* Disable debug settings
* HONK!!!
* Remove redundant hostile decls
* Replace loc= with forceMove in old SA code
I guess I should think of the children.
* Changes navbeacons to no longer use radios (Doing so was slower and didn't really help anything) Note: var/freq remains for mapping compatibility until all maps are updated.
* Fixes navbeacons to actually hide under flooring if you put plating over them.
* Changed how navbeacons are mapped in. Don't use the picky "code_txt" variable, instead use appropriate subtype.
* Made useful reusable subtypes so you don't have to code in a type for every. single. one.
* Updated mulebot to use new navbeacon codes.
* Re-activate patrolling! With the new navbeacons, bots with will_patrol can follow the patrol navbeacons.
* Note: various "should_patrol" variables on each bot type unified under /mob/living/bot/var/will_patrol
* Securitrons (beepsky) got an overhaul to the new patrol routing.
* Note: BayStation replaced the snowflake handcuffs code with acutal handcuffs. Polaris handcuffs requiere a grab to work, so are more complicated. Kept our existing attack code.
* Behavior procs reorganized to use better movement detection and just be more flexible.
* Floorbot fixes & removal of bridgemode
* Floorbot will now remove & replace broken floor tiles.
* Floorbot will no longer decide its okay to pave over all of SPACE.
* For the moment patching hull breaches is disabled, it is too laggy.
* Sundry bugfixes to all bots
* Use forceMove() instead of setting loc
* Use "\The [X]" message strings.
* Pass target to do_after() when doing something to a target.
* Fixed events that were supposed to emag bots to now do so again.
Refactors and cleans up item_attack.dm and related mob attack code
Conflicts:
code/_onclick/item_attack.dm
code/game/objects/items.dm
code/modules/mob/living/bot/bot.dm
code/modules/mob/living/carbon/human/human_defense.dm
code/modules/mob/living/living_defense.dm
code/modules/mob/living/simple_animal/simple_animal.dm
- Bots can now be unlocked when you have one of the required accesses, instead of requiring all of them.
- In other words, security officers can once again unlock beepsky. I believe no other bot uses more than one access level for unlocking.
Fixes weirdness with knifing where attempting to knife someone before
`world.time >= (G.last_action + 20)` could be met.
Knifing damage scales with weapon force and an attempted measure of
throat protection.
Knifing switches on harm intent.
General:
Bots are now /mob/living/bot. They support player control fully. Just in
case an admin feels like letting a ghost take control of beepsky or
something.
Since they are bots, spooders and whatnot will attack them.
They now don't need an open panel to be emagged.
Spawns replaced with do_after, meaning that they will stop
injecting/cleaning/repairing/arresting if pulled away.
Medbot:
Emagger is added to ignore list.
Will now inject spaceacilin regardeless of disease type and level.
Previously: only if disease was past stage 1 or airbone.
Cleanbot:
Patrolling rewritten. They now find a closest beacon, and go to the NEXT
beacon after the closest one.
They will not wiggle out when pulled.
They will now ignore (for a while) the gibs they make if odd button is
pressed.
They will now freely claim cleanables. Previously, they would not target
ones targeted by other bots.
Floorbot:
This was a helluva buggy one.
They will now build bridges (but still won't do random repairs) in space
area.
They will now build bridges even if the tile directly next to them in
that direction is tiled.
They will now ignore for a while a tile they can't reach. This is to
stop them from hopelessly targeting tiles under grilles for upgrades and
getting stuck.
They will now slowly (200 ticks for a tile) build new tiles on their
own.
They will now preserve tile's icon when repairing it like a player
would.
They will now place first rods, then tile when fixing space breaches.
Rod costs two tiles.
When emagged, they will first always tear off the tile, then will (over
triple the normal amount of time) breach the tile to space. There are
noticeable warnings for both actions.
Secbot:
Will no longer run away to patrol when panel is open.
Now deals stamina damage instead of instastuns.
Small delay between approaching the target and stunning them.
Laserbots axed.
Removed their weird EMP act.
Will no longer stun lying people, just cuff.
They will also demand surrenderring (lying down) before smacking you. If
target moves, or 5 seconds pass, it will attack.
Farmbot:
It's alive!
It has settings to: water trays, refill its own water, uproot weeds, add
nutriment (ammonia, internal synthesizer), collect produce, and remove
dead plants.