Commit Graph

63 Commits

Author SHA1 Message Date
Neerti
3256202407 [READY]Ports /tg/station pixel projectiles, processing subsystems, timer subsystems, and some misc stuff to make it all work 2019-03-27 22:02:07 -04:00
Neerti
b9adc37685 Standardizes rotation verbs 2019-03-27 03:17:07 -04:00
Atermonera
131636b1d2 Capitalizes initialize() to Initialize() because Destroy() is capitalized and this is pretty nerve-grinding 2019-03-26 13:21:08 -04:00
kevinz000
fc178c1e04 Makes math helpers defines for performance 2018-12-06 16:15:00 -05:00
Anewbe
a942e145b6 Tweaks emitters and Pacman 2018-09-22 18:45:57 -05:00
Anewbe
729ce71aa0 Converts most istype(thing,tool) procs into an appropriate thing.is_tool() format 2018-08-02 21:45:15 -05:00
Leshana
c7cd04b2bb POLARIS: Fix emitters connected to powernet remotely.
Ensure when we unanchor an emitter that we disconnect from powernet.
2018-04-19 20:51:15 -04:00
Arokha Sieyes
102041b2b6 POLARIS: Log more engine info 2018-03-13 18:57:52 -04:00
Leshana
5847319443 Update every initialize() proc to return an initialize hint.
* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
2018-02-05 15:50:13 -05:00
Neerti
acb208dd3f Works on New Blob 2017-11-29 22:35:01 -05:00
Neerti
99eb6f9404 Updates Tools
Adds toolspeed var, which is a multiplier on how 'fast' the tool works.  0.5 means it goes twice as fast.
Adds usesound var, which determines what sound is used when a tool is being used.
Changes a lot of code to use those two vars instead.
Adds 'ayyy' tools, which are ported from /tg/'s abductor gamemode.  They're currently admin only but I might make them obtainable by xenoarch later.
Adds powertools, also from /tg/.  CE starts with them in a new toolbelt that spawns in their locker, ported from (you guessed it) /tg/.
Changes welder sprites to look nicer, ported yet again from /tg/.  Modified the blue welder slightly so it can be the electric welder sprite.
Adds various sounds from /tg/, for tools and welders.
2017-08-03 04:49:23 -04:00
silveryferret
d9526bde2c Puts initial_fire_delay and burst_delay into variables instead of hardcoded numbers, as requested. 2017-07-22 17:24:08 -04:00
silveryferret
7567726c07 Ports R-UST from Baystation12 + small admin debug verb 2017-07-19 20:33:16 -04:00
Neerti
267b5fd17d Minor Emitter Tweaks
Emitters no longer die by shooting a taser or laser tag gun at it.
Emitters don't explode if they are not on a powered wire with sufficient electricity in it.  They will just crumple away instead if integrity is reduced to zero.
Taking any damage to the emitter no longer results in instant death due to me being an idiot awhile ago.
Emitters can be examined to see if they are damaged, and can be repaired by applying metal sheets to it.
2016-08-29 01:08:31 -04:00
Neerti
bcca19bc71 AI Core Update
Changes layout of the AI core, see picture in PR.
Moves APCs for core and upload to the backs of the rooms.
Critical APCs can somewhat resist EMP now.
Gives turrets a ten second timeout until they go underneath the turret covers, unless turned off manually or if they lose power.
Adds a new type of turret specifically for the AI upload/core.  This type has more health, has a 1/3 chance to ignore EMP, and fires xray lasers, to counter ablative armor.
A new material called Durasteel has been added.  It is made from Plasteel and diamonds, and boasts more toughness than Plasteel alone, as well as reflectivity.  The inner walls of the AI core are made out of this new material, which makes emitters less helpful.
Emitters can be damaged by projectiles, and will explode if too much damage is sustained.  Shooting a Durasteel wall will likely cause you to lose the emitter.
New AI core turrets turn green when on lethal, to show that xray is coming.
2016-07-05 17:33:34 -04:00
Cael Aislinn
1de511b545 fixes emitter runtime by using new calling syntax
Signed-off-by: Cael Aislinn <cael_aislinn@yahoo.com.au>
2015-08-31 16:41:43 +10:00
PsiOmegaDelta
cc7c502fb8 Updates emag attackby usages to emag_act where it's not too much of a headache. 2015-06-16 09:34:13 +02:00
PsiOmegaDelta
a07d20d657 Ports /tg/'s meteor implementation.
Merges the two meteor events into one, and now takes severity into consideration instead.
Including the basic meteors there are also new types ranging from flaming to radioactive which may drop appropriate types of ore.
2015-06-05 14:58:35 +02:00
PsiOmega
1ae0ad6d92 Updates the atom_pool, now datum_pool, to handle any datum object.
Makes the garbage collector similarly robust. Continues the whole Destroy/qdel porting.
2015-04-24 09:59:05 +02:00
Loganbacca
11d340f898 Projectile effects - Part 3
- Fixes for turrets, rogue drones, and emitters
- Removed muzzle flash from chem darts
- Converted emitters to use spanclasses and have correct capitalization
2015-03-09 22:17:34 +13:00
Mloc-Argent
117ca6a135 refactor 'dir = ' into 'set_dir()'
This should have little/no gameplay effect right now, just paving the
 way for directional lights.
