Commit Graph

270 Commits

Author SHA1 Message Date
D3athrow
41d7df01fd just fuck my shit up 2015-07-18 02:30:51 -05:00
PJB3005
365ddd0239 Fixes #5272 2015-07-07 13:25:07 +02:00
dylanstrategie
8f1132f443 Forcefully deprecate meteor_hit()
meteor_hit() is a textbook example of snowflake. What you have here is a
proc linked to a single entity (the small meteor) which shouldn't even
have it (ever since I reworked meteors, small meteors explode) that is
present in FIFTY. FUCKING. FILES.

Since an explosion more than clearly does the damage we want done on
meteor impact, it is more than logical to remove it and lighten our code
of obsolete and obscuranting procs

For the handful of times where it isn't possible to straight up remove
it (immovable rod, dust, small meteor), the code was quickly patched by
making it fire ex_act(2), given that small meteors perform
explosion(src.loc, -1, 1, 3, 4, 0)

Doing it quick and dirty because otherwise it's going to cause conflicts
everywhere
2015-06-29 16:16:03 +02:00
PJB3005
1222c854d0 increase gyrotron power 2015-06-23 17:50:08 +02:00
PJB3005
5c67d46be4 Changelog + Whoopsies 2015-06-20 21:12:24 +02:00
PJB3005
e6ac35d67f Core monitor + whoopsies 2015-06-20 20:45:59 +02:00
PJB3005
5e04da2300 Core monitor fixed + other shit. 2015-06-20 19:15:55 +02:00
PJB3005
dca4b8017a R-UST Mk. 7 Fixes! 2015-06-18 00:16:12 +02:00
d3athrow
9ca7769ace Merge pull request #4584 from ComicIronic/MaterialDatumImpl
Material datum implementation
2015-06-16 16:44:54 -05:00
D3athrow
6f8f1ff08f 110% plagiarism 2015-06-13 20:18:43 -05:00
ComicIronic
06b5e60bbe Material datum implementation
Material datum functionality changed to mimic that of reagents etc. by
using a global datum list and an assoc value list.
Material datums added at the atom level.
starting_materials var added - on New(), the materials in the list are
added to a datum. An empty list generates an empty datum, a null means no
datum.
m_amt, g_amt, and where applicable gold_amt, etc. completely removed,
replaced with starting_materials where applicable.

Fabricators
Fixed a bug with fabricators taking design cost, not shown cost.
Fixed a bug with fabricators taking costs before a design was shown
completable.
Fabricators now transfer the materials they use in the design to the atom
produced's material datum.
Designs are now world-consistent : scanning the same atom will ref the
same design, and scanning an atom with a design will fetch it.
Mechanic fabs now add plastic cost on top of the design, not to it.
Mechanic designs no longer require random extra materials.
Mechanic designs are now material-specific, not type-specific.
Mechanic blueprint uses have been removed, in favour of a consumable
system.
RnD wires moved to the datum system.
Autolathe moved under fabricators. It preserves as much functionality as
possible.
Framework added for plastic costs on mechanic fabs to be toggled, and for
removal of designs to be toggled also.
2015-06-13 16:13:02 +01:00
d3athrow
209b638761 Merge pull request #4531 from clusterfack/hudsrshitnarsiedeletesthemhardcore
Gives HUD Element Pooling
2015-05-19 11:31:55 -05:00
clusterfack
e6951594a7 Hud Element Pooling
Pools the obj/screen elements which are being so casually deleted all the damn time
2015-05-19 04:42:32 -05:00
9600bauds
d57de29755 Protolathe sorting & other wonderful things 2015-05-18 01:25:34 -03:00
d3athrow
ff8530d695 Merge pull request #4405 from clusterfack/IN_WORLD
IN WORLD
2015-05-12 03:20:19 -05:00
clusterfack
e053bd704c IN WORLD
Removes a bunch of in worlds from the code.
Deity please stop adding more it wounds me.
2015-05-12 02:13:48 -05:00
D3athrow
9c21244617 REVERT GAS DATUMS UNTIL COMIC FIXES THE PERFORMANCE ISSUES: PLEASE WORK ON THE GASDATUMS BRANCH https://github.com/d3athrow/vgstation13/tree/gasdatums in the mean time. 2015-05-10 22:55:46 -05:00
ComicIronic
1d0c272f4a Fixes as many instances of not using set_volume, set_temperature, and the proper adjust_gas args as I could find. 2015-05-09 18:46:58 +01:00
ComicIronic
c1a58dc3c3 Gas math stripping
Removed update_values(). RIP, shine on you CPU diamond.
Removed get_moles_by_id and get_archived_moles_by_id, all moles are now accessed directly to reduce call cost.
Added set_temperature and set_volume procs which recalc pressure when temperature or pressure change.
Heat_capacity is now a var updated when gases update.
Modified adjust_gas to use set_gas, modified set_gas to alter heat_capacity, total_moles, and pressure as needed.
2015-05-09 18:43:24 +01:00
ComicIronic
4d432e5240 Gas Datums
Moved gas_mixture gas numbers to a list which is connected to a global gas_datum list, like with reagents.
Modified some maths procs to be more sane, added adjust_gas and set_gas to help with processing.
Added a modular system for gas flags - gases can now be marked as fuel and oxidiser with a flag, logged with a flag, scanned with a flag, etc.
Changed scrubbers to use a list of scrubbing gases rather than a set of vars.
Made miners and xenoarch effects more sensible - they now produce gas by ID, not manually.
Made turfs' starting gases into a list, removed turf gas number vars.
2015-05-04 10:36:04 +01:00
D3athrow
639a1c8c03 this was never checked for some reason. 2015-04-16 00:22:39 -05:00
D3athrow
9c2b08c24e even more 2015-04-14 21:11:54 -05:00
D3athrow
01d2471fc9 Merge branch 'color_replace_2_electric_boogaloo' into Bleeding-Edge
Conflicts:
	code/ATMOSPHERICS/pipe/pipe_dispenser.dm
	code/game/machinery/computer/HolodeckControl.dm
	code/game/machinery/embedded_controller/embedded_controller_base.dm
	code/modules/mining/money_bag.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/silicon/mommi/mommi.dm
	code/modules/mob/living/simple_animal/friendly/farm_animals.dm
	code/modules/research/destructive_analyzer.dm
	code/modules/research/rdconsole.dm
	code/modules/research/xenoarchaeology/machinery/analysis_base.dm
	code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm
	code/modules/research/xenoarchaeology/tools/ano_device_battery.dm
