The meat of ventcrawling is now stored in the vent pump, meaning anything can ventcrawl if it has ventcrawling on.
Ventcrawling 0 is no crawling, Ventcrawling 1 is naked crawling, Ventcrawling 2 and above is always crawling.
Yes you can var edit humans to be able to ventcrawl with this, great if you want to reenact diehard!
Simple animals that logically should fit in a vent can now ventcrawl. Note that this only is relevent for player controlled simple animals (staff of change/badminry), it won't be used by the mob AI.
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.
New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.
ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
Conflicts:
code/game/machinery/Sleeper.dm
code/game/machinery/computer/aifixer.dm
code/modules/hydroponics/biogenerator.dm
code/modules/power/apc.dm
code/modules/research/server.dm
icons/obj/stationobjs.dmi
Yeah nah time to merge this shit behore resolving conflicts will take more than 2 hours
MiniStation is now a single folder which isn't included by default. When you tick the code file for the ministation map, like with tgstation and metastation, it will then include the necessary code files itself. These code files modify certain datums, like jobs, supply packs and uplink datums.
The modified files outside the MiniStation folder are modifications made by the MiniStation branch which aren't changes exclusive to MiniStation.
Such as changing the unused circulator, which only MiniStation used, so that it was fixed and would correctly match the direction of the thermal generator.
The TEG was also changed to have a better interface and to include the above fix.
The department security was changed so it wouldn't runtime if it didn't find a checkpoint.
The preferences' SetChoices was changed so that the screen would automatically grow for every column in the job list.
The main difference between this version and the forked version is that the Unemployed and the Lieutenant was reverted back to their original names; since it would've been a massive pain to add support for that.
Yeah i lost half of my work so its only other half
Durning this PR ill try to redo what was lost, in no way is it a
complete thing
Hope git wont do anything bad with it
Var changes:
* /obj/item/var/color is now item_color
* /obj/machinery/portable_atmospherics/canister/var/color is now canister_color
* /obj/machinery/atmospherics/var/color is now pipe_color
* /mob/living/simple_animal/mouse/var/color is now body_color
* /mob/living/simple_animal/chicken/var/color is now body_color
Proc changes:
* /obj/machinery/door/proc/animate() is now do_animate()
* /obj/machinery/transformer/proc/transform() is now do_transform()
Map changes are due to pipe instances being changed from color to pipe_color
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Checking a collector's last power output via analyzers has been moved to multitools, because that actually made sense (betcha didn't know this existed, I know I didn't)
Analyzers can now be used to check the gas level of the tank in a loaded radiation collector (yay no more crowbars)
You can also use them on pipes to check gas levels (yay no more pipe meters)
Codewise, the several inconsistant instances of the analyzer code have been moved to a single proc. The following have been converted to use this:
-Pipes (they didn't have this before. Also changed the attackby code to be less dumb...)
-Pipe tanks (you know those big ones in maint everyone forgets about)
-Portable Atmospherics (canisters, air pumps, scrubbers)
-Flamethrower
-Tanks
-And now collectors
-Turns out there was already a Gaussian PRNG proc already, used by mechs and turrets. I've replaced it with my one as mine has almost half the cost. (currently broken! still waiting for fixes to be pulled!)
-replaced between(min, val, max) with Clamp(val, min, max)
-get_turf(thing) now uses var/list/locs to locate its turf, rather than iterating up through loc of its loc of its loc...etc
-sign(num) moved to maths.dm
-InRange(val, min, max) replaced with IsInRange(val, min, max) (they were identical)
-Removed ismultitool() iswrench() iscoil() iswire() iswelder() iscrowbar() etc
-removed modulus(num) as abs() performs the same task! *roll-eyes*
-removed get_mob_with_client_list() as it is no longer needed (we have var/list/player_list now)
-removed get_turf_or_move() as it simply called get_turf
-removed get_turf_loc() as it was identical to get_turf()
*Additions:*
-The "Declare Ready" link in the lobby will automatically become "Join Game" if the round starts before you declare ready, so you don't have to click it twice
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
I made the vents and scrubbers update the area scrubber/vent info themselves, meaning that an air alarm isn't required to initialize the area/vent info and to stop it from being null.
This will add more flexibility in the future.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5331 316c924e-a436-60f5-8080-3fe189b3f50e
-New wraith sprites by TankNut!
-Decreased flare duration, again(!)
-Made a based interact proc and changed the updateDialog to call that instead of attack_hand. This caused issues with the APC and getting the power cell out of it. I then changed all machines that had their own defined proc (that was everywhere)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5001 316c924e-a436-60f5-8080-3fe189b3f50e
-Atmos delay is now based on active players, to help fight lag for massive player rounds.
-Changed some for(blah in world) loops to use the correct lists.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4958 316c924e-a436-60f5-8080-3fe189b3f50e
Fixes issue 986. (Constructed normal walls named wrong)
Fixes issue 1000. (Destroyed vent still shows up in air alarm)
Fixes issue 1003. (Glowshrooms don't give off light when planted!)
Fixes issue 1004. (Issues with (?) Command)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4884 316c924e-a436-60f5-8080-3fe189b3f50e
(Damn it, it took a million hours to do that, and the entire commit log is going to be two words long?!)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4804 316c924e-a436-60f5-8080-3fe189b3f50e
- Readded Volume Pumps - now they work as intended and are constructable
- Readded Passive Gates - now they work as intended and are constructable
- Readded Heat Exchangers - now they work as intended and are constructable
- Added Heater - to warm up gasses to 300C
- Adjusted volumes on big tanks and portable pumps to 2000 and 1200 respectably
- Pipe dispensers can produce the readded pieces.
- Pipe construction code updated to compesate for the new items
- New graphics for all of the above - courtesy by Ausops.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4785 316c924e-a436-60f5-8080-3fe189b3f50e