PK Anomaly Modkits#367
Conversation
Taken mostly from reactive anomaly armor's code
Taking from any of the dimensional themes, as it turns out, fucks you over via uranium or some similar dangerous dimensional shifts. Borrowing from the reactive armor theme system allows it to be safe, though it also includes the barricades.
It kinda sucked, down to the concept. As fun as it is to do the dimensional anomaly fuckery with a PKA, it just doesnt fit the job, and has too much griefing potential.
|
These sounds interesting, however I have to ask if and how they will affect PVP, and what the heck does the Geist specifically do? |
|
Last thing id want is someone getting smitten with lightning 600 times by duel repeaters. |
For the most part, PvP should be unaffected, though there is certainly a concern with the lightning. My argument is that, at the point where you are getting anomaly core refinement and inter-departmental interaction, and you are in a role where you need to do PvP, there are far easier, more effective, and less trackable options. Additionally, the lightning is not very strong, only acting as an addendum to the PKA's damage, rather than the primary source of it. Also- it can pretty easily be dodged. There's a second of delay with a clear telegraph, it's plenty of time to move out of the way. As for the Geist Projector, it applies the haunted modifier to nearby objects, causing them to be flung at the target. The idea is that it allows the random lavaland rocks and uncollected ores to do something neat by being flung at enemies. Just some fun environmental interaction, but the throw damage isn't really very high, acting similarly to the lightning as a means of throwing on a bit of extra damage, more than the regular damage modkits but not overpoweredly so. Overall, this is somewhat experimental in nature, and only in further testing will I be able to get the full implications of what the different upgrades do, but I don't think they're actually very strong outside of PvE, especially compared to some of the other things that roles like security or antags have access to. |
|
Well, I believe the best kind of testing is live environment testing, so I do believe the only way to tell for sure if to test it on live. However I would appreciate videos of the mod kits being used, as the screen shots certainly leave a lot up for confusion. If i had known it was staff of storm style lightning my concerns would be null. |
|
I should specify- the Geist flinging isn't immediate. The objects float at the target slowly before throwing themselves and becoming unpossessed after the timer lets up, unless sustained by firing more. Much like the lightning, it's plenty avoidable in PvP, and its damage isnt overpowered in PvE. |
Sure! Give me a bit, I can throw in some recordings. |
|
Oh also i suppose that while its probably minor... do flux mods have a stacking cap? |
Nope! And while that probably sounds busted, keep in mind that for every flux mod you have to have research do ANOTHER anomaly compression, and the damage is honestly negligible. Again, there are things more worth your time. |
|
Okay - somehow I overlooked that the haunting status can also throw stuff at players. Making a fix right now, will push when its done. |
|
Alright! Geist projector - now poltergeist projector - updated and fixed, and a demo video is uploaded. |
|
Flux damage mod kit adds the same damage as a regular damage modkit, just figured it should be pointed out |
|
oh and one last technical question, what happens if / when these mods get stacked? are they all stackable or are some single instance only? This is less a balance question, and more a "plz dont runtime" question |
I've tested multiple stacks of all of them, and they function about how you'd expect. I noticed no performance drop with multiple lightning copies and similar effects, either. |
|
(Though, admittedly, throwing on multiple stacks of some of them is kind of pointless. Which is fine to me.) |
| KA.trigger_guard = TRIGGER_GUARD_NORMAL | ||
| ..() | ||
|
|
||
| //OCULIS EDIT ADDITION START - ANOMALY_KITS |
There was a problem hiding this comment.
move this to its own modular files please
As much as ridiculous stacking shenanigans would be fun, the amount of ordnance that would be done for it is a bit much. I don't want to encourage excessive ordnance work, because I'm sure all the shaking and explosions would get annoying after too much. The limit should also help the modkits feel a bit more unique, rather than being yet another type of mod you just stack a bunch of.
| for(var/turf/open/adjacent_turf in oview(1, target)) | ||
| new /obj/effect/temp_visual/electricity(adjacent_turf) | ||
|
|
||
| for(var/mob/living/hit_mob in target) | ||
| to_chat(hit_mob, span_userdanger("You've been struck by lightning!")) | ||
| hit_mob.electrocute_act(30, src, flags = SHOCK_TESLA|SHOCK_NOSTUN) | ||
| hit_mob.Knockdown(1 SECONDS, 5 SECONDS) | ||
|
|
||
| for(var/mob/living/nearby_target in oview(1, target)) | ||
| to_chat(nearby_target, span_userdanger("You've been struck by an arc of lightning!")) | ||
| nearby_target.electrocute_act(10, src, flags = SHOCK_TESLA|SHOCK_NOSTUN) | ||
|
|
||
| for(var/obj/hit_thing in target) | ||
| hit_thing.take_damage(20, BURN, ENERGY, FALSE) | ||
|
|
||
| for(var/obj/nearby_thing in oview(1, target)) | ||
| nearby_thing.take_damage(10, BURN, ENERGY, FALSE) |
There was a problem hiding this comment.
don't we have tesla ball code that you can use for this? Also- Five for loops...?
There was a problem hiding this comment.
This reuses the storm-staff code. I can take a look at the tesla ball code and try that.
| if(!QDELETED(target) && istype(target, /mob)) | ||
| for(var/obj/item/throwable in view(modifier, target)) | ||
| if(prob(30)) | ||
| playsound(target_turf,'sound/effects/hallucinations/veryfar_noise.ogg', 50, TRUE) | ||
| var/relative_direction = get_cardinal_dir(throwable, target) | ||
| var/atom/throw_target = get_edge_target_turf(target, relative_direction) | ||
| var/whack_speed = (2) | ||
| throwable.throw_at(throw_target, modifier, whack_speed, K, gentle = TRUE) |
There was a problem hiding this comment.
please unindent this, also it'd be mildly funny to be able to send anything flying if you hit it, not just mobs, ala wizard's mjolnir hammer, maybe you can use code from that?
| modifier = 4 | ||
|
|
||
| /obj/item/borg/upgrade/modkit/cooldown/bluespace/projectile_strike(obj/projectile/kinetic/K, turf/target_turf, atom/movable/target, obj/item/gun/energy/recharge/kinetic_accelerator/KA) | ||
| if(!QDELETED(target) && istype(target, /mob)) |
There was a problem hiding this comment.
I also dont really see any reason for these !QDELETED(target) checks. Ofcourse its not gonna be deleted if this proc is called.
There was a problem hiding this comment.
Sorry, new to BYOND code and saw a bunch of !QDELETED checks elsewhere, so I figured it must be necessary? I'll do some testing without it.
| var/relative_direction = get_cardinal_dir(target, src) | ||
| var/atom/throw_target = get_edge_target_turf(target, relative_direction) | ||
| . = ..() | ||
| if(!QDELETED(target) && istype(target, /mob)) | ||
| var/whack_speed = (2) | ||
| target.throw_at(throw_target, 2, whack_speed, K, gentle = TRUE) |
| maximum_of_type = 1 | ||
|
|
||
| /obj/item/borg/upgrade/modkit/bioscrambler/projectile_strike(obj/projectile/kinetic/K, turf/target_turf, atom/movable/target, obj/item/gun/energy/recharge/kinetic_accelerator/KA) | ||
| if(!QDELETED(target) && istype(target, /mob) && prob(modifier)) |
Co-authored-by: XeonMations <62395746+XeonMations@users.noreply.github.com>
Xeonmations helped me realize that, despite being present elsewhere in the code, these checks are stupid. If the target is deleted, how would any of this get called? Duh.
Fixed damage, removed knockdown to prevent any PvP potential.
About The Pull Request
Adds a blank anomaly modkit, which allows insertion of an anomaly core to create specialized PKA upgrades. It must be researched in the same technode as the other craftable PKA upgrades, fabricated, then fit with an anomaly core. Any core will work, but similarly to the reactive armor shell, only seven are coded in, the rest defaulting to the gravitic pulverizer (gravitational anomaly core) upgrade.
Why it's Good for the Game
Despite Oculis Station being functional partially as a means of researching the planet lore-wise, Research and Mining do not have many connections. Additionally, anomaly cores do not have many uses, and most of the usual PK upgrades are kind of boring, though necessary. Obviously there should be damage and cooldown upgrades, but there isn't much in the way of more flashy stuff like miners' other options have (crusher trophies, wasteland guns, etc).
Adding anomaly modkits is able to mend all of this; there is a new interactive bridge between the Research and Mining departments, anomaly cores get new uses, and PKAs get to have more fun choices to play with while being brought more in-line with the other choices of weaponry that miners have access to. Everyone wins.
Proof of Testing
Screenshots/Videos
All of the different anomaly upgrades.
The blank modkit in the Low-Pressure Excavation technode.
Here it is in the supply lathe, just waiting for an anomaly core.
Here is a shitty (but functional) demo video of all of the upgrades. The flux capacitor is missing because that one is just stat upgrades, but the rest are demonstrated here.
ss13anomalypkdemos.1.mp4
Changelog
🆑
add: Added a blank anomaly kit, which can be fit with anomaly cores to create unique PKA upgrades.
/:cl: