Commit Graph

44 Commits

Author SHA1 Message Date
Meghan-Rossi
d1ee8d117f Stop bots standing around blocking doors (#7509)
* Idle bots will move out of doorways

Idle bots will move out of doorways, including turfs with firedoors or blastdoors.

* +changelog

* fix parentheses
2020-08-20 19:31:57 -07:00
Neerti
94062a21bf Implements status effect icons for various statuses. Cleans up various variable accesses to use setters instead. 2020-07-18 12:53:32 -04:00
ShadowLarkens
54a8a5823d Saycode Overhaul -- Multilingualism (#6956)
* 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
2020-04-20 01:11:53 -07:00
Leshana
767e6227f5 Replace all direct setting of mob.stat with mob.set_stat() 2020-03-20 23:45:29 -04:00
Mechoid
b687d7da7e Merge branch 'master' of https://github.com/PolarisSS13/Polaris into GlobSpecies 2019-12-05 23:55:44 -08:00
Mechoid
58e2ce2fb4 Change various global species lists to GLOB versions. 2019-12-05 23:55:22 -08:00
Heroman3003
0159551776 Stops bots from opening elevator doors (#6557) 2019-12-05 15:30:01 -08:00
Mechoid
7ecdcb40d2 Security / PseudoCargo Expansion (#6482)
* Security Expansion work.

* Weaponized Racism, Stowaways, Meteors

* Fix Fix. Prep modular armor for addition.

* Fix the boots.

* More modular armor work. Now in cargo!

* Fixfix

* Fixfix

* Thank you anxiety very cool.

* Make a Stowaway Antag

* FixFix
2019-11-24 17:22:25 -05:00
Heroman
7caef13951 Makes bot patrolling into a map var 2019-08-07 07:14:05 +10:00
Andrew
2ad4f437b9 Fixes Repairing Bots (#6325)
* 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
2019-07-27 12:06:58 -05:00
atermonera
cbfae15214 Bots don't speak gibberish 2019-01-19 22:55:19 -08:00
kevinz000
c2c688c4c8 caps 2018-12-06 18:34:37 -08:00
Atermonera
bb575f0d53 Merge pull request #5468 from Anewbe/is_tool
Hopefully Unnoticeable Tool Refactor
2018-08-07 22:06:20 -07:00
Anewbe
73a3417f5d Various things and floors no longer associate with dirt 2018-08-04 22:41:58 -05:00
Anewbe
c2794c571d Hopefully fixes some tool-conversion things 2018-08-03 15:13:29 -05:00
Anewbe
729ce71aa0 Converts most istype(thing,tool) procs into an appropriate thing.is_tool() format 2018-08-02 21:45:15 -05:00
drexample
5d73584fa3 Adds the Statue - A hostile mob, that moves only when you don't see it (#5108)
* Statue

* Statue done!

* Testing map removed

* Grammar fix + ignoring creator

* Fixed typos, change range to oview, thanks to Atermonera

* made changes that I missed

* Nightvision handling

* diverse blind messages + requested changes

* Bugfixes, added isSynthetic to bots

* commentaries + PoI

* Finalized POI and statue

* removed misclick
2018-05-14 15:21:04 -07:00
Leshana
5847319443 Update every initialize() proc to return an initialize hint.
* 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.
2018-02-05 15:50:13 -05:00
Neerti
cca2cc5a23 Adds Berserk 2018-01-11 01:35:14 -05:00
Neerti
4bfcec55f2 work 2017-09-04 21:52:47 -04:00
Neerti
99eb6f9404 Updates Tools
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.
2017-08-03 04:49:23 -04:00
Neerti
ea6128f986 Adds Modifier System, Changes Some Ling Stuff
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.
2017-04-18 21:23:59 -04:00
Arokha Sieyes
9660186dfd Not So Simple Animals (#3103)
* 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.
2017-03-22 14:30:07 -05:00
Leshana
eb65ff2ed2 Ports the new parts of https://github.com/Baystation12/Baystation12/pull/15298 back to Polaris
* 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.
2017-03-14 16:29:29 -04:00
HarpyEagle
03761c5eed Compile fixes 2016-04-22 04:58:26 -04:00
mwerezak
593f7699db Refactors item_attack.dm
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
2016-04-22 04:52:04 -04:00
Kelenius
0b71767b0f Finalizes bot updates 2016-03-08 12:55:42 +03:00
Kelenius
e8df17ccad WIP - cleans up bots
Fixes farmbot getting stuck
Floorbots fix asteroid
2016-03-08 11:13:34 +03:00
Kelenius
cf244e07d6 Mulebots are now mobs
obj/machinery/bot removed completely
Mulebot hacking removed, you can still disable their safety.
Mulebot PAD interface redone.
2016-02-02 17:51:50 +03:00
Neerti
4f77afece1 Revert 58ef59734f 2015-11-08 10:09:14 -05:00
mwerezak
6ceffaacb5 Refactors item_attack.dm
Refactors and cleans up item_attack.dm and related mob attack code
2015-09-08 23:23:31 -04:00
PsiOmegaDelta
55bc41241f Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/setup.dm
2015-08-17 09:37:49 +02:00
PsiOmega
4d826e68cb Mob bump fixes.
ED-209 is considered massive enough to not bump easily.
update_canmove() no longer unconditionally sets mob density. Fixes #10365. Fixes #10682.
2015-08-16 20:55:02 +02:00
PsiOmegaDelta
73a9c24017 Removes code in mob/living/bot/Life() that is now handled by mob/living/Life(). 2015-08-05 09:26:43 +02:00
PsiOmegaDelta
3e266ab377 Merge remote-tracking branch 'upstream/dev-freeze' into dev 2015-08-05 09:25:53 +02:00
GinjaNinja32
117ffca6d0 Merge pull request #10423 from Kelenius/ofBotsAndZAS
Of bots and ZAS
2015-08-04 13:26:30 +01:00
Kelenius
e935baf1d8 Fixes #10418 - bots don't remover from stuns 2015-08-04 12:41:32 +03:00
Atlantis
ad45e5d16b Implements req_one_access for bots, as per request on GitHub discussion. 2015-08-02 23:23:18 +02:00
Atlantis
b80dad0329 Fixes #10355
- 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.
2015-07-29 19:58:01 +02:00
PsiOmegaDelta
cc7c502fb8 Updates emag attackby usages to emag_act where it's not too much of a headache. 2015-06-16 09:34:13 +02:00
mwerezak
3f5976bc3b Updates knifing
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.
2015-05-31 11:36:38 -04:00
Mloc
16d50c645d new object-based lighting system
Signed-off-by: Mloc <colmohici@gmail.com>
2015-05-10 20:54:25 +01:00
Kelenius
b7a628d53d Merge branch 'dev' into ofBotsAndMobs
Conflicts:
	code/game/machinery/bots/cleanbot.dm
	code/game/machinery/bots/ed209bot.dm
	code/game/machinery/bots/farmbot.dm
	code/game/machinery/bots/floorbot.dm
	code/game/machinery/bots/medbot.dm
	code/game/machinery/bots/secbot.dm
	code/game/objects/items/robot/robot_parts.dm
2015-04-26 17:18:20 +03:00
Kelenius
6d1614cb7a Updates bots to be mobs. Several changes.
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.
2015-04-26 15:30:11 +03:00