Commit Graph

63 Commits

Author SHA1 Message Date
Fox-McCloud
99bf49504a LINDA Pressure Changes 2015-07-11 06:28:03 -04:00
Fox-McCloud
0dbea7621f The Great Del() Cull of 2015 2015-07-09 02:48:34 -04:00
Tigercat2000
d20298e996 -tg- atom pooling system, qdel changes
This commit first and foremost ports the -tg- atom pooling system, and
removes the old experimental system entirely.

Secondly, this PR modifies the qdel system to use a -tg- lookalike
"destroy hint" system, which means that individual objects can tell qdel
what to do with them beyond taking care of things they need to delete.
This ties into the atom pooling system via a new hint define,
QDEL_HINT_PUTINPOOL, which will place the atom in the pool instead of
deleting it as per standard.

Emitter beams are now fully pooled.

Qdel now has semi-compatibility with all datum types, however it is not
the same as -tg-'s "Queue everything!" system. It simply passes it through
the GC immediately and adds it to the "hard del" lists. This means that
reagents can be qdel'ed, but there is no purpose as of yet, as it is more
or less the same as just deleting them, with the added effect of adding
logs of them being deleted to the garbage collector.
2015-06-21 15:47:57 -07:00
ZomgPonies
e056abfb82 3/3 port done 2015-05-25 20:16:34 -04:00
ZomgPonies
f2d03e93c2 First 1/3 of port done. 2015-05-25 17:59:30 -04:00
PJB3005
a5523e69b0 Better emitter admin logging & a couple minor tweaks 2015-05-15 18:23:17 +02:00
PJB3005
a901320238 Fixings 2015-05-15 17:06:51 +02:00
PJB3005
257e77c400 /vg/ Multitool menu port!
With 100% better squashing.

I hope.
2015-05-14 22:34:02 +02:00
Markolie
cacc2bf917 Fixes 2015-03-16 18:49:47 +01:00
Markolie
6b70bfec74 NanoUI update 2015-03-01 04:22:12 +01:00
Markolie
b28f791f8f (Porta) turret update, map area update 2015-03-01 02:10:32 +01:00
Markolie
982102a407 Standardize mutations 2015-02-22 19:04:43 +01:00
Markolie
c2058c4a9d Update our /Topic code to prevent exploits 2015-02-09 18:22:22 +01:00
Markolie
7285f39fc1 Defib update, cell path update 2015-02-09 16:12:01 +01:00
DZD
2d84ebed13 Machinery Use Logging
- Implements use logging (attack log-like var list) to machinery,
viewable in VV, can be used within any machine.
- The virus incubator in virology logs whenever somebody transfers a
virus to a blood sample, as well as that virus' symptoms.
2015-01-22 14:36:11 -05:00
Markolie
59edf2701d Makes SMES'es and Vending Machines constructable and upgradeable, gives borgs recorders 2014-11-18 20:36:40 +01:00
Markolie
2f7d3ae26d Additional constructable and upgradeable machines, adds soap to drones, updates teleporter 2014-11-18 03:13:12 +01:00
Markolie
876a5067a0 Adds constructable and upgradeable machinery, fixes the RPED, other minor fixes 2014-11-17 08:32:39 +01:00
Walter0o
172821f86d fixes computers eating cards
this commit :
ea1060ac33

added in machinery's attack_hand() proc, line 238
```
if(!allowed(user))
		user << "\red Access Denied."
		return 1
```

to almost all machinery including computers, since they call this proc via their attack_hand() procs.

allowed(user), see access.dm line 94, in turn only checks the user's hand and wear_id,
NOT the card inside the machine,
as different machines have different vars and systems handling how they can be accessed.

instead of fixing the underlying problem, eject card verbs were added like this one :
30385c2237

this PR reverts that nonsense machinery addition and adds the shuttle_control access check where it belongs.
Conflicts:
	code/game/machinery/machinery.dm
