Commit Graph

427 Commits

Author SHA1 Message Date
Erki
6fe90002dd Up-hint and UI cleanup (#3773) 2018-01-27 12:11:22 -06:00
Lohikar
ac6ed6be7c Decal tweaks (#4126)
changes:

The asteroid now has random rock decals.
Ported TG's improved corner decals.
2018-01-23 16:10:23 +02:00
Alberyk
92df6286e5 Tweaks lava interaction and fixes the missing openspace_override_type (#4087)
-tweaks a bit more how lava do damage
-fixes the missing openspace_override_type that were removed on accident
2018-01-20 23:41:54 +02:00
LordFowl
148ba78e64 Unapologetic Janitor Buffs (#4006) 2018-01-15 21:25:22 -06:00
Alberyk
005f7f8c30 Adds lava interaction (#4037)
Adds lava interaction: humans walking on lava titles will suffer a slowdown then being set on fire, cyborgs and simple mobs will only take burn damage.

Added the lava and basalt turfs to a random map generator, and replaces the tundra's ocean with the title just named water.
2018-01-07 11:21:42 +02:00
Lohikar
6f85f08718 Convert a bunch of legacy overlay calls to SSoverlays (#4015)
Bunch of overlay conversions I found in an old stash I had forgotten about.
2018-01-07 00:34:47 +02:00
Lohikar
ddd7748903 ChangeTurf tweaks (#4036)
changes:

Lighting's ChangeTurf() override has been merged into the base ChangeTurf() proc.
Turfs can now set an alternate openturf type to be used instead of the default one when ChangeTurf(/turf/space) or ChangeToOpenturf() is used.
Added ChangeToOpenturf() helper.
Added a missing dig icon state to the rocky ash DMI.
Fixed an issue where the above var was not properly carried over on ChangeTurf().
Fixed an issue where Z-mimicing turfs would not be notified of their below turf ChangeTurf()ing unless they were an openspace.
2018-01-06 11:53:18 +02:00
Lohikar
06514840f7 Z-Mimic (#3907)
* Openturf icon fixes and improvements

* more things

* Remove some pointless/bad layering/planing

* yeah well I didn't need this anyways

* Refactor Z mimickry to be at /turf

* more refactoring

* Cleanup, use turf/flags instead of z_mimic_flags

* Fix turf/Entered()

* misc optimizations

* fixes

* Major icon smoothing optimizations

* Speed up boot some more

* Fix AO

* Remove some redundant code

* Tie Z-lights to Z-mimic instead of openturfs

* Fix an opacity issue with no_mutate turfs

* Fix some issues with Z-mimic AO not properly clearing

* Fix some OT->OT changetuf bugs

* Add helpers for changing Z-mimic operational state on turfs

* Fix some merge issues, change how F_CUT smoothhint works a bit.

* indentation

* SSopenturf -> SSzcopy
2017-12-30 04:42:18 +02:00
Lohikar
3b19323055 Basalt turfs (#3985)
changes:

Adds three new turf types: lava (separate from the existing lava which is bound to the flooring system), basalt (a child of asteroid turfs), and chasm open spaces.
canSmoothWith lists on asteroid turfs are now in the form of a shared global list for performance reasons.
'Ash' turfs have been repathed to /turf/simulated/asteroid/ash. Base asteroid turf type should not be used directly anymore; maps have been updated to new path.
Airless openspace, chasms, and airless chasms now have map-time debug icons.
No player-visible changes, just prepwork for future things and performance tweaks.

Sprites from TG.
2017-12-24 22:30:36 +02:00
skull132
9faccd5e61 Merge branch 'master' into development
# Conflicts:
#	html/changelogs/.all_changelog.yml
2017-12-23 21:37:36 +02:00
Lohikar
bb5a34eaf8 Misc. Optimizations (#3993)
changes:

Overlays now creates less temporary lists.
Falling no longer queues unsimulated atoms that wouldn't fall anyways (incl. LOs).
Pixel-shifted AO is now cached too.
Changed some references to get_map_cell() to macro equivalents in random maps.
Added smoothing hinting to the icon smoother, allowing for major performance improvements in common cases.
Space initialization no longer involves appearance churn (and is much faster as a result).
2017-12-23 21:27:51 +02:00
Lohikar
f73849368f Make get_smooth_underlay_icon work properly with space parallax (#3906)
Fixes an issue where space underlays on diagonally smoothed turfs would not work properly with space parallax.
2017-12-18 00:20:35 +02:00
LordFowl
f8daffdcfa Tidies up Mine Drones and Gifts (#3930) 2017-12-13 17:14:48 -06:00
Lohikar
cd910c072c Asteroid tweaks (#3951)
changes:

Z-levels below the surface now use 'rocky' ash instead of ash turfs. (Sprites from TG)
Fixed an issue where openturfs would incorrectly inherit their mimiced turf's gender.
Tweaked the names & descriptions of sand (now ash) and rock.
Reduced some pointless locate() calls in icon smoothing code for turf paths.
Replaced the empty space map with runtime Z expansion.
Fixes #2756.
2017-12-10 00:20:35 +02:00
skull132
d536d9f4aa Merge branch 'fake-master' into development
# Conflicts:
#	code/ATMOSPHERICS/atmospherics.dm
#	code/defines/procs/announce.dm
#	maps/aurora/aurora-3_sublevel.dmm
2017-12-09 00:08:21 +02:00
Lohikar
82f347040b Stacker fixes (#3903) 2017-11-25 21:30:21 -06:00
Lohikar
f53c99bea4 Add map laceholder objects for mine turfs (#3828)
changes:

Mine turfs now use a 32x32 icon on the map to make them easier to map with. In-game behavior (should be) unchanged.
2017-11-18 18:46:59 +02:00
skull132
c0f22a1cdd Merge branch 'master' into development
# Conflicts:
#	maps/aurora/aurora-1_centcomm.dmm
2017-10-29 16:15:53 +02:00
Lohikar
fc78e49b14 Fix AO being broken on ChangeTurf() (#3732)
Fix AO being broken on ChangeTurf()
2017-10-22 17:53:39 +03:00
Lohikar
61b5203d24 Runtime Map Loading (#3597)
changes:

Maps are no longer compiled in, instead loaded directly from the DMMs at runtime.
Z level defines have been moved from the config to map datums.
Unit tests now use typecaches.
DMMS now actually works.
DMMS has been updated slightly.
DMMS is now capable of loading simple lists of non-text types.
DMMS is now faster when loading many types without mapped in attributes and when loading area instances.
Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid.
Holodeck presets are now defined on the map datum.
Atmos machinery now uses Initialize().
2017-10-18 23:07:34 +03:00
Lohikar
146726ffcf Fix AO not initializing on mine turfs (#3639)
Fixes #3638.
2017-10-14 19:32:33 +03:00
Alberyk
e8786864b1 Reduces the income of the working classes (#3608)
Nerfs mining making a fuckton of money easily, now you need 1,000 mining points to get 100 credits.
Also, thermal lances are more expensive and you can buy only five of them.
2017-10-13 17:38:49 +03:00
chaoko99
a3b0a30890 Singulo cannot eat ores. (#3594) 2017-10-10 10:32:26 +02:00
Lohikar
8f4b4effae Kill processing_objects (#3398) 2017-09-09 15:22:58 -05:00
skull132
16d33365c2 Merge branch 'master' into development
# Conflicts:
#	code/modules/client/preference_setup/loadout/loadout_xeno.dm
#	code/modules/customitems/item_defines.dm
2017-09-09 21:38:02 +03:00
Alberyk
0d8fe2e6a4 Adds more in hand sprites for certain items (#3392)
Adds a lot of more in hands and back sprites, wielded shotgun sprites, guns, bags and things like mining satchels and bee nets.
2017-09-08 13:14:52 -05:00
Lohikar
06ea9d6ac2 Mining performance fixes (#3387)
changes:

Mining ore bags are no longer painfully slow.
The ore summoner now sleeps instead of just giving up on TICK_CHECK.
2017-09-03 00:47:01 +03:00
Lohikar
67bac9475d Restore old machinery init behavior (#3380) 2017-08-31 22:56:05 -05:00
Lohikar
dc85579850 Closet & use_check() tweaks (#3346)
changes:

use_check() will now show failure messages to the affected mob by default. It still returns the failure reason & permits disabling of messages via. the show_messages parameter.
Lockers now take 2 seconds to weld or disassemble.
A progress bar is now shown to mobs with the progress bars pref enabled while attempting to break out of welded lockers.
2017-08-29 23:25:19 +03:00
Ron
ceab73c63e Makes some machines upgradeable (#3311)
Adds the ability to upgrade the following:
- Sleepers
- The ore processor
- All cooking appliances (Minus the microwave)
- Tesla Coil

Also makes components not spawn in machines until they are needed (When they are being upgraded) to reduce the objects generated. Adds some new macro's and converts some istypes to use them. And moves stock parts into their own file.
2017-08-28 01:51:37 -05:00
skull132
1aa305f1f9 Merge branch 'master' into development 2017-08-13 23:30:37 +03:00
Lohikar
0cec8fad8c Maybe reduce ore magnet lag (#3248) 2017-08-11 23:07:59 +03:00
Lohikar
c3c31c85ea Machinery Component Initialization Refactor (#3258)
Machinery objects' component_parts list is now automatically populated with the types in the component_types list. Types can have an associated number which is interpreted as an instruction to spawn that number of that type. This eliminates a few Initialize() procs, and simplifies others.
Example:

component_types = list(
    /obj/foo/bar,
    /obj/baz = 2
)
Other changes:

Cable coils will now no longer force a stack size of 30 when created without their stack size passed as a parameter - this fixes anonymous types not working correctly with cable coils.
2017-08-09 20:33:14 +03:00
Ron
3e1356c9b0 Adds a limit to mining vendors (#3260)
Adds a limit to items in the mining vendor. Most items have 10, some items have more/less, all items that come from the shuttle have infinite stock along with some other items like point transfers. And the floodlight comes on the shuttle now.
2017-08-09 20:23:09 +03:00
Ron
cb5e227320 Converts some istype's to use helpers (#3224)
Converts various istype's to use helpers. Mainly:
Cable
Wrench
Screwdriver
Multitool
Crowbar
Wirecutter

And makes the helpers defines.
2017-08-06 22:08:42 +03:00
Alberyk
868d4d37bf Fixes some things (#3197)
Fixes #3195
Fixes #3194 by reducing a bit the mining pickaxes damage and the kinetic accelerator damage
Allows fitness machines to drain a bit of nutrition as you use them
Fixes one of the syndicate cyborgs sprites having a rogue pixel somewhere
Fixes some barsigns not having icons for all directions
Brings back the illegal guns crate to cargo due to massive popular request
2017-07-31 21:56:48 +03:00
Erki
07cedfb335 Some more fixes (#3130)
Fixes #2173
Fixes #1927
Fixes #3100
Fixes #3087
Fixes #3124
2017-07-23 01:03:41 +03:00
Alberyk
ac5b4ea055 Food, hair and grammer fixes (#3058)
Fixes #3051
Fixes #3055
Fixes #3057
Fixes #3061
Fixes some food having no taste, also fixe cheese tasting like meat and other minor things like grammar.
Removes the ,45 magazine from the warden's locker, and give them a helmet to match his armor
Fixes a missing window at the main central level
Fixes a messed up hall at central command
Adds a small room for interview for the ccia in the odin, that was left out due to map issues
Adds the captain chair overlay that I forgot to add way back
2017-07-16 11:56:13 +03:00
skull132
7a63a918c4 Mining flags into light beacons (#3039)
Turns the mining flags into light emitting beacons. This is for added ambiance and to make them more useful in the not-at-all lit asteroid of Nümap. They can now be used as waypoint markers!

Preview: https://kama.skullnet.me/index.php/s/E9ko2agfntCCamA
2017-07-15 21:57:53 +03:00
Alberyk
2f949ecb45 Ports baystation armor system (#2954)
Ports Baystation12/Baystation12#12658

Changing how the calculation of armor works , instead of just being a check if it is protected fully, half or nothing. Making armor more reliable and less rng dependant.

Also, uranium meteors will irradiate nearby people when they explode.
2017-07-15 16:24:03 +03:00
Lohikar
41e39f52d1 Wall Icon Refactor (#3023)
changes:

Atom types can now define custom adjacency code for the smoothing system.
Walls now draw using the generic icon smoothing system.
Walls now pre-bake colors into their icons instead of doing it client-side with the color var.
Walls can now use the SSoverlay appearance cache; wall icon updates should be faster.
The "rusty" wall type now actually works.
Smoothing now uses mutable_appearance instead of image in some places.
Should be a bit easier on clients, though I haven't done profiling.

This PR breaks 510 compatibility.
2017-07-15 16:22:21 +03:00
Lohikar
b5472e50f4 Convert a fuck ton of machines to Initialize() (#2985)
Needs testing, but shouldn't break anything. Also adds Destroy() to the SMES base class.
2017-07-14 20:08:59 +03:00
Lohikar
f885bffdae More tweaks (#2889)
changes:

Clipboard overlays are now a little gentler on SSoverlays.
Ported potential performance improvements for getFlatIcon and listclearnulls from /tg/.
Icon smoothing now clears the base icon by default; SMOOTH_NO_CLEAR_ICON disables this behavior.
Potential SSoverlays performance improvement from /tg/.
Speculative fix for #2826.
2017-07-01 23:09:10 +03:00
Alberyk
1365befb04 Fixes some things (#2886)
Fixes #2832
Fixes #2821
Fixes #2805
Adds a tint to the bomb suit helmet
Fixes the wizard voidsuit an outdated wizard faction check
Fixes pants don't convering the legs
Fixes hailers showing their messages on the lobby
Reduces the recharge cost of the mounted thermal drill, so, it won't use an entire powercell when you fire it once
2017-07-01 21:53:49 +03:00
Lohikar
9a899801b1 more closet initialize (#2855)
Converts some closets to fill() that I missed in my first pass.
2017-06-28 14:37:42 +03:00
Lohikar
8445d042dc Miscellaneous fixes (#2774)
changes:

Fixed various GC failures.
Converted integrated radios (used in PDA cartridges) to Initialize.
Added a missing Destroy to the QM PDA cartridge's integrated radio.
Fixed a runtime when mineturfs with no ore were destroyed by explosions.
Fixed a runtime when explosions attempted to Z-travel.
Minor radio performance improvements.
Converted radio globals to defines.
Changed the Security-I and Medical-I frequencies to use the same colors as their respective departments.
Fixes #2646.
2017-06-21 00:09:55 +03:00
skull132
36cb778548 Add roofs (#2737)
Implements roofs
2017-06-17 22:18:39 +03:00
Lohikar
0db557ac29 machinery_process() & auto_use_power efficiency tweaks (#2657)
changes:

Machinery now uses machinery_process() instead of process(), allowing machines to be put into SSprocessing-style lists in addition to the machinery list.
Automatic power calculations now involve less proc-calls.
2017-06-12 19:09:36 +03:00
Lohikar
a28fbd1415 Icon smoothing fixes (#2624)
Fixes some issues with smoothing, including asteroid flooring losing its sprite for no apparent reason.
2017-06-05 11:15:47 +03:00
LordFowl
5ae8a2d5a5 [New Map] Digging with a shovel no longer creates ore from nothing (#2611)
Using a shovel to dig a hole will now only spawn ore that that ore already holds. This means that an ore scanner is once again needed to maximise profits, although digging with a shovel remains far more inefficient than digging with a drill, due to simply how much sand there is in a sand tile.
2017-06-05 11:13:32 +03:00