Commit Graph

42 Commits

Author SHA1 Message Date
Emmett Gaines
910be9f4e2 Signal redirection component (#32298)
* redirection component

* makes register signal accept callbacks

* this is a very lightweight component
2017-11-02 15:03:54 -06:00
Jordan Brown
bcbf3030a9 Adds a temporary workaround for a BYOND bug 2017-10-31 21:54:23 -04:00
Emmett Gaines
4d420b8975 Shuttle rotation refactor and significant performance upgrade (#31942)
* Shuttle rotation refactor

* cleanup

* fixes the air leak bug

* Updates the turf decal component and cleans up some code

* transfercomponents and some list optimization

* Makes turf_decals cleanable in theory

* review cleanup

* final cleanup: decals work
2017-10-31 21:23:17 -04:00
Jordan Brown
81485cd60d Replace most islist calls in components with length() (#32158)
islist was used to check if a thing was

A. A list of things
B. 1 thing

length was profiled to be faster
2017-11-01 09:11:32 +13:00
Jordan Brown
d088549da0 Minor optimization for _GetInverseTypeList (#32155)
* Minor optimization for _GetInverseTypeList

* We also need to make sure the root component is never instantiated to avoid stack overflows
2017-11-01 09:10:51 +13:00
Jordan Brown
82a4ba34f0 Fixes TakeComponent (#32156)
* Fixes TakeComponent

* Add the note about OnTransfer and COMPONENT_INCOMPATIBLE

* Fix behaviour

* Missed datum.dm
2017-10-30 09:52:18 +01:00
Mercenaryblue
f7455c6d97 Spooky Spectral Instruments (#31966)
* [dooting intensifies]

Spectral Instruments added
To be used with Spooky Skeletons.

* Spectral Re-balance

The spectral instruments no longer stun living creatures.
Text make you retain your loyalties now.

* Requested Changes

Added variable "too_spooky".
Defines if it will spawn a new instrument.
Re-balanced damage to 5 hits average per conversion.
Added admin notice to changelog.

* Loyalty text fix

* Spooky Trumpets

Removed comment.
Added missing spookiness.

* Spooky Dooting

Major Overhaul.

removed /brass/
Spooky Dooting is now a component.
Boneless humanoids no longer lose stamina.

* Spooky Dooting

mk2
2017-10-29 13:34:39 +01:00
oranges
5cefa88579 Merge pull request #31941 from tgstation/Cyberboss-patch-2
Adds a method to transfer all components from one datum to another
2017-10-28 11:39:40 +13:00
Jordan Brown
5dde2e3c84 Merge pull request #31864 from ninjanomnom/thermite
Makes thermite a component
2017-10-27 18:35:36 -04:00
Emmett Gaines
65606195a7 More radiation balance changes and fixes (#32051)
* more balance changes and fixes

* cleanup
2017-10-27 10:06:59 +02:00
ninjanomnom
21d3013c2e cleanup 2017-10-26 16:15:19 -04:00
ninjanomnom
52d45cf0e8 makes thermite a component 2017-10-26 01:55:37 -04:00
Jordan Brown
82e70ff429 Allows components to qdel from Initialize 2017-10-26 00:01:19 -05:00
Jordan Brown
1bdea2db01 Adds a method to transfer all components from one datum to another 2017-10-19 22:36:48 -04:00
Emmett Gaines
9d17e9c102 Fixes camera mobs becoming contaminated and other tweaks (#31731) 2017-10-14 19:39:51 -03:00
Emmett Gaines
456cd10d94 Radiation rework and subsystem (#30909)
* radiation rework and subsystem

* moves a few things to initialize and adds radiation insulation

* adds a radiation contamination mechanic and makes requested changes

I'm terrified by the possibilities from this

* radiated objects give off light

and hopefuly contamination is balanced

* fixes runtimes and an mc crash kek

removed the lighting part of contaminated objects
attempted some more balancing

* Collectors output power in process() gradualy

And some more balancing tweaks

* Excludes a bunch of things from becoming radioactive

* Ready for testmerge balancing

* Inverse square law was swapped

* testmerge balancing

fixes the geiger counter
buffs collector power gen
nerfs sm radiation
slightly buffs rad insulation
nerfs rad damage (and its burn)
raised the minimum radiation

* disabling the radiation subsystem won't build up rad wave datums forever

* rewrites how mobs handle radiation

upgrades geiger counter functionality
and more balance tweaks

* cleans up stuff and removes debug message

* Slight contamination buff

* Major rad wave performance boost

Also improves rad insulation
Buffs contamination, again

* Fixes insulation runtime

More balance and performance tweaks

* fixes rad collectors not receiving power

* The final balance commit

Fixes a major bug causing radiation to underperform
More geiger counter changes that will be changed more to add sounds

* Monkey business

* Geiger counter sounds

* cleanup and move components to their own initialize

* Some code cleanup

And forgotten changes

* Cleans up some trailing returns

* Mapping changes
2017-10-13 10:22:00 -04:00
kevinz000
f0670b743c Update material_container.dm (#31555) 2017-10-12 17:38:07 +02:00
kevinz000
3d39ad3501 Allows you to choose how much to insert into protolathe/exofab/circuitprinter/dronedispenser (#31399)
* precision

* precision

* sanity checks

* itt kevinz doesn't know how cyberboss procs work

* fixes

* allows user cancellation

* im dumb

* itt: im still dumb

* fixes stuff, makes it set on init

* refactors reagentgrinder code

* more fixes, prevents melee attacks from going anyways

* ...? wtf is with usetopic

* Finally found out what's wrongw ith this thing.

* fixes a mistake
2017-10-10 21:11:22 +13:00
XDTM
db0c10ea58 Refactors virus spreading (#31066)
* Refactors virus spreading

* Cyberfixes

* Bump to infect

* proper shoe protection

* Split ContractDisease

* Makes virus severity matter

* oops

* Virus severity changes

* defines

* infective_floor --> infective

* Fixes vomit and pulling infection
2017-10-09 14:08:21 +02:00
XDTM
35d8a55926 Adds H.E.C.K. suits, spraycan_paintable component, and reworks item's attackby() (#30525)
* Adds hostile environiment suits

* NOBODY SAW THIS

* the CURSE

* c

* No more stun removal

* fix

* a

* in the chest

* back

* Fixes

* duh

* fucking helmets fucking secbots fucking past coders

* yeah

* REEEEE

* revert to here

* this better work

* cyberboss

* Update effects.dm

* check for charges

* B U L K

* spraycans

* READY

* the if, man

* why the fuck did it convert to spaces

* Fix it
2017-10-05 11:52:47 -04:00
AnturK
72f711cc70 Fixes mech fab runtime (#31232)
* Dunno what the initial was about, it's a list.

* Proper fixup

* Typo
2017-10-04 12:18:58 +13:00
AnturK
025a0d82c1 Fixes warning spam 2017-10-01 12:53:57 +02:00
Jordan Brown
c1353ceffb Fixes material container flags precedence 2017-09-30 10:45:01 -05:00
Jordan Brown
49feced945 RegisterSignal() can now accept a list (#31098)
* RegisterSignal may now accept a list of signals

* Update old calls to RegisterSignal()
2017-09-30 14:58:52 +02:00
ShizCalev
51c48409a6 Stops putting RCD, bluespace bags, and staves into ORM (#31093)
* Stops putting RCD, bluespace, and staves into ORM

* CB

* Chat message
2017-09-29 19:33:19 -05:00
Jordan Brown
8fdea0d473 SendSignal() speedup (#30929)
* Rename component.dm to _component.dm

* Merges RecieveSignal() into SendSignal()

* Makes ComponentActivated() and AfterComponentActivated() async
2017-09-23 20:31:03 +10:00
Emmett Gaines
76c08c601a New squeaky datum and plushes (#30710)
* New squeaky datum and plushies

new plush subtype
clown shoes, bike horns, and mice slightly changed to use the datum

* narsie and ratvar plushes

* fixes duplicate obj/item/attack_self()

and other misc requested changes

* moves the sounds into initialize
2017-09-18 12:49:03 +02:00
ExcessiveUseOfCobblestone
8730cf2fa9 Fixes Archaeology not working (#30547)
* gg

* fixes that other issue

* ok

* okie dokie

* removes this devil
2017-09-13 15:03:44 -04:00
ExcessiveUseOfCobblestone
1e17bb7b83 Adds Archaeology Component (#30220)
* The future of archaeology

* pirate pad transfer is godawful

* pp transfer, part deus

* Revert "pp transfer, part deus"

This reverts commit f6e48f71f59f834f0b9e02a2ab2bb1bc1bda1b6a.

* hmmm!

* Edits How This Works

* Dig Check

* you can no longer chaindig + MrPerson req

* All MrPersons

* I need to squash soon [tm]

* replaces define

* fixes #literally everything

* forgot why i set it to highlander

* Review

* Removes How2 and Fixes Travis

How2 was outdated so idgaf

* Review 2, Cyberboss Boogaloo

had to move SSblackbox now that W is a more localized var.

* archdrop list is null now

* It won't let me edit that space sorry

* GOTCHA

* yes i used the web editor, no i am not sorry

* cyber

* ..()
2017-09-08 11:01:30 -04:00
Jordan Brown
2c92735520 Port material containers to datum components (#29268)
* Ports /vg/'s component system

* Fix component signalling itself for addition

* Fix the list arrangement for removal

* Whoops

* Return the existing component if the created one was deleted

* These can't be ints

* ,

* returning TRUE from a callback will mark the event as handled

* Small refactor

* Add powered components

* R e f a c t o r

* More wip

* Fixes et al

* Pure pain

* When bae tells you she was tabs but she was actually spaces

* RReee

* Needs arglist

* Fax

* Fax

* More better

* You fail me yet again git commit

* Some kajiggering, but there we go

* No more 3rd param = variadic

* fix

* Sanity

* Whoops

* Minor thing

* Whoops

* fax

* Better describe the function, + add ..()s

* Fix

* Port to Initialize

* fuk in git
2017-08-30 15:11:34 +02:00
Jordan Brown
e89917c3db Updates out of date documentation (#30181)
* Updates out of date documentation

* Grammor
2017-08-28 14:51:37 -05:00
Jordan Brown
c941d04c68 Fixes component dupe checks not actually checking if there IS a dupe component 2017-08-25 09:59:21 -04:00
Jordan Brown
fc41bf41ef Cleans up component Initialization (#29891)
* Cleans up component Initialization

* Add LoadComponent()
2017-08-22 09:26:56 +12:00
Jordan Brown
3c56d0f4f3 Ports duplicated slipping code to a component (#29628)
* Ports duplicated slipping code to a component

* Makes metal not slippery

* asdf

* Instead of cherry picking like an idiot I could just copy paster

* OOP

* And blood, don't forget Fry's blood!

* Further fixes

* A more generic fashion

* Use the new system

* Fixes

* Fix cartridge type

* Remove inertia
2017-08-09 16:06:15 +02:00
Leo
0d332545bc Merge pull request #29647 from Cyberboss/CompFix
Fixes SendSignal()
2017-08-03 15:14:59 -03:00
Jordan Brown
de3ba0e533 Fixes SendSignal 2017-08-02 14:53:52 -04:00
Jordan Brown
b018a9ba4f Merge branch 'master' into bdbroundid 2017-08-02 11:33:36 -04:00
Jordan Brown
452c5ce360 Makes GetComponent() faster using typecache magic (#29523)
Added /proc/type2parent which takes a type (string, or type) and returns it's parent type (initial(x.parent_type) doesn't work)

Instead of being a raw list of components, /datum/var/datum_components is now associated list keyed by type with some bells and whistles to make GetComponent() calls faster
2017-08-02 09:58:53 +12:00
Jordan Brown
cd912faf59 Unifies datum definitions 2017-08-01 15:51:26 -04:00
shizcalev
99624b8e74 further spellchecking 2017-07-31 23:09:08 -04:00
Jordan Brown
0321e6bd85 DCS Continued (#29324)
Adds's documentation to the DCS system, refactors to improve the caller API
2017-07-25 09:44:19 +12:00
Jordan Brown
bcb85acb1e Ports /vg/'s datum component system (#29178)
* Ports /vg/'s component system
2017-07-17 12:10:25 +12:00