2014-07-13 07:09:01 -04:00
mwerezak
1284dc85c5 Fixes shuttle consoles not checking access
Generalizes machine access.
2014-06-26 07:40:51 -04:00
AlexanderSeto
586e9633f1 Adds the rapid part exchange device 2014-05-24 08:56:51 -07:00
ZomgPonies
408379ab6a vg economy overhaul 2014-05-20 22:51:02 -04:00
Rob Nelson
b66d0b002f Jukebox supports being moved. 2014-05-17 22:04:50 -04:00
ZomgPonies
48aea00e33 Grav generator, not mapped in yet 2014-05-05 03:03:22 -04:00
ESwordTheCat
cd8bc1d878 Let depend on use_power var if we need to know the area. 2014-04-20 03:45:56 -04:00
ESwordTheCat
16d5d18e7c Revert from area to text.
Conflicts:
	code/modules/power/power.dm
2014-04-20 03:37:00 -04:00
ESwordTheCat
51c8b9306d Declare myArea as an area. 2014-04-20 03:27:41 -04:00
ESwordTheCat
b332bc7dec Don't use get_area proc, introduce myArea variable.
Conflicts:
	code/modules/power/power.dm
2014-04-20 03:26:59 -04:00
Jeremy Liberman
f43ef06431 Virology - NanoUI, gameplay tweaks, bugfixes
Conflicts:
	.gitignore
	code/game/machinery/kitchen/smartfridge.dm
	code/game/machinery/machinery.dm
	code/modules/food/recipes_microwave.dm
	code/modules/reagents/Chemistry-Holder.dm
	code/modules/reagents/Chemistry-Reagents.dm
	code/modules/virus2/isolator.dm
	nano/js/nano_base_helpers.js
2014-04-19 15:42:49 -04:00
Ccomp5950
b97434054f APC Area update initial commit.
Conflicts:
	code/modules/mob/mob.dm
	code/modules/power/power.dm
2014-03-08 17:00:43 -05:00
ZomgPonies
41ea3775b4 Xenos update 2014-03-03 00:08:06 -05:00
ZomgPonies
1ab8df4b13 Garbage collection fixes 2014-02-19 20:24:31 -05:00
Razharas
5c8d9ede3b Added chem handling and IED recipe
Uh oh

Conflicts:
	code/game/atoms.dm
	code/game/objects/items/weapons/stunbaton.dm
	code/game/objects/structures/tables_racks.dm
2014-01-31 02:56:27 -05:00
Rob Nelson
c3b021e246 Added a garbage collector implementation based on rumors from Goon and proc references in released gooncode.
And holy shit it's fast

Conflicts:
	baystation12.dme
	code/ATMOSPHERICS/pipes.dm
	code/game/machinery/Sleeper.dm
	code/game/machinery/rechargestation.dm
	code/game/objects/structures/crates_lockers/crates.dm
	code/game/objects/structures/tables_racks.dm
	code/modules/mining/mine_turfs.dm
	code/modules/paperwork/photocopier.dm
	code/modules/power/cable.dm
	html/changelog.html
2014-01-29 23:45:21 -05:00
Rob Nelson
55e918cc6a Wire hacking recode from /tg/.
Conflicts:
	baystation12.dme
	code/__HELPERS/mobs.dm
	code/defines/obj/weapon.dm
	code/game/machinery/alarm.dm
	code/game/machinery/doors/airlock.dm
	code/game/machinery/machinery.dm
	code/game/machinery/vending.dm
	code/game/objects/items/devices/paicard.dm
	code/game/objects/items/weapons/explosives.dm
	code/global.dm
	code/modules/assembly/signaler.dm
	code/modules/mob/living/silicon/mommi/life.dm
	code/modules/mob/living/silicon/mommi/mommi.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/mob/living/silicon/robot/wires.dm