Replaced handle_rotation() on buckly things with this.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2014-12-01 13:44:02 +00:00
PsiOmega
3a7066c6c1 Replaces add_load with draw_power. Issue about silly battery handling remains. Fixes the build-error. 2014-10-20 19:18:27 +02:00
PsiOmega
a1ee4e766b Basically ripped over /tg/'s powernet and cable code into our own codebase.
Keeps Z-level code as it was.
Modifies/restores powernet procs as necessary to match our own implementation changes.
2014-10-13 17:13:04 +02:00
mwerezak
9fea39dea2 Quick fix for engine core flow imbalance
A more thorough fix should probably involve providing a way for players
to control the flow rate.

Also tweaks emitters and allows collectors to be read using a multitool.
2014-08-25 20:37:07 -04:00
mwerezak
bad772d9c5 Adjusts the supermatter reaction parameters 2014-08-23 12:35:12 -04:00
mwerezak
025838532a Adjusts SM charging and output 2014-08-22 21:43:03 -04:00
mwerezak
4b070a2de6 Fixes #5935
Also improves apc/process() (doesnt add and then remove charge from
cells when it doesn't have to).
2014-08-10 03:44:56 -04:00
mwerezak
213b11601e Updates emitters and containment field power usage
As well as PA power usage. It's not used at the moment, but it might be
used by downstream or in the future.
2014-08-10 00:40:58 -04:00
PsiOmega
0bb878d198 Makes it possible to activate emitters using control buttons. 2014-07-15 21:16:27 +02:00
Jarcolr
868dea5681 Grammar patch 1
This is just the first one of many.
2014-04-08 14:48:31 +03:00
Chinsky
4d7aa320cb Due to git tree being fucked up for some reason, manually reapplied many man many fixes.
Just got to tip of real tree and got zipball, then unpacked it here.
2013-02-07 07:13:27 +04:00
giacomand@gmail.com
a2c1c935de -Made Emitter EMP_act do nothing. For the concerned.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5455 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-03 08:23:52 +00:00
giacomand@gmail.com
2bd3025fe1 -You can buy shield generators from cargo. Teleporter access required.
-Small update on emitter.
-Updated changelog.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5424 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-30 11:06:53 +00:00
giacomand@gmail.com
a04eb3f275 -Changed emitters.
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
2012-12-30 10:47:25 +00:00
ericgfwong@hotmail.com
82f31bc6e2 -Fixed up floor arrow icons so that they're not just the same one rotated around.
-Made chemistry a bit less reinforced.
-Moved more engineering equipment to access_engine_equip.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5413 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-29 00:14:01 +00:00
elly1989@rocketmail.com
ec0376097a Replaced src=%holder_ref% with _src_=holder
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5203 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-26 19:24:03 +00:00
aranclanos@hotmail.com
d25a5d5aa3 Fixes issue 1001.
Fixes issue 994. (Chemsprayers are not included)
Fixes issue 990.
Adding some instant admin logs and server logs for some stuff in emitters/PA. See image. http://i.imgur.com/7kQpH.png

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4904 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-17 14:27:23 +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
elly1989@rocketmail.com
4073ac9b00 Replaced all 'file.extension' references with 'relativepath/file.extension' using a script by thvortex of ss13-daedalus.
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.

To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"

If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-18 16:33:40 +00:00
johnsonmt88@gmail.com
26ce5db5b0 Meteors and Space dust (now that they work again) will no longer have an effect on singularity containment. Field generators and Emitters are protected.
I added a check to meteor and space dust Bump() directly because changing ex_act() on the machines themselves would make the machines immune to bombs and C4.
Hopefully fixes issue 716.

light/process() was added back in causing lights to use power as they were meant to. Recently lights have been made brighter causing more power to be drained. As a result the engineering APC would not last very long. The station using a lot of power is a good thing since the singularity produces an incredible amount of power, so to keep this higher power demand but still give engineers a fighting chance to set up the singularity, I've bumped up the engineering APC's starting battery power.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4401 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-14 16:39:01 +00:00
elly1989@rocketmail.com
ae45d10423 Pulse emitters (singulo engine) are no longer susceptible to EMPs. Resolves Issue 761
The Field generators are now offset from each-other to allow the engine to be restarted should containment fail.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4380 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-12 13:55:19 +00:00
baloh.matevz
a3d9123edd - Added a sprite "7" to the sd lighting file as it was used, even if it didn't exist.
- Piped 3.0.0 a bit.
- Standardized code/modules/power. 

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4242 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-31 05:24:37 +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
fa65c484cd Welding tool: Mostly code-related, the players won't notice much.
- Welding tool code how has proper comments! Maybe not "proper" but at least I don't lie and say a proc is/does something that it doesn't actually do.
- Welders now start full of fuel instead of some random amount between 10-20
- Someone decided it would be a good idea to set the welding tool's 'on/off' var in a ton of attackby() procs. These objects and turfs shouldnt even touch this variable. This is why people have been noticing their welding being on without the sprite or damagetype and amount reflecting that.
- - I've removed a bunch of these instances but there are so many objects and turfs spread out through the code, there's no way to know if I've got them all (This is the majority of the files)
- - I've created a new proc in welding tools that checks to see if they are turned on or not. "isOn()"
- - Since I'm not sure if I've gotten every instance of this force-var-on, I've set the welding tool to update it's icon every process(). I hate adding checks like this to processes but it's necessary for now.
- Added a setWelding() proc. If you HAVE to turn the welding tool on or off, use this, don't just change the var. In fact, dont even touch the 'welding' var anymore
- Fixes issue 435

While changing the hundreds(literally) of cases of welding tool uses I've
- Changed some :'s (object:varorproc) I've come across into .'s (object.varorproc)
- Added checks to make sure the welding tool is actually on before using it (some attackby()'s didnt have this. Heck, some checked how much fuel you had, but didn't actually USE the fuel)
- Added sanity checks after some do_after()s that were missing them

Added traitor uplink items back to erro's stat tracker
- Added 'random' with the tag "RN"
- Added thermal meson glasses with the tag "TM"
- Reorganized uplinks.dm a little by moving the 'random' item generation to its own proc
- NOTE: I have absolutely no way to test this on my own, but it should work!

I've tested a bunch of construction/deconstructions with the welding tool, but again I've probably missed a few things. If there are any problems, please let me know and I'll fix them asap.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3741 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-04 22:56:11 +00:00
elly1989@rocketmail.com
d7c9e72a29 Added a new logging system that can be used for various things in the game (such as the singularity engine, AI interactions, anything-else that may be suggested to me :P).
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
2012-05-27 01:31:57 +00:00
baloh.matevz@gmail.com
c2c7a3bcda - Variable declaration standardization. Big commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3671 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-25 19:26:36 +00:00
elly1989@rocketmail.com
0a80f91f2c Added Spacevines to the random events. Added a spawn space-vines option to the secrets panel.
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
2012-02-14 20:29:58 +00:00
mport2004@gmail.com
8c1c914259 Added Invisty's Emitter sprites.
Cleaned up part of the door code and moved some defines to their proper files.
Firelocks can now be welded open and now shows the welded overlay properly.
Borgs can now properly mess with door wiring.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2895 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-01 23:43:56 +00:00
mport2004@gmail.com
4ad793af53 Emitters can be emag'd.
You need to swipe and ID to lock an emitter,
PDAs will no longer have a popup when you attempt to put an ID into them.
PDAs have an Update Info button just below the ID slot when an ID is in it.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2867 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-30 15:42:17 +00:00
mport2004@gmail.com
32e1640df3 Emitters emp_act now uses severity properly.
The PA can no longer be remotely controlled by humans and cyborgs can only control it if they are nearby.
The spawn PA can now be taken apart.
FireAx/Extinguisher closets got their own files.
Food closets are now with their defines.
Freezer closet/crates override return_air() to cooldown the contents.
The var isinfreezer has been eliminated.
The old player panel has been readded as an alt for the new one, it may be found under the Player Panel verb.
The new player panel may be accessed by the Player Panel-New verb.
Crates.dm moved from the storage folder as it is not a storage object.
Fixed Issue 227 about the PA shooting when it should not be.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2851 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-29 07:14:02 +00:00