Commit Graph

251 Commits

Author SHA1 Message Date
SkyratBot
3af51e0f6b [MIRROR] Buckling cleanup and documentation. Borg buckle time tweak. (#1338)
* Buckling cleanup and documentation. Borg buckle time tweak. (#54402)

    Added / improved documentation for buckling procs and variables
    Removed / moved some unused things (removed 'buckling' var on mob, moved can_unbuckle() and can_buckle() from mob to living, removed can_unbuckle() and can_buckle() from slimes because they were ignoring everywhere it was checked anyways)
    Moved can_buckle() check to is_buckle_possible() with the rest of the checks
    Allowed mobs to buckle other mobs to things on the same turf as them ( I don't see why this was blocked in the first place. We have mobs on the same turf as each other all the time)
    Changed silicons to use user_buckle_mob() instead of their own do_after system - now slightly longer to buckle mobs from another turf but instant to buckle mobs from the same turf. This means that borgs can't combatspin people who are still standing but have a slight slowdown, but can load people even faster if they're stunned/incapacitated and lying down. (But honestly, I did it for consistency, not balance)

* Buckling cleanup and documentation. Borg buckle time tweak.

Co-authored-by: Yenwodyah <yenwodyah@gmail.com>
2020-10-16 17:28:12 +01:00
SkyratBot
fb51202dda [MIRROR] changes your cursor to an eye when you are holding shift to indicate you will examine (#1124)
* changes your cursor to an eye when you are holding shift to indicate you will examine (#54083)

* changes your cursor to an eye when you are holding shift to indicate you will examine

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-10-03 02:31:19 +02:00
SkyratBot
ec28f27bf8 [MIRROR] Fix broken dmdoc crosslinks (#933)
* Fix broken dmdoc crosslinks

* Update species.dm

Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-23 15:14:45 +02:00
SkyratBot
0a2d016002 [MIRROR] Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#550)
* Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#52515)

Automatic glide size adjustment based on move delay.
Essentially a port of https://github.com/yogstation13/Yogstation/pull/8132 but that was mostly my code with some fixes.

Why again? well it turns out the recent byond fixes to glide size actually worked and solved the issues that were unsolvable.
https://file.house/0B3u.mp4
Glide size no longer incorrectly scales at fps, so it works as intended at any framerate with the only stuttering being normal byond suck stuttering.

* Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut

Co-authored-by: Rob Bailey <actioninja@gmail.com>
2020-08-29 20:27:18 +01:00
SkyratBot
dc3663a8d1 [MIRROR] Adds an action speed modifier system (#522)
* Adds an action speed modifier system (#53023)

* Adds an action speed modifier system

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-08-26 01:40:42 +02:00
SkyratBot
a00c65aad6 [MIRROR] Lazylists some /mob and /living stuff (#238)
* Lazylists some /mob and /living stuff (#52750)

* lazy

* Apply suggestions from code review

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Rohesie <rohesie@gmail.com>

* Lazylists some /mob and /living stuff

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-07 18:44:40 +01:00
Daniel Hultgren
bae9371da5 Cleanable cleanup (#52477)
* Don't initialize the atom_colours list on atoms until it's actually needed

* Moved bloody_hands var to mob/living/carbon/human instead

* Added COMSIG_COMPONENT_CLEAN_RADIATION signal to reduce moms spaghetti

The shower and suit storage unit now calls this signal instead of either doing it manually or doing it via the washed proc

* Cleaned up carbon washing, renamed washed to wash

* The wash proc now doesn't take the washer as first arg because that wasn't used anywhere
* The wash strength is no longer optional
* Carbons now overrides the wash proc instead of using the signal
* Properly check for obscuredness before washing any equipped items
* Properly wash all items and bloody hands etc
* Added clean_lips proc for humans for cleaning any lipstick

* Cleaned up washing. Washy stuff now calls wash instead of calling the clean signal directly

* Renamed is_cleanable to ismopable, gives this category a more fitting purpose. Many things beyond floor decals are cleanable. It is now also determined using the atom layer instead to make it more generic.
* Properly utilize the is_cleanable define
* Added wash override for turfs where they also wash any mopables on the same tile
* Space cleaner and cleaning element etc now simply washes the mob instead of doing its own manual cleaning on ~some~ equipped items

* Non-component washables now simply override wash instead of registering for the clean signal

* Fixed some left over clean signal registers not returning true

* Added clean_strength var to space cleaner

* Moved human wash proc next to the other washing procs

* Also wash glasses and mask if not obscured when washing face

* Fixed attempting to "scoop up" cleanable decals using a rag

* Fixed plasmaman spacehelm icon not updating when washed

Also removed a duplicated worn_overlays proc

* Fixed head icon not updating when washing lipstick

* Moved radioactive clean signal register to where it should be

* Added atom radiate VV verb for debugging

* Redesigned the CLEAN constants into a more sensible flags setup

This makes it more dynamic, cleaning apparatuses can clean more specific than just a cleaning strength.

* CLEAN_TYPE_* flags indicate a specific cleanable, such as blood, fingerprints or disease
* CLEAN_* consts consist of a combination of cleaning types to make cleaning apparatuses have a consistent behaviour on what they clean

* Fixed broken rad removal logic in showers

* Apply suggestions from code review

Co-authored-by: Rohesie <rohesie@gmail.com>

* Removed unneccesary bool from sink code

* Fixed wrongly named variable in turf wash

* Renamed bloody_hands to blood_in_hands

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-29 08:32:30 -04:00
ShizCalev
99d4fe86c5 Fixes throw mode hud icon not updating while mob is clientless (#52192) 2020-07-14 20:16:02 -04:00
nemvar
b87f65d95e Converts ALL typepaths to lowercase (#51642)
* Case of lower

* More changes

* Ruins the nice 420 diff, brainfart when doing the second batch of conversions

* More changes

* Next batch. I think

* Converts even more paths

* Restarts bots

* Capital Free Zone

* Come on travis, do something

* Renames areas

* Bots, please stop dying

* Updates CONTRIBUTING.md and updates a few paths I missed.

* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
2020-06-17 20:47:57 -03:00
Ryll Ryll
bf177cffed Shoelace fixes, adds helper for seeing if you're already interacting with a target (#50048)
* use the correct do_after target

* stomp

* sorry travis

* lace em up

* less specific

* checks if the shoes move

* NULL ME OUT

* last requests

* unhelper
2020-03-30 23:53:16 -03:00
Rohesie
e36475e1f4 Slowdown fixes and tweaks (#50095)
* Slowdowns

* Highlander fix
2020-03-21 17:01:34 +01:00
spookydonut
eaf8d2496e Makes spacewalk a trait (#49590)
About The Pull Request

less vars, lets you make stuff spacewalk via a trait
2020-03-16 20:34:55 +13:00
Ryll Ryll
7e7fe53fdf Adds Weekend at Bernies'ing People (#49749)
* in addition to the meme i also fixed some comments!

* Update code/modules/mob/living/carbon/human/examine.dm

Co-Authored-By: Jordie <4343468+Jordie0608@users.noreply.github.com>

Co-authored-by: Jordie <4343468+Jordie0608@users.noreply.github.com>
2020-03-09 22:03:32 -07:00
Rob Bailey
1aeb72b2a9 Better glowing lights (#49454)
* better glowy lights

* phase 2

* some doc comments

* working emissive blocking

* flag so these rotate correctly

* full brightness screens

* doc comments and rename

* better doc comments

* stub overrides

* better autodoc format

* Update code/game/atoms_movable.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* Update code/modules/lighting/emissive_blocker.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* render target defines for all planes

* update proc for emissive blocker

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2020-03-03 11:50:19 -05:00
Dennok
fb85fc782b [READY] Multi-Z Openspace visual fixes. (#49323)
* openspace fixes

* os over os fix

* 512 plugs

* up

* up up

* up up up

* drop 512

* drop 512 in obj

* drop 512 in turf

* drop 512 in mob p1

* drop 512 in mob p2

* drop 512 in openspace

* one backdrop to rule all
2020-03-02 01:56:37 +08:00
spookydonut
1a1533a2e3 Code docs some mob stuff (#49570)
* update damage proc codedocs

* docs for mobs

* change requests
2020-02-28 11:14:39 +13:00
Rob Bailey
ba876548f3 Revert "[ready] Smooth-ish move rising: revengeance" (#48156)
Reverts #47817

People are complaining about motion sickness and I don't know what the issue is.
2020-01-04 23:58:31 +13:00
Rob Bailey
798bbd3d99 [ready] Smooth-ish move rising: revengeance (#47817)
* Smooth movement

Squashed commit:

[870d550fff] updates a variable name to not shadow a parent variable

[65131a9a4b] redundant

[7c85f7b87e] override based pulling and pushing

[60a9760c4b] unnecessary when it's done via an override

[0a67dfb3cb] removes a redundant manual override

[7f25104fed] pushing

[2bfd9973eb] eh

[fca7155245] cast properly

[ad4b9ad8ab] compile fix

[c28fde4bfb] some wonkiness with pulling fixed

[0e028d30b3] buckling fix + finer rounding

[8f93df2bbe] dragging + buckling fixes

[1541e1ce78] small optimization

[bda72345dd] smoother movement

fix to dragging being fucky

vehicle fix

orbiter fix

eof newline

cleanup

comment cleanup

stupid hack

bunch of tweaks/hacks + 60 fps default oh god

potential fix for orbiter issues (in a shitty way)

early override for some cases

unset orbit

multiply instead of add offset

no

no more timescale scaling and higher multiplier

meant to include this in last commit

comment

* clamp to 6, 1.25 multiplier

* (poorly) fixed buckles not always propagating

* get rid of some debug prints whoops

* fixes an infinite loop

* syntax + update savefile instead of interpreting 0 different

* uuuh
2019-12-05 02:34:46 +00:00
Emmett Gaines
53952e7622 Keybindable emotes followup (#47868)
Keybindable emotes followup
2019-11-19 16:54:30 -08:00
oranges
58d8c248c8 Merge pull request #47388 from Rohesie/path
Variable definition path cleanup
2019-10-26 21:20:24 +13:00
Emmett Gaines
3bd6505ac0 Cleans up zone_sel and fixes init selection (#47371)
* Cleans up zone_sel and fixes init selection

* Removes selecting
2019-10-25 16:39:29 -07:00
L
42873d424e Cleanup 2019-10-25 04:26:09 -03:00
nemvar
1ead3e8ae7 Fixes morph movement and replaces magic numbers. (#46358)
* fixes morph speed shizz

* fixes morph movement
2019-09-06 16:23:28 -07:00
nemvar
0ef8d32c91 Turns digital camo into an element (#46134)
* Turns digital camo into an element

* Removes commented out code.

* Keep forgetting this

* Update code/datums/elements/digitalcamo.dm

Co-Authored-By: Rob Bailey <actioninja@gmail.com>
2019-09-02 23:49:58 -07:00
Kyle Spier-Swenson
0fa87b7bbd [s]Throttle mind notes (memories) (#45555)
* Throttle mind notes (memories)

Some dipshit is spamming this on ss13 servers

Limits to 100 times the message limit (removing old text after that), and one call every 5 game seconds.

* Throttle at the right place

* Not here

* We really need a generic throttler solution
2019-07-29 09:09:33 +12:00
oranges
800f24393d Convert some code docs into the auto doc format (#45101)
* Document datum, area,atom and some of the mob code

* Update

* Documented mob_helpers poorly

* Brief treatise on mob movement iself

* sdfasdf

* Add title to treaties

* Move readme file for say

* more say stuff for mobs

* Document login and status procs

* Add some goddan links like a boss

* Document some atom vars
2019-07-11 11:39:56 -04:00
vuonojenmustaturska
2219250476 remove /client/mousemove 2019-05-23 22:28:01 +03:00
PKPenguin321
17dfb07f99 Refactors deathsounds, adds 2 new ones (lizards and borgs) (#41493)
* refactors deathsounds, adds 2 new ones
- deathsounds are sounds played when *deathgasp is used, either manually or automatically
- deathsounds are a var on /mob
- made xenos use the var
- removed the hack for xenos deathsound in the deathgasp emote and made it use the var
- 2 new deathsounds: one for lizards, one for borgs

* fixes and balance
- alt species now get their deathsound properly and have it set in their species datum
- people who are silent (poisoned, mimes, or otherwise) wont make a deathsound
- people who have over 50 oxyloss when they die wont make a deathsound (to allow silent kills)

* addresses review
makes some comments prettier/better, drops a .loc

* new borg deathsound
with credits.txt

* moves simple animal death_sound to new deathsound
code for simple animal deathsound has been changed around in simple_animal.dm to tie it to deathgasp like everything else
2018-11-18 17:58:27 -05:00
kevinz000
3e7184c975 Combat/Stun (slip) overhaul staging, mobility flags, adds crawling (#39967)
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.

Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove

cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
2018-10-11 11:22:21 +13:00
Emmett Gaines
e6182966cb Removes an unused movement var and proc (#40416) 2018-09-24 13:18:14 +03:00
vuonojenmustaturska
f2ed477232 [READY] playsound performance (#40045)
tl;dr: we have lists of playermobs on the z-level, which generally have fewer player mobs to iterate through. If we use them, we can get rid of the z-level checks too. On the off-chance that something plays a sound in nullspace, we can skip pretty much everything. The client-check can go too, there are no playermobs without a client.
2018-09-08 13:27:01 +12:00
Patrick Chieppe
2c8248575a Logging system refactor and improvement (#39521)
* Refactor several log lines to use datum_info_line and atom_loc_line

* Add default return strings from datum_info_line and atom_loc_line

* Add parentheses around atom_loc_line data

* Change more logs to use atom_loc_line

* Add check in atom_loc_line for turfs to avoid calling get_turf on them

* Re-add removed 'at'

* Replace datum_info_line with key_name and atom_loc_line with loc_name

* Refactor logging functions

* Avoid double-logging self-interactions

* Fallback to simple stringification if all else fails in key_name()

* Rewrite muscle spasm logging to use log_message

* Standardize logging of martial arts

* Tweak individual logging panel look

* Fix individual logging panel source

* When I typed || I really meant &&

* Fix Telecomms logging always showing client logs in the panel

* Reverts addition of buggy ownership log to panel

* Remove colon

* Fix missing log_directed_talk tag

* Add warning for missing type in log_direted_talk

* Change warnings to stack_traces

* Add square brackets around fallthrough key_name() case to help parsing

* Allow atom arguments/src in log_*() functions

* Change log_combat call with null argument to log_message

* Change mecha types' log_message() arguments to match atom and mob version

* Add key_name() case for atoms

* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it

* Fix log_globally logic

* Add logging for hitting objects with items

* Move log_combat() to atoms.dm

* Use utility functions for object stringification in log_combat()

* Use utility functions for object stringification in log_combat()

* Add missing logs for interacting with display cases

* Rewrite log_combat() comment

* Add missing space in log_combat()

* Add logging for hitting grilles barehanded

* Add missing ..()
2018-08-12 21:41:09 +02:00
kevinz000
5f4b418eaa Movespeed Modification System (#39181)
In preparation of pixel movement, I want to refactor our slowdown system to something more modular, and something that doesn't require /quite/ as many proccalls/calculations a tick. The way this works is intended to only have things recalculate when it's necessary, rather than calling it every move.
However, I've left movement_delay() in, as without completely redoing a lot of code it's not /quite/ ready at this point to tear it out completely, but I'm hoping everything can be transitioned over to this system later.
2018-08-09 16:55:15 -04:00
Tad Hardesty
47f55b48a7 Move throwforce up to atom/movable (#38689) 2018-06-26 16:26:33 -04:00
AnturK
aa04346864 Init time list on every mob! 2018-06-08 22:56:27 +02:00
Cruix
f32533130f Added an action button to change your entire chameleon outfit at once (#37953)
* Added an action button to change your entire chameleon outfit at once

* Made chameleon stamps actual chameleon items
Added stamps to bonus chameleon items on outfits that should have them
Made clothing work with hooded suits
2018-05-24 18:10:59 -07:00
kevinz000
ab993a117a Component Storage, Experimental attack_hand and [ui_]interact() refactors (#36696) 2018-04-12 14:46:14 +03:00
Qustinnus
fc391b5be4 does the thing (#36605) 2018-03-22 22:58:28 -04:00
fludd12
97534f2ac3 [Ready] Slime Crossbreeding! (Part 1 of 2!) (#35986)
* Slime Crossbreeding!

* Shifts a few things around.

* Prismatic extracts!

* Self-sustaining extracts!

* Consuming extracts!

* Recurring extracts!

* Whups!

* Regenerative extracts!

* Stabilized (unfinished)

* More stabilized!

* This took more effort than it should have.

* Industrial extracts!

* Icons!

* Colors the crosses.

* Bugfixes galore!

* Burning extracts!

* Sounds!

* Starts on burning extracts.

* Charged extracts!

* Minor adjustments to the adamantine shield.

* Fixes map! Ready!

* Fixes problem children, changes consuming extracts

* I'm an idiot.

* Fixes playsounds, unnecessary srcs.

* Removes a gross text2path

* Resolves a conflict

* More AnturK fixes.

* Fixes two other things, too.

* Burning black extracts use shapeshifting now.

* Love Potion now mostly RP in use, aligns user factions.

* Iterative discovery of status effects.
2018-03-21 21:04:26 +01:00
AnturK
343d2ab38d Allows traitor AI's to take direct control of turrets. (#36154)
* Allows traitor AI's to take direct control of turrets.

* Adds some icons
2018-03-17 11:30:41 +13:00
Cruix
dedf5f5ed9 Disease antagonist (#35988)
* Virus antagonist initial commit

* Updated disease code

* Sentient virus improvements

* Renamed /mob/living/var/viruses to diseases, and /mob/living/var/resistances to disease_resistances

* Added sentient virus event

* Renamed VIRUS defines to DISEASE defines

* Fixed bugs in rewritten disease code

* Fixed advanced disease Copy()

* Finalized disease antagonist

* Made cooldown buttons stop processing if they are removed from an owner.
Made sentient disease active sneeze and cough not available if the host is unconscious.
Made sentient disease menu refresh when adaptations are ready or hosts are added or removed.
Made sentient disease following use movement signals instead of fastprocess.

* Added better icons to sentient disease abilities
2018-03-05 13:55:10 +01:00
Cruix
26a3a378a8 Fixed instant summon behavior with simple animals (#35780)
Removed hand slots from lots of things that should not have them
2018-02-20 10:04:26 +13:00
coiax
6f65453257 Mobs start with a random nutrition amount (#34791)
* Mobs start with a random nutrition amount

🆑 coiax
balance: Mobs will now start with a random nutrition amount, between
hungry and mildly well fed.
/🆑

Basically, if everyone starts the round with 400 nutrition, then
everyone will likely get hungry at around the same time if they're
standing around. This means there's a little more variance in our
starting values, which means the kitchen could be more important a
little bit sooner.

* Forgot to save and commit the fix

* Aaaa

* Moved random nutrition to Initialize
2018-01-27 14:55:21 +13:00
ShizCalev
3f10f29d5b Shifts vars off /mob and to the correct subtype (#34773) 2018-01-24 15:58:42 -02:00
Leo
42d663ce74 Merge pull request #34769 from ShizCalev/var-cleanup
Cleans up unused mob vars
2018-01-23 10:44:17 -02:00
ShizCalev
cec47720e6 Cleans up unused mob vars 2018-01-21 23:32:23 -05:00
Jordan Brown
fec2d66318 Datum var cleanup (#34314)
* Consolidates datum var location

* Move ui_screen to /datum/tgui

* Move focusers to datum.dm. Move fingerprintslast to /atom

* Remove focusers list, makes mobs check if their focus is QDELETED in Life()

* Consolidate use_tag and var_edited into datum_flags

* Revert garbage comment

* Thought I already removed this

* Remove the var_edited preservation

* Removes focus QDELETED handling
2018-01-21 22:38:56 -05:00
kevinz000
6ebc926f00 Fixes lavaboat buckling (#34450)
* Buckle order

* lavaboats
2018-01-17 09:30:14 +13:00
Jordan Brown
a5f70b3708 Move a definition to the right file (#34288) 2018-01-11 22:30:24 -05:00
arsserpentarium
c86fc91b55 [READY]Pulling claw 2 (#33817)
Pulling claw is integrated circuit,which allows drones to pull things.
2018-01-12 09:02:56 +13:00