Commit Graph

8833 Commits

Author SHA1 Message Date
Rohesie
eda7c6ca55 Overlay lighting component (#52413)
Sparks no longer lag, projectile beams move super smoothly, same with mobs and whatnot. This also allows for easy expansion into directional lights, field-of-view, wee-woo rotating lights or whatever.

It does have a downside: things right-clicked or checked through the alt+click tab will show the light overlay:


This is a BYOND limitation, very well worth it IMO.

🆑
add: Smooth movable lighting system implemented. Projectiles, sparks, thrown flashlights or moving mobs with lights should be much smoother and less laggy.
balance: Light sources no longer stack in range, though they still do in intensity.
/🆑
2020-08-22 14:56:38 +12:00
Rohesie
584580d664 to the base (#52917) 2020-08-21 22:48:02 +02:00
Rohesie
7859721611 Explosions SS runtime fix + code cleanup (#52894)
* runtime fix

* turf references are immortal
2020-08-21 21:57:29 +02:00
Qustinnus
87c4df3880 Food refactor part 1: Bread destruction and processable element (#53047) 2020-08-20 21:07:05 -03:00
ArcaneMusic
1352bbbb88 Arconomy Balance Pass 2: Market Tendency (#52974)
Price inflation is now based upon averages, and is now uncapped from 5.
Civilian budget is no longer the worst budget to pay out from.
Medical Civilian bounties are no longer chees-able in seconds.


* I'll pick this up later because it's going to need a UI with keyed lists

* Updated market crash and average inflation values.

* Alright, I'm confident now.

* Make the market crash end at the beginning of the event end

* And on the 2nd day, the lord spoke, "Compile"

* Division by zero protection.

* That should have been a max, smhing my smhead
2020-08-20 12:47:43 -03:00
Fikou
7c7ef11e57 adds bonesetter to omnitool settings (#53040)
* adds bonesetter to omnitool settings

* oops

* reminder
2020-08-19 22:13:41 -04:00
Jared-Fogle
45c14f6330 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
2020-08-20 09:11:28 +12:00
Wallemations
db3fe53cf8 Baseball bats have a 1% chance to be deformed on creation (#53051) 2020-08-19 16:15:04 -03:00
uomo
180ef034ba A bunch of tweaks to holsters. (#53031)
Regular holsters:

Can no longer hold pulse carbines.
Can now hold toy pistols.
Detective's holster:

Can no longer carry ALL ammo box types, it's crazy this was possible.
Can now carry all handguns instead of only revolvers, their ammo, the mini e-gun, and the toy pistol and its magazines.
Chameleon holster:

Can no longer hold pulse carbines.
Can now hold all the ammo of guns it can hold (handguns and revolvers), the toy pistol and its magazine, and the small energy crossbow.
Operative holster:

Can now hold... basically everything gun related. All guns, all ammo (except ammo boxes), all grenades.

Descriptions of all holsters changed to reflect this.
2020-08-19 15:58:40 -03:00
Krysonism
b8e128f17b New breathtaking medical stack: the mourning poultice! (#52968)
New type of medical stack, obtainable from botany: the mourning poultice.

These poultices convert 10 brute and 10 burn into oxy per application, and can be used on corpses as well as the living.

It takes 20u bungotoxin, 20u aloe juice and 20u cellulose to create one stack.

I have split all the existing medical stacks into their own dmi, stacks_medical.dmi.
2020-08-19 15:25:10 -03:00
uomo
e0520a2e10 Utility belts can now hold airlock and decal painters. (#53027) 2020-08-19 15:21:39 -03:00
ATH1909
829f305b6d bruh moment (#52661) 2020-08-19 10:38:25 -04:00
NightRed
12f8b03249 Shatter glass by slapping the floor (#52916) 2020-08-18 22:40:07 -03:00
TiviPlus
0ab4f38605 Diagonal macro thingu (#52927) 2020-08-18 22:35:33 -03:00
Rohesie
25f670f8de Opacity refactor (#52881)
Moves all opacity var manipulation to a proc which sends a signal.
    light_blocker element for movable opaque atoms made, which tracks its movement and updates the affected turfs for proper lighting updates.
    has_opaque_atom boolean replaced by the opacity_sources lazylist to keep track of the sources, and a directional_opacity which serves a similar function but also allows for future expansion with on-border opaque objects (not yet implemented).
    Some opacity-related sight procs optimized as a result of this.
    Some variables moved to the object's definition.
    A define or two added into the mix for clarity.
    Some code cleaning, like turning booleans into their defines.
    One file renamed for clarity.

Changelog

cl
balance: Mechs no longer block sight. It's a non-trivial cost for the lighting system with little to no gain.
/cl
2020-08-19 13:24:20 +12:00
ATH1909
0c1d72e333 Adds reminders as to which cult structures make which cult items (#52637)
Said reminders are present in both the descriptions of those cult structures and in the stack recipe menu for runed metal.
2020-08-18 22:22:19 -03:00
Bampotio
a334bafee9 Adds floral somatoray to botany belt (#53010)
Makes it so you can store the floral somatoray in the botany belt
2020-08-18 20:39:55 -03:00
Qustinnus
f54de4a2b8 refactors resist act to be on atom level (#53016) 2020-08-18 20:30:44 -03:00
Arkatos1
b6b9caad10 Bible Radial (#52919) 2020-08-15 11:48:37 -07:00
Arkatos1
2d68ac7339 Small TGUI tweaks and fixes (#52955)
* LaborClaimConsole cleanup

* UI tweaks
2020-08-15 11:38:13 -07:00
Fikou
8ecc06083a adds ascension achievement (#52757)
adds ascension achievement
2020-08-15 11:34:12 -07:00
silicons
16eb86ddcf Baystruments - I had two tgstation forks for some reason and had to delete one and that nuked the last PR (#51459)
Instruments and sound channels refactor.
2020-08-15 10:39:46 +02:00
CRITAWAKETS
da354ba4e2 Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam. (#52873)
About The Pull Request

This PR removes the tesla and Mrs. Pacman from the game. The title is actually misleading, the TEG and singularity are still in the game but inaccessible and the singularity no longer has its generator.

Field generators and tesla coils have been kept because shocking your fellow man is the greatest sensation of power in the world.

The overcharging delamination for the supermatter has been replaced by the release of 2500 mols of tritium at 500,000 kelvin. An engineer who's really hateful of the station can use this for fusion, if they desire. Otherwise, its a tritium fire in engineering alongside the explosion. This will probably be changed in the future to be more potent since the explosion will pretty much just space all the tritium away.

Singularities no longer produce radiation. Now, keeping one is less about making power and more about making a statement, especially since you need to delaminate an SM shard for it.
Why It's Good For The Game

Having power optimized for one generator (SM+Turbine) will allow balancing to be feasible, also oranges wanted this. The other generators may later return but with tweaked values and different roles.
Changelog

🆑
del: Nanotrasen has removed their outdated teslas, singularities, TEGs and Mrs. Pacman generators from their servers and warehouse.
/🆑
2020-08-15 10:42:08 +12:00
Aleksej Komarov
0e1b20e6db tgchat (#52426)
Replaces goonchat with a tgui based chat panel

    Fixes #52898
    Fixes #52663

It is as fast as goonchat was (if not faster in certain circumstances), and is very extensible. It has all the necessary code for sorting messages into categories, which means that one of the next features will be multiple tab support.

Additional features that you will get with tgchat right now:
    Massively faster server-side performance compared to goonchat, especially if batching multiple messages to one client.
    Message persistence across rounds and reconnects. (All messages are stored client-side in IndexedDB)
    More robust scroll tracking. If you scroll up, it will not change the scroll position on new messages like goonchat did.
    Multiple message combining. (Currently set to combine up to 5 messages over last 5 seconds).
    If using the highlighting feature, it highlights the whole message as well as the matching word.
    "Now playing" widget, with preview of the song title, a knob for adjusting the volume and a stop button.

Architecture is as following:
```
to_chat() -+
           |
        SSchat
   (queue, batching)
           |
  window.send_message()
           |
           v
+-------------+
| tgui-panel  |
|+-----------+|
|| tgchat    ||
|+-----------+|
+-------------+
```

Subsystem is basically goonchat, but without all the garbage that slows the servers down (string concatenation, double urlencoding, sanitizing, etc). Now, instead of all that, it's being slowed down by json_encode in /datum/tgui_window/proc/send_message, which IMO is completely worth it, and allows sending various templates and widgets to tgchat.

/datum/tgui_window abstracts the whole window away from you, establishes a nice message-passing interface between DM and JS, with two message queues on each side, automatically loads js/css assets for you, basically does everything. You as a developer only have to worry about sending/receiving messages and write javascript.

tgui-panel is a slimmed down version of tgui, and functions as a container for various widgets, and tgchat is one of them. It of course can be expanded with more stuff.

It's also a separate entry point and a JS bundle, so it's not bloating the main tgui bundle, and is currently sitting at about 230kB.
2020-08-14 13:21:40 +12:00
kingofkosmos
3263decaad Personalized combat messages part 2 (#52890)
Adds more "personalized" combat messages for all participants in a fight: the attacker, the victim and the spectators
2020-08-13 11:34:57 -03:00
ArcaneMusic
71660f8f10 Adds the Account Registration Machine. (#52745)
This adds the Account Registration Machine to the game, it's obtained at the computerized recordkeeping tech (Rather far in to the tech tree) and only obtained from the security lathe to prevent access from being too widespread, because I don't trust players have access to this until at LEAST half the shift has gone by. What this enables you to do is to create new accounts for blank IDs. The accounts won't have a parent payment account until actually assigned a job by a card console, but for all intents and purposes they'll act and interact like a standard, station bank account.
2020-08-12 18:43:08 -03:00
Fhaxaris
50655bfb1b Fixes sticky tape spam (#52869)
* Fixes sticky tape spam

* ok
2020-08-12 14:21:18 -03:00
Time-Green
b96829252e Plumbing teleporters (#51881)
* Makes the plumbing RCD accept every object

* Adds simple plumbing teleporter

* Polishes plumbing teleporters

* Fixes runtime

* this to src

* circuitboard doesnt need anchoring

* Fixes overlay flickering being weird

* Makes the Chemical Recipient's positioning less awkward

* Comments and documentation

* uh

* Fixes dme

* Revert "uh"

This reverts commit af6f30089f9f31d527f6ab3e2b1c72cf6ab6d60d.

* Update code/_globalvars/lists/construction.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Update code/game/objects/items/RCD.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Update code/modules/plumbing/plumbers/_plumb_machinery.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* uncasts loop

* update icons

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2020-08-12 11:37:55 -04:00
tralezab
7286a53a4f Removes annoying references from admin keycard airlocks, makes the descriptions more helpful for finding the correct door (#52846)
No more cheese and titanic keycards, they are now yellow and blue. The descriptions now point out which keycard they require in their description, because players are very forgetful and when you are clueless in space station thirteen the first thing you do is examine.
2020-08-11 22:30:14 -03:00
Paxilmaniac
0b99c5edb5 Fixes Fly Swatters Not Obliterating Spiderlings (#52857)
* snap.ogg

adds spiderlings to the list of things the swatter is strong against

* oops

forgot a comma

* epic phonepost webedit

changes one word in the item description
2020-08-11 22:27:27 -03:00
Jared-Fogle
00c593026b You can now craft cable restraints directly from the radial menu (#52614) 2020-08-11 21:54:22 -03:00
Jared-Fogle
55f38384f9 Remove reinforcement chromosomes (#52613)
Removes reinforcement chromosomes completely.
2020-08-11 21:35:12 -03:00
Jared-Fogle
e8c4b99ada Adds a sprite for advanced medkit medibots (#52775) 2020-08-11 20:02:41 +02:00
Timberpoes
8d2ebb14e8 Fixed runtime involving crew pinpointers by removing indestructibility from non-nuke pinpointers (#52845)
Remove invulnerability from crew pinpointer
2020-08-11 12:18:08 -03:00
Timberpoes
b8fcec9db0 Intercoms now have appropriate attack_tk_grab response (#52835)
Due to issues with item interaction code, this PR means the intercom is now viewable with telekinesis but is not interactable unless adjacent.
2020-08-11 12:16:35 -03:00
Jared-Fogle
3cf450d564 Give mood buff for defibbing someone (#52798) 2020-08-11 11:55:46 -03:00
LemonInTheDark
7b2ee45841 Adds a signal for storage exit and insert, uses it to make trading cards zoom properly (#52737)
* Adds a signal for storage exit and insert, uses it to make trading cards shirk properly

* Adds storage param
2020-08-11 10:47:18 -03:00
Tony
6c9175283f Lets aloe cream autorepeat when healing (#52730)
* 15

* no suture buff

Co-authored-by: bumtickley00 <pebis@lol.com>
2020-08-11 01:18:41 -03:00
Paxilmaniac
95f5490cab You Can No Longer Place Force Fields On The Same Tile As Yourself (#52569)
About The Pull Request

Adds a check to the force field projector that prevents you from placing fields on the same tile as yourself.
Why It's Good For The Game

Some people have been using this recently in fights to become temporarily unclickable, which is kinda bad if you ask me.
Changelog

cl
tweak: you can no longer place force fields on the same tile as yourself to become god for 30 seconds
/cl
2020-08-11 14:44:46 +12:00
Rohesie
8f917ff1d9 immobilized (#52578)
Adds an immobilized trait.
    Adds procs for several variable changes so we can respond to their events.
    Adds some signals for said variables changing.

Need to turn the variation in number of usable legs and arms (get_num_legs() and get_num_arms()) into events we can respond to, but they are pretty annoying to do so. Probably for a different PR.
2020-08-11 14:44:01 +12:00
KathyRyals
20989d255b Added the ability to upload honk viruses to doors, machines and computers. Added new sound_player component. (#52593)
* Added the ability to upload honk viruses to airlocks.

* Removed shoes requirements. Added charge gain sound.

* Revert "Removed shoes requirements. Added charge gain sound."

This reverts commit 641fe91a1c936c2de0cdd8104304d7f25bc831a8.

* Added ping on charge gain.

* Refactored to use components and signals.

* Now works on all machines / computers.

* implements suggested changes

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

* Moved signals around.

* WIP

* Finally added sound_playing component.

* Rohesie provides good code

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

* More Rohesie goodies

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

* Everything is fucked oh god

* Clean sweep

* Update code/game/objects/items/devices/PDA/PDA.dm

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

* Update code/game/objects/items/devices/PDA/PDA.dm

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

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-10 19:41:34 -03:00
ShizCalev
24eee0440d Fixes nations and banners not using global job lists (#52763) 2020-08-10 16:59:56 -03:00
TiviPlus
b4fe4f717b Refactors area stuff (#52751)
-bitfielded a bunch of bools on /area, I left some untouched cus they get called a lot
-Unused vars
-Fixed a var pretending to be a fake bool
-Probably more
2020-08-10 16:31:59 -03:00
ArcaneDefence
1d8af989ad Fixes some pacifism oversights (#52820) 2020-08-10 13:24:25 -04:00
Fikou
560364672f Dropping Now, Stand By For Titanfall: Mecha Orbital Pad (#52224)
* mecha orbital pad

* mecha orbital pad 2

* mecha orbital pad 3

* mecha orbital pad 4

* mecha orbital pad 5

* mecha orbital pad 6

* mecha orbital pad 7

* fixing conflicts

* Apply suggestions from code review

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

* conflicts and map and tgui and icons bro

* fix

* wa

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

* tguy

* Removed eslint ignore

Shouldn't be impacting the build.

* Update code/game/machinery/computer/mechlaunchpad.dm

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

* some fun stuff

* cool desc

* final changes hopefully

* late initalizing

* bitflags

* one last thing

* rohesie stuff

* Update tgui.bundle.js

* mm

* Update tgui.bundle.js

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-08 23:05:53 +03:00
uomo
358e549229 Petting more animals now causes floating hearts and a moodlet, borgs can now pet animals. (#52594)
* Petting.

* Oops.

* Update code/modules/mob/living/simple_animal/friendly/penguin.dm

Co-authored-by: Fikou <piotrbryla@onet.pl>

* Working on underlying redo.

* More.

* Fixing to work with new emote system.

* Move proc and defines to living instead of mob.

* ...Moves it to simple_animal instead.

* Revert cat crate fix (other PR handling), fixes emote thing.

* Appveyor did not care for that.

* Comment typo.

* Very descriptive var name.

* Borgs can now commit pet.

* sweeps up missing manual_emotes, adds a hop to link for ghosts, and moves the name preface to ghost only

* More descriptive vars and proc name.

* Better descriptive vars.

* Making the borg code slightly nicer.

Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-07 20:46:49 -04:00
Timberpoes
19c3bbde31 Cleanup up all instances of using var/ definitions in proc parameters. (#52728)
* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.
2020-08-07 12:23:42 -03:00
TiviPlus
8d72c64910 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>
2020-08-07 12:09:16 -03:00
TiviPlus
4817759fd0 Cleans up some refs (#52713)
* clin

* Might as well

* Unreferenced datums autodel + lame proc

Co-authored-by: TiviPlus <TiviPlus>
2020-08-07 11:46:44 -03:00
skoglol
4b7eeef8e3 Merge pull request #52725 from ShizCalev/pai-fixes
Pai cable fix, adds icon for when new personalities show up
2020-08-07 08:39:10 +02:00