Commit Graph

358 Commits

Author SHA1 Message Date
Ghom
699563c233 lava and weather immunities refactor (also jump boots fix) (#61003)
In remembrance of all those people who used jump boots to cross lava unaware of an issue c*ders wouldn't fix....

EDIT: This is now a lava and weather immunities refactor:
Weather immunities are now status traits since they have a multitude of sources (especially for lava) which might conflict with one another otherwise.
The lava burn_stuff proc has also been been refactored in different procs, mostly because of that snowdin subtype with inconsistent, old checks.
Weather datums should now use can_weather_act instead of weather_act to check if something can be affected by weather or not, as they should.
All movables can protect contained mobs if they have the relative weather immunity traits. This works at any contents depth.
No more snowflake weather_protection variable for closets.
Removed the weather_immunities list from living mobs (simple animals still have it but it's only for traits assignment on init because way too many child types lack the immunities of their parents).
Removed some unused defines.
Renamed some variables as per guidelines.
It has been tested.
And yea, jump boots fixed because that's the original scope of this PR.

(Initially just made throwing make you fire immune, that was blocked because it breaks perma stuff, instead it ended up be a refactor to make jumpboots usable with weather immumnity stuff
2021-08-31 14:07:19 -07:00
LemonInTheDark
cd576ab519 Del The World: Unit testing for hard deletes (#59612)
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
2021-08-15 21:09:26 -07:00
Wayland-Smithy
2816dd9ab6 Fixes Oingo Boingo Punch-face! not displacing airlocks (#60820)
Gives the relevant safe_throw MOVE_FORCE_EXTREMELY_STRONG so it can overcome airlock resistance restoring its intended "sends atoms flying (including anchored ones and things that make no sense to move because -clowns-)" behavior.
2021-08-12 20:14:42 -03:00
Ghom
18da7f2f29 Gold wheelchair (item) is now actually made of gold like the vehicle. (#60704) 2021-08-06 08:22:36 +01:00
InvalidArgument3
b10397cf67 Exosuit Proto-kinetic Accelerator (#60384)
Adds new equipment for mechas: the Exosuit Proto-kinetic Accelerator, unlocked with the mining tech research. Compared to the standard one, it is able to hit 5 tiles away with a low cooldown.

However, unlike the handheld version, it draws a considerable amount of power from the battery, pretty much requiring you to bring generator equipment or upgraded parts.

The projectile is identical to the standard handheld version otherwise and will do little damage in pressurized environments.
2021-07-29 11:27:13 -03:00
Ghom
bcf76ec2da Fixes ridden skateboards crashing back-to-back when bumping a dense atom while another is behind them. (#60480)
This also fixes some "max recursions reached" warnings for admin hoverboards, which have zero instability.
2021-07-28 19:29:14 -03:00
tralezab
df0bd4486d Vim, but ready for merge now (#60334)
Minature little mecha for critters (tiny simple animals) to ride around in. Comes with headlights, and the ability to chime or buzz (in case you cannot speak gal com)

Old PR #59736

I got the sprites for it now!
2021-07-21 23:47:57 -03:00
Ghom
7ec44142e7 Fixes wheelchair overlays being odd. (#60129)
* Fixes wheelchair overlays.

* cached.
2021-07-21 20:27:36 +02:00
Rohesie
4c21166e4f Job refactor: strings to references and typepaths (#59841)
* Job refactor: strings to references and typepaths
2021-07-18 20:48:47 +02:00
Kylerace
44779b794c makes get_hearers_in_view() faster AGAIN, fixes issue with previous optimization (#60219)
fixes #60197
woke up today with a ridiculous idea of semi-automatic compile time loop unrolling, wasnt worth the complexity in the least but it made the basis of this PR which i then continued work on. makes area_sensitive_contents into a more general system of important_recursive_contents where we can define reasonable uses to replace recursive contents iteration of the type found in get_hearers_in_view() as long as everything that uses it isnt something incredibly common to the point that it noticeably increases memory usage.
2021-07-17 00:49:55 -03:00
InsaneRed
2963dcc5c4 fixes ski shoes description (#60241) 2021-07-16 20:08:55 -07:00
Ghom
49b248f84f cuts down honker mech ui pasta and fixes their lack of an equipment menu. (#60115)
This will fix #59726 (Honk mechs being unable to drop equipment)
2021-07-11 23:36:59 -07:00
Ghom
8e5bae3ff4 Fixes the mech mounted teleporter not working. (#60112) 2021-07-10 17:37:25 -07:00
tralezab
a8d7b45d2a Ban posibrains and mmis from savannah ivanov (#59772)
Savannah Ivanov cannot have mmis or posibrains in them.

Now I know that sounds BAD... but I originally intended to do this as it removes a huge trust element and bypasses recruiting people for cooperation. I simply uuuh genuinely forgot to include this, so sorry for the DRAMA.

I was considering blocking the AI too, but AIs are actually more likely to be turned against you than fellow crewmembers

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-07-04 09:50:18 +01:00
Bobbahbrown
972cd3de61 introduce advanced sucking functionality to custodians (+ bonus GAGging) (#59925)
* base sucking functionality

* functional upgrade and upgrade refactor

* minor tweak here

* finish overhaul of upgrades, add gags-ified upgrades

* add documentation (you love to see it)

* update sucking sound

* do some of the requested cleanup, fix key going into trash bag, add right click func
2021-07-04 00:29:46 +02:00
Rohesie
82dc71c3ae CanPass refactor (#59804) 2021-06-25 13:36:00 -07:00
RandomGamer123
c34c4a3746 Fixes bug in Ripley mech construction where it would say "securing the screwdriver" (#59795)
[I] in this case refers to the inhand item so in this case it would be the screwdriver / hand drill, this changes it to properly reflect that the capacitor is being screwed in.
2021-06-25 15:27:54 -03:00
Watermelon914
d42bf33df6 Minimum compiler version update (#59771)
Updates the minimum compiler version to 514.1556
Additionally implements `as anything` in parts that requested it with a warning
2021-06-23 12:51:41 -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
TemporalOroboros
daec5002fc Adds Neon Carpet (#59140)
Adds a couple varieties of neon carpet.
Makes decals care about their plane in addition to their layer.
2021-06-13 15:40:53 -03:00
vincentiusvin
238cc507ce Added a loc check (#59564) 2021-06-10 16:51:22 -07:00
tralezab
d4391e19ea Two Person Mecha for Robotics: The Only Real Solution To An Imminent Geometer Summoning 💪 (#59249)
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2021-06-07 14:40:30 -07:00
Emmett Gaines
43c5dc8bfa Makes obj_integrity only updated through procs (#59474)
Having things updating integrity directly is just going to cause more problems down the line as more elements and components depend on being notified of integrity changes. It's an easy mistake to make so making it private should deal with the problem.

get_integrity() might be useful in the future but is mainly a side effect of making obj_integrity private as that also disallows reads.
2021-06-04 11:48:05 -03:00
Watermelon914
b84a9f97b2 Integrated Circuits (Wiremod) (#59232)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Maurukas <66576896+Maurukas@users.noreply.github.com>
2021-05-25 11:15:36 -07:00
Kylerace
e13fe75590 use SIGNAL_HANDLER REEEEEE (#59242)
makes as many procs as i can find use the SIGNAL_HANDLER define which i assumed they all already did
2021-05-24 15:28:02 -04:00
InsaneRed
8643b37081 Converts some of mech actions into balloons (#59255)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-05-24 01:29:02 -07:00
Kylerace
999fa5508d Removes SIGNAL_HANDLER_DOES_SLEEP and makes signals synchronous (#59176) 2021-05-20 23:11:34 -07:00
RandomGamer123
457685a8b6 Buckling to wheelchairs no longer gives people the immobile trait, allowing paraplegics to do more things (#59097) 2021-05-16 21:04:26 -07:00
Ryll Ryll
b1edc496db Is that a fucking rocke- (#59056)
Being hit directly by a rocket launcher now has a 1% chance to make you briefly try processing what's about to happen before exploding you.
2021-05-15 02:04:33 -07:00
ZeWaka
b86aaf3307 Fixes bitwise flag negation errors. (#58870)
These have been in the codebase for many years. Love, ZeWaka
2021-05-05 01:37:56 -04:00
LemonInTheDark
4e53d8c4bc Removes some boiler plate from working with atmos code (#58885)
Everything that called turf.assume_air and turf.remove_air was already updating turfs, and all that not tying

the two together did was add more boiler plate, and break things when people forgot about it.

This shouldn't add any overhead outside of hotspots, but I think that's trivial
2021-05-05 01:31:30 -04:00
Celotajs
574c81a143 Resolve chameleon GAGS item issues (#58808)
This PR fixes issues with the chameleon jumpsuit and sneakers. In addition to that, it properly defines setting for GAGS worn and inhand icons instead of having them be in Initialize() for specific item types. Names for the prisoner jumpsuits and wheelys have also been reverted to how they were before the GAGS PR.
2021-04-30 22:16:18 -07:00
LemonInTheDark
27385e9d70 Converts the atmos senstive component over to connect_loc (#58266)
* Makes all uses of atmos_senstive pass in mapload as context

* Converts atmos senstive to connect_loc, does some general cleanup to the element, and makes it check the state of the tile the thing is on assuming creation didn't happen as a part of map loading

* Updates connect loc to match the new arg list
2021-04-30 18:35:47 -07:00
LemonInTheDark
a924226b50 React optimization + event based processing for tanks, canisters and pipelines (#58418)
* Makes tanks only process when needed, rather then doing it constantly

* Makes portable atmos machines only process when needed, makes adding and removing atmos machinery cheaper, makes the tank processing logic actually work properly

* Makes pipelines only react() when their mix changes, fixes a ton of misuses of update_parents that were causing about 10ms of load for atmos just from reconcile_air()

* Adds in a new reaction framework alongside the old one for profiling related reasons

* whoops

* Cleanup, removes the react profiling code, I've chosen a direction to go here

* Cleans up some code, adds comments describing how to interact with portable atmos machines/tanks and their
mixes, adds a blurb to Atmospherics.md about the topic as a whole, leaves a line of bread for someone to follow
if I get hit by a bus in 2 days (Knock on wood)

* Removes priority from reactions, moves priority groups to the defines file

* whoops

* Converts air_contents to _air_contents, replaces all the out of file things that used it with return_air()

* Replaces the canister air contents uses, converts it back to air_contents, I decided I didn't like the _

* Fixes
2021-04-30 12:29:29 +02:00
zxaber
c31b1d803b Fixes mechs being unable to move in space (#58727)
* Fixes mechs being unable to move in space

* unnecessary repeated check
2021-04-27 21:31:02 +02:00
TemporalOroboros
9f598a9662 Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#58015)
* Adds explosion SFX to the blastcannon and explosive compressor

- Extracts the explosion SFX and screenshake proc from the SSexplosions explosion handling proc and lets the explosive compressor and blastcannon use it.

* Miscellaneous changes

- Adds defines for the internal explosion arglist keys
- Reverses the values of the explosion severity defines
- Changes almost everything that uses `/proc/explosion` to use named arguments

- Removes a whole bunch of argname = 0 in explosion calls.

* Removes named callback arguments.

* Changes the explosion signals to just use the arguments list

Adds a simple framework to let objects respond to explosions occurring inside of them.

Changes a whole bunch of explosions to use the object being exploded as the origin of the explosion rather than the turf the object is on.

Makes the explosive compressor and blastcannon actually use the TTVs they are given.

Adds support for things responding to internal explosions.
Less snowflake code for the explosive compressor and blastcannon calculating bomb range.*
Less confusing explosion severity defines.
Less opaque explosion arguments

*does not guarantee that the solution to letting them actually use the TTV is any less snowflake.
2021-04-26 17:31:25 -07:00
Celotajs
fb2d71495b Convert jumpsuits, jumpskirts and sneakers to GAGS (#58514) 2021-04-25 17:01:36 -04:00
AnturK
0dbcaeb525 Fixes ?. nonsense. (#58630)
Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-04-23 23:09:39 -07:00
Iamgoofball
9f7891ce7a Fixes the speed on the Pimpin' Ride being slow as hell. (#58443) 2021-04-23 03:43:52 -07:00
ArcaneDefence
835e8e077f Uncomments tram_surfer cheevo (#58540) 2021-04-20 19:07:04 -07:00
Timberpoes
232fb90388 Cleanup (#58234)
as x doesn't work properly when used in for loops over special lists.

One instance of as anything in get_turf() in crafting code was removed as entirely redundant. It was an untyped for loop anyway.

Two instances of as anything in contents changed for wheelchairs with warnings added to change them to as anything loops when we upgrade to 514.
2021-04-09 02:31:45 -07:00
AnturK
22e749b3b0 Fixes wormhole generator runtime. (#58228) 2021-04-08 15:38:52 -04:00
Seris02
0a457d9346 Reduces the amount of unsorted chat messages (#58192) 2021-04-08 00:17:22 -07:00
necromanceranne
b8f103ffb1 Some quick fixes for the dark gygax icon and its uplink description (#58121) 2021-04-03 18:31:36 -07:00
AnturK
7194bd3865 Fixes runtimes related to quick equip. (#58043)
Basic sanity and ensure unequip is properly called before equipping again.
2021-03-31 02:07:28 +01:00
MLGTASTICa
b210079526 Fixes mech HUD's not being properly removed (#57964)
Fixes mech hud's not being removed when leaving the odysseus or clarke
2021-03-28 12:35:41 -04:00
MLGTASTICa
3ad077eb70 i shot my own phazon to death and i cry. (#57772)
Co-authored-by: MLGTASTICa <ak9bc01d@yahoo.com>
2021-03-23 10:55:33 +01:00
TiviPlus
f3946541eb Minor vehicle tidying 2 (#57626)
Moving some code, using tool procs, nothing special
2021-03-22 15:23:22 -07:00