Commit Graph

114 Commits

Author SHA1 Message Date
sieve32@gmail.com
7bf6788082 -OPTIMIZATION TIME
-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
2012-07-26 03:04:05 +00:00
Albert Iordache
4eee0a106c Minor optimization to metroid/proc/get_obstacle_ok() and re-added Sky's beam optimization 2012-07-23 18:43:43 +03:00
Albert Iordache
188e7e3a2a Revert "Optimized the code regarding the beam projectiles leaving a fleeting beam behind them, however the count of deletions is still quite high despite this. 30-50 deletions per second."
This reverts commit 45c8a37bd1.
2012-07-22 23:35:38 +03:00
SkyMarshal
45c8a37bd1 Optimized the code regarding the beam projectiles leaving a fleeting beam behind them, however the count of deletions is still quite high despite this. 30-50 deletions per second.
Also fixed the code for evidence bags.
2012-07-20 22:04:00 -07:00
giacomand@gmail.com
e42419c304 -When a pAI Card is deleted it will now kill the pAI mob inside. This is to stop people from being able to respawn by having their pAI destroyed in a singularity.
-Added a new wire to Cyborgs. The Camera wire allows you to disable the Cyborg's camera. It will show on Security Consoles as "Cyborg-155 (deactivated)". Pulsing it provides you and the Cyborg with a message of the Cyborg's camera focusing loudly. It will also kick anyone who is watching the Cyborg's camera out.

-Traitor Cyborgs, when scrambling their codes, now have a completely disabled camera. It will not show up on Security Consoles at all, even as deactivated.

-Added a new small guide for new Cyborgs. It is similar to the AI's with some more useful information specific to Cyborgs.

-Commented out the old message, it was copy+pasted everywhere.

-Changed RandomBorgWires to not rely on lucking out and landing on a previously unused index.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4089 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-16 16:15:29 +00:00
ericgfwong@hotmail.com
d2fc8b2689 Updated message AIs and Cyborgs get when they spawn
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4027 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-10 19:02:03 +00:00
d_h2005@yahoo.com
507aeac51e Fixing some derps:
-Cocoa pods no longer turn invisible at a certain point.
-Changed some dumb descriptions.
-Fixed larvae UI positioning
-Further adjusted capsaicin/frost oil. Cold is already lethal to metroids, so the extra damage stuff was redundant.
-Fix for somatoray runtimes when shot at metroids and xenos and stuff.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3970 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-02 20:20:13 +00:00
petethegoat@gmail.com
7f5de70b91 Reverted r3944, with the exception of stock_parts.dmi
Fixed issue 605.

Committing minor adjustments to watercloset.dm and paperbin.dm too!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3947 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-29 15:56:51 +00:00
vageyenaman@gmail.com
9a7675ce5a Implemented Tobba's new lighting system. This grants some infrastructure to allow for colored light sources. It should also, theoretically, but more efficient.
Created a quick variable to let projectiles automatically illuminate.

Implemented some of Ausops' sprites.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3944 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-29 03:43:30 +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
elly1989@rocketmail.com
48088b79d9 ugh...this was horrible. I'm really sorry if I fucked anything up, I was literally going braindead towards the end.
Replaced every l_hand = and r_hand = and all that if(hand) crap to use standardised procs. This means we can use procs like Dropped() reliably as they will always be called when things are dropped.

Thorough documentation to come. But generally, if you want a mob's icons to update after deleting something in the inventory...use drop_from_inventory(the_thing_you_wanna_drop) just before deleting it. If you wanna put something in a mob's hands use put_in_hands() (or one of the variants). It'll try putting it in active hand first, then inactive, then the floor. They handle layers, overlays, screenlocs calling various procs such as dropped() etc for you. Easy

mob.equipped() is now mob.get_active_hand() because there was another totally unrelated proc named equipped() and stuff was confusing.

Weakening was made instantaneous.

Minor optimisations for human/handle_regular_status_updates(). I'll port these changes over to the other mobs next. Basically it should stop it constantly incrementing every status effect even after death.

umm... bunch of overlays related fixes... I think that's everything. :/

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3900 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 21:24:45 +00:00
Erthilo
dfb6676ebb TG: Not a whole lot going on in this commit, just more work on preparation for the
traitor factions update. Added some new sprites and weapons.

New weapon: Delivery grenade. Can spawn an x amount of mob/object y in a
constant radius. It is currently used for carp and manhack delivery grenades.

!! Important !!: Certain telecomms computers were causing very nasty machine
disruption through some very silly mishap involving re-programming a computer's
network. Basically, it was breaking machine procs every time you messed with
them. This should hopefully make telecomms a lot more stable.

