The main goal was to remove all the pointless shit in the UI style dmis, but this commit actually goes a bit deeper than that.
Formally renames the "hurt" intent to "harm", in line with everything else in the world.
Removes the old screen1_... .dmis. They've been replaced with screen_... .dmis. They function much the same.
screen_gen.dmi is used for things which apply to multiple UI styles, such as storage slot sprites, or the intent selector. (These can still be overridden in HUD code, though.)
Item action buttons have been changed to use a template from the UI style, and the icon_state of the item.
var/icon_action_button has been removed- varvar/action_button_name must be used instead to add action buttons for items.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5826 316c924e-a436-60f5-8080-3fe189b3f50e
They have been separated into low-level stuff that you wouldn't really want to ever edit (like the definition of PI) which are in __DEFINES.dm
The others, which hosts could possibly want to modify for their server, are located in _compile_options.dm
I've tried to group it together in some sort of logical way so it's easier to find what you need. Feel free to move whatever.
Main reason for the change is so we can add some more compile options into the game to make it more configurable.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5825 316c924e-a436-60f5-8080-3fe189b3f50e
Removed targeting hands and feet. Those areas now go to arms and legs instead.
Updated the zone_sel.dmi icon_states for this.
MouseDown() is now completely unused. From the Byond ref:
"Don't define this unless you need it, because it generates extra communication that is otherwise avoided."
Fixes issue 1378. Carbon jetpacks are used as internals
Back tanks are now checked last when searching for internals.
Moved var/foldable from /obj/item/weapon/storage to ..storage/box.
Changed verb/quick_equip() to be on humans instead of all mobs (it was only usable by humans anyway.)
Updated locker resist code a little bit, mainly removing a spawn(0).
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5819 316c924e-a436-60f5-8080-3fe189b3f50e
Adds a new 'userdanger' class, which is bold and red. 'danger' is now just red. Adjusts all dangerous messages I could think of to use the appropriate class.
Trash items can now be washed away in sinks.
Removes the robodropper, on account of it being awful. Borgs get a normal dropper instead.
Changes the probability of blood spatter from attacking someone from 33 to item.force * 2
Path changes:
/obj/item/weapon/reagent_containers/ld50_syringe > /obj/item/weapon/reagent_containers/syringe/lethal
/obj/item/weapon/reagent_containers/ld50_syringe/choral > /obj/item/weapon/reagent_containers/syringe/lethal/choral
possibly some others? i think this is it.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5815 316c924e-a436-60f5-8080-3fe189b3f50e
Committing for Ricotez:
http://forums.nanotrasen.com/viewtopic.php?f=16&t=12054
This adds a verb to the RCD which allows the player to select which type of airlock it spits out.
I've set the hand-held RCD is set to create any colour airlock while the borg's RCD can only spawn the default glass and solid airlock. The reason for this is that the borg has no way to change the ID requirements of the door and the borg's RCD is already vastly superior to the handheld version because of how it draws power.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5812 316c924e-a436-60f5-8080-3fe189b3f50e
A lot of different calls for update_inv_[slot] now won't call for update_icons.dm(). Such as dropping, throwing, picking up objects, moving objects around your gear, using your active hand, firing guns, stripping, etc.
All the different calls for UpdateDamageIcon() now they won't call for update_icons()
The different sprites of humans/monkeys will now have their own layer, humans starting with MUTANTRACE_LAYER in layer -1 to R_HAND_LAYER in layer -20, so the sprites don't get messy overlapping eachother if update_icons() is not called. To help this change, all layers numbers were changed, R_HAND_LAYER used to be 1, now it's 20. (This can be changed back if it ends up being confusing or ugly to read)
TL;RL I removed 90% of the calls for update_icons() modifying the different update procs of update_icons.dm of monkeys/humans. The goal is to reduce lag.
JUST IN CASE, lying down will call for update_icons(), so players have an easy way to update their icons if something goes horribly wrong. Which won't. I hope.
Fixes issue 842. Handcuffs sprites appearing on the player's UI if this one was handcuffed. Because I liked this we'll call it feature and add some awesome sprites made by Cheridan, you'll now have a new sprite on your UI telling you "you're handcuffed buddy!". (Also he named the sprites so don't blame me)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5809 316c924e-a436-60f5-8080-3fe189b3f50e
Wizard staffs, SAW, combat shotgun still don't
Added the Mjollnir and Singularity Hammer. Just silly melee weapons I coded/sprited for fun. Both are using the Mjollnir's sprites currently though I didn't have it in me to make a billion more inhands for the Singularity Hammer.
Mjollnir shocks the target and hurls them away/spews lightning around.
Singularity Hammer pulls everything nearby in towards the target.
Don't really have plans to balance them or make them obtainable in game but I thought as long as I'd coded them some admin or another may enjoy trading them to antags/giving them to the chaplain etc.
Lowered fireballs cooldown and decreased its explosion size (so wizards can use it without killing themselves by causing hull breaches)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5805 316c924e-a436-60f5-8080-3fe189b3f50e
- Committed carn's fix to events happening every 5 minutes, on the dot.
- Changed some more turf which play sound so they do not play to everyone in the area.
- Made the join screen a little bigger for the "view player polls" option.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5801 316c924e-a436-60f5-8080-3fe189b3f50e
- Moved some fingerprint procs to detective_work.dm.
- Removed some unnecessary del() usage in the detective code.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5800 316c924e-a436-60f5-8080-3fe189b3f50e
- Greatly decreased the goat attack damage. Fixes Issue 1310.
- Changed how the suffixes are assigned for mulebots. Fixes Issue 1204.
- Added some checks for occupants in sleepers/cryo/cloner pod, stops an exploit of being able to have a friend teleport you to the sleeper when you're in danger.
- Re-added advance proc call for debug flag.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5796 316c924e-a436-60f5-8080-3fe189b3f50e
-Novaflowers can be ground for capsaicin, and they do some slight burn damage if you pick them up without gloves.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5778 316c924e-a436-60f5-8080-3fe189b3f50e
- Fixed a bug with C4 not causing an explosion around a target, which is a mob.
- Fixed not being able to put para/sleepy pens on your ear.
- Added a delete proc for reagents (the container) which will garbage collect it.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5772 316c924e-a436-60f5-8080-3fe189b3f50e
The following runtime has occured 18248 time(s).
runtime error: Cannot execute null.IsIndexCut().
proc name: isWireCut (/obj/item/device/radio/proc/isWireCut)
source file: radio.dm,185
usr: Azerthene Severn (/mob/living/carbon/human)
src: the security radio headset (/obj/item/device/radio/headset/headset_sec/department/med)
The following runtime has occured 165 time(s).
runtime error: bad index
proc name: recalculateChannels (/obj/item/device/radio/headset/proc/recalculateChannels)
source file: headset.dm,261
usr: Burningface (/mob/new_player)
src: the security radio headset (/obj/item/device/radio/headset/headset_sec/department/engi)
It also makes the mirror automatically shave women when used.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5760 316c924e-a436-60f5-8080-3fe189b3f50e
Fixes issue 1316. Operating Computer broken
Updated the surgical drill sprite.
Removed code/game/objects/items/weapons/surgery_tools.dm, as the tools have now been moved to the surgery module.
Removed the music folder, as it has been empty and unused since the beginning of time.
Path changes:
/obj/machinery/optable > /obj/structure/optable
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5748 316c924e-a436-60f5-8080-3fe189b3f50e
var/obj/item/weapon/back
var/obj/item/clothing/mask/wear_mask
var/obj/item/weapon/tank/internal
from /mob to /mob/living/carbon.
/mob/proc/abiotic() no longer does any extra checks even if full_body == 1.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5722 316c924e-a436-60f5-8080-3fe189b3f50e
http://forums.nanotrasen.com/viewtopic.php?f=16&t=12245#p189186
Ported all the random events to Pete/Gia's event system:
>Event system now supports weighting. default is 10. a weight of 5 is half as likely as default, 20 twice as likely....etc.
>Increased the frequency of events (dust happens over 60% of the time though)
>tidied up some ninja code: ninjas now get ~5 objectives. So they are hardmode.
>made the gravity toggle into a random event
>event system now supports round-start events
>event system now supports holiday events
>event system now supports events which can only happen after the round has lasted a certain number of ticks
>event system now supports max_occurrences for events. Setting any event's max_occurrences to 0 will stop it randomly occurring
>events now support being fed associative lists inside new(). This allows you to override their variables easily.
>wormhole events no longer cause loads of lag. They are extremely deadly. wormholes should be avoided
Other:
>replaced the procs for fetching candidates for ninjas and aliums with /proc/get_candidates(be_special_flag), it returns a list of active clients with that be_special preference enabled.
>minor fixes to minds
>your memories are displayed to you at Login()
>removed aliens_allowed
>removed ninjas_allowed
>pick_n_take() is now more efficient (uses Cut() rather than Remove()
Things I added:
- Made the pandemic call ..() instead of doing the checks itself.
- Made the staff of animation use more charge.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5720 316c924e-a436-60f5-8080-3fe189b3f50e
- Improvements to alien eggs so that they didn't bug and freak out, causing infinite loops. You can also destroy eggs if you keep hitting them after they burst.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5712 316c924e-a436-60f5-8080-3fe189b3f50e
- Made a proc for grabbing which updates the grab status, as it is usually done in the grab's process, then made tables update the grab and check if the grab still exists. Fixes Issue 1285.
- Made the blind check remove the blind screen if they're not blind but the layer is set to a non-zero layer. Fixes Issue 1286.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5704 316c924e-a436-60f5-8080-3fe189b3f50e
Basically, surgeries are now initiated by bedsheets or surgical drapes, and consist of separate steps.
Appendicitis is sort of hacky, but it should work for now. I'll update it when I add processing organs.
Added getbrain() and getappendix() procs, which can be used instead of checking the old (now missing) x_op_stage variables.
Added a surgical apron, using old sprites by matty.
Updated the map:
Removed the note with spell descriptions from the wizard's den for Kor.
Updated the operating room.
Updated xenobio to have appropriate tools for slime surgery.
Path changes:
/obj/item/brain > /obj/item/organ/brain
/obj/item/weapon/reagent_containers/food/snacks/appendix > /obj/item/organ/appendix
/obj/item/weapon/reagent_containers/food/snacks/appendix/inflamed > /obj/item/organ/appendix
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5703 316c924e-a436-60f5-8080-3fe189b3f50e
You can buy a contract from the spellbook, same as any other artefact. Using the contract will pull a ghost (with wizard set to yes in preferences) and have them become the apprentice. The person using the contract chooses from 3 sets of 2 spells each for the new apprentice to learn. The sets are as follows:
Destruction: fireball/magic missile
Bluespace manipulation: jaunt/teleport
Robeless: knock/mindswap
The apprentice chooses their name and gets an objective to keep the wizard alive. For game ticker purposes, they count as traitors, so the round will still end if the main wizard dies. The apprentice spawns in normal blue robes and with a one use telescroll in their pocket.
If the contract is unable to find a ghost to become a wizard it will remain usable until it spawns one successfully. If the wizard changes their mind/there are no ghosts available, they can attack the spellbook with an unused contract to refund their spell point.
Redid the spellbook to have descriptions of spells visible before purchasing/fixed some of the cooldown times (from memory, some may still be wrong).
Updated the changelog.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5702 316c924e-a436-60f5-8080-3fe189b3f50e
- Gave the c4 a little bit more power.
- Added a new icon for the staff of animation. Created by Teh Wolf.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5698 316c924e-a436-60f5-8080-3fe189b3f50e
-Fixes some misc typos and a bug with examining tower cap logs that nobody ever noticed anyway.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5685 316c924e-a436-60f5-8080-3fe189b3f50e
-Revheads can once again re-convert de-converted revs (that are not loyalty implanted)
-Updated changelog
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5683 316c924e-a436-60f5-8080-3fe189b3f50e
-Removed a check for a certain amount of toxins on the tank, it was buggy because the var that was using didn't represented the amount on plasma based on pressure and temperature changes (hot air is bigger than cold air!) and it was unnecessary too, it didn't affected the tank contents.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5677 316c924e-a436-60f5-8080-3fe189b3f50e
-pAIs are no longer deaf to sounds and they see emotes.
The pAI mob now follows the card just like the AI eye tracking someone or a ghost using the verb follow.
I do not close the issue because intellicards are not fixed yet.
-Added a "On/Off" for some things on the pAI interface
-Fixed some really obscure runtimes about a human using the pAI card interface when the pAI is dead.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5661 316c924e-a436-60f5-8080-3fe189b3f50e
- Increased the allowed w_class things in secure briefcases. Equalized the amount of stuff you can put in a briefcase with the backpack.
- The staff of animation will turn animations onto their side, if they were created by a different user.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5658 316c924e-a436-60f5-8080-3fe189b3f50e
http://forums.nanotrasen.com/viewtopic.php?f=16&t=12096
> UpdateAffectingLights() is a bit less silly. It now uses oview() to find lights which could be shining on it. It only searches a maximum of LIGHTING_MAX_LUMINOSITY_STATIC-1 away from itself, as this is all it needs to do (reducing the number of atoms it searches/lights it updates).
> UpdateAffectingLights() is called more sensibly, generally it will only be called when opacity actually changes on a lit turf (or something in a lit turf), as opposed to before where it would be called simply if something was opaque.
> Fixes a typo in cheap_hypotenuse(), it will now work correctly.
> Added circular lighting (using cheap_hypotenuse, a cheap linear approximation of pythagoras theorem). Old square lighting is toggable by commenting out #define LIGHTING_CIRCULAR
> Wall-fixed lighting will break when Move()ed. This means their lighting will not be updating whilst the singulo is on a rampage (which would cause lots of lighting updates). This should help reduce lighting updates a fair bit in such circumstances. Also the lord of darkness actually creates darkness! omg
>Halved the theoretical number of calls to UpdateAffectingLights() by turfs being deleted/created (aka replaced), by moving relevant code from New/Del into ChangeTurf(). Tidied ChangeTurf up a little.
>SpaceVines now update opacity correctly (this somewhat worries me though)
>Reduced the range of dynamic lighting effects for most objects. Fixed the bug where mob luminosity could try to go negative when dropping many held active flashlights.
>Space area no longer uses dynamic lighting. (at request)
>Fewer shades of darkness (reduced from 7 to 6) - means fewer shift_to_subarea calls and makes lower luminosity lights appear brighter
>Turfs can be luminous, removed the warnings. capped luminosity effects of turfs to a radius of 1.
>PDAS ARE NO LONGER SUNS!
>ChangeTurf() no longer replaces turfs with turfs of the same type. This means that singulos will no longer replace space with space with space over and over and over every tick
>there is a cpu-usage cap thingy on the lighting process(). It's currently set to (a ridiculously high) 98. This simply stops the process attempting to do any more work when the server is already dying. If you're feeling brave you could probably reduce further.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5650 316c924e-a436-60f5-8080-3fe189b3f50e
-Enables violet paint, adds violet paint icon.
-The shades of the paint colors are much less offensive to the eye.
-Fixes badly aligned paint inhands.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5641 316c924e-a436-60f5-8080-3fe189b3f50e