Changed 'traitor' headsets to 'syndicate' headsets to have it make a bit more sense. Syndicate encryption is tied to the keys, so anything with a Syndicate Key can hear the Syndicate Channel.
Also, added 2 intercoms to the Nuke OP shuttle that are on the Syndicate frequency and have the needed encryption.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3991 316c924e-a436-60f5-8080-3fe189b3f50e
- Absorbing someone with the same real_name as a prior victim now properly adds to your genome count for end-round report
- Done via new changeling datum var (ugh) called absorbcount that is just a number that increases on any successful absorb (also increases properly in the event of absorbing another changeling,) couldn't see a better way about this without overhauling the entire changeling datum layout, objective checks, etc.
Removed direct narrate (not global) rank check, since everyone gets subtlemessage and the like it didn't make sense to restrict this
Readded timestamps on fingerprints_hidden which I guess were removed during a revert?
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3968 316c924e-a436-60f5-8080-3fe189b3f50e
Decided to add this after one of our admins put a human inside a toilet cistern causing untold mayhem in the runtime log :P
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3938 316c924e-a436-60f5-8080-3fe189b3f50e
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
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
Several head objects path changed so they are not helmets, head means can fit on your head, helmet was securities helmets, space helmets currently still helmet.
Cult restricted job list now has the sec force + cap because you can’t convert them as is.
AI removed from protected traitor jobs as malf is currently effectively out of commission.
A Protected list was added to changling.
Removed the furry mob files that were not checked.
Moved two unchecked files to unused
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3896 316c924e-a436-60f5-8080-3fe189b3f50e
- Added channel-specific admin muting. Admins can now mute someone from IC (say, me and whisper), OOC, PRAY, ADMINHELP (adminhelp, admin pm and asay) and DEADCHAT (say while dead and dsay)
- Added a (?) to adminhelps and prayers which displays the same quick overview that all the other (?)-s show, but for the person adminhelping or praying.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3888 316c924e-a436-60f5-8080-3fe189b3f50e
-Asteroid floors cannot be burned into metal tiles anymore
-Added some better comments in the turf.dm as well
-Fixed Issue 329, so Triumvirate works again
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3886 316c924e-a436-60f5-8080-3fe189b3f50e
The MC Delayer in the screenshot is an item coded for testing purposes which simulates a proc break. It is not part of this commit. Clicking on it will open up the view variables panel for the item.
Last-processed-item logging is supported for diseases, processing objects and machinery.
Screenshot:
http://www.kamletos.si/MC%20debug%20report.PNG
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3848 316c924e-a436-60f5-8080-3fe189b3f50e
Added resources.dm where FILE_DIR can be defined manually. It should speed clean-compiles up by reducing the number of places the compiler searches for resource-files to put in the resource-cache (stuff in ' ' quotes. e.g. icon='human.dmi').
To use manual FILE_DIR defines go to:
Build > Preferences for tgstation
in dreammaker. Then un-tick "Automatically set FILE_DIR for sub-directories"
It also means you have less crap to clean up in the .dme before every commit C:
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3820 316c924e-a436-60f5-8080-3fe189b3f50e
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
- Fixed a problem where the adminhelp parser would give a "adminname attempted to override the admin panel!" when clicking the links in (?)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3785 316c924e-a436-60f5-8080-3fe189b3f50e
- slightly altered the pray format to include a (SC) link, which stands for 'spawn cookie'. This attempts to spawn a cookie in the hands of the person who prayed. It's intent is to be a consolation prize when the prayer cannot be answered, due to it ruining the round. Only humans will get a cookie.
Screenshot:
http://www.kamletos.si/cookie%20spawner.PNG
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3766 316c924e-a436-60f5-8080-3fe189b3f50e
Anti-spam delay raised to 7 ticks. A little over half a second.
Admins can no longer be banned except by deadminning them or banning through the host's pager.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3722 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed r501 (underwear not showing) Cause: bad indentation
A possible fix for some very odd bugs caused by restarting the MC related to the usr variable being passed into the MC. *shrug* Very hard to test.
Removed the need for the world to be in Debug2 mode to edit ticklag as the verb is hidden behind another proc now anyway, and it's become more of an annoyance than a thing to stop people accidentally clicking it.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3695 316c924e-a436-60f5-8080-3fe189b3f50e
Tidied up the Login and Logout procs for mobs. Moved the sandbox buildmode stuff to mob/living/login.dm so you shouldn't have to log-out and back in to enable build mode.
Removed the logged_in variable for mobs as it was the most pointless thing ever.
Made the multikeying checks a separate proc. People are checked the second they get a new_player mob. Its notices are also less spammy.
Changed AllowUpload from the default. It now restricts uploads of over 1Mb to prevent admins uploading massive .Oggs and lagging the server to hell whilst it sends the ogg to 40+ players. Feel free to change the limit.
Moved some of the core client procs into one folder; they should really be together and not in /modules/mob/mob.dm and various other places. I will be giving the client stuff a belated spring-clean over the next few commits, just got to iron out some of the kinks.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3694 316c924e-a436-60f5-8080-3fe189b3f50e
Rules verb moved to the interface to make it more visible (so new players may actually -read- it occasionally).
Minor changes to investigate singulo based on feedback. Entries are now timestamped and the "time \ref[src] (location)" bit is in a smaller font. Collectors note how much fuel they are loaded with.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3687 316c924e-a436-60f5-8080-3fe189b3f50e
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
- Hopefully this will cut down on the server spamming/crashing escapades happening on other servers. (This wont stop that from happening, this just makes it less severe)
- Some of the sanitizes were probably unnecessary, but better safe then sorry.
Added MAX_NAME_LEN constant which is initialized to 26.
- Please use MAX_NAME_LEN instead of typing in 26 when cutting inputs short. 26's are annoying when they have to be changed and you have to hunt through over a hundred files and tens of thousands of lines of code to find them all.
Moved uplink_kits.dm to code/game/objects/storage
Moved uplinks.dm to code/game/objects
- The stuff inside uplinks.dm could really be chopped up and split into separate dm files but this will do for now.
*********************************************************
**********************Important**************************
*********************************************************
When you create code that asks the user for an input consider whether or not it gets shown to the user through html or the like.
If it does please sanatize() or strip_html() it. Also use copytext() to cutoff spam by using MAX_NAME_LEN and MAX_MESSAGE_LEN as the cutoff var.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3652 316c924e-a436-60f5-8080-3fe189b3f50e
type "memo" to access the memo features:
>write: write a memo
>show: shows memos from all admins
>delete: delete your own. (Game Masters may delete other admins' memos)
Typing "memo write" etc works too.
Feature can be disabled by defining ENABLE_MEMOS as 0
MOTD moved to new_player/Login so peole don't see that big motd everytime they DC
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3650 316c924e-a436-60f5-8080-3fe189b3f50e
- All traitor items are available in the random button so long as you have the crystals to purchase it.
- This means it's possible (though very unlikely) to get 5 sets of revolver ammo.
- It's RANDOM, don't expect great stuff every time.
Made startSinglo() a game-master only verb in the debug tab.
- It is incredibly useful and time saving when testing stuff out before committing.
Added borgs, AIs and dead players to the list of protected paths in the delete all verb.
- Unless someone can give me a valid reason as to why an admin would delete all ghosts.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3595 316c924e-a436-60f5-8080-3fe189b3f50e
Reverted dismemberment
- This is the majority of the files
Reverted the gun change
- You wont shoot yourself putting your gun away
- You don't have to fire off all of your shots before hitting someone with your gun
Reverted Tarajans
- As requested
Hotfix for the Holodeck.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3574 316c924e-a436-60f5-8080-3fe189b3f50e
Added Invisty's new field generator sprites.
Added a button to check antagonists that stops the world from automatically restarting at round end.
It's toggleable, but once the round ends with it on, you'll need to reboot the world manually. (It's under check antagonists because that's where the shuttle stuff is, let me know if I should move it.)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3565 316c924e-a436-60f5-8080-3fe189b3f50e
Updated adminwho so the plebs can see ranks.
Removed the admin message from view range changes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3545 316c924e-a436-60f5-8080-3fe189b3f50e
Fixes a host of runtimes caused by lag delaying "transmissions" between telecomms machines. Various objects were being deconstructed during this lagtime resulting in a bunch of weird null errors. Tested for 24hours on another server. Seems to be all ok.
Added some rudimentary checks to advanced proccall. Calling procs owned by objects is now a little less prone to runtimes. still a bunch of stuff to do to get it safe enough though.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3542 316c924e-a436-60f5-8080-3fe189b3f50e
Adds greater changeling code, but doesn't change the genome count yet on it.
Renames registered to registered_name on IDs because bs12 had it and it seemed like a good idea to do last night. For some reason.
Adds an afterattack to mobs that can be used. (In fairness, lots of shit in attack_hand should be in there instead, like stungloves and stuff, to minimize duplicated code)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3537 316c924e-a436-60f5-8080-3fe189b3f50e
- rudimentary transformations from the player panel
- give spell
- make sound
- kill air
- make alien
- make metroid
- grant full access
- assume direct control
- select equipment
- spawn xeno
- gib will now log even when gibbing yourself
- gibself
- change view range
- call shuttle
- cancel shuttle
- Also removed the 'stabilize atmos' verb. I noticed it had all of it's code commented out, so it literlaly did not do anything.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3535 316c924e-a436-60f5-8080-3fe189b3f50e
- Made some changes to admin verbs:
- Rejuvenate verb removed from mobs, is now in the options panel above (heal).
- Drop everything verb moved into view variables, added a confirmation message.
- Mute verb removed from mobs, use the options panel.
- Warn verb removed from mobs, use the options panel.
- Grant full access moved to debug verbs.
- Rejuvanate as a verb also still exists in debug verbs.
These changes were made to make right clicking a mob not show a million unneeded verbs. They were moved based on the statistics gathered via feedback logging:
http://www.kamletos.si/tgdb/latest_stats.html#adminverbs
Please post any additional feedback on the admin forum.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3532 316c924e-a436-60f5-8080-3fe189b3f50e
- Player panel new will now properly display all antagonists in red
- Added a link to 'check antagonist' to the top of Player panel new.
- Removed some copied, unused files
- Added a default variable to fake insulated gloves for the siemens coefficient. Do not ever set it to default to null! It will break any place where initial(var) is used!
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3528 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed deaths at the end of nuke rounds, optimised the code a little
gib() is now hgib() (ie it's specific to humans). gibs.dm() now only spawns generic gibs that could be from any mob.
Likewise for dust.
Awaiting generic dust() and gib() animations.
Fixed (hopefully, depends if firewalls block this method) getruntimelog.
GameMasters no longer have the getruntimelog verb. Instead they have .giverutimelog . This allows them to grant a specific client access to the server's runtime logs. (they can grant themself access this way too). NOTE: runtime logs can be used to meta, only grant access to coders or people you trust. It may also be wise to ensure they do not play in the current round.
Introducing .getserverlog . It allows any admin above moderator to access ANY archived server/attack logs. Should mkae processing forum ban requests a lot easier since all admins with ban capabilities now have access.
getruntimelog renamed to .getruntimelog . File-request spam prevention increased to 60seconds to discourage access serverlogs too much! They can reach sizes of 4Mb sometimes so please be responsible with them admins.
runtime logs should now be saved to /data/logs/runtime/ (you may have to create this folder yourself)
ummm... fixed gibs appearing below shuttle turfs. Trimmed some uneeded fluff text from the logs.
PHEW
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3509 316c924e-a436-60f5-8080-3fe189b3f50e