- Their AI has been fixed. Previously, when they began "starving" they would lock up when they located a target. This was because I was only allowing Metroids to attack people when they were only attacked themselves.
- Small stun time added to wrestling Metroids off or beating them off with objects.
- You should now not be able to enter mechas, cryos and sleepers if you have Metroid on your head.
Cargo:
- You can now cancel cargo orders.
Miscellaneous:
- Manifests no longer show "unassigned" for everyone on round start.
- The manifest is updated realtime, in that when new arrivals arrive or a job is changed, the information gets passed onto the central database.
- New arrivals now generate security records, medical records, etc. Jubilations!
- I, perhaps, have increased the efficiency of the reaction system. Preliminary tests confirmed that it's slightly faster, but I worry about whether I may have ruined someone's vision of a perfect multiple reaction system. This "change" is nothing more than adding a break; line to the end of a loop. If this proves too buggy, I'll just revert it.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1952 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed some bug with the pipe systems. You could get stuck in a certain pipe segment when you flushed yourself down the disposals.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1942 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed a boatload of runtime errors. There's so many I just completely forgot what they all were!
Explosions / Singularities now do not gib people "one-by-one" as some people may have noticed. This looked absolutely weird.
Sounds:
I was planning on making sounds become all distorted and whatnot if you were "high", but there were some problems. I've instead just settled with making deaf people not being able to hear non-ambient sounds at all.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1941 316c924e-a436-60f5-8080-3fe189b3f50e
-Shotgun crate removed
-Upped prices of some weapons crates
-Shotgun ammo can now fit in pockets
-Buffed beanbags/rubber bullets because they did literally nothing
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1939 316c924e-a436-60f5-8080-3fe189b3f50e
- Laser cannons / Heavy laser cannons should now not be all mixed up.
- Fixed a bug where the station heads and security crew could be revolutionaries and cultists on game start.
- If you somehow drop the "Off Hand" that appears if you equip a fire axe, it will be deleted. No more silly "Off Hand" items lying around the station, yay!
- If you threw a fire axe when it was wielded, it would would stay wieled.
- Metroids should now, theoretically, not be able to phase through thin windows and glass doors. There's probably still going to be some Metroids phasing through thin glass doors if the right circumstances are met (BYOND pathfinding problem, will eventually migrate Metroid pathfinding to SS13's A* system.
- Fixed up some of Firecage's half-assed sprites. The decloner projectile in specific.
Misc:
- Portable turrets can now be equipped with EVERY (except the "plasma gun" because it's stupid anyway) energy gun possible. I want to see laser cannons turrets, emagged energy crossbow turrets, and shock revolver turrets, people!
- The decloner is no longer called "decloner" because that term really doesn't make any sense anyway. Does it imply that everyone in existence is actually a clone? While that does sound kind of cool, it's actually pretty stupid, so I changed the name but kept the path type "/obj/item/weapon/gun/energy/decloner".
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1936 316c924e-a436-60f5-8080-3fe189b3f50e
-Combat shotguns must be pumped for every shot
-Security combat shotguns have a max of four loadable shots
-Combat shotguns removed from the map
-Beanbags now autolathable without hacking it, lowered metal cost for shells as well
-Beanbags fixed to knock players down
-Made armor crate only give you two vests and two helmets (regular)
-Added experimental energy weapons crate, contains two pairs of laserproof armor and two energy guns
-Added ballistic weapons crate, contains two security shotguns and two pairs of bulletproof armor
-Shotgun crate for QM, provides one loaded shotgun and two extra beanbags
-Beanbag crate for QM
-Energy crossbow now has a w_class of four (not the mini one)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1934 316c924e-a436-60f5-8080-3fe189b3f50e
- You can now set the dir and name variables for newly spawned objects, turfs or mobs in the game-panel menu.
- Dirs are:
- 1: north
- 2: south
- 4: east
- 8: west
For the rest:
- northeast = north + east = 1 + 4 = 5
legal values: 1, 2, 4, 8, 5, 6, 9, 10
Leave the name space blank to keep the default name.
If you assign a custom name for a mob, it will also be set as the real_name, meaning it will stick.
Coder note:
Names and dirs are both assigned after initialization, so they're not respected during New()
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1933 316c924e-a436-60f5-8080-3fe189b3f50e
auto_use_power only shows up in the master_controller
following code:
***************
for(var/obj/machinery/machine in machines)
if(machine)
machine.process()
if(machine && machine.use_power)
machine.auto_use_power()
***************
on the second line it checks if machine exists. If it doesn't exit it would go to the next machine.
So it is not null at this point.
then it calls machine.process()...
on the fourth line it cehcks again if the machine exists.
Then it calls machine.auto_use_power()
So at this point the machine has been checked twice for existence.
Now moving into aut_use_power() proc
*********************
/obj/machinery/proc/auto_use_power()
if(!powered(power_channel))
return 0
if(src.use_power == 1)
use_power(idle_power_usage,power_channel)
else if(src.use_power >= 2)
use_power(active_power_usage,power_channel)
return 1
*********************
This calls powered() on the second line.
now stepping into powered() proc
**************************
/obj/machinery/proc/powered(var/chan = EQUIP)
var/area/A = src.loc.loc // make sure it's in an area
if(!A || !isarea(A))
return 0 // if not, then not powered
return A.master.powered(chan) // return power status of the area
**************************
the second line "var/area/A = src.loc.loc" line 26 in power.dm is what caused the problem.
It is asking for the location.
src.loc appears to be null. The reason why this call keeps happening and doesn't stop is because the object itself exists but its location does not.
So my final analysis is that src.loc == null and calling loc on src.loc gives us a runtime error since src.loc.loc == null.loc and null cannot call loc.
runtime error: Cannot read null.loc
proc name: powered (/obj/machinery/proc/powered)
source file: power.dm,26
usr: null
src: Emitter (/obj/machinery/emitter)
call stack:
Emitter (/obj/machinery/emitter): powered(1)
Emitter (/obj/machinery/emitter): auto use power()
/datum/controller/game_control... (/datum/controller/game_controller): process()
/datum/controller/game_control... (/datum/controller/game_controller): process()
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1932 316c924e-a436-60f5-8080-3fe189b3f50e
Added in a heads of staff meeting room.
Added myself to the admins.txt on the SVN because SVN is annoying every time I update it giving me changed files.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1929 316c924e-a436-60f5-8080-3fe189b3f50e
•SSU stuff that's not yet in-game but I need it on the SVN since I'm going back to my home PC. I need to do a couple more procs, then bugfix, then the thing is complete, nyoro~n
•Corrected firecage's sexymime suit bug (a freaking COMPILE error, damn you man) and Erro's typos in his comments. I must have ADHD or something
•Some prep stuff on the suits, part of the SSU update.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1925 316c924e-a436-60f5-8080-3fe189b3f50e
Admin changes:
Admin attack logs now have a timestamps. Basically, before each log entry there is something that displays [hour:minute:second]. I plan on expanding this functionality to all kinds of logs, as well as creating a global attack log, but this will do for now.
Gloves:
You can still electrify any gloves with a power cell, however you have to use wires on non-insulated (yellow) gloves to create a "ghetto-insulation" system. I might make these gloves' stun effects more watered-down than normal insulated gloves, but that will probably be for later on.
Bugfixes:
Fixed some miscellaneous runtime errors, and more importantly, the shotgun. You can dry-pump it by clicking on it, which will eject any used shots or just make that badass "chuck-chick" sound to let everyone know you mean business. Combat shotguns can now shoot twice without the need to pump.
I also possibly fixed the issue with metroids' AI process locking up. Someone's going to have to PM me on the forums to tell me if this worked or not, because I have not been able to reproduce the bug (although I do know where it's happening in the code).
Chemistry:
Alright, so this is where the meat of this update is. In a previous revision (r1905) I mentioned the addition of a new "color" variable. This variable now has a use. When you use a spray cleaner, or a chem sprayer which now is significantly more powerful, the color combination of all the reagents inside the sprayer will be displayed instead of the plain old blue-white color. This will allow for people to easily distinguish reagents and colors, for instance, if you see some chemist running around spraying orange or purple stuff chances are that's acid he's spraying, so you should probably subdue him!
In addition, you will now be able to see beakers (large ones too) fill up visually. The color of the reagents inside the beaker is overlayed on top of the beaker. The colors may be subject to change to make them brighter or more easily identifiable by "category". Currently, most pharmaceuticals have a light pinkish color. Polytrinic acid has a distinct purple color, etc. However, with due time I can picture chemists mixing other, benign-ish reagents with harmful reagents so passerbys think that a chemist is spraying someone with something harmless, but in reality is spraying them with a bunch of PAcid. There are some consequences, for instance, concentrated acid is more powerful than watered-down acid.
Have fun with that.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1922 316c924e-a436-60f5-8080-3fe189b3f50e
Added in a new mech for the syndicate deathsquads, it's called the Mauler.
Added in syndicate deathsquad uniforms to the admin equip verb.
Added in the syndicate access level for the syndicate mothership.
Added the syndicate mothership, the nuke team shuttle now spawns inside it, however they cannot get into the mothership. At all. Once I get syndicate deathsquads working they will spawn on the mothership.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1916 316c924e-a436-60f5-8080-3fe189b3f50e
This method takes an input of a powernet and merges it with the powernet that called merge_powernets
This is the first step in my updated cable logic. The code should look cleaner as a result.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1913 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed a bug where you could not draw blood from anything. This has been fixed! (It was throwing a runtime error related to the virus2 system) You can't draw blood from Metroids though because they have no blood.
Fixed some silly typo.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1909 316c924e-a436-60f5-8080-3fe189b3f50e
Added monkey suit and sexy mime suit to theatre costume storage. Credits for sprites goes to Pybro.
Added the holy flask into chaplains office.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1908 316c924e-a436-60f5-8080-3fe189b3f50e
Chemistry:
I added a new variable to each reagent called "color". It's a hexadecimal string used to give a reagent a unique color for use in future shenanigans that are in development atm. Updooted the Chemistry-Readme.dm file to include some other variables I included into the recipie system as well as this new color variable. Implementing these colors is still an ongoing effort, and yes you will be able to "blend" these colors.
Viruses:
Nothing has been CHANGED (yet) but there is some framework for a new virus system to work alongside our current one, special thanks to Googolplexed of Baystation 12! If this weren't tied to some other things I changed, I wouldn't be committing this in the first place. While experimental, you shouldn't even notice this exists.
!!BUGFIXES!!:
Wow, there's so many I'm having a hard time keeping track of it all!
A bunch of runtime errors were hopefully fixed. There were some problems with slicing stuff spitting out runtime errors because an istype() was missing. The same goes for ritual tomes and some other things. Medical cyborgs were also fixed: their pills will now recharge properly and stop spitting out atrocious runtime errors.
It was intended for it to be possible to shoot people on top of Mulebots, but a runtime error always cut the proc off before it could execute. This has been fixed.
There are probably some other things I'm missing, but all in all, that's about it for the bugfixes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1905 316c924e-a436-60f5-8080-3fe189b3f50e
To go into details: Was some talk going on in the IRC about how bombs were far less laggy in ye olde days, and having a copy of oldcode, I decided to compare the code side by side a bit. With no particularly obvious difference between the two, we assumed atmos was the culprit, it being the laggy cesspool of mystery that it is. CPU profiling a test wherein atmos processing was turned off on tiles being exploded, we discovered that it was in fact the lighting code causing the lag.
So exploded walls no longer call sd_SetOpacity. This will likely cause some lighting quirks until we come up with a proper fix, but bombs are much quicker now.
http://pastebin.com/raw.php?i=jDAHH9x7 The CPU profile where the culprit was discovered. I kept the start and end times as close to the explosion as possible. Compare /proc/explosion's Total CPU (cpu usage of the proc and all procs called by it (and all procs called by THOSE, etc etc)) to /atom/proc/sd_SetOpacity's self CPU, which is the CPU use only the proc itself used. Notice how it accounts for over half of explosion's total CPU usage? So did I.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1904 316c924e-a436-60f5-8080-3fe189b3f50e
-biogenerator added to the hydroponics
-roller beds added to surgery
-trashbag added to janitor's closet
-candles added to chaplain's closet
-continued cleanup of machines code
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1902 316c924e-a436-60f5-8080-3fe189b3f50e
- Solars now bring out a fixed value. 700W each, meaning 60 of them (one array) generates 42000W. Not enough to power the station? That's the point. Although 4 x 42000W = 168000. This might be nerfed soon.
- Sun removed. Seriously, that thing ate up processor time and was completely useless.
- Solar tracker remains on the map but is completely useless. Will remove.
- Also reverted the cable updates from r1729. The code from prior to that revision might be as laggy as it was, but it works properly. After the revision powernets didn't calculate available power properly and did not update properly when new pieces were made (They stopped updating at the first wire piece which ended in a knot (non-smooth cable piece))
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1897 316c924e-a436-60f5-8080-3fe189b3f50e
- Environmental heat damage increased by a factor of 1.5 (meaning space and fires cause 50% more damage)
- Being without oxygen causes from 0 to 12 damage instead of 0 to 7, depending on how much oxygen is in the atmosphere. Means that if the room's just began to leak there will be no change in the oxygen damage you take compared to the damage prior to this update, but space does 12 damage per tick instead of 7.
- Fire suit now protects up to a temperature of 10000 degrees, which is the temperature at which floors start to melt. A toxin + oxy fire usually generates temperatures around 8000-9000 degrees. It used to protect up to 4500 degrees.
- Added a standard spacesuit loadout to the admin select equipment menu (LJ's request)
I've tested all the changed numbers a lot and they seem to work well. Space and fires are a lot more deadly, while normal circumstances remain at the same level as they are now.
I've also researched the bug which allowed you to spend infinity on tiles in space. The problem is that turfs don't process temperature properly, but even after spending 4 hours looking into it (I wish I was joking), I wasn't able to determine where this gets updated on the lowest of levels.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1896 316c924e-a436-60f5-8080-3fe189b3f50e