New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Heavily WIP]Gravity generators: NOW IN CARDINALS! #23850
Conversation
/datum/subsystem/gravity/proc/recalculate_atoms() | ||
processing = list() | ||
var/before = world.time | ||
for(var/atom/movable/A in world) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
:(
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can I justify this with the fact that apparently it takes 0 ticks to do so..?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
heavily doubting that.
also regardless, these two loops need CHECK_TICK
at the bottom of them, to mitigate whatever costs they have.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DEBUG: RECALCULATION TOOK 0 TICKS!
recalculate_atoms returned: null
(E) (C) (M) processing = /list (2081)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it should be world.time - before, otherwise your values would be negative.
also taking no ticks doesn't mean it isn't eating up the entirety of the tick it does run in.
and also world.time isn't -exactly- ticks
throw_everything() | ||
|
||
/datum/subsystem/gravity/proc/stun_all_mobs() | ||
for(var/mob/living/carbon/C in world) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mob_list
oh
rite.
well, now I see the tool of all the traitormalf AIs. get engiborg to hack gravgen, flood deathmix. |
God setting it to east/west over and over would murder everyone on box because of how heavily populated the escape hallway and the front of bridge are. |
It seems you won't be able to cycle it any faster than you can disable/enable gravgen though. |
That might change but it will not be fast enough to be used in combat unless you time it very well. |
Do you take damage when you 'fall'? It stands to reason that if the floor was suddenly 100 feet below you, it'd hurt. |
@Buggy123 if you hit a wall you take standard wall damage but it feels too mean to scale it based on distance as you'd end up with people getting instakilled. |
ok do we want a nearly lagless system that only works with z-level 1 and only works with the ENTIRETY of z-level 1 and ONLY supports drifting and throwing |
o_ranges it's not stale REE :( |
👎 until mobs are rotated so they look like they're walking on walls |
looks stale to me |
@kevinz000 please make a new pr or reopen this when it's actually ready for review. |
Glad this is being developed. It will be fun as balls. |
For this to be viable I need to test and retest and make sure this doesn't lag as horribly as I think it will.
The general idea is that you'll be able to do x to a gravity gen to hack it, which allows you to change its direction to north/south/east/west, which will throw everything in that direction and make everything drift towards that direction at high speed, as gravity will be in that direction.
Basically, you have a better reason to protect the goddamn gravgen.
What x is was going to be an emag but apparently that's bad because it's a universal key and I kinda agree, so ideas would be great.
To change directions it would need to completely power cycle to disabled and back online again, as it actually sets the direction upon it going online.
https://tgstation13.org/phpBB/viewtopic.php?f=9&t=9531&sid=1bb0a543f1b04882f712168f56e9fb4a