* Move pilot helmets from southern_cross to main files, they are used on multiple maps now.
* Ports export reports (#5051)
* Ports export reports
* Absolute pathing, small touchups
* remove both layers
* POLARIS: No string compare for assistants
* Make turf obfuscation lists lazy
* Improve two image cleanups
* POLARIS: zshadows should be as invisible as their origin
* POLARIS: Allow alteration of mob default see_invisible
* say() safety check on client
Spawn keeps it from destroying all say(), thankfully, but needs to be fixed.
* POLARIS: Reduce double admin logs
* POLARIS: Clean up adminpm logs
* POLARIS: Communicator small refactor
* POLARIS: UI Tweak involving species rarity
* POLARIS: Allow species-specific statpanels
* POLARIS: "0x32" is not a valid single-bit flag
* POLARIS: Lazylen species restricted list
* POLARIS: Prevent ghosts from ejecting borgs from rechargers
* POLARIS: Make borg recharger test more robust
* POLARIS: Another recharger fix
* Fix nif logs
* Removes some problematic HIDEJUMPSUIT flags
* Camera fix
* adds statue
* adds statue
* Revert "adds statue"
This reverts commit f1c9193797.
* POLARIS: Improve robot and typing overlays
* Change to Teshari to test for bug
Removing these, to see if they are related to the Teshari bug. These are the only two unique sprite features that I can see.
* Promethean tweaks (hunger, regen time)
* Xenoarch Multitool & Xenoarch Excavation Drill (#5058)
* Xenoarch Multitool & Xenoarch Excavation Drill
* Makes the tool work better
* Cuts down on lines & left comments
* change to m
* Ports antibiotics overhaul (#5050)
* Ports antibiotics overhaul
* Update the rest of the places "spaceacillin" is used where antibiotics is meant.
* Antibiotics port compiles
* Fixes the drone borg ID thing AGAIN. (#5080)
* Fixes the drone borg ID thing
* Updates tracking implant description
* Update tools_pickaxe_vr.dm
* Removes excavation drill
* Fixes default synth tails necessitating potentially harmful mystery delays in mannequin generation.
-Now get_tail_image() can check the owner's syntheticness without having to wait for something else to call it whenever/wherever the fuck it happens.
* Fixes missing pixel on human ass.
* Update update_icons_vr.dm
* absolute pathing
* added slashes. No idea for what, but I don't want anyone to ask me to do it because they have OCD
* Some size stuff for Proteans
* Removes a bunch of my unused fluff stuff
* fixed vale borg flashlight eye sprites
* Changes to objects random
- Fixed the icon_state for 'structure/plushie/carp' and the random first aid kit spawner
- Added a random chance tool spawn for power tools (most of the time it should still just be regular tools)
- Adjusted the spawn rate of medkits, combat medkits should be more rare
- Cash split into its own loot item
- Plushies split into large and small plushies
- All the extra plushie spawns added to the random plushie spawn
- Eightball and conch shell added to toy spawns
- Added spawn points for the large plushies, cash, and the power tools
* Removes an inconsistency in custom species code
This line had no real use at all. It may even have contributed to various issues.
All basic humanoid species have had their appearances constructed onto an existing blank 32x32 icon_state named and called for as "nothing" inside the effects.dmi.
There are no untitled blanks either inside the effects.dmi file, so the funky deviant custom species icon_states would never have had any proper fallback.
* Re-establishes existing foundations for human icon
This line had no real use at all that I could find. It may even have contributed to various issues.
Before this line was added, all basic humanoid species have had their appearances constructed onto an actually existing blank 32x32 icon_state named and called for as "nothing" inside the effects.dmi.
There are no untitled blanks either inside the effects.dmi file, so the funky deviant species specific icon_states would never have had any proper fallback either.
No negative effects whatsoever detected in testing runs. Maybe slight framerate increase, but that was likely unrelated/placebo lmao
* Couple security otie fixes
-Fixes sec oties failing to announce arrests for sec comms.
-Adds another announcement for sec oties to confirm successfully detained crimester.
* Fixes custom accessories not showing up on things
Contradictory hardcoding babe.
* Fixes inconsistencies in organ system
-Seems the years old conversion to turn old limb names and tags and such to BP constants was never finished.
-This also fixes warning spammy diona organ tags.
* Balance pass on custom species traits
* Revert "Fixes cameras making completely black photos"
* Fixes handheld cameras
* Resh - Navy HoS Jacket
https://forum.vore-station.net/viewtopic.php?f=27&t=1065 - approved fluff app. Long time coming, lol.
(And first time 'coding'/using github to change files. hope I did it right. Oof.)
* Increase prom limb health by 60%
* changes hairstyles to use species defines
* Correct Resh custom_items.txt for HoS jacket
* (SQ-Merge) Adds in Floppy Bunny ears. (#3348)
* (SQ-Merge) Possible fix for drop-nomming (#3331)
* possible drop-nomming fix
* no longer 100% fall cushion on non-aligning prefs
* fixed some checks
* (SQ-Merge) Makes rads not kill people in stomachs (#3342)
* Makes rads not kill people in stomachs
* There we go
* Update radiation.dm
* POLARIS: Fixes#3308 (VS) - Skrell lack eyes
* POLARIS: Fixes#3280 (VS) - Typing as ghost removes overlays
Also gives them the proper ghost speech bubble. Unsure why it wasn't used!
* POLARIS: Fixes#3298 (VS) - Observer-ghosts were naked instead of dressed
* POLARIS: Fixes#3270 (VS) - Cleanbots make noise too often, reduce chance
* POLARIS: Fixes#3264 (VS) - MMI insertion sanitizes w/o numbers allowed
* POLARIS: Fixes#3237 (VS) - Cryoconsoles are lit even when unpowered
* POLARIS: Fixes#3238 (VS) - Nothing but humans can understand silicons talking
* POLARIS: Fixes#3221 (VS) - No explanation of what to do in the case of system instability
* POLARIS: Fixes#2601 (VS) - Allows mechs to continue charging after battery swap w/o moving
* POLARIS: Fixes#5282 (VS) - Allow use of pens to label pill bottles, like glass bottles
* POLARIS: Fixes#2573 (VS) - Slap cigarettes off people's faces
* POLARIS: Ventcrawling assistance
* POLARIS: Fix holders to avoid forcemoving held mob to nullspace
* POLARIS: Allow crawling through vertical pipes
* POLARIS: Weird snacks runtime
* POLARIS: Sometimes items have this set to null because they are bad.
* POLARIS: Beam weapons runtime when you shoot yourself
* POLARIS: Fix a call to the wrong update icons in prom regen
* POLARIS: Fix incorrect robolimb checks
* POLARIS: Heal robolimbs when you heal everything
Typically only used in magic and stuff, makes sense to heal both (otherwise there's no way to heal whole FBP bodies)
* POLARIS: Add eye color to shapeshifters
* POLARIS: Adds an animation thing, uses it on ventcrawls
* Fixes Suit Storage Icons
Items in suit storage should no longer vanish.
* Adds Keypad Auth to CE Office
* 44 revolvers
Port from Bay
- Addition of two more revolvers in 44 cal for variety
- Creation of rubber rounds for 44 cal (stats taken from virgo no idea how good they are in actual fights)
- Includes 44 ammo speedloaders, regular and rubber speedloaders
- Slight adjustments to allow for firing animations taken from Bay (the mosley revolver has a firing animation that plays)
- Includes in hand sprites
We did already have the 'webley' sprite (it exists in a recolored sprite). However it is a alternate sprite for the detective's 45 revolver. This brings it in as a actual proper revolver with sprites that are different than the detectives revolver, and maybe in the future can be thrown into loot lists and PoIs.
* Adds bioprinter to medical
Only internal organs work well
* Fixes feathered tesh tail and removes an useless piece of code.
-Feathered tesh tail now uses the proper dual color system now that it no longer comes with the default tail.
-Removes completely redundant body hair code from robolimb icon generation.
* byond beta back on its bullshit
* Update organ_icon.dm
* Update organ_icon.dm
* Probably maybe fixes blank lines for prey
* Fixes incorrect camera naming/networks. Fixes#3353
* Nanoui now supports use of multiple templates (#5105)
* Nanoui now supports use of multiple templates
* Removing debug code, indentation
* Indentation
* Arranges lots of things into planes (#5072)
* Rearranges a billion things into planes
* Make cryotubes fancy
* Update Travis
* Fix hiding logic
* Lore-Compliant Oculum News Channel (#5111)
* adds an e-reader full of news to the loadout
* Political Almanac -> Pocket Newscaster
* new news channel containing lore-compliant news that's not bad
* prettified lorecodex, added a month's worth of news (#5112)
* prettified lorecodex : added a month's worth of news
* what the hell elgie
* all according to kaikoku
* Grant remote profile access to R_DEBUG holders
* Fix for MOB_CAN_SEE_PLANE
* Normal brute kits disinfect wounds
* Fixes fullbright mode hiding lighting overlays.
Fullbright plane master being above lighting plane master is important, shouldn't be removed.
* Fixes machines being below tables they should sit upon.
* Fixes Runtime in logging.dm,61
* Removes vials
* Update and rename pai_manifest.tmpl to crew_manifest.tmpl
* Change of template
* Fixes infinite loop in FBP naming w/o client
* Adds Map Template Groups
Adds ability to have many different 'versions' of a PoI, yet only having one show up per round.
An example on how to do this is provided with Radio Free Sif (aka DJOutpost).
Just make sure all the different versions have the same 'template_group' value.
* Adds a message on emag to the battle arcade machine. (#5129)
* Updates one arcade machine emag message to to_chat, adds another.
* Returns 1 in emag_act for orion trail.
* Converts a bunch of stuff to macros. Should probably not break anything.
* Fixes an improper macro usage.
* Attempts to fix all 20 errors.
* Makes syndie dufflebags hint that they let you move faster
* Fixes untagged sorting junction
* Actually adds adhoc_fallback to pilot headsets
* Map fixes and tweaks
- Flashers in brig cells now should work, extra floor flash in communal brig to deal with crims.
- Inproper access, SMES rooms.
- Trader start point being dark now fixed.
- Medical Vendor Plus has more advanced burn and trauma kits. Also splints.
- Cell 1 and 2 in the brig can now be accessed by detectives.
- Additional r-walls next to the engine room to help with rads.
- Floor decals in a couple areas.
- RD office now has its telescreen back.
* Fix unused variable warnings.
* Fix light/camera layers for macros and fix constants for them too.
* Updates changelog
* Camera types exist to determine networks!
* Reverted use of 'usr' back to 'user' from commit 05fd53ebcc
* Fixes a bug. It's flatland zorren.
Fixes#3376
* Fixes wallet-HUD interaction issues. (#5130)
* Fixes wallet-HUD interaction issues.
* Fixes HUDs, too. Forgot to commit this the first time. Also hopefully didn't change the map to examplemap.
* Fixes an indentation error.
* Nerfs solargrub drain speed.
Due to the lack of saturation in the moderate event container, solargrubs show up way too frequently, and changing the frequency doesn't help. The container has to pick. This change will just bump the drain speed down so severely, that if you kill one or two grubs, the station should barely feel the impact anymore. As opposed to having to kill 4/5 grubs on average.
Gradual nerfs seem logical, as grubs get more and mroe of a day-to-day experience, and most people know about them now. Time to stop the witch hunting for those annoying grubs :p
* In which MC is dumb. Actually removes network override
* Initial cleanup/changes
* More optimizations for character joins
* Switch cables and pipes to use define constants instead of literals for layers.
Also fix a few things to be on the correct plane. Basically the under-floor stuff is supposed to be on PLATING_PLANE.
Portable atmospherics go on object layer so they are above stationary machinery, given that they move around.
Fixed wires to be on top of pipes like they used to be, otherwise they'd be obscured too often.
* Don't kick admin observers for inactivity. They might be waiting for ahelps.
* Fixes vox not having hardsuit sprites. Uses the new defines.
* Replaces base egun sprite
* Small fixes and ports discovered during merge. (#5138)
* POLARIS: No string compare for assistants
* POLARIS: Move these planes to more useful places
* POLARIS: Only spam ghosts with chat messages from things with real clients
* Fix small forgotten lines of text accidentally left out of VS syncs.
* Fix typo'd plane in lighting.dm and remove redundant definitions.
* Fixes a bunch of simple animal vore icon issues.
* Fixes Pathing
* Small Shock/Holo collar tweaks.
-Updates their old >> dialogue.
-Makes shock collars taggable.
Was gonna fix them showing up in forced lowercase on people but that turned out to be a separate polaris issue that I just opened a fix for up there.
* more fixes etc
* Update solargrub.dm
* Improves contrasts on sprites and removes the need for mirroring upstream sprites
* adds generic gibs to vore mob icons to prevent sneks
* Adds a bunch of stuff to cargo selection.
-Xenowear crate, 13 non-random xenowear items for 100 points.
-Teshari smocks crate, comes with all the 5 basic colors for 25 points.
-Teshari undercoats, comes with 4 random colors from basic and grey selection for 20 points.
-Teshari undercoats black, comes with 4 random colors from the black trim selection for 20 points.
-Teshari cloaks, comes with 4 random colors from basic and grey selection for 40 points.
-Teshari cloaks black, comes with 4 random colors from the black trim selection for 40 points.
-Utility uniforms, comes with the 3 loadout utility uniforms (black/blue/grey) for 30 points.
-Skirts crate, comes with the 10 regular type skirts for 40 points.
-Varsity jackets, comes with the set of 6 colors for 60 points.
-Leather gear crate, comes with 5 random items from a selection of 21 more or less tough/kinky gear for 50 points.
-Eyewear crate, comes with 11 cosmetic and/or prescription pieces for 50 points.
-Gloves crate, comes with 4 random gloves with a chance to hit a couple fancier ones among the basic colors for 40 points.
-Boots crate, comes with 3 random pairs of boots freely available in loadout for 60 points.
-Taurbags crate, comes with the 3 universal saddlebags we have (basic/robust/vest) for 60 points.
-Cuisine crate, comes with 5 random foods from a list of varying cultural fanciness for 25 points.
-Burger crate, comes with 5 random basic burgers for 15 points.
-Special burger crate, comes with 3 random special burgers for 60 points.
-Bakery products, comes with 5 random bakery products for 15 points.
-Cakes crate, comes with 5 random cakes for 50 points.
-Mexican food crate, comes with 5 random mexican foods for 15 points.
-Asian food crate, comes with 5 random asian foods for 15 points.
-Action figures crate, comes with 5 random figures for 50 points.
-Tabletop miniatures crate, delivers the set of those characters for 30 points.
-Plushies crate, comes with 3 random plushies for 30 points.
* Changes wedding rings to be a subtype of ring
Also moves them to their own .dm, since they're now a subtype of the thing in rings.dm. Also changed bethrothed to spouse, as the former is usually before marriage and not after.
Benefits of this include: Being able to wear gloves over wedding rings. Making them tiny instead of small. Making their gender neuter instead of plural, so it wont say "some wedding ring" when you examine someone wearing them. Probably more good things.
Issue reported by HzDonut.
* Cargo pack tweaks.
* Adds a machine for recoloring apparel ingame.
-Not mapped in currently.
-Still unsure whether to have it whitelisted for white/grey items only or to let people have their fun experimenting on nasty aesthetics.
-Also supports bags and belts. Yes, I've heard the pleas of the people not liking the default grey being the only public backpack option there is.
* Reverts gauze disinfecting until a proper solution can be put in place.
* Fixed mesons NIFSoft overlay not highlighting open spaces above
* Fixes#3368 - Teleporting now often respects dropnom pref
* Fixes#3344 - Holocarp set DM_HOLD when holodeck is safe
* Squashed commit of the following:
commit f55edb98499b600186be9f58c0d245b454479b74
Author: Verkister <superverkelian@hotmail.com>
Date: Sun Apr 8 17:05:19 2018 +0300
we'll see about that whitelist crap later then
commit 186ce2aba274c4009c42a730d1ba7c67dddf8ea6
Author: Verkister <superverkelian@hotmail.com>
Date: Sun Apr 8 16:32:08 2018 +0300
screw you too travis
commit 470789300bda3949de4027dc8e2c25ae8427eaae
Author: Verkister <superverkelian@hotmail.com>
Date: Sun Apr 8 16:10:29 2018 +0300
Update painter_vr.dm
commit e9dee86b0cb84172c95f3a91ba73ce0b2661820c
Author: Verkister <superverkelian@hotmail.com>
Date: Sun Apr 8 15:51:37 2018 +0300
Update painter_vr.dm
* allows meteors to be deflected by baseball bats
* snib
* oh, and the DME, too
* fixes the meteor refusing to move at all after being deflected
* done
* Fix shuttle corner turfs disappearing when shuttle moves.
When shuttles land on a turf, it takes the appearance of the turf it lands on as an underlay. Must make sure this underlay is on FLOAT_PLANE otherwise it will likely end up OVER the turf itself.
* Set appropriate vars for persisting adminspawned characters
* Minor Psych office tweaks. Closes 2090
* Adds compact defib to CC medbay. Closes#2287
* Makes the door button in EVA ACTUALLY WORK
* Squashed commit of the following:
commit bd470fd0276e83fa1516cc1b966308165d081b1b
Author: Verkister <superverkelian@hotmail.com>
Date: Tue Apr 10 20:45:00 2018 +0300
Update painter_vr.dm
commit 12e39bcec9b717d477a64aca0f8dfe917917986b
Author: Verkister <superverkelian@hotmail.com>
Date: Mon Apr 9 09:34:50 2018 +0300
Update painter_vr.dm
* Reduce abduction chance 1%->0.5%, add logs
* Removes Camilla's plush as per request
* Some protean fixes (regen, size as blob, gender)
* switch map to tgm for merge
* convert map to tgm for merge
* Update our reagent_containers to use the new "prefill" feature instead of our own PolarisSS13/Polaris/pull/4583
* Fix missing VOREStation Edit comments.
* Prevent singularity from entering dorm areas.
* Adds "typecache" utility functions. A fast way to filter lists by type.
Ported from TG
* Ports the "orbit" feature and subsystem from TG
* Adds a feature that allows mobs and objs to "orbit" around some atom. They literally are moved around in circles. See the `orbit` proc in orbit.dm.
* Adds a subsystem that processes the actual movement of orbiting items.
* Adds utility methods for common machinery behavior.
* Adds default_unfasten_wrench which handles the standard anchor/unanchor behavior of wrenches being used on machines. Together with the other default_x_tool machinery procs we can eliminate having that code duplicated in dozens of places!
* Adds is_wire_tool proc to easily detect when a machine is hit with a tool that should open its wires UI (if it has one).
Based on ideas from Paradise, with improvements for us.
* Implements the Tesla Engine
Ported from a mixture of TG and Paradise code and assets: Edison's Bane
Includes the tesla energy ball itself, the generator that makes it, tesla coils, grounding rods, the circuits and frames to build them.
* Switch dusting to zapping on impact and spin better
Ported /tg SpinAnimation which supports more than triangles.
* Make Singulo Stable Again
* Prevents emitter beam effects from being pulled by singulo. Now watch them hit the field gens.
* Prevent singulo from consuming the PA particle effects. It already gets fed by impact, don't try to eat them.
* Improve the Setup Singularity debug verb to do more better setup (including PA)
* Fix the energy dissipation values so that singularity does not just keep on growing even when setup properly.
* Enhance singularity proc/eat()
* Use `var/simulated` as a more generic way to ignore lighting overlays etc
* Remove redundant code in the rest of the proc body.
* Slight optimization: avoiding typecheck in loop over return from orange()
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.
- This removes the dreaded wireless wires bug, which caused wires disconnected by explosions to actually still conduct power until powernet was manually updated.
- This also adresses issue with (on bay unused) singularity, which exhibits similar behavior when eating wires (wireless wires bug)
Emitters will now need to be wired.
Emitter type has changed to /obj/machinery/power/emitter
Fixed cables not correctly disconnecting power machinery from the powernet after being removed.
-Fixed a typo with smashing tables/racks.
-Fixed maps having incorrect types.
-Fixed singularity EMPing when at stage 1.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5423 316c924e-a436-60f5-8080-3fe189b3f50e
Runtime fix for being hit by something without there being a usr. This was most likely due to explosions or possibly mass drivers.
Runtime fix for simple animals using department channels. Only parrots can use them now as they are the only simple animal with the 'ears' variable.
Runtime fix for the mech's energy relay process() when there is no battery in the mech.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5405 316c924e-a436-60f5-8080-3fe189b3f50e
-Changed the singularity code a bit. Checking for the last movement had some problems, I changed it around. It fixed Issue 1121.
-In addition of this, the singularity will now move diagonally. It doesn't get stuck in the corners of the field now.
-Mimics which are structures, have density and anchored will be able to knockdown people and be twice as strong.
-Doubled the amount of times the staff of animation can fire before needing to recharge, since it had to shoot way more than the staff of change to be effective.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5256 316c924e-a436-60f5-8080-3fe189b3f50e
-After using the wish granter it will update your mutation icons.
-Rejuv will now heal clone damage and brain damage.
-Changed the order of possible directions the singularity can go in so that it won't go south too often (in theory).
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5057 316c924e-a436-60f5-8080-3fe189b3f50e
-Fixes Issue 1085 - Artificers creating turfs with buggy lighting
-Spells now will use the proper proc to create turfs
Due to the amount of files changed, this is just the 'part one'. The merging in turf.dm is not finished, mineral walls and buildmode are still using the old system. The creation of turfs on the game panel is not using the proper procs yet. Stay tuned for this changes, but now, sleep.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5054 316c924e-a436-60f5-8080-3fe189b3f50e
-Reduced the duration of the flare. I think putting it in process() made it last longer.
-Added some null checks in camera chunks.
-Large NarSie now force calls the shuttle and displays a threatening warning message.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4915 316c924e-a436-60f5-8080-3fe189b3f50e
Chem smoke will say what reagents are in the chem_smoke.
Added a more_info ? to the last fingerprint that touched the grenade.
Added a more_info ? to bomb's last fingerprint and the attacher.
Admins get a warning message when someone summons guns.
Added a jump link to bomb's activation location.
Added a jump link to chem smoke's activation location, it will also show you the area's name.
-NarSie won't follow mobs in another Z level.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4719 316c924e-a436-60f5-8080-3fe189b3f50e
CEs no longer spawns with a cigarette in their mouth. I did not add a cigarette to their desk because there is already a cigarette pack that spawns there.
Moved some stuff in singularity/New() into its own proc that singularity/New() calls. This is so that I can override it and prevent runtimes with an away mission.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4717 316c924e-a436-60f5-8080-3fe189b3f50e
-Changed grabbing's constructor to allow parameters for the grabber and the grabbee. (I made a simple little tweak and look at all the files I had to change :( )
-Easter Egg: Clowns have a chance of reducing or increasing the singularities energy. Upper and lower limit is 300 and -300.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4681 316c924e-a436-60f5-8080-3fe189b3f50e
-Instead of the singularity using range to look for rad_collectors around it, it will now look through the list and check the distance between every rad_collector, if it's less than 15 tiles in range then it'll give it power.
-Fixed naming your revolver.
-
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4638 316c924e-a436-60f5-8080-3fe189b3f50e
Comments for lighting:
Like sd_DAL (what we used to use), it changes the shading overlays of areas by splitting each type of area into sub-areas
by using the var/tag variable and moving turfs into the contents list of the correct sub-area.
Unlike sd_DAL however it uses a queueing system. Everytime we call a change to opacity or luminosity
(through SetOpacity() or SetLuminosity()) we are simply updating variables and scheduling certain lights/turfs for an
update. Actual updates are handled periodically by the lighting_controller. This carries additional overheads, however it
means that each thing is changed only once per lighting_controller.processing_interval ticks. Allowing for greater control
over how much priority we'd like lighting updates to have. It also makes it possible for us to simply delay updates by
setting lighting_controller.processing = 0 at say, the start of a large explosion, waiting for it to finish, and then
turning it back on with lighting_controller.processing = 1.
Unlike our old system there is a hardcoded maximum luminosity. This is to discourage coders using large luminosity values
for dynamic lighting, as the cost of lighting grows rapidly at large luminosity levels (especially when changing opacity
at runtime)
Also, in order for the queueing system to work, each light remembers the effect it casts on each turf. This is going to
have larger memory requirements than our previous system but hopefully it's worth the hassle for the greater control we
gain. Besides, there are far far worse uses of needless lists in the game, it'd be worth pruning some of them to offset
costs.
Known Issues/TODO:
admin-spawned turfs will have broken lumcounts. Not willing to fix it at this moment
mob luminosity will be lower than expected when one of multiple light sources is dropped after exceeding the maximum luminosity
Shuttles still do not have support for dynamic lighting (I hope to fix this at some point)
No directional lighting support. Fairly easy to add this and the code is ready.
When opening airlocks etc, lighting does not always update to account for the change in opacity.
Explosions now cause lighting to cease processing temporarily.
Moved controller datums to the code/controllers directory. I plan on standardising them.
"Master","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI" controller datums can be accessed via the debug controller verb (used to be the debug master controller verb)
Supply shuttle now uses a controller datum. Shuttles tend to arrive up to 30 seconds late, this is not a bug.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4537 316c924e-a436-60f5-8080-3fe189b3f50e
The singularity can no longer stunlock dead or unconscious people.
tgstation.dme updated since one of the files were removed
Changelog updated to put the 'have a bug to report?' bit to a spot just above where coders put their changes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4521 316c924e-a436-60f5-8080-3fe189b3f50e
-Almost every instance of 'for(mob in world)' has been killed. Because GODDAMN was it being run a bunch. Instead, a series of global lists have been made, and they are all handled auto-magically through New()'s, Del()'s, Login()'s, death()'s, etc...
Lists are as follows:
-mob_list : Contains all atom/mobs by ref
-player_list : Like mob_list, but only contains mobs with clients attached
-admin_list : Like player_list, but holds all mobs with clients attached and admin status
-living_mob_list : Contains all mobs that ARE alive, regardless of client status
-dead_mob_list : Contains all mobs that are dead, which comes down to corpses and ghosts
-cable_list : A list containing every obj/structure/cable in existence
Note: There is an object (/obj/item/debuglist) that you can use to check the contents of each of the lists except for cables (Since getting a message saying "a cable," x9001 isn't very helpful)
These lists have been tested as much as I could on my own, and have been mostly implemented. There are still places where they could be used, but for now it's important that the core is working. If this all checks out I would really like to implement it into the MC as well, simply so it doesn't check call Life() on every mob by checking for all the ones in world every damn tick.
Just testing locally I was able to notice improvements with certain aspects, like admin verbs being MUCH more responsive (They checked for every mob in the world every time they were clicked), many sources of needless lag were cut out (Like Adminwho and Who checking every single mob when clicked), and due to the cable_list powernet rebuilding is MUCH more efficient, because instead of checking for every cable in the world every time a powernet was broken (read: A cable was deleted), it runs though the pre-made list, and even with a singulo tearing all the way across the station, the powernet load was VERY small compared to pretty much everything else.
If you want to know how any of this works, check global_lists.dm, there I have it rigorously commented, and it should provide an understanding of what's going on.
Mob related in worlds before this commit: 1262
After: 4
I'm helping
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4179 316c924e-a436-60f5-8080-3fe189b3f50e
-Redid icons to be more optimized at compile by setting icon = 'icons/folder/icon.dmi' instead of just icon = 'icon.dmi', meaning that Dream Maker doesn't have to search through every single file for every single .dmi. This shouldn't lead to any errors because of how I went about it, plus the fact that Dream Maker would have freaked out if I screwed something up. Also moved around 2 icons that weren't sorted well.
r4146 compile time: 1 minute, 40 seconds
r4147 compile time: 45 seconds
[VGTG]
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4147 316c924e-a436-60f5-8080-3fe189b3f50e
Full details in this thread:
http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=8898
And a summary of the most important bits:
-Door animations no longer desync and do the open-close-open thing. That's been around so long most people don't even notice
-Welding tools no longer get their icons desynced
-Fixed unpowered mineral door runtimes
-Chemistry machines now require power to run
-Fixed the proc to apply radiation based on armor, which means that you can actually not die of radiation as quickly if you wear armor that protects against radiation
--By fixing this, it also fixed the singularity, so you might want to be careful next time you run by it naked
--Also means that radiation events take armor into account. How great
-Hopefully have a bugfix to prevent borgs from using lag to enter the game without an AI or laws, but I cannot test it myself other than that it didn't break anything
-Disposal sound can only play once every couple of ticks, so no more ear-rape by disposals!
-Lasertag guns can no longer be used to make lasergun turrets
-Cleaned up stray pixels on several doors and the lasertag guns
-Reworked how falsewalls work, now whenever you attack them with certain tools (drills, welders, etc...) it instantly turns them into a wall and pushes the attackby(), meaning you might not even notice that you just drilled down a falsewall, and at the very least they are much more fitting
-Omni-directional PA console! Never have to worry about rotating that fucking computer again, because now it does it itself!
-The Marisa robe that spawns in the theater no longer protects like armor
-Tweaked coefficient list for fake insulated gloves (misplaced punctuation messed up the list a tad)
-Moved falsewalls out of 'transfer_valve.dm' and into 'structures.dm'
-Tweaked smoothwalls so it only connects walls with like minerals (only seen effect is on the new walls)
--Also added appropriate signs to areas
-Reworked portable turrets to be a lot less laggy, now they determine the projectile type once, then save it so they don't have to go through else if chains every time they fire
-Added many sprites from WJohnston, but many are not fully implemented (Mostly floor ones)
-Added a vending machine for engineering, the Engivend. Apparently it was needed because of the lack of availability of the Autolathe or whatever.
-Added WJohnston's Dark Gygax sprites, then made a Death Squad Gygax out of them. A bit tougher than the standard Gygax, improved battery, and is pre-fit with gear, ideally for 'hit and run' tactics
-New Odysseus construction sprites, also removed the Odysseus Carapace in favor of plasteel like the Ripley, meaning they in terms of construction, a Ripley is equivalent to an Odysseus
-Added an 'is_hot()' proc, when called it returns the temperature of the item in K, while taking into account things like whether or not the item is active or whatever
-Rewrote the Experimental Welding Tool, now instead of having a super-sized tank, it uses super-concentrated plasma that is turned into gas inside of it as its fuel source. Meaning, it will never have to be refilled, but it takes time for it to fill itself
-Added WJ's firelight sprites and code. Wanted to use them, but haven't had a chance to really implement them, but still, they're there
-Turrets made with lasertag guns now fire their respective team's bolt
-The turrets also automatically target anyone on the opposing team (But will continue to shoot at anyone, for shits n' giggles)
-Turrets get corresponding sprites based on team
-Shooting a turret with a different team's laser will disable it for 10 seconds
-You can also make ED-209's for your lasertag games/pissing off sec
-These are constructed just like a regular ED, but instead of a security vest and taser, it requires a lasertag vest and gun (same colors)
-When geared for lasertag, They will not arrest anyone nor melee them, only patrol (if set) and shoot
-They have their color schemes as well, and can be disabled just like turrets
-For both turrets and EDs, when geared for lasertag, they will not shoot anyone on the ground, this was due to very quickly learning how fucking OP that was for 1 turret to stunlock 3 people for eternity
-And when they are geared for lasertag, both the turrets and EDs have their access changed to maint, clown, and mime (This will not stop any of them from being shot, however)
-As a side note, you can also make lasertag stationary turrets for any map-related things
-Now walls are based on a plating system, meaning all walls have a girder with a mineral plating on top of it.
-As of right now, usable minerals are Silver, Gold, Diamond, Uranium, Plasma, and Sandstone (Lacking sprites for wood, *cough*)
-This also carries over to falsewalls, so you can make falsewalls out of any of those minerals
-Also, this carries over to powered doors, meaning you can construct useful doors out of minerals, so you could have actual diamond forts with doors requiring access to get in or whatever
-All of these are standardized, and for the most part work just like regular walls, meaning if you start slicing a wall, it will drop the mineral, or if you drill it, or whatever
-What was mentioned with the smoothwall tweak above, only walls of the same mineral will connect, so it all looks very nice
-Doors and walls made of uranium emit radiation when interacted with, with walls causing a 'ripple' effect, so the more walls nearby, the more radiation you get hit with
-Doors and walls made of plasma burn. It's a short, quick burn, but can easily be compounded in large structures
--As a note on plasma walls, I cannot get atmos and plasma walls to play nice (Since they are airless turfs), so I can't actually get them to ignite based on air temperature, but when they do ignite, they will auto-magically ignite nearby plasma walls, with a reduced temperature, meaning that if you want a massive chain reaction over a huge area, you better use something a bit hotter than a lighter
--Also, when plasma walls burn, they simply leave behind a girder, while doors leave assemblies
-Lastly, for nearly any kind of destructive action, Diamond walls are much more resilient, meaning they will take twice as long to be destroyed, and are immune to the effects of thermite
(Also, sprites for plasma walls and uranium walls are shite right now, waiting for replacements)
Update:
-Added cult walls as a 'mineral wall', meaning they will work on the same system and 'ReplaceWithMineralWall("cult")' will change any turf into a cult wall, hopefully for some cult-related activities soon
R&D stuff:
-Now instead of 1 sheet or ALL OF THE SHEETS, you enter a number as to how many sheets you want (it's sanitized to hell as well)
-Minerals no longer multiply when inside RnD machines. (Who fucked that one up? Goddamn)
-Mech fabricators are both deconstructable, and putting higher level parts actually improve it, each 'Tier' up is equivalent to +1 tech levels for that, so a High Powered Micro Laser would give the same bonus as +1 Material Research, a Pico Manipulator would give the same bonus as +2 Engineering, etc
-Complete with a shitty opened Mech Fab sprite!
-And not shitty overlays so autolathe's animate the material that is put in them, rather than give everything that's not glass the metal animation
LOL THE JOKES ON YOU I JUST COPY PASTED HIS TOPIC
added a few svn ignores, for thumbs.db and maps/backup
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3751 316c924e-a436-60f5-8080-3fe189b3f50e
Rules verb moved to the interface to make it more visible (so new players may actually -read- it occasionally).
Minor changes to investigate singulo based on feedback. Entries are now timestamped and the "time \ref[src] (location)" bit is in a smaller font. Collectors note how much fuel they are loaded with.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3687 316c924e-a436-60f5-8080-3fe189b3f50e
At the moment it only logs some singularity things. Please let me know if there are any important methods of singulo-grief which I may have missed.
The "Investigate" verb is available to everyone of rank "Admin observer" and upwards. Just type "Investigate" and select the subject you'd like to see logs for. Typing "Investigate singulo" will also work as a shortcut.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3679 316c924e-a436-60f5-8080-3fe189b3f50e
Removed the wizard's Nar-Sie grav pull entirely to reduce lag/it is strong enough as is.
Fixed the gyrojet projectile name
Removed the ion rifle from the armoury
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3272 316c924e-a436-60f5-8080-3fe189b3f50e
Nuke ops lost that horribly nerfed piece of shit c20r and now get Desert Eagles and Riot Shields.
The detectives .38 ammo now does the same damage as regular revolver bullets. If he wants to keep acting as a glorified sec officer, he can go grab a taser.
The Veil Render now summons a subtype of Nar-Sie which doesn't pull anchored objects. This should reduce the power of the item/reduce lag while I get sprites and finalize details with Urist for reworking it as the Sphere of Annihilation (as in, this is temporary)
Updated the changelog
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3132 316c924e-a436-60f5-8080-3fe189b3f50e
Fixes issue 250 (borg door bug)
Fixed silicon interactions with engineering equipment.
Fixed access lists for radiation collectors, so locking them actually serves a purpose. Fixed using crowbars on them.
Borgs can name themselves upon module selection (unless a roboticist has named them previously by using a pen)
To avoid Borgs griefing and then changing their name by selecting a module, borgs are now unable to move independently until they choose a module.
New sprites for spacevines are on the way. So you'll have to tolerate my crappy stand-ins for a bit until he is finished with them.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3128 316c924e-a436-60f5-8080-3fe189b3f50e
The singularity is now able to eat things like signs and chameleon projectors' projections.
A few other misc runtime fixes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2916 316c924e-a436-60f5-8080-3fe189b3f50e