Commit Graph

27 Commits

Author SHA1 Message Date
RandolfTheMeh 48fbc073e5 [TMC] Defib Rework, Organ Damage Effects (#45104)
* Brain damage works on organ damage procs, some defib reworks

* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again

* Cleans up reused global

* Organ damage procs on living and living/carbon

* Changes brain damage procs again

* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.

* Damage and failure effects for the appendix, ears, and some touchups on the stomach

* Committing changes so I don't lose them

* Organs now cease decaying in the proper containers

* Organ Fridges

* Reverts map changes

* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime

* Actually fixes merge conflict

* Smartfridge tweaks

* Think I figured out map merger

* Evidently not

* Still runtiming with glass shards even after I remove the map changes?

* Fixes runtime error with brain_item

* Runtime fix on living/carbon/life

* Cleaning up old PR code

* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were

* Wrong math operation used

* Brains in MMIs no longer decay

* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts

* Removes misleading comment

* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss

* Removes random spaces, scanners check brain damage severity now

* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it

* List change

* Runs off of an index instead of using cut

* Brains can be put into organ fridges

* Fixes minor type, hotfix for cloning problem

* Removes pointless check

* Demon hearts no longer decay

* Nightmare hearts no longer decay

* Removes istype() check on process, sets can_decompose instead

* Condenses organ damage report

* Removes organ failure messages

* Less organ damage spam, implements organ threshold messages instead

* Brain damage messages go to owner, not source

* Self-examine shows damaged organs

* Minor code cleanup, adds autodoc comments to the new procs

* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.

* Merged the booleans into a set of flags

* Healthy living improves organ healing rates

* dunno why this didn't update

* my actions have consequences

* Sets ORGAN_SYNTHETIC for overlooked robotics organs

* Doubles heart decay time

* 3 minute heart decay

* Lobectomy/Coronary_Bypass heal more

* removes hivemind spells from the changes
2019-07-29 02:18:22 -07:00
zxaber f01e2704e1 [READY] Ammunition management for ballistic mech weapons, and a nerf to mech missiles (#44529)
About The Pull Request

Adds an ammo system and printable ammunition to most mech weapons with a "rearm" function. Replaces the old system of generating ammo at a power cost. With the exception of the missile launcher and clusterbang launcher, all affected weapons have a storage capacity of ammunition equal to four-times the amount of ammo that the weapon can load (though the storage cache starts with only one full reload when printed from the mechfab). Ammo boxes are printed from the mechfab and also are available in the Sec protolathe, and each box will carry exactly one full reload. Ammo boxes are not terribly expensive, but reloading requires either an ally on foot to pop the ammo box in, or for you to hop out and do it yourself.

Missile tubes and the clusterbang launcher do not have an ammo storage cache, and so reloading them will reload the tubes directly. This is not the full extent of nerfs that the missiles need (I will do those in a separate PR since I suspect this one will be controversial) (read below), but removing the ability to reload missile pods without an ally or exiting the mech may help a bit.

The SRM-8 has been replaced with the new BRM-6 in tech webs. The BRM carries a smaller explosion and does not explode unless hitting a wall, door, shutter, or another mech, and only has six shots. The SRM-8 remains on the Mauler mech. If the BRM missile does not explode, it will deal 30 brute damage instead, and break.
Why It's Good For The Game

Currently, mech ballistic weapons function like reloadable lasers. You have an ammo counter, but it's one hundred percent based on your energy cell. This gives some flavor to ballistic weapons, making them actually feel different, and gives them a mini-niche in the form of good choices to use alongside an energy-draining mech ability (like the Gygax speed).

Use lasers when you won't need to worry about power and/or need burn damage.
Use ballistics when you want to save power and/or need brute damage.

The SRM-8 to BRM-6 change is being done here so that I don't have to wait until this PR is merged before starting it. The idea is to keep the reasons why you'd want to build a missile launcher (wall breaking and mech fighting) without also outclassing most other weapons burst damage potential. I'm not truly happy that the explosions deal zero damage to surrounding people even one tile away, but dealing no damage is better than the massive damage + stun that the current missile launcher does. Nuke Mauler has the old launcher, since I believe the consensus is that Nukie Mechs are already not generally worth the money.
Changelog

cl
balance: Mecha ballistics weapons now require ammo created from an Exosuit Fabricator or the Security Protolathe, though they will start with a full magazine and in most cases enough for one full reload. Reloading these weapons no longer chunks your power cell. Clown (and mime) mecha equipment have not changed.
balance: The SRM-8 Missile Launcher has been replaced with the BRM-6 Breaching Missile Launcher in techwebs (Nukie Mauler remains equipped with the SRM-8).
balance: Both Missile Launchers and the Clusterbang Launcher do not have an ammo cache, and cannot be reloaded by the pilot. Once the initial loaded ammo has been spent, you can use the appropriate ammo box to load the weapon directly.
add: Utility mechs that have a clamp equipped can load ammo from their own cargo hold into other mechs.
add: Nuke Ops can purchase spare ammo duffel bags for their mecha weapons, should they run low.
/cl

To-Do:

Add ammo to security protolathe
Get better ammo box sprites (hopefully)
Possibly adjust ammo counts for balance. Might make the flashbang launcher and/or cluster launcher behave like the missile pod.

    Add functionality for the utility mechs to use clamps to load ammo from their cargo hold into another mech.

Ammo counts, for anyone wondering:
Weapon 	Magazine Size 	Total ammo at start* 	Maximum total ammo*
Scattershot† 	40 (10) 	80 (20) 	200 (50)
Hades 	24 	48 	120
Ultra AC 2† 	300 (100) 	600 (200) 	1500 (500)
BRM-6 Missile Rack 	6 	6 	6
SRM-8 Missile Rack 	8 	8 	8
Flashbang Launcher 	6 	12 	30
Cluster Launcher 	3 	3 	3

*Total ammo is the amount in the weapon's magazine plus the stored ammo.
†The Scattershot lists its ammo as 40, but uses four per shot. So in reality, a single full reload gives you ten shots. Similarly, the UAC2 fires in three-round bursts, and so 300 rounds is 100 bursts.

Clown weapons (and the mime weapon) are all unaffected by this change.
2019-06-27 20:03:31 +12:00
4dplanner 69bd3810b2 HoS gun ion mode replaces taser mode (#44216)
* HoS gun ion mode

* Bumps up HoS egun ion cost

* Rearranges hos gun ammo types

* Fixes empulse

Adjusts hos ion to weak level
Fixes weak ion bolt
2019-06-11 10:36:17 -04:00
vuonojenmustaturska fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
ShizCalev dd90023114 Fix alpha somatoray runtime when shooting podpeople (#43177)
randmut() had no params which was causing a runtime. Looking into it further,
this looks to have just been left-over code, since it's all duplicated in
species/on_hit for them anyway.
2019-03-19 23:14:04 -07:00
ShizCalev a26ffb2040 Fixes wormhole projectors for pacifists (#43096)
* Fixes wormhole projectors and gravity manipulators for pacifists

* code cleanup

* didn't mean to push that!

* removes gravgun

* Update code/modules/projectiles/ammunition/energy/portal.dm

Co-Authored-By: ShizCalev <ShizCalev@users.noreply.github.com>
2019-03-14 15:28:03 -04:00
Menshin 8d11af1748 * Fix a runtime on mecha syringe gun hitting that prevented reagent transfer (#42642)
* Reverted some hastily (and wrongly) made changes to prehit() procs
2019-02-04 22:06:15 +13:00
Time-Green 9861efde71 Cryokinesis and Geladikinesis mutations (#42453)
* Adds cryokinesis and renames the cold resistence file to space adaptation

* adds cryokinesis

* fixes icon conflict

is there actually a proper way to fix them thats not copying master and reimplimenting your own sprites?

* fixes a typo and lowers instability of cryokines by 5

* Apply suggestions from code review

Co-Authored-By: Time-Green <timkoster1@hotmail.com>

* maybe reverts line ending?

* unfucks flags?

* probably unfucks line endings

i swear to fucking god why does it even do this. i never even touched the file and reverting it to master doesnt do anything. fuck you git
2019-01-23 15:20:56 -05:00
Menshin 9dabcbbb04 Fixes for projectiles bugs (#42463)
* Bandaid fixes for bugs with reflectors projectiles and plasma cutters

* * Fixed bouncing piercing projectiles on qdel
* Fixed projectiles reflection not working
* Fixed heavy beam pulses not penetrating
* Changed numerous projectiles procs to use the new BULLET_ACT_* format

* Final conversions to new BULLET_ACT_* format
2019-01-23 21:00:11 +13:00
kevinz000 15c9b20ff3 Fixes projectile infinite loops, adds new UNSTOPPABLE movement_type, forcedodge variable on projectiles scrapped (#41915)
cl coiax
fix: Dead monkeys now produce miasma.
/cl

Previously any time there was a dead monkey, it would constantly runtime with incompatible component warnings.
2018-12-16 13:00:44 +13:00
Barhandar c49064bf62 Makes magboots effective in preventing gravitational movement effects, fixes magboots not working for singularity pull, eases the chainstun effect of overcharged supermatter (#41583)
* I'm through accepting limits 'cuz someone says they're so

* Some things I cannot change but till I try, I'll never know!

* Too long I've been afraid of losing love I guess I've lost

* Well, if that's love it comes at much too high a cost!

* I'd sooner buy

* DEFYING GRAVITY

* Kiss me goodbye, I'm defying gravity

* I think I'll try

* DEFYING GRAVITY

* And you won't bring me down

* Unlimited
2018-11-22 18:38:49 -05:00
kevinz000 3e7184c975 Combat/Stun (slip) overhaul staging, mobility flags, adds crawling (#39967)
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.

Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove

cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
2018-10-11 11:22:21 +13:00
imsxz 7b0395d572 Undoes some unneeded nerfs to plasma blasts (#40578)
cl imsxz
balance: plasma cutter turrets have their old damage again
balance: plasma blasts have their dismemberment back
/cl
unneeded nerfs
2018-10-03 10:01:02 +13:00
ShizCalev b1b56e6a5e Adds RPGs to Nuke Ops (#40372)
* Gives Syndies RPGs

* Makes the rocket reusable

* fixed minor sprite issue

* SRM Rocket renamed to HE rocket
2018-09-27 12:47:23 +03:00
imsxz 463a92626c the correct plasma cutter balance change (#40431)
:cl:imsxz
balance: plasma cutter blasts no longer have a pressure penalty, but do 1/4 their old damage
/🆑

Call this an "i ded pls nerf" situation but god damn the only things i've felt more bullshitted by than plasma cutters are the fuckin RNG getting a grenade exploded out of my hand and playing vs unsynced borgs as a rogue AI. Nothing else feels quite as unfair as getting demolished by 15 people all holding 2 advanced plasma cutters, meanwhile the god damn stations actual armory of lethal gear is collecting dust because they're entirely outclassed by cutters against quite a few common threats.

That said, this PR isn't the best change, but neither was tlal's or the other guys. In my opinion, the simplest change that would keep their original purpose(godlike mining tools) while toning down their combat ability would be to just keep their damage really low in general and keep them exclusively made for their mining abilities.

reason kinetic accelerator is fine and not in jeopardy of nerf PR: mostly limited, theres reasonable ways to print more but you cant get them by the hundreds with. 40 brute damage/1.6s with no pressure penalty, 70 brute damage/1.6s generally. Can't be dual wielded effectively.

reason adv cutters are retarded: first mining load can generally print 50-60 adv cutters, more if RND bothered to upgrade anything(most miners end up upgrading their own shit if science doesnt). 28 brute/1s generally, 56/s when dual wielded.

in 3 seconds, an adv cutter can do 168 damage, KA can do 140 at best. Combine this with the fact that you can easily supply every crewmember+crewmembers dog with 2 adv cutters each, shit like blob/xeno(near space most of the time) and other large threat antags that end up getting obliterated by this garbage that they cant even prevent because god knows at least 3 people are dual wielding them already and probably the cargo staff too.
2018-09-24 10:14:20 +12:00
XDTM 3f32f8c110 [Ready]Logs when speech is forced by an external factor (#39964)
* Logs when speech is forced by an external factor

* makes say args uniform

* fix
2018-09-03 11:38:16 +02:00
Time-Green 3f8dbf2b0b Emitter gun mounts (#39367)
* different guns can be inserted into emitters

* fixes portal gun runtime

* You can now switch type through wires

* makes one line more readable

* Fixes being able to grab nodrop guns from emitters
2018-08-01 09:12:45 +02:00
kevinz000 ced24e328d Update wormhole.dm 2018-07-24 00:59:08 -07:00
kevinz000 001325ae15 Update wormhole.dm (#39197) 2018-07-19 22:33:54 -04:00
kevinz000 6e02378758 Portal guns doesn't do anything to mobs anymore (#38886)
It is my belief that science weaponry should exist but not be "just better energy guns/whatever". Right now, portal guns are actually pretty powerful, as their random teleport can space people (especially if they have bohs), and actually does burn damage, albeit very little. I want to make scilathe weapons into useful utility things that can be weaponized if you use it right and in somewhat niche scenarios.
This PR will make wormhole projectors into more utility than combat.
2018-07-17 20:17:38 +12:00
AnturK 87f566585a Fixes gravgun more (#38950)
* Fixes gravgun more

* )
2018-07-10 02:32:25 -04:00
ninjanomnom 059da44453 Converts collide back to bump and fixes double bumping in another way
This is in preparation for step_x support as the default behavior for these procs is necessary for proper functionality.

turf/Enter and atom/movable/Move default code got rewritten to replicate default byond functionality with minor changes.
2018-07-07 11:22:29 -04:00
YPOQ a308cc3740 Fixes temperature/watcher blasts (#38620) 2018-06-20 17:32:47 +03:00
vuonojenmustaturska cde5c2714e Fixes temperature guns to respect armor/dodge (#38243)
* henk

* do these return values even matter?
2018-06-08 13:06:24 +02:00
Tad Hardesty 698a8d92dd Fix some missing icons 2018-05-12 21:51:59 -07:00
XDTM aa782fffd2 [s] Hallucinations 4.0 (#37423)
No ingame changelog cause these are supposed to fool people.

Changes:

    Hallucinations now pick from a single weighted list, instead of being separated in tiers. The more obvious a hallucinations, the less likely it is to appear.
    Hallucination is now a contantly ticking down variable. 1 hallucination = 2 seconds duration. Hallucinating effects have been rebalanced to fit this.
    Hallucinations have a random cooldown ranging from 10 to 60 seconds. The status will still tick down in the meantime.
    The Sounds hallucinations has been split in three: realistic sounds (likely), weird sounds (rare), and station messages (i.e. the shuttle arrived, blob warning, etc.)(also rare).
    The Bolts hallucination now stops you from bumping doors open. You can still click them to open them.
    Removed the singulo hallucination. It's pretty much impossible to make it realistic enough, and it's too widely known to scare someone. It's an annoyance and a definite tell that you're hallucinating.
    Removed the xeno attack for the same reasons. It was kept in the code to serve as a pseudotemplate for hallucination mobs.
    Removed the fake attacker hallucination. Trying to replicate full attack and defense code as well as managing icon generation with blacklists and all is just not worth it. It would never be realistic enough.
    RDS hallucinations have been either rolled into normal ones or removed (the OOC ones). No reason to keep them separate, aside from throwing off the hallucination odds (which has resulted in complaints about the cult victory warning being too common).
    Added/edited a lot of strings for the text-based hallucinations. I could definitely use a few more for the message hallucination, i got writer's block there.
2018-05-10 09:15:46 +12:00
kevinz000 f5ae06565c Splits up projectile files (#36018) 2018-03-04 17:10:46 -05:00