Commit Graph

98 Commits

Author SHA1 Message Date
Rohesie 80fb0d3e83 Fixes blockers blocking themselves + cleanup (#59808) 2021-06-25 13:37:46 -07:00
Rohesie 82dc71c3ae CanPass refactor (#59804) 2021-06-25 13:36:00 -07:00
LemonInTheDark 6fcbce39cd Makes turfs persist their signals, uses this to optimize connect_loc (#59608)
* Makes turfs persist signals

* Splits connect_loc up into two elements, one for stuff that wishes to connect on behalf of something, and one for stuff that just wants to connect normally. Connecting on behalf of someone has a significant amount of overhead, so let's do this to keep things clear

* Converts all uses of connect_loc over to the new patterns

* Adds some comments, actually makes turfs persist signals

* There's no need to detach connect loc anymore, since all it does is unregister signals. Unregisters a signal from formorly decal'd turfs, and makes the changeturf signal persistance stuff actually work

* bro fuck documentation

* Changes from a var to a proc, prevents admemems and idiots

* Extra detail on why we do the copy post qdel
2021-06-22 23:12:34 -04:00
Rohesie e03cd1aada Refactors move procs to support multitle objects (#59658)
Enter(), Entered(), Exit() and Exited() all passed the old loc forward, but everything except a single a case cared about the direction of the movement more than about the specific source.
Since moving multi-tile objects will have multiple sources of movement but a single direction, this change makes it easier to track their movement.

Cleaned up a lot of code around and made proc inputs compatible.

I'll add opacity support for multi-tile objects in a different PR after this is merged, as this has grown large enough and I don't want to compromise the reviewability.

Tested this locally and as expected it didn't impair movement nor produced any runtimes.
2021-06-20 14:55:37 -07:00
Rohesie 0ec599786a Adds a setter for density (#59529)
Adds set_density()
Fixes one instance of a duplicate density assignment on an object.
Comments two hacky usages of density which will have to forgo using the setter for now.

Lets us append code to the event of density changing.
Pretty sure this is leading up to some multitile object thing -Lemon
2021-06-16 15:06:10 -07:00
Watermelon914 375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
LemonInTheDark f90e8cf7a3 Fixes a bunch of harddels that are sourced from player action (#59371)
Sourced from #59118 and a cursed project I'll pr later, This pr contains a lot of harddel fixes for stuff that pops up after a player interacts with something. I'm not gonna list them all here because there's something like 60 130, check the commit log if you're curious

Oh and I moved ref tracking screaming to a separate define, and made some optimizations to the thing in general. I think that's it, this pr is a bit of a frankenstine
2021-06-10 21:44:23 -03:00
Celotajs 190d0a0384 Replace alert usage with tgui_alert (#58419)
Pretty much every alert() call is replaced with tgui_alert, except one I replaced with tgalert as a fallback. If tgui_alert exists, why not use it?
2021-05-20 22:43:27 +12:00
Kylerace 08df8798ce (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc (#58340)
Co-authored-by: Jared-Fogle <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-05-07 03:54:03 -07:00
prodirus 6cbd740455 Fix cursed slot machine icon (#58904) 2021-05-06 17:13:43 +01:00
Emmett Gaines 1c81adac8d Allows the connect_loc element to have a listener different from the tracked object (#58276) 2021-04-10 18:19:57 -07:00
wesoda25 af0162c0f8 Fixes reborn ashwalkers having galactic common (#58264) 2021-04-10 15:08:39 -07:00
Mothblocks 0d24cdea3c Remove Uncross() and CheckExit(), add connect_loc element to cover the cases we used it for (#58188)
* Remove Uncross(), add create_loc element

* Update on ChangeTurf

* Explicit return

* Hold onto elements and remove TEST_FOCUS

* Remove UNIT_TESTS compile flag

* Follow my own advice.

* Comment about Uncross + CRASH

* Remove /atom/Exit ..()

* Apply suggestions from code review

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>

* Use keyed locs

* Re-add Bump()

* Superfluous check

* Correct change turf signal, remove old continue check

* Fix compile failure

* Fix tests

* Don't create element for fulltile windows

* Correctly unregister old location

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-04-08 15:52:00 -04:00
LemonInTheDark 5c22a0cfc1 Converts many proc overrides to properly use list/modifiers, lots of other smaller things (#56847)
Converts many proc overrides to properly use list/modifiers, fixes some spots where modifiers should have been passed, calls modifiers what it is, a lazy list, and cleans up some improper arg names like L, M, C, and N. Oh and I think there was a spot where someone was trying to pass M.name in as a string, but forgot to wrap it in []. I fixed that too.
2021-02-16 09:18:46 -05:00
Mothblocks 0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08: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
nemvar 6ef421be42 Renames a few variables. Also reorders icon fallback order again. (#51060)
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.

* Fixes some comments

* Fixes map issue

* Restart lints

* Properly resolves conflicts
2020-05-25 06:47:19 +02:00
Emmett Gaines d0870a95ac Makes Crossed and Moved should call parent (#49671) 2020-03-05 10:25:24 -05:00
zxaber de3b9a04ee Ash Walker flavor text, balance changes (#49316)
* Ashen One

May the flames guide thee

* Update code/game/objects/structures/ghost_role_spawners.dm

Co-Authored-By: XDTM <heliumt@yahoo.it>

* update

* caught it before I got yelled at

* updates

* Update code/game/objects/structures/ghost_role_spawners.dm

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Update code/game/objects/structures/ghost_role_spawners.dm

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* spaced the spaces

tab good space bad

Co-authored-by: XDTM <heliumt@yahoo.it>
Co-authored-by: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2020-03-02 19:25:33 -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
Rob Bailey 2029163d33 playsound vary boolean define conversion (#46254)
About The Pull Request

Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls

This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE

I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game

Code usability
2019-08-30 18:45:20 +12:00
oranges 57266c7d35 Merge pull request #45701 from Dennok/ChangeTurf-calls-add-keep-air
Fixes ChangeTurf CHANGETURF_INHERIT_AIR flag and add it to all calls.
2019-08-21 11:23:11 +12:00
81Denton 7b8579c17a Minor ghost notify changes (#45759) 2019-08-08 01:47:04 -07:00
Dennok d464a7c689 add flag CHANGETURF_INHERIT_AIR 2019-08-04 12:54:12 +03:00
nemvar aa7b05a551 Fixes a runtime from the ashwalker tendril (#44598)
* welp

* h

* Fixes a runtime in ash_walker_den.dm
2019-06-18 23:11:49 -04:00
nemvar 74c8498c08 [Ready]Gives ashwalkers an antag datum (#44396)
* welp

* Savages, savages, barely even human.

* Savages, savages, barely even human

* You didn't see this

* h

* bee gone

* FFS, I mixed up my... ugh

* savage

* removed test line

* Turns ashwalkers into antags

* fuck

* hjjg

* fixes stupid

* g

* h2

* Damn...

* There we go?

* If it compiles, we can ship it

* Forgot the actually remove the thingy
2019-06-14 19:48:12 +02:00
oranges cd05d64bcf Species types sources refactor (#42523)
There is now a bitflag that controls all the ways a species can be
selected from the different methods of changing species, xeno spawn,
pride mirror, magic mirror etc.

The soviet and capitalist golems are no longer selectable from the pride
or magic mirrors (just the badmin one)

interesting thing I found, androids and synths (including military
synth) are acheivable via xeno extracts!
2019-02-03 20:33:11 +11:00
4dplanner ecee915112 Makes ash walker tendrils dense (#41707) 2018-11-28 22:26:33 -05:00
4dplanner ce0828a98e Tendrils are now structure based [READY] (#41554)
* Tendrils are now structure based

* Re-adds tendril wipe achievement

neatens up ash walker variables
gets rid of unnecessary variables in hivelord

* Marks spawner children as admin spawned
2018-11-19 14:36:33 -05:00
Trevor Serpas bee0b5b2c3 Afterattack() Signal (#38606)
* adds signal and modifies each call of afterattack to call it's inherited proc

* uses new macro for sendsignal()

* map fuck

* skip precommithooks

* combine and negate 2 ifs
2018-07-07 02:00:25 -04:00
Tad Hardesty 0bac7887b1 Fix being able to pull mirage borders, others 2018-06-14 21:39:32 -07:00
ShizCalev 3abd2b6d27 Cleans up logging 2018-06-09 15:51:58 -04:00
ShizCalev c41d6ac965 Standardizes and cleans up some admin messages & logging (#38128)
* Improved logging

* Fixes & emitter logging

* ded
2018-05-30 21:57:06 -07:00
ShizCalev ba1030f803 Makes more messages pronoun sensitive (#37582)
* Makes more messages pronoun sensitive

* Some cleanup

* more pronouns

* rever
2018-05-03 18:45:55 -04:00
Fox McCloud 057aa31cda Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 15:00:23 +02:00
kevinz000 e6cbeac2b2 Fixes blueprints exploit (#36625)
* Fixes blueprints exploit

* redundent qdeleted
2018-03-29 11:35:26 +02:00
kevinz000 f300a5c155 Interaction/Attack Hand Refactor (#36405) 2018-03-23 11:20:54 +01:00
Tad Hardesty bbe4d12d13 Support stations with multiple z-levels (#35339)
* Remove ZLEVEL_STATION_PRIMARY

* Add Up and Down traits for use by ladders and chasms

* Give map_config creation its own proc

* Combine LoadConfig and ValidateJSON and remove transition_config

* Make space linkage a z-level trait

* Remove ZLEVEL_EMPTY_SPACE

* Update uses of GetFullMapPath

* Handle multi-Z stations and load Lavaland and Reebe at runtime

* Remove unused space maps

* Fix inappropriate z-expansion in map reader, improve logging

* Update comments relating to z-level configuration

* Add Lavaland and Reebe to ALL_MAPS
2018-02-15 10:21:25 +01:00
vuonojenmustaturska 6406896df1 Replaces a bunch of obj vars (and emagged on machinery/items) with obj_flags (#34078)
* It works, but is it worth it?

* bitfield helpers take 1

* Would this work?

* remove dangling debug code

* rebase & fixes

* vv bitfield stuff, reading

* DNM oceans of shitcode DNM

* honk

* honk2

* plonk

* rebase & fix
2018-01-22 20:19:46 +01:00
Tad Hardesty af7014efe9 Refactor chasm paths to be more sane (#32701)
In addition, makes chasm handling a component, so it could be reused for
chasm-likes which are not quite chasms.

Also fixes a couple of bugs relating to building on top of chasms
occasionally erasing the chasm.
2017-11-22 10:30:45 +01:00
vuonojenmustaturska a927f2a64c expand simple_animals/hostile/aistatus into a simple_animals-wide system for putting mobs into idling mode (#31778)
* Initial commit

* Time is a circus

* Send in the clowns

* i broke something

* Revert "i broke something"

This reverts commit 5a29c40d131b39effe9ebcb6c8c1883693baf07f.

* I think it works?

* cleanup

* define reminders

* Fixes tendrils and such

* sentience_act now moves the mob to AI_OFF state
2017-10-19 11:57:10 +02:00
ShizCalev 721df8dacf Cleans up some istypes not using helpers 2017-10-16 15:30:30 -04:00
kevinz000 b83d777119 Removes a bunch of sleeps/spawns and makes a few booleans defines (#31553)
* spawn/sleep removal part 1

* sleep/spawn/src. removal

* fixes type paths in timers

* Fixes some variable passing

* Why do I have to do this 20 times to get it right..?

* Why do I have to do this 21 times to get it right..?

* Update suicide.dm

* Update software.dm

* Update paper.dm

* Update cable.dm

* Update ninjaDrainAct.dm

* Update hypospray.dm

* Update vocal_cords.dm

* Update touch_attacks.dm

* Update revenant_abilities.dm

* woops

* Update revenant_abilities.dm
2017-10-14 19:53:17 -04:00
kevinz000 09b07dad64 Ashwalker tendrils now drop everything on victims before consuming (#31177)
* Update ash_walker_den.dm

* Update ash_walker_den.dm
2017-10-01 15:21:23 -05:00
Jordan Brown 41eed1ce22 Merge pull request #30079 2017-08-23 12:04:50 -04:00
shizcalev ffa5d9e388 Fixes missing inhands 2017-08-21 18:29:51 -04:00
Supermichael777 b31dc125d8 put him to the mat and start counting 2017-08-20 23:24:00 -04:00
Jordan Brown 641ba9c145 Merge pull request #29940 2017-08-17 10:13:00 -04:00
Ian Turk 7460f2c5b8 Replaced flags with flags_1 2017-08-16 13:01:15 -06:00
shizcalev 5d15fb46cb Relocates baseturf helper 2017-08-16 11:29:59 -04:00