2015-04-12 16:40:59 -05:00
ComicIronic
d0e9eedd25 drop_item and click code.
drop_item now has a first arg, which is the item to drop.
Hand processing now uses drop_item properly, which fixes #3874, #3796.
Also fixes #3486.
2015-04-12 00:56:43 +01:00
dylanstrategie
6b81232efe Window Fixes
- Fix full reinforced windows using the old description
- Add a new brokenup var for the window's Destroy() call.  Defaults to
0, if 1 then the window will shatter into shards and rods (the old
behavior caused any window deleting to shatter them)
- Changes to all files that called Destroy() on windows to use this new
behavior
2015-03-31 20:05:24 +02:00
D3athrow
5d9c06c880 aye papi fix TK not working properly on hardly any machine 2015-03-28 14:56:46 -05:00
dylanstrategie
27be630bea Update window code
That code was old and fucky, goddamn

- Span, formatting, newline, visible_message, yeah
- Separate sprites for window panes and full windows. Might need a bit
more refining still, but that's that
- Remove deprecated commented silicate code. If anyone ever wants to
include something akin to silicate, they would benefit from just
recoding it from scratch. An item that adds health and potentially
changes sprite color can't be that hard to make
- Reduce normal window health by 4 to 10. Why would you use plain
windows
- Remove stupid paths that caused shitty inheritance. window/basic and
window/full/basic were dumb as fucking shit and no longer exist (both
transferred to their respective tree parent, for whatever variables
needed transplating, so 2-3). All full window types under full/ all
reinforced window types under reinforced/, all in that order
- Add in more examine() information (construction state and health)
- Add in healthcheck() to replace destroy(), hit() and all that logging
and variable juggling bullshit in about every proc where the window can
be damaged
- ex_act(), blob_act(), meteorhit() now deplete health only and no
longer magically delete or Destroy() windows. Looks a bit ugly on ex_act
3 since reinforced windows can't be destroyed but grilles always are,
and plasma windows still don't block explosions even if they're now
almost bomb-proof, but that's progress
- Remove window damage on passive grab window "slam", massively increase
mob damage on neck/kill window slam (if you let yourself get grabbed
that far, you deserve to die)
- Change construction from that ugly variable juggling to a fancy and
functional switch() construction code. Include bitflags and
deconstruction safety
- All files that were modified outside of window.dm and fullwindow.dm
are compatibility fixes

