Skip to content
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

Meteor Events Rework #538

Merged
merged 4 commits into from
Jul 11, 2016
Merged

Conversation

NanakoAC
Copy link
Contributor

@NanakoAC NanakoAC commented Jul 7, 2016

  • bugfix: "Fixed a bug where almost half of all meteors spawned would instantly delete without hitting anything"
    • bugfix: "Meteors that impact energy shields will no longer bug out and spin forever in space"
    • rscadd: "Meteor showers and storms now last a lot longer, and are far more punishing if the station isn't shielded"
    • rscadd: "Meteors are now far more likely to make an audible explosion on impact. Explosion power reduced a bit though"
    • rscadd: "Meteor events now give a three minute advance warning, allowing time to turn on station shield generators"
    • rscadd: "All meteors that impact a shield now make a special sound effect."
    • tweak: "Small and normal sized meteors are now vaporised harmlessly on contact with a shield. Large meteors will explode, but with reduced power"

In addition, a couple of changes to a sound function that are only relevant to developers:

  1. Added a usepressure flag to playsound_local. If false, it will ignore the usual calculations for pressure, and allow sounds to play and be heard normally through a vacuum. I'm using this for shield impact sounds.
  2. Volume is now only set on the sound object after all calculations have been done to reduce it, this prevents it being prematurely capped at 100, and allows you to pass in large values to workaround the bizarre linear distance falloff and play sounds over long distances. This seemed like the simplest, least destructive way to fix things, an alternative approach might require reworking many objects and calls

Reasoning for my changes:

The longer duration is for atmosphere. There's some rare and special moments to be had when the crew is all huddled around the centre ring as the station around is pounded by impacts.

The generally increased damage is to make things more interesting, especially for engineering, and add a bit more excitement to the round instead of meteor showers being a damp squib.

The increased explosion chance is also for interestingness, people only care about things they know about. Meteors that silently poke holes in the hull are only interesting to engineering, and don't really involve the crew. Note that the total quantity of meteor impacts is generally lower.

Advance warning, and increased effectiveness of shields, are to encourage and reward more use of this currently underused mechanic. The new sound effect adds to this, meteors crashing against the shields make quite satisfying thud noises

The overall objective with these changes is to make the event a more interesting part of a round, generate some things for engineering to do, and to encourage more RP moments among the rest of the crew in a time of shared crisis. Nothing resolves social awkwardness quite like explosions


/datum/event/meteor_wave/setup()
endWhen = rand(15,30) * 3
startWhen += rand(-15,15)//slightly randomised start time
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is a negative value here actually safe?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, because startwhen is initialised at a value of 86. This is a modifier of +/- 15 added onto that, so the final result is 71-101

In case you wonder, event timers are done in procs, and as always a proc is 2.1 seconds. 86 procs is roughly 3 minutes

@skull132 skull132 merged commit 29b3203 into Aurorastation:development Jul 11, 2016
@NanakoAC NanakoAC deleted the MeteorShowers branch August 24, 2016 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants