587 Commits

Author SHA1 Message Date
spookerton 546c896455 aghost respawn confirmation 2023-09-03 22:24:00 +01:00
spookerton 072dfa3058 respawn timers are correctly applied to ghosting and observing 2023-08-14 13:31:22 +01:00
MistakeNot4892 a1092243ac Porting some Neb/Bay gluttony changes. 2023-07-31 22:16:42 +10:00
spookerton f189a48cce adds hub visibility toggling and config option 2023-04-28 18:14:40 +01:00
klorpa f445ffde0a Spelling Fixes (#8973)
* SpellingFixes

* OtherTypos

* OtherTypos
2023-04-08 21:39:28 -08:00
Atermonera fa1082881b Merge pull request #9050 from MistakeNot4892/drakemove
Move intent tweaks.
2023-03-14 00:01:26 -08:00
Atermonera 43c76279c7 Merge pull request #9043 from Ilysen/interact-message
Add interact_message proc for more flexible visible messages between two parties
2023-03-13 23:56:41 -08:00
Varlaisvea 6ebe75ca2a Taj & Tesh hearing tweaks (#8994)
* big heckin chonker ultragigamega-ears!!!!

* slight balance tweak

* tesh no longer have four ears so they no longer have superultragigamegahearing

* its ok i couldnt figure out between() either lmao
2023-03-12 11:46:31 -08:00
MistakeNot4892 db1a97868d Implementing movement system flags, fixing simplemob movement delays. 2023-03-12 01:22:03 +11:00
Ava 7e4040e76b Introduce interact_message 2023-03-09 05:58:16 -05:00
MistakeNot4892 642348983f Fixing positional custom emotes. (#9011)
* Fixing positional custom emotes.

* see_emote cleanup.

* Further refinement work on custom emotes.

* Cleaning up some custom_emote() calls.
2023-03-08 19:33:25 -08:00
Seris02 75577bd3ca cleans up so many to_chats so they use vchat filters, unsorted chat filter for everything else (#9006)
* better filters for vchat, unsorted chat filter

* adds closing tags, fixes an error I somehow missed
2023-03-08 18:57:55 -08:00
Frenjo 20cdc4b676 Converts move intents to /decl/move_intent (#8993)
* Converts move intents to /decl/move_intent

Adds /decl/move_intent/walk and /decl/move_intent/run.

Switches all move intent checks to use the new IS_RUNNING and IS_WALKING macros.

Renames and refactors /mob/living/proc/set_m_intent() to /mob/living/proc/set_move_intent(decl/move_intent/intent).

Removes the unnecessary /mob/var/m_int and associated code.

Updates all move intent setters to use set_move_intent().

* Swaps incorrect config values

Swaps incorrect move delays since I got them backwards somehow, oopsies.

* Adds suggested ?. operator

Compactifies two if statements using the ?. operator instead.
2023-03-04 14:28:10 -08:00
Atermonera e5c920e680 Axes carbon aliums, makes nymphs direct subtype of carbon (#8931)
* Axes carbon aliums, makes nymphs direct subtype of carbon

* Keep type as diona
2023-02-18 21:07:53 -08:00
MistakeNot4892 9a84667323 Reworks on-mob overlay icon generation. (#8920)
* Porting species equip_adjust from Neb.

* get_species() => get_species_name(), adds correct get_species() impl

* sprite_sheets is now crudely lazylisted.

* Adds returns to add_blood and add_accessories.

* apply_addblends now uses an overlay.

* Renames the various worn overlay procs to be more informative.

* Debugging/refining overlay gen.

* Adding handling for string icon paths.

* Refining/debugging offset overlay gen.

* Getting the offset system working.

* Commenting out Teshari offsets for the time being.
2023-02-15 18:22:42 -08:00
MistakeNot4892 44160ab8ba Enforcing no sleep during mob/Life(). 2022-10-24 16:51:32 +11:00
Spookerton 9a1b8322bd trained drakes can collect/drop items and use buttons, fire alarms, and levers (#8734)
* drakes can collect/drop items and use buttons

* add a basic implementation of mob dexterity levels

* trained drake emotes are less visually intrusive

also fixes being able to take anchored items as a drake
also fixes some double messages on drake storage
also fixes animals being able to attack/scratch doors without a cooldown
also adds optional scratch_sound on simple_mob for when scratching a door

* fire alarm & conveyor switch drake interactions

also fix runes for actions
also fix not showing progress for dropping an item

* trained drake button/inventory review tweaks

* animal harness suggestions early return tweak
2022-10-13 17:59:35 -08:00
Cerebulon c463104999 Ports Diagonal Movement (#8199)
* Ports Diagonal Movement

* Requested tweaks

* mathemagical correction

* Update code/modules/keybindings/setup.dm

Co-authored-by: Spookerton <spkrtn@pm.me>

* Update code/_helpers/type2type.dm

Co-authored-by: Spookerton <spkrtn@pm.me>

* Update code/modules/keybindings/setup.dm

Co-authored-by: Spookerton <spkrtn@pm.me>

* fixed merge error

* Fixes falling, speed calculation, and non-hotkey WASD

Co-authored-by: Spookerton <spkrtn@pm.me>
2022-10-07 23:36:14 -08:00
MistakeNot4892 68a209597c Reagent transfer to a mob is split up into a type proc. 2022-08-27 16:06:14 +10:00
atermonera 7a9806d9b4 Removes weapons 2022-04-17 19:14:32 -08:00
spookerton 602cc67d2b removed CLAMP define 2022-03-31 19:21:58 +01:00
Cerebulon 474a8c43cf Decl Music and Ported Music + Licenses (#8221)
* Decl music + ported music

* Bugfixes and not

* unit test

* debug shit + some fixes

* More Changes

* Removes some unused/extra songs in case it was a file size issue

* Nuke crash-prone songs

* Add cynosure defines

* It Just Works Now + Finished Headphone code/sprites

* requested tweaks/debug removal

* recheck dme
2022-03-12 19:45:36 -08:00
Schnayy 030741d681 fixes stray bugs 2021-09-11 01:28:49 -05:00
Cerebulon 4ff9b181e0 Throw Mode QoL Tweaks 2021-08-24 20:22:26 +01:00
MarinaGryphon 593246b595 Linter diagnostics + bans non-var relative pathing (#8150)
* Linter diagnostics + bans non-var relative pathing

* Enable DreamChecker Annotations

* make it executable

* update hashFiles

* oops

* tries to fix it... again

* trying again

* path

* repath

* fix perms

* fixes weird capitalisation issue
2021-06-20 13:14:29 -09:00
Aronai Sieyes 1fd1d84deb Runechat (#8121)
* Message piece combiner returns a list

* Emote formatter returns a list

* Port Runechat

* Various onamonapoea

* Suggested changes, small opts

* Fix chat message on different size mobs

* Couple more runefixes

* Enable encoding chat emphasis in runechat

* Remove extra asterisks from rune audible messages

* Fix runedefines
2021-06-13 22:18:43 -09:00
MistakeNot4892 3267ae47b7 Tweaks to emote system to avoid memory overhead and make runtime validation easier. 2021-05-30 23:08:24 +10:00
Neerti fdabe51ee8 Linter Introduction + Cleanup (#8085)
* Adds linter defines to repo.

* Uncomments linter defines already in the code.

* Resolves unreachable code linter errors.

* Nukes decade+ old syndie specops code except for computer since that's mapped in?????

* Resolves procs has no parent linter error.

* Proc signature fixes

* Bad comments

* "In" danger

* Type safety

* Implied nested list abuse

* Top level ..() usage

* Sleepy coder typos

* Invalid kwargs calls

* Pointless returns

* Linter hacks (see full message)

Byond doesn't care and it has no effect but linter doesn't like var/proc
for holding references to procs, despite that it's valid byond code.

Also, the linter seems to have serious issues figuring out relative
proc names. This commit is a sort of take-it-or-leave-it thing. It's not
required, it just cuts down on warnings, but this code is valid DM code.

* WHATEVER THIS IS

* Trick dreamchecker linter into ignoring this file's sins in it's weird use of vars

* Fix list decoration syntax - Its a list, not list of lists

- To declare that a var is a list you can `var/list/blah = list()` syntax or the `var/blah[0]` syntax.  Both do exactly the same thing. But if you do `var/list/blah[0]` that is just like doing `var/list/list/blah = list()`

* Hopefully stops the ai holder subtype folder from going quantum and sometimes changes capitalization over time, and incidentally causing 20+ linter errors.

* Fixes unwrapped negated object in list linter error.

* Resolves colon-like list accessing linter error.

* Turns linter on in linter config.

* Fixes closet indentation properly and cleans up suit storage unit switch.

Co-authored-by: Aronai Sieyes <arokha@arokha.com>
Co-authored-by: Leshana <Leshana@users.noreply.github.com>
2021-05-25 18:17:26 -09:00
MistakeNot4892 2b48ef76c8 Ported the Nebula emote system. 2021-03-27 10:24:14 +11:00
atermonera c9877d4001 Fixes context-menu examine expanding incorrect target 2021-03-07 21:46:19 -09:00
Schnayy ebc5263546 Merge pull request #7920 from Atermonera/ping_verb_fix
Removes ping subsystem that was breaking chat
2021-02-26 08:58:53 -06:00
Atermonera 6cb047103c Merge pull request #7917 from MistakeNot4892/psched
Deletes the process scheduler.
2021-02-23 14:22:13 -08:00
atermonera be11829f87 Removes ping subsystem that was breaking chat 2021-02-22 20:01:33 -09:00
MistakeNot4892 cb883ec78a Deletes the process scheduler. 2021-02-22 08:57:29 +11:00
Cerebulon 5fe20b543e TGUI Inventory Screen 2021-02-18 00:42:59 +00:00
Atermonera f7fec4fd67 Ports ping verb from /tg/ (#7837)
* Ports ping verb from /tg/

* Adds non-versioned files

* Removes old flag
2021-01-26 22:31:26 -08:00
BlackMajor 391f35eb5b Fixes pointing going under mobs.
See title.
2020-11-11 14:58:54 +13:00
ShadowLarkens c865af8d11 Animated pointing (#7700) 2020-10-15 02:31:21 -07:00
Atermonera d1f346d7c3 /atom/visible_message respects exclude_mobs (#7665) 2020-09-18 20:34:14 -07:00
Atermonera 5714d64b8d Actually adds (and TESTS) exclude_mobs parameter to visible_message (#7555) 2020-08-24 21:29:55 -07:00
listerla 0c6ff6f2b0 Adds audio and visual feedback to pulling.
From https://github.com/Baystation12/Baystation12/pull/29025
2020-08-11 11:41:55 -04:00
Rykka 28a7698b9e Port lots of things that had to wait on alerts
Adds a HUD for observers
Adds a HUD for rigs and mechs
Adds up/down buttons for AI hud
Add more tg style alerts
Fix some bugs with the tg alerts
Improve icon_states usage by caching it
Redo how respawning works, add a button to ghost hud for it
2020-07-30 16:23:32 -04:00
Cyantime 34a985b983 Observe improvements 2020-06-03 08:00:49 -04:00
Rykka Stormheart 8235afb3ae Merge branch 'master' into shep-dev-multicam 2020-06-01 14:23:03 -04:00
Rykka Stormheart 9917f31031 Merge branch 'master' into shep-dev-upstream-screenport 2020-05-30 06:54:08 -04:00
Atermonera 02a50d11d6 Grab movement sped up (#7223)
Wheelchairs are less hilariously buggy
2020-05-24 14:23:44 -07:00
Rykka 43c2f34529 Change return 1 to return TRUE 2020-05-23 05:27:32 -04:00
Rykka fc1d6e741c Ported /tg/ style screen alerts, replacing the hunger icon with them
This adds throw_alert() and /obj/screen/alert, a system that allows you to do custom hud alerts for any variety of things from "You're too cold!" to mecha status indicators for the pilot.

There's quite a few things that actually got replaced; the
fire/oxy/tox/co2 alerts are all now just alerts, as is nutrition. There's also a number of new alerts, such as blindness, highness, legcuffed, buckled, handcuffed, and probably some more I missed; read code/_onclick/hud/alert.dm and see for yourself!

Additionally, a number of tweaks have been done to resisting code, to make it so that there's an indicator when you're buckled or handcuffed, and can just click the alert to start resisting. This includes a refactor that combines the logic for lockers, holders all into one proc, called container_resist().

Also, the health and internals indicator got moved down one tile each. Needed room for the alerts. If we add the oxygen tank action buttons from /tg/ and remove the internals indicator, the health indicator can go back where it was originally.

Alerts, pictured in the top right.
![https://i.imgur.com/H7Bipci.png](https://i.imgur.com/H7Bipci.png)
2020-05-23 04:48:47 -04:00
Aronai Sieyes a8f3a0a7a0 Refactor move/click code 2020-05-15 10:49:27 -04:00
Rykka cc038370f9 Add AI Picture-in-Picture Mode!
This adds a system for picture-in-picture UI windows using
vis_contents. Essentially, it allows you to make UI windows that show an area of turfs. It also refactors how cameranet visibility works.

Currently, this is implemented on AIs. They gain two new UI buttons - "Enter Multicam Mode", and "Create Multicam". When they go into Multicam Mode, they see a background of animated binary numbers, and they are allowed to create an infinite amount of these picture in picture windows, which subsequently creates an AI Eye for each one. They are able to control each AI eye individually, by first clicking on the PIP window to select it as "active" and then using the normal arrow key controls. The PIP windows can be freely resized and moved around the area.

You can control everything inside these PIP windows EXACTLY the same as you can using a traditional AI Eye, as demonstrated below.

For admins, there is a config option to disable PIP entirely - simply set `var/multicam_allowed = TRUE` to FALSE if you wish to disable it from being used. (Please be reasonable.) <3

You can see an example of how this works here:
![https://i.imgur.com/TCND8W9.mp4](https://i.imgur.com/TCND8W9.mp4)

AI Multicam functionality.

Do note that if the lightbulb in the AI core is busted, the multicam room is dark(er) than it would be, but you can still see your camera windows just fine. (I'll probably fix this later.) It only affects the "matrix" backdrop, the PIP windows are still fine.

This has been runtime-tested with the latest `master` revision and produces 0 runtimes, and has no noticeable impact on server CPU usage.

Polarisport is here! Port of https://github.com/VOREStation/VOREStation/pull/7752
2020-05-10 14:00:45 -04:00