Try as I might, I couldn't fix #3515. It appears to be fundamentally
fucked due to the way pushing objects (you enter the window's tile) and
pulling objects (you cannot reach the other side of the window, ever)
works. Maybe someone else will manage it
2015-03-23 13:47:48 +01:00
D3athrow
1da7a0c38c Somehow missed some shit 2015-03-15 17:02:37 -05:00
D3athrow
571b235626 Exploit prevention, prevents non-AI silicons from manipulating machines on a different zlevel. 2015-03-15 16:58:41 -05:00
ComicIronic
34bab36581 Changes to drop_item.
The drop_item arg is now the loc placed, not the child of the loc or whatever.
Removed a few lines of items being placed into themselves, on themselves, into other things manually, into their users, etc.
Cleans up the fix for MoMMI recharger silliness.

This took about 2 hours of non-stop manual searches.
2015-03-08 21:37:34 +00:00
clusterfack
efbdd6b382 Fixes fixes 2015-03-05 17:59:20 -06:00
clusterfack
b401dbf909 Fixes #3319, you cannot use rpd's when they are far away from you.
Fixes machine frames (but the real way that should have been done originally)
Fixes #2701, r-ust topics should no longer be affected by ghost hands
2015-03-05 17:07:40 -06:00
ComicIronic
b44a0430a8 Initial cable changes. 2015-02-17 13:28:28 +00:00
D3athrow
d4d6f5b32b eyy look at me i slap keyboard xd 2015-02-13 18:06:15 -06:00
ComicIronic
d60890cf3e Bump unification.
All living mobs now use the same generic Bump.
This should make debugging MUCH easier.

Also two lines of other code I found and hated.
2015-02-08 20:19:42 +00:00
D3athrow
d3db5b7f72 Fixes #2875
I didnt think of the reprocussions of new being called twice so particles were trying to move in two different directions.
2015-02-08 01:23:18 -06:00
D3athrow
88d0244723 Maybe keep mobs from not getting removed from the mob lists properly. 2015-02-05 22:01:20 -06:00
D3athrow
918bc66f54 Redo human damage icons again. 2015-02-05 04:04:22 -06:00
D3athrow
71a0220e55 Eyy lets defer damage icon updates until the next life tick! 2015-01-16 23:54:54 -06:00
eswordthecat
6a40cc4215 Merge remote-tracking branch 'upstream/Bleeding-Edge' into patch-200 2015-01-15 04:44:26 +08:00
eswordthecat
764d01dc3e e65919da42 2015-01-12 15:42:50 +08:00
ComicIronic
57cf932a54 Merge conflicts. 2015-01-07 16:38:06 +00:00
ComicIronic
9c9e1ff808 Removed the TABLEPASS flag.
No longer in use in any of the code.
Also changed cases of flags being set to null instead of 0.
2015-01-03 18:33:47 +00:00
ComicIronic
e93acf366c More line reduction, message spam for rwalls removed. 2014-12-27 11:59:08 +00:00
ComicIronic
29a039c03a Code rework of placing things on walls.
Stuff goes under types.
Types have procs.
Never have 500 lines of repeated code again.

I came very close to crying while editing this. You should appreciate that.
2014-12-27 00:06:38 +00:00
ComicIronic
5e5bbf03fd Removed the CONDUCT flag.
Use Siemens, you dolts.
This is the start of completely redoing the flag system, but it starts with removing these oldcode flags.
2014-12-26 18:13:52 +00:00
ComicIronic
db4a33166c Fixed welding down machines.
Added the state var to all machines. 0 is unanchored, 1 is anchored, 2 is welded.
Added the WELD_FIXED flag for machines that can be welded down.
Added the weldToFloor proc, which is used to toggle welding down for machines.
Fixed machines not using general procs.
Fixed some relative pathing.
2014-11-12 19:10:11 +00:00
d3athrow
9038da6df1 Merge pull request #1815 from dylanstrategie/SCP-Fix
Fixes to SCP-173 behavior
2014-10-31 18:07:00 -05:00
dylanstrategie
3acf1eca35 Fixes to SCP-173 behavior
I have decided to release the fixes outside of other SCP-related plans
for Halloween. Maybe more adminbuse will occur this way

- SCP nows stuns and paralyses as soon as he gets a grab, and not after
a huge list of fluff. This ensures you can't lag-walk your way out of
his grab forever. At least it should
- Attempt fix to SCP's sight code. Now he should ALWAYS count himself as
observed if someone is facing him, instead of weighting odds like a
drunkard and ignoring non-direct sight 90 % of the time
- Save up one indent level by returning Life() code after sight check if
we have observed
- Fix error caused by trying to get a vent's name, and foolproof it in
general. No need to know SCP went through the Bar Air Vent 2

This should do for now. If any more bugs show up, warn me
2014-10-31 23:57:41 +01:00
Chris
0445314e23 Merge branch 'Bleeding-Edge' into bay_hydro_port
Conflicts:
	code/game/machinery/machinery.dm
	code/setup.dm
	maps/tgstation.dmm
2014-10-24 23:42:32 -05:00