Commit Graph

25 Commits

Author SHA1 Message Date
Jordie0608
5ef93b2225 overlays for computers 2015-06-13 20:07:48 +10:00
pudl
0964979a90 bitch says she wanna keep her throat warm 2015-03-26 21:16:25 -05:00
Boggart
3600714480 Fixes incorrect icon for exosuit control console.
Fixes incorrect icon for powered exosuit control console, it was accidentally setting the icon state to the unpowered one.
2015-01-12 03:21:36 -07:00
Menshin
9e235dd67a * Added a default proc for prying open unpowered/broken machines using a crowbar
* Added an option to not set the machine when checking for attackhand() in machine class (prevent infitine loops if a machine doesn't have a dialog and called ..())
* Sleepers, cryo cells and DNA scanners can now be pried open when non-fonctional
* Cleaned and standardized DNA scanners code by using the general machine class
* Made sure destroyed machines drop their contents

* Added icon updating for mech bay power console and mecha control console (operational, powerless and broken states)
* Cleaned up and aligned the borg recharger station code with its parent code
* Added powerless codersprites for the borg recharger station
* Non operational borg recharger station can now be pried open from the outside.
2015-01-06 23:57:19 +01:00
Menshin
ba44b325d3 Finished the exofab revamp:
* designs are now using the construction time var and the hacky /obj/item/mechavars is gone
* designs updated : there shouldn't be "no material" designs anymore
* cleaned the objects of their construction_cost and construction_time vars
* fixes the material name being displayed with $ character before
* this also fixes the overlay animation in inserting sheets
* the category var is now a list, so parts can be build/used with several chassis (fixes the Firefighter Chassis appearing when building Ripley)
* properly fix the href vulnerability when emptying (you can now remove all sheets of a materiel at once)
* the exofab now won't create a material sheet if there's not enough material (e.g 1000 metal)
* the exofab now won't accept a sheet if it would overstuff it (losing some material in the process)
* cleaned the code a bit (simplified, streamlined, using global vars, etc)

Finish #5722 and fixes #5954.
2014-12-02 23:00:22 +01: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
Cheridan
08be1b34eb Revert "Changes a few green crosses to blue on sprites that I missed last time" 2014-10-04 19:22:10 -05:00
Firecage
13aa0c5981 Absolute paths for mecha files 2014-08-07 12:10:14 +02: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
Kyrah Abattoir
a977871182 code/game/mecha/* lowercase & improper pass 2013-11-18 23:32:10 +01:00
KazeEspada
630a691c6d Cleans up computer code severely. fixes issue #1004. Aliens and Monkeys can now smash computers. However, this only applies to computers with buildable circuit boards. Computers without boards are now impervious to attack and deconstruction(can't steal atmos computers or slash up the escape shuttle computer).
Hologram computer has been moved to unused. It has some interesting ideas, but it needs sprites and fix up.
2013-09-17 13:22:39 -07:00
petethegoat@gmail.com
11b17c4442 Committing suomynonAyletamitlU's storage item standardisation commit: http://forums.nanotrasen.com/viewtopic.php?f=16&t=11746
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
2013-01-08 19:11:56 +00:00
giacomand@gmail.com
6a2d78bc94 -Killed the updateDialog lag. I added a check to see if there were any mobs to update, if not it will stop checking until a user uses the machine again. I had to replace all the machine = src and machine = null with procs to help make it manageable. I believe this is one of the culprits causing the server to lag as the round goes on, as more players will interact with machines.
-Atmos delay is now based on active players, to help fight lag for massive player rounds.

-Changed some for(blah in world) loops to use the correct lists.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4958 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-25 19:15:51 +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
vageyenaman@gmail.com
bb2e8a2773 A more long-term fix for the exosuit fabricator. Derped around with a few paths.
Removed stupid debug messages from the TCS interpreter.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3201 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-26 22:10:37 +00:00
panurgomatic
32b2be1b5a - Simple event dispatch system.
- atom.forceMove() proc. Ignores density and other Move() restrictions, but calls Exited() and Entered()
- var/emagged moved to /obj/machinery class
- anyprob() helper proc.
- Mecha internal damage vars encapsulated.
- Mech Fabricators now require robotics ID to operate. Emag removes this restriction.
- Added Odysseus Medical Exosuit and it's parts. Has integrated Medical Hud and ability to mount medical modules.
- Added Sleeper Medical module for medical exosuits. Similar to common sleepers, but no ability to inject reagents.
- Added Cable Layer module for exosuits. Load with cable (attack cable with it), activate, walk over dismantled floor.
- Added another exosuit internal damage type - short circuit. Short-circuited exosuits will drain powercell charge and power relay won't work.
- You should be able to send messages to exosuit operators using Exosuit Control Console
- Gygax armour and module capacity nerfed.
- Exosuit weapon recharge time raised.
- Bugfix: EMP actually drains exosuit cell and damages it

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2780 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-23 10:54:23 +00:00
panurgomatic
58bef9a494 - Added href getter datum. Returns either what you want or null.
- Moved byjax callback processing to JS part.
- Disabled exosuits verbs from showing when RMButtoning.
- Added radios to exosuits. Setting can be found in 'Electronics' menu.
- Exosuit maintenance can be initiated even if it's occupied. The pilot must permit maintenance through 'Permissions & Logging' - 'Permit maintenance protocols'. For combat exosuits it's disabled by default. While in maintenance mode, exosuit can't move or use equipment.
- Nerfed EMP effect on mechs.
- Fixed build_path for atmospheric monitor circuitboard design
- Bugfixing and bugmaking.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2343 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-11 20:24:14 +00:00
rastaf.zero@gmail.com
4f7030a426 Jack Rost updates:
-more dismantable consoles:
--Teleporter
--Supply ordering console
--Supply shuttle console
--Power Monitor
-new circuit boards (both constructable and destructable)
--Supply ordering console (programming 2)
--Supply shuttle console (programming 3)
--Outpost Status Display(programming 2)
--Operating Computer (programming 2, biotech 2)
-R&D Console circuit now requires programming 4 (was 6).


Balagi updates:
-Trash bag: works as mining satchels but for trash.
-Started redesign computers code
-fixed candles sprites
-trashbag now has "in hands" sprite
-fixed emagging supply shuttle console

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1883 316c924e-a436-60f5-8080-3fe189b3f50e
2011-07-18 19:17:58 +00:00
panurgomatic
42a7c44325 - Ripleys can autoload mined ore. If it has
1. Drill
 2. Hydraulic Clamp.
 3. Ore Box in cargo.
then ore will be moved to ore box.
- Mech fabricator build speed increased.
- Mech fab queue updates through byjax.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1514 316c924e-a436-60f5-8080-3fe189b3f50e
2011-05-01 04:11:04 +00:00
panurgomatic
c7aa327159 - Operation permision now can be set for all mechs, including combat models.
- Added Durand parts and Durand construction (currently using Gygax part sprites)
- Other mecha tweaks.
- Fixed smelter not showing sand as smeltable material.
- Cyborg gibbing inside recharge station should now update its icon and power consumption.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1288 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-27 13:27:31 +00:00
panurgomatic
8c938b79cb This is a rather big mecha update (not everything is polished, bughunt in progress).
- Mechs equipment is customizable (you can add different equipment to mechs). Weapons go to combat mechs only, clown mech equipment - to HONK only. Clamp goes only to Ripley.
- Mech equipment can be built by mech fabricator.
- Added mecha RCD, mecha teleporter, mecha wormhole generator equipment.
- Equipment(if any left) can be pried from mecha wreckage with crowbar.
- Mech control console circuitboard added to circuit storage.
- Mechs can teleport from teleport hub.
- Fixed ripley cargo problems with moving objects(bots, carps, huggers etc). Loading hostile organisms may be harmful. Be vigilant.
- Fixed bug with many mobs climbing inside one mecha.
- Fixed mecha "unable-to-move" message spam.
Other things:
- Rooms in random asteroids for extended and sandbox (WIP)
- Misc.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1190 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-15 15:20:02 +00:00
panurgomatic
84af1a2a01 - Fixed some strange errors in mech fabricator code.
- Added queueing to fabricator.
- Small tweaks.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1181 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-13 12:56:17 +00:00
panurgomatic
4d2c3ffe64 - Fixed religion naming issue
- Fixed bible healing message reporting wrong deity.
- Small tweaks to improve code readability.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1160 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-05 03:25:21 +00:00
panurgomatic
688e0c4808 - Fixed "eternal pointing arrow" bug.
- Vent pumps and scrubbers no longer spam radio broadcasts. Should help with lag a little.
- Fixed Gygax construction.
- Made Ripley more miner-friendly.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1152 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-02 10:45:20 +00:00
panurgomatic
74aba8b9a8 - Removed distance check from machinery/attack_hand(), since it's done by atom/dblclick() (may or may not introduce some BUGS).
- Added mecha control console (with circuitboard and circuit design). There must be a tracking beacon on mecha to get info.
- Added mecha tracking beacons (can be attached to mechs by attacking or throwing). Working mechs have one installed by default.
- Added gun turret (WIP)
- Fixed "cargo-controlled" mecha movement (I hope).
- Probably solved problems with mobs inside Ripley.
- Mecha internal fire processing runtime error fixed.
- Gygax construction now requires advanced capacitor and advanced scanner module.
- Other... things.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1132 316c924e-a436-60f5-8080-3fe189b3f50e
2011-02-25 10:37:02 +00:00