Commit Graph

65 Commits

Author SHA1 Message Date
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
ShizCalev
6a2f7ec3cf Fixes jaunting mobs being unable to move through bar tables (#51947) 2020-07-02 13:15:35 +08:00
Emmett Gaines
d0870a95ac Makes Crossed and Moved should call parent (#49671) 2020-03-05 10:25:24 -05:00
MrPerson
26093e5ac2 Further update_icon splitup (#48784)
* Further update_icon splitup

After this there'll be just under 100 old update_icon() calls that need fixing.

* Thanks Travis
2020-01-22 10:18:05 -05:00
Emmett Gaines
53024590de Can pass refactor (#48659)
* Makes all CanPass procs call parent

* Makes CanPass more extendable and gives the mover a say in the matter

* Replace CanPass with CanAllowThrough to use the new system

Regex replace `(?<!proc)/CanPass\(` => `/CanAllowThrough(`

* Simple optimization pass
2020-01-08 21:31:49 +01:00
cacogen
6b63bf7093 Changes $1 to 1 cr (#48414)
* $ to cr

* Payday messages use a proper span instead of asterisks
2019-12-28 16:29:36 +02:00
cacogen
e3b8829be3 Luxury shuttle improvements (#48395) 2019-12-28 05:09:30 +01:00
Arkatos1
1ee52400f1 Barmaid/Bardrone godmode tweak (#47531)
* Bardrone and barmaiden lose their godmode if they are not in the escape shuttle

* Comsig version
2019-11-03 17:17:14 -08:00
nemvar
a148cae769 Kills obj/item/projectile in favour of obj/projectile (#46692)
* Kills obj/item/projectile in favour of obj/projectile

* Resolves conflicts properly

* fixes that one map

* it lives
2019-10-06 13:37:24 -04:00
AnturK
694aa90ac0 Fixes centcom bar runtime. (#45917) 2019-08-17 00:39:39 -07:00
cacogen
fef6bfe237 Makes luxury shuttle more user friendly (#45084)
* makes luxury shuttle more user friendly

* Makes it so change is placed in-hand, slimes aren't told to pull something when they can't and dragged IDs override worn IDs so a bank account is looked for on them instead

* Makes it so if the change doesn't go into a human's hands, they will be pulling it behind them instead.
2019-07-13 21:42:41 -07:00
vuonojenmustaturska
43548d4015 Fixes wabbajack altar becoming too inert (#44002) 2019-05-18 15:29:15 -04:00
vuonojenmustaturska
fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
coiax
881e8c1ab9 Refactors NODROP flag into TRAIT_NODROP (#42109)
* Refactors NODROP flag into TRAIT_NODROP

🆑 coiax
fix: Anti-drop implants can no longer be used to drop objects that they
were not responsible for sticking to a person's hand.
fix: Backfiring with a Barnyard spellbook will now play a spooky horse sound.
refactor: Refactors the way that "NODROP" items work to a new system,
there should be no change in functionality.
/🆑

Various items in the codebase were doing weird hoop jumps in order to
preserve the nodrop flag's state when it also wanted to change it, so I
moved it to a trait system.

I may have gone overboard with the type of unique trait sources, but
those can be changed later. My long term plan is make a general "CURSED"
nodrop origin, which means you can unlock cursed items by being hit with
a bolt of door opening or something. But that's for another PR, this has
no functionality changes, apart from some slightly modified descriptions
on cursed masks.

- Removed a bunch of redundant voice changing code for all the voice
changing animal masks, used two new clothing flags for this purpose.
- Also refactored a bit the animal masks, making new cursed subtypes that play
the sound when created.

* Drop location
2019-01-17 15:24:30 -05: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
XDTM
6f21758521 Handheld IDs are valid for authentication (#40456)
cl XDTM
tweak: Holding an ID in your hands uses it instead of your worn ID for authentication purposes.
tweak: If you don't have an ID in your id slot, the belt slot will be checked as well.
/cl

Fixes #40437

Makes sense if you want to use a specific access card without playing pocket tetris. The get_idcard has an argument for prioritizing worn id over held id, for stuff like identification.
2018-10-03 09:58:37 +13:00
XDTM
1553afab24 [Ready for review]Adds credit holochips to replace magic cash (#40462)
cl XDTM
add: Added credit holochips, a form of semi-physical currency to use in transactions. They can be generated by id cards by drawing from bank accounts and can be used to make payments.
add: There is no limit to the amount of credits that can be stored on a holochip, but being holograms they are vulnerable to electromagnetic pulses, and may disappear if exposed to one!
add: Holochips can be split with alt-click, and can be merged by clicking on another holochip.
/cl

Inserting physical cash into ids and printing it on the go is really jarring, and since we're on a sci-fi universe i think that hard-light hologram chips with encrypted credits sounds more believable.

As a plus, they don't have to deal with messy stack calculations with different denominations, and simply have a credits var that holds their amount. They change color based on the amount of cash for easy recognizability.
2018-09-26 10:35:02 +12:00
cacogen
9d258ff61b [READY] Luxury shuttle charges bank cards (#40334)
* Payment in increments, for handless mobs

* Luxury shuttle now works with bank cards
2018-09-24 19:44:09 -04:00
cacogen
11ef78f848 Luxury shuttle ticket booth now counts dragged money. Useful for mobs without hands. 2018-09-18 12:07:38 +12:00
ninjanomnom
059da44453 Converts collide back to bump and fixes double bumping in another way
This is in preparation for step_x support as the default behavior for these procs is necessary for proper functionality.

turf/Enter and atom/movable/Move default code got rewritten to replicate default byond functionality with minor changes.
2018-07-07 11:22:29 -04:00
vuonojenmustaturska
c65a99f130 Move NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 to item_flags where they belong (#38171)
* (mostly) nodrop

* (mostly) dropdel

* (mostly) abstract

* nobludgeon

* things i missed

* forgot one

* unintended changes

* energy handcuffs
2018-06-01 11:36:31 +02:00
vuonojenmustaturska
9c04ff81a0 Removes drone overlays and the associated code (#38175)
* Remove drone overlays

4* animated multidir overlays per mob is a bit much

* to the orbit with you too
2018-05-31 14:17:32 -05:00
KorPhaeron
d1e45e6541 Reorder vars 2018-05-25 08:04:40 -05:00
KorPhaeron
92d31d5318 Stops luxury shuttle forcefields from vanishing 2018-05-23 10:55:01 -05:00
kevinz000
f300a5c155 Interaction/Attack Hand Refactor (#36405) 2018-03-23 11:20:54 +01:00
ShizCalev
2abae67fd0 Cleans up goldcore defines (#33090)
* Cleans up goldcore defines

* Tweaked commentary.
2017-11-26 16:51:54 -06:00
KorPhaeron
e486cfe719 Bar Drone can't be remotely detonated (#32908) 2017-11-20 14:40:15 -05:00
ninjanomnom
436bffbb77 move shuttleRotate into the shuttle module 2017-10-04 02:54:13 -04:00
AnturK
d90363f19a Fixes more CanPass misuse (#30493)
* Fixes more CanPass misuse

* Let's not give wrong impression

* spans
2017-09-09 19:40:23 -05:00
Ian Turk
7460f2c5b8 Replaced flags with flags_1 2017-08-16 13:01:15 -06:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
Lzimann
58d0f12c5c Removes a great amount of machinery copypasta with circuitboards.
Also changes New -> Initialize in most of them.
renamed: `code/game/machinery/computer/computer.dm` -> `code/game/machinery/computer/_computer.dm`
renamed: `code/game/machinery/machinery.dm` -> `code/game/machinery/_machinery.dm`
Moved all circuitboards to a new folder at `code/game/objects/items/weapons/circuitboards`
2017-08-09 11:10:48 -03:00
Leo
ca59ca6c23 Changes all access const to be a define (#29260) 2017-07-16 18:44:23 +02:00
AnturK
d3bcb4cbf9 Removes old height parameter from CanPass proc (#29218) 2017-07-13 08:57:25 -03:00
Joan Lung
1feb0021a1 Removes now-unnecessary obj_integrity definitions 2017-07-08 14:02:50 -04:00
Joan Lung
2672d88800 Renames stun effects and changes stun input values as preliminary work for changing stuns to status effects (#28524) 2017-06-18 23:03:51 -03:00
KorPhaeron
7942aa4e5b Two more types of Legion and makes environment_smash levels into defines (#27160)
One is another small legion, but it can infest corpses, meaning it will revive other legions if you don't kill it first.

The other is a legion that creates legions. I imagine it as something super edgy like a golem made up of legions melded together.

I need sprites for both of these

Added defines for environment_smash
2017-05-21 19:51:52 +12:00
coiax
b633cd6ba2 Moves languages to a holder datum, gives mind its own language holder (#26776)
* Ghosts now have a language menu

🆑 coiax
add: Ghosts can now modify their own understood languages with the
language menu.
/🆑

- Language menu is now on /atom/movable, and can be opened by any atom
with the `open_language_menu` proc.
- Used for testing, and simulating what various station members hear.

* Language holders, I

* Language holder, II

* Dos line endings

* MIND LANGUAGES

* Fixes some mobs not having language holders in their minds

* Shadow languages

* How did you lose the holder?

* Mob level IC->Open Language Menu verb

* Gives draconic to silicons

* Lazy breeki

* Use of pre-initialized global lists for languages

* Fixes bugs with lazy holders
2017-05-05 15:12:27 +02:00
Joan Lung
228df13447 Merge branch 'master' of https://github.com/tgstation/tgstation into initialnew
Conflicts:
	code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm
	code/modules/station_goals/bsa.dm
	code/modules/vehicles/atv.dm
2017-04-25 07:32:06 -04:00
Jack Edge
f36168b854 Fixes swarmers speaking common
🆑 coiax
fix: Swarmers now only speak their own language, rather than swarmer and
common.
/🆑

- Also removes a bunch of unneeded `grant_language` procs in various mob
Initializes, this is done by the `initial_languages` var.
2017-04-22 12:47:14 +01:00
Joan Lung
db9d86a39e New() goes in the trash, we've gotta Initialize() 2017-04-19 18:22:26 -04:00
Cyberboss
9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
Joan Lung
1bedebe48c Merge pull request #25790 from kevinz000/patch-116
threshhold --> threshold
2017-04-02 22:18:34 -04:00
coiax
7554b5f454 Language datums; removes the talk wheel (#25333)
* Initial burst of languages

* Scratchings of beginnings

* Code review I

* Compilation!

* You can now understand your own speech

* Fixes whispering

* Gets typecaches working again

* Remie's `PASS`ing

* Back to pass() to stop the compiler whining

* Why can't drones check their languages

* Everyone speaks how they should

* Removes world string debug stuff

* Currently failing to massage radio code into working

* The radio transmits the languages!

* ,0 to talk common

* Replaces speech wheel with language menu

* Observers can speak all languages

* pAIs now speak languages FOREVER

* New action button for language menu

* pAIs have an action button to open their language menu

* AIs can talk and all that

* AIs have a language menu button

* Fixes supermatter making strange noises

* Fixes AI holopads

* Fixes request consoles

* Fixes bots making strange sounds

* Meaningless MMI change

* Some caching of datums

* Brains in MMIs speak common

* Ratvarian AIs can only speak Ratvarian

* Tables can speak common, apparently

* Removes var in args

* Fixes the (AI Eye) problem

Thanks to Shadowmobile for their help with this one.

* Fixes tape recorders

* Fixes humans being able to speak in languages they did not know

* Adds some new posibrain names

Honk.

* The voice analyzer replies in the language you spoke to it

* Gives swarmers only swarmer language

* `initial_languages` var.

* OMNITONGUE, clockwork restrictions

* Fixes barmaid and bardrone language abilities

* Code review I

* Omnitongue correction

* Code review II

* Removes force_compose var
2017-04-02 21:03:40 +02:00
kevinz000
ada88850da Update special.dm 2017-04-01 17:38:38 -07:00
kevinz000
54ff347edf Update special.dm 2017-04-01 17:24:06 -07:00
Cyberboss
012eaec1b9 Mob Initialization (#24840)
* Mob Initialization

* new_player Repath

* Fix the dme

* Fix the shit

* Fix a loc

* Fix another loc

* But, in my haste, I forgot the cola!

* Another loc

* ANOTHER LOC

* Further docs

* Where'd that s come from

* Fix shit

* Better
2017-03-13 20:21:12 +01:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
RandomMarine
f663e54dd2 Adds Mother Russia Bleeds shuttle 2017-02-10 22:08:58 -08:00
coiax
380334259e Luxury shuttle changes (#23903)
🆑 coiax
add: The Luxury Shuttle grabs cash in your wallet and backpack, and
shares approval between the entrance gates.
/🆑

- Luxury Shuttle grabbing cash in your wallet is self explanatory,
although we lack a "proper" cash spending system on /tg/.
2017-02-10 10:03:39 -06:00