Commit Graph

67 Commits

Author SHA1 Message Date
Leshana 4c5b7655b5 U_I Phase 2.5: Fix *swish deleting tail overlay
All more cases of "don't call apply/remove multiple times!
2018-03-08 19:34:01 -05:00
Arokha Sieyes 53a185f838 U_I Phase 2.0: Code cleanup
Removing calls to update_icons_layers and the like, stubbing them to help track down future calls.
2018-03-08 19:33:44 -05:00
Leshana 741e02407a Port SSoverlays & Convert turfs to use it (#5004)
* Added "Display Initialize() Log" admin debug command so you can see it mid-round.

* Ported the core of the overlays management subsystem from /tg

- Added SSoverlays subsystem for compiling overlay lists and applying them to atoms in a controlled anti-lag subsystem.
- Added vars and procs to atom which should eventually replace all direct interaction with BYOND's /atom/overlays var outside the subsystem.
- Added OVERLAY_QUEUED flag to var/atom/flags bitfield.
- Added small framework for subsystem performance tracking. So far used only by SSoverlays
- Added admin debug command "Display overlay Log" to see performance stats mid-round.

* Fix runtime on universal pipe adaptor update_icons

* Workaround for appearance_bro not initialized

Unfortuantely BYOND's initialization order is strange, and the appearance_bro var is only half initialized when map starts to load, causing errors.  We temporarily fix by moving it to be a global-scoped global.

* Convert fire alarms to use add_overlay() A good first test.

* Convert turfs to use add_overlays(), eliminating the turf_overlay_holder!

- Converted as much as I could find about turf overlays to use add_overlay().
- This should be enough to stop BYOND from crashing, so we can eliminate the turf_overlay_holder hack.
- This also lets us remove the anti-corruption hacks from walls and open space.
- ZAS gas overlays can use priority overlays, so this also fixes the gas-goes-away-when-crowbarring-plating issue.
- Stuff like that

* Convert turf overlay interactions to use add_overlay.

Note: This is a plain and simple conversion of existing code to use SSoverlays. However I look at the line changed, and note that that line likely never fully worked as intended, as it has no way of re-applying itself.
I would make it use a priority overlay, but there is no code present for *removing* said overlay from neighbors when it is no longer required.  That code should be implemented by original author.
2018-03-05 19:43:23 -06:00
Arokha Sieyes f2fef6f410 Planes Framework (#4545)
* Polaris initial plane upstream merge

* POLARIS: Fix RIG visors with new plane system, and material scanner VIS_FULLBRIGHT

* POLARIS: Fix GetFlatIcon so that cameras and id pictures don't show the HUD overlays.

* POLARIS: Adds a 'alter values' proc for plane master ease of tweaking

Setting stuff like colorblindness variety and things.

* Remove NIF reference, fix lighting layer define

* Handle effects above lighting plane

* Moved all layer defines to planes+layers.dm
* Fixed overlays that are supposed to be above lighting to use the PLANE_LIGHTING_ABOVE

* Merge: 3000% human/update_icons() speed improvement

* Merge: Avoid ghosts pointing at things
2018-01-17 13:45:54 -06:00
Cameron653 97957fcaee Replaces more macros. (#3647)
* MORE MACRO CHANGES

AHHHHHHHHHHHHHHHHHHHH

* Fixes a few typos

* Fixes compile error

* Fixes for real

* 4 macros left that I can't find
2017-07-27 21:12:21 -05:00
Cameron653 e158fcd3cc Macro Replacements. (#3574)
* A preface to my madness

Travis failed one of my PR's because I copied old code
that used /red /blue /green.

Because of this, I am going to find and replace every
instance of it that I find.

Also this is a test commit to make sure I'm comitting
to the correct branch.

* /blue /green /red replacements

Dear god.

A slow and painful death from acid is more fun than this.

I wouldn't wish this torture on my worst enemy.
And this is only the beginning

* Replace part 2.

Time to fix the human error.

* Fixes mismatches

* Sets macro count to 220

One above the current number of macros in the code.

* Fixes last of the mismatches.

* Removes spaces, replaces \black

Removes spaces
Replaces \black in a few areas where seen
Replaces \bold with <B> </B> where seen

* Updating macro count again

* More fixes!

* Issues fixed! For real this time!

I swear!

* Fixing all the merge conflict files.
2017-07-19 12:47:23 -05:00
Leshana c91dc333cd Some more types which need Destroy to return qdel hints! 2017-06-14 01:13:54 -04:00
Arokha Sieyes c79bdb056b Holodeck menu tweak
Prevent the menu item from updating if the loaded area doesn't update due to the mandatory delay between changes for example
2017-05-17 20:43:03 -04:00
Arokha Sieyes db43334024 Allows more than one holodeck
The current code does not account for there ever being more than one holodeck. This alters it so that you can make various subtypes of the holodeck computer for other areas, each with different loadable programs.
2017-04-30 16:53:55 -04:00
Neerti 12abb2d6f2 Ports a large chunk of the map datum system that europa/bay uses.
Links many map-specific details such as the station name, z-level information, and allowed jobs from global vars to map datum vars, which should help us maintain multiple maps at once in the future, which will be needed for the future Southern Cross.
Note that a config change will be needed to change GENERATE_ASTEROID to GENERATE_MAP, otherwise no changes should be required to continue normal map usage.
To change to a different map, it's suggested to tick the file that ticks all the other needed files, which for the Northern Star is called northern_star.dm.
2017-02-27 07:36:41 -05:00
Neerti 828dacf485 Centralizes weight class definitions
A lot of new defines are now in inventory_sizes.dm, which contains;
All the size identifiers (the thing that tells the game if something is bulky, or w/e).
Storage costs for all the sizes, which are exponents of two, as previously.
A few constants for inventory size.

Also changes all storage item's capacity definitions by basing it off of how many 'normal slots' exist for it.  This allows one to change the definition for all of the defines in the file, and everything will follow along without needing to change 500 files.  In testing, I made all ITEMSIZE_COST_* defines doubled, and nothing had broke.

The benefit of doing all of this is that it makes adding new weight classes in the future much simpler, and makes knowing how much space a container has easier, as seeing ITEMSIZE_COST_NORMAL * 7 means it can hold seven normal items.
2016-09-22 00:51:51 -04:00
SinTwo 7192bf08fd item_state cleanup 2016-07-11 22:31:32 -04:00
SinTwo 244fb40de8 Fixes part 1 2016-06-20 23:32:18 -04:00
SinTwo 32e9c4a34b Merge branch 'master' of https://github.com/PolarisSS13/Polaris into NanoUI
Conflicts:
	code/game/machinery/adv_med.dm
2016-06-20 11:51:25 -04:00
SinTwo 1e2136781c Adds NanoUI for multiple computers. 2016-06-20 11:48:52 -04:00
Yoshax cd9fdd228b Merge branch 'master' of https://github.com/PolarisSS13/Polaris into attackcall 2016-05-28 20:22:09 +01:00
Datraen beda3185eb Reverts the second mob clean up because of incomplete implementation.
This caused an error that would then cause machinery to hang on the server, and was reproduced successfully.
2016-05-04 00:24:55 -04:00
mwerezak 11c5b10bb9 Refactors various item attack() implementations
Replaced some attack() overrides with apply_hit_effect() or other attack
procs where appropriate.
Removed the attack() override from reagent_containers.

Conflicts:
	code/game/objects/items/weapons/clown_items.dm
	code/game/objects/items/weapons/material/kitchen.dm
	code/game/objects/items/weapons/stunbaton.dm
	code/modules/mob/living/carbon/human/human_defense.dm
	code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm
	code/modules/mob/living/simple_animal/friendly/spiderbot.dm
	code/modules/mob/living/simple_animal/simple_animal.dm
2016-04-22 04:57:22 -04:00
Kelenius df5a0d7941 Mob inventory cleanup
Replaces three item removal procs with one
Adds a proc to delete an item on the mob
2016-03-24 01:23:08 +03:00
Neerti 4f77afece1 Revert 58ef59734f 2015-11-08 10:09:14 -05:00
mwerezak 07881e7495 Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into attack-cleanup2
Conflicts:
	code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm
2015-10-15 07:08:16 -04:00
PsiOmegaDelta 27feb09a31 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/game/machinery/computer/computer.dm
	html/changelogs/.all_changelog.yml
2015-10-11 17:37:01 +02:00
PsiOmegaDelta 38c6ba3a07 Code relocation. 2015-10-11 17:31:21 +02:00
PsiOmegaDelta 070ca0adea Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/game/objects/items/weapons/tanks/tanks.dm
	code/modules/holodeck/HolodeckControl.dm
	code/modules/mob/living/carbon/breathe.dm
	code/modules/mob/living/carbon/human/life.dm
	code/setup.dm
2015-10-11 17:17:41 +02:00
PsiOmegaDelta fd3370c01f Fixes #11263.
Now possible to use items other than emags on holodeck computers
Blobs no longer make computers lose their density state.
Holodeck computers can now be repaired (and built, but since they cannot be configured they'll be useless).
Fixes #11263.
2015-10-10 10:11:48 +02:00
Kelenius 83adba88d4 Updates blob
Remains of player blob axed.
blob_act() axed. Blob now has an arbitary set of things it can attack.
It will flow over everything else. Blob has an awful tendency to destroy
non-craftables.
Will test more tomorrow.
Blob will now attack mechs.
Fixes #8106.
Fixes #10705.
2015-10-05 18:10:16 +03:00
mwerezak 068d02c28c Refactors various item attack() implementations
Replaced some attack() overrides with apply_hit_effect() or other attack
procs where appropriate.
Removed the attack() override from reagent_containers.
2015-09-08 23:39:33 -04:00
mwerezak db8aefb121 Refactors duplicate parry code 2015-08-28 14:39:28 -04:00
HarpyEagle df3eeb891e Fixes dead people blocking stuff with shields. 2015-08-26 11:51:04 -04:00
mwerezak fb6b94de87 Incorporates laser reflection into the shield system 2015-08-26 10:39:54 -04:00
mwerezak 0a751322e3 Rewrites shield handling
Rewrites shield handling to be less hardcoded.
Shields now take into account the damage source and direction when blocking.
Riot shields no longer block most bullets, but are better at blocking melee and thrown items than they were previously.
Energy shields block projectiles with a similar probability as they did before, and block melee and thrown as well as riot shields do.
Shields no longer block from directly behind the player.
Weapons now only block melee attacks.
Cool effects when blocking with an energy shield or energy sword (including holoswords).
2015-08-26 10:39:31 -04:00
Zuhayr 3bfa541612 Adds variables for CentComm, NanoTrasen and the station name. 2015-08-22 02:10:11 +09:30
Chinsky 317eaf4771 Merge pull request #10101 from mwerezak/shards
Refactors obj flags and changes defined bitflag representation
2015-08-20 19:47:58 +03:00
Chinsky b2e9a7c2a6 Merge pull request #9942 from RavingManiac/dev
Sound environment revamp
2015-08-20 19:47:09 +03:00
mwerezak 2cb46e035c Removes unused obj flags and fixes overlapping flags
Removes ONESIZEFITSALL and NOSHIELD, which were unused.
2015-08-18 17:08:41 -04:00
Zuhayr 23e9c7d4c9 Merge 2015-08-16 17:10:11 -07:00
PsiOmegaDelta c1eba26d8a Holo-decals and fixes.
Adds more holodeck decals.
Allows overlays to be glued unto unsimulated turfs.
Ensures holo-stools use an existing icon state.
2015-08-16 06:09:15 -07:00
Zuhayr 49575a1e35 Blocked out the holodeck tiles. 2015-08-16 06:07:45 -07:00
Zuhayr b43b396154 Updates instances/tiles for Centcomm. 2015-08-16 06:07:44 -07:00
Zuhayr c8baafed2a Removed turf_animation for now, ported vg hasproximity optimisation. Rewrite and refactor of how turfs handle icon updates, edge smoothing and
construction/deconstruction. Major map rework/changes.
2015-08-16 06:05:21 -07:00
GinjaNinja32 7dc85cfdd4 Merge pull request #10040 from PsiOmegaDelta/150707-MoreOverlaysFewerStates
Computers are now overlay based.
2015-08-16 00:40:47 +01:00
PsiOmega ba240cb768 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/game/antagonist/station/rogue_ai.dm
	code/game/machinery/atmoalter/portable_atmospherics.dm
	code/game/machinery/spaceheater.dm
	code/modules/clothing/head/soft_caps.dm
	maps/exodus-5.dmm
2015-08-12 21:18:18 +02:00
PsiOmegaDelta 3cb6b1ca79 Holodeck stool icon fix.
Backports the icon state change from dev. Fixes #10515.
2015-08-12 08:33:57 +02:00
PsiOmegaDelta 03578d4ea3 Merge remote-tracking branch 'upstream/dev-freeze' into dev 2015-08-06 08:12:38 +02:00
PsiOmegaDelta cf1ffd273a Fixes holodeck runtime.
initial() doesn't work well with lists. Causes a null value.
2015-08-05 09:33:34 +02:00
PsiOmegaDelta 87d4cf4f68 Computers are now overlay based.
Computers now use an overlay based system, instead of demanding a full set of icons (on, off, broken) for every different computer.
Partially ports ParadiseSS13/Paradise#1468 which is a port of tgstation/-tg-station#9931.
2015-07-07 17:23:49 +02:00
RavingManiac d1cc0517ce Sound environment changes. Different values for hallways, carpeted rooms, maintenance tunnels, etc. Holodeck sound environment changes with the loaded program
In low-pressure or space, sounds will be heard in sound environment 22 (underwater))
2015-06-27 03:47:37 +10:00
PsiOmegaDelta cc7c502fb8 Updates emag attackby usages to emag_act where it's not too much of a headache. 2015-06-16 09:34:13 +02:00
PsiOmegaDelta a07d20d657 Ports /tg/'s meteor implementation.
Merges the two meteor events into one, and now takes severity into consideration instead.
Including the basic meteors there are also new types ranging from flaming to radioactive which may drop appropriate types of ore.
2015-06-05 14:58:35 +02:00
GinjaNinja32 4b87799072 New tables, code section. Changelog entry soon. 2015-05-13 19:08:39 +01:00