Commit Graph

114 Commits

Author SHA1 Message Date
Tim 4397d63a55 Split weapons_and_items.dmi icons into their own categories (#74363)
## About The Pull Request
This sprite file had been a dumping ground for miscellaneous sprites for
the past decade. It's bloated and full of random kinds of icons and even
has a few unused ones. It's time to reorganize them into their own
separate dmi's based on theme.

## Why It's Good For The Game
Better organization and easier access when looking for stuff.

## Changelog
🆑
imageadd: Split all icons in weapons_and_items.dmi to their own
categories
imagedel: Removed some unused icons
/🆑
2023-04-06 08:30:57 +12:00
san7890 ccef887efe Lints Against Unmanaged Local Defines (#74333)
# MAINTAINER - USE THE BUTTON THAT SAYS "MERGE MASTER" THEN SET THE PR
TO AUTO-MERGE! IT'S MUCH EASIER FOR ME TO FIX THINGS BEFORE THEY SKEW
RATHER THAN AFTER THE FACT.

## About The Pull Request

Hey there,

This took a while to do, but here's the gist:

Python file now regexes every file in `/code` except for those that have
some valid reason to be tacking on more global defines. Some of those
reasons are simply just that I don't have the time right now (doing what
you see in this PR took a few hours) to refactor and parse what should
belong and what should be thrown out. For the time being though, this PR
will at least _halt_ people making the mistake of not `#undef`ing any
files they `#define` "locally", or within the scope of a file.

Most people forget to do this and this leads to a lot of mess later on
due to how many variables can be unmanaged on the global level. I've
made this mistake, you've made this mistake, it's a common thing. Let's
automatically check for it so it can be fixed no-stress.

Scenarios this PR corrects:

* Forgetting to undef a define but undeffing others.
* Not undeffing any defines in your file.
* Earmarking a define as a "file local" define, but not defining it.
* Having a define be a "file local" define, but having it be used
elsewhere.
* Having a "local" define not even be in the file that it only shows up
in.
* Having a completely unused define*

(* I kept some of these because they seemed important... Others were
junked.)
## Why It's Good For The Game

If you wanna use it across multiple files, no reason to not make it a
global define (maybe there's a few reasons but let's assume that this is
the 95% case).

Let me know if you don't like how I re-arranged some of the defines and
how you'd rather see it be implemented, and I'd be happy to do that.
This was mostly just "eh does it need it or not" sorta stuff.

I used a pretty cool way to detect if we should use the standardized
GitHub "error" output, you can see the results of that here
https://github.com/san7890/bruhstation/actions/runs/4549766579/jobs/8022186846#step:7:792
## Changelog
Nothing that really concerns players.

(I fixed up all this stuff using vscode, no regexes beyond what you see
in the python script. sorry downstreams)
2023-03-29 10:17:03 -07:00
SyncIt21 2bab78bcc6 Fixes atmos machinery breaking when the area is edited/renamed via station blueprints & Deletes empty areas, ARCD upgrades (#73850)
## About The Pull Request
1. Fixes #70430
- APC's
- Air Alarms
- Fire Alarms
- Vents
- Scrubbers

Now all re-assign themselves to their correct areas & properly rename
themselves after an area has been created, modified via the station
blueprints.

2. Now Area's can't be expanded if both the current area where the
player is standing and the selected area both have an apc because that
would make the final area have 2 apc's

3. When 2 areas are merged, If the old area has no more turfs left then
it is deleted

4. Bonus fixes
- is removed redundant `Initialize()` proc inside light switch.
- arcd has all upgrades installed

## Changelog
🆑
fix: area machinery from breaking after creating & modifying areas via
the station blueprints.
refactor: turfs are cannonized from areas during creation/editing
operations & empty areas are deleted
refactor: removed duplicate Initialize() from light switch
refactor: arcd has all upgrades installed
/🆑
2023-03-16 11:32:54 -04:00
Tim a1ada2c9ef Refactor, improve, and rename canUseTopic to be can_perform_action (#73434)
This builds on what #69790 did and improved the code even further.
Notable things:
- `Topic()` is a deprecated proc in our codebase (replaced with
Javascript tgui) so it makes sense to rename `canUseTopic` to
`can_perform_action` which is more straightforward in what it does.
- Positional and named arguments have been converted into a easier to
use `action_bitflag`
- The bitflags adds some new checks you can use like: `NEED_GRAVITY |
NEED_LITERACY | NEED_LIGHT` when you want to perform an action.
- Redundant, duplicate, or dead code has been removed.
- Fixes several runtimes where `canUseTopic` was being called without a
proper target (IV drips, gibber, food processor)
- Better documentation for the proc and bitflags with examples
2023-02-16 20:22:14 -05:00
Jeremiah 872e64fb05 Adds spaces around logical operators (#72603)
## About The Pull Request
Part of a prior PR that was closed (#72562). This version does not add
the check in CI.
## Why It's Good For The Game
The work is already done, so I figured why not.
## Changelog
N/A Nothing player facing

Co-authored-by: Jeremiah Snow <jlsnow301@pm.me>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-01-16 16:56:35 -08:00
ShizCalev 7048110298 Inhands var hardsetting (#70364) 2022-10-07 19:08:09 -07:00
tattle d91390a447 [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1) (#69416)
Moves singulo and supermatter dmis into obj/engine, renamed from obj/tesla_engine
Moves Halloween, Christmas, and misc holiday items to obj/holiday
Moves lollipops to obj/food
Moves crates, closets, and storage to obj/storage
Moves assemblies to obj/assemblies
Renames decals.dmi to signs.dmi ...because they're signs and not decals
Moves statues, cutouts, instruments, art supplies, and crayons to obj/art
Moves balloons, plushes, toys, cards, dice, the hourglass, and TCG to obj/toys
Moves guns, swords, shields to obj/weapons
2022-08-24 20:49:35 -03:00
Mooshimi b09f3868f8 individual LOG_GAME (#68683)
About The Pull Request

    replaces a ton of log_game with user.log_message so the log is added to individual and global logs.
    adds a few logs for individual LOG_VICTIM, LOG_ATTACK etc logging.
    adds logging for bluespace launchpad's tele coords being changed.
    took the word "has" out of log_combat, as it's extra and just lengthens the log.

Why It's Good For The Admins

It's extremely laggy to open game.txt so an alternative is individual game logs
Changelog

cl
admin: A lot of game logs will now also be in individual game logs, for convenience in log diving.
admin: Added logging for bluespace launchpad x and y offset changes, which go to individual game logs.
admin: Attack logs will now be slightly shorter, one useless word was removed.
/cl
2022-08-05 09:32:02 +12:00
Jolly cfc2330528 [MDB IGNORE] More /area/ typepath organization and cleanup (#67107)
This further continues what I did in b4fb8f3ed1 (but instead of just stations, its now every (most) applicable area in the game
2022-05-23 13:01:19 -06:00
cacogen b62d6fef3e Renamed areas rename fire alarm panels too (#64554) 2022-01-31 19:24:13 -05:00
Jeremiah d17a60fb53 TGUI input box conversions 2 (#63395)
More text inputs converted to tgui, TGUI text and number input now more sanely handles ENTER key being pressed, you can now press anywhere in the window to enter the input. TGUI text input now considers placeholder text for the default valid state. IE, if there is default text you can press enter immediately without having to rewrite it just to recheck validity. Fixes: useSharedState => useLocalState. not only was sharedstate not needed but it opened up the ui to vulnerabilities
2021-12-15 14:12:04 -08:00
esainane 5e27938206 CE blueprints: Fix structural overlay (#61974)
CE blueprints come with a niche but situationally useful ability to view the original atmos, disposals, and power cable layout.

This has suffered a fair amount of bitrot. Not only was this not updated to use the plane and layer variables, but it also didn't handle any client running in widescreen mode - RANGE_TURFS requires a numerical parameter for its radius parameter, and cannot handle a modern viewstring such as "17x17".
2021-10-10 08:22:04 +01:00
Watermelon914 375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
TiviPlus f0cf7ea5ac Replace some turf in range() with RANGETURFS and fix(?) bspace trauma (#57566) 2021-03-11 02:26:21 -08:00
Mothblocks 0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08: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
Dennok 8b72ef9aae Completely FIX Hilbert's Hotel and its associated ruin to the game. (#53830)
Reverts the removal in #53790.
Broken in #53586.

Because turfNumber++ must be incremented on turf, not on every ATOM it 
EVERY TURF, and anyway it don't trigger since first turfs don't have 
atoms in it.

Fix #53794, Hilbert's Hotel peephole runtime.
Fix #53795, hhmysteryRoomNumber generates only once.
2020-10-01 18:32:32 -07:00
Timberpoes d95fc6a069 Completely removes Hilbert's Hotel and its associated ruin from the game. (#53790)
The Hotel is a runtime machine. When it swaps rooms, its turfs runtime. When people are actively using it, things in it constantly runtime. It's half broken, half buggy. Turfs don't remember contents. Sometimes blank rooms spawn. Sometimes nothing at all.

It's not worth the time and effort to fix or maintain it.

I'm opening this PR to completely remove it.
2020-09-18 22:13:31 -04:00
kingofkosmos 3263decaad Personalized combat messages part 2 (#52890)
Adds more "personalized" combat messages for all participants in a fight: the attacker, the victim and the spectators
2020-08-13 11:34:57 -03:00
TiviPlus b4fe4f717b Refactors area stuff (#52751)
-bitfielded a bunch of bools on /area, I left some untouched cus they get called a lot
-Unused vars
-Fixed a var pretending to be a fake bool
-Probably more
2020-08-10 16:31:59 -03:00
TiviPlus 663362bfd7 Fixes the blueprints noteleport thing (#50261)
* exploit THIS HAHAAA

* removes a thing I forgot to remove

* bug
2020-03-29 16:25:38 +08:00
kingofkosmos 259626a8b4 Removes excess spaces in messages. 2019-10-13 14:36:43 +03:00
RandolfTheMeh 2c3c2907de CE Blueprint Fixes (#45390)
About The Pull Request

Fixes #45341 so that blueprints can no longer be used when not in-hand, and turfs now properly compile a list of the blueprint items it should hold by delaying when it retrieves this information, as objects such as manifolds and wires didn't initialize with their proper sprite.
Changelog

cl
fix: The CE's blueprints can no longer be used if not in-hand, and its scanning function has been fixed.
/cl
2019-08-01 10:24:20 +12:00
vuonojenmustaturska 5597c9b0fd After ten thousand years, #define get_area() #44073
Also removes /obj/item/areaeditor/proc/get_area(), which works the same as /proc/get_area() except doesn't take an argument.

Why It's Good For The Game

It's #2 most called proc some rounds, top #10 always.
Changelog

cl Naksu
code: get_area() is now a define rather than a proc.
/cl
2019-05-23 11:02:00 +12:00
coiax b0d78a8ad2 Bar signs now rename the area, doors and some wall items (#41811)
cl coiax
add: Bartenders can now rename the generic area "Bar" to the bar name of their choice with the use of their bar sign. This will rename air alarms, doors and APCs, so everyone knows what you're calling your bar this shift. (The bar sign chosen is also now a statistic that's tracked!)
/cl

Metastation now only has one bar sign.
Bar signs start blank.
Bar signs no longer require bartender ID to repair.
Emagging now only sets the bar sign (and bar name) to the Syndi Cat, rather than changing the Barsign to syndicate access only and making them impossible to repair.
Only machinery that is normally renamed when the area is renamed will have their name changed, this means only doors originally called "Bar" will be renamed.

Area renames are split into separate procs, so we can use their renaming of machinery features.
2018-12-16 12:55:30 +13:00
ShizCalev 0440e14557 Cleans up dead area paths. Removes dead music var. (#41429) 2018-11-13 01:31:28 -05:00
TheDreamweaver d464fd04d7 [SUPER DUPER EXTRA READY] Hilbert's Hotel (#41029)
* Initial stage

* final changes?

* Tweaks

* removed bad variables

* Fixed more bad vars

* is this map merged?

* spelling fix

* spelling fix

Co-Authored-By: TheDreamweaver <austin.j.rickli@gmail.com>

* Map fix?

* now this is map merger

* Fixed summoning edge cases

* Fixed spelling mistakes, Added better handling of sphere removal, Added sphere to the cargo shuttle blacklist, Made the "mystery" more dynamic

* Added better handling of stored mob summoning

* Removed redundant code.

* Made the jukebox actually accessible

* Tweaked it so that no maps would need to be loaded on Init

* comment commit

* No src

* Fixed spelling and getting trapped in rocks

* Fixed spawned-in hotel checks

* Blacklisted hotel are from blueprints and migrated storage handling from door to area.

* Prevents observing mobs (ghosts, camera entities) from getting stored.

* Condensed an if statement

* The hotel can now be used on another mob to invite them to the hotel. All living mob types can now exit out the hotel door.

* Fixed wrong user getting prompted when hotel was used on someone else.

* Added peepholes to hotel doors that can be used via AltClick.

* For the grammar lovers.
2018-11-01 15:40:31 -04:00
AnturK 9875f19053 Should look before simplyfing names 2018-07-02 14:32:05 +02:00
AnturK 8710320ff2 Fixes blueprint overlays. 2018-07-02 14:12:42 +02:00
AnturK 66d9a4a0cf Removes /related area variable. (#37173)
* Removes /related area variable.

* area_contents begone

* doorstuff
2018-04-14 12:45:00 +03:00
kevinz000 e6cbeac2b2 Fixes blueprints exploit (#36625)
* Fixes blueprints exploit

* redundent qdeleted
2018-03-29 11:35:26 +02:00
Qustinnus 4911991f70 [READY] Several fixes/changes to mood, longterm mood effects, beauty component (#36344)
cl Floyd / Qustinnus
del: Removes short-term effects of mood
add; Adds long-term effects of mood by implementing sanity which goes up with good mood, down with bad mood, but takes time to change. Your sanity can be seen as your average mood in the recent past. All effects of moods are now covered by this system
add: Beauty component, currently only attached to cleanables, but you could attach it to any atom/movable and make them pretty/ugly, affecting mood of anyone in the room.
refactor: Removes the original way of adding mood events, uses signals properly instead.
fix: Cleanables "giving" area's free beauty during initialization
fix: Fixes some events not clearing properly
/cl

Fixes #36444

From now on mood no longer affects you directly, instead it decides whether your sanity goes up or down, when your sanity gets too low you will get the effects of what mood did before.

This means getting hit with bad moods due to being attacked while not mean you are doomed anymore, and you get a large timeframe to get away and just fix your mood later.

I also added the beauty component, you could add this to any object and it would either make a room prettier or uglier, comparable to DF or Rimworld. You could add traits to make certain people ugly, for example.
2018-03-18 19:48:50 +13:00
Qustinnus 5140cff38c [reviewpls] Adds moodlets to the game - [Please give suggestions for trait additions in comments] (#35475)
Floyd / Qustinnus (Sprites by Ausops, Some moodlets by Ike709)

add: Adds mood, which can be found by clicking on the face icon on your screen.
add: Adds various moodlets which affect your mood. Try eating your favourite food, playing an arcade game, reading a book, or petting a doggo to increase your moo. Also be sure to take care of your hunger on a regular basis, like always.
add: Adds config option to disable/enable mood.
add: Indoor area's now have a beauty var defined by the amount of cleanables in them, (We can later expand this to something like rimworld, where structures could make rooms more beautiful). These also affect mood. (Janitor now has gameplay purpose besides slipping and removing useless decals)
remove: Removes hunger slowdown, replacing it with slowdown by being depressed
imageadd: Icons for mood states and depression states


What this PR is

This PR adds a system that allows player to gain and lose moodlets based on events occuring to, and around them. These events then give the player a mood value based on what it is. For example a hug could give you +1 mood, while being stabbed in the eye with a screwdriver can give -5 mood. All these moodlets together determine the mood of your character which currently affects the following things:

    Movement speed - If you are very sad you move slower. Replacing movement slow from hunger. (hunger now instead affects mood)
    Screen blur - If you are sad you gain an overlay that slightly blurs the screen, increasing in severity as you get sadder.
    Interaction / do after speed - If you are sad or happy your interaction speed with things such as handcuffs is changed. with a 25% longer time if you are sad, or 10% shorter time if you are extremely happy.
    Hunger rate - You gain hunger slower if you are very happy.
2018-03-08 14:15:57 +13:00
ShizCalev 3ada42aac3 Cleans up unused /area paths 2018-02-16 15:00:10 -05:00
oranges 60f8fa4936 blueprint area changes are now logged to the game log 2018-02-06 22:39:41 +00:00
ShizCalev b41322baad Cleans up some redundant trims 2018-01-15 10:19:12 -05:00
Emmett Gaines 28e6359939 makes blueprints work on station and able to expand old areas (#32280)
🆑 ninjanomnom
add: You can now select a nearby area to expand when using a blueprint instead of making a new area.
add: New shuttle areas can be created using blueprints. This is currently not useful but will be used later for shuttle construction.
tweak: Blueprints can modify existing areas on station.
admin: Blueprint functionality has been added to the debug tab as a verb.
/🆑

Additionally the code for getting all turfs in a contained space has been refactored for some pretty good performance improvements.

Old proc: Self CPU 8.816, Total CPU: 10.009, Real Time: 10.009, Calls: 5000
New proc: Self CPU 4.174, Total CPU: 9.000, Real Time: 9.001, Calls: 5000

They've been moved into a area helpers file.
2017-11-13 22:32:36 +13:00
Emmett Gaines 825ab4def4 [512] The great \ref purge (#31824)
* The great \ref purge

* cleanup
2017-10-28 17:20:04 -04:00
Jordan Brown af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
Joan Lung ec9439b915 Renames GLOB.cardinal to GLOB.cardinals to match GLOB.diagonals and GLOB.alldirs 2017-07-09 17:24:28 -04:00
nicbn 77a2d3f5cd Replaces "istype"s with is_helpers macros (#28676) 2017-06-22 15:03:19 -03:00
Cyberboss 9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
Lzimann 5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
Pieter-Jan Briers b5b93e51f7 Merge remote-tracking branch 'upstream/master' into rebase-to-vg 2017-02-18 16:52:07 +01:00
Cyberboss b6d5aba7b2 Removes area.master. Moves area/New to Initialize (#24134)
* Removes master areas

* Ports area/New to Initialize
2017-02-18 01:04:47 +13:00
PJB3005 8ce6ae2b87 Merge remote-tracking branch 'upstream/master' into rebase-to-vg 2017-02-08 14:30:23 +01:00
Cyberboss 7a94edf610 Makes firedoors adjacent to areas with fire alarms close (#23751)
* Add get_adjacent_areas proc

* Makes firealarms close border doors in adjacent areas

* Blueprint handling of firedoor lists

* More helper procs

* Make fdoors by walls not close if wall is alarmed

* MOAR HELPERS

* Handle changeturfing

* Fix the shitcode
2017-02-08 18:30:03 +13:00
Pieter-Jan Briers aeb057579e Hey it almost works 2017-02-04 01:00:12 +01:00
PJB3005 e2386a8bd8 Have some code 2017-01-17 22:54:05 +01:00
Kyle Spier-Swenson dedb16826e Speeds up world init. (93s -> 49s) (#21992)
* Speeds up world init.

* Armor is now new inited for obj and the first level of subpaths.
* Actions is now lazyinited and deleted with empty.
* Actiontypes is now only inited when actually used and deleted once it pre-fills actions with the action buttons.
* Pipes now prefill their node list(s) in new() using new /list/ (count) syntax to speed up the list initaliztions and remove the init proc.
* Pipes no longer store their item version, instead creating it on the fly when deconned
* Walls no longer store their metal stacks, instead creating it on the fly when deconned.
* obj, walls, floor, plating, item, machinery, structure, pipe, pipenet, atom, and movable no longer have an (init) proc. (along with a few other smaller examples)
* Atmos can pass checking is now a var with the ability to have a proc be call in advance cases.
  * (as a side effect, I had to fix a few things that were calling atmosCanPass rather then using the pre-calculated list, this should speed up chemfoam and flame effects greatly)

* Reverts upload limit
(remind me one day to defuck this, it could easily be a config thats not editable by vv to make changes easier)

* Makes apc update icon a bit faster.
APC new is some what high on the profile of world init, still not sure why, but this stood out as a waste of cpu so i fixed it.

* Fixes runtime with atmos backpack water tanks.

* Makes smoothing faster (and fixes turfs smoothing twice at init)

* Makes apcs init faster by replacing some spawns with addtimer

* fix transit turfs.
2016-12-08 21:50:15 +13:00