Commit Graph

53 Commits

Author SHA1 Message Date
SkyratBot 89a5f7e7e4 [MIRROR] Fixes the randomly failing unit test that sometimes happens. (#3746)
* Fixes the randomly failing unit test that sometimes happens. (#57266)

* Fixes the randomly failing unit test that sometimes happens.

Co-authored-by: Thalpy <33956696+Thalpy@users.noreply.github.com>
2021-03-01 22:29:21 +00:00
SkyratBot 3a1315edb7 [MIRROR] Move the curse hand's visual effects out of Destroy (and possibly fix the sporadic unit test failure) (#3714)
* Move the curse hand's visual effects out of Destroy (and possibly fix the sporadic unit test failure)

* Update curse.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
2021-02-28 14:36:38 +00:00
SkyratBot b8c2f72733 [MIRROR] moves gun related icons to guns folder (#3568)
* moves gun related icons to guns folder (#57077)

moves ammo icons, projectile icons and hitscan effect icons to guns folder
renames projectile.dmi to ballistic.dmi so its less confusing
moves rcd ammo from ammo.dmi to tools.dmi with the rcd

* moves gun related icons to guns folder

Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-02-22 02:07:33 +00:00
SkyratBot 18eca27569 [MIRROR] update_appearance (#3508)
* update_appearance

* a

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-19 16:08:09 +00:00
SkyratBot 3f72c8b070 [MIRROR] breaching missiles breach windows and rwindows (#3329)
* breaching missiles breach windows and rwindows (#56858)

Co-authored-by: Fikou <piotrbryla@ onet.pl>

* breaching missiles breach windows and rwindows

Co-authored-by: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@ onet.pl>
2021-02-13 00:39:38 +00:00
SkyratBot 5eb385092c [MIRROR] Adds Rocket Backblast (#2617)
* Adds Rocket Backblast (#55681)

This PR adds the backblast element, which when attached to a gun, creates giant plumes of fire when said gun is fired. The PM9 rocket launcher that nuke ops can buy kinda sucks and even a direct hit with the standard rockets loaded isn't enough to guarantee a one-hit crit on a direct hit against an armored opponent, which sucks for how much you pay for it. In that vein, I've also buffed the standard rockets a bit, they now do 50 brute up from 30 on a direct hit, and they create flames on their explosion.

Also makes a tweak to /proc/get_turf_in_angle(), since tile coordinates start at 1,1 instead of 0,0 that proc is now clamped to min 1,1 rather than 0,0

* Adds Rocket Backblast

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2021-01-10 08:35:51 +01:00
SkyratBot 24743f2696 [MIRROR] Refactors Beams to use signals: Revived from 2019 edition! BONUS: Medbeams are also refactored to use signals (#2237)
* Refactors Beams to use signals: Revived from 2019 edition! BONUS: Medbeams are also refactored to use signals (#55193)

Huge removal of dead vars, bad timers, and other sloppy jitteriness from beams. They go from checking movement to waiting for a signal.
VARIABLE KILL LIST:

sleep_time: signals baby
finished: signals BAYBEEE
target_oldloc: not only not typecasted as a turf or named as a turf, it was unused. when are we going to use this? the beam starts from the origin!
origin_oldloc: bad name, not typecasted. renamed to originturf
static_beam: how are you an unused variable and still get replaced by signals like really
timing_id: signallllss bbbaaaabbyy
recalculating: you get the drill by now signals baby
base_icon: unused, seemingly replaced by visuals I think

* Refactors Beams to use signals: Revived from 2019 edition! BONUS: Medbeams are also refactored to use signals

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2020-12-19 04:42:09 +01:00
SkyratBot afce3e2a94 [MIRROR] pass_flags handling refactor + rewrites a part of projectiles for the n-th time (#2097)
* pass_flags handling refactor + rewrites a part of projectiles for the n-th time (#54924)

Yeah uhh this'll probably need testmerging even after it's done because yeah it's a bit big.
If y'all want me to atomize this into two PRs (pass flags vs projectiles) tell me please. Pass flags would have to go in first though, in that case, as new projectile hit handling will rely on pass_flags_self.
Pass flags:

Pass flags handling now uses an atom variable named pass_flags_self.
If any of these match a pass_flag on a thing trying to pass through, it's allowed through by default.
This makes overriding CanAllowThrough unnecessary for the majority of things. I've however not removed overrides for very.. weird cases, like plastic flaps which uses a prob(60) for letting PASSGLASS things through for god knows why.
LETPASSTHROW is now on pass_flags_self
Projectiles:

Not finalized yet, need to do something to make the system I have in mind have less unneeded overhead + snowflake

Basically, for piercing/phasing/otherwise projectiles that go through things instead of hitting the first dense object, I have them use pass_flags flags for two new variables, projectile_phasing and projectile_piercing. Anything with pass_flags_self in the former gets phased through entirely. Anything in the latter gets hit, and the projectile then goes through. on_hit will also register a piercing hit vs a normal hit (so things like missiles can only explode on a normal hit or otherwise, instead of exploding multiple times. Not needed as missiles qdel(src) right now but it's nice to have for the future).

I still need to decide what to do for hit handling proper, as Bump() is still preferred due to it not being as high-overhead as something like scanning on Moved(). I'm thinking I'll make Moved() only scan for cases where it needs to hit a non-dense object - a prone human the user clicked on, anything special like that. Don't know the exact specifics yet, which is why this is still WIP.

Projectiles now use check_pierce() to determine if it goes through something and hits it, doesn't hit it, or doesn't go through something at all (should delete self after hitting). Will likely make an on_pierce proc to be called post-piercing something so you can have !fun! things like projectiles that go down in damage after piercing something. This will likely deprecate the process_hit proc, or at least make it less awful.

scan_for_hit() is now used to attempt to hit something and will return whether the projectile got deleted or not. It will delete the projectile if the projectile does hit something and fails to pierce through it.

scan_moved_turf() (WIP) will be used for handling moving onto a turf.

permutated has been renamed to impacted. Ricocheting projectiles get it reset, allowing projectiles to pierce and potentially hit something again if it goes back around.

A new unit test has been added checking for projectiles with movement type of PHASING. This is because PHASING completely causes projectiles to break down as projectiles mainly sense collisions through Bump. The small boost in performance from using PHASING instead of having all pass flags active/overriding check_pierce is in my opinion not worth the extra snowflake in scan_moved_turf() I'd have to do to deal with having to check for hits manually rather than Bump()ing things.
Movement types

UNSTOPPABLE renamed to PHASING to better describe what it is, going through and crossing everything but not actually bumping.
Why It's Good For The Game

Better pass flags handling allows for less proc overrides, bitflag checks are far less expensive in general.

Fixes penetrating projectiles like sniper penetrators

This system also allows for better handling of piercing projectiles (see above) without too much snowflake code, as you'd only need to modify on_pierce() if you needed to do special handling like dampening damage per target pierced, and otherwise you could just use the standardized system and just set pass flags to what's needed. If you really need a projectile that pierces almost everything, override check_pierce(), which is still going to be easier than what was done before (even with snowflake handling of UNSTOPPABLE flag process_hit() was extremely ugly, now we don't rely on movement types at all.)

* pass_flags handling refactor + rewrites a part of projectiles for the n-th time

Co-authored-by: silicons <2003111+silicons@users.noreply.github.com>
2020-12-09 23:44:54 +01:00
Gandalf e360369041 Plasma cutter refactor [NON-MODULAR] (#2022)
* Update plasma.dm

* Update plasma.dm

* Update code/modules/projectiles/projectile/special/plasma.dm

Co-authored-by: Azarak <azarak10@gmail.com>

* Update plasma.dm

* Update code/modules/projectiles/projectile/special/plasma.dm

Co-authored-by: Azarak <azarak10@gmail.com>

* Update code/modules/projectiles/projectile/special/plasma.dm

Co-authored-by: Azarak <azarak10@gmail.com>

Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-03 18:26:30 +01:00
SkyratBot a25041431b [MIRROR] Humans have more complicated body temperatures (#1825)
* Humans have more complicated body temperatures (#54550)

This changes how carbon/humans stabilize body temperature, and changes how damage and wounds are applied based on temperature.

Humans now have a core body temperature along with body temperature. The core temperature is used for natural stabilization and what viruses like fever and shivers target by raising or lowing the core temperature of the mob.
The standard body temperature still exists and acts exactly the same for most items at this time but is now treated as surface temperature in humans.

Damage from body temperature for humans is now based on the core temperature instead of body temperature now.
Humans will now receive burn wounds when the body (surface) temperature is to high for to long.

This causes you to see alerts for the area temperature before you take damage in most cases improving visibility of dangerous situations.

* Humans have more complicated body temperatures

Co-authored-by: NightRed <nightred@gmail.com>
2020-11-25 13:56:04 +01:00
SkyratBot e52038974a [MIRROR] Foam darts and other unembeddable bullets will no longer leave ghost shrapnel (#1796)
* Foam darts and other unembeddable bullets will no longer leave ghost shrapnel (#54994)

Projectiles are assigned the ability to try embedding by the presence of a shrapnel_type variable being set on them, whether or not they actually have a set of embedding stats in their embedding var. By default, children of /obj/projectile/bullet have a shrapnel type set to a generic embedded bullet item, including things like foam darts and lollypop projectiles which shouldn't be able to embed (and certainly not embed as a bullet). While they had their embedding vars set to null, they still had their shrapnel_type set to the embedded bullet type, meaning shooting a person with a dart gun or whatever would leave a failed shrapnel item on the ground where they weren't supposed to.

This fixes that by requiring both a defined shrapnel_type AND a defined embedding var for the embedding stats. Any projectiles without both won't be able to try embedding. I also manually put 'shrapnel_type = null' on any bullet subtypes with embedding = null just to be safe and for consistency.

* Foam darts and other unembeddable bullets will no longer leave ghost shrapnel

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2020-11-24 08:34:46 +00:00
SkyratBot cd0d700a85 [MIRROR] Mecha refactor 2020 (#579)
* Mecha refactor 2020

* Update effects.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-02 02:16:51 +02:00
SkyratBot 3bd294f26f [MIRROR] Defines damage flags. (Hopefully without 50+ commits) (#491)
* Defines damage flags. (#53158)

* Defines damage flags. (Hopefully without 50+ commits)

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-08-24 22:52:31 +02:00
SkyratBot d3f6e8d49f [MIRROR] Explosions SS runtime fix + code cleanup (#461)
* Explosions SS runtime fix + code cleanup (#52894)

* runtime fix

* turf references are immortal

* Explosions SS runtime fix + code cleanup

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-21 21:30:43 +01:00
SkyratBot 035aebc2a2 [MIRROR] Diagonal macro thingu (#407)
* Diagonal macro thingu (#52927)

* Diagonal macro thingu

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-08-19 04:53:44 +02:00
SkyratBot d44362146e [MIRROR] repaths neurotoxin + embedding changes in bullets + adds effects when you shoot energy weapons (#132)
* repaths neurotoxin + embedding changes in bullets + adds effects when you shoot energy weapons (#52543)

* how

* Update alien_powers.dm

* adds impact effects, makes thinks that shouldnt embed not embed

* rogue pixel moment

* repaths neurotoxin + embedding changes in bullets + adds effects when you shoot energy weapons

Co-authored-by: Fikou <piotrbryla@onet.pl>
2020-07-31 00:24:09 +02: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
Iamgoofball a3aa69701a [READY] Basically, Instant Explosions 2: The Search For More Money: Eternal: A Tail Of Two Kitties: 33 1/3 (#50594)
About The Pull Request

Extools maptick stuff is in the game. Stolen from BeeStation/BeeStation-Hornet#1119, improves performance. Requires ex-tools on the server, though.

Explosions have been refactored to do the actual exploding in a subsystem.

Credit to goon.

Here's some videos!

Why It's Good For The Game
Basically instant max-caps now.
We can now give more of a tick over to the sending of map updates

Changelog

cl Goonstation Coders, Beestation, Extools devs
refactor: Explosions have been heavily optimized.
/cl
2020-04-30 10:27:53 +12:00
ArcaneMusic dc89ef0239 Turbotany version 1.2 (#50513)
* EVERYTHING. Check the changelog.

* Minor species change, spade fits on plant belt.

* Local man blind, news at 11.

* Longrange pollenation, and fixes pill composting.
2020-04-21 02:12:49 -07:00
Emmett Gaines 2cf7728494 Removes the bitflag helpers (#49106) 2020-02-03 16:26:00 -05:00
nightred 5be9559eef Temperature projectiles respect insulation (#48912)
About The Pull Request

Guns, Spells, and mobs that use temperature based projectiles got an update so that the projectile must deal with insulation when applying temperature changes.
The more insulation you have the less body temperature change you will take.

This does not change how much damage you take from a projectile.

The projectiles have been updated from the temperature to be set as, to the amount of change they can do.
The old security temp gun would always set the body temp to 100 kelvin, now each shot tries to reduce your body temp by -50 kelvin before insulation. The reverse is also true for temp projectiles that heat you up.

This does mean that naked you will take more body temp loss, and in a hard suit you have almost no temp change. (hardsuits do protect you from space cold so this follows)

edit: this does not touch cryo sting, that uses frost oil.
Why It's Good For The Game

Better handling of temperature shots.
Insulation matters in combat.
Cold blooded creatures are better off with good insulation.
Changelog

🆑
balance: Temperature based projectiles respect insulation
/🆑
2020-01-23 13:21:25 +13:00
MrPerson e22560a346 update_icon() improvements (#48669)
* update_icon() improvements

Fixes some update_icon() calls to properly call parent and use update_overlays() and update_icon_state().

The rest of obj/item fuck it

* Suggested fixes, also passes the linter

* I always forget . = ..() is faster than return ..() FOR SOME FUCKING REASON

* Actually this is better

* Signilzes datum/action to update its icon when its connected item does.
2020-01-11 23:46:43 -05:00
spookydonut 4e8ff18b07 Fix Travis grep script to use PCRE to actually match things (#47065)
Several of the greps were missing the `-P` switch which caused them to 
fail to match things. The EOL grep also wasn't working right so I 
replaced it with the one I added to TGMC.
2019-10-19 10:21:05 -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
nemvar a148cae769 Kills obj/item/projectile in favour of obj/projectile (#46692)
* Kills obj/item/projectile in favour of obj/projectile

* Resolves conflicts properly

* fixes that one map

* it lives
2019-10-06 13:37:24 -04:00
Rob Bailey 2029163d33 playsound vary boolean define conversion (#46254)
About The Pull Request

Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls

This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE

I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game

Code usability
2019-08-30 18:45:20 +12:00
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