Commit Graph

80 Commits

Author SHA1 Message Date
phil235
029bc65b93 Merge branch 'master' of https://github.com/tgstation/-tg-station into Color_washing
# Conflicts:
#	code/game/atoms.dm
#	code/game/gamemodes/nuclear/nuclearbomb.dm
2016-10-19 01:56:02 +02:00
phil235
240f3a4c49 Adding var/list/atom_colours to /atom .
The var will be used to store the various coloring that happen for the atom so that we can separate paint coloring from color that must be inherent to the atom (an initial color for example), or from certain coloring effect like revenant's blight, mob electrocution's black color, admin edit of the color var, green color from holding the greentext item, etc.
The list has four elements, used for four categories:
ADMIN_COLOUR_PRIORITY for admin varedits and very rate color effect like holding the greentext item (and other effects that should prime over any other potential source of coloring even temporary effects).
TEMPORARY_COLOUR_PRIORITY for short color effects like revenant blight on mob, mob electrocution making you all black for a couple seconds, effects that should be appearing above paint coloring.
WASHABLE_COLOUR_PRIORITY for pretty much all paint coloring like colorful reagent on mobs, coloring turfs with paint, etc.
FIXED_COLOUR_PRIORITY for color inherent to the atom, like a blob's color, any object with a color value given in its definition.

