Commit Graph

107 Commits

Author SHA1 Message Date
phil235 1eaaf35b41 Merge branch 'master' of https://github.com/tgstation/-tg-station into MechAtkFix1
Conflicts:
	code/game/objects/objs.dm
	code/modules/mob/living/carbon/human/human_defense.dm
2014-11-04 18:24:52 +01:00
hornygranny abc9fb947b Merge pull request #5622 from phil235/MechaProtocolFix
Mech maintenance protocol fix
2014-11-03 17:28:32 -08:00
phil235 746d22a9ec better remove that... 2014-11-03 21:47:41 +01:00
phil235 9c11d9fa25 All mechs have a melee attack now, the force of non combat mechs is 5.
Changing the mech melee attack code to be more object oriented. Creating mech_melee_attack() proc for atom and overidden in its children.
Mechs can now hit windoors with their melee attack. (they can still open them by bumping)
2014-11-03 21:40:25 +01:00
phil235 90a4271fed Fix runtime when using id on mecha as a monkey
All mecha start wit maintenance protocol forbidden by default
Only roboticist/engineers can access the ID/maintenance protocol panel
Tried to simplify the code checking the access in mecha.
2014-11-02 18:03:44 +01:00
phil235 128c9222e5 Adding checks for stun, restrained to many object verbs.
Fixing paper and supply manifest description upon examination.
Fixing being able to adjust jumpsuit while restrained.
Fixing one typo.
2014-11-01 19:18:01 +01:00
MrPerson ef6204656f Space movement rewrite to allow everything to drift
Removes a version of atom/movable/Move() that was in mob_movement.dm.
New proc called newtonian_move() that's called as a result of things like shooting a gun or spraying a fire extinguisher and as part of atom/movable/Move().
It pushes src if it's not under gravity and gives the object a chance to stop itself.
As a result, inertial_drift() is kill.
Moved Process_Spacemove() out to atom/movable. It does the same thing, it's called whenever a drift is attempted and stops the drift if it returns 1. Default check is to look for nearby lattices to make dragging shit around the station less annoying. Mobs still call it in Client/Move()
The mob version of Process_Spacemove() will shove non-anchored nearby objects out of the way if you try to move like that. For example if you're free-floating in space next to a closet and try to move right, the closet will drift off to the left.
Mechs call their occupant's version of Process_Spacemove() so mining with a mech isn't retarded. The pussy wagon does the same thing and thus no longer works like a jetpack. Will it be making a comeback?!?! (no)
Any move will attempt to keep dragging your pulled object, not just ones initiated by the client. Should make space wind a little less annoying. Was needed to make drifting not break your drags.
Mechs drift correctly without any special snowflake crap.
Spaceslipping is gone because fuck that shit
Space movement is now slow instead of fast. Having a jetpack helps go faster but even that's slower than current. Hopefully means nuke ops can see each other as they move to the station instead of losing sight of each other instantly. Having your hands full makes spacemovement even slower.
You can drift in office chairs and drag mobs in beds or the bed itself. Currently drifting diagonally while in an office chair is bugged and I need help to solve it. It winds up in cardinal movement instead of a diagonal one.
Changes up the jetpacking effects system to cause fewer errant ion trails but it's still awful code. In hindsight I shouldn't have bothered but here we go.
2014-10-25 23:19:46 -07:00
PatchouliKnowledge 8b9881a682 I accidentally the phasing 2014-10-11 22:37:37 +03:00
PatchouliKnowledge d31ed2583b Removes comments from combat.dm and phazon.dm 2014-10-11 21:42:55 +03:00
PatchouliKnowledge 6c649997e4 Fixes duplicate Ripley proc code, moves messages to switch() in Phazon damtype change code 2014-10-11 21:31:33 +03:00
PatchouliKnowledge 481135177c Lots of mecha changes and additions.
- Added constructible Phazon parts and circuits to R&D machines
- Added a Phazon construction path
- Nerfed the Phazon greatly
 > equip slots down to 3 from 4
 > step_in up to 2 from 1
 > toxin punch damage greatly nerfed (from ~80 tox damage to ~20 per hit)
 > research levels required increased (materials 7, bluespace 6, power 6, emp 6, data 5)
 > research levels from parts reduced
- Fluffed out the Phazon in general (sounds, descriptions)

- Grammar fixes to mecha construction process - added a bunch of missing periods and articles
- Changed Durand construction to require a super capacitor and phasic scanner instead of advanced ones

