Commit Graph

156 Commits

Author SHA1 Message Date
Shadowlight213
642321b5cd Removes newcult and readds oldcult 2016-02-27 00:53:14 -08:00
phil235
0ec876d9fe Refactored the item's action system. Items can now hold multiple actions.
The "set internals" button of tank items now turn green when it's used as internals.
Removed research scanner from drones (since cyborgs don't have it, it's more consistent)
Removed the ignore_madkadjust mask var.
The sechailer mask now has an adjust mask action button, so I removed the adjust verb that it was using.
The item's action are now created on item/New() instead of trying to create it every time someone picks the item up.
I split hud/action.dm, the datum/action stuff is now in the datum folder (/datum/action.dm), whereas the code for action buttons is kept in the hud folder under action_button.dm. Also I moved some /datum/action code that was in some files back into datum/action.dm where it belongs.
2016-02-23 19:37:42 +01:00
phil235
83633edfed - I renamed some of the new adjust procs and create new ones for eye_blind,eye_blurry and eye_stat so they get three procs just like weakened/sleeping/etc.. (Sleeping, AdjustSleeping, SetSleeping)
- renamed the eye_stat var to eye_damage.
- mob/on_varedit() added. Manually var editing a mob's eye_blind var properly updates his vision.
- I removed update_vision_overlays(), we now just update the relevant fullscreens instead of all fullscreens whenever one needs to be updated.
- fixed climbing into mecha not giving you mecha sight.
- simplified and removed copypasta from update_tinttotal() (now update_tint() )
2016-02-07 18:50:18 +01:00
phil235
fdec37b76f Merge branch 'master' of https://github.com/tgstation/-tg-station into VisionUpdateRefactor
Conflicts:
	code/_onclick/hud/alien.dm
	code/_onclick/hud/alien_larva.dm
	code/_onclick/hud/hud.dm
	code/_onclick/hud/human.dm
	code/_onclick/hud/monkey.dm
	code/_onclick/hud/other_mobs.dm
	code/_onclick/hud/robot.dm
	code/game/machinery/Sleeper.dm
	code/modules/mob/living/carbon/alien/larva/death.dm
	code/modules/mob/living/carbon/brain/death.dm
	code/modules/mob/living/carbon/human/death.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/carbon/human/species.dm
	code/modules/mob/living/carbon/life.dm
	code/modules/mob/living/carbon/monkey/death.dm
	code/modules/mob/living/death.dm
	code/modules/mob/living/life.dm
	code/modules/mob/living/silicon/ai/death.dm
	code/modules/mob/living/silicon/ai/life.dm
	code/modules/mob/living/silicon/ai/login.dm
	code/modules/mob/living/silicon/pai/death.dm
	code/modules/mob/living/silicon/robot/death.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/mob/mob_defines.dm
