Commit Graph

186 Commits

Author SHA1 Message Date
TiviPlus 0eaab0bc54 Grep for space indentation (#54850)
#54604 atomizing
Since a lot of the space indents are in lists ill atomize those later
2020-11-30 12:48:40 -05:00
Jared-Fogle a16d1c60f5 Fix 'your mind won't reach that far' message when clicking moodlet with TK (#55070)
The mood /atom/movable/screen, instead of having a Click() override, instead has its COMSIG_ATOM_CLICK registered in the mood component. This has the side effect of normal attack chain protocol being ran on it, meaning that if you click it with TK you will get a message saying "Your mind won't reach that far". This fixes that by overriding attack_tk into a noop.
2020-11-22 09:59:16 -08:00
TemporalOroboros edd6500d78 /obj/screen --> /atom/movable/screen (#54403)
Repaths screen objects to /atom/movable
2020-11-08 23:07:15 -03:00
nicbn a1c59cc9bc Moves screen objects from mob to hud (#54400)
This moves screen images from icons/mob to icons/hud
Makes more sense and it is easier to find
2020-10-15 19:46:36 -03:00
Rohesie af65c90125 Mobility refactor: no more update_mobility() (#54183)
This is a pretty big change all around. The gist of it is that it moves the mobility_flags into traits or variables that can track the sources, and to which we can append code to react to the events, be it via signals or via on_event-like procs.

For example, MOBILITY_STAND could mean, depending on context, that the mob is either already standing or that it may be able to stand, and thus is lying down.

There was a lot of snowflakery and redefinitions on top of redefinitions, so this is bound to create bugs I'm willing to fix as I learn them.

The end-goal is for every living mob to use the same mobility system, for the traits to mean the same among them, and for no place to just mass-change settings without a way to trace it, such as with mobility_flags = NONE and mobility_flags = ALL

Fixes AIs being able to strip nearby people. They've lost their hands usage.
2020-10-09 16:04:30 -07:00
Jared-Fogle 7ccb721880 Prevent inventory HUDs from overlapping multiple overlays (#53974)
Currently, when you drag your mouse off an inventory button while holding it down, it'll leave a permanent ghost image (#53950). This is because MouseExited is not being called properly. However, I couldn't reproduce this in a non-SS13 BYOND project, which makes it difficult for me to fix that.

This is a band-aid fix. It'll leave a ghost image, but then the next time you hover over and exit, it'll remove it, making it much less annoying.
2020-09-29 06:32:12 -03:00
Jared-Fogle c3fd280a01 You can now take off clothes while on stasis 2020-07-21 23:16:55 -07:00
Ryll-Ryll 1f31064c3e Merge remote-tracking branch 'tgstation/master' into who-named-this-damned-proc 2020-07-16 21:43:14 -04:00
jdawg1290 62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
Ryll-Ryll fc0b247738 rename 2020-07-11 23:23:23 -04:00
L 4e5306f754 More defines moves 2020-06-01 20:18:44 -03:00
Ryll Ryll 5c174800fb Grenades and projectiles can have shrapnel and embed, all carbons can suffer embeds, some bullets can ricochet, sizable refactor of embedding (#49634)
About The Pull Request

It annoyed me that we have a perfectly good frag grenade item, and a perfectly good shrapnel component, but no crossover episode between the two. This remedies that, and does a lot, lot more.

dreamseeker_2020-03-30_05-01-13.png

dreamseeker_2020-03-30_05-01-26.png

Big points:

    Adds new component: pellet_cloud, which can be used by ammo casings, guns, and landmines to spray shrapnel and display aggregate hit messages ("You're hit by 6 buckshot pellets!" vs "You're hit by the buckshot pellet in the X" x6). All gun ammo that shoot multiple pellets now use this component on firing.
    Adds stingbangs, premium less-lethal grenades that shoot off lots of stinger pellets, to cargo. Frag grenades are also reworked to have smaller booms, but shoot off lots of shrapnel shards. You can jump on top of these grenades to absorb a portion of the shrapnel to save those around you! There's an achievement for dying this way, called "Look Out, Sir!"
    Projectiles can now embed items/shrapnel. Adds .38 DumDum ammo to cargo that does less damage and has negative armor pen, but can embed in people. This is the only ammo that currently embeds.
    Bullets can now ricochet off walls, structures, and machinery (harder surfaces are more likely to ricochet). Only standard .38 and Match Grade .38/.357/L6 ammo can ricochet, with Match Grade being much better at ricocheting. You can buy Match Grade .38 from cargo and Match Grade L6 ammo from the nuke uplink, while Match .357 is admin only.
    Armor now protects you from harmful embeds, taking the better of the bullet/bomb armor on the affected limb. Armor penetration can modify this of course, and many blunt embeds like stingbangs and DumDum bullets are significantly worse if you have even 1 armor.

Other misc fixes/changes

    Refactored the embed element a bunch and fixed it creating new elements for every instance rather than expected bespoke behavior. There are new /obj/item helpers for modifying and adding embedding.
    Fixes #49989: Spears can no longer embed in turfs cause their sprite is annoying to me, it's generally harder for most things to embed in turfs
    Fixes #49741: New carbon helpers for removing embedded objects
    Fixes #46416: Handles embedded objects getting qdel'd or moved while embedded
    Renamed the old shrapnel component for RPG loot to MIRV to avoid confusion
    Repathed frag grenades from under minibombs to under base grenades, and added explosion vars to base grenades

Why It's Good For The Game

Fixes a bunch of janky design with embeds, adds lots of new avenues for projectile and grenade variety, ricochets and collateral damage are fun!
Changelog

🆑 Ryll/Shaps
add: Adds stingbangs to cargo (and one in the sec vendor premium), premium less-lethal grenades that shoot off a giant swarm of stingball pellets to help incapacitate swarms of people in tight quarters. You can jump on top of a live one to be a hero and absorb a bunch of shrapnel, same with frag grenades. There's even an achievement for dying to a grenade you jumped on!
add: Projectiles can now embed in people! Or at least grenade shrapnel and the new .38 DumDum ammo, now available in cargo, can. DumDum rounds excel against unarmored targets, but are pricey and do poorly against armored targets.
add: Bullets can now ricochet! Or at least, standard .38 and the new .38/L6 Match Grade ammo can. Match Grade ammo is finely tuned to ricochet easier and seek targets off bounces better, and can be purchased from cargo (for the .38) or nuke ops uplink (for the L6), but standard .38 ammo has a chance to ricochet as well.
tweak: Frag grenades now have smaller explosions but shoot off a bunch of devastating shrapnel, excellent for soft targets!
tweak: Shotguns and other multi-pellet guns now print aggregate messages, so you'll get one "You've been hit by 6 buckshot pellets!" rather than 6 "You've been hit by the buckshot pellet in the X!" messages. Bye bye lag!
balance: Armor can now protect against embedding weapons, taking the best of either the bullet or bomb armor for the limb in question away from the embed chance. Some weapons are better at piercing armor than others!
/🆑
2020-04-03 16:58:38 +13:00
Arkatos1 8538bc36e7 Removal of slime and elite huds (#50096) 2020-03-21 17:13:23 +01:00
nightred 395bebcdcc [READY] Space Suits use cells and warm the wearer (#49028)
About The Pull Request

This makes space suits use a cell and warm the wearer, This was handled by the handle_environment proc in the past with an override to make the suits work. This corrects this issue, and removes the override.

All space suits will have a cell installed at round start, this cell will last 15 min on average usage.

The cell cover can be toggled by alt+clicking (press the button), or using a crowbar (just pry it open) on the suit.
With the cover open you can remove the cell by using the suit in hand, or ctrl+clicking the suit.
As well with the cover open you can use a screwdriver to set the thermal regulator's temperature. The normal range is 20 c to 45 c, do not use an emag on the suit to increase the temperature range.

Examining the suit will report the temperature setting and the cells charge, if the cover is open you will also be able to see the type of cell that is in the suit.

Suit storage units will now charge the cells in suits, they will also require power to operate properly now.

Why It's Good For The Game

    Space suits should be managing the wearers temp in space not using some override.
    Lizards now have a portable heater in the form of any space suit.
    Now that suits need a cell it is not as easy to spend all session in a space suit.
    New interactions with hardsuits and emp's give nice combat buff to an underused item.
    Nuke ops can raid xeno for some nice yellow cells, or science for a big old bluespace cell.
2020-02-15 11:32:54 +13:00
Arkatos1 fbffe3c925 Living mob HUD cleanup (#49193)
* Living health HUD cleanup

* Elite icon cleanup
2020-02-13 01:14:39 +01:00
tralezab 7c5ffc5da4 513 health bars for simplemobs! (#48954)
* cleanup required

* removes bad stuff, makes linter happy

* megafauna still get SOME health doll, cleanup again

* whoop

* UNLINT
2020-01-28 04:29:37 -05:00
Arkatos1 0cfde60db2 Generic living HUD (#47685) 2019-11-24 05:15:54 +01:00
Emmett Gaines 4057c7b22c Migrates most machinery update_icon procs (#47284)
* Migrates most machinery update_icon procs

* Removes chargelevel

* Migrates newscaster's overlays
2019-11-08 17:29:23 -08:00
Arkatos1 02372ae376 Revenant hud fix (#47642) 2019-11-08 22:17:03 +01:00
Emmett Gaines 3bd6505ac0 Cleans up zone_sel and fixes init selection (#47371)
* Cleans up zone_sel and fixes init selection

* Removes selecting
2019-10-25 16:39:29 -07:00
IndieanaJones ee2c658098 [READY] Adds Pulsating Tumor Ruin and Lavaland Elites (#46566)
* Adds elite.dm and elite_goliath.dm

* Add lavaland_surface_elite_crevice.dmm

* Load elite.dm and elite_goliath.dm

* Add Glowing Crevice Ruin

* Add elite_lavaland_monsters.dmi

* Additional Sprite to artefacts.dmi

* Updated elite_goliath.dm and elite.dm

* Add actions_elite.dmi

* Cleaned up Code with help from reviewers

* Getting Jiggy with timers

* Update lavaland_surface_elite_crevice.dmm with MapMerger

* Update actions_elites.dmi for Pandora

* Add pandora.dmi

* Remove Old Icons File

* Update elite.dm, elite_goliath.dm.  Add pandora.dm

* Load Pandora.dm

* Update actions_elites.dmi

* Add legionnaire.dmi

* Update Old Files, add legionnaire.dmi

* Load legionnaire.dm

* Update All Files, Add herald.dm

* Update actions_elites.dmi

* Update legionnaire.dmi, Add legionnaire_bonfire.dmi and herald.dmi

* Load herald.dmi

* Delete elite_goliath.dm

* Update elite.dm, pandora.dm, legionnaire.dm, and herald.dm.  Add goliath_broodmother.dm

* Delete lavaland_surface_elite_crevice.dmm

* Add lavaland_surface_elite_tumor.dmm

* Update lavaland.dm

* Delete elite_lavaland_monsters.dmi

* Delete herald.dmi

* Delete legionnaire.dmi

* Delete legionnaire_bonfire.dmi

* Delete pandora.dmi

* Add lavaland_elites.dmi

* Add tumor.dmi and legionnaire_bonfire.dmi

* Update actions_elites.dmi

* Stop loading elite_goliath.dm, start loading broodmother.dm

* Load goliath_broodmother.dm, not broodmother.dm

* Update all Elite Files for Loot Drops

* Add elite_trophies.dmi

* Add hope sprites to accessories.dmi

* Update neck.dmi

* Update elite.dm

* Update screen_objects.dm

* Add lavaland_elite.dm

* Add screen_elite.dmi

* Load Lavaland Elite HUD

* Update actions_elites.dmi

* Change the Death-Detection to be Tumor-Based, not Elite-Based

* Fixing a few rare runtimes

* Update herald.dm to comply with the obj/projectile change

* Ups the cost of the tumor ruin from 0 to 5

* Implement fixes suggested by AnturK

* Compliance to the new curazzy mob verb system

* Recompliance the whole projectile change thing

* Fixed Up Elite Files Based on Antur's Suggestions

* That's why shooter was needed

* Let's get rid of shooter

* Commit changes suggested by Fox-McCloud

* Forgot a )

* Remove a H.

* Update elite.dm, herald.dm, and pandora.dm

* Add Hope's positive mood effect

* Consider neck slot item when calculating armor and for block chance

* Fix human_defense.dm

* Fix Inconsistent Indentation

* REALLY Fixin' that Indentation

* Had to find some obscure thing to fix so Travis would check us out

* While we're still here, fix this off-pixel

* Background icon fix

* This somehow got left out during the changes

* Update to elite files

* Update the Description of the Herald
2019-10-22 14:58:08 -07:00
Qustinnus b021210a2f [READY] Adds a basic skill framework to Physiology. (Only applied to mining) (#46913)
* levels

* mining

* ore exp

* fixes

* epic

* Update code/game/turfs/simulated/minerals.dm

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* fixes message

* dumb

* shreet

* epic

* fix

* ass

* scrape

* fixes bugs

* fixes

* reset

* test

* ??

* ok bye

* fix

* Adds skills

* skill
2019-10-18 19:59:35 -04:00
Emmett Gaines 8982f509b5 Refactors screen object update_icon to call parent (#47094)
* Refactors screen object update_icon to call parent

And makes update_icon an /atom proc

* Cleans up some missed null checks

The student teaches the master
2019-10-17 18:21:50 -07:00
KomradeSpectre 9ff071af60 Clockcult Removal 2019 (#47057)
* Nanotrasen fires the Wave Motion Gun at the Clock Cult

* Fixes a random changelog appearing from the reebe void.

* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.

* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.

* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron

* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
2019-10-15 10:13:41 +02:00
Mickyan a4385c7c64 sanity hud (#46805) 2019-10-07 15:54:18 -04:00
ShizCalev d4a3f06ecb Merge pull request #44666 from Arkatos1/SlimeHUD
SlimeHUD
2019-06-20 18:09:42 -04:00
vuonojenmustaturska 8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00
Arkatos1 2b8baf88ca SlimeHUD 2019-06-19 21:21:45 +02:00
Razharas c55145299a Componentizes menucrafting (#44221)
Fixes menucrafting opening a new window when finishing construction
2019-06-04 17:01:45 -04:00
bgobandit aeb603cb40 Clicking the health doll lets you examine yourself for injuries (#42357) 2019-01-15 17:12:29 -05:00
Qustinnus c7f18988db Adds icon for sanity (#41141)
cl Floyd / Qustinnus (sprites by Mickyan)
fix: sanity can now reach its highest level
imageadd: Adds HUD icons for sanity
/cl
2018-10-27 13:19:33 +13:00
ShizCalev c8ca0c5d74 Fix canequip() bad arg runtime (#40767)
keyed arg 4noraisin
2018-10-08 18:32:29 -07:00
Emmett Gaines 0943e56e08 Adds the signal origin as the first arg to all signals (#39861)
* Adds the signal origin as the first arg to all signals

* Fixes some storage and nanite procs
2018-08-28 18:28:29 +03:00
Jordan Brown debe9ac79a Merge pull request #39912 2018-08-26 17:14:02 -04:00
AnturK b00591eea1 Makes screen objects default to hud layer instead of above. 2018-08-25 23:21:49 +02:00
Tad Hardesty a763bbf7ef Merge remote-tracking branch 'upstream/master' into patch/zonesel 2018-08-22 12:51:48 -07:00
oranges ae7ab84c76 Make the inventory helper overlay less impactful (#39824)
Reduces alpha and has a traffic light system for the items

-> red ghost when the item can't be placed
-> green ghost when it can
-> full solid colour item, object is in the inventory

This is so you can differentiate the ghost view from the actual object entering
the slot, which was sticky's primary complaint

I moved the cut of overlays only to mouse out, since if that somehow isn't
called we have bigger problems than overlays doubling up. INB4 this causes
server crashes.

Side bonus it removes one image operation, it's worth investigating a cache for
this as well I would say, a simple rotating buffer list of the last x many
images.

Tested and ready to go
2018-08-21 22:55:49 -07:00
ninjanomnom 1017efbb5c Makes the hover overlay vis_contents 2018-08-21 07:09:51 -04:00
Tad Hardesty 04e268b1c3 Fix deleting the cached hover overlay on mouse out 2018-08-20 23:41:46 -07:00
Tad Hardesty f5fee4fe08 Add hover indicator for body zone selector 2018-08-20 23:36:17 -07:00
Jared-Fogle 0308655a68 Hovering over storage slots with an item in your hand will show you if you can put the item in (#39661)
Quality of life. Sometimes I forget whether or not I can put an item in my suit storage/pockets. Note this doesn't trigger for hands.
2018-08-17 16:24:56 -07:00
kevinz000 5f4b418eaa Movespeed Modification System (#39181)
In preparation of pixel movement, I want to refactor our slowdown system to something more modular, and something that doesn't require /quite/ as many proccalls/calculations a tick. The way this works is intended to only have things recalculate when it's necessary, rather than calling it every move.
However, I've left movement_delay() in, as without completely redoing a lot of code it's not /quite/ ready at this point to tear it out completely, but I'm hoping everything can be transitioned over to this system later.
2018-08-09 16:55:15 -04:00
Emmett Gaines 26c1031661 Refactors create_mob_hud() to add a signal (#39364)
* Refactors create_mob_hud() to add a signal

and make the mood component use it

* Register for the hud element click

* Observe observer safety
2018-07-29 17:47:16 +12:00
XDTM 1532545638 Adds Rest hud button, adds small delay to getting up (#39052)
* Adds Rest hud button, adds small delay to getting up

* icons and icon code
2018-07-11 15:14:59 -04:00
Cruix 70687c8cdc AI Multicamera mode (#37695)
* Added multicamera mode for AIs

* Minor multicamera fixes

* Cameras near an AI multicamera eye now light up red

* Disabled AI multicamera mode without admin intervention

* Fixed AIs being able to use multicamera mode when they should not
2018-05-30 20:31:32 -05:00
Jordan Brown 61bfefea09 Condenses a check 2018-04-29 10:05:23 -05:00
vuonojenmustaturska 98f8ca7553 Moves several clothing-specific flags from /atom to their proper type (#37486)
* lavaproof

* more flags

* it compiles

* Remove a couple of lists
2018-04-28 13:22:28 -05:00
kevinz000 ab993a117a Component Storage, Experimental attack_hand and [ui_]interact() refactors (#36696) 2018-04-12 14:46:14 +03:00
Ian Turk fbe5f4a062 Replaced body zone magic strings with defines 2018-03-19 15:44:51 -05:00
Qustinnus 5140cff38c [reviewpls] Adds moodlets to the game - [Please give suggestions for trait additions in comments] (#35475)
Floyd / Qustinnus (Sprites by Ausops, Some moodlets by Ike709)

add: Adds mood, which can be found by clicking on the face icon on your screen.
add: Adds various moodlets which affect your mood. Try eating your favourite food, playing an arcade game, reading a book, or petting a doggo to increase your moo. Also be sure to take care of your hunger on a regular basis, like always.
add: Adds config option to disable/enable mood.
add: Indoor area's now have a beauty var defined by the amount of cleanables in them, (We can later expand this to something like rimworld, where structures could make rooms more beautiful). These also affect mood. (Janitor now has gameplay purpose besides slipping and removing useless decals)
remove: Removes hunger slowdown, replacing it with slowdown by being depressed
imageadd: Icons for mood states and depression states


What this PR is

This PR adds a system that allows player to gain and lose moodlets based on events occuring to, and around them. These events then give the player a mood value based on what it is. For example a hug could give you +1 mood, while being stabbed in the eye with a screwdriver can give -5 mood. All these moodlets together determine the mood of your character which currently affects the following things:

    Movement speed - If you are very sad you move slower. Replacing movement slow from hunger. (hunger now instead affects mood)
    Screen blur - If you are sad you gain an overlay that slightly blurs the screen, increasing in severity as you get sadder.
    Interaction / do after speed - If you are sad or happy your interaction speed with things such as handcuffs is changed. with a 25% longer time if you are sad, or 10% shorter time if you are extremely happy.
    Hunger rate - You gain hunger slower if you are very happy.
2018-03-08 14:15:57 +13:00