Fixed a bug where the reflexes nanoaug would not actually dodge the projectile
if the person was clicking directly inside the target's 32x32 border.

I changed around some core PDA messaging functions in preparation to PDA
Chatrooms (yes Legality it's happening). However I'm going to hold off actually
implementing it until Messycakes is either completed with his PDA UI overhaul or
just stops working on it.

Committed two patches from separate people in the forums. Chemical Cigarettes by
Neek (http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=8775) and Clicking
genetics blocks by Willox
(http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=8857). Check their respective
threads for more details. Sorry I couldn't get this earlier, guys!
Revision: r3755
Author: 	 vageyenaman
2012-06-23 14:59:54 +01:00
Erthilo
ac30f5f2d3 TG: Sieve stuff, this is a stupidly big commit, I'm sorry, I really am.
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
Revision: r3751
Author: 	 petethegoat
2012-06-19 21:37:44 +01:00
sieve32@gmail.com
e8851bddf9 More bugfixes!
-Fixes an issue with protolathes being able to be loaded forever
-Adds 3 pairs of Mesons to the EngiVend to compensate for all the missing engineering lockers
-Changed the spawn order for lasertag closets (So you can actually click the different items)
-Makes lasertag turrets and ED-209's much more efficient, prevents them from shooting at downed people, they don't target 'criminals', they cannot be used by the opposing team, most options are auto-magically set on creation and the buttons to change them are disabled (Everything but the on/off and the patrol for ED's, for now), and when emagged, they fire 'omnitag' bolts (Stuns everyone with a vest)
-Gave blue lasertag bolts their own sprite to match the style of the red tags
-Nerfed the amount of radiation from the radium and uranium reagents

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3866 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-19 02:00:02 +00:00
elly1989@rocketmail.com
8961bd96d0 WARNING: This has been thoroughly tested and I'm happy that it's -stable- (it shouldn't runtime). However, it might have a few niggly bugs caused by specific items using no-standard or weird code. Most bugs will be stuff like it not updating overlays and such and can be fixed simply by dropping the item. That being said, if you're not comfortable with this, I'd suggest waiting to update past this revision.
update_clothing() has been broken up into it's key parts. A full explanation can be found in code/modules/mob/living/carbon/human/update_icons.dm
the tl;dr of it is that overlay updates are no longer called by the gameticker. Instead they are called by procs such as u_equip db_cick etc. This means faster updates (although admittedly, more of them can be called per tick). This however is offset by the fact that specific overlays can be updated now, vastly improving its efficiency. This will especially help when there are large numbers of dead mobs.

Fixed the throw code for TKgrab so it can be toggled.

Cloaking for aliens/humans/ninjas was changed. It's very crude at the moment and for that I apologise. But it works and is very efficient.It also stops cloaked individuals becomming invincible due to people being unable to hit them (even when they know exactly where  they are)

Fixed a bunch of bugs with damage-overlays. They  were updating FAR FAR to frequently. They were also horribly inefficient. They should now be virtually seamless when updating and only use cached icons, so they aren't affected by lag as badly. This may help with explosions lag a little.

There's still a tonne of stuff I need to refine with this. I'll be refining it down into some helper procs to reduce on code duplication and such

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3811 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-13 19:03:25 +00:00
petethegoat@gmail.com
4701247c9b Fix for bananium doors having the wrong icon_state. Thanks Mwahahahaha!
Fix for xray projectiles being incorrectly defined. Thanks Mwahahahaha!
Fix for the xray sprites.
Map changes! Mostly changes in maintenance, but also a xenobio change, to make the monkeys not visible from the metroid pen, for Rockdtben.
Also readded the secure storage and lockdown buttons to the CE's office. Thanks Mwahahahaha!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3765 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-08 14:34:36 +00:00
vageyenaman@gmail.com
f9ee2320fa Not a whole lot going on in this commit, just more work on preparation for the traitor factions update. Added some new sprites and weapons.
New weapon: Delivery grenade. Can spawn an x amount of mob/object y in a constant radius. It is currently used for carp and manhack delivery grenades.

!! Important !!: Certain telecomms computers were causing very nasty machine disruption through some very silly mishap involving re-programming a computer's network. Basically, it was breaking machine procs every time you messed with them. This should hopefully make telecomms a lot more stable.

Fixed a bug where the reflexes nanoaug would not actually dodge the projectile if the person was clicking directly inside the target's 32x32 border.

I changed around some core PDA messaging functions in preparation to PDA Chatrooms (yes Legality it's happening). However I'm going to hold off actually implementing it until Messycakes is either completed with his PDA UI overhaul or just stops working on it.

Committed two patches from separate people in the forums. Chemical Cigarettes by Neek (http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=8775) and Clicking genetics blocks by Willox (http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=8857). Check their respective threads for more details. Sorry I couldn't get this earlier, guys!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3755 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-07 02:31:09 +00:00
petethegoat@gmail.com
72c72c47d3 Sieve stuff, this is a stupidly big commit, I'm sorry, I really am.
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
2012-06-06 19:45:03 +00:00
cib
f3dd3dfe9f The change projectile code is a lovely copypaste again. 2012-05-29 15:45:00 +02:00
cib
3a74270e29 Merge github.com:Baystation12/Baystation12
Conflicts:
	code/modules/mob/mob.dm
	code/modules/projectiles/projectile/change.dm
2012-05-29 13:43:20 +02:00
Erthilo
4d7b4b284c Fixes for response team notes. Soghun removed from staff of change. 2012-05-28 20:42:47 +01:00
cib
0799cddb4b Cleanup of all the update_clothing() calls.
Mostly I replaced them with rebuild_appearance() or update_body_appearance() where suitable.

I also reorganized the new update_clothing() code a bit.
2012-05-27 20:43:52 +02:00
cib
479563cb28 Removed some stupidly copypasted code. The transform projectile will now only work on humans. 2012-05-27 17:59:44 +02:00
Erthilo
a83c870358 TG: -Added soil to plant seeds in. Make it by crushing up sandstone. Soil does not
have indicators like trays do! Watch your plants carefully!
-Added money trees. When life gives you lemons, mutate them into cash.
-RnD can create a new tool for botanists: The floral somatoray. Has two modes.
Use it on your plants to induce mutations or boost yield.
-Raised the passive species-mutation chance slightly.
-Fixed a goof I made before when I was editing poppies. Woops.
-Changed the name of "Generic Weeds".
-Normalized grass harvests.
-Couple of typo fixes.
-Updooted my changelog.
Revision: r3495
Author: 	 d_h2...@yahoo.com
2012-05-05 23:45:45 +01:00
CaelAislinn
3cec18affd balances, improvements and tweaks to rust and antiqua. did not to cameras because i have a lecture in six hours.
Signed-off-by: CaelAislinn <cael_aislinn@yahoo.com.au>
2012-05-01 03:33:29 +10:00
Ren Erthilo
439aafc7f7 TG: Added lasertag vests, guns, projectiles. Sprites for the vests and guns from
Muncher.

Lasertag guns are only usable if you're wearing the appropriate team vest.
Lasertag projectiles will only stun people who are wearing vests belonging to
the opposing team.

Four vests and four laser tag guns are now in fitness (two sets of red, two sets
of blue)

Fixed emergency storage having chem storage access, removed the R walls around
it.

Updated changelog.
Revision: r3333
Author: 	 kortgstation
2012-04-29 22:36:06 +01:00
d_h2005@yahoo.com
4b9e382170 Runtime fix for the floral somatoray shooting at mechas.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3525 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-28 15:54:50 +00:00
Ren Erthilo
4c7a2dc853 TG: Fixed the objectives not being assigned properly when the Summon Guns spell is
used.

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
Revision: r3272
Author: 	 kortgstation
2012-04-26 22:42:56 +01:00
Ren Erthilo
7d04c9c169 TG: 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.
Revision: r3128
Author: 	 elly1...@rocketmail.com
2012-04-23 21:07:55 +01:00
Ren Erthilo
c23a674710 TG: - Using robot parts on a suit that already has that part no longer eats up the
part you used on it
Revision: r3127
Author: 	 quartz235
2012-04-23 19:30:06 +01:00
d_h2005@yahoo.com
41ba8a7ae6 -Added soil to plant seeds in. Make it by crushing up sandstone. Soil does not have indicators like trays do! Watch your plants carefully!
-Added money trees. When life gives you lemons, mutate them into cash.
-RnD can create a new tool for botanists: The floral somatoray. Has two modes. Use it on your plants to induce mutations or boost yield.
-Raised the passive species-mutation chance slightly.
-Fixed a goof I made before when I was editing poppies. Woops.
-Changed the name of "Generic Weeds".
-Normalized grass harvests.
-Couple of typo fixes.
-Updooted my changelog.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3495 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-22 05:55:33 +00:00
Ren Erthilo
5fabd286d1 TG: 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. r2895
2012-03-27 05:50:15 +01:00
SkyMarshal
f45aff1bae Chameleon Jumpsuit now has armor, space tiles now get generated faster, fixed fingerprint runtime, optimized autosay, fixed crates + package wrappers, retired admins are no longer spammed, can now click through blindness, packages and evidence bag contents now count toward traitor objectives, stunning and such stops you instantly, guncode improvements. 2012-03-24 17:21:31 -07:00
kortgstation@gmail.com
8b006388f8 Added lasertag vests, guns, projectiles. Sprites for the vests and guns from Muncher.
Lasertag guns are only usable if you're wearing the appropriate team vest. Lasertag projectiles will only stun people who are wearing vests belonging to the opposing team.

Four vests and four laser tag guns are now in fitness (two sets of red, two sets of blue)

Fixed emergency storage having chem storage access, removed the R walls around it.

Updated changelog.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3333 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-21 02:37:26 +00:00
kortgstation@gmail.com
1be29f6468 Fixed the objectives not being assigned properly when the Summon Guns spell is used.
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
2012-03-11 21:35:41 +00:00
SkyMarshal
f0b3802b10 Merge branch 'master' of github.com:Baystation12/Baystation12
Conflicts:
	baystation12.dme
2012-03-06 19:10:39 -07:00
SkyMarshal
7534154fa2 Cleaned up some code, fixed a bug with dead/sleeping people seeing you talk into headsets, reworked guncode some, readded point-blank shooting, removed disposal space cannon, hacktool works on windoors and secure closets, now. 2012-03-05 12:27:55 -07:00
Hawk-v3
bc84c1efb0 Merge branch 'master' of github.com:Baystation12/Baystation12 2012-03-02 19:07:44 +00:00
SkyMarshal
0d8c7d5e51 Reworked the gun system to handle hostage scenarios better.
Ported and adjusted with permission from Lost Worlds.
2012-03-01 19:20:39 -07:00
kortgstation@gmail.com
a9e575e5fb Tg Update: Cyborgs will no longer drop shit everywhere when hit by the Staff of Change.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2789 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-01 21:38:24 +00:00
kortgstation@gmail.com
d5756b4612 TG Updates: Staff of Change victims now have Universal Speak (the metroids/xenos/monkeys can all speak english).
Reverted it back to cultists getting one random word each because I broke something apparently.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2763 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-01 18:05:01 +00:00
kortgstation@gmail.com
b7f067fd4c Fix for borgs transformed by the Staff of Change dropping their cells and MMI on the ground.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2757 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-01 03:22:47 +00:00
kortgstation@gmail.com
db91705488 TG Updates: Fixed a bug I caused (where the Staff of Change was unable to fire).
The Staff of Change no longer works on dead targets (to prevent resurrection when the new mob is created and the ckey transferred).

The Staff of Change can now cause a mob to change into a human (and a chance for said human to be a lizardman/metroidman/plantman/golem/normal human)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2756 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-01 03:22:14 +00:00
VivianFoxfoot@gmail.com
4bbea4187f TG UPDATES: Medium bullets (used by deathsquad pistols and nuke team SMGs) now knockdown their target like the
detective's revolver.  They also do some eyeblur because of the hydrostatic shock.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2754 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-01 03:21:15 +00:00
kortgstation@gmail.com
3785d39022 TG UPDATES: Hurr durr I'm fucking retarded forgot to check a file last commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2733 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-28 20:36:36 +00:00
kortgstation@gmail.com
6faebfdf2c TG UPDATE: Added the Staff of Change gun, a self recharging weapon which cannot be placed in a recharger. It fires bolts of change
Added a new projectile "bolt of change."
When struck by a bolt of change, a mob will be randomly transformed into one of the following:
-Alien (Drone/Sentinel/Hunter)
-Metroid (Adult/Baby)
-Cyborg
-Monkey

The staff is admin only as of now.

Fixed some bits on the salvage shuttle.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2731 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-28 20:36:02 +00:00
SkyMarshal
ed7c6d1259 Fixed lasers being stupidly intensive on the CPU, balanced nuke proportions some. 2012-02-27 18:33:00 -07:00
SkyMarshal
c7af63b281 Energy projectiles now move instantly, leaving a straight line from their origin to their destination, like real energy weapons.
Welderbackpack now has a proper icon.
Stun rounds can now be reduced or blocked by armor
Added more update_clothing() calls
Fixed strangling non-humans.
Blob is now an announcement only.
2012-02-26 23:06:43 -07: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
kortgstation@gmail.com
8caa698d48 Chaplains are no longer immune to cult magic. Instead, a new item, the null rod, spawns in the chaplains office. Having the rod on your person will make you immune to cult magic.
Runes are now dispelled with the null rod, not the bible.

Chaplains can no longer self heal with the bible.

Simple animals can now attack mechas and critters 

Constructs no longer take extra damage from bibles.

Fueltanks now explode when shot by lasers or bullets.



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3125 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-14 03:29:18 +00:00