Commit Graph

227 Commits

Author SHA1 Message Date
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
ShizCalev
18892a0dc5 Corrects inconsistent usage of 310.055, 310.15, & 310 as body temp (#34134) 2018-01-07 15:01:26 -02:00
XDTM
146d167189 [Ready Again]Refactors disabilities into lists, allowing for independent disability sources (#33055)
* Refactors disabilities into lists, allowing for independent disability sources

* defines

* Xhuiiiiissss

* living

* did that

* adjusted for traumas

* Updates pacifism and removed remove_all_disabilities from fully_heal to prevent issues.

* makes antur happy
2017-12-18 22:20:07 +01:00
XDTM
550d71167e Brain Traumas (#31727)
* Reworks Brain Damage

* mechanics

* rebalancing

* hulks in wheelchairs

* yup

* bugsquash

* Adds narcolepsy, phobias and agnosia. Not guaranteed 100% bug-free yet, testmerge at your own risk.

* lizard phobia

* Did you know there's a skeleton inside of you RIGHT NOW?

* Fixes for the new stuff

* The issue with those is that in most rounds you won't see them

I'll keep them available so they can be added manually, for example by events and such

* Goof reviews

* Brainloss is based off brain organ integrity

removes brainloss var

* Replaces some getorganslot with defines

* eyes

* put the traumas in the brainnnn

* text

* args

* Adds godwoken, puts split personality in severe, adds brainwashing

* Bluespace prophet special trauma (untested)

* Some minor stuff

* Monophobia, and tweaks

* More fixes

* fix

* a

* new tail

* Discoordination and Muscle Weakness

* thanks for the review!

* [B]oneless

* agnosia fix

* .

* go away agnosia

* pretend it didn't happen

* Shitcode-free-er

* bitwisdom

* psychotic brawling

* i guess this might be important

* latest reviews

* .

* conflict-free

* addresses it

* surgery fix

* a masterpiece

* fix

* fix again

* config

* damage formula reworked

* who needs to test anyway

* fixes some bugs

* fix 2

* proper spookin

* bluespace prophet fixes and improvements

* no bible healing

* .

* normalizes monophobia chances
2017-12-06 13:04:17 -05:00
oranges
bf9f81bf7e Merge pull request #32751 from ninjanomnom/keybindings
In-code key handling system, Take 2
2017-12-05 22:15:13 +13:00
kevinz000
5182128d2a refactors riding datums to a component, vehicle refactor staging for mech overhaul (#32249) 2017-12-04 10:33:01 +13:00
ninjanomnom
7b7b67edd8 In-code key handling system 2017-11-30 07:40:27 -05:00
ShizCalev
8eafaccc88 Cleans up unused code 2017-11-20 00:03:33 -05:00
Tad Hardesty
8423e0e685 Fix HUD conflicts and inappropriate HUD removals
The Odysseus's medical HUD and the RD hardsuit's diagnostic HUD no
longer conflict with wearing those HUDs as glasses.

HUDs from glasses are no longer removed inappropriately by taking off a
flightsuit's helmet.
2017-11-15 02:00:27 -08:00
Blute1
3a36c13cd5 Process_Spacemove proc improvement (#32515)
* changed the ability to spacewalk to a variable

This is much cleaner.

* quick fix
2017-11-08 19:02:45 -05:00
Jordan Brown
8e434b7d96 Removes duplicate typecaches (#31883)
* Audits all typecache calls for performance gains

* Fix invalid var
2017-10-23 15:24:41 +02:00
vuonojenmustaturska
032c86435c Removes mob.lastattacked and replaces lastattacker with a string (#31981) 2017-10-22 12:28:25 -04:00
kevinz000
cd5f983da4 Atmospherics Multilayer Pipes (#30972)
* 1

* rpd

* 3

* 4

* 5

* 6

* 7

* 8

* wew

* src. and underlays

* update

* woops

* misspelled params

* reviews

* fixes

* fixes

* better checks and layer crap

* Update RPD.dm

* Update pipe_construction.dm

* 3 layers, fixes

* woops i didn't update defines correctly

* dunc

* Fixes

* Fixes

* fixes

* fixes some more bullshit

* fixes

* fixes

* not needed

* makes attachment sprites prettier or uglier i dunno

* Unary flag

* sprite fix??

* fixes...

* sprite fixes
2017-10-16 23:48:48 -06:00
Ian Turk
7460f2c5b8 Replaced flags with flags_1 2017-08-16 13:01:15 -06:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
kevinz000
b09e519584 Beam Rifle Zooming Rework + Click catcher memes + bunch of other random stuff that players won't use (#28551)
Click catcher now supports mousemove/mousedrag. Basically, mouse location can now be captured even if the user isn't mousing over a visible location
    Added procs to allow for projectiles to be fired with just an angle for pixel projectiles, instead of requiring a target turf and pixel x/y
    Added procs to get angle of user's mouse from their viewpoint (Time to rework gang machine guns again!)
    Beam rifles now have different zoom modes
    Free directional zooms out and tracks the angle of your mouse from the center of the screen. However, you can't target with very good accuracy on this (Shots can't be properly aimed on non dense objects/lying down mobs.)
    Locked directional zooms like free directional but doesn't automatically turn if your aim changes.
    Center view, just increases your view in all directions (2x weaker)
    No zoom mode, in which you just retain your normal view.
    You can select beam rifle zooming rates to be instant or stepped.
    Stepped zooming rates zoom out 5 tiles per second. This will likely help with people not being able to use it without lagging because their computers aren't as beefy!
    Beam rifles no longer require zoom to be fired
    Beam rifle aiming beams now instantly update instead of on process
    Beam rifle aiming beams are now one object instead of 150. This'll help with the lag caused by it during gameplay that I've observed.
    Angular penalty reduced by 0.1 for a nice even number.
    Instances of client.view = have been replaced with client.change_view() as that'll properly update the click catcher
    Hopefully shooting yourself in the face when you hit a blob tile or whatnot is fixed with the new and improved code..
2017-07-17 12:13:03 +12:00
Fox McCloud
2cc3e9c41f Disease Refactor (#29130)
* Vomit Now Contains Viruses

* eh

* typeless memery

* Disease Refactor

* tweaks

* styling

* tweaks

* unecessary comment removal

* whoops

* fix
2017-07-15 11:08:40 -04:00
kevinz000
6539fa2cb5 Refactors flightsuit code to hopefully be less dumb (#28033)
Refactors flightsuit code to be less crappy
2017-07-11 11:23:02 +12:00
ShizCalev
59ef81245b Changes some 1s and 0s to TRUE and FALSE (#29144) 2017-07-10 10:31:34 -04:00
Matthew Walker
f3afd18551 Move eye_damage from /mob/ to eye organs (#28725)
* First test change, only damage

* take out unused var

* null check

* First test change, only damage

* take out unused var

* null check

* Fixes some wizard stuns (#28693)

* First test change, only damage

* take out unused var

* null check

* review changes

* Hate git
2017-06-27 16:51:29 -04:00
Joan Lung
deae811756 Unconscious and Knockdown are now status effects (#28696)
* Unconscious and Knockdown are now status effects

* Fixes #28628

* fixes borgs

* the terrifying second argument

* Much better
2017-06-23 12:00:49 -04:00
Joan Lung
58c054acb5 Stun is now a status effect (#28654)
* Stun is now a status effect

* I'D RATHER NOT

* smart

* very smart

* pideyview

* small fixes

* slight fix
2017-06-22 10:50:46 +10:00
Joan Lung
563f66700c Sleeping is now a status effect 2017-06-19 14:47:35 -04:00
Joan Lung
2672d88800 Renames stun effects and changes stun input values as preliminary work for changing stuns to status effects (#28524) 2017-06-18 23:03:51 -03:00
coiax
f993f9ce36 Refactors ear damage into ear organs (#26044)
* Refactors ear damage into ear organs

🆑 coiax
add: Centcom would like to inform all employees that they have ears.
add: Adds "ear" organs to all carbons. These organs store ear damage and
deafness. A carbon without any ears is deaf. Genetic
deafness functions as before.
/🆑

- `ear_damage` and `ear_deaf` vars removed from /mob.
- All mobs have a `can_hear` proc, which returns TRUE always except for
carbons.
- Carbons need to have an ear organ that has 0 `deaf` var.

- Explanation of how ear damage works is in the code, it hasn't been
changed from previously. Deafness is applied in number of Life ticks
until you regain hearing, while damage is long team, heals slower, and
when high enough, can cause flashbangs to make you go permamently deaf,
as before.

- Wearing earmuffs halves the healing time of deafness, and promotes
healing long term ear damage, as before. Earmuffs now have a secondary
flag HEALS_EARS, which currently only they own.

* Changes how soundbang deafness works slightly

* Ear organ icon

* Code review I

* Makes fully healing carbons not dependent on having a dna and species

* Gives monkeys and aliens ears

* Whoops

* Split organs into seperate files

* Tweaks.

* Un-removes brain damage lines

* Moved procs onto /mob for ear stuff

* Massages things into compiling

* Replacement of spam_flag with world.time tracker
2017-04-22 08:51:03 -04:00