Commit Graph

13 Commits

Author SHA1 Message Date
polyxenitopalidou@gmail.com
276db7f50f •Fixed Issue 440 and made sleep work as intended.
http://code.google.com/p/tgstation13/issues/detail?id=440

◘The problem:
People being able to move while resting/lying

◘What caused it:
When a user decided to press "rest", a single variable, resting, was switched from 0 to 1. Through life.dm procs, when the handle_regular_status() proc saw the mob resting && his weakness being 0 or less, it would just give him 2 seconds of being-weak, through Weaken(2). Later on, the proc called update_canmove() to see if the guy had the ability to move due to weakness but also due to reagents/drugs/sleep etc.

At every tick, this proc also reduced mob.weakness by 1.

The chain that led to the problem was:
○User decides to rest
○resting is set to 1, handle_regular_status_updates() runs
○Proc sees that the user's resting var == 1. Does mob.weakness = 2
○Proc handles weakness. mob.weakness -= 1. It is now 1.
○update_canmove() is blind to resting, though sees that there's weakness. Sets canmove to 0
○Proc runs again the following second
○Proc sees user is resting.
○mob.weakness <= 0 fails, since it's 1 from the last run. Weakness stays at 1.
○Proc handles weakness, mob.weakness-=1. It is now 0.
○update_canmove() now sees that there's  no weakness, and sets canmove to 1, even though the user is still resting & lying
○For a second, the user is able to roll around on his lying butt
○Proc runs again, giving Weaken(2) and disables movement again, and the circle repeats.

◘How it got fixed:
Made update_canmove() not blind to resting. I don't like this solution, as resting still equals weakening and there's wasted processing, albeit miniscule. I will try to work on something better.

◘Sleep can now go over 1 again, some dumb shit did not realise this and led to sleep being weak as hell. You can now put people to permanent sleep through anaesthetic gasses and toxins. Deciding to sleep will put you out for 20. Deciding to faint will put you out for 10.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3442 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-12 15:31:46 +00:00
VivianFoxfoot@gmail.com
c9d716f6b8 Removes the ERP system because it has bugs in it/generates runtimes and I don't feel like maintaining/expanding it. If any of the other coders want to, they can re-add it.
Converts the metadata system into its own thing
Makes ghost_ears hear emotes as well as a test.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3392 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-02 15:55:46 +00:00
VivianFoxfoot@gmail.com
dd4a4a5b7f Minor fixes to the tensioner, changes to the borg deathsquad from 6->3 and fixes their cell
Changes changling unstun time to 45 from 25
Fix for the datumvars file which had spaces instead of tabs
Adds the starts of a rather robust erping system!  In time, we can make SS13 as realistic an ERP simulator as it is an atmos one.
Adds metadata support for clients, mostly to hold ERPing notes.  This is included in the savefile.
Adds code support for a parrot in!  Just needs a sprite
Bugfix to the 'resist' button, unless I don't understand how it works.  I don't see how it could have ever worked before.
Preferences are now attached to a mob



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3386 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-01 15:27:21 +00:00
petethegoat@gmail.com
f36295e16e Chair overhaul!
Shouldn't be any noticable difference ingame, but the chair path has changed from
/obj/structure/stool/chair
to
/obj/structure/stool/bed/chair
Electric chair path has also been changed as per the above.

New electric chair sprites! They ~won't~ make you want to cut out your eyes!


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3148 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-18 20:25:55 +00:00
baloh.matevz
a5fea19b5d - clicking the internals button on your UI (below zone select, above the suffocation indicator) will now properly toggle your internals if you are wearing a mask and your tank is in one of the following slots: back, hand, pockets, suit storage or belt.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3114 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-12 18:15:18 +00:00
baloh.matevz
64bcc1c0f0 - Moved three (well two, one was doubled for some reason) screen/attackby() procs to appear AFTER the screen object is defined. They were in a random file instead of where the objects are. If you double-click and 'screen' object in the object browser it now takes you to the definition instead of some random file.
- Clicking a grille with a glass or r-glass sheet in your hand, when the grille is in one of your cardinal directions (North, south, east or west) will make you start building a window. It takes 2s to build the window, which spawns unfastened (same as when you create one.) This should make fixing damaged grille-window combinations easier. If you are standing on a grille and click it with a glass / r-glass sheet in your hand, the window will face the direction you're currently facing.