2016-02-06 15:42:13 +01:00
tkdrg
d188447041 Merge pull request #15121 from neersighted/hotkeys
Add hotkey preferences
2016-02-05 14:52:34 -03:00
Bjorn Neergaard
7a47b43c53 Re-implement screen overlays
This fixes 510 showing all overlays in the rightclick menu
2016-02-04 17:19:44 -06:00
phil235
81ce777ec2 - you now only see turfs when inside gas pipes.
- I renamed some vars of datum/hud to be more selfexplanatory
- Moved all datum/hud mob code into the hud folder.
- fixed alien's zone selection button not using the correct sprites.
- I removed the update_hud() proc (that needed to be removed).
- Fixed a typo in /mob/living/carbon/ContractDisease , using "internals" instead of "internal" (very different things)
- Fixed doTeleport() calling Entered() twice on the destination area.
- To reference a mob's selected zone, you now use a direct mob var ("H.zone_selected" instead of "H.zone_sel.selecting")
- mobs lose certain screen objects var ("healths", "zone_sel", "internals", etc) which are now vars of the mob's datum/hud instead.
- the Blind spell is now done via the blind mutation instead of the blind disabilities.
- Give to mobs a version of forceMove(), so the mob is always properly unbuckled, his pull stopped, his vision updated, etc.
- The "user" var of mob/camera/aiEye/remote is renamed to "eye_user" to avoid confusion.
- reset_view() is replaced by reset_perspective(). Now all changes to client.eye and client.perspective are done with this proc.
- I reworked /obj/machinery/computer/security code, changing camera is instantaneous now, as well as cancelling.
- I reworked /obj/machinery/computer/camera_advanced code as well.
- I changed /obj/item/mecha_parts/mecha_equipment/mining_scanner's meson view to be constant instead of by intermittent.
- Fixes not being able to use /obj/item/device/camera_bug while buckled.
- removed admin_forcemove() proc, admin force moving now uses forceMove() simply.
- Removed the client var "adminobs"
- Added var/vision_correction to glasses.
- Added a thermal_overload() proc for glasses, to remove copypasta in emp_act code.
- Remove the hal_crit mob var
- We no longer delete the mob's hud everytime he logs in.
- Added a stat == dead check in mob's metabolize() so we immediately stop metabolizing if one of the chem kills the mob.
- Being inside disposal bin lowers your vision, like wearing a welding helmet.
- removed the remote_view mob var.
- I changed advanced camera EYE, some fixes, removed unnecessary code when the eye moves, now the mob client eye properly follows the camera mob.
- fixes mob var "machine" not being nullified on logout.
- larva/death() was calling two "living_mob_list -= src"
- I made the Blind screen objects into a global_hud instead of giving one to each mob (like damage overlay).
- I untied tint and eye_blind, TINT_BLIND doesn't give you eye_blind=1.
- gave a visual overlay when inside locker (vimpaired)
- when inside disposal/gas pipes you get sight |= (BLIND|SEE_TURFS)
- glasses toggling updates (atmos meson toggle): DONE
- The new adjust procs serve to properly change eye_blind etc and call vision update procs when needed.
- I added an on_unset_machine() proc to handle perspective reset for camera consoles.
- I moved consequences of eye_check fail inside eye_check() procs themselves.
- I fixed vision updates being fucked by forceMove, especially pipe vision.
- I decided that damage overlay not appearing when dead.
- mob's hud_used is no longer deleted on each login()
- I refactored mob huds a bit, creating subtypes for each mob (/datum/hud/human)
- f12's hud toggling is now available to all mobs
- gave borgs a low_power_mode var so unpowered borg do not use stat= UNCONSCIOUS (which made things weird since you were unconscious but not blind)
- Fixed double Area entering when forced teleporting.
- I fixed larva pulling not being broken when cuffing them, and larva not seeing handcuff alert (and they can resist by clicking it)
- I removed pull updates from life() since it onyl checked for puller's incapacitation.
- I renamed camera/deactivate() to toggle_cam() to be more accurate.
- I fixed mmi brain being immortal (by removing the brain and putting it back)
- I simplified mmi brain emp damage.
2016-02-04 00:33:16 +01:00
Bjorn Neergaard
39cffdea3e Add hotkey preferences
Fixes #15112
2016-01-31 10:27:28 -06:00
KorPhaeron
6b36c8b797 Leap Icon 2016-01-03 00:47:09 -06:00
MrStonedOne
5bcc40aeae improves pixel screen shakes 2015-12-22 02:08:21 -08:00
oranges
134a76cc8f Line ending apocalypse 2015-12-17 14:12:37 +13:00
Tkdrg
8ead3e8628 Cult Overhaul
Cult is awful, so let's try to improve it. Idea by KorPhaeron. I also
took some inspiration from adrix89's sacrifice cult, so credits to him.
Also thanks a lot specially to MrPerson and Iamgoofball for helping
me brainstorm this, and Joan for the sprites for the summoning orb,
the large nar-sie shell, and the new cult antag hud.

Basically, we remove conversion, and turn cult into a magic version of
nuke, with a small team of stealth elite cultists that have to build a
base in the station and sacrifice people in order to build an army of
constructs and get materials to eventually summon Nar-Sie.