2014-01-12 22:37:55 -05:00
Spamcat
2b348eaa3e Phasing out world loops, pt 1 2013-06-20 17:21:16 +04:00
Aranclanos
799ed74a3c Made the effects of EMP pulses get garbage collected. Less lag on the singularity (around 20 effect del per 5~10 seconds) 2013-06-04 13:47:26 +04:00
johnsonmt88@gmail.com
095e84de15 Removed vending.dm and machinery.dm from the defines folder and moved the defines to their respective chunks of code.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5440 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-31 23:51:04 +00:00
giacomand@gmail.com
87ceb9d751 -Emergency revert of r5051.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5059 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-14 00:18:16 +00:00
giacomand@gmail.com
1bd208da87 -Should fix anything that used to update the dialog window but doesn't now.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5051 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-13 03:20:50 +00:00
Kortgstation@gmail.com
068fc7afda Replaced a ton more for viewer in range things with visible_message
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4934 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-22 04:30:19 +00:00
elly1989@rocketmail.com
73e5c38a56 Preparations for reducing the number of processing machines at round-start. There are currently 8000 or so at round start, this was already pruned to 2800ish by doohl's stuff.
machine.process() now uses a return value to remove itself from the processing machines list. This is more efficient and will help reduce costs especially at round start where some 5000+ machines were removed from the list using first-find. Now there is no searching involved. Instead of machines.Remove(src) just do .=PROCESS_KILL that will return the flag to the proc which called it (the MC) and trigger its removal from the list. If you're deleting something don't even bother removing it from the machines list, there is no need to.

Simplified the last_processed stuff for the MC. It's now a single variable rather than 3. It is simply a typepath rather than a reference to an object (this is so it works even if said object is deleted)

