Commit Graph

48 Commits

Author SHA1 Message Date
SkyratBot
68f4deff40 [MIRROR] MODLink System (+ NWTLMM) [MDB IGNORE] (#23199)
* MODLink System (+ NWTLMM) (#77639)

## About The Pull Request
A pact made with `@ Kapu1178`
Small changes you should not care about:
RD MODsuit outfit (admin only) no longer has a beret that blocks the
activation of the suit
The beret used by death squad officers no longer is blocked from being
put on a hat stabilizer module
Admins can now Shear matrices of objects in Modify Transform
Multitool buffers have been a little refactored to use a setter proc
that saves them from causing hard dels
Cooler stuff:
A revival and remake of [Nobody Wants To Learn Matrix
Math](https://github.com/tgstation/tgstation/pull/59103), this time with
additional tooling for quick matrix calculations.

![image](https://github.com/tgstation/tgstation/assets/23585223/eb387738-0839-463a-aed8-4703d139b11a)
The MODLink system, available through every MODsuit and MODLink scryers
(a neck item obtainable from advanced modsuit research or
charliestation)
Let's you make a holographic call with any other MODLink user, where you
can chat in realtime and see what's up with em

![image](https://github.com/tgstation/tgstation/assets/23585223/5a822f9f-e823-497e-b766-40055f2fc0d6)
![image](https://github.com/tgstation/tgstation/assets/23585223/062983ee-6058-4e78-a3aa-bccda1a3e224)

## Why It's Good For The Game
Adds a fun way for the crew to communicate with each other that can be
done in real-time with relative privacy compared to radio.

## Changelog
🆑 Fikou, Armhulen, Sheets (+rep for Mothblocks and Potato)
fix: RD MODsuit outfit (admin only) no longer has a beret that blocks
the activation of the suit
fix: The beret used by death squad officers no longer is blocked from
being put on a hat stabilizer module
admin: Admins can now Shear matrices of objects in Modify Transform
admin: Admins now have access to Test Matrices in the VV dropdown, an
all-in-one tool for editing transforms.
add: MODLink system, available through scryers (from RnD and Charlie
Station) and through MODsuits. Lets you call people with holographs!
/🆑

* MODLink System (+ NWTLMM)

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-08-19 05:09:31 -04:00
SkyratBot
5bca535c54 [MIRROR] Fix invisible superscript characters in runechat [NO GBP] [MDB IGNORE] (#22420)
* Fix invisible superscript characters in runechat [NO GBP] (#76696)

## About The Pull Request

Fixes superscript characters from being invisible (like the asterisk
when you perform actions)

![image](https://github.com/tgstation/tgstation/assets/83487515/ea863d0d-69ab-4791-820a-717ce3a2dbd1)

## Changelog
🆑 LT3
fix: Maptext should now properly show superscript characters when
performing actions
/🆑

* Fix invisible superscript characters in runechat [NO GBP]

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-07-13 11:21:42 -07:00
SkyratBot
85faba1a0f [MIRROR] Maptext 2023: I can see clearly now [MDB IGNORE] (#22100)
* Maptext 2023: I can see clearly now

* skyrat edit

* Update tgstation.dme

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-06-27 21:05:25 -07:00
SkyratBot
6dfe17306c [MIRROR] Pulls apart the vestiges of components still hanging onto signals [MDB IGNORE] (#21738)
* Pulls apart the vestiges of components still hanging onto signals

* update modular

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-06-18 13:18:23 +00:00
SkyratBot
1f0bf950ed [MIRROR] Fix runtime with chat messages deleting when their clients do [MDB IGNORE] (#21359)
* Fix runtime with chat messages deleting when their clients do (#75445)

```
 -
[2023-05-07 18:56:20.998] runtime error: Del'd before we finished fading, with 30 time left (code/datums/chatmessage.dm:81)
 - proc name:  stack trace (/proc/_stack_trace)
 -   source file: stack_trace.dm,4
 -   usr: Lloyd Moffardi (/mob/dead/observer)
 -   src: null
 -   usr.loc: the floor (113,141,4) (/turf/open/floor/iron)
 -   call stack:
 -  stack trace("Del\'d before we finished fadi...", "code/datums/chatmessage.dm", 81)
 - /datum/chatmessage (/datum/chatmessage): Destroy(0)
 - qdel(/datum/chatmessage (/datum/chatmessage), 0)
 - /datum/chatmessage (/datum/chatmessage): on parent qdel(Avylaar (/client), 1)
 - Avylaar (/client):  SendSignal("parent_qdeleting", /list (/list))
 - Avylaar (/client): Del()
```

In 85% of rounds.

This happens because when the client deletes, the chat message is
deleted with it. However, chat messages want to make sure they're not
being deleted mid-animation. These two requirements clash, because a
client can be deleted at any time during the animation. Moves the check
to only be done when the client isn't being destroyed.

* Fix runtime with chat messages deleting when their clients do

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-05-23 21:20:55 +01:00
SkyratBot
fb1342d649 [MIRROR] Removes all but the barebones timers for runechat [MDB IGNORE] (#20331)
* Removes all but the barebones timers for runechat (#74428)

## About The Pull Request

Instead of using timers to trigger the fadeout, we use animate()
We start by queuing up all our alpha fades, then if we are shortened, we
calculate the alpha we should be at, set our alpha to that, then animate
from there to 0

This requires ANIMATION_PARALLEL on the pixel offsets to ensure they
don't reset the alpha animation, and it does mean that a second alpha
animate could reset the pixels, but that's a chance I'm willing to take.

The timer work here was almost all of the cost, this should reduce the
overhead of this proc signficantly, making runechat more fit for use
under high stress.

I have got it to end slightly early, but it's very minor and I've only
seen it once, so yaknow, good enough.

## Why It's Good For The Game

Speeeed

## Changelog
🆑
refactor: runechat should be a lot cheaper on the server. I've changed
how it functions, if it behaves weird yell at me please don't just
ignore it
/🆑

* Removes all but the barebones timers for runechat

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2023-04-04 18:52:19 -07:00
SkyratBot
ec67ffb340 [MIRROR] Properly accounts for byond tick fuckery in runechat code [MDB IGNORE] (#20237)
* Properly accounts for byond tick fuckery in runechat code (#74388)

## About The Pull Request

Ok so like, the agreed upon assumption for "verb like code" (stuff that
triggers when a client sents a network packet to the server), is it runs
in verb time, that sliver of time between maptick and the start of the
next tick.
We thought MeasureText worked like this. It doesn't.

It will, occasionally, resume not during verb time but as a sleeping
proc, at the start of the next tick.
Before the MC has started working.
This appears to only happen when the tick is already overloaded.

Unfortunately, it doesn't invoke after all sleeping procs as we were
lead to believe, but just like, like any sleeping proc.

This means it fights with the mc for cpu time, and doesn't respect the
TICK_CHECK macro we use to ensure this situation doesn't happen.

SOOO lets use a var off the MC instead, tracking when it last fired.
We can use this in companion with TICK_CHECK to ensure verbs schedule
properly if they invoke before the MC runs.

Hopefully this should fix 0 cpu when running at highpop

Thanks to Kylerace and MrStonedOne for suffering together with me on
this, I hate this engine.

* Properly accounts for byond tick fuckery in runechat code

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2023-04-01 21:11:04 +01:00
Gandalf
e4b4d4d3c0 MISSED MIRROR [Lints Against Unmanaged Local Defines] (#20204)
* https://github.com/tgstation/tgstation/pull/74333

https: //github.com/tgstation/tgstation/pull/74333
Co-Authored-By: tattle <66640614+dragomagol@users.noreply.github.com>

* var stuff

Co-Authored-By: tattle <66640614+dragomagol@users.noreply.github.com>

* vars

* Update sol_fed.dm

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2023-04-01 01:15:22 +01:00
SkyratBot
6da754d0fc [MIRROR] Fix RPG Titles Runechat Offset [MDB IGNORE] (#19392)
* Fix RPG Titles Runechat Offset

* Update code/modules/events/wizard/rpgtitles.dm

---------

Co-authored-by: Roryl-c <5150427+Roryl-c@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 05:13:16 +00:00
SkyratBot
a388d294a6 [MIRROR] Saycode refactor, unit tests, and fixes [MDB IGNORE] (#18032)
* Saycode refactor, unit tests, and fixes

* parrot

* SR tweaks

* say tests from pstream/71873

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-12-15 15:00:29 -05:00
SkyratBot
b9b6a803b0 [MIRROR] Throws a bunch of parenthesis around to ensure dear Aunt Sally is always properly excused. [MDB IGNORE] (#17654) 2022-11-22 19:44:59 -08:00
SkyratBot
431478f390 [MIRROR] Adds 5 new Heretic spells. Rebalances some aspects of Heretics. Refactors some spells as well, and makes it so emote spells require free hands. [MDB IGNORE] (#17658)
* Adds 5 new Heretic spells. Rebalances some aspects of Heretics. Refactors some spells as well, and makes it so emote spells require free hands. (#71044)

## About The Pull Request

- Adds 5 new heretic spells!
- For Flesh: Flesh Surgery. This spell is a touch spell that can either
be used to heal your minions or extract organs from mobs.
- For Void: Cone of Cold. This is a simple spell - it shoots out a cone,
of cold, that freezes and damages people caught in it.
- For Ash: Volcano Blast. This spell functions like Tesla Blast, but
instead of electricity, it shoots out of a beam of fire that hurts to
walk over.
- For Blade: Realignment. Think of this like "Fleshmend but for stuns /
stamcrit". It rapidly regenerates stamina damage and reduces stuns,
while making you a pacifist. It can also be cast in rapid succession,
but this will increase the cooldown.
- For Rust: Rust Construction. Point at a rusted tile, and a wall will
be raised where it was instantly. This even damages people and throws
them aside - Or, if on a multi-z map, can lift up.

- Number of influences has increased.
  - 5 at 1 heretic
  - 9 at 2
  - 12 at 3
  - 14 at 4
  - 15 at 5
  - 16 at 6, and so on

- Heretics are given a 5th sacrifice target, selected randomly. On
average an additional sacrifice is needed for their objectives.

- Being sacrificed grants you a permanent phobia of the supernatural.
Phobia of the supernatural has been expanded to cover heretic items and
mobs.

- The equation for offhand damage of blade heretics was tweaked. Actual
result unchanged, it's just more resilient to future changes now.

- Touch spells were refactored a bit, and overall expanded to be easier
to use

- Charged spells were added, and charged beam spells. Tesla blast uses
this.

- Cone spells were refactored to be easier to setup.

- Jaunting will now hide your runechat when it triggers, to make it less
easy to follow.

- Heretic Ghouls now take less stamina damage based on how low their
health pool is.

- Emote based spells now require hands to be unblocked to be cast, like
mime spells.
- Yes this gets rid of handcuffed invisible walls... Not 100% on this,
but I figured it's good for consistency? Open to discussion

## Why It's Good For The Game

A lotta feedback has passed through about heretic and it's time to
address some of it

- Problem: Not enough cool flash spells. Makes Focus not worth it.
   - Solution: Adds some more spells to encourage focus use.

- Problem: Sacrifice targets being too willing or not harmed enough
   - Solution: A permanent trauma.

- Problem: Not enough ways to power up.
- Solution: Adding more influences around, though I think there should
be more variety in knowledge rituals as well.

- Problem: Ash Passage sucks
   - Solution: Makes it a smidge better to stay hidden with it.

- Problem: Heretic Ghouls get one hit by batons
- Solution: Stamina modifier should put them on par with unmodified
humans.

## Changelog

🆑 Melbert
add: Added five new heretic spells, one for each path. They come after
the Ritual of Knowledge.
add: Cone of Cold, for Void heretics. Shoots out a freezing chill in a
cone which deal damage and freezes.
add: Flesh Surgery for Flesh heretics. A touch spell which can either
heal minions or be used on mobs to extract organs without surgery.
add: Volcano Blast for Ash heretics. A beam spell, like Tesla Blast,
which fires out a beam of fire that bounces between people.
add: Realignment for Blade heretics. Fleshmend, but for stuns and
stamina damage. Makes you a pacifist, but rapidly regenerates stamina.
add: Rust Construction for Rust heretics. Places a wall of rust on the
target rusted flooring. Can even be used to ascend z-levels!
balance: Nerfed the cooldown of Cleave slightly, buffed the cooldown of
Lesser Cleave slightly.
balance: Slightly more influences will spawn on the station per heretic.
balance: Heretics require an additional sacrifice on average for
ascension, but are given a fifth sacrifice target (randomly selected).
balance: Being sacrificed by a heretic now gives you a permanent phobia
of spooky things, including heretic mobs and items.
balance: Heretic ghouls now take reduced stamina damage, depending on
how small their health pool is.
balance: Using Jaunts will conceal your runechat for their duration.
balance: Spells which require emoting (Mime spells) require your hands
not be blocked to use.
refactor: Touch Spells were improved a bit. Added some new template
spells - Charged spells, and Charged beam spells.
fix: Fixes a runtime from losing heretic.
/🆑

* Adds 5 new Heretic spells. Rebalances some aspects of Heretics. Refactors some spells as well, and makes it so emote spells require free hands.

* MIRRORS tgstation/tgstation#70561

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-11-22 15:32:52 -08:00
Zonespace
f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
SkyratBot
59dc5c36b7 [MIRROR] Cleans up the fallout from plane cube [MDB IGNORE] (#17003)
* Cleans up the fallout from plane cube (#70235)

* Cleans up the fallout from plane cube

Alright.
Makes cleaning bubbles respect planes
Adds support for updating overlays on move, fixing an issue with pointing at items
Adds better error messages for failing to provide args for mutable_appearance()
Fixes a bug where string overlays were not respecting insertion order

* Adds documentation for offset spokesman and offset_const

* Better stack trace

* Removes some redundant uses of cached MAs

At this scale, attempting to cache MAs like this has 0 impact on anything
And just makes things more messy then they need to be

* ensures fullscreen objects START offset, so things are always proper

* ensures chatmessages always have the right offset

* fixes compile

* whoops, the above lighting plane should actually be ABOVE the lighting plane

* fixes compile, also cleans up the fire overlay a tad

* Adds a unit test for plane masters that are shrunk by multiz being double shrunk

This is slightly hacky because of how I'm handing the plane master
group, but it's not THAT bad, and gives me some real good coverage

* Properly targets the seethrough plane at the game world plate. This fixes unit tests, and also just makes more sense

* whoops

* oh

* adds datum support for allocate(), cleans up a harddel from testing

* Makes camera chunks index at 1, and also makes them support non powers of two sizes, since that was unneeded

* fixes runtime in allocate

* Cleans up the fallout from plane cube

* liquid tweaks

* oop

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-19 19:43:05 -04:00
SkyratBot
08620d5109 [MIRROR] Fixes negative value being passed to runechat fade animation timer [MDB IGNORE] (#16982)
* Fixes negative value being passed to runechat fade animation timer (#70531)

* Fixes negative value being passed to runechat fade animation timer

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-19 11:16:37 +01:00
SkyratBot
d7c9ed4afb [MIRROR] Quickie runechat op [MDB IGNORE] (#16940)
* Quickie runechat op (#69137)

reintroduces the intermittent queuing behavior found in #65791 since i can actually recover that part. now after MeasureText() puts us in the player input portion of the tick it will queue a callback for the next tick to resume chat message creation

generate_image() is a highly overtiming proc, now its less so

* Quickie runechat op

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2022-10-18 02:20:25 +00:00
SkyratBot
9bf006d189 [MIRROR] Multiz Rework: Human Suffering Edition (Contains PLANE CUBE) [MDB IGNORE] (#16472)
* Multiz Rework: Human Suffering Edition (Contains PLANE CUBE)

* skyrat changes

* bodyparts merge

* unres door floorlight fix

* Future upstream fix for blindness

* upcoming upstream airlock fix

* fix button emissive

* Fix FOV markings?

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-02 23:30:09 -04:00
SkyratBot
def879e5b4 [MIRROR] Refactors admin PMs to be hopefully more resilient [MDB IGNORE] (#15348)
* Refactors admin PMs to be hopefully more resilient

* autoconflict resolution

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-08-04 15:47:52 +01:00
SkyratBot
c621f5de1c [MIRROR] Refactor: make SSrunechat to be subsystem of SStimer [MDB IGNORE] (#11458)
* Refactor: make SSrunechat to be subsystem of SStimer (#64366)

* Refactor: make SSrunechat to be subsystem of SStimer

Co-authored-by: Aziz Chynaliev <azizonkg@gmail.com>
2022-02-14 06:08:27 +00:00
SkyratBot
48fd97f1be [MIRROR] Fix runechat height-offset only reading your own offset value [MDB IGNORE] (#11107)
* Fix runechat height-offset only reading your own offset value (#64507)

#63848 reads owner and not target

* Fix runechat height-offset only reading your own offset value

Co-authored-by: ghost sheep <donniescatch@gmail.com>
2022-01-29 17:18:22 +00:00
SkyratBot
ee7f38dadb [MIRROR] Fixes balloon alerts sourced on turfs (heavy rain edition) [MDB IGNORE] (#11104)
* Fixes balloon alerts sourced on turfs (heavy rain edition)  (#64472)

Balloon alerts sourced from turfs will now properly only show on one turf.
get_atom_on_turf() will now CRASH() if passed a turf instead of an atom/movable. I look through all uses and made sure any place that may send a turf won't, but it SHOULD be fine.

* Fixes balloon alerts sourced on turfs (heavy rain edition)

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-01-29 13:18:44 +00:00
SkyratBot
141cfba942 [MIRROR] Sets runechat's offset vars to nicer ones [MDB IGNORE] (#10507)
* chatmessage.dm offset adjustment (#63848)

changes the pixel_y and pixel_x of a 'message' to maptext_width and maptext_height instead of bound_width and bound_height.

* Sets runechat's offset vars to nicer ones

Co-authored-by: ghost sheep <donniescatch@gmail.com>
2022-01-07 11:57:45 +00:00
SkyratBot
124ddd7cca [MIRROR] tgui Preferences Menu + total rewrite of the preferences backend (#8153)
* tgui Preferences Menu + total rewrite of the preferences backend

* nah, we dont need to ping those people

* trying to remove the funny stuff

* unmodularizing this

* prefs reset

* this may need to be reverted, who knows

* okay, this part

* perhaps

* EEEEEEEEE

* unsanitary

* E

* Stage 1 + loadout system

* more fixes

* E

* I mean, it launches?

* More fixes and reorganisation

* E

* customisation code is spaget.

* disable ERP prefs

* Update erp_preferences.dm

* Update erp_preferences.dm

* E

* Slowly getting there

* It may be time for help :)

* tri...colors... help

* preferences now pass preferences

* Update dna.dm

* Fuck this man

* missing savefile return, set_species works, removed dumb stuff from updateappearance

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8199

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8224

* https://github.com/tgstation/tgstation/pull/61519

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8278

* e

* le butonAZARAK HELLO

* hhh

* Proper recognition where it's due, MrMelbert!

* EEEE

* examine block

* Better gen hit sounds from whitedream

* final loadout touches, more bug fixes im sure to come

* i said there would be bugfixes

* Update LoadoutManager.js

* Missing preferences in the html menu

* LIVE TESTING PHASE BABY

* Update LoadoutManager.js

* EEE

* LAUNCH TEST FIRE

* Update job.dm

* Update new_player.dm

* 50gb DAY ONE PATCH

* EEE

* Update preferences.dm

* buggle fixes

* Update examine.dm

* >LOOC starts on

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-09-23 00:40:37 +01:00
SkyratBot
3726775b5c [MIRROR] Ports text emphasis from TGMC (who ported it from Citadel) (#8266)
* Ports text emphasis from TGMC (who ported it from Citadel)

* e

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-19 22:48:48 +01:00
SkyratBot
df651808d4 [MIRROR] Drastic Lag Mitigation Subsystem: SSlag_switch (#6786)
* Drastic Lag Mitigation Subsystem: SSlag_switch (#59717)

Requested by oranges and inspired by the upcoming event. A new subsyetem, non-processing (for now), aimed at providing some toggle switches that can be flipped as a last ditch effort to save some CPU cycles by sacrificing some non-critical mechanics. Below you can see each individual toggle.

Screenshot of the admin panel:
image
Surely there are more opportunities for toggles I missed, but adding new ones is not very difficult at all.
Why It's Good For The Game

Better performance during extreme pop, I hope.
Changelog

cl
code: Introduces the Lag Switch subsystem for when a smoother experience is worth trading a few bells and whistles for. Performance enhancement measures can be togged by admins with the Show Lag Switches admin verb or enabled automatically at a pop amount set via config.
config: Added a new config var: number/auto_lag_switch_pop

* Drastic Lag Mitigation Subsystem: SSlag_switch

* mirrored the changes to the modular file

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-07-08 03:24:16 +02:00
Gandalf
778a589555 Removes a lot of redundant non-modular changes and maybe fixes cleanbots (#6615)
* oof

* Update _ai_controller.dm

* no need for this anymore
2021-06-30 21:50:50 +02:00
Matthew J
aac40d2ed3 [TM-ONLY][DNM] Attempts to remove all instances where a list is accessed with a '?' (#5932)
* I hate TGUI even if its better than what we had before

* this is why linters exist

* you need to be a Head or the Warden to get items

* does this please you linter?

* foundation

* basic interactions

* yea I can spell okay?

* linters please leave me alone

* begone debug code

* if you are dead, no interacting

* linters leave me alone

* linters are stealing my soul

* forgot to do this

* sound framework, probably wont work though

* max length, and interaction cooldowns

* message can now be a list and minor code improve

* I am a slave and linters are my master

* fix improper static reference

* add json loading/saving functionality

* default for message is now a list

* jsonize def interactions; implement requirements

* bad

* bug fix; CtrlShiftClick to interact

* minor qol fix

* fix CtrlShiftClick and remove debug code

* haha docker has security measures

* this was painful

* why are you in this branch

* begone

* bruh

* begone

Co-authored-by: Matthew <matthew@tfaluc.com>
Co-authored-by: Matthew J <GoldenKeyboard@users.noreply.github.com>
2021-05-25 16:26:39 +01:00
SkyratBot
dfc98d1b1a [MIRROR] Balloon alerts - Text for minor actions w/o other feedback (#5817)
* Balloon alerts - Text for minor actions w/o other feedback (#59130)

Currently only applies to beakers changing amounts as a proof of concept of an action that we can't really provide any non-text feedback on, as opposed to something you could have different sounds for.

Inspired by SS14.
Why It's Good For The Game

In the right place, balloon alerts will let you keep your eyes on the game itself, rather than constantly looking at the chat. This is especially important when chat messages will collapse into each other. This is in most cases warranted, but can make other cases (such as changing beaker amounts) confusing.
Changelog

cl
qol: Changing a reagent container's transfer amount will now give you feedback in the form of text on the container itself.
/cl

* Balloon alerts - Text for minor actions w/o other feedback

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-05-20 22:56:16 +01:00
SkyratBot
59f0b11a42 [MIRROR] Tidy HTML folder (#5597)
* Tidy HTML folder (#58761)

This PR aims to make the HTML folder a little more organized, as well as remove a few unused files.
Why It's Good For The Game

Doesn't change anything for the player, however makes the files more organized.

* Tidy HTML folder

Co-authored-by: Celotajs <81999976+celotajstg@users.noreply.github.com>
2021-05-10 22:47:02 +01:00
Gandalf
d14f4ea7c9 Revert "Revert "[MIRROR] Layer overhaul (#4503)" (#4509)" (#4536)
This reverts commit b27ede689e.
2021-03-31 02:08:56 +01:00
Useroth
b27ede689e Revert "[MIRROR] Layer overhaul (#4503)" (#4509)
This reverts commit 8ac892d340.
2021-03-30 23:45:08 +01:00
SkyratBot
8ac892d340 [MIRROR] Layer overhaul (#4503)
* Layer overhaul (#57915)

## About The Pull Request
Changes up some layer and plane defines for no particular reason lol

## Why It's Good For The Game
Planes actually override layers, and layers control ordering within planes. A lot of the usage of plane and layer was wholly unnecessary. This refactor helps future maintainability while also being needed staging for _future features._

* Layer overhaul

* aaaaaaaaa

a

Co-authored-by: Rob Bailey <actioninja@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-03-29 16:36:36 +01:00
SkyratBot
3b85cf1430 [MIRROR] Addiction rework (#3445)
* Addiction rework

* a

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-17 14:26:44 +00:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
9dfb7a1189 [MIRROR] Everything that uses maptext now uses the class that makes it actually readable (#2116)
* Everything that uses maptext now uses the class that makes it actually readable

* Update chatmessage.dm

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-12-11 00:40:04 +00:00
SkyratBot
c487c73f39 [MIRROR] Grep for space indentation (#1969)
* Grep for space indentation

* aa

* Update species.dm

* Update species.dm

* Update maps.dm

* Update examine.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-01 12:26:41 +01:00
SkyratBot
5429448584 [MIRROR] Add language icon to runechat (#1463)
* Add language icon to runechat (#54318)

Runechat will now show what language you're speaking in where appropriate.

* Add language icon to runechat

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-10-25 11:13:17 +01:00
SkyratBot
991c7c6306 [MIRROR] Adds a runechat plane to fix the issues related to the chat messages (#1428)
* Adds a runechat plane to fix the issues related to the chat messages (#54522)

Previously your chat messages would be obstructed by the blackness of blocked turfs, aswell as dark lighting and some other effects. This fixes that
It still has backdrop ambient occlusion like it used to.

* Adds a runechat plane to fix the issues related to the chat messages

Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-22 23:03:03 +01:00
Gandalf
8f9d2a6b10 Loudsay and font formatting. [SEMI-MODULAR] (#1033)
* aaaa

* Update readme.md

* undo tickets

* Update adminpm.dm

* Update admin_verbs.dm

* sss
2020-10-01 03:00:00 +02:00
SkyratBot
fe5e4f1cd1 [MIRROR] Runechat fixes spans in messages (#876)
* Runechat fixes spans in messages (#53809)

Prevents spans from showing up in runechat, this can happen from items like the recorder and how it stores messages.

Fixes #53799

* Runechat fixes spans in messages

Co-authored-by: NightRed <nightred@gmail.com>
2020-09-20 00:35:03 +01:00
SkyratBot
6c71d07649 [MIRROR] Adds Time-Based Layering to Runechat Messages + Refactoring (#457)
* Merge pull request #52959 from bobbahbrown/runechat-changes

Adds Time-Based Layering to Runechat Messages + Refactoring

* Adds Time-Based Layering to Runechat Messages + Refactoring

Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>
2020-08-21 14:24:04 +01:00
SkyratBot
e65a48e91f [MIRROR] Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#430)
* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)

Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.

Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.

This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.

To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.

Requested by @optimumtact.
Changelog

cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl

* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-19 20:17:28 -04:00
SkyratBot
0526e7724f [MIRROR] Runechat now shows on the thing the talker is in, rather then on the talker themself (#304)
* Changes the object runechat applys to from the thing that said something to the thing sitting on the turf the thing that said something is in (#52738)

Changes the object runechat text is overlayed onto from the talker, to the closest thing to the turf the talker is in.
This means if someone is talking in a locker, you can see it. Ditto for radios in people's packs.

* Runechat now shows on the thing the talker is in, rather then on the talker themself

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-12 11:30:06 +01:00
Bobbahbrown
942520472f Adds Runechat Subsystem - Deprecates Use of Timers for Runechat (#52425)
* first pass

* one wacky dot

* documentation

* we're the garbage man now

* doc update

* couple of bugs never hurt nobody
2020-07-25 09:57:49 -04:00
L
9ee2907a68 runechat emotes 2020-07-19 22:11:44 -03:00
LemonInTheDark
d3f9b70c0f Adds a message modification packet to saycode to allow for unordered parsing of operator chars, like ;, #, :, or % (#51790) 2020-07-18 18:18:23 +02:00
Bobbahbrown
af67cbf66e Fixes Null Reference + Qdel Issue in Runechat (#50830)
* runtimes bye bye

* rohesie wants it this way

* oranges fixies

* more rohesie suggestions

* cleanies

* on parent qdel moment
2020-05-02 21:23:20 -03:00
Bobbahbrown
6578479184 [READY] Runechat: 'Runescape-like' Chat Message Overlays (It's back!) (#50608)
* first-version

* let's do those recommendations first

* color moment

* reorganization, prefs

* certified layer moment

* virtual speakers BEGONNE

* remove naughty bits, better sizing

* gimme the message mode

* rename that pesky pref and hide chat bubbles

* exponential decay moment

* async moment

* fixes

* fixes

* the players have decided they don't want to hear themselves on radio

* Fix bug with holograms incorrectly rendering messages

* rohesie's suggestion

* Color tweaks

* hallucinating now shows message properly

* pref moment

* updates

* rohesie's suggestions

* fix moment number 5

* less smelly more epic

* unfix the fixes and refix them

* a conscious change

* return of the prefs
2020-04-25 15:48:10 -03:00