Commit Graph

74 Commits

Author SHA1 Message Date
AnturK 7cccf20fc0 Adds total law changes counter 2015-03-19 14:57:12 +01:00
tkdrg 6194c0b90f Fixes the new AI lawcap config option
Previously, it would include null entries in some of the lists, which
meant that the total law amount would be grossly exaggerated.

Fixes #5846
2014-12-02 18:27:06 -03:00
hornygranny 62003a8ab8 Merge pull request #5700 from RemieRichards/SiliconLawCap
Adds a config option to cap silicon laws. [NEW CONFIG OPTION]
2014-11-08 15:22:09 -08:00
Remie Richards d1e0ef943c Changes messages to be more appropriate for last commit + more fluffy. 2014-11-05 23:31:51 +00:00
Remie Richards 198b9fee93 Extends the check to include the number of potential laws, from the current aiModule (eg, total_laws (10) + potential laws on board (4) = 14, 14 > 12) 2014-11-05 23:07:24 +00:00
Remie Richards 177225598b Adds a config option for capping the amount of laws silicons can receive via boards, defaults to 12 2014-11-05 22:25:46 +00:00
Menshin 26f70fd9aa * Completed the _strip_html_properly_ proc to also limit the length of the text
* Removed uses of _strip_html_simple_
* Replaced input or redondant trimming/text_copying with the new unified _stripped_input_
2014-10-15 16:00:22 +02:00
Miauw 80a093643c Removes confusion because players cannot understand my genius. 2014-06-20 14:55:04 +02:00
Cheridan 5aa17924b3 Fixes Robocop board not working 2014-05-27 15:59:10 -05:00
Miauw a80dd4df0f Merge branch 'master' of https://github.com/tgstation/-tg-station into warnstandardization
Conflicts:
	code/game/objects/items/weapons/AI_modules.dm
2014-03-22 17:42:07 +01:00
MrPerson 6930283efc Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel_r
Conflicts:
	code/game/gamemodes/changeling/changeling_mutations.dm
	code/game/gamemodes/changeling/changeling_powers.dm
	code/game/gamemodes/malfunction/Malf_Modules.dm
	code/game/objects/items/weapons/tanks/watertank.dm
	code/game/objects/structures/tables_racks.dm
	code/modules/research/server.dm
2014-03-21 03:05:39 -07:00
Rockdtben a034e41f25 Removing TLE comment stamps and useless comments 2014-03-13 08:25:28 -05:00
Miauw 8c172733a8 Standardizes and expands the warning() and error() procs. 2014-03-09 18:08:19 +01:00
Fleure 4914ee6dc4 Fixed typo in Tyrant AI lawset 2014-03-06 17:18:57 +00:00
MrPerson 9eee3e5067 First pass at a qdel() garbage collection system for tgstation
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.

New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.

ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
2014-02-23 14:55:12 -08:00
Hornygranny 2134add41b Items with throw_range over 7 reduced to throw_range 7. This does not affect players as there's no way to extend your vision range. 2014-02-17 15:44:07 -08:00
hornygranny e0d0cedf36 passed over everything with throwforce 2014-02-13 18:06:50 -08:00
Miauw 67e37bd449 Merge branch 'master' of https://github.com/tgstation/-tg-station into dalawisfluid
Conflicts:
	code/game/objects/items/weapons/AI_modules.dm
	code/modules/research/designs.dm
	maps/tgstation.2.1.2.dmm
2014-01-07 18:18:59 +01:00
Cheridan bb9c09df46 Obsoletes flags = FPRINT | TABLEPASS*
*TABLEPASS was already totally obsolete.
FPRINT was used, but it was on virtually everything anyway.

Removes those flags from every instance where they were used. Also assigned and removed other flags where it made sense.