MC stats in admin status_panels now show the length of the processing lists (indicated by #). I've just realised I forgot to mention what the abbreviations are:
The less obvious ones are: Dis=diseases; Net=pipes; Pnet=powernets; Mch=Machines; Tick=the game-mode ticker.

Beach-water now uses an overlay image rather than a separate object.

Fixed a typo in the shuttle console.

Hydroponics trays no longer use first-find within their process() for checking the plant is in the tray (why is that even there anyway? talk about lazy)

Removed some junk/placeholder procs like organ/proc/process() return

Removed newscasters from the processing machines lists.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4603 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-02 20:32:01 +00:00
polyxenitopalidou@gmail.com
b5c57165ac •Newscaster overhaul, something I wanted to do since I made them.
•Centralised network, eliminated needless loops and worked out a better way than process(), since newscasters are a lot.
•Added Access News Network adminverb, which gives absolute freedom over the network. Check the Fun tab.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4595 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-31 11:00:59 +00:00
giacomand@gmail.com
683662f3b6 -Ported/continued AI Freelook. AIs can now look around like a ghost with the exception that they cannot see what cameras cannot see. Meaning if you're in maintenance, and there's no cameras near you, the AI will not know what you are doing. This also means there's no X-Ray vision cameras anymore. I've added documentation to freelook.dm which explains how the system works, if anyone is interested in adding anything. More information here: http://nanotrasen.com/phpBB3/viewtopic.php?f=7&t=9675
-I've added some cameras to rooms that should have cameras but were previously depending on other camera's using their X-Ray vision in order to see into a room.

-AIs have a multitool in their contents that they can use to interact with the telecommunication machines.

-Added "Follow" for observers. Works the same as AI tracking without checking if they can track.

-Added a range to how far Cyborgs can interact with machines. This is to stop Cyborgs from interacting with machines through cameras, which could be used to easily disable the AI.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4531 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-25 05:34:33 +00:00
sieve32@gmail.com
459c558898 -Make holodeck eswords a child of obj/item/weapon/holo instead of regular eswords, clumsy check removed as a result, and you can no longer do things like cutting through walls or doors or what have you. (Fixes Issue 665)
-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
2012-07-23 00:48:51 +00:00
johnsonmt88@gmail.com
80b15df54b ** Mob Define Cleanup: Part 1 **
I'm currently working on moving all of the vars in mob_defines.dm and some procs in mob.dm into more fitting places. For example, ghosts and simple animals can not be cloned, so they do not need a cloneloss var. Cloneloss would be better fitting to /mob/living or even /mob/living/carbon. 

By moving these defines into proper children of /mob we lower the amount of resources that must be set aside every time a mob is created and we lower the amount of data that gets transfered between mobs when we combine, transfer or transform them. In theory, this should help free up some resources and combat lag.

Due to how integrated some of these defines are in the rest of the code, I'm going to be committing this cleanup in small batches. Doing it this way instead of one massive commit means that bugs will be easier to locate and identify. It is also less likely to overwhelm players with bugs, and if it still does, it will make it easier for us to revert only the section that is causing problems. Smaller commits also means merging with existing code will be less of a nightmare and has less potential for merging mistakes.

One of my goals in this cleanup is to add a description to every single variable in mob defines. While some of them are self explanatory, there are some there that are used in horribly obscure ways on top of having no comment to describe their use.

-----------------------

Mob defines moved to living:
- last_special*
- bruteloss
- oxyloss
- toxloss
- fireloss
- cloneloss
- brainloss
- halloss
- hallucination
- hallucinations(list)

*Note: I believe this variable is not needed, but the code it is used in (the resist verb) is cluttered and messy. That chunk of code probably use a re-write. I'll put it on my TODO list and if I survive mob_defines I'll try to get around to it but if anyone wants to do it for me, that would certainly help!

-----------------------

Mob procs moved to living:
- getBruteLoss()
- adjustBruteLoss()
- getOxyLoss()
- adjustOxyLoss()
- setOxyLoss()
- getToxLoss()
- adjustToxLoss()
- setToxLoss()
- getFireLoss()
- adjustFireLoss()
- getCloneLoss()
- adjustCloneLoss()
- setCloneLoss()
- getHalLoss()
- adjustHalLoss()
- setHalLoss()
- getBrainLoss()
- adjustBrainLoss()
- setBrainLoss

Mob procs moved to carbon:
getDNA()
setDNA()

-----------------------

Mob verbs moved to carbon:
- Sleep
- Lay down / Get up

-----------------------

The : operator...

The thing that has been killing me through this whole cleanup is people using or copy/pasting the : operator everywhere. 


*** Please use obj.var_or_procname. Do not use obj:var_or_procname ***


Using obj:procname will not throw a compiler error if obj does not have that specific var or proc. This means that the coder making changes will NOT be informed of an error which will result in a proc failing, potentially being completely unusable and definatly causing a runtime error.

With that said, I fully anticipate that most bugs (if any) caused by this mob define cleanup to be the result of : operators.

I've been replacing many : operators in favour of the . operator as I've been going, most noteably I went out of my way to remove almost every : operator from the 4000+ line Chemistry-Regents.dm
Exceptions:
- Water: Turf and Atmos related vars. I'm not familiar with the members and methods in those class' hierarchy.
- Silicate: because it's commented out and I honestly dont see it returning.
- Thermite: Turf and Atmos related vars.
- Corn Oil: Turf and Atmos related vars.

Final note: While this may be the source of some mob-related bugs, there are two other revisions that have been committed between now and the last time either of the the two tgstation servers have been updated. These revisions both touch mob-related files. I'm not blaming these other revisions for anything, especially since one of them is mine anyway, I'm just listing them here for refrence to help quickly identify any problems.
- My human/life() changes in r3925 
- Carn's life() standardizations in r3933

Stuff unrelated to mob defines:
- Fixed borgs and such being able to go into DNA modifiers.
- Changelog updated and I added Sieve to the list of coders.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3934 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-28 17:06:19 +00:00
vageyenaman@gmail.com
49647d329a There's a metric assload of stuff here, mostly in preparation to my massive traitor expansion, so I'll try to be brief:
- I added in the foundations for traitor factions. See factions.dm for all the different faction datums. They don't do anything yet.

- I completely ported mob/var/mutations from a bitfield to a generic list. Mutation enumerated-identifiers are added into this list. For instance, TK = 1, COLD_RESISTANCE = 2, XRAY = 3, etc... The purpose of this was because bitwise operations could not actually be used after a certain size (because BYOND is stuck in the 16bit era).

- I've added in completely-functional nano-augmentations. Check under implantnanoaug.dm for a list of implants and implaners. As mentioned previously, they are completely functional but may be slightly OP. Among these nanoaugs are Super Strength, Psionic Radar, Electric Hands, Energy Blade/Sword Synthesizer, Rebreather, Dermal Armor, Combat Reflexes, and Regenerative Nanorobots. I won't go into detail as to what they do, but hopefully they should be self-explanitory. If not, check out their descriptions in the file previously mentioned.

- Added in a future traitor item, the Mind Batterer. Along with it a new .ogg file.

- New telecomms bus mainframe sprite, thanks to WJohnston.

- New holdable shield, sprites courtesy of Muncher (i had to mangle the side sprites because of a technical little issue. I'll change it back to the original soon). It can be retracted and expanded. Probably only going to be given to traitors.

- A couple of minor bugfixes here and there, along with some code tidying.


Hope this isn't too large a commit. I intended it to be MUCH larger, but I've decided to split up my Traitor Factions expansion into smaller commits.



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3692 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-29 03:16:47 +00:00
vageyenaman@gmail.com
d29e3be8d4 Removes poo. XSI and co. weren't very fond of it, and the last thing I would do is make them uncomfortable and challenge their leadership by keeping poo in.
An experimental lagfix, which removes a couple THOUSAND unnecessary machines from the machine processing list. Please report any unresponsive machinery (as result of this commit) as HIGH PRIORITY issues. I'm not quite sure how much lag this will kill, but I'm confident that it will be at least slightly noticeable.

More work on step_triggers. The escape shuttle should no longer blast things forever and give them infinite momentum.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3370 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-29 03:53:38 +00:00
vageyenaman@gmail.com
d5bff25b5b Modified TK to be more effective and polished. You can use the TK grab to interact with machines and stuff from far away (but you cannot pick them up!). This means you can also bonk people with items you are holding with your TK grab.
Changed the energy gun sprites to a better-looking version, made by Khodoque!

More work on NTSL. Including the ability to create comments by using // and /* insert comment here */.

Removed the traffic control machine from telecomms, as requested by Urist. NTSL is still a work in progress, and needs to be completely fool-proof before players can get anywhere near it.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3252 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-04 21:41:51 +00:00
panurgomatic
32b2be1b5a - Simple event dispatch system.
- atom.forceMove() proc. Ignores density and other Move() restrictions, but calls Exited() and Entered()
- var/emagged moved to /obj/machinery class
- anyprob() helper proc.
- Mecha internal damage vars encapsulated.
- Mech Fabricators now require robotics ID to operate. Emag removes this restriction.
- Added Odysseus Medical Exosuit and it's parts. Has integrated Medical Hud and ability to mount medical modules.
- Added Sleeper Medical module for medical exosuits. Similar to common sleepers, but no ability to inject reagents.
- Added Cable Layer module for exosuits. Load with cable (attack cable with it), activate, walk over dismantled floor.
- Added another exosuit internal damage type - short circuit. Short-circuited exosuits will drain powercell charge and power relay won't work.
- You should be able to send messages to exosuit operators using Exosuit Control Console
- Gygax armour and module capacity nerfed.
- Exosuit weapon recharge time raised.
- Bugfix: EMP actually drains exosuit cell and damages it

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2780 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-23 10:54:23 +00:00