Commit Graph

1080 Commits

Author SHA1 Message Date
Qustinnus
06171c1a79 Fix hygiene runtimes, lighten sprite (#42404)
Hygiene sprite is a bit more transparent.
2019-01-18 14:22:09 -08:00
bgobandit
aeb603cb40 Clicking the health doll lets you examine yourself for injuries (#42357) 2019-01-15 17:12:29 -05:00
Qustinnus
0de28b726a [READY]Humans now have hygiene (DOES NOT AFFECT MOOD GO AWAY MOODPOSTERS) (#41986)
cl Floyd / Qustinnus
tweak: You now have to be naked to get the nice shower moodlet, if you shower with clothes you get a bad moodie
add: Hygiene, you slowly become dirty over time, the more covered in blood you are the faster you will lose hygiene. When you are too dirty you will have a stink overlay. (Hygiene doesn't affect mood currently) It also spawns miasma slowly if you smell like shit.
add: adds NEET and neat traits. NEET's get 20 bucks social welfare extra and like being unhygienic, while neat people dislike being unhygienic and like being hygienic
/cl

This doesn't affect mood so plssss dont strawman in this PR about how I'm forcing you to shower or die or whatever

This PR is mostly visual and will allow for people to judge others for literaly being smelly as hell.

also NEET and neat traits which interact with being smelly. (neat likes hygiene, dislikes lack of it. NEETs like lack of hygiene and get some social welfare (20 bucks))
2019-01-02 01:04:51 +13:00
Kierany9
d1638a31f3 Assimilation update: Aesthetic edition (Plus ghost alerts) (#42048)
* aesthetic

* powers remove properly

* oops

* cooldown

* sanity

* mc buggo
2018-12-28 21:37:02 +11:00
nicbn
e2fed2b142 Radial tooltips are now an option for the proc (#42014) 2018-12-20 12:23:59 -08:00
YoYoBatty
7c75143e22 Changes eye blur to use byond 512 filters (#41759)
* Changes eye blur to use byond 512 filters
2018-12-15 10:42:24 +13:00
kevinz000
10d846022a [READY]MultiZ stuff - tile atmos, movement backend, falling backend, etc etc - Electric boogaloo (#40428)
Basic multiZ mob movement procs (Observers can always move)
Open space, showing what things are below it, and everything that entails. No complex support for dynamic generation just yet.
Decide how openspace should look :/

    Atoms falling through open space (NO MOB SUPPORT/DAMAGE/ANYTHING YET.)

//CANCELLED FOR ANOTHER PR - [ ] Being able to see upwards? Downwards is going to be handled by open space.

MultiZ tile atmospherics - EDIT: Working demo! https://puu.sh/B7mUs/3f6274740f.mp4
Bugtest the heck out of this trainwreck.
2018-12-11 22:09:59 +13:00
Time-Green
29ecfa47bf [READY] Goon Genetics (#41258)
GENETICS

    The random hexadecimal rng game has been replaced with gene sequencing from goon.

    Adds mutation activators and mutators

    You can now store mutations

    Everyone now has their own set of unique mutations

    Limited mutations per person to 8 (including one always being monkey)

    Adds race specific mutations (See fire breathing for lizads)

    You can inspect discovered mutations, undiscovered mutations use an alias to recognize them by

    Adds a sequence analyzer. Can be used to scan someones genes sequence. Useful for determing what mutations they can safely have and or collecting data for very difficult sequences

    Adds mutation combining. It's currently only RADIOACTIVE + STRONG = HULK (So yes you will now need 2 mutations for to get hulk)

    Adds several other mutations. Telepathy, firebreath, glowy, radioactive and strength

cl Time-Green
add: Goon genetics!
add: More mutations! Fire breath for lizards! Radioactive! Telepathy! Glowy! Strength, though its cosmetic and should be combined with radioactivity instead! Fiery sweat!
add: Adds void magnet mutation by @tralezab !
/cl
2018-12-09 23:26:04 +13:00
Nich
0f2ac26c9a adds tooltips to radials 2018-12-02 18:14:25 +01:00
Qustinnus
b9f5dbac6b Adds a new race: Ethereal (also adds wrappers for nutrition adjustment) (#40995)
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl

Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.

They have the following specifications:

    They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
    They do burn punch damage instead of blunt.
    They are weaker to blunt; especially when low on charge
    They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
    They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.
2018-11-29 10:09:56 +13:00
ShizCalev
597bf9b557 [s] Improves AI, turret, and door logging (#41327)
cl ShizCalev
admin: Fixed AI fingersprints not getting logged
admin: Fixed some door interactions not being logged at all.
admin: Turret control interactions are now in mob combat logs
/cl

Fixes #40203

Semi WIP. Good to merge for the most part, but I would like to add logging in a couple more spots.
2018-11-12 20:54:58 +13:00
skoglol
f7e2f8d7b4 Adds safer alt-click helper proc, fixed proc name, removed signal. (#41237)
cl Skoglol
code: New helper proc for alt-click turf listing, bypasses any interaction overrides.
code: Ghosts and revenants now use the new proc.
fix: Ghosts can no longer toggleopen sleepers, adjust skateboard speed or close laptops
fix: Revenant can now alt-click turf to list contents.
tweak: Revenant now slightly less nosy, use shift click to examine.
tweak: Alt-clicking the same turf again no longer closes the turf listing tab.
/cl

Fixes #22410

Use the new helper when you want something to have alt-click turf content listing, but no other world interaction.
2018-11-07 21:50:04 +13:00
nicbn
8786685898 Improves radials 2018-10-31 14:42:03 -03:00
Qustinnus
c7f18988db Adds icon for sanity (#41141)
cl Floyd / Qustinnus (sprites by Mickyan)
fix: sanity can now reach its highest level
imageadd: Adds HUD icons for sanity
/cl
2018-10-27 13:19:33 +13: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
ShizCalev
c8ca0c5d74 Fix canequip() bad arg runtime (#40767)
keyed arg 4noraisin
2018-10-08 18:32:29 -07:00
AnturK
6b83785146 Ticker subsystem cleanup (#40649)
* Removes unused vars from ticker.

* More ticker cleanup

* This too.
2018-10-06 07:51:18 +13:00
Qustinnus
b4922d96a0 Emagged clown cars now come with siege-tank mode. (#40190)
cl Floyd / Qustinnus (thx to mrdoombringer for sprite + idea)
add: The clowncar now comes with an inbuilt cannon that can be activated by emagging its circuits
fix: cars can only kidnap if they have the CAN_KIDNAP trait
fix: removes a dot too much in a to_chat in clown car actions
/cl
2018-09-28 09:23:43 +12:00
AnturK
922c1c8c54 Radial RCD Menus (#40350)
Naksu
add: RCDs now have a comfier interface
/cl

Continuation of #40044
Now includes airlock type menu and single-menu sanity.
2018-09-23 19:25:05 +12:00
MrDoomBringer
c7ef142616 [DOCUMENTED AND READY TO MINGLE](EPIC MEME VIDEO INSIDE!) NEW COOL ADMIN TOOL: ADVANCED HIGH DEFINITION SUPPLYPOD SUMMONING (also supplypod refactor) (PLEASE UPTHUMB) (#39936)
MrDoomBringer

admin: Admins can now spawn things in ICly (as well as do a bunch of other cool new stuff) using the Config/Launch Supplypod verb!

code: also supplypods have been refactored
2018-09-21 08:59:52 +12:00
yoyobatty
f7b6b1eb30 Adds mob attack signals [READY] (#40221)
* Adds attack components to click.dm

* oops

* Hopefully this is better.

* One more try hopefully

* Redundancy reduction

* More info
2018-09-13 22:17:03 -04:00
Crazy Lemon
6a93ce9d7f Ports paradise's modular buildmode (#40105)
* Ports paradise's modular buildmode

* Axes logout callback of buildmode

* AnturK's changes

- Code formatting
- Gives mob to throw args
- Selection overlays are on ABOVE_LIGHTING_PLANE to be visible on space

Other:
- Doubleclicks of observers and AI no longer "double-tap" click
intercepts
2018-09-13 10:48:37 +02:00
ShizCalev
8a7df8ba45 Makes usage of Nar-Sie consistent (#40029)
cl ShizCalev
spellcheck: Nar-Sie's name has been revised to Nar'Sie.
/cl
2018-09-08 13:31:09 +12:00
AnturK
0264c322ee Adds radial menus. (#39991)
* Adds radial menus.

* inb4 review
2018-09-01 02:31:50 +03:00
Emmett Gaines
0943e56e08 Adds the signal origin as the first arg to all signals (#39861)
* Adds the signal origin as the first arg to all signals

* Fixes some storage and nanite procs
2018-08-28 18:28:29 +03:00
Jordan Brown
debe9ac79a Merge pull request #39912 2018-08-26 17:14:02 -04:00
AnturK
b00591eea1 Makes screen objects default to hud layer instead of above. 2018-08-25 23:21:49 +02:00
Tad Hardesty
a763bbf7ef Merge remote-tracking branch 'upstream/master' into patch/zonesel 2018-08-22 12:51:48 -07:00
oranges
ae7ab84c76 Make the inventory helper overlay less impactful (#39824)
Reduces alpha and has a traffic light system for the items

-> red ghost when the item can't be placed
-> green ghost when it can
-> full solid colour item, object is in the inventory

This is so you can differentiate the ghost view from the actual object entering
the slot, which was sticky's primary complaint

I moved the cut of overlays only to mouse out, since if that somehow isn't
called we have bigger problems than overlays doubling up. INB4 this causes
server crashes.

Side bonus it removes one image operation, it's worth investigating a cache for
this as well I would say, a simple rotating buffer list of the last x many
images.

Tested and ready to go
2018-08-21 22:55:49 -07:00
ninjanomnom
1017efbb5c Makes the hover overlay vis_contents 2018-08-21 07:09:51 -04:00
Tad Hardesty
04e268b1c3 Fix deleting the cached hover overlay on mouse out 2018-08-20 23:41:46 -07:00
Tad Hardesty
f5fee4fe08 Add hover indicator for body zone selector 2018-08-20 23:36:17 -07:00
Qustinnus
b3eccaadc3 Makes some improvements to mood code (#39750)
removes useless mood events subtypes
fixes mood event timers not resetting when they get triggered again
removes the depression overlay which makes our fruit happy
2018-08-19 14:58:07 -07:00
Jared-Fogle
0308655a68 Hovering over storage slots with an item in your hand will show you if you can put the item in (#39661)
Quality of life. Sometimes I forget whether or not I can put an item in my suit storage/pockets. Note this doesn't trigger for hands.
2018-08-17 16:24:56 -07: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
oranges
9cfe6aac14 Merge pull request #39517 from ninjanomnom/remove-kevinz
Removes a couple storage GetComponent calls
2018-08-05 14:24:57 +12:00
ninjanomnom
befaa09c88 Removes a couple storage GetComponent calls 2018-08-02 00:52:12 -04:00
Garen Crownguard
44b078e5a0 Fix COMSIG_PARENT_ATTACKBY for mobs (#39468)
mob/living isnt calling the attackby signal, now it is
2018-08-01 15:21:59 -07:00
kevinz000
5b5e1ee577 Third time's the charm - Photography update: 7x7 cameras, photo logging with full metadata, persistent albums and wall frames! (#38944)
* Photography Update

* Pictures logged in their own /data/picture_logs folder rather than normal logs

* Pictures logged in their own /data/picture_logs folder rather than normal logs

* Photos broke, retrying

* Persistence stuff

* I'm almost done I promise!

* Persistence mostly working, compile, etc etc

* Persistence mostly working, compile, etc etc

* Remove something really not needed from the PR

* Prevents duplication

* default to off

* removes check tick

* increase slots in albums to 21

* Allows for singular loading

* Update camera_image_capturing.dm

* Addresses review

* Anturk

* Update camera.dm

* Update misc.dm

* Update datum.dm

* Update camera.dm
2018-08-01 14:52:41 +02:00
AnturK
be7d1b8f88 Sliding puzzle improvements (#39471)
* Sets notransform on the mob and makes few more things respect it.
* Makes if location contains any indestructible walls. (I need to switch these
  to flag instead of path checking)
* Adds it to smite.
2018-07-31 14:28:25 -07:00
Emmett Gaines
26c1031661 Refactors create_mob_hud() to add a signal (#39364)
* Refactors create_mob_hud() to add a signal

and make the mood component use it

* Register for the hud element click

* Observe observer safety
2018-07-29 17:47:16 +12:00
Tad Hardesty
68e660bd97 Fix object UIs closing when they should remain visible 2018-07-23 22:12:29 -07:00
XDTM
1532545638 Adds Rest hud button, adds small delay to getting up (#39052)
* Adds Rest hud button, adds small delay to getting up

* icons and icon code
2018-07-11 15:14:59 -04:00
Cruix
275aa2bfa2 AI detection multitools can show camera static and AI eyes (#38255)
The old color-change functionality of the multitool remains unchanged. The hud is toggled with an action button, because multitools already have an attack_self() that does something. When toggled on, you get the hud as long as the multitool is in any slot on your body.

The only way I could find to reliably show exactly where an AI is looking was to place an image on every turf they are looking at. Because AI eyes move around a lot and I do not want them placing images all over the place when they do not have to, if there is nobody in the world currently using an ai detection multitool, they will not update the images until someone is.

Only AI eyes and multicamera zones currently appear. Advanced camera consoles do not appear on the hud, and no longer trigger the proximity color change. Also fixed multitools not appearing in-hands if their icon state changed.
2018-07-08 17:19:55 +12:00
Trevor Serpas
bee0b5b2c3 Afterattack() Signal (#38606)
* adds signal and modifies each call of afterattack to call it's inherited proc

* uses new macro for sendsignal()

* map fuck

* skip precommithooks

* combine and negate 2 ifs
2018-07-07 02:00:25 -04:00
AnturK
3afa45678e No need to update pointer for mindless mobs. 2018-07-02 11:18:07 +02:00
ShizCalev
ff532a4ca4 Spellchecks TGStation 2018-06-19 18:57:44 -04:00
Tad Hardesty
64886a75e6 Block default interact when opening an unlocked uplink 2018-06-15 19:36:44 -07:00
ninjanomnom
d483ff3ef0 Regexes
`([^_\.])SendSignal\((.+?)\)` -> `\1SEND_SIGNAL(src, \2)`
`([\.\w]+?)\.SendSignal\((.+?)\)` -> `SEND_SIGNAL(\1, \2)`
2018-06-13 19:19:23 -04:00