If it is desired, I can revive the flag as NOFPRINT, which would retain the original functionality, though inverted. That way it would be be used only  where it was intentional (holodeck items could use this for example).
2013-12-30 15:03:17 -06:00
Miauw 758ca4f81c Added a failsafe, default_laws is now a config option. 2013-12-23 13:10:04 +01:00
Miauw 76f9881a42 Cleaning up of AI law datums, adds Custom AI board to the map. 2013-12-21 17:49:50 +01:00
Miauw 61eb26c663 Finalized AI module refactoring. Everything works now. 2013-12-20 19:39:46 +01:00
Miauw 83b96f0c54 Changes Antimov over to the new AI law system and changes it's path on the map. Various fixes to the new system. 2013-12-20 19:09:39 +01:00
Miauw aa655092c5 Major changes & copypasta removal in AI module code.
This won't affect gameplay.
(Untested & map won't compile, I want to have the map in a seperate commit)
2013-12-20 17:10:47 +01:00
Robson Richards 89349c0102 Add's IntigAsimov lawset as 'Asimov++' 2013-12-19 20:05:39 +00:00
Miauw 2988b2b698 Changes Corporate to Kaze's popular Corporate2. 2013-12-19 17:39:25 +01:00
Kyrah Abattoir d9fc4bdd5c code/game/object/items/weapons/* lowercase pass
code/game/object/structure/* lowercase pass (start)
2013-11-24 08:49:34 +01:00
Incoming5643 9035fa97de Cleaning up (1/2) 2013-09-26 12:49:38 -04:00
Incoming a8e4e185ae Adds a traitor item ToyAI that can upload the last ion law it generated via an upload console. Note that this is NOT a normal ToyAI that has been emagged, but rather an upload board mimicing a ToyAI (with a tell in the description).
This ToyAI has been added to the AI subversion bundle, note that since a traitor with this bundle already gets a hacked AI module there's no added benifit to it being there, its just for whimsical traitors who'd enjoy adding a little spice to the AI or false flag the changes as a badmin ioning an AI.
2013-09-19 01:15:39 -04:00
MrPerson 6c65999c91 Major refactor of AI upload modules to not be dependent on the upload computers.
Modules can just run install(target,user) and everything will work fine.
Upload computers cleaned up quite heavily. Less copy+paste. Removed that pointless "Open access panel" verb they had.
Law changing procs moved from mob/living/silicon/robot and mob/living/silicon/ai to mob/living/silicon. This means clear_inherent_laws(), add_inherent_law(), etc. This is what the new file is for. Doesn't change anything since they both had exact copies of the same procs.

NOTE: This commit doesn't change the maps, so don't checkout to this without the next one.
2013-08-01 09:34:40 -07:00
Nodrak d7d7c070de Fixes freeform module logging from logging the player who input the law as both the uploader and the uploadee. 2013-04-13 10:06:28 -04:00
Aranclanos 00da961d14 Added adminlogs to hacked laws (tator syndicate board) 2013-03-27 21:49:32 -03:00
quartz235@gmail.com d24cd192bf Logging update
- Added logging for prayers
- Added logging/admin messages for law uploads

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5624 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-29 02:27:24 +00:00
giacomand@gmail.com 7d6fb8fd6a Commiting for Aranclanos.
http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=10189&p=143580&hilit=https%3A%2F%2Fwww.dropbox.com%2Fs%2Fcwflgm7793ts20s%2FBorgsForCasualsRELOADED.patch#p143580

-Fixed some ugly text in Ion laws "THE STATION IS [0x6006265] FETISHES...LAWS UPDATED".
-Fixed some typos on the Ion laws.
-When borgs are emagged, now they show their laws for themselves.
-When new laws are uploaded, the borg gets instantly the new laws, just like the AI, instead of the confusing message "Your AI has set your 'laws waiting' flag.". Remember this is a patch for casuals.
-The borgs gets the same message than the AI in Ion storms.
-Made the admin Ion storm show the "...LAWS UPDATED" text.
-Borgs get a different law 0 telling them to help their master.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4837 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-09 05:37:28 +00:00
giacomand@gmail.com 55937eced9 -Fixed laws from producing HTML numbers.
-Made it so that any law module, which requires user input, refuse the install if the input is null. By then making all the default laws/name of these modules null, the user will get a message if they try to upload a law without modifying it first.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4655 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-08 07:46:34 +00:00
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
sieve32@gmail.com 459c558898 -Make holodeck eswords a child of obj/item/weapon/holo instead of regular eswords, clumsy check removed as a result, and you can no longer do things like cutting through walls or doors or what have you. (Fixes Issue 665)
-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
2012-07-23 00:48:51 +00:00
johnsonmt88@gmail.com 6008c2704e Runtime Condenser!
It condenses hundreds of identical runtimes into one, providing a much more user-friendly list to work off of. It may be poorly coded but it is fully functional. Just copy/paste runtimes into input.txt, run the exe and the condensed runtimes will be in output.txt. 

Bugfix:
Fixed a very-poorly coded proc that could cause infinite loops.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4081 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-16 00:58:45 +00:00
mport2004@gmail.com 69753b0190 Worked on blob mode a bit
Readded the AM stuff to the dme
Added another explosion edit from Willox


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3903 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-24 00:03:31 +00:00
johnsonmt88@gmail.com fd529891ca Sanitized a large number of input()s.
- 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
2012-05-24 19:34:04 +00:00
VivianFoxfoot@gmail.com 73837b0c4f AI can now ctrl-click APCs to turn them off.
Purge module no longer gives robocop laws.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3524 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-28 02:29:28 +00:00
VivianFoxfoot@gmail.com 79b537ce5b Adds a dummy process() to /obj/machinery/door so that doors aren't removed from the machine list. Best guess, all machines call process automatically, and because doors didn't have an explicit one defined, they automatically called the one that removed them from the list.
Adds a borg deathsquad to the map.
Few more fixes to the tensioner.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3374 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-30 06:19:30 +00:00
daniel.cf.hultgren@gmail.com 99d894c168 Say woo for first commit!
- The alarm needed some more userfriendlyness:
* Spelling sorted
* Turning off PANIC SYPHON now sets scrubbers to scrubbing (default) instead of off.
* Instead of the stupid timeout and VENT NOT FOUND HURRDURR they will just get removed from the list. They were clogging that vent list up as fuck
* Vents pressure settings now have an extra href which resets the vent to ONE_ATMOSPHERE kPa (101.32 or whatever it is)

- The "Outlet position is obstructed" error message when opening exofab now only appears if the turf to south is obstructed, not to east like before.

- AI Modules use attack_self instead of attack_hand

- Fixed chatspam with reverse() and made the explode function use the builtin ss13 one instead of my custom, it proved to be faster.

- Added my self to the changelog, because I can!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3367 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-28 15:27:23 +00:00
VivianFoxfoot@gmail.com c9544fdbd4 Fixes the way the safeguard module is written.
Adds a new high-risk module for fun.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3355 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-24 04:11:30 +00:00
mport2004@gmail.com b5944308c7 Moved most of the computer defines into the proper code file.
Moved a few of the computers into their own files.
Security records now shows rank on the browse screen.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2909 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-03 21:16:48 +00:00
VivianFoxfoot@gmail.com 0e310200fc Cyborgs now get a message that their parent AI has had their laws modified. (For Kor)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2778 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-23 08:31:17 +00:00
kortgstation@gmail.com 38c25cbbe7 Re-added PALADIN to the upload because people were complaining (corporate is still there though)
Fixed corporate having null origin tech

Fixed the desc on the science goggles fuck you superxpdude dont touch my shitty gimmick items without asking

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2541 316c924e-a436-60f5-8080-3fe189b3f50e
2011-11-22 11:11:58 +00:00
n3ophyt3 b0045ed2b7 Added a new core law module.
1: You are expensive to replace.
2: The station and its equipment is expensive to replace.
3: The crew is expensive to replace.
4: Minimize expenses.

Currently adminbus only, someone can add tech_origins to it later.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2283 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-28 21:07:30 +00:00
vageyenaman@gmail.com 3436e481e5 Some bugfixes and tweaks. I mostly just made the intellicards and freeform modules give less research.
Fixed the protolathe breaking when you tried to build certain items.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1961 316c924e-a436-60f5-8080-3fe189b3f50e
2011-07-30 22:08:49 +00:00
rastaf.zero@gmail.com befc1ecaa3 balagi updates:
-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
2011-07-21 20:14:06 +00:00