Commit Graph

56 Commits

Author SHA1 Message Date
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
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
ShizCalev 45d3d52af7 Made some object lists less terrible to read (#29304)
* spaces

* more spaces

* last ones
2017-07-18 10:44:29 -04:00
Ashe Higgs 35a1d0ec3d Grammar and message tweaks (#28642) 2017-06-21 15:14:27 -03:00
Joan Lung db9d86a39e New() goes in the trash, we've gotta Initialize() 2017-04-19 18:22:26 -04:00
Lzimann 5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
XDTM 6d1b976cbf Adds a bluespace crystal material, balances some R&D recipes around it. (#23984)
* Everything

* FAKE CRYSTALS

* make up your mind

* eat your bluespace, dear

* Reverts upload board cost, increases power of reaction_mob teleport
2017-02-17 09:50:49 +13:00
Cyberboss 6e622eedd1 Moves reagents into atoms 2017-01-08 23:02:37 -05:00
Firecage 8dab2c9c34 Changes the names of Circuit Boards so they are easier on players. (#22688) 2017-01-04 17:20:53 -05:00
Firecage 50bbf5aa50 Allows syringes and droppers to show their reagents when examined while wearing things such as Science Goggles. (#22618)
* Allows syringes and droppers to show their reagents when examined.

* rearranges my logic

* replaces SEMIOPENCONTAINER with TRANSPARENT

* Silly spelling error fix.

* Moves the defines from flags to container_type to avoid issues with conflicting flags

* changes it back to obj/item/O

* Moves the OPENCONTAINER and TRANSPARENT defines to the reagents.dm
2017-01-04 20:00:46 +13:00
Mervill 0972f78800 a_intent now uses defines 2016-12-02 22:27:30 -08:00
phil235 6809603669 Changes obj/effect/blob,spider,swarmer,energy_net,spacevines to be ob/structures instead, since you can hit and destroy them.
Adds a large ash and large molten item decal (for future use)
simplifies decal/cleanable/replace_decal() code a bit.
Changes construction() proc to on_construction() for consistency, same for deconstruction().
Made a deconstruct() proc for machinery and computer (also for future use).
2016-09-27 19:58:27 +02:00
Shadowlight213 c85210b0c7 improvements and fixes. 2016-08-10 21:29:11 -07:00
Shadowlight213 8035651400 Finishes id computer
adds designs for computer parts to rnd and cases to the autolathe.
2016-08-09 22:55:07 -07:00
c0 9357c24791 Fixes protolathe not accepting any reagents 2016-06-11 11:05:41 +03:00
Core0verload 3af3bd2938 R&D machinery refactor (#18295)
* RnD machinery refactor

* Small changes

* Removed designs selling
2016-06-08 17:18:22 +12:00
LatD a903b4cc79 merge conflicts? 2016-05-28 01:25:33 +03:00
phil235 a49e4cf87d Fixes experimentor having no sprite when panel open.
Fixes panel opening deconnecting the wrong rnd console
Fixes not being able to throw mobs.
2016-05-12 21:37:18 +02:00
Core0verload a66c2f4418 Machine/computer boards and frames refactor (#17300)
* Map Changes

* Machine/console boards and frames refactor

* More board changes
2016-05-08 12:11:18 +02:00
Joan Lung 6fc1d4fde4 Blobs can no longer eat the supermatter (#17205)
* Blobs can no longer eat the supermatter

* phil'd

* phil'd
2016-04-29 20:29:20 +02:00
phil235 9657f328ec Fixes Reagent insertion in RnD machines 2016-04-27 13:04:05 +02:00
phil235 b146131a34 Second commits.
This contains the changes to item_attack.dm
Obj/attackby() now follows a similar structure as mob/living/attackby. It calls attack_obj() (like attack() but for obj) which calls attacked_by (just like attack() does)
The use of the NOBLUDGEON flag changes a bit, it is now used to signify the item cannot be used as a melee weapon at all. No attack animation, no attack message. I've given this bitflag to many items that have an afterattack() so as to not both attack and do the special action (among those items: the rcd)

There's also the code changes to attacking machines: attacking any machine now give a proper message and a sound. And with this, I made more machines breakable (using a health var and the very little used BROKEN stat). Most notably, tables can now be attacked when on harm intent and be destroyed.

The newly destroyable machines have a take_damage() proc used by all sorts of attack (weapon, xeno, animal, hulk, mech melee, gun projectile, thrown items).

There's some more stuff in there, see the PR's description and comments.
2016-04-24 20:37:00 +02:00
KorPhaeron 26bce514d5 GOOF IN CHARGE OF MATH 2016-03-26 06:12:44 -05:00
bear1ake f697ae90f5 removes a bunch of .0 2015-09-10 20:57:30 +09:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
xxalpha cfb5e724b6 Material container, all items can have materials, wake me up
cant wake up

go to sleep debug
2015-07-01 03:34:47 +01:00
Razharas 6f1a705777 Fixes imprinter volume with beakers
Fixes imprinter volume with beakers
2015-05-30 17:23:39 +03:00
kingofkosmos 1d14471d00 Ellipses to waiting messages. Warning-spanclasses to failing messages with an exclamation mark. 2015-04-24 20:50:50 +03:00
Razharas 12e4047cbe Merge pull request #7988 from Menshin/protalathe_matcheck_fix
Fixes protolathe incorrectly checking material amount
2015-02-27 11:11:52 +03:00
Menshin 48edc8b7ae Fixes protolathe incorrectly checking material amount. 2015-02-25 21:12:14 +01:00
Remie Richards 5fc7af7fbf attackby() now has an argument containing the parameters of the click that called it. Items placed on tables now center their icon where the user clicked. this is NOT true for racks, since racks look organised in their sprite.
Items reset their pixel_x and pixel_y values on pickup.
2015-02-19 13:02:43 +00:00
Menshin 04fda27969 * Updated the autolathe to use the datum/designs system (new file
autolathe_designs.dm)
* Added categories sub-menus for the autolathe, circuit_printer and
protolathe
2014-12-13 22:56:43 +01:00
Cheridan 08be1b34eb Revert "Changes a few green crosses to blue on sprites that I missed last time" 2014-10-04 19:22:10 -05:00
Jordie cd2cdde82e Spans unlinked message 2014-09-15 18:21:52 +10:00
Kelenius 3908160998 One big update for stacks. 2014-06-10 20:36:08 +04:00
Cheridan 4d8160ab14 meteorhit() is kill 2014-04-22 12:16:02 -05:00
Razharas f7e3737f3f Span classes yaaaaay 2014-04-03 15:37:53 +04:00
Razharas e86ab01626 Fixes R&D machinery materials adding exploit
Fixes https://github.com/tgstation/-tg-station/issues/3259
2014-04-01 21:21:08 +04:00
MrPerson 75353c1681 Stat number of dels per tick
More del(AM) -> qdel(AM)
2014-03-08 23:26:33 -08:00
MrPerson 6b29fecda1 Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel_r
Conflicts:
	code/game/machinery/bots/ed209bot.dm
	code/game/machinery/rechargestation.dm
	code/game/machinery/turrets.dm
	code/game/objects/structures/crates_lockers/closets.dm
	code/modules/research/circuitprinter.dm
2014-03-08 22:03:03 -08:00
Razharas 0aaf809c70 Proper chem handling for protolathe and imprinter
Also imprinter is now according to basic code standarts
2014-02-24 19:19:03 +04:00
Razharas b27d9c7396 Added RPED, some sprites and new power cell path
Your dreams of big part storage and fast machine part exchange came true
14 slot R&D part-only autoseeker/picker/dropper/exchager is in
Added different sprites for better capacitors and scanning modules
Changed the power cell type to be compatible with all this machine
changing faggotry
All sprites here are codersprites so ask nien/WJ for better ones if you
want
2014-02-24 05:14:43 +04:00
MrPerson 9eee3e5067 First pass at a qdel() garbage collection system for tgstation
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.

New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.

ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
2014-02-23 14:55:12 -08:00
Alek2ander a59a058660 Who decided to have it like that? 2014-02-09 17:47:59 +04:00
Alek2ander 0dc569284d Research machines sorta cleanup
HREF exploits fixed for research machines and vending machines
2014-02-09 16:55:20 +04:00
Razharas 87f137766c Standartization and more issues fixing
More standart machinery procs
More sprites
Constructable mech rechargers
Over all tide up

Its not over yet folks, next are coming constructable kitchen machinery
and SMESes, update to newer uis, even more standartization and maybe
some more R&D content
Stay turned
2014-01-14 02:42:07 +04:00
Razharas 4f8389ec0e Constructable machines will depend on R&D parts
DNA scanner:
Laser quality lessens the irradiation
Manipulator quality drastically improves the precision(9 times with best
part)
Scanner quality allows to scan suiciders/ling husks, best part enables
cloner's autoprocess button, making it scan people in the scanner
automatically
Clone pod:
Manipulator quality improves the speed of cloning
Scanning module quality affects with how much health people will be
ejected, will they get negative mutation/no mutations/clean of all
mutations/random good mutation, at best quality will enable clone
console's autoprocess button and will try to clone all the dead people
in records automatically, together with best DNA scanner parts cloning
console will be able to work in full automatic regime autoscanning
people and autocloning them
Borg recharger:
Capacitors' quality and powercell max charge affect the speed at which
borgs recharge
Manipulator quality allows borg to be slowly repaired while inside the
recharges, best manipulator allows even fire damage to be slowly
repaired
Portable power generators:
Capacitors' quality produce more power
Better lasers consume less fuel and reduce heat production
PACMAN with best parts can keep whole station powered with about sheet
of plamsa per minute(approximately, wasnt potent enough to test)
Protolathe:
Manipulators quality affects the cost of things(they will also have less
m_amt and g_amt to prevent production of infinity metal), best
manipulators reduces the cost 5 times (!)
Imprinter:
Manipulator quality affects the cost, best manipulator reduce cost(acid
insluded) 4 times, i.e. 20 boards per 100 units of acid
Destructive analyzer:
Better parts allow items with less reliability in
Redone how reliability is handled, you now see item reliability in the
deconstruction menu and deconstructing items that has same or one point
less research type level will rise the reliability of all known designs
that has one or more research type requarements as the deconstructed
item
Designs of the same type raise in reliability more
Removed reliability_base and reliability_mod completely because they
served no purpose
Critically broken things rise reliability of the design drastically
Whole reliability system is not used a lot but now at least on the R&D
part it finally matters
Didnt touch telecomms machinery, R&D code is messy but tcomms is just
another level, im not high enough to touch it yet
Most of things except for pacman are tested ingame, no bugs/runtimes
detected
2013-12-23 21:39:27 +04:00
Perakp b8a7957a22 Adds deconstruction for DNA scanner and cloning pod.
Adding wires to a machine frame uses one unit of wire.
Wires returned from deconstructing return 1 unit of wire.
Fixes issue #1001
2013-12-07 08:55:07 +02:00