Commit Graph

1604 Commits

Author SHA1 Message Date
Ghom
cc51e57b44 datum/client_colour refactor. (#54741) 2020-11-02 12:20:34 -08:00
Krysonism
9ff7944101 [READY] decorations loot crate! +3 new fancy carpets! (#54612)
* base

* fixes

* crate

* Update code/game/turfs/open/floor/fancy_floor.dm

Co-authored-by: Fikou <piotrbryla@onet.pl>

* adds the crate to the pool.

* the crate is pretty rare, why not let it drop four items?

* Update lootdrop.dm

Newline phone edit

* ungoofed

Co-authored-by: Fikou <piotrbryla@onet.pl>
2020-10-30 22:12:34 +01:00
Rohesie
c55bb1b6c8 Basepixels (#54652) 2020-10-28 20:31:13 -07:00
Azarak
0b880161d8 Directional lighting component + light system (#54520)
Adds in a new type for the lighting system, the directional one. It piggybacks on the overlay lighting to create a directional effect + adds a nice visual cone mask to make the effect feel really directional.
Also: made the static light system respect the light_on variable.

It feels really nice to shine AT things you're looking at with flashlights and the such, it makes maintenance scouring much more immersive too.
Adds more paranoia as you dont see light behind yourself when you've got a flashlight. Plus makes ambushes more fun
2020-10-25 23:49:57 -04:00
Qustinnus
74755a5a3a Audio falloff re-work, and increased audio range. (#54362)
imo; the ss13 audio-scape is quite barren, you can only hear most things if you can see them, which in my opinion doesn't make much sense. This changes that so you can hear further away, but falloff is much higher, so in reality you will only hear things relatively quietly when they're out of sight.

This PR increases the hearing distance of most sound by 9, excluding sounds such as antag items that are meant to be used stealthily

This PR also replaces Byond's inbuilt falloff system with something I made, (And thanks to potato for helping me throw together a formula for it). This fall-off system makes sound fall off more naturally, with sounds being full volume within a certain range, and then softly falling off until they are completely quiet. This makes for a smoother transition between "This sound is full volume" and "I dont hear this sound".

Co-authored-by: ff <ff>
2020-10-20 17:14:16 -07:00
nicbn
a1c59cc9bc Moves screen objects from mob to hud (#54400)
This moves screen images from icons/mob to icons/hud
Makes more sense and it is easier to find
2020-10-15 19:46:36 -03:00
ZeWaka
9629feed35 Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
2020-10-13 16:43:53 -03:00
Rohesie
af65c90125 Mobility refactor: no more update_mobility() (#54183)
This is a pretty big change all around. The gist of it is that it moves the mobility_flags into traits or variables that can track the sources, and to which we can append code to react to the events, be it via signals or via on_event-like procs.

For example, MOBILITY_STAND could mean, depending on context, that the mob is either already standing or that it may be able to stand, and thus is lying down.

There was a lot of snowflakery and redefinitions on top of redefinitions, so this is bound to create bugs I'm willing to fix as I learn them.

The end-goal is for every living mob to use the same mobility system, for the traits to mean the same among them, and for no place to just mass-change settings without a way to trace it, such as with mobility_flags = NONE and mobility_flags = ALL

Fixes AIs being able to strip nearby people. They've lost their hands usage.
2020-10-09 16:04:30 -07:00
Jared-Fogle
b327b9e5ae Adds Shuttle 667 as a buyable shuttle for dispelling a cult rune (#53975)
* Adds Shuttle 667 as a buyable shuttle for dispelling a cult rune

* Add stasis beds

* Fix forcefields going away, leading to hull breaches

* Use set instead of list

* Use subtype for forcefield walls
2020-10-04 21:36:46 +13:00
LemonInTheDark
0be337d01c Makes some things that rely on atmos adjacency more sane/faster. (#54096)
* Replaces some CANATMOSPASS calls with a new define that checks if the turfs are in each others atmos adjacent list, as that's the same info that they want.
2020-10-01 13:19:52 -07:00
Qustinnus
eca964db35 Ports soup, snacks, icecream, salads and meat to newfood (#54028)
Ports soup, snacks, icecream, salads and meat to newfood
2020-09-29 20:36:27 -07:00
nemvar
963779471a Merge pull request #53906 from Rohesie/smoothing
[READY] Refactor icon smoothing to use 8-bit bitmasking
2020-09-29 17:07:12 +02:00
tralezab
f68ac806f8 Reimagines Venus Human Traps (#53880)
Venus human traps now have a new sprite, new sprite for their bud, new sprite for their vines, their bud has icons according to how grown it is, they get sounds for hitting, getting hit, and dying.

oh yeah and I renamed the path flower_bud_enemy >flower_bud
2020-09-29 06:00:35 -03:00
Timberpoes
9ad38ff0ce Fixes mapstart and random arcade machines (#53958)
Randomly generated arcade machines were getting random boards and initing properly, but they weren't re-built as the appropriate subtype.

This oversight has been remedied. A new subtype has been created for random arcade machines which exists purely to pick a random circuit then create a machine from that circuit's build path before returning that it should be qdel'd.

This new subtype has been appropriately regex find-and-replaced into all maps.
* Objectify
2020-09-27 13:59:07 -03:00
L
baa30b5d42 floors 2020-09-26 12:14:30 -03:00
L
fb38066f09 bitmask 2020-09-26 12:14:27 -03:00
L
5a21a0d92f objs 2020-09-26 12:14:26 -03:00
L
37fc1b235a diagonal corners 2020-09-26 12:14:25 -03:00
L
e461d7b777 icons 2020-09-26 12:14:25 -03:00
Timberpoes
9c95813da4 Rebalances space loot and space exploration (#53916) 2020-09-25 04:53:43 -07:00
Tad Hardesty
df8df0a8a7 Disable some effect systems during init (#53929)
Instantly spread gib streaks rather than doing so over a delay
Completely skip broken light fixture sparking during init
2020-09-25 08:47:32 -03:00
TiviPlus
3dad9ef20f Refactors decals to an element (#53922) 2020-09-24 21:36:17 -03:00
Couls
f174cd671c improve performance of vis_overlays by handling dir by using vis_flags (#53816)
vis dir changes are now handled by vis_flags
2020-09-24 06:00:41 -03:00
Ryll Ryll
80cefef747 Fixes projectile impacts + messages, embedding, adds deployable landmines (#53436)
* icon and alert anim

* hmm

* projectile and embed fixes

* cap mine

* clean up, fix some issues with projectile embeds

* light

* doc

* icon

* awkward

* icon again
2020-09-23 07:53:55 +02:00
tralezab
e44dcc035c Flower Buds now have a countdown for ghosts for when they're going to hatch (#53648)
They're two minute timers with no indication, which makes kudzu kinda annoying to spectate.
2020-09-23 00:50:26 +01:00
TiviPlus
ff1631b7b9 Fully removes devil and affiliated shitcode (#53612)
Its all over the place, messy, and overall a bad enough gamemode to be removed from rotation.
A rework would have to tear out everything as is so there is no reason to allow the shitcode to live beyond tripping up everything.
2020-09-23 00:46:21 +01:00
TiviPlus
c35008b1b0 Optimizes Conveyors (#53220)
Less proc overhead
Made the actual moving speedier
removed a unused var
2020-09-19 10:37:15 -03:00
Mickyan
35752f491a Adds sidings floor decorations (#53797)
This was a frequent request from mappers ever since trimlines were added, they work similarly to trimlines but they have different use cases and don't necessarily work together, so I am calling them sidings to avoid confusion.
Whereas trimlines are floor paint for plating, these are solid borders to be used either alongside walls, smoothing transitions between floor types or mark/split an area without having to use walls, and work with any floor type.

These are ALL greyscaled, so they're trivial to bikeshed customize and make new types for your mapping needs
- Colored (plastic/vinyl strips, standard departmental colors)
- Plating(metal, grey/white/dark)
- Wood(it's wood)

I've added them to meta's bar as a small example
2020-09-18 22:10:32 -04:00
Jordan Brown
a1498d7fd6 Merge pull request #53812 from SgtHunk/ITS-HAURRIBLE
Adds the CRAZY HAMBURGER
2020-09-18 22:05:50 -04:00
SgtHunk
eb27bb33d3 GRASS OF DEATH
Could I have added green smoke in some other way? Possibly.
Do I know how or have the brain power for it? Not really.
Oh yeah also actual sprite for the burger, along with all ingredients i've missed
2020-09-18 14:57:34 -03:00
oranges
538aaf8314 Slightly optimize shroom spreading code (#53652)
There were some recent lag events on the servers caused by the timer  
subsystem jamming up with glowshroom timers. I whined about this but  
nobody did anything so

(Thanos "Fine... I'll do it myself" GIF)

There are a few changes here, first we collect the potential turfs for 
the view call in a single pass, not once per yield run.

Second we don't run a second view(1) on every single potential turf, 
instead we try to randomly pick a turf 3 times during yield phase and 
check the view then.

If we fail to find a potential location then we bail out of that yield 
phase. This is a tradeoff between processing time spent finding 
locations and the chance that the glowshroom fails to spread.

Finally, we have maximum limit on how many times a glowshroom fails to 
spread, if it fails to spread at least 5 times over any iteration, it 
stops processing for spread completely.

As a bonus, the timers have been made unique, so we don't accidentally 
generate multiple timers for a single shroom, other than the two it 
already needs.

This code would benefit from being a separate subsystem and grouping, 
generations of the plants together as a single ticking entity and just 
spreading from selected edge plants. However I don't particularly feel 
like plumbing that together, so this will suit for now.
2020-09-17 23:46:20 -07:00
tralezab
1424bd0b2a Countdowns now use the maptext class (#53649) 2020-09-13 06:01:58 +01:00
Emmanuel S
953e337eb3 Pod launcher renaissance squash (#52611)
Refactoring of Flex, Fix Section scrollable

Getting presets working


wip


Upgrade dependencies

preset notice, tooltip fixes, pod spawnlocation fixes


finishes UI, final polish


quells one travismoment


Apply suggestions from code review

Co-authored-by: Rohesie <rohesie@gmail.com>
better var names


better vars


sound for loop


Further review addressing


runtime fixes


Update code/modules/asset_cache/asset_list_items.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
More review addressing


tgui merge


why was that there


Small improvements


Small Improvements Part 2


dropoff / wall moving improvements


compile!


more fixes
2020-09-10 20:22:47 +03:00
Donkie
53b212ddf2 Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)
* Process procs now properly use deltatime when implementing rates, timers and probabilities

* Review fixes

* Geiger counters cleanup

Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now

* Moved SS*_DT defines to subsystems.dm

* Rebase fix

* Redefined the SS*_DT defines to use the subsystem wait vars

* Implemented suggested changes by @AnturK

* Commented /datum/proc/process about the deltatime stuff

* Send delta_time as a process parameter instead of the defines

Also DTfied acid_processing

* Dtfied new acid component
2020-09-08 10:24:05 +02:00
TemporalOroboros
111676c9b7 Acid Component (#53273)
Makes acid levels a component.
    Merges the acid effect object into the component.
    Reworks acids decay rates slightly.
    Rebalances xenos acid spit so that they can still melt through walls.

Misc. associated changes:

    Adds defines for a lot of the acid associated constants.
    Documents clean types and adds CLEAN_TYPE_ACID
    Adds and implements a return bitflag for COMSIG_COMPONENT_CLEAN_ACT
    Adds a looping sound for acid.
    Makes /atom/proc/acid_act return a boolean.
    Fixes waterclosets creating a new reagent holder datum every time they are used.
    Removes waterclosets regenerating reagents on-use and restricts their reaction volume to 5 units.
    Adds and implements a couple reagent signals.
    Renames a few vars so Rohesie can stop telling me to rename more vars.
2020-09-05 16:18:55 -03:00
TiviPlus
550e763433 Reenables SHOULD_NOT_SLEEP on initialize (#53378) 2020-09-04 20:44:08 -03:00
NightRed
52a0183e80 Cleans up extinguish_mob and prevents perpetual fire (#53252) 2020-09-02 19:48:50 -03:00
Ghilker
60355138f8 Crystal Event: flavor texts, signaler, balancing and mob differentiation (#53340)
This PR adds a bunch of flavor texts to the different devices and structures that are used during the event, all to make clearer to the players what to do without too much troubles.
Also i added the ability to use the normal Analyzer+signaler to close the portals and achieve the same result of dropping the crystals.

This PR have more stuff inside: I tweaked the health of the mobs to be balanced around the "toolbox damage" (around 15), so that in 2 or 3 hits they'll fall. I tweaked the damage so that those mobs are all around pretty dangerous, plus each one gets a personal effect: the minion gets a smoke effect on death, the thug gets a random teleport when hit and a dodge ability, the recruit can smash delete walls on touch, the killer is fast and shoot a freezing ray to slow down victims, the boss has an AoE tesla-like attack can dust mobs if they are in crit conditions (thus consuming them)
spawned anomalies don't explode anymore.
You can sacrifice someone to the crystal to increase the spawn delay by 5 seconds permanently
tick for the event is once every 2 seconds, have to use raw numbers to define the duration (15 minutes)
2020-09-01 18:53:43 -03:00
Timberpoes
1be4c428ca Fixes Hyperkinetic Dampener Field runtime. (#53275) 2020-09-01 17:23:41 -03:00
uomo
56467396b4 Mining sign fix. (#53251)
Turns old mining "signs" into turf decals instead

It looks nothing like a sign, so, this just made sense.
Moved the icon from the mining survival pod walls file, to the turf decal icons file.
Replaced every instance in the maps with the new type path.
2020-08-30 22:52:09 -07:00
TiviPlus
ce3d7e2f0d Mecha refactor 2020 (#52902)
-Mechs are a vehicle subtype
-Mech equipment half-rewritten
-Mech actions completely redone
-Cooldown macros
-New movement macros & replacing all var in GLOB.diagonals with ISDIAGONALDIR(var)
-New lazylist macro
-Support for lavaland only mechs
-Removed the tank because fuck off with that hacky shit
-Documentation
-Fuckton of fixes
2020-08-29 23:33:47 -03:00
Qustinnus
75415d3eb5 Refactors burgers to use components & auto-eating (#53224) 2020-08-29 03:11:37 -07:00
TiviPlus
ca366c3ea1 Bools and returns super-pr (#53221)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-28 14:26:37 -07:00
Donkie
9c3846885f Bloody feet update (#53109)
Componentized the bloody feet feature.

* Hardsuits and other feet-covering clothing can now get bloody feet as well and spread gunk around.
* Bare feet can now get bloody as well and spread gunk around.
* Shoes/feet won't get bloody if something is covering them.
* Improved blood spreading behaviour. Previously, magic numbers were used in the blood pick up and drop off process. Now, when you step in blood, you and the floor share the blood volume. When you step on a non-bloody tile, you give away half of your shoe blood to the tile, and so on. This means the total blood volume always stays constant when moving around. * Blood doesn't appear out of thin air, nor get flushed to bluespace.
* Lowered footprint minimum opacity. Because it looks better, imo.
* Improved footprint exit/enter dirs.
* Improved footprint examine.
* Removed code for cult magic where a spell can suck up blood on your shoes. I'm pretty sure this code didn't work anyway. Implementing that for this new system would require a new signal and I just don't think it's worth it.

How can this game make you spend 20 hours on fucking spaceman footprints

Hardsuits will become "fully bloody" by just stepping in blood. This is a limitation of the current forensics system, as that is what is used to determine if an item is bloody or not. I'm aware of this but I don't think it fits to fix that in this PR.

cl
add: Footprints and bloody shoes major update. Hardsuits and bare feet can now get bloody as well. Improved blood spreading behaviour.
fix: Shoes will no longer get bloody while wearing something that covers them.
/cl
2020-08-27 09:57:20 +12:00
81Denton
3858b72bdb Merge pull request #53020 from Qustinnus/fatgrowing
[READY] Vatgrowing: Third time's the charm
2020-08-24 22:46:08 +02:00
Krysonism
9723c5956b gross decal spawner + more swab sites (#34) 2020-08-24 22:22:05 +02:00
ShizCalev
afc61e2d4b Fixes broken circuit board in delta's electronic marketing den (#53149) 2020-08-24 08:49:23 -03:00
TemporalOroboros
6e950daccc Defines damage flags. (#53158) 2020-08-24 08:20:33 -03:00
floyd
d8c2e683a0 Merge branch 'master' into fatgrowing 2020-08-22 23:01:19 +02:00
Rohesie
eda7c6ca55 Overlay lighting component (#52413)
Sparks no longer lag, projectile beams move super smoothly, same with mobs and whatnot. This also allows for easy expansion into directional lights, field-of-view, wee-woo rotating lights or whatever.

It does have a downside: things right-clicked or checked through the alt+click tab will show the light overlay:


This is a BYOND limitation, very well worth it IMO.

🆑
add: Smooth movable lighting system implemented. Projectiles, sparks, thrown flashlights or moving mobs with lights should be much smoother and less laggy.
balance: Light sources no longer stack in range, though they still do in intensity.
/🆑
2020-08-22 14:56:38 +12:00