Commit Graph

1665 Commits

Author SHA1 Message Date
TemporalOroboros
70d4bcaf3c Makes reagent exposure methods bitflags (#53164) 2020-08-25 16:40:15 -07:00
Arkatos1
3343863325 tgui: Shuttle Console (#53168) 2020-08-25 22:33:11 +03:00
Rohesie
988319b3e3 mobility refactor (#52929) 2020-08-24 13:56:07 -07:00
TemporalOroboros
6e950daccc Defines damage flags. (#53158) 2020-08-24 08:20:33 -03:00
Iamgoofball
bb31b6e0fb Kills bonus ore from the ORM. (#53073)
This was a mistake, and I regret doing it.
2020-08-22 10:20:08 -04:00
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
Timberpoes
d793a4c9c0 Completely remove the blood contract from the game, including the blood contract antag datum. (#53059) 2020-08-20 23:40:38 -03: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
Timberpoes
288bc5234b Reworks the Hierophant Club as a general utility item and removes attacks. (#52880)
This PR reworks the Hierophant Club into a utility item. Mining? Gone. Attacks? Gone.

In their place? 5-tile range point-and-click instant teleport similar to the ninja. Max charge is 1. Recharge time is 15 seconds.

With the removal of this bloat, the item is now small enough to fit in the average backpack.

The hiero club establishes itself as the entry-level megafauna drop from the entry-level megafauna.
2020-08-18 22:42:35 -03:00
NightRed
1bcba1863b deconstruct silo (#52923) 2020-08-17 20:22:16 +02:00
Arkatos1
2d68ac7339 Small TGUI tweaks and fixes (#52955)
* LaborClaimConsole cleanup

* UI tweaks
2020-08-15 11:38:13 -07:00
ShizCalev
d22909e35f Merge pull request #52920 from CRITAWAKETS/test-ur-peearrs
Fixes lattice and operating table smoothing.
2020-08-13 17:36:29 -04:00
Critawakets
3e3f62fe05 Fixes survival pods too! 2020-08-13 16:00:51 -04:00
Fikou
5111a36348 fixes goliath tentacle crusher trophy not working (#52893)
it checked for health - max health instead of max health - health, so it would never pass the > 0 check and even if that wasnt a thing it would just heal
2020-08-13 11:55:34 -03: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
Rohesie
b0726e032b Icon smooth refactor (#52864)
bitflag list construct added: an associative list of bitflags for cheap and quick element comparison between two lists using the same system.

    canSmoothWith list turned into a bitflag list.

    smoothing_groups list added to substitute the type path list.

    smoothing procs turned into atom procs, refactored and optimized a bit.

    smooth directions redefined in order to fit in 8 bits for a future smoothing system

    some variable names changed, foreseeing a second smoothing system

    SMOOTH_OBJ flag added, for things that need to scan turfs for smoothing. The old locate() optimization has the risk of returning false negatives by finding a child and returning null while there might be one of the wanted type as well, as it doesn't match the type exactly.

    SMOOTH_TRUE and SMOOTH_MORE condensed into SMOOTH_CORNERS. The old behavior can be replicated using smoothing groups without loss.

    Does very minor code cleanup.

    Processing-wise didn't find a noticeable difference. The system loses on init a bit by setting the bitflag_lists, and by scanning whole turf contents for object smoothing (increasing accuracy), and gains by making less checks per target to smooth, through the same bitflag_lists.

    Memory-wise there should be a small improvement, given that on the old system we had 63512 canSmoothWith lists (a few typelists, most unique), and on this new system canSmoothWith + smoothing_groups are both bitflag_lists from the same pool, totaling 46 in number.

Could be tested a bit to see if I missed any icons not properly smoothing.
2020-08-13 14:03:49 +12:00
Kyle Spier-Swenson
8df93ba39e [Ready] CDN browser assets! (#52681)
Rewrites the asset_cache system to handle sending assets to a CDN via a webroot.

see https://github.com/MrStonedOne/tgstation/blob/asset-cdn/code/modules/asset_cache/readme.md

Fixed a lot of bugs with assets, removed some dead code.

Changes:
    Moved asset cache code to transport datums, the currently loaded one is located at SSassets.transport, asset cache calls made before the config is loaded use the simple browse_rsc transport.
    Added subsystem call for when the config loads or reloads.
    Added a webroot CDN asset transport. assets are saved to a file in a format based on the file's hash (currently md5).
    Assets that don't use get_asset_url or get_url_mappings (such as browser assets referred to by static html files like changelog.html or static css files) can be saved to browse_rsc even when in cdn asset mode by setting legacy to TRUE on the datum returned by register_assets
    Added a system for saving assets on a cdn in a hash based namespace (folder), assets within the same namespace will always be able to refer to each other by relative names. (used to allow cdn'ing font awesome without having to make something that regenerates it's css files.).
    The simple/namespaced asset cache datum helper will handle generating a namespace composed of the combined md5 of everything in the same datum, as well as registering them properly.
    Moved external resource from a snowflake loaded file to a config entry, added it to resources.txt
    To ensure the system breaks in local testing in any situation that wouldn't work in cdn mode, the simple transport will mutate the filenames of non-legacy and non-namespaced assets and return this with get_asset_url.
    Simple transport's passive send of all roundstart assets to all clients is now a config that defaults to off. this is to break race conditions during local testings from devs accidentally relying on this instead of using send() properly.

cl
refactor: Interface assets (js/css/images) can now be managed using an external webserver instead of byond's one at a time file transfer queue.
admin: Adds admin verb toggle-cdn that allows admins to disable the external webserver asset transport and revert to the old system. Useful if the webserver backing this goes down (thanks cloudflare).
config: New config file, resources.txt, (must be loaded by an $include statement from the main config)
server: The external_rsc_urls.txt config has been moved to the main config system.
/cl
Porting notes:

Interface webpages must refer to their assets (css/js/image/etc) by a generated url, or the asset must register itself as a legacy asset. The system is designed to break in localtest (on simple/legacy mode) in most situations that would break in cdn mode.

Requires latest tgui.

The webserver must set the proper CORS headers for font files or font awesome (and other fonts) won't load.

/tg/'s webserver config: https://gist.github.com/MrStonedOne/523388b2f161af832292d98a8aad0eae
2020-08-12 13:51:43 +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
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
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
skoglol
9ce3040f81 Merge pull request #52727 from MrMelbert/touchyfeely
Allows blind people to touch things to examine them
2020-08-07 08:35:23 +02:00
Whoneedspacee
7c99c1f9b7 RCD Additions + Cyborg RCD Upgrades (#52018)
* adds directional window setting for normal grille window mode

adds furnishing upgrading to the rcd for chairs, stools, tables, and glass tables

both of these new introductions have their direction based on where you are facing when the timer for the build finishes

* adds the luxary rcd cargo pack with a loaded rcd, all 4 upgrade disks, and 3 extra compressed matter cartridges

* adds the furnishing upgrade to the techwebs

allows cyborgs to install rcd upgrades except silos

allows loading of metal and matter into the rcd by simply clicking on the thing you want to insert

lowers price of the cargo pack and removes the silo upgrade

adds banned upgrades var to the rcd

* you can now create windoors and deconstruct them as well

you can now deconstruct tables

doubles the price of the cargo pack for rcds

* removed cargo pack

* changes define to bitshift flags

moves matter addition to rcds to a proc on sheets

* matter amount is now a stack variable
2020-08-06 17:59:07 -03:00
ArcaneMusic
e4ee108f4e Contributes more missing belt, back, and otherwise ERRORing sprites. (#52670)
* I'm crying over all these beeeeeeelts

* Removes ?

* Provides some close enough substitutes for inhands
2020-08-06 19:23:51 +02:00
Jared-Fogle
7df16c595e Confusion will no longer continue to confuse after being cured (#52286)
* Confusion will no longer continue to confuse after being cured

* Grammar comment fix

* Move to status effect

* Remove test per request

* Make confusion a status effect, confusion curing now completely neuters the confusion

* set_confusion changes, get_confusion

* Fix confusion going down twice per tick

* Change strength = to proc

* Move procs to status_procs
2020-08-05 16:36:00 -03:00
MrMelbert
3f6e6ef5b4 Braille 2020-08-04 15:01:09 -05:00
Rohesie
6ff08e1c69 Color standardization, vars moved, and signals (#52574)
Defined all the existing light_color values.
    Moved their definitions to colors.dm
    Made white the default color. It was so already, but that was very obscured.
    Moved the atom light-related variables to the atom definition.
    Wrapped changes to variables such as light_color into procs that report the event through signals.
    Moved the light_on variable to the atom level, also adding a signal for its changing, to represent toggling lights.
    Cleaned up a little bit of code in where new variables were defined before redefinitions.

This is all atomization to reduce changes in #52413
None of this affect gameplay at all, it's all code cleaning and refactoring.

There's more colors to standardize, a search for color = will find lots of targets, and I see little need to have both the LIGHT_COLOR and COLOR patterns, but I don't want to make this PR bigger than it already is.
2020-08-04 13:59:48 +12:00
Fikou
7c00af5fbb makes it so survival pod stasis beds dont become invisible when you screwdriver them (#52604)
* makes it so survival pod stasis beds dont become invisible when you screwdriver them

* oh you motherfucker
2020-08-01 07:24:20 -03:00
ShizCalev
3eeef6c272 Cleans up some unused procs and makes is_blocked_turf a turf proc. (#52482)
* Cleans up some unused procs and makes is_blocked_turf a turf proc.

* Update code/game/turfs/turf.dm

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

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-30 02:20:35 -03:00
Rohesie
cb9f81e43c Renames smooth var to smoothing_flags (#52427)
* smooth_flags

* SMOOTH_FALSE

* smooth_flags
2020-07-29 10:19:23 +02:00
ShizCalev
dc16b06577 Smartfridges will now drop boards set to the type of fridge they were when deconstructed (#52497) 2020-07-26 13:42:39 -04:00
ArcaneMusic
a6b367f8c8 Adds an metric ton of belt sprites and suit sprites for worn objects. (#52390)
* Plant Belt sprites are fixed, Engy Sprites too

* I did belt sprites until my eyes started hurting
2020-07-25 02:58:52 -03:00
Ryll Ryll
46dd89b07a [READY] Wounds part 2: Piercing wounds, dismemberment changes, housekeeping (#51786)
* pierce the heavens

* starts doing projs

* continue pierce

* before armor

* before sharpness redefine

* rename sharp defines, before further implementation

* finishing undoing atk_type back to sharpness

* neatens up sharpness defines, FALSE -> SHARP_NONE

* more piercing, removes brute damage bleed, bubblegum no longer wound

* starts letting embeds get in on the fun

* half with embed

* work on dismembering

* continued embed work

* more moving bandaging to limbs

* more dismemberment work

* removing embed pierce stuff

* tweaking bullets

* more docs and work on dismemberment

* spans, piercing, guns

* dismemberment and scar fixes

* bee changes

* bullets embedding

* more bullet and dismember work

* dismemberment, surgery, piercing, formaldehyde,

* pleases travis

* pierce smite

* nicer on blood

* Auto stash before rebase of "tgstation/master"

* more neatening

* wounds only consider up to 35 damage, wounds on l6 and 762

* updates hulk

* balance

* defines

* lower slug to 50 brute to accommodate wounds

* adds differentiation for having flesh/bones/both in mobs

* moves scar descs to json, renames organic_state

* excises removed healing skill

* fixes logs, inconsistencies, some balance changes

* untab

* slight compress

* a

* kills pointed global list

* dmdoc

* halfway through roh

* finishes roh review

* okay NOW i finished roh's reviews

* roh roh roh your boat

* gently down the stream

* global lists

* list ops, fix scanner for bone gel improvised fix

* travis moment

* sounds added and moved

* pellet clouds can join the fun fully, slight gun balancing for wounds

* doc moment

* unconflicts myself

* update hulk

* Update code/_onclick/item_attack.dm

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

* crying ascii face

* final rohview

* oops

* final final

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-23 23:19:30 -03:00
skoglol
5a655ccf3d Merge pull request #52383 from spookydonut/leadingslash
Fix leading slashes and turn on linting for it
2020-07-23 17:35:33 +02:00
spookydonut
be4f3a4ee8 detections 2020-07-22 14:57:20 +08:00
ShizCalev
4b6500fb67 Makes all anchored changes use setAnchored(), COMSIG_MOVABLE_SETANCHORED now only sent if an AM's anchored var has changed for more reliable usage. (#52254)
* Converts everything to use setAnchored() + other fixes

* Fixed singulo debug

* singulo again

* forgot to move the vv_edit proc

* caught that this time :)

* changes

* Update code/game/atoms_movable.dm

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

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-21 02:20:26 -03:00
spookydonut
d17080167c Fix leading slashes and turn on linting for it 2020-07-21 13:02:04 +08:00
ArcaneMusic
72b7c738af Arconomy 1.0: Final Stage Capitalism (#52007)
* Part 1: Arcane is challeneged to rewrite all of economy at 4am on a wednesday, accepts

* Miasma? DUNKED
Bounties? CHUNKED
Hotel? TRIVAGO

* End of day... 2? 3? lockdown has ruined me

* Day 3. I cannot unto bogdanoff. Send help.

* So far so good.

* Day 4, in the ghost house. I've resprited a beloved machine with soul in it. There is a chance, I am losing my mind. Sometimes I hear the words, "When is economy done, arcane", and I look over my shoulder, and oranges isn't there, because he lives in New Zeland. Probably.

* We'll throw the technodes and mapchanges in too.

* Okay lets keep this a friendly debug item then

* yeah on second thought lets not make a precision testing instrument on a 50% success ratio.

* Newscaster updates.

* TGUI Rebuild 1 start counting fokes

* Runtime BEGONE FROM ME, fckn typepaths

* Cleans up autodocs, and other areas

* Updates tgui because I feel nothing anymore

* Recompiling tgui for that green check

* dunks the whole mint out of the code, get that hothead outta here.

* Green checkmark daily update.

* Should be decent from here.

* Resolves machine_design conflict

* Rebuilds TGUI again for the epic pogs

* Sweeping changes 2: See additional changelog

* Haunting insurance plus changes the define comment.

* Rounded vending prices, made bounties appear on examine, polish

* Atmos tanks now specify their mole requirements.

* TGUI 4.0 Updated.

* ACTUALLY updates to TGUI 4.0 standards.

* ThE bUiLd DiFfErS fRoM oUrS

* Ah, I didn't see the testmerge get re-upped.

* TGUI Rebuild.

* Shuffles some security-assistant bounties around
2020-07-19 13:44:25 +02:00
Aleksej Komarov
0cf00a2645 tgui 4.0 (#52085)
* tgui 4.0 hyper squash

* Upgrade dependencies
2020-07-16 20:13:04 +02:00
skoglol
33f60893f7 Merge pull request #52196 from ArcaneMusic/funnicactus
Adds Star Cacti and the Prickly Adhesion plant trait.
2020-07-16 09:00:40 +02:00
jdawg1290
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
ArcaneMusic
919f64d255 Alright cacti is probably the correct name. 2020-07-12 21:42:19 -04:00
ArcaneMusic
7890119d18 Ready made cactuses and cactus parts when we have <100 Prs. 2020-07-11 06:23:26 -04:00
Fikou
188ced8d57 makes heat protection from explorer suits a bit better (#51834)
* makes heat protection from explorer suits a bit better

* i rart
2020-07-07 10:20:57 -04:00
EdgeLordExe
3b24a4fe2f Miner to cook : Miner changes continue! (#51924)
About The Pull Request

Miners can no longer get meat hook from necropolis chest, it was moved to being a cook traitor item that costs 11tc. You know it is literally called meat hook, it is thematically better as a chef weapon.
Why It's Good For The Game

Why? just why? Who the fuck would give miners a weapon that is completely useless against lavaland mobs, but is incredibly good at killing people.
Changelog

cl
balance: Meat hook is now a 11tc cook traitor item. It can no longer be aquired from necropolis chests. sorry miners!
/cl
2020-07-07 10:51:16 +12:00
ShizCalev
395271f4b4 [s] CRITICAL CRASH FIX. adds a check_tick to mass money insertion (#52059) 2020-07-06 19:50:10 -03:00
ShizCalev
411dea9542 Merge pull request #51659 from TaG2e/master
Fixes more missing sprites and adds invisible icon
2020-07-01 11:58:17 -04:00
EdgeLordExe
bf604b00d6 [Merge Ready]Medipen middle ground, direct nerf but more versatile (#51757)
* lavaland changes

* luxury medipens

* Update code/modules/reagents/reagent_containers/hypospray.dm

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

* Update code/modules/reagents/reagent_containers/hypospray.dm

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

* e

* e

* e

* Update code/modules/reagents/reagent_containers/hypospray.dm

Co-authored-by: ラッピ from PSO2 <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: ラッピ from PSO2 <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2020-06-29 13:25:28 -04:00
TaG2e
5276005acb Reverts, changes, and fixes to sawoff and energy weapons' icons 2020-06-28 17:34:41 -05:00