Commit Graph

191 Commits

Author SHA1 Message Date
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
vuonojenmustaturska
3f582454a8 Minor speedups to movement: First Blood Part 2 (#32702) 2017-11-14 18:59:45 -02:00
FrozenGuy5
5294c48be1 Adds alot more initialize() part two 2017-11-12 10:56:33 +00:00
nicbn
a38605414e overhaul (#32316) 2017-11-04 00:40:21 -04:00
Cruix
b86b5523be Fixed projectile runtimes (#31973) 2017-10-21 14:19:06 +02:00
kevinz000
b97531d130 fixes gibtonite instant hitting , projectile double hitting - not entirely my fault (#31891)
* Update projectile.dm

* Update projectile.dm

* Update projectile.dm
2017-10-20 22:20:00 +02:00
kevinz000
b3c610cbf0 Update projectile.dm (#31893) 2017-10-19 21:14:01 -04:00
Leo
c1450bbdc1 Merge pull request #31809 from ShizCalev/helper-cleanup
Cleans up some istypes not using helpers
2017-10-17 22:20:42 -02:00
kevinz000
51dfbfe03b Fixes vehicles granting projectile immunity and YET AGAIN reworks projectile targetting priorities (#31660)
* Update projectile.dm

* fixes projectiles
2017-10-17 21:50:17 +13:00
ShizCalev
721df8dacf Cleans up some istypes not using helpers 2017-10-16 15:30:30 -04:00
kevinz000
64851d819a Moves projectile processing to a subsystem (#30599)
ITT worst coder tries not to break everything and improve the code.
fixes #29211
🆑
refactor: Legacy projectiles have been removed. Instead, all projectiles are now PIXEL PROJECTILES!
rscadd: Reflectors can now be at any angle you want. Alt click them to set angle!
/🆑

Also lets just
fixes #18133
because the shortest path from point A to B is a straight line, when projectile ranges are "number of times moved/processed" ofcourse it's going to be shorter if you fire diagonally. It will be a problem as long as range is done like that or if range are in "pixels/tiles" moved without outright using get_dist.
2017-10-16 15:50:42 +13:00
nicbn
0fa8587f83 Bullet decals tweak (#31420)
* wee

* screen clock update

* resist and stop pulling

* Whoop, Joan messed up on the selection border so here's some fixed icons for that

* there we go

* Update walls.dm

* Update walls.dm

* Update walls.dm
2017-10-13 10:46:45 -04:00
Jordan Brown
189ed58a42 Merge pull request #31494 from MrStonedOne/tick_contention_tug_of_war
In which the stoner one gets stoned and tries to address tick contention... again
2017-10-10 14:27:59 -04:00
GLACoding
5289eac99d Syndicate turrets (and other machines in walls) can now be hit by projectiles. Also reworks target priorities. (#31012)
* Projectile code additions

* Adds !prehit checks and corrects the check for energy cannon spam

* Adds checks for machines and structures to stop double hitting

* JJRcop Requesting Fixes #1

* JJRcop Requested Fixes #2

* Fixes projectiles unable to hit mobs in machines

* Adds in a new proc select_target, and rewrites some bits

Fixes projectiles double hitting when targetting machines with mobs on them, also makes it so weapons with forcedodge can hit targets inside walls.

* AnturK requested fix #1
2017-10-10 21:28:04 +13:00
MrStonedOne
c8bb13d7c2 In which the stoner one gets stoned and tries to address tick contention... again
Tick contention is when the mc, sleep()/spawns(), and byond internal processing fight each other for game tick time. Usually in an unproductive way that wastes cpu cycles and reduces the effective amount of game tick to go around.

Tweaked the anti-tick contention heuristics of the MC a touch.

Fixed an incorrect operator in the mc's anti-tick contention heuristics causing it to apply in times of no lag rather then times of lag.

The mc's anti-tick contention heuristics now plays better with the high pop processing mode.

We no longer reserve the tail end of a tick for the mc to have if the mc doesn't plan to run next tick because of high pop mode or anti-tick contention heuristics.

stoplag() can now be given an initial delay allowing it to act like a smarter sleep (in that it sleeps for longer if the server is overwhelmed.

All short sleeps that only existed for performance reason and had no game play, visual/audio, or balance reasons behind their timing were converted to stoplag().
2017-10-09 01:21:43 -07:00
kevinz000
12b845fcd4 Update projectile.dm (#31180) 2017-10-05 08:50:42 +13:00
KorPhaeron
cc309236d9 ismecha define (#31192) 2017-10-02 02:03:40 -04:00
Jordan Brown
4178c209f1 Configuration datum refactor (#30763)
* Configuration datum refactor

* More WIP

* New easier on the eyes format

* More WIP

* Finished config.txt

* Fucktons more WIP

* The end of conversion draws near...

* Add all this shit

* Done converting entries finally

* Hunting down compile errors

* More WIP

* MORE CONVERSIONS

* More WIP

* More WIP

* Oh shit only 90 errors this time!

* IT COMPILES!!!

* Fixes world start runtimes
2017-09-29 15:36:51 +13:00
ShizCalev
5d91844926 Fixes suppressing weapons in your bag / pocket (#30894)
* Fixes suppressing in pocked and w_class issues

* Used defines for some things

* Reworded

* Removed the now redundant initial_w_class var

* Early returns

* Null
2017-09-26 11:19:00 +02:00
ShizCalev
39380d5b03 Removes old debug text 2017-09-19 18:56:39 -04:00
Ian Turk
7460f2c5b8 Replaced flags with flags_1 2017-08-16 13:01:15 -06:00
Jordan Brown
dce49b6caf Adds defines for mouse_opacity 2017-08-14 11:18:22 -04:00
Cyberboss
662cfd37da Merge pull request #29412 2017-07-30 20:54:44 -04:00
Joan Lung
522a8d6a95 Projectiles with non-angled sprites will no longer uselessly create and set a matrix (#29430) 2017-07-24 09:49:40 +02:00
Joan Lung
c1512653f5 Colossus's shotgun is now a static-spread blast of 5 bolts 2017-07-20 19:18:36 -04:00