This had no fucking reason to exist, Shadowling spells are not wizard
spells, genetics powers are not wizard spells, ghost Booing is not a
wizard spell, etc.
This commit overhauls the global.dm file, global_lists.dm file, and
defines.dm file into a tree system based on -tg-.
All defines have been split and distributed in code/__DEFINES/
Everything from global.dm and global_lists.dm has been split and
distributed in code/_globalvars
The _compile_options.dm file contains anything that absolutely, 100%, must
be initialized before world.dm.
Name definitions have been moved to code/_globalvars/lists/names.dm.
Other things to note
- All instances of something.z == 2/1/3/5 have been replaced with easily
configurable defines, labeled ZLEVEL_. The map include file can
override these by defining custom ones in it's file, as it is at the
top of the tree.
Fixes issue with getting target in remote talk, remote view and empath
Fixes Empath not recharging
Fixes inability to cancel remote view
Fixes Grays not starting with remote talk
Wizards can no longer cast spells when muzzled. Fixes issue 843.
You can no longer take bags of holding or mechs to the clown planet. Fixes issue 1061.
Removed the infared sensor from the autolathe construct list. Fixes issue 1092.
- The infared sensor already does nothing, the code for it seems to have been removed ages ago, so there's no harm in doing this.
- Commenting out the define caused a few problems that I couldn't quite figure out. I'll leave it for now with a warning.
Removed the ability for pAI's to set arrest status. Dead players really shouldn't be allowed to grief people like that. Fixes issue 1093.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5060 316c924e-a436-60f5-8080-3fe189b3f50e
>dd_replacetext and dd_replacetext_case are now replacetext and replacetextEx respectively.
>replacetext and replacetextEx works using strings only; it doesn't convert it into a list and then back into a string.
Fixes some dumb-dumbs in textlist and text2listEx
> "<" where there should be a "<="
> no else case for when the separator is longer than the text (causing empty lists to be returned)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4971 316c924e-a436-60f5-8080-3fe189b3f50e
-Made nuke ops require at least 20 players. I did this because 15 wasn't low enough and it is a 5 heavily manned organized team vs 10 crew members who are just going along their own business.
-Made the spells only target living mobs. This was because the spells were listing the AI eye as a target.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4573 316c924e-a436-60f5-8080-3fe189b3f50e
- Added a message_admins() message which is sent if a character setup mismatch is detected to help diagnose the problem.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4496 316c924e-a436-60f5-8080-3fe189b3f50e
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.
To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"
If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
-Small change that psuedo-randomizes cult and wizard incantations. For cultists, it's just a [pick("'","`")] in place of a "'" in their incantation, and wizard invocations have a 50% chance to replace the spaces with "`".
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4307 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
- Being inside a wrapped locker no longer delete you when you resist out of it. Fixes Issue 596
- Resisting out of a locker now takes longer then 5 seconds
Certain spells can no longer be cast on z2
- 'walk through wall' spells are disabled to prevent people from getting to centcomm
- 'construct turf' spells are disabled because turfs in transit space crash the server
get_contents()
- Now recursively runs through a mobs contents for items and should actually find everything.
- Now take package wrapped items into account.
check_for_contents() now simply calls get_contents() to generate a list instead of using copy/pasted code from get_contents().
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4064 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
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
/obj/effects is now /obj/effect.
/obj/station_objects is now /obj/structure.
Did a bit of minor blob work.
The Bay 12 body bags were replaced with closets because having two sets of code that do almost the same thing is silly.
Changed back a few of the last jobproc edits as the remove from list before assign was a check to see if the mob was fucked up and if it was remove it so we did not check it again as it would still be fucked up.
The medbay/tox monkeys names are random once more. More random name monkeys will help with changeling and clean up the observe/mob menus.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2324 316c924e-a436-60f5-8080-3fe189b3f50e
Two new categories were made: station_objects and effects. station_objects, which I'm sure someone will want renamed to 'structures' contains the objects which don't need process() or power code.
Effects contains objects which are either landmarks, triggers, spawners or decal.
Screenshot:
http://www.kamletos.si/new%20object%20tree.PNG
I didn't notice any bugs, but with a revision editing 276 files of byond code, you never know.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2323 316c924e-a436-60f5-8080-3fe189b3f50e
Object spells - fixed two minor bugs. Added the possibility of making a critical failure effect for the spells.
Singularity beacon - added to traitor spawn list. Must be screwdrivered to the floor before you can activate it.
Singularity - optimised the code a bit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1709 316c924e-a436-60f5-8080-3fe189b3f50e