Screenshot:
http://www.kamletos.si/placing%20windows%20on%20grilles.PNG

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3081 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-11 00:04:21 +00:00
quartz235@gmail.com
4a6805c4e3 Undoing my shitty moved_recently thing since petey sweetie actually made do_after not suck
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2771 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-22 14:16:43 +00:00
quartz235@gmail.com
a694e06991 upped the lag gratuity for breaking cuffs since apparently 40 seconds wasn't enough, if 90 doesn't work I'm just going to scrap this idea
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2769 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-22 13:17:09 +00:00
quartz235@gmail.com
3c5416fcde fingerprints on cans now log on any attackby() that isn't a wrench/analyzer/pda/tank
added a 2 minute countdown var to humans/monkeys that resets when move() is called (for an actual fix to the cuffbreak bug)
changed a typo in security levels

committed a gib animation fix for Sieve (todo: make custom gib animations for simple_animals/metroids)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2750 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-20 05:55:24 +00:00
quartz235@gmail.com
2d360ca4da so i learned has_moved_recently is pretty bad and stuff today pretty cool thing to learn
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2748 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-20 00:44:06 +00:00
quartz235@gmail.com
c6e2da83b3 fixes for issue 260 issue 262 and issue 263
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2747 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-19 23:48:09 +00:00
mport2004@gmail.com
46a7143e3a Energy projectiles work again.
Rewrote the job selection system to use bitflags and the jobs are now objects.
Fixed a path conflict with effect which caused a few things to be unable to be clicked on.
Commented out the job.txt, Urist if you still want it to load from the .txt give me a yell and I can update it to work with the job objects.
Fixed up the bits that were missing the slightly updated mob organ attack code.
Moved the traps file into unused.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2340 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-11 07:52:30 +00:00
mport2004@gmail.com
62e28c2abf Organs:
Moved into their own folder and got split into three files.
Damage  zones have been regrouped slightly to make it easier to deal with them. Currently the organ groups are head, l/r leg, l/r arm, and head.

Attacking:
Armor is properly checked.
Currently aiming for the chest gives a higher chance to stun whereas the head will stun for longer.
Stungloves/Disarm now show up in the attack log.
Stungloves ignore intent.

Silicon:
AI units can now move between cams that are not on the ss13 network.
Cyborg's alert screen should not longer pop up every time they get an alert if they have opened it once during the round.
Robot vision now uses the standard amount of energy.

Gamemodes:
Added Deuryn's unrev message.
Runes can only be examined if you are close to them.
Moved the Loyalty implants to the HoS' locker at the request of HerpA.
Nuke agents now come with explosive implants that will activate upon death.

Projectiles:
Once again went though the gun code and cleaned things up, it is much better now.
Bullet_act fixed up and most mobs now use the one in living, just overload it if they need to do something diff.
Freeze /caplaser/xbow no longer have an infinite loop.
Shotguns have to be pumped manually.

Went though the latest runtime log.

Power cells now use return on their give/use procs

Assemblies have been reworked and are nearly finished, just need to finish up the special assembly code, redo the signalers, and add one or two new assembly items.
Laying down will now only take 3 ticks to get up, from 5.

You can no longer punch people on the spawn screen.

This is a big one and was cleared by two heads, TK will only allow you to pick up items.  If you have an item in your hand it will act normal.

This revision got much larger than originally intended my tests show everything is working fine, but you never know.  Ill likely do more mob teaks in the next few days.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2333 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-08 10:38:01 +00:00