Commit Graph

54 Commits

Author SHA1 Message Date
kevinz000
4116f7ec79 Techwebs Backend Refactor - Removes references from techwebs and uses IDs instead (#40596)
Yeah yeah I know no opening too many WIP PRs but this one's [ready] and I want to make sure any furthur techweb development doesn't keep using the old reference system which will make refactoring it harder, and this makes it easier for coders to do stuff in theory (at least for me), standardizes getting a node/design, and makes stuff actually GC properly.
2018-10-06 07:52:07 +13:00
Tad Hardesty
59fa61113f [Ready] Communal Resource Storage II (#39118)
add: The vault now contains an ore silo where the station's minerals are stored.
add: The station's ORM, recycling, and the labor camp send materials to the silo via bluespace.
add: Protolathes, techfabs, and circuit imprinters all pull materials from the silo via bluespace.
add: Those with vault access can view mineral logs and pause or remove any machine's access, or add machines with a multitool.
tweak: The ORM's alloy recipes are now available in engineering and science protolathes.
2018-07-25 22:58:11 +12:00
kevinz000
5e50144e78 Destructive analyzers can now destroy anything again, even if it has no materials (#38690)
* Update rdconsole.dm

* Update destructive_analyzer.dm
2018-06-26 16:42:29 -04:00
Tad Hardesty
ff5ef9e25f Fix the destructive analyzer not revealing nodes (#38106)
* Fix the destructive analyzer not revealing nodes

* Fix references to deconstructive analyzer
2018-05-29 11:39:19 -05:00
Tad Hardesty
860ea6d449 Fix the destructive analyzer eating entire stacks (#37983) 2018-05-24 12:30:14 +03:00
kevinz000
7e6f361e01 Refactors techwebs to have different types of points (#37448)
PR HAS NO GAMEPLAY IMPACT
2018-05-19 16:51:14 -07:00
vuonojenmustaturska
5fe94d2e49 destructive analyzer runtime thing 2017-12-12 22:59:40 +02:00
Jordan Brown
713f2fcfa1 Fixes some record_feedback calls (#33317)
* Fixes protolathe feedback

* Fix circuit imprinter record_feedback

* Fixes destructive analyzer record_feedback
2017-12-07 15:04:55 +01:00
Tad Hardesty
219328cd7a Overhaul and fix destructive analyzer menu 2017-11-28 17:59:42 -08:00
kevinz000
caa1e1f400 Massive research refactor; changes research system to techwebs; Decentralized research 2017-11-18 19:55:40 -08:00
Jordan Brown
b6d349e1d4 Remove drop_item, drop_item_v, put_in_hands_or_del (#31386) 2017-10-07 13:36:33 -04: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
kevinz000
01e39d19fd Replaces all instances of spawn() with addtimer/INVOKE_ASYNC (#28958)
* spawn removal

* missed a rp

* missed a var

* vars

* stuff

* ok

* Update disposal-unit.dm

* Update disposal-structures.dm

* Update tooltip.dm

* Update experimentor.dm

* Update disposal-unit.dm

* Update experimentor.dm
2017-07-06 10:13:44 -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
Firecage
8dab2c9c34 Changes the names of Circuit Boards so they are easier on players. (#22688) 2017-01-04 17:20:53 -05:00
Mervill
417c50efa2 These comments where removed by me.exe, just now 2016-12-08 01:48:46 -08:00
Mervill
0972f78800 a_intent now uses defines 2016-12-02 22:27:30 -08:00
phil235
f6db08af2e Contents_explosion() tweaks (#20934)
* When any object is hit by an explosion, we no longer always call ex_act() on all its contents indiscriminately.
The default contents_explosion() does nothing and it's overriden for certain objects only like storage items, machines with occupants, mechs.

I've also overriden handle_atom_del() for many objects so that any sudden deletion of an object referenced in an object var of its container properly nullifies such references, avoiding potential runtime and updating the container's icon_state (e.g. admin-delete a mixer's beaker and the mixer's sprite updates immediately).

I've tweaked bomb effect on worn clothes, having some armor but not 100% now still protects your clothes somewhat.

Fixes some arguments of ex_act in living/ex_act() and other mobs.

* derp and map fixes.

* dem map fixes, man.

* More work on code that use implants, simplified now that we can use the "implants" carbon var.

* some fixes

* more typos and fixes.
2016-10-16 10:01:37 +13:00
LatD
ac11d35ea2 Bug and runtime fixes 2016-05-25 21:43:19 +03:00
LatD
907fc36e5c Merge remote-tracking branch 'refs/remotes/tgstation/master' into Research 2016-05-24 22:17:44 +03:00
LatD
fe76e64641 Origin tech changes and some fixes 2016-05-17 20:57:01 +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
phil235
dc730e9b5b Fixes typo making the destructive analyzer always be busy. 2016-04-27 01:00:39 +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
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02: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
tkdrg
a97c4de972 Moves m_amt, g_amt, reliability and origin_tech to /obj/item (previously in /obj)
Removes force from pipes
Removes unused turf var icon_old
Moves pass_flags to /atom/movable
2014-11-02 14:10:03 -03: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
b7d903fbda Adds \ back to DA nodrop message 2014-09-18 13:34:16 +10:00
Jordie
2bb0f348f4 notice > warning 2014-09-15 18:25:16 +10:00
Jordie
dd39346563 [name]ifies messages and removes debug item 2014-09-15 18:24:34 +10:00
Cheridan
3a0bd3de28 Merge branch 'master' of https://github.com/tgstation/-tg-station into MeteorsSuck
Conflicts:
	code/game/turfs/simulated/walls.dm
2014-05-13 14:03:42 -05:00
Cheridan
4d8160ab14 meteorhit() is kill 2014-04-22 12:16:02 -05:00
Menshin
80e7d1d0e7 Added a check for "_nodrop_" items for several machines/structures (fix #3407). 2014-04-20 20:49:32 +02: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
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
Razharas
13d3cb21ce A bunch of fixes of using old type of proc
Now it all deconstructs properly
2014-01-26 11:56:14 +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
83c9481bfc Fixes R&D working improperly
Yeah thats it
2014-01-06 21:34:10 +04:00
Razharas
579be8953f Tweak of destructive analyzer and span classes
Now instead of flat out refusing low reliability things it will be able
to take them inside and show the potential technology and reliability
level
It will also be able to deconstruct them, but if reliability is too low
it will show you that usual message but in the console window instead of
chat
Changed all the \red to span class in destructive analyzer's file
2013-12-30 03:56:45 +04:00
Razharas
908f28dab6 More machinery and type path fixes
Not parts are in null and not in machinery
2013-12-23 22:30:38 +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
carnie
b84d12d949 *Small tidy-up of various helper procs*
-Turns out there was already a Gaussian PRNG proc already, used by mechs and turrets. I've replaced it with my one as mine has almost half the cost. (currently broken! still waiting for fixes to be pulled!)
-replaced between(min, val, max) with Clamp(val, min, max)
-get_turf(thing) now uses var/list/locs to locate its turf, rather than iterating up through loc of its loc of its loc...etc
-sign(num) moved to maths.dm
-InRange(val, min, max) replaced with IsInRange(val, min, max) (they were identical)
-Removed ismultitool() iswrench() iscoil() iswire() iswelder() iscrowbar() etc
-removed modulus(num) as abs() performs the same task! *roll-eyes*
-removed get_mob_with_client_list() as it is no longer needed (we have var/list/player_list now)
-removed get_turf_or_move() as it simply called get_turf
-removed get_turf_loc() as it was identical to get_turf()

*Additions:*
-The "Declare Ready" link in the lobby will automatically become "Join Game" if the round starts before you declare ready, so you don't have to click it twice
2013-05-27 12:21:43 +01:00
elly1989@rocketmail.com
4073ac9b00 Replaced all 'file.extension' references with 'relativepath/file.extension' using a script by thvortex of ss13-daedalus.
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.

To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"

If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-18 16:33:40 +00:00