Stun talismans and conversion are gone. Nar-Sie is now the only
objective. Sacrifice runes now provide summoning orbs, which you can use
to drop a large shell. Insert enough orbs in the shell and you trigger a
Delta. Defend the shell for 3 minutes and Nar-sie will arise. This shell
is bombproof and singularityproof. It may be summoned up to three times
if destroyed, but you will have to start from the beginning sac-wise.

Runes are now RNG. Each cultist only gets 50% of the runes. Inspiration
is basically The Binding of Isaac here (thank you MrPerson for this!).
Furthermore, many old runes were merged/removed and other new ones were
added. Almost all were massively rebalanced. Cult now also has a
stealthy ritual dagger with high bleeding and throw effects.
2015-12-15 04:59:31 -03:00
AnturK
5dcfbeab20 Removes unused mob var 2015-12-03 18:52:30 +01:00
Tkdrg
8fce742d0a Merge remote-tracking branch 'upstream/master' into fuk
Conflicts:
	data/mode.txt
	icons/mob/mob.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/gloves.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/shoes.dmi
	icons/obj/clothing/suits.dmi
2015-11-07 15:56:39 -03:00
AnturK
d77ad7a6f5 Fixes advanced camera resets. 2015-11-04 15:08:17 +01:00
Tkdrg
e2187614fd Merge remote-tracking branch 'upstream/master' into hog-mergeconflicts
Conflicts:
	code/__DEFINES/hud.dm
	code/__HELPERS/game.dm
	code/_onclick/hud/_defines.dm
	code/_onclick/hud/hud.dm
	code/game/gamemodes/antag_spawner.dm
	code/game/gamemodes/game_mode.dm
	code/game/machinery/turrets.dm
	code/modules/client/preferences_toggles.dm
	code/modules/events/alien_infestation.dm
	code/modules/mob/dead/observer/observer.dm
	code/modules/mob/living/carbon/alien/special/alien_embryo.dm
	code/modules/mob/living/simple_animal/revenant/revenant.dm
	icons/mob/back.dmi
	icons/mob/head.dmi
	icons/mob/hud.dmi
	icons/mob/inhands/items_lefthand.dmi
	icons/mob/inhands/items_righthand.dmi
	icons/mob/mob.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/items.dmi
	icons/obj/projectiles.dmi
	icons/obj/storage.dmi
2015-11-02 01:06:30 -03:00
MrPerson
2f9c5b38f0 Removes the unused lastarea mob var
I think it was used for ambience music a long time ago.
2015-10-28 04:25:18 -07:00
Remie Richards
b99ecdfbe0 Merge pull request #12597 from AnturK/atoningmycodingsins
Action Button Minor Rework Cleanup
2015-10-25 23:02:59 +00:00
phil235
da84fcd8d2 - Fixes shadowling receiving burn messages even when dead. I've also fixed the same bug for other species and made certain spec_life() procs not run when the mob is dead. I also made slime species a subtype of jelly species since they had a lot of code in common thus reducing duplicate code.
- Fixes odd behavior with emagging airlock and windoor animation.
- Fixes being able to bloodcrawl in oil decal.
- Fixes being deaf after bloodcrawling.
- Fixes wintercoat hood appearing below the mask.
- Fixes being able to attack another mob before the game has started (and other things which used a gamestart check that no longer works).
- Ghosts can no longer become drones before the game has started.
- Removed "bhunger" and "ajourn" mob vars, they are unused.
- Fixes admin-revived morph being invisible.
- Fixes heart attack stacking losebreath very high. Also now losebreath is reset to 0 when the mob dies.
- All mobs no longer have a default strip menu showing two hands.
2015-10-23 20:00:52 +02:00
AnturK
77d3260894 Action Button Cleanup
Removing action_type in lieu of subtypes
2015-10-22 21:34:27 +02:00
GunHog
dcbcfefa01 Action buttons + More mobs!
- Scanner control is now an action button.
- Fixed multiple scanner bugs (I think)
- Gave ability to drones and borgs.
2015-10-08 11:30:39 -05:00
Remie Richards
97de4b2ebe Merge branch 'master' of https://github.com/tgstation/-tg-station into HandOfGod-Resurgence
Conflicts:
	code/modules/mob/living/simple_animal/guardian/guardian.dm
	icons/mob/head.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/suits.dmi
	icons/obj/storage.dmi