- Buffed the exosuit extinguisher (now has 1000 water instead of 200)
- Buffed the exosuit plasma generator (now consumes fuel at half the speed and doesn't burn through masses of plasma in minutes)
- Moved the cable layer tool from medical_tools.dm to tools.dm (why even)

- Buffed Ripley's default armour (brute from 20% to 40%, bomb protection 80% instead of none)
- All Ripley variants now have the same lights_power 7 (from Default Ripley's 6, and Death Ripley's 60 which basically created a fully lit square around it)
- The default Ripley can now be augmented with goliath armour plates, up to 70% brute protection (plates drop if Ripley is killed)
- Goliath-plated Ripleys get a different sprite and examine-description
2014-10-11 20:51:54 +03:00
Firecage 9ea09fe63c Spanclasses for files in the Linda, mecha, Turfs folders 2014-08-23 10:48:10 +02:00
MrPerson 8cabe95aac Fixes some issues with mechs getting deleted
Mechs delete correctly, and delete their special looping iterator datums just for good measure. Also now sanity check them because now they can be null.

Fixes #4067 hopefully. This issue is impossible to repro alone and even then it's one-in-a-million, but I've removed a bunch of spawn()s that only served to create a window one can jump inside between the mech running the deletion proc and actually running Destroy() and setting loc = null. I've also added two safeguards to make sure it doesn't happen in the future. Can't enter a deleted mech and getting deleted kicks anyone inside out just to be sure.

Removed the super pointless obj/mecha/proc/destroy(). Even when this was written, it should have just been in Del()!
2014-07-10 03:37:15 -07:00
Cheridan ffb06c029a mechs are stompy again 2014-05-19 12:09:13 -05:00
ikarrus 81f2140fd2 Hulk Wall-Smashing Sounds
Added sounds for wall-smashing.
2014-04-29 21:20:08 -06:00
Mloc-Hibernia 8af8a43d6f Initial pass to convert LF to CRLF
Signed-off-by: Mloc-Hibernia <colmohici@gmail.com>
2014-03-24 08:53:40 +00: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
Aranclanos b1a489ac07 Merge pull request #3000 from Cheridan/3000
adds the mime mech
2014-03-10 23:21:34 -02:00
fleure bb2ca0f901 Merge pull request #3012 from Miauw62/goodbyecreed
Removes creed access from the game.
2014-03-11 00:27:15 +00:00
MrPerson 6b29fecda1 Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel_r
Conflicts:
	code/game/machinery/bots/ed209bot.dm
	code/game/machinery/rechargestation.dm
	code/game/machinery/turrets.dm
	code/game/objects/structures/crates_lockers/closets.dm
	code/modules/research/circuitprinter.dm
2014-03-08 22:03:03 -08:00
Cheridan deeb79717e typo what typo i do not make mistakes of zat kind 2014-03-07 21:24:20 -06:00
Cheridan 888e5fbe61 mime mech needs theater access
obviously
2014-03-06 16:30:04 -06:00
Miauw 1c629bcd69 Removes creed access from the game. 2014-03-06 20:00:28 +01:00
Cheridan c67bcfa19c support for alternate mecha step sounds
better sprites and code for mime mecha
2014-03-05 19:59:13 -06:00
Cheridan 7ea56ca131 adds the mime mech 2014-03-05 18:06:56 -06:00
Razharas c548df264b Conflict fix 2014-03-05 06:30:29 +04:00
Cheridan d4c81ce247 Merge pull request #2936 from MrPerson/jitterbug_dizzydummies
Redo of jitteriness and dizziness.
2014-03-03 11:35:27 -06:00
MrPerson 3c58091437 Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel
Hopefully nothing went wrong but you never know.

Conflicts:
	code/FEA/FEA_fire.dm
	code/controllers/supply_shuttle.dm
	code/game/gamemodes/changeling/changeling_powers.dm
	code/game/machinery/autolathe.dm
	code/game/machinery/drying_rack.dm
	code/modules/hydroponics/hydroponics.dm
	code/modules/projectiles/projectile/magic.dm
	code/modules/reagents/Chemistry-Recipes.dm
	code/modules/reagents/reagent_dispenser.dm
2014-03-02 21:39:27 -08:00
Razharas 2fd5557682 Conflict fix 2014-03-02 04:14:32 +04:00
MrPerson 48923f9ce5 Redo of jitteriness and dizziness.
Fixes #2923
2014-02-27 23:19:44 -08:00
hornygranny 84a6aeae05 Some mecha slightly slower 2014-02-27 11:58:25 -08:00
Razharas b27d9c7396 Added RPED, some sprites and new power cell path
Your dreams of big part storage and fast machine part exchange came true
14 slot R&D part-only autoseeker/picker/dropper/exchager is in
Added different sprites for better capacitors and scanning modules
Changed the power cell type to be compatible with all this machine
changing faggotry
All sprites here are codersprites so ask nien/WJ for better ones if you
want
2014-02-24 05:14:43 +04: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
ManeaterMildred 2ded01ec03 Changed the Step battery drain, from 1 to 3. 2014-01-17 18:59:23 +01:00
ManeaterMildred e490a40416 -Removed the useless step_energy_drain on the Dark Gygax 2014-01-16 23:02:36 +01:00
ManeaterMildred b694f9dcea Changed the way the Gygax work.
It now have less defense and less Deflecting chance, but
faster movement speed, as it should be.
2014-01-16 16:40:12 +01:00
Aranclanos 0fdcd42592 Merge pull request #2054 from Cheridan/Nuke
Nuke Ops Tweaks: Flamer and Mechas
2013-12-19 13:37:32 -08:00
Razharas 358a85eb3d Completed the transition to a new proc
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
2013-12-17 22:56:04 +04:00
Cheridan b68eadfb14 Nuke Op Tweaks
In response to feedback:
Dark Gygax no longer has the scattershot. Instead, it has a modestly powerful carbine loaded with incendiary rounds, solidifying its role as a hit-and-run and squad-support platform.
The Mauler now has the scattershot in addition to its existing arsenal, to give it that edge against crowds that you'll need at those higher populations.

Included with the new mecha weapon is a minor code refactoring of mech guns... There shouldn't be any noticable changes to the user. mech code is awful, guys
New sound effect for mecha launchers (Having the same sound effect for projectile launching and exploding drove me nuts.).

Nuke op flamethrowers now start with a full tank.
2013-12-16 23:56:49 -06:00
Kyrah Abattoir a977871182 code/game/mecha/* lowercase & improper pass 2013-11-18 23:32:10 +01:00
Cheridan 4c14b424d6 -Adds an exclusion list to uplink datums. Previously, if you wanted to exclude an item from just one mode, you would have needed to list ALL other modes; hindering maintainability and generally being a pain.
-Mauler primary weapon replaced with the machine gun. I would prefer to replace this with a single-shot heavy cannon at some point in the future.
-Adds Gygax as a light exosuit option.

-Map edit, adds the nuke op TC consoles and updates the ops staging area.
2013-11-03 21:06:39 -06:00
Robson Richards 1c70008d0c Changes Limbs into Obj's
Reworked all the paths for it
Reworked all the procs for it
2013-10-11 19:11:55 +01:00
Cheridan d06b8c42b7 Access Cleanup
HONK! Access and Mime Access merged into Theatre access. They were used interchangably in most cases, with the exception being the Honker mech which is a joke item anyway.

Airlock Electronics now require only maintenance access instead of engine access.
2013-09-16 09:36:36 -05:00
KazeEspada 6f89258007 Fixes two ancient bugs.
Fixes HONKs having a unique equipment selection menu that caused bugs. Replaced by the one that all mechs use. Fixes bug #103.

Makes a var on supply packs that determines whether they get deleted or garbage collected. If the supply pack contains an object that references others it must be deleted. Mulebot #3 can finally rest in peace. Fixes bug #137
2013-09-08 18:04:43 -07:00
Aranclanos 426e0eb2ac Added admin logs for mechs.
Fixed the mech sleeper sprite.

The logs are:
Mob logs for clamp, drill and "empty" hits, and syringe gun and sleeper injected reagents.
Also all the different ranged guns.
Added an admin notice and server log for the honkerblast, wormwhole generator and gravity catapult. These notices have a quick jump to mob, admin-PM and (?) button. They are pretty cool.
2013-06-22 04:14:44 -03:00
carnie 5e7cffcf5c update_icons.dm changes for humans. This ties in with the dna changes and the changes to skin_tone and hair colours
>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>
2013-05-10 18:41:08 +01:00
Pete Goodfellow f5b8c20e47 Moves /obj/effect/decal/mecha_wreckage to /obj/structure/mecha_wreckage. Does not update the map.
Standardises and updates text styling in mecha_wreckage.dm.
2013-04-27 09:30:21 +10:00
petethegoat@gmail.com 8ff7285645 Updates HUD stuff!
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
2013-03-08 21:32:00 +00:00
aranclanos@hotmail.com 3a2673a284 Changes for all the different update icons procs of humans and monkeys, they now update their own sprite and hud icon (if it's a proc of a slot item) without having to call for update_icons().
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
2013-03-04 05:01:07 +00:00
petethegoat@gmail.com a1ac5f0e66 Renamed /datum/organ/external to /datum/limb.
Updated all files.

Removed the skeleton and skin organs.

Updated WIP surgery.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5689 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-11 18:52:33 +00:00