Commit Graph

215 Commits

Author SHA1 Message Date
KomradeSpectre
db878e848b Adds a new element, Self-Knockback. (#47938)
* Adds a new element, Self-Knockback.

* Squashes a potential edgecase runtime in projectile_selfknockback before it can even happen.

* Allows item_selfknockback to interact with dense turfs now.

* Made self-knockback utilize the Element Bespoke flag to allow custom force and speed values on attachment.

* fixes newline issue, adds a usage comment.

* fixes the newline issue in self-knockback for real this time, thanks TortoiseGit.

* i swear on god almighty if this doesn't fix the newline issue, i'll eat a shoe.

* Testing newline lint
2019-11-25 21:34:14 +00: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
nemvar
1ead3e8ae7 Fixes morph movement and replaces magic numbers. (#46358)
* fixes morph speed shizz

* fixes morph movement
2019-09-06 16:23:28 -07: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
kingofkosmos
c3ea51908d Adds "you" to local visible_messages (#45631)
* adds "you" to some combat visible_messages.

* more you-messages and attack verbs to present tense.

* small fixes

* more additions and small fixes

* few message tweaks

* Fixes a typo and few other wordings.
2019-08-06 02:15:34 -07:00
py01
353ef81789 Magic projectile fixes (#45484)
* magic projectile changes

* fixes var path

* undoes magic changes

* magic proj changes

* am checkchaange

* removes bad refactor

* proper am check on mag missile

* locker staff fix
2019-07-27 19:58:58 -07:00
zxaber
aaaee29a63 [READY] Re-works the Durand ability (#45144)
* Woo shields

* reshuffle, adding a sound

* Re-organizing

* better defines for the signals I had

* new stuff

* fixes

* Replaced all instances of "defence" with defense"

and other small changes.

* oof

* spelling, and a forgotten check

* you, upgraded, improved, yes
2019-07-27 02:06:33 -07:00
Whoneedspacee
03f7432511 New RPGLoot Affixes + Component Additions (#44188)
* knockback component can now be reversed, has projectile and gun handling, and hostile simplemob handling

adds signals for hostile mobs attacking, altering projectiles before firing, and for when projectiles successfully hit their target

moves knockback handling to a general proc

adds ishelpers for guns and projectiles

* no more weird projectile handling it can just not apply the effect if the component somehow goes away

lifesteal actually works now instead of being a blank file, applies a flat healing effect when you hit something

* fixes up comsig stuff

adds new components to the fantasy prefix and suffix

knockback now handles throwing anchored objects

lifesteal now properly heals the target with projectiel weapons

adds summoning component to handle mob summoning with item attacking and such

adds fired_from variable to handle what a projectile was fired_from, firer would be the mob that fired and fired_from would be the gun, in the case of an autoturret, fired_from and firer would be the same

adds shrapnel component, fires projectiles around a fired projectile when it hits

adds igniter component to set attacked mobs on fire

* no more shrapnel on items that can't use it

summoning items now summon at least one mob maximum

adds specific weighted projectile types for shrapnel to prevent broken options being picked

removes the reverse var from knockback component and instead just handles negative thrown turf
2019-06-03 11:00:12 +12:00
vuonojenmustaturska
6a106bc877 Remove reagent ids and use typepaths where applicable (#44166)
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
2019-05-31 21:57:26 +12:00
zxaber
3fdd7746ef Deflection tweaks with the MK-I Ripley in mind (#43304)
* (deriuqer) yrammuS

* Also this

* Guess I'll do it this way, then

* You can hit the arms now, too

* Update code/game/mecha/mecha.dm

requested by ShizCalev, committed by Zxaber

Co-Authored-By: zxaber <37497534+zxaber@users.noreply.github.com>

* Update mecha.dm

* commited a comment
2019-04-02 20:59:57 +02: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
kevinz000
5d4143f923 Emergency projectile fix #42544
Okay, oranges was right and I'm stupid.
Stops the server from crashing from a beam rifle, jesus.
2019-01-28 20:22:32 +13: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
7370de6961 Fixes projectiles not hitting people resting, a bit of refactoring of how projectile target collision is done (#42241)
* Fixes projectiles not hitting mobs, some refactoring too

* some stuff for projectile can hit target to work with not being ontop of an object

* Yeah let's just refactor bullet_act while we're at it.

* Yeah let's just refactor bullet_act while we're at it.

* Yeah let's just refactor bullet_act while we're at it.

* CanPass returns true to projectiles regardless of hit

* snakecase?
2019-01-19 11:17:42 +13:00
kevinz000
848814b308 Projectiles no longer hit people buckled to the firer, or things the firer is directly buckled to (#41920) 2018-12-27 11:54:39 -08: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
kevinz000
000edc42bb @guyon now it will 2018-12-12 09:09:04 -08:00
kevinz000
7c8b8a9317 Update projectile.dm 2018-12-12 04:41:33 -08:00
kevinz000
8e271cd4a9 Update projectile.dm 2018-12-12 04:31:52 -08:00
ExcessiveUseOfCobblestone
ef44943f61 KA and Beam Fix 2018-11-30 19:43:29 -05:00
kevinz000
0f86befdd1 Crawling people who aren't full-stunned (able to use items or move) now get hit by projectiles (#40931)
Oof, how did I think this was a good idea..
2018-10-25 00:38:10 +13: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
AnturK
d14a829803 Change projectile firer var to any movable (#40100)
Fixes turret logging runtimes.
Also some related projectile changes.
2018-09-05 23:03:30 -07:00
Patrick Chieppe
2c8248575a Logging system refactor and improvement (#39521)
* Refactor several log lines to use datum_info_line and atom_loc_line

* Add default return strings from datum_info_line and atom_loc_line

* Add parentheses around atom_loc_line data

* Change more logs to use atom_loc_line

* Add check in atom_loc_line for turfs to avoid calling get_turf on them

* Re-add removed 'at'

* Replace datum_info_line with key_name and atom_loc_line with loc_name

* Refactor logging functions

* Avoid double-logging self-interactions

* Fallback to simple stringification if all else fails in key_name()

* Rewrite muscle spasm logging to use log_message

* Standardize logging of martial arts

* Tweak individual logging panel look

* Fix individual logging panel source

* When I typed || I really meant &&

* Fix Telecomms logging always showing client logs in the panel

* Reverts addition of buggy ownership log to panel

* Remove colon

* Fix missing log_directed_talk tag

* Add warning for missing type in log_direted_talk

* Change warnings to stack_traces

* Add square brackets around fallthrough key_name() case to help parsing

* Allow atom arguments/src in log_*() functions

* Change log_combat call with null argument to log_message

* Change mecha types' log_message() arguments to match atom and mob version

* Add key_name() case for atoms

* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it

* Fix log_globally logic

* Add logging for hitting objects with items

* Move log_combat() to atoms.dm

* Use utility functions for object stringification in log_combat()

* Use utility functions for object stringification in log_combat()

* Add missing logs for interacting with display cases

* Rewrite log_combat() comment

* Add missing space in log_combat()

* Add logging for hitting grilles barehanded

* Add missing ..()
2018-08-12 21:41:09 +02:00
kevinz000
b0db3dece0 Fixes performance issues 2018-07-21 12:37:59 -07:00
kevinz000
0397cbb877 Refactors projectile pathing (gameplay change, this will make projectiles more accurate in their linetracing), hitscan light effect improvements (#38933)
cl
experimental: Hitscanning tracers now have lighting effects
experimental: Projectile pathing has been changed - instead of moving to a turf 32 pixels forward using byond's built in step_towards() proc, it now increments 2 pixel 16 times (subject to change). While this will increase the processing overhead, this will more or less eliminate cases of "projectiles clipping past corners in some angles but not others".
2018-07-20 11:32:13 +12: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
vuonojenmustaturska
9c0b5fa881 Turn /datum.isprocessing into a datum flag (#38193) 2018-06-05 15:59:46 -07:00
vuonojenmustaturska
c65a99f130 Move NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 to item_flags where they belong (#38171)
* (mostly) nodrop

* (mostly) dropdel

* (mostly) abstract

* nobludgeon

* things i missed

* forgot one

* unintended changes

* energy handcuffs
2018-06-01 11:36:31 +02:00
Dennok
7a8ce417a0 Reflect fix (#37964)
Reflectors reflect at expected angles at long distances.
2018-05-28 00:00:04 -07:00
vuonojenmustaturska
a6c9a2280f Merge pull request #36617 from ShizCalev/logging-cleanup
Improves some logging legibility
2018-03-27 20:56:39 +03:00
kevinz000
ca10fa6d7a Spell Cards (#36147)
Adds spell cards. They're a wizard spell that shoots a burst of 5 semi-accurate homing cards.
Projectiles now have a homing framework, complete with some variant of simulated inaccuracy.
The said wizard spell will make use of a new mob component, that allows that mob to select targets by moving their cursor near them. It will give a visual and lock onto the nearest mob to the cursor, allowing the homing projectiles to target on the locked on mob/object.
Removes colliding variable from projectiles - We never used it after Bump was refactored to Collide.
Images soon when I get the lockon datum-components to work.
2018-03-23 09:39:26 +13:00
ShizCalev
79b59c5471 Improves some logging legibility 2018-03-21 23:37:00 -04:00
Ian Turk
fbe5f4a062 Replaced body zone magic strings with defines 2018-03-19 15:44:51 -05:00
kevinz000
4f2d98b27e Projectiles delete on invalid turf (#36073) 2018-03-09 09:25:49 +01:00
kevinz000
9063022270 Fixes Hitscans 2018-02-23 01:45:04 -08:00
kevinz000
c3060022a7 [READY]Fixes hitscan beams going across the station, hitscan projectiles now properly cross zlevels and generate beams. (#35344)
* Cross Z support

* Fixes projectile cross-Z

* removes unnecessary code

* don't draw impacts if you're not impacting

* fix

* unneeded var

* No mapcheck()ing anymore, space does it for us 2.0
2018-02-18 02:41:25 +02:00
Dax Dupont
221374e10b Reflectors now reset the range of a projectile like before! (#35726)
* Reflectors now reset the range of a projectile.

* how about dem apples
2018-02-17 14:17:11 -05:00
kevinz000
26ad237862 Projectile hitscan refactor and visuals (#34363)
Moves beam rifle snowflake code up to projectile level for a proper hitscan system.

🆑
rscadd: Chameleon laser guns now have a special firing mode, activated by using them in hand! Only certain gun disguises will allow this to work!
/🆑
2018-01-30 09:23:51 +13:00
kevinz000
f7f5457ac2 Object Armor Penetration 2018-01-06 02:23:43 -08:00
kevinz000
493321003f Vector Projectiles 2017-12-19 18:05:49 -08:00
Emmett Gaines
25080ff2c4 defines math (#33498) 2017-12-17 11:02:11 -05:00
kevinz000
1ea831b0a9 Fixes nulls (#33440) 2017-12-11 12:30:13 -05:00
deathride58
08504355d4 Adds support for non-1:1 screen ratios (Doesn't add widescreen) (#32950)
* adds support for non-1:1 screen ratios for fullscreen overlays

* prevents future copypasta, adds widescreen support to clickcatchers

* oops, makes it actually compile

* HOPEFULLY makes it actually compile, makes projectiles and mouse_angle_from_client support widescreen

* i need shittier shitcode

* !!!HOPEFULLY!!! fixes the screen fuckery

* Fixes compiling errors. Tested locally, it seems like it works

* fixes runtime in mouse_angle_from_client

* Fixes non-1:1 TGUI runtimes for borgs and ghosts

* adds actual defines for fullscreen overlay resolution

* makes varediting view call change_view to make clickcatcher regenerate proper

* testmerge toggle widescreen verb and fixes vving view

* FUCK - fixes test verb to properly use change_view, so clickcatchers regenerate and such

* fixes parallax runtimes - how'd i miss this

* removes debug verb
2017-12-05 20:45:47 -05:00
kevinz000
9c8f31657a fixes ricochets not resetting range 2017-11-28 00:44:26 -06:00
Emmett Gaines
7c69cdcb8a Revert math (#33059)
* Revert "all this wrapping and it's not even christmas (#33035)"

This reverts commit faaf151580.

* Revert "fuck me for forgetting to graph this one"

This reverts commit 45d7acea2f.

* Revert "defines math"

This reverts commit 2817a1737b.
2017-11-23 20:59:52 -05:00
Emmett Gaines
faaf151580 all this wrapping and it's not even christmas (#33035) 2017-11-23 10:43:59 +01:00
ninjanomnom
2817a1737b defines math 2017-11-22 17:36:58 -05:00
ShizCalev
8eafaccc88 Cleans up unused code 2017-11-20 00:03:33 -05:00