2015-10-07 22:24:53 +01:00
Remie Richards
b9394257da About a million changes, but largely: Functional (Sort of) Antag Huds, Mind fixes, and Final glue to get the mode working. 2015-10-07 22:11:19 +01:00
GunHog
4a5caf968a Research Examines!
Science Goggles and the Prototype Hardsuit Helmet may now scan items for
their research potential and machines for their contents.

Examine an item to gain additional data.
- Tech levels
- Materials that can be salvaged from it if recycled
- Reliability rating
- Crit failure, if present.

Examine a machine to learn the components used to build it.
2015-10-07 13:45:51 -05:00
AnturK
a99ed56f27 Atom Buckling - Squashed 2015-09-24 16:21:05 +02:00
phil235
428a28a440 Fixes monkeyize/humanize removing the mob's viruses when they should be kept.
Fixes NOCLONE and CLUMSY being in both disabilities and mutations. they're now only disabilities.
Fixes minttoxin not gibbing people with the fat disabilities.
Fixes some runtimes, replacing usr by user in some places.
Fixes mutation overlays being removed when updating overlays.
Remove the now unused mob/var/list/mutations and human/var/blood_type
Fixed some formatting in preferences.dm
2015-09-13 22:52:38 +02:00
Razharas
829a88816b Merge pull request #11179 from Dorsisdwarf/andtheyrelikeitsdeaderthanyours
Makes lings undetectable to the AI when using digital camo
2015-09-01 11:00:38 +03:00
phil235
1cee0d3014 Fixes slipping on water while riding janicart.
The handle_slip() now also handles cases where the mob is buckled. If you are buckled and slip on lube (or something that ignores

galoshes) you get unbuckled and stunned and the buckle object moves one step (no slides unlike when unbuckled).
You can thus slip on lube while buckled to a chair or a roller bed.
Fixes getting hit by abstract held items when slipping.
Fixes janicart rider getting hit twice by bullets.
Removing the STEP constant var in slipping code, it's no more used.
Fixes carbon/slip() not returning the correct value.
Changed var/obj/structure/stool/bed/buckled to var/obj/buckled since buckled can now technically be any obj.

Removes hacky unbuckling/buckling in bed/Move()
2015-08-13 23:49:02 +02:00
Dorsisdwarf
f598eb63dc Makes lings undetectable to the AI when using digital camo 2015-08-13 08:59:31 +01:00
phil235
b0cd6d34b1 Lots of work on acids, smoke, foam, reagents reaction() proc.
- fixed the fraction argument in reaction(...., INGESTED, fraction) so the proper amounts of each reagent react, not all of it.
- slight optimization of datum/reagents/reaction()
- small optimization /datum/reagent/proc/reaction_mob
- the smoke's reagents no longer do direct transfer upon crossed()/move() but uses "reagents.reaction( mob, TOUCH)" only.
- fixes no ingesting smoke if it's in the dark.
- removed block gas smoke effect flag from clown mask and other non "actual" gas mask.
- refactor how protection against touched chems being absorbed is done. get_permeability_protection() to get that protection. No more

simple RNG get touched or not, now the amount that touches you depends on your protection and the volume in question.
- changes acid_act to take volume into account.
- chem_smoke now uses process() just like foam, we remove the reaction from crossed() and Move(), it's only done in process() now.
- optimization of effect/smoke, OOP! And now all smoke effects use objprocessing instead of shitty sleep/spawn
- removed mob var/coughedtime.
- add a volume check to item/acid_act(), there's a threshold to be able to melt and then a probability to melt (acidpwr&volume).
- greatly lowered the amount of reagent in the smoke from dead blobspore (so the volume isn't enough for melting)
- human/acid_act(): damage to limbs depends on acidpwr&volume.
- fixes metalfoam not working.
- smoke powder: only one start() call.
- Amound of smoke objects depends on amount of smoke recipe created.
- Adds an argument to add_reagent() to block automatic call of handle_reaction()
- When using reagents/proc/trans_to(), reactions are now only handled after every reagent is transfered and not before.
- Amount of smoke objects depends on amount of smoke reagent created.
- radius of foam reaction depends on amount of foam reagent created.
- The amount of other reagents inside the smoke/foam decides the life expectancy of the effect.
- The amount of reagents in each small smoke cloud/foam cell depends on the amount of other reagents in the initial reaction but also

how much smoke/foam was created (more smoke means dilution of the reagents).
- smoke/foam's reagent reaction on mob decreases the life expectancy of the effect (to avoid reagent duplication)
- The amount of reagent reacting with atoms is less if the life expectancy is high.(to avoid reagent duplication)
- The amount of movement from the smoke now depends on the number of smoke clouds created.
- removing some useless code in chem_grenade/prime().
- When calling human/acid_act(), item acid melting chance lowers after each each successful melt in the list, some of the acid is

"used" to melt that item so the next items have a lower chance to melt (to make melting every clothing harder).
- remove the banned reagent list from sprays, not needed anymore now that acid is nerfed.
- chem_grenade reaction, if there's no reagent left after reaction (smoke/foam/etc, reagents cleared) you don't get the steam effect

and immediate reaction with all atoms around the grenade explosion. (Fixes foam cleaner grenade deleting bloodstains around it as soon

as the grenade explodes, even if the foam hasn't reached the tile yet).
- melted storage items now drop their content instead of deleting everything.
2015-06-22 00:35:24 +02:00
Cheridan
6c12887367 Pressure_resistance Tweaks
-Adjusts pressure resistance, which determines how easily things can get pushed around by atmos.
-Most items (handheld stuff) are less resistant, while most larger items (mobs, structures, machinery) are more resistant.
-Removes the cooldown on air pushing stuff, which should make it feel more 'responsive', as opposed to the current push->pause->push->pause effect it does now.
-MAGBOOTS/NOSLIPS NOW PREVENT SPACEWIND PUSHING! !!!
-Adds a little wooshy breeze sound to when you would get pushed
2015-06-03 23:22:25 -05:00
AnturK
90724e6306 Adds resize variable for mobs 2015-05-08 17:28:19 +02:00
Jordie
a86b757d93 Merge pull request #8291 from Xhuis/nerf_thermal_vision
Nerfs changeling augmented eyesight
2015-03-26 13:01:25 +11:00
Xhuis
7f6871c233 Fixes conflicts and commits 2015-03-21 12:47:25 -04:00
Swag McYolosteinen
e9f21c3b28 Merge pull request #8462 from xxalpha/cyberimplants
Cyber Implants Addendum
2015-03-21 13:38:27 +01:00
xxalpha
3888013a43 Changed flag list to flag var. 2015-03-21 12:24:27 +00:00
Swag McYolosteinen
afa1b76cde Merge pull request #8190 from xxalpha/cyberimplants
Cybernetic Implants
2015-03-21 13:19:26 +01:00
xxalpha
31de411a11 Merge remote-tracking branch 'upstream/master' into cyberimplants
Conflicts:
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/mob_defines.dm
2015-03-18 20:11:51 +00:00
Miauw
1873143e63 Initial say cleanup commit. 2015-03-18 19:23:31 +01:00
MrPerson
9038fb15af Code cleanup
Removed a bunch of unused or hardly used vars on /mob and /atom/movable.
Added defines for mob/living/var/mob_size so it's not using magic numbers.
2015-03-13 10:41:00 -07:00
xxalpha
0f01378e7a Reworked suggested code, added brain implants, misc additions.
Fix missing ')'.

DELETE THIS
2015-03-09 20:39:09 +00:00
xxalpha
b1e340b19b Added X-ray implant, implant icon, touched up surgery. 2015-03-08 17:25:05 +00:00
xxalpha
f0c3c9af07 Merge remote-tracking branch 'upstream/master' into cyberimplants 2015-03-06 18:52:25 +00:00
xxalpha
38bae63251 Added cybernetic implants and surgery. 2015-03-06 18:52:04 +00:00
MrPerson
8ffbc1be14 On screen alert system
Replaces some of the hardcoded HUD icons defined at mob level with a pair of mob procs throw_alert() and clear_alert(). Alerts will appear on the top-right side of the screen.
You can shift-click alerts to get a description of what's wrong and sometimes a tip on how to solve the alert.

Alerts can be given a master, which overlays the master on top of a box and forwards clicks of the alert to that master. Getting buckled will put an alert of what you're buckled to, for example. If it's a chair, you just click the alert and you're unbuckled. The idea I'm shooting for is to replace resist entirely with this kind of stuff.

Making a new alert and using it is a little complicated. This explanation will suck, but this is simpler than I'm making it sound, I promise. Throw_alert() has 4 args, category, id, severity, and obj/new_master. If you don't supply an id, category will be used as id. Only 1 alert per category is allowed; any duplicate will be replaced. Additionally clear_alert() clears alerts by category. Id MUST match a type path of /obj/screen/alert/[id]. That type path is where the alert's name and desc come from. The icon_state of the alert will either be "template" if new_master is set or [id][severity] otherwise. new_master is totally optional.

Examples:
throw_alert("oxy") -- takes name/desc of obj/screen/alert/oxy, icon_state = "oxy" -- clear_alert("oxy")
throw_alert("nutrition","fat") -- takes name/desc of obj/screen/alert/fat, icon_state = "fat" -- clear_alert("nutrition")
throw_alert("nutrition","starving") -- takes name/desc of obj/screen/alert/starving, icon_state = "starving" -- clear_alert("nutrition")
throw_alert("temp","cold",1) -- takes name/desc of obj/screen/alert/cold, icon_state = "cold1" -- clear_alert("temp")
throw_alert("temp","cold",3) -- takes name/desc of obj/screen/alert/cold, icon_state = "cold3" -- clear_alert("temp")

If you pass a new_master, id is only used to get name/desc and still must match a path, but the icon_state is "template" and icon is from the mob's ui preference instead of icons/mob/screen_alert.dmi.

Several unused icons removed, like borg oxygen and temperature alerts. Also some icons were used but now are not and were removed, like the nutrition icon for being well-fed and cyborg charge icon for being fully charged.
2015-03-01 17:31:26 -08:00
dannno
54f1d333d7 Adds a slurring filter, replaces stutter filter where appropriate 2015-02-10 16:39:17 -05:00
Remie Richards
96ac837b65 Merge pull request #6960 from Iamgoofball/goonetics
Added 2 new powers and 9 new disabilities from goon and /vg/!
2015-01-19 17:47:33 +00:00
JJRcop
f34afaa3c9 Merge branch 'master' of https://github.com/tgstation/-tg-station into ChronOPS
Conflicts:
	icons/mob/head.dmi
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
	icons/obj/projectiles.dmi
2015-01-15 02:30:31 -05:00
Menshin
435ccf7ff9 * OOP'ed ear damages/deafness status updating
* Silicons are now immuned to ear damages/deafness
* Only living mobs can now take ear damages/be deafened
* Simple animals are now healing ear damages/deafness at the same rate as other living mobs
* Fixes being able to hear AI announcements when deaf
2015-01-13 00:40:46 +01:00
Iamgoofball
b70fde1ed2 Fixes and Tweaks, adds mutations_say_mods() and say_mod() for mutations 2015-01-10 23:42:31 -08:00