*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).
All the logging i have found in the code was changed to use the
proc(maybe i missed something)
Killed all runtimes found so far
Proc now handles all the checks, no need to add checks in the body of
object
DONE Plants require 4 light, mushrooms only 2
DONE Harvesting should report how many items were harvested (whether plantbag is used or not)
DONE Plantbag should have a mode to only pick up one kind of plant at a time. Trash and ore bags too.
DONE 1 unit of mutagen should cause non-species mutations. (Radium too)
DONE Uranium should be like radium but even weaker
Everything that had abstract var now has ABSTRACT flag
Everything that checked abstract var now checks ABSTRACT flag
Fixed some runtimes
Fixed click code and face direction changing while cuffed
Added del to all attack_* of the proboscis in case shit goes real
AStar is still weird so added a simple sanity check
Added superclass invoke for the arcane tome
Added superclass invoke to light switches, removed it's (unused) description.
FLightswitch description repetition derp
examine superclass invoke for gas flow meter, space heater, fire extinguishers, grenades/IEDs, fancy boxes and welder. Changed description for welder and fire extinguisher to show their content in a similar style.
Fixed tank, linen bins and janicart description, and added welder of previous commit (forgot to commit it)
REMOVED icon in mop_bucket description (now provided by item class).
REMOVED unused examine() override in clothing/gloves
REMOVED custom examine() for glass/rag
CHANGED using examine superclass on paperwork/paperbin, removed redundant description code
CHANGED examine superclass for power/apc
ADDED universal maxcharge readout for all the powercell types.
CHANGED using examine superclass on machinery/light, removed redundant description code
FIXED weapon/virusdish use a description field.
TWEAK lowercased some of the portable generators.
Fixed improperness of pacman names
Var changes:
* /obj/item/var/color is now item_color
* /obj/machinery/portable_atmospherics/canister/var/color is now canister_color
* /obj/machinery/atmospherics/var/color is now pipe_color
* /mob/living/simple_animal/mouse/var/color is now body_color
* /mob/living/simple_animal/chicken/var/color is now body_color
Proc changes:
* /obj/machinery/door/proc/animate() is now do_animate()
* /obj/machinery/transformer/proc/transform() is now do_transform()
Map changes are due to pipe instances being changed from color to pipe_color
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Fixes#646, #579, #863
Completely redoes the click code. Moves all click related code into code/_onclick for reference. Also moves hud datum code and all the screen object code I could find into code/_onclick/hud, as it is related. Item attack(), attackby(), afterattack(), and attack_self() have been moved into item_attack.dm for consistency.
Completely removes dummy objects and adds atom.Adjacent(user). This proc checks for border items and anything marked with throwpass for determining whether or not you can reach a given square. A turf helper, ClickCross(), was added to facilitate this.
Removes the monolithic Atom.Click() proc in favor of an overridable click handler attached to mobs. Click code no longer uses the : path operator as a consequence, and mob/lastDblClick has been moved to Client/next_click. A few end arounds were necessary (screen objects, buildmode, and spells), but this has been handled by repurposing Atom.Click(); if you have special click code, insert it in the object's Click() function and return 1 to prevent normal processing.
This update adds support for attack_ghost(); the previous "new" click handler had support for it but was never finished. I have taken the liberty of letting ghosts click portals, the gateway, and the teleporter to jump to the intended target square, and kept the previous default action of examine()ing every damn thing you click. It is to be suggested that you could do more with this proc when ghost interactions are enabled.
This update also adds support for double clicking. It is currently only used for ghosts and AIs, because the original (first) click still registers normally. For both of these, double clicking a square will jump you to it, and double clicking a mob will follow it. In the case of ghosts, double clicking bots and the singularity will also set you following it; if you double click your own corpse, you will re-enter it; this also works if your body is in a closet, sleeper, DNA scanner, etc. Default mobs ignore double clicks as normal.
-- NOTE --
There are two flags which were previously unused or misused by click code: USEDELAY and NODELAY. Ostensibly, USEDELAY would double the normal 1sec delay, and NODELAY would remove it.
Using either of these flags as intended would significantly affect the timing of the game. In particular, USEDELAY is currently applied to guns and about everything else that acts at range. I am adding USEDELAY as a half-second increase for now, but I have not put a significant amount of thought into it. I considered lowering the normal 1sec delay to .8sec to balance it, but the consequences of that on combat involve more calculations than I care to make.
NODELAY seems to never have been used, and I did not implement it, but I could do so trivially.
Passes the hit zone down to the reflect check
Creates a check for where the projectile hit in laserproof vest
If does not target the chest or groin the reflect chance is halved
All item/obj now have the var reflect_chance which based on a prob check, determines if an object will reflect energy projectiles while in the wear_suit, l_hand or r_hand slots, a reflect_chance of 100 will always cause the player to reflect, 0 (Base of every object besides the ablative armor) will never reflect. Objects are reflected like ablative currently does.
modifies the bullet_act of humans to incorporate this new system
gives the ablative armor the same chance to reflect it had before
gives dualsabers if wielded and the user is not a hulk a 100% chance to reflect energy projectiles
adds specific wield() and unwield() to dualsabers in order to add check if hulk
>update_mutantrace() is no more, it is now part of update_body()
>Moved a lot of stuff into update_base_icon_state(), this will allow making mutantraces modular.
Almost all icon operations are now removed from human overlays (obviously some are still required for recolouring hair and eyes). Any remaining dynamically generated overlay icons are applied individually. This will allow byond to cache them better. This will also eliminate the bug where humans are initially invisible/unclickable when you first encounter them (due to network latency where the icons are being downloaded).
>UpdateDamageIcons() renamed to update_damage_overlays(), so it has the same sort of name as the other procs
>update_icons=true or false arguments removed from human overaly-update procs, no longer required. (i.e. the update_body() update_inv_whatever etc procs do not call update_icons() - see documentation for details)
>mutantrace icon_states moved into human.dmi
>skeletons are now a mutantrace, not a mutation.
>update_icons system should now be even more efficient (thanks partly to aranclanos)
>documentation rewritten
>copypasted code moved into helper procs - super tidy code :3
Other:
>Removed compile error where the core code was reliant on compiling away mission code. >:[
>s_tone renamed to skin_tone
Modified code/modules/mob/living/carbon/human/update_icons.dm
Modified code/__DEFINES.dm
Modified code/datums/datumvars.dm
Modified code/datums/limbs.dm
Modified code/game/dna.dm
Modified code/game/gamemodes/changeling/changeling_powers.dm
Modified code/game/gamemodes/cult/cult_items.dm
Modified code/game/gamemodes/cult/runes.dm
Modified code/game/machinery/doors/airlock.dm
Modified code/game/machinery/portable_turret.dm
Modified code/game/machinery/teleporter.dm
Modified code/game/mecha/combat/combat.dm
Modified code/game/objects/items.dm
Modified code/game/objects/items/stacks/medical.dm
Modified code/game/objects/items/stacks/sheets/glass.dm
Modified code/game/objects/items/weapons/storage/bible.dm
Modified code/modules/assembly/mousetrap.dm
Modified code/modules/hydroponics/hydroitemcode.dm
Modified code/modules/mob/living/carbon/carbon.dm
Modified code/modules/mob/living/carbon/human/death.dm
Modified code/modules/mob/living/carbon/human/human.dm
Modified code/modules/mob/living/carbon/human/human_damage.dm
Modified code/modules/mob/living/carbon/human/human_defines.dm
Modified code/modules/mob/living/living.dm
Modified code/modules/mob/living/simple_animal/friendly/slime.dm
Modified code/modules/mob/mob_grab.dm
Modified code/modules/power/lighting.dm
Modified code/modules/reagents/Chemistry-Reagents.dm
Modified code/unused/_debug.dm
Modified icons/effects/genetics.dmi
Modified icons/mob/human.dmi
Modified maps/RandomZLevels/wildwest.dm
Modified tgstation.dme
Signed-off-by: carnie <elly1989@rocketmail.com>
>Removed a for(obj/item in world) loop triggered by bloodying items. It now uses a caching system.
>New skin_tones - they are now sprite-based. This is to prepare for expansion of the mutantrace system. Thanks validsalid x
>Removed fat icons from the game - when you are obese you will now just look like a regular human. You will not be immune to being pushed. You will not be immune to choking. You will still overheat and run slower and appear fat upon "examine" verb use.
Modified code/__HELPERS/mobs.dm
Modified code/game/atoms.dm
Modified code/game/dna.dm
Modified code/game/machinery/computer/hologram.dm
Modified code/game/objects/items.dm
Modified code/modules/client/preferences.dm
Modified code/modules/client/preferences_savefile.dm
Modified code/modules/flufftext/Hallucination.dm
Modified code/modules/mob/living/carbon/alien/larva/larva.dm
Modified code/modules/mob/living/carbon/human/human.dm
Modified code/modules/mob/living/carbon/human/human_defines.dm
Modified code/modules/mob/living/carbon/human/life.dm
Modified code/modules/mob/living/carbon/human/update_icons.dm
Modified code/modules/mob/living/carbon/monkey/monkey.dm
Modified code/modules/mob/living/silicon/robot/robot.dm
Modified code/modules/mob/living/simple_animal/constructs.dm
Modified code/modules/mob/living/simple_animal/friendly/corgi.dm
Modified code/modules/mob/living/simple_animal/friendly/farm_animals.dm
Modified code/modules/mob/new_player/preferences_setup.dm
Modified icons/effects/genetics.dmi
Modified icons/mob/human.dmi
Signed-off-by: carnie <elly1989@rocketmail.com>
This updates everything that used equip_e, particularly the strip panel, but also DNA injectors and CPR.
Removed unused mob vars:
var/obj/effect/organstructure/organStructure
var/other
var/proc_holder_list[]
Removed unused alien suit and head slots.
Removed var/obj/item/weapon/card/id/wear_id from monkeys, and updated ed209s to not use :
Renamed HUMAN_STRIP_DELAY to STRIP_DELAY.
Muddled Topics() around so that mobs are now a bit more OO. Also updated quite a few misc inventory procs to various degrees.
Updated monkey and aliens huds a little bit.
Random movement when confused now happens half the time.
Fixed monkey breathmask onmobs.
Added a .unconscious text style, for that nice bold blue text you get when you're unconscious. Only CPR uses it at the moment.
This has been tested fairly extensively, and everything seems to work fine.
-Merged commits ~carnie
Signed-off-by: carnie <elly1989@rocketmail.com>
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
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
They also added extra checks to
-Everytime a mob attacked (checking for super strength and electric hands)
-Every time a mob was attacked (checking for dermal armour)
-Every time a human was shot (checking for reflex)
-Every time a human breathed (checking for rebreather)
-Every tick of human life (checking for regen)
-Every hud update (checking for radar)
Not to mention just cluttered mob code in general. I know there won't be any noticeable performance increase from this but seeing as they were never going to be finished (I asked Doohl beforehand) and mob code is messy enough as is, I think only good can come of removing the code.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5587 316c924e-a436-60f5-8080-3fe189b3f50e
I got about half-way through changing these when SuperSayu came up and said he fixed this a while ago but never posted the fix. So technically half of these were fixed by me and half by him. Credit to both of us!
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5564 316c924e-a436-60f5-8080-3fe189b3f50e
- Added a verb that breaks all airgroups into individually processing tiles and a verb that forces a group-rejoin attempt on all airgroups. Once the verb to break all air groups is used, they will not attempt to recreate until the recreate verb is used. In other words, this is for debugging, not goofing around. Verbs available in debug verbs.
- Some atmos code standardization
- Decreased the pressure resistance of most items by a factor of 10, meaning pressure will finally actually move items around!
I also attempted to speed up air movement, but it caused runtimes and everything moved in checkered patterns and I got scared so I didn't include it in this commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5554 316c924e-a436-60f5-8080-3fe189b3f50e
Standardization of the object tree and some modified functionality.
Moved a lot of storage/*_kit and similar boxes to storage/box/* ; most of these can now be found in boxes.dm. First aid kits remain a separate item type.
Replacement Light boxes pick up lights (for example broken ones) when used on them
Moved weapon/secstorage to storage/secure
Moved plant bags, ore satchel, trash bag, and sheet snatcher to storage/bag, in bags.dm
Fixed reagent_containers and snacks to pass through attackby() so the use_to_pickup code works. This affects plant bags, trash bags, and pill bottles.
Dice packs are now pill bottles, and all pill bottles can pick up dice.
Added error handling to uplink/generate_menu() so that one mistyped string doesn't bork the whole syndie uplink menu, since strings cannot be type-checked at compile time.
Cigarette packs and crayon boxes are now storage/fancy, however they retain existing update_icon() code.
Added a comment to storage.dm so that future people know where to look for use_to_pickup and allow_quick_gather code.
Updated all maps.
I've tried to test this thoroughly but I wouldn't be surprised if there were a few lingering issues. Try not to panic if you encounter any.
Full (i think) list of changed paths:
/obj/item/weapon/storage/flashbang_kit > /obj/item/weapon/storage/box/flashbangs
/obj/item/weapon/storage/body_bag_box > /obj/item/weapon/storage/box/bodybags
/obj/item/weapon/storage/chemimp_kit > /obj/item/weapon/storage/box/chemimp
/obj/item/weapon/storage/trackimp_kit > /obj/item/weapon/storage/box/trackimp
/obj/item/weapon/storage/seccart_kit > /obj/item/weapon/storage/box/seccarts
/obj/item/weapon/storage/handcuff_kit > /obj/item/weapon/storage/box/handcuffs
/obj/item/weapon/cigpacket > /obj/item/weapon/storage/fancy/cigarettes
/obj/item/weapon/storage/mousetraps > /obj/item/weapon/storage/box/mousetraps
/obj/item/weapon/storage/PDAbox > /obj/item/weapon/storage/box/PDAs
/obj/item/weapon/storage/id_kit > /obj/item/weapon/storage/box/ids
/obj/item/weapon/storage/lightbox/mixed > /obj/item/weapon/storage/box/lights/mixed
/obj/item/weapon/storage/donkpocket_kit > /obj/item/weapon/storage/box/donkpockets
/obj/item/weapon/storage/beakerbox > /obj/item/weapon/storage/box/beakers
/obj/item/weapon/storage/syringes > /obj/item/weapon/storage/box/syringes
/obj/item/weapon/storage/gl_kit > /obj/item/weapon/storage/box/rxglasses
/obj/item/weapon/storage/diskbox > /obj/item/weapon/storage/box/disks
/obj/item/weapon/storage/stma_kit > /obj/item/weapon/storage/box/masks
/obj/item/weapon/storage/lglo_kit > /obj/item/weapon/storage/box/gloves
/obj/item/weapon/storage/lightbox/bulbs > /obj/item/weapon/storage/box/lights/bulbs
/obj/item/weapon/plantbag > /obj/item/weapon/storage/bag/plants
/obj/item/weapon/storage/satchel > /obj/item/weapon/storage/bag/ore
/obj/item/weapon/trashbag > /obj/item/weapon/storage/bag/trash
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5494 316c924e-a436-60f5-8080-3fe189b3f50e
Credit goes to CodenameB and Spike68 for the original proposed commit. Althought it ended up changing, this commit still uses all of their suicide messages. Thanks to carn for pseudo-coding the base of the system that I ended up using to implement this.
The suicide verb checks the item in your active hand and calls that item's suicide_act(). (/obj/item/proc/suicide_act(mob/user)) The proc displays the suicide message to any viewers and returns a damage type. The suicide verb then applies 175 damage to the mob divided by the number of damage types. If the proc returns null (meaning that the item does not have a suicide_act() defined) the regular suicide occurs.
To any coder wanting to add items to this:
- You MUST return one or more damage types. "return (BRUTELOSS|FIRELOSS)" for example.
- Please do not manually type in the item's name; use [src] to refrence an it instead. It'll save time down the road if an item gets renamed. It also helps handle any child of that item without copy/pasting the proc to each child.
- Please do not use 'usr' for anything.
Parrots can now see which item they are holding onto in the stat panel.
The toy crossbow should once again work properly. Fixes Issue 1227.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5468 316c924e-a436-60f5-8080-3fe189b3f50e
This fixes a fuckload of runtimes and makes structures and machinery being able to cause damage on attackby procs, for example, using TK.
I'm not entirely happy of doing this, adding another var to a base class, but it's better than leaving a lot of hasvar() procs and it's easier than moving obj/machinery, obj/structure, etc, to obj/object/machinery, obj/object/structure, etc.
Also it doesn't break the entire game.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5457 316c924e-a436-60f5-8080-3fe189b3f50e
Runtime fix for being hit by something without there being a usr. This was most likely due to explosions or possibly mass drivers.
Runtime fix for simple animals using department channels. Only parrots can use them now as they are the only simple animal with the 'ears' variable.
Runtime fix for the mech's energy relay process() when there is no battery in the mech.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5405 316c924e-a436-60f5-8080-3fe189b3f50e
Added a new gun/projectile which deals brainloss as well as causes hallucinations.
Replaced the pulse rifle in stationCollision with the new gun.
Gave the HoS gateway access so he can banish people.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5201 316c924e-a436-60f5-8080-3fe189b3f50e
This is simply not acceptable:
- http://www.kamletos.si/screen%20overlay%20reduced%20size.png
- http://www.kamletos.si/screen%20overlay%20reduced%20size2.png- Made being in an area with extremely low pressure cause some damage (2 per tick)
- Reduced the amounts of oxy damage per tick from 1/ 2 / 4 to 0.5 / 1.5 / 3, depending on your body temperature.
- Reduced the maximum amount of high pressure damage per tick from 7 to 4. Slightly reduced the damage coefficient for pressure damage. This is to prevent insta-kills in high pressure areas. I still can't believe poly originally set it to 20 per tick...
- Added a maximum amount to how much your body temperature can change in each tick. It can go up or down by, at most, 30K per tick.
- Space suits and the captain's armor now protect against pressure damage
- Fixed some more of poly's awful code. The STOPSPRESSUREDMAGE flag now defines whether you take damage or not. You still need to have both a helmet and suit with that flag on to be fully protected from pressure damage. This will make the pressure damage indicator actually show what kind of pressure is affecting you and not just pretend like you're not taking damage, even if you are, while in a space suit:
//Poly code<TM>
if(istype(wear_suit, /obj/item/clothing/suit/space)||istype(wear_suit, /obj/item/clothing/suit/armor/captain))
--pressure.icon_state = "pressure0"
else
--...
- Standardized /obj/item/examine().
- Added the important stuff to the changelog.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5004 316c924e-a436-60f5-8080-3fe189b3f50e
Item's attack_hand proc wasn't calling the item to be picked up if it was in your inventory, which meant that the lights couldn't update properly. By calling pickup, even if the mob was taking it from their own inventory, I was able to get the lights to update properly. I've tested all items that used /pickup and they all worked correctly, apart from tray which never worked correctly as I then tested it on the online servers. I'll create an issue report for that later.
-The crew monitor will now detect mobs that are inside a content of an object, such as a locker. I also made it so that it only detected mobs on the same z level as the computer itself, so people on the away missions and what not will not be able to see the crew member's on the station.
-Updated the changelog about my last commit, before this one.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4999 316c924e-a436-60f5-8080-3fe189b3f50e
The path has changed from /obj/item/weapon/mousetrap to /obj/item/device/assembly/mousetrap
Deleted mousetraps.dm, and removed the original define from weapon.dm
Added a new /obj/item proc, on_found(). It's called when pockets are emptied, and whenever someone looks in a storage item. Currently used only by mousetraps and facehuggers~
Updated the map with path changes.
Updated the changelog.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4969 316c924e-a436-60f5-8080-3fe189b3f50e
All /world/ stuff that I've found is now in code/world.dm instead of being scattered throughout the code in 6-7 files.
*****IMPORTANT*****
This means that hub.dm is now part of world.dm. Server hosts using the hub will likely have to redo the hub/password variables!
Again, that stuff is now located in code/world.dm
*******************
The tester list has been removed as it is not in use.
/code/defines
- Moved atom.dm code into /code/game/atom.dm and atom_movable.dm
- Moved hub.dm code into /code/world.dm
- Moved the /defines/tanning into objects/item/sheets/leather.dm
- Moved /defines/area/ into game/area/
- Moved turf.dm code into the code/game/turfs folder and divided it up into meaningful places
A lot of the files in /code/game were placed in new areas since they really didn't have a reason to be there.
- algorithm.dm:
- - The world stuff is in world.dm.
- - countJob() and AutoUpdateTK() were removed entirely (unused).
- - AutoUpdateAI() is now in /mob/living/silicon/ai.dm
- atom_procs.dm was split into atom.dm and atom_movable.dm
- cellautomata.dm
- - World stuff was moved into world.dm
- - Atom stuff was moved into atom.dm and atom_movable.dm
- - Atom verbs were moved into code/game/verbs/atom_verbs.dm
- chemistry.dm
- - Beaker box code was moved into storage/misc.dm
- - The trash can and 'alechemy' paper were removed. (unused)
- Landmarks.dm was moved into /objects/effects/landmarks.dm
- prisonshuttle.dm, specops_shuttle.dm, syndicate_shuttle.dm and syndicate_specops_shuttle.dm have been moved into game/machinery/computer/
- status.dm and topic.dm code were moved into world.dm
- step_triggers.dm are now in objects/effects/step_triggers.dm
- throwing.dm was split into appropriate files (carbon mob code, atom_movable.dm, ect)
- vote.dm is now in code/datums
/code/game/asteroid was split up.
- turf.dm was moved into game/turfs/simulated/asteroid.dm
- artifacts were split up
- - Wish granter is now in game/machinery
- - The stealth box is gone (unused)
- - The list of 'space suprises' was moved into astroid.dm
- asteroid.dm, being the only file left, was moved into /code/game
and finally...
modules/mob/organs files are now in code/datums/organs
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4659 316c924e-a436-60f5-8080-3fe189b3f50e
- Bomb admin logs now tell what type of device (if any) was attached to the bomb
Fixes issue 873
- Fat people can now use their slots properly (thanks to erro for pointing out the cause of the bug)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4630 316c924e-a436-60f5-8080-3fe189b3f50e
This brings down a bunch of defines from /code/defines/obj.dm unto their appropriate files.
I've moved morgue.dm from game/machinery into game/objects/structures since that file contains no machines.
I've reorganized the objects/items/stacks folder and made a 'sheets' and 'tiles' folder to keep things separate
I've separated stool_chair_bed.dm into its own folder which now contains the files: stools.dm, chairs.dm, bed.dm and alien_nests.dm to make it a little easier to go through.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4582 316c924e-a436-60f5-8080-3fe189b3f50e
Cleaned up the files themselves.
Everything in code/game/objects should now be in proper files or places with the exception of the files in the /weapons/ sub-folder.
There's two instances of me not following the exact file structure.
- /obj/item/brain has been moved to a file in mob/living/carbon/brain
- /obj/item/clothing/mask/facehugger has been moved into mob/living/carbon/alien/special
Both of these may not make sense according to the object structure, but they do make sense logically. If it's a problem just move them.
Next up: Finish the files in the weapon folder, then start moving defines down.
My god I hope I havent broken everything.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4547 316c924e-a436-60f5-8080-3fe189b3f50e
Removed some pointless, unused objects. (i'm looking at you, rubber chicken without a sprite)
Added a few new "features"- lighting cigs with igniters, and toggle-able bedsheets.
Slightly improved the cow gib sprite because if I don't commit it now I'll revert it.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4517 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
The main problem is: if a mind is transferred to a ghost, objectives that have that mind as a target will treat the ghost as the target mob. Which is clearly a problem. This should fix exploits where people could force people to win/lose objectives via ghosting, gibbing, etc.
It should also eliminate any other weird bugs like the one Nodrak fixed a while ago where pais would keep their mind....meaning they were like, a cultist pai or something and could rat antags out to its owner using the HUD.
Removed some conditions from objectives (like those pertaining to the thunderdome) as they were bait for meta. >ghost >teleport to thunderdome >antag fails the objective she completed
Resolves issue 662
Fixes a few instances of original_name becomming null (there's still loads)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4214 316c924e-a436-60f5-8080-3fe189b3f50e
-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
Breaking bottles over people's heads!
- The bottle will be destroyed and a broken bottle will replace the old bottle
- There is a chance for a glass shard to be created
- The regents of the bottle get splashed onto the mob who got hit
- This affects alcoholic bottles, not to be confused with pill bottles or chemistry bottles.
- - Technically milk cartons and lime juice cartons, so they break as if they're glass.
Names in the PDA list are now ordered alphabetically.
Changelog updated
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3998 316c924e-a436-60f5-8080-3fe189b3f50e