- Also adds ABSTRACT and NODROP flags in preparation for removal of
canremove and abstract vars.
- Sorts some of the setup.dm flags so they're in order.
- Replaces 'flags & 2' in policetape.dm with pass_flags & PASSTABLE,
should have the same effect.
Removed var/constant/Pi It's already defined in setup.dm
Moved a bunch of global_lists to global_lists.dm
Fixed hair randomisation. (still bits to do)
Moved a lot of preferences_setup.dm stuff into __HELPERS/mobs.dm They'll be FAR more helpful as generic procs, rather than something tied to preferences.
Merged mob/var/nopush into status_flags with the CANPUSH flag
Merged mob/var/nodamage into status_flags with the GODMODE flag
Removed mob/var/be_syndicate and mob/var/be_random_name as they are not used.
Added /proc/ui_style2icon(ui_style) proc. It converts a string like "Midnight" into its corresponding dmi file. The code fore creating a new hud uses it.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5164 316c924e-a436-60f5-8080-3fe189b3f50e
-Atmos delay is now based on active players, to help fight lag for massive player rounds.
-Changed some for(blah in world) loops to use the correct lists.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4958 316c924e-a436-60f5-8080-3fe189b3f50e
-Now when examining someone you can tell if their brain is missing, and it doesn't give the 'catatonic' part (Because the player is in a different mob and it's kind of misleading)
-Committed Lugar223's patch for the temperature gun, preventing the window from re-opening as it heats up/cools down
Fixes Issue 900
-Fixed the issue where dead players could use pAI carts if they left the window open
Fixes Issue 967
-Changed how the Destructive Analyzer handles sheets, now it will only deconstruct 1 sheet out of the stack at a time. Also found a bug where it would destroy its own components, so that is fixed as well.
Fixes Issue 989
-Secborgs can no longer put their stun baton or energy gun in rechargers, added a check for /mob/living/silicon
Fixes Issue 972
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4807 316c924e-a436-60f5-8080-3fe189b3f50e
Artificers no longer have delay on spells, but can't create R-Walls
Carp attack damage is now 15 flat, having a chance to deal only 5 makes them far too weak.
Bears now actually have an attack value higher than zero, so players keyed into the bear can attack.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4672 316c924e-a436-60f5-8080-3fe189b3f50e
Replaced mob/var/original_name with datum/mind/var/name.
Halved the speak-chances of every simple-animal because that constant squeaking was insufferable.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4346 316c924e-a436-60f5-8080-3fe189b3f50e
Minds part2 - Carn loses her mind.
The way datum/mind stuff works has been changed a lot. I really can't explain everything. If you have any questions it'd just be easier if you leave a comment or ask me in coderbus.
Generally, minds now represent IC characters rather than following a client around constantly. Minds can change owners, mobs, (names WIP).
Technical babble:
The var/current and var/original variables of the mind datum must always be of type mob/living (or null). Please do not mind.transfer_to(ghost_mob). If you want to ghost somebody use ghostize()! It will do all the technical stuff for you.
mob/dead/observer/var/corpse was removed. mob/dead/observer/var/mind is now used as a reference to the last mind the player had (so respawning code has something to reference), but also because mind.current is a far more useful way of tracking a corpse. If somebody triggers a mind.transfer_to() call on your corpse, your mind will be tranfered to another mob/living or something...that will then be considered your corpse. This could allow for more interesting mind_transfers. For instance, the "raise corpse" rune ghostizes any player in the corpse to be raised and selectes a random dead player to take possesion of their character! The person possesing them will have all of their memories, objectives, etc. The poor guy who was originally the owner cannot re-enter body if there is another player in his body...but if that player is ghosted he can once again return. Exorcisms anybody?
Changes to cloning and hydroponics. I will likely have to rework these later as they're hacky as hell right now.
A lot of stuff is now handled by Login/Logout rather than in hundreds of different places. One such example, mind datums get their variables updated at Login and Logout.
Fixed a few minor bugs. I'll update the issues manually in a bit because I literally cannot think atm.
TL;DR guide:
-If you want to make somebody a ghost use ghostize(). Or you will need to find a doctor to stitch your bits back on. :)
-You don't have to worry about making minds. Simply doing key="carnwennan" or whatever will either: A) make a new mind and initialise it if there isn't one or B) take possession of the mind currently attached to the mob.
-It's safe to transfer a mind even if a key isn't in-body (e.g. they are ghosted/admin-observing etc!) Minds have an active variable which tracks whether they are currently synced with a key. This is to avoid dragging ghosts back into their bodies when say, a wizard mind_transfers them.
-Transferring a mind whilst var/active=1 will cause the following: mob.key = mind.key. So no need to do that separately (in fact you'll lag things if you do, so don't)
-If you do want to initialize a mind manually, say if you don't have a client to login to the mob yet, simply do new_mob.mind_initialize(). Simple! When someody is logged into that mob they will take ownership of the mind and it will sync up.
NOTE: a lot is probably broken since this is a pretty massive change. Please let me know asap (with actual info! Shouting at me, "IT BORKED HALP", doesn't help)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4342 316c924e-a436-60f5-8080-3fe189b3f50e
Also, Shades will be assigned a real name and original name upon creation, to prevent them from getting a random name when ghosted.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4278 316c924e-a436-60f5-8080-3fe189b3f50e
- Standardized critter proc declarations
- Added an AdjustBruteLocc() proc to simple animals
- Fixed the bug where simple animals would move when bumped, even when buckled
- Added space bears. They have some decently complex AI which revolves around stances, which include idle, alert, attack, attacking and tired. They are quite a fun little thing. Sprites were in code forever.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4153 316c924e-a436-60f5-8080-3fe189b3f50e
-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
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
- Replaced them with a whole range of inventory slot flags. These now govern whether an item can or can't be placed in a certain inventory slot. See setup.dm for information on the flags. These flags only affect humans tho, as humans are the only beings with an inventory to talk of.
- Standardized some gun code and some other pieces of code as I came accross them. I hate indented variable definitions!
This commit should not bring any change whatsoever to the game from a player's perspective.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3659 316c924e-a436-60f5-8080-3fe189b3f50e
If a cultist builds a construct, that construct will be a cultist. This means they can see cultists finally (and will probably count for the escape objective, so that might need changing numbers wise)
Fixed some typos in the cult runes (godamnit Urist) and the blind rune can no longer be made into a talisman, cause a handheld, instant, AoE blind that lasts 20 seconds with no counter is retarded.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3507 316c924e-a436-60f5-8080-3fe189b3f50e
Removed restrictions for cultists, anyone can be converted now.
Bibles no longer deconvert cultists to stop the random bible smashing from ruining rounds
Soulstones can no longer capture the manifested ghosts. No more infinite constructs.
Removed the telecomm traffic control from the map until its fixed.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3500 316c924e-a436-60f5-8080-3fe189b3f50e
Cult walls can now be reduced to said girders.
Artificers can now create cult floors with a new
Added the damaged cult floor sprites by Ausops.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3466 316c924e-a436-60f5-8080-3fe189b3f50e
Wraith phase shift is a bit longer so you can actually get through the entire wall when BYOND is lagging. Wraith has new sprites from TankNut
Juggernauts minimum damage was raised
You can now tell if a construct is wounded by examining it
Simple animals (constructs, Ian) can now see their health in the Status tab
Added spells for summoning soulstones, walls, r_walls, and a lesser version of the spell for summoning construct shells
Updated the changelog
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3161 316c924e-a436-60f5-8080-3fe189b3f50e
Added the Wraith construct, a faster, more fragile construct which has a lesser version of Ethereal Jaunt. It too is vulnerable to bibles.
The Chaplain is now immune to blood boil, stun talismans, and cult blind/deafen
Constructs are finally creatable by using a full soulstone on an empty construct shell. The creator will be able to choose which kind of construct is created.
Cultists can get construct shells from their supply talisman
Wizards now get the spell "Artificer" which allows them to create construct shells for free when they select the soulstone belt.
Medical Borgs are now relentless to prevent them losing hold of incapacitated patients.
Added the Artificer (conjure construct shell), Phase Shift (lesser jaunt), and Shield (lesser forcewall) spells
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3054 316c924e-a436-60f5-8080-3fe189b3f50e
Soul Stones can now capture Shades (which heals them)
Soul Stones capturing a soul will now be imprinted with that shade, and be unable to capture new souls/other shades
Added ectoplasm object/sprites. As of now it has no uses.
Shades now delete on death and leave ectoplasm behind.
Soulstones can be bought with the wizards spellbook (as a set of six) and from the cultist supply talisman.
The Chaplain has a single soulstone in his office (mostly for testing/so it will get used often and I can get feedback)
Speaking of items on the map for testing, Reactive Teleport Armour no longer spawns in the RD's office (because Urist will murder me if I have to retarded test items out at once)
Removed some no longer needed code regarding soulstones from the suicide verb.
Updated the changelog
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2821 316c924e-a436-60f5-8080-3fe189b3f50e
Right now you can't do anything them other than capture people (and talk to them if you're near the stone)
Added a new belt variety that can only hold shards. Still needs its own sprites.
They currently do not spawn anywhere/are admin only.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2777 316c924e-a436-60f5-8080-3fe189b3f50e