See, the first two stages of this test weren’t that bad if you use a certain build.
But that last stage…
đ¨
The only requirement is kill all enemies without being noticed.
You only get a melee weapon.
You can pick your Warframe.
You can pick your melee weapon.
Soooo…
The Redeemer is considered a melee weapon (it’s a gunblade, but yeah). The gun part is a shotgun with a ridiculously long range.
Banshee can fire guns without enemies hearing (even if you can hear the blast). With any other frame, the noise level would be “alarming”, but with Banshee, it’s “silent”.
(People also had success with other builds, like using Umbra’s sword, which makes you invisible after killing an enemy or the Glaive. I’ve never used Umbra’s sword for this test, but I found the Glaive EXTREMELY difficult to control when throwing it.)
ANYWAY, even with Banshee + Redeemer, I STILL had trouble with the last stage. I’ve completed the test several times in practice mode, but when I went to do the actual test, I would just fail.
What’s Different Now?
The requirement is kill all enemies without being noticed, using whatever Warframe or melee weapon you want. There are also no requirements to where you need to be when killing them.
The end of the Stage 2 area overlooks the Stage 3 area. But enemies in Stage 3 won’t spawn in until you actually land on Stage 3. BUT once they’ve spawned, they’ll stay spawned. Soooo…
[1:16] Jump onto the Stage 3 area. Don’t shoot anyone, otherwise they’ll notice you. There’s about 5 or 6 enemies in Stage 3 vs. Stage 2’s 4. Turn around and dash jump back onto the bottom floor of Stage 2.
[1:16 – 1:40] Massive bloopers đŹ I’m playing on PS5 this time and not used to the controls. So…yeah, see me fail all those jumps.
[1:40] And then! Just snipe at the Grineer with the Redeemer. Duck behind cover after each shot and wait about 10-15 seconds, especially if you take one out while there was another standing next to him. They won’t hear the gunfire, but they’ll notice their buddy got killed, raising their internal sus alarms. If you’re not careful, they’ll see you.
When I took out the last Grineer, Banshee just stopped and stood there, but even though I never got the message from the Lotus, saying I failed the test, I for sure thought I failed.
And then I got the Rank 9 Mastery Test Complete screen! đŽâđ¨
Since the MR points stack up, even if you have a rank test pending, I already had another test queued up, but due to rank test rules, I couldn’t try it out for another 24 hours. And since I’ve been stuck at MR 8 for a really long time, I probably have a huge backlog of rank tests. So….yeah…
The funny thing about this email is that it looks super legit. It came from an actual Paypal email address (service@paypal.com). The links lead to the actual Paypal domain (I didn’t click them, so I don’t know if the pages are real).
(Obviously, the point of the scam is get people to call the number, which btw is not even Paypal’s actual contact phone number.)
Who is Fern Doucette?
No one I know for sure. But even before looking this up online, you might start hearing all the sus bells:
I cropped this out of the screenshot above, but the email was sent to unfamiliar address:
I’ve never gotten a money request email (not even sure if they exist), but it’s rather skimpy on the details (under the “Note from Fern Doucette”, it just says “Don’t recognize the sender? Call us now. [number]” Uh huh.
I checked my Paypal account and didn’t find any mention of a request like this.
The “note” is worded oddly. “Quickly let us know [number]” instead of something like “Call us ASAP at [number]”, which sounds like this person’s English is not 100%.
Also there’s no space in front of the “Quickly”, a mistake Paypal wouldn’t make.
After looking up this person online, I found that “Fern Doucette” brings up A LOT of posts about scams. Yikes, dude. You’d think after a while, they’d use a new alias?
// Make sure Activitypub services embed videos
// plugin will skip embedding videos if it detects a feat. image
// @param obj $ap_obj An object array of the post for Activitypub to use
add_filter('activitypub_activity_object_array', function($ap_obj){
// The "id" key is actually the URL/permalink of the post, not the post ID.
// Get post ID from the permalink
$post_id = url_to_postid($ap_obj['id']);
// Check if a #video micropost
if (has_tag('video', $post_id) && has_category('microblog', $post_id)) {
// Remove any media attachments
$ap_obj['attachment'] = [];
}
return $ap_obj;
}, 100);
This code assumes you categorize and tag your posts the same way I do (“Microblog” for as the category, and “video” for tag). You might want to change it to fit your own system.
Change this line: if (has_tag('video', $post_id) && has_category('microblog', $post_id)) {
The Activitypub Object Array?
The filter activitypub_activity_object_array is used to modify the object array of the post. This is completely different from WP_Post. You can see the object array of each post by appending /activitypub to a post. Ex. https://test.giantpaper.org/microblog/10766/200-kids-sing-civilization-theme/activitypub/(source)
Background
I have a lot of “video” type posts, where the main content is a single video. If the post contains a “post thumbnail”, the Activitypub plugin automatically considers it media (along with any other images you might have added).
In video posts, this is usually the poster image/thumbnail/preview image of the video. Which would be great, EXCEPT I want the video itself (as in, actually embedded) to be the main feature, not the video thumbnail. The above code removes the featured image from the media array, so the video gets embedded instead.
Ever since the Great Federating of Giantpaper, I’ve been thinking about how I would get Activitypub to correctly display the different types of blog posts I have set up. Ex: this post, which looked like this on Mastodon:
There were some things I learned about WP posts ending up on the Fediverse through this plugin:
Custom fields (like those generated by Advanced Custom Fields) don’t get included, so links from my linklog posts won’t appear (which is why this post was posted as a micropost instead of a linkpost)
Most HTML gets stripped out by some Fedi services like Mastodon, which is why videos weren’t appearing on microposts
The Activitypub plugin has a setting for tweaking the template that gets used for federation:
…but there’s no template tag for custom fields (and no way to not have the plugin render video URLs as video embeds).
Enter Filters
I saw that there was a PR for making the post template filterable, that was upcoming for v2.0.0. And against my judgement, I jumped at it when it released, thinking there would be some sort of documentation for the new filters, but NOPE. I didn’t even know what the filter was called!! đŹ I did see the addition of a new filter name in v2.0.0.0, which is what I thought it was going to be, but actually trying to use it to filter stuff got me the dreaded “Your author URL does not return valid JSON for application/activity+json. Please check if your hosting supports alternate Accept headers.” error in WordPress’s Site Health page. And also I (somehow) found that outputting the contents of $template from the first parameter that it was actually meant to alter the post template (from the screenshot above with the [ap_....] tags), but I’m trying to figure out how to modify the HTML output of [ap_content]. So that wasn’t it.
(FYI, the filter name wasn’t what I was looking for, but I did find a Very Important Piece of info in the linked thread that helped me debug my code later. More on that later.)
AND THEN, the search bar at the top, I searched for apply_filters (because if there’s a new way to filter content, it for sure would be added to the code via apply_filters()):
After some trial and error, I fiiiiiiiinally got it to work. đŠ
Behind the Scenes!
Here is my (very unofficial) documentation for this:
/**
*
* @param string $content The outputted HTML of [ap_content]
* @param WP_Post $post The post object -- see https://developer.wordpress.org/reference/classes/wp_post/ and https://developer.wordpress.org/reference/functions/get_post/ for more info
*
*/
add_filter('activitypub_the_content', function($content, $post){
// add code here
return $content
}, 100, 2);
First the videos…
This is just some normal non-WP specific code. So if you’re already familiar with PHP, you might already know this. But to make sure your videos show up in your fediposts:
You’re basically removing the iframes and surrounding <figure> and <div> tags from around the videos and reformatting the embed URLs (inside the src="" attribute) back to their web accessible URLs (so https://www.youtube.com/embed/t476sB13EOg â https://www.youtube.com/watch?v=t476sB13EOg). And then linking to themselves, which will make Mastodon (and maybe other fediservers) think “oh hey, this is a link, let’s put up a preview”, and embeds the video.
So from this:
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper"><iframe loading="lazy" title="The Prince of Peace" width="500" height="375" src="https://www.youtube.com/embed/AQZqaz10TOM?feature=oembed" frameborder="0" allow="web-share" allowfullscreen></iframe></div></figure>