Fixes electocution animation on mob not making the mob all black (with the skeleton overlay blinking over it)
Spray cleaner and soap can now wash paint off mobs, turfs and objects.
2016-10-19 01:51:30 +02:00
Joan Lung
4cddd81120 Suicide now uses the pronoun helpers (#20973)
* This doesn't actually matter, because you're dead forever once it happens...

* is this entire pr chaff for something else

* you'll do it? nah, fuck that I'll do it
2016-10-18 14:36:38 +13:00
oranges
980d830eb7 Merge pull request #20702 from TheCarlSaganExpress/sagan_branch
Fixed a runtime error when eating a crayon.
2016-10-10 11:18:44 +13:00
TheCarlSaganExpress
494bf90f90 TEACH ME YOUR WAYS MAINTAINERS 2016-10-02 23:35:35 -04:00
TheCarlSaganExpress
7889593e80 Forgot stuff 2016-10-02 20:51:15 -04:00
TheCarlSaganExpress
f916e7c331 Suggestion by optimumtact (fix) 2016-10-02 20:50:29 -04:00
Joan Lung
bdcb16113a Adds a few turf istype helpers (#20754)
* a very calming act
when the world is too much, too fast

* i'm tired
but i have to be efficient, infinite

* lick your lips at the sight of me
a fantasy made reality
2016-10-01 19:25:46 +02:00
TheCarlSaganExpress
b88a4572a4 Changed to \the 2016-09-30 00:45:12 -04:00
TheCarlSaganExpress
1a554d8bd2 Removal and grammar fix 2016-09-29 22:38:38 -04:00
TheCarlSaganExpress
36e52cf79b Added user as an argument 2016-09-27 20:36:17 -04:00
TheCarlSaganExpress
3a8c7ecbd7 Update crayons.dm
Changed to reagents.total_volume
2016-09-27 19:24:35 -04:00
TheCarlSaganExpress
433305b967 Fixed a runtime error when eating a crayon. 2016-09-26 20:16:58 -04:00
phil235
443a4501ec Carbon Dismemberment , second attempt. (#20461)
* - I rearranged X_defense.dm mob files, more damage_procs.dm.Here's what's inside:
* X_defense.dm: is for the procs of attacks onto the mob, all the XXX_act() proc (things happening to the mob), as well as protection check and get procs (armor, ear prot, projectile dismemberment)
* damage_procs.dm: actual damage procs like adjustBruteLoss() getfireloss, any proc that handles damaging.

- some bugfixes with gibspawner effects.
- monkey's bodyparts can be dismembered and are used to create its icon.
- brains are no longer carbons.
- all carbon have bodyparts that can be dropped when the mob is gibbed.
- adminspawned bodyparts now have a default icon.
- robotic parts are now a child of bodyparts.
- health analyzer on alien/monkey shows damage on each limb
- added admin option to add/remove bodyparts for all carbon (instead of just remove on humans)
- Fixes keycheck message spam for janicart and all when trying to move.
- Fixes bug with buckling to a scooter while limbless.
- removed arg "hit_zone" in proj's on_hit() because we can already use the def_zone var (where hit_zone got its value)
- Fixes mob not getting any damage when hit by a projectile on their missing limb, despite a hit message shown). carbon/apply_damage() now when we specify a def_zone and the corresponding BP is missing we default to the chest instead of stopping the proc. Consistently with how human/attacked_by() default to its attack to chest if missing limb.
- Fixes mini uzi icon when empty and no mag (typo).
- I renamed and changed a bit check_eye_prot and ear prot
- renamed flash_eyes to flash_act()
- I made a soundbang_act() similar to flash_act but for loud bangs.
- added a gib and dust animation to larva.
- husked monkeys
- no damage overlay for husk or skeleton.
- damage overlay for robotic limb now.
- no damage overlay when organic bodypart husked.
- one handed human with a bloody hand still get a bloody single hand overlay.
- fix admin heal being unable to heal robotic bodyparts.
- slightly touched robotic bodypart sprites (head one pixel too high)
- Fixes 18532 "beheaded husk has hair".
- Fixes 18584 "Ling stasis appearance bug"
- no more eyes or lipstick on husks.
- can remove flashes/wires/cells from robot chest and head with crowbar.
- Fixes not being able to surgically amputate robotic arm/leg.

* More merge conflict fixes and adding the new files I forgot to add.

* of course I forgot birdstation

* More typos and stuff I forgot to undo.

* Fixing a typo in examine.dm
Removing an unnecessary check.
Making admin heal regenerate limbs on all carbons.
Monkey-human transformation now transfer missing limbs info and presence of a cavity implant.
NODISMEMBER species can still lack a limb if the mob lacked a limb and changed into that new species.
Changeling Regenerate ability now also regenerate limbs when in monkey form. (and remove some cryptic useless code)

* Fixing more conflicts with remie's multihands PR.

* Fixes runtime with hud when calling build_hand_slots().
Fixes lightgeist healing not working.
Fixes null.handle_fall() runtimes with pirate mobs.
Fixes typo in has_left_hadn() and has_right_hand().

* Derp, forgot to remove debug message.
2016-09-12 19:33:50 +02:00
Shadowlight213
4a2242b505 Fixes division by zero with gang spraycans (#20263)
Fixes list index out of bounds runtime in VV
2016-09-03 22:28:32 +02:00
Joan Lung
e6259d32e3 Merge pull request #19406 from Niknakflak/ImABigBoyNow
Makes crayons not racist anymore
2016-07-23 18:40:10 -04:00
NikNakFlak
17d4b29791 Desegregates crayons 2016-07-20 00:13:08 -07:00
Remie Richards
8b8c5e0b76 Ratvarian grammar/punctuation rules are now enforced by code, automatic ratvarian is no longer just rot13 without the rules. 2016-07-19 23:25:14 +01:00
Jack Edge
0d10a1f950 Changes to large graffiti
🆑 coiax
rscdel: Large graffiti now consumes 5 uses from limited use crayons and
spraycans, as well as taking three times the amount of time to draw.
/🆑

- Also fixes bug where clown colorful reagent wasn't being applied to
all three turfs.
2016-06-25 21:54:49 +01:00
Cruix
ac0bad5d61 Added priority overlay system. (#18225)
Added priority overlays to atoms, which will not be removed when overlays are cut and will always remain on top when new overlays are added. This requires everyone to use add_overlay() and cut_overlays() instead of overlays += and overlays.Cut(). These procs are found in __HELPERS/icons.dm, and the priority overlay list is found in game/atoms.dm. Everything else is replacing deprecated overlay manipulation.
2016-06-17 10:11:53 +12:00
xxalpha
ffc5bb5402 Better looking sprites and bug fixfsjasf 2016-06-11 16:01:30 +01:00
xxalpha
9898f948b7 LARGE GRAFFITI 2016-06-10 22:31:38 +01:00
bgobandit
011bca9a3e Interrupted drawings will not affect the text buffer. 2016-06-08 23:34:27 -04:00
oranges
953fe2852b Merge pull request #18039 from coiax/alt-click-spraycan
Adds alt-click to spraycans
2016-05-31 15:55:22 +12:00
Jack Edge
0c95c90286 Adds alt-click to spraycans
🆑 coiax
rscadd: Alt-clicking a spraycan toggles the cap.
/🆑
2016-05-29 19:51:38 +01:00
Jack Edge
badec181c4 Bring back my APC checks 2016-05-28 13:55:07 +01:00
Jack Edge
e81fd145cc You saw nothing 2016-05-28 13:50:04 +01:00
Jack Edge
a729b83265 Fix: Gang tags can be sprayed over
Fixes #17957.

🆑 coiax
fix: Gang tags can again be sprayed over.
/🆑

Also got rid of this APC check which doesn't work anyway because APCs
loc is on the floor and then it's pixel shifted.
2016-05-28 13:40:51 +01:00
Jack Edge
1c92b17e3d Fixes some last minute spraycan bugs
- Cyborgs can now use their spraycans
- Spraycans are different colours
2016-05-23 20:26:40 +01:00
Jack Edge
6914282b9f Code review 2016-05-23 19:35:01 +01:00
Jack Edge
56b97fc315 Refactors crayons and spraycans
Fixes #17663

A reminder: spraycans are just special types of crayons for REASONS.
- Crayons and spraycans now use TGUI
- Crayons and spraycans now have internal reagent containers
- Crayons contain that crayon powder stuff, and nutriment
- Spray cans contain ethanol and welding fuel as before
- Spray cans will now no longer flush half a bottle of vodka into your
system when you are sprayed in the face
- Added some special admin only spraycans with sprites
- Maybe more? I can't remember, it's been a long day.
2016-05-21 02:39:21 +01:00
phil235
1b24cc7e6a Moved crayon code out of toys.dm and into crayons.dm
Fixes being able to throw kinetic grabs.
Fixes washing machine code being shit. Also fixes clothes coloring via washing machine being broken.
2016-05-10 22:53:47 +02:00
Jack Edge
7c293f0aa6 Spray cans contain flammable solvents
Also, spraying someone will stun them even if they lack a client.
2016-05-02 22:19:49 +01:00
Jack Edge
d9aac22800 Code review 2016-05-01 16:10:00 +01:00
Jack Edge
51d3dc9242 Hand labeler 2016-04-30 18:44:01 +01:00
Jack Edge
3d458b857c Service cyborgs get a spraycan
🆑 coiax
rscadd: The Service cyborg module now has a spraycan built in, for
hijinks and passing on important urban messages.
/🆑
2016-04-30 15:26:22 +01:00
phil235
0caa59b21a First commit of this big PR
These are the files with just tiny tweaks. Mostly modify an object's attackby so it does "return ..()" instead of "..()".
If there are other things in this commit, the PR's description will explain them.
2016-04-24 20:26:24 +02:00
duncathan
e86cf0f280 praise the good lord, for the game finally compiles 2016-03-29 19:04:37 -06:00
duncathan
b9950c4358 turf/open and turf/closed 2016-03-29 13:38:56 -06:00
duncathan
5bf31463da removes simulated turfs; adds space gas mixture for space 2016-03-10 17:27:01 -06: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
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
xxalpha
9f4db8078b Made it possible to paint windows to make them opaque.
Not tinted windows

Changed how painting and opacity work.

Clean timer
2015-11-01 16:26:54 +00:00
phil235
9c3d5ae3c7 Fixes runtimes with augmented_eyesight refund, atom/movable/Bump(), fleshmend, spraycans, PDA messaging, remove_from_storage(), and gun burstfiring. 2015-10-11 17:18:31 +02:00
Razharas
aa87f0a785 Merge pull request #11749 from feemjmeem/suicides-sep12
updated suicide_acts for newspaper, spraycan, and soap
2015-09-24 01:33:27 +03:00
Marc R. Uchniat
9a21b5d73b HE SHALL RIDE ETERNAL, SHINY AND CHROME 2015-09-12 15:18:29 -07:00
bear1ake
f697ae90f5 removes a bunch of .0 2015-09-10 20:57:30 +09:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
Ikarrus
7d0e61540c Gang Mode Update
- Fixes round-end message always declaring both gangs lost
- 3gang is now twice as likely to appear
- Purchased spray cans will always be the gang's color
2015-07-08 16:35:11 -06:00
Ikarrus
3814dc208a Gang-Based Datums 2015-07-02 22:18:11 -06:00