04-10-2018, 09:22 PM
(This post was last modified: 04-18-2018, 07:02 AM by Noah Buttes. Edited 4 times in total.
Edit Reason: divine protection
)
What it is:
A spell made to imitate 5th Edition DnD's spell Prismatic Spray.
What it does:
It sprays out 12 randomly generated projectiles, created by leveraging pre-existing artifact bullet code, in a cone with an opening of approximately 53.15 degrees, which is roughly what the cone AOE in DnD 5e corresponds to.
It's an extremely high variance spell and is not reliable as a primary damage dealer, but can definitely save your hide in a pinch. It currently has a cooldown equivalent to the modern fireball cooldown of 35 seconds.
There's also an admin exclusive version that sprays out any and all types of projectiles in the game in a 360 degree radius.
Why I did it:
I dunno.
Things it needs:
Voice lines for male, female, and necromancer wizmen.
A sprite for the ability icon.
Things it doesn't need:
Functional code.
Demonstration video using varediting to bypass cooldown restrictions and chapel usage restrictions:
Compare:
https://github.com/goonstation/goonstati...maticspray
Diff:
https://github.com/goonstation/goonstati...spray.diff
Patch:
https://github.com/goonstation/goonstati...pray.patch
EDIT:
New icons thanks to Kubius!
Code refactor that does the following:
New feature: standing on the same tile as the target for your cone will now make your projectiles spew out in all directions. This should allow for more strategy as it provides the spell with more flexibility for use as a defensive crowd control tool.
To compensate, the cooldown has been increased by 5 seconds.
Also, the spell now runs the check for random *before* using a for loop. I have no fucking clue why I wrote the checks inside the for loop. As a result, the spell is marginally smoother!
EDIT 2:
Chaplains and wizards with spellpower (have a staff or a specific bioholder trait) are now completely safe from the projectiles generated by prismatic spray.
In the future, if you want to protect chaplains and spellpowered wizards from specific projectiles, set the is_wizardly var in the datum for that projectile to 1.
A spell made to imitate 5th Edition DnD's spell Prismatic Spray.
What it does:
It sprays out 12 randomly generated projectiles, created by leveraging pre-existing artifact bullet code, in a cone with an opening of approximately 53.15 degrees, which is roughly what the cone AOE in DnD 5e corresponds to.
It's an extremely high variance spell and is not reliable as a primary damage dealer, but can definitely save your hide in a pinch. It currently has a cooldown equivalent to the modern fireball cooldown of 35 seconds.
There's also an admin exclusive version that sprays out any and all types of projectiles in the game in a 360 degree radius.
Why I did it:
I dunno.
Things it needs:
Voice lines for male, female, and necromancer wizmen.
A sprite for the ability icon.
Things it doesn't need:
Functional code.
Demonstration video using varediting to bypass cooldown restrictions and chapel usage restrictions:
Compare:
https://github.com/goonstation/goonstati...maticspray
Diff:
https://github.com/goonstation/goonstati...spray.diff
Patch:
https://github.com/goonstation/goonstati...pray.patch
EDIT:
New icons thanks to Kubius!
Code refactor that does the following:
Code:
removes some rare runtimes, makes things much more efficient, handles edge cases such as the target being on the same tile as the caster, and handles mage staves/arcanepower
New feature: standing on the same tile as the target for your cone will now make your projectiles spew out in all directions. This should allow for more strategy as it provides the spell with more flexibility for use as a defensive crowd control tool.
To compensate, the cooldown has been increased by 5 seconds.
Also, the spell now runs the check for random *before* using a for loop. I have no fucking clue why I wrote the checks inside the for loop. As a result, the spell is marginally smoother!
EDIT 2:
Chaplains and wizards with spellpower (have a staff or a specific bioholder trait) are now completely safe from the projectiles generated by prismatic spray.
In the future, if you want to protect chaplains and spellpowered wizards from specific projectiles, set the is_wizardly var in the datum for that projectile to 1.