Commit Graph

23 Commits

Author SHA1 Message Date
SkyratBot
b15b16976a [MIRROR] Attack chain refactoring: Broadening tool_act into item_interact, moving some item interactions to... atom/item_interact / item/interact_with_atom [MDB IGNORE] (#25516)
* Attack chain refactoring: Broadening `tool_act` into `item_interact`, moving some item interactions to... `atom/item_interact` / `item/interact_with_atom`

* Patches up merge skew (#80197)

## About The Pull Request

Yeah #79968 (1e76fd70b4) was not
compatible with master but no one said anything on the PR so i got
jebaited into merging it. The code should be up to the same standards
per the documentation I read (preventing thwacking the target in certain
situations while not returning anything in other situations)

master will definitely compile now though

* Patches up merge skew

* Merge conflicts

* Modular adjustments

* Removes this entirely duplicated proc...

* Update tool_override.dm

* Update weldingtool.dm

* Update tool_override.dm

* Update tool_override.dm

* Nope. Copy paste begone.

A skyrat edit is so much easier to deal with here

* Update brand_intelligence.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-12-09 08:22:19 -05:00
SkyratBot
e7a1ec5ba2 [MIRROR] Cuts the number of apply_damage copypaste procs from 3(.5) to 1, fixing a few bugs along the way [MDB IGNORE] (#24619)
* Cuts the number of `apply_damage` copypaste procs from 3(.5) to 1, fixing a few bugs along the way

* Update _species.dm

* Update damage_procs.dm

* Modular adjustments

* Update mutant_species.dm

* Update mutant_species.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-10-27 18:22:32 -04:00
SkyratBot
7bac58e2fc [MIRROR] Renames COMSIG_ITEM_ATTACK_OBJ to COMSIG_ITEM_ATTACK_ATOM [MDB IGNORE] (#21916)
* Renames COMSIG_ITEM_ATTACK_OBJ to COMSIG_ITEM_ATTACK_ATOM

* conflicts

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-06-18 14:51:14 +00:00
SkyratBot
6dfe17306c [MIRROR] Pulls apart the vestiges of components still hanging onto signals [MDB IGNORE] (#21738)
* Pulls apart the vestiges of components still hanging onto signals

* update modular

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-06-18 13:18:23 +00:00
SkyratBot
4912b160a8 [MIRROR] Removes bad nodamage var from projectiles, fixes Juggernaut / Rust Walker projectiles doing zero damage [MDB IGNORE] (#19768)
* Removes bad `nodamage` var from projectiles, fixes Juggernaut / Rust Walker projectiles doing zero damage

* wew

* Update drinks.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-11 04:19:58 +00:00
SkyratBot
a70a6a8055 [MIRROR] Save 0.6-0.7s of init time by splitting registering lists of signals into its own proc, and optimizing QDELETED [MDB IGNORE] (#17670)
* Save 0.6-0.7s of init time by splitting registering lists of signals into its own proc, and optimizing QDELETED

* modular RegisterSignals

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-28 14:51:08 -05:00
Zonespace
f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
SkyratBot
ea19c86793 [MIRROR] Fix plasma cutter or guns that burn not being able to ignite plasma [MDB IGNORE] (#16244)
* Fix plasma cutter or guns that burn not being able to ignite plasma

* Update plasma.dm

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-09-17 12:44:10 -07:00
magatsuchi
4f9df17cb1 [FIXED MIRROR] Tsu's Brand Spanking New Storage: or, How I Learned to Refactor For Skyrat (#14868)
* Tsu's Brand Spanking New Storage: or, How I Learned To Pass Github Copilot As My Own Code

* Delete storage.dm

* yippee

* shit

* holy shit i am stupid

* more fixes

* fuck

* woops
2022-07-17 21:16:59 -04:00
SkyratBot
4dd2575041 [MIRROR] Fix explodable component attack targeting check to be in line with the comment. [MDB IGNORE] (#13243)
* Fix explodable component attack targeting check to be in line with the comment (#66483)

* Fix explodable component attack targeting check to be in line with the comment.

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2022-05-01 00:42:43 +01:00
SkyratBot
090f35c4d2 [MIRROR] Fix putting plasma cutter blowing you up if you have plasma equipped. [MDB IGNORE] (#13107)
* Fix putting plasma cutter blowing you up if you have plasma equipped. (#66485)

loops through possible places when you try to put an item in. If you happen to be holding a plascutter which is hot, its gonna try to insert it into the plasma stack and blow you up.

* Fix putting plasma cutter blowing you up if you have plasma equipped.

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2022-04-26 01:38:24 +01:00
SkyratBot
01080dfe0a [MIRROR] Makes sure COMSIG_ATOM_EX_ACT is always called. [MDB IGNORE] (#10498)
* Makes sure COMSIG_ATOM_EX_ACT is always called. (#63685)

Creates a wrapper macro for ex_act() and moves the signal and contents explosion calls to there. This way we can ensure the signal is always fired. Also desnowflakes reagents responding to explosions.

Ensures that a signal is always called when the attendant proc is called.

* Makes sure COMSIG_ATOM_EX_ACT is always called.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2022-01-07 15:23:12 -05:00
SkyratBot
f48e9c1a8c [MIRROR] Makes welding plasma bars/statues/floors use flooder component [MDB IGNORE] (#9959)
* Makes welding plasma bars/statues/floors use flooder component (#63154)

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Makes welding plasma bars/statues/floors use flooder component

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-12-08 19:38:06 -05:00
SkyratBot
4c29a5e334 [MIRROR] Renames COMSIG_MOB_APPLY_DAMGE (#7336)
* renames damge -> damage (#60647)

* Renames COMSIG_MOB_APPLY_DAMGE

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-08-03 20:04:48 +01:00
SkyratBot
02a489d4ac [MIRROR] Fixes typo in explodable.dm (#5639)
* Fixes typo in explodable.dm  (#59050)

* Fixes typo in explodable.dm

Co-authored-by: Swept <sweptwastaken@protonmail.com>
2021-05-13 14:23:13 +01:00
SkyratBot
5b8a38af3a [MIRROR] Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#5244)
* 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.

* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-04-27 01:53:17 +01:00
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
JJRcop
a1392847bd Remove ismovableatom macro (#9) 2020-02-17 15:03:16 +01:00
Time-Green
980837fc79 PLUMBING: Lavaland geysers, pumps and regrettable balance decisions! (#49067)
Implements the geysers and pumps I originally added along with the first draft of plumbing.

Geysers
A geyser can be plungered with a reinforced plunger to activate. At wich point, it'll either produce clf3, hollow water, protozine or rarely wittel.

Pumps
Adds the liquid pump to the plumbing RCD. Place on an active geyser and wrench it to start pumping the geyser of its delicious juicess. I also changed it to not use power, because it would be awful drawing kilometer long wires along with the ducts.

Chems
Hollow water works basically like blood and mutage, where you can mix it with 1 unit of holy water for more holy water.

Protozine has a .2 healing, down from omnizine's .5. The healing is just kind of a side thing and not really what this chem was implemented for.

If it wasn't obvious, this allows chemists to industrialize strange reagent creation, with hollow water being able to create limitless holy water alongside protozine being a valid replacement for omnizine. Getting 2 geysers with those chems and on lavaland is quite the hassle, and you still need to get some holy water from the chaplain as kickstarter. I honestly think this is fine, and otherwise I could add a unique botany catalyst, so they don't become useless in the process.

Wittel
Adds wittel, wich is rare. Does nothing, but can be processed into two fun/regrettable chems.

Adds gravitum. Metabolizes very slowly. Drinking it makes you weightless, and spraying it makes that object temporarily weightless. Make 10u by mixing 1 wittel with 10 sorium

Adds metalgen. Created by mixing it with mutagen and bluespace powder. Must then be mixed with 40u of a powedered material and 1u of liquid dark matter.
The material used becomes imprinted on the chem. It can then be applied to anything, except mobs, to turn it into that material. Radiation is bad, and no you can't turn the nuke into plasma to blow it up.
The chem is difficult to get and use, but it can turn the escape shuttle into solid gold wich looks really cool. You could also turn it into plasma and vaporize everything. It can be used to, with some effort, duplicate materials.

🆑
add: Adds geysers to lavaland! They can be activated by using a reinforced plunger found in the medical vendor. They can be harvested by using a new plumbing device, magically powered liquid pumps!
add: Adds Hollow Water to geysers, wich can be combined with Holy Water as catalyst for more Holy Water
add: Adds Protozine to geyers, a very weak version of Omnizine. Can be used in Strange Reagent mixing
add: Adds Wittel, a very rare geyser chem. Can be processed into gravitum, wich removes gravity. Can also be processed into metalgen, wich has a strange tendency to transform objects into the imprinted material.
/🆑

Why:
This is what I originally wanted to do. The idea was to have a lot more chems, but I can't focus on one thing for that long. Hopefully this'll empower the bored chemist and make the rounds just that more interesting. Hopefully this'll spark the creation of some other geyser chems aswell.

That and makes shaft miners not the only ones hunting on lavaland.
2020-02-17 21:33:19 +13:00
actioninja
d4ada061a1 less log spam to mat explosions 2019-10-24 18:21:42 -07:00
Qustinnus
908ccfe7b3 Fixes some material datum bugs (#47049)
* fixes

* chair

* ass

* fixes

* dumb

* done

* fix
2019-10-14 00:36:56 -04:00
nemvar
dc783795db Renames is_hot and is_sharp to get_temperature and get_sharpness (#46680) 2019-09-23 14:02:59 -07:00
Qustinnus
b33d1c49a3 [READY] Floydmats (Datum materials) & custom toolboxes (#45118)
* Initial work

* more

* ass

* wsedfwedff

* asss

* test

* stuff

* fuck

* sss

a

* kms

* asdadwedwdfwefwef

* start

* test

* dwwdew

* ewefwfef

* Redemption machine (#8)

* Redemption machine

* Removes debug messages

* changes

* fuckmyshitup

* coin mint works with new material shenanigans (#10)

* Auto stash before merge of "materials" and "origin/materials"

* woops

* furnace (#11)

* autolathe manufacturing of toolboxes

* eggs in a basket

* some small changes

* matcolors

* documentation

* more documentation and effects

* done

* Color man bad (#12)

* fixes designs

* ass

* more fixes

* fuck me

* firestacks adder

* epic fixes

* fixes designs

* DONE DIDDILY DOO

* removes category macro

* ch-ch-ch-changes

* fixes some stuff

* Fixes display of ore values (#9)

* Redemption machine

* Removes debug messages

* Re-adds value display

* Replaces the fire stacking component with an element instead (#13)

* fixes examine

* fixes ligma bugs

* double ligma boofus

* fix

* misses some defines

* fixes ORM

* Update code/datums/components/material_container.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* fixes

* Makes glass objects weaker (#14)

* Makes glass objects weaker

* uses correct proc

* fixes shit

* honk honk

* better

* oh shit oh fuck

* fixes

* fuck ORMs

* fixes the biogen

* documentation

* ass (#15)

* component

* changes

* ass

* ass

* doc

* Auto stash before merge of "materials-plasmacomponent" and "origin/materials-plasmacomponent"

* fixes rounding

* fixed
2019-07-24 11:27:01 -04:00