Jump to content
FORUMS
Stan

Does the Mysterious Patch 10.2.6 Introduce a New Vampire Survival Mode?

Recommended Posts

33219-pirates-day-sep-19.jpg

World of Warcraft's Patch 10.2.5 datamining reveals a Vampire Survival Mode, fueling speculation about its link to the secretive Patch 10.2.6 event coming to both retail and Classic.

Wowhead dropped a bombshell back on November 20th last year, uncovering a Vampire Survivors game mode hidden in the Patch 10.2.5 files which got me thinking: what if it's connected to the mysterious Patch 10.2.6 event? 

So, what's the scoop on Patch 10.2.6? As of now, it's shrouded in mystery. The patch was flagged with a pirate emblem in the 2024 roadmap.

5VON1L3LM22F1702949709254.png

Adding to the that, Executive Director Holly Longdale recently announced that Patch 10.2.6 would skip PTR testing altogether, aiming for a March release. Holly's blog post hinted that the event would launch simultaneously in both Classic and retail versions of the game, requiring only a subscription, not the Dragonflight expansion.

For those not in the loop, Vampire Survivors is a minimalist, time survival game peppered with roguelite elements. Players control a character that auto-attacks, battling relentless monster waves. The goal? Hold out as long as you can to unlock new characters, weapons, and relics for future runs.

Fast forward to November 2023, and Wowhead's datamining venture revealed entries related to the Vampire Survivors mode in the SceneScriptPackage database table of Patch 10.2.5.

Curiosity got the better of me today, so I dove back into the database to see if those entries were still around. Interestingly, the entry "10.2.5 - Vampire Survival Mode - Game Mode - Client Scene (OJF)" had been renamed to "10.2.5 - VS Mode - Game Mode - Client Scene (OJF)", and the other entry had vanished.

Digging deeper, I explored the SceneScriptText table for any mention of "VS Mode", synonymous with Vampire Survival Mode. This search unearthed some interesting developer-oriented documentation on the mode.

  • VS Mode - Init (OJF) - -- Any data or game stat we want to initialize before starting the game loop -- We want to fun the game in global coordinates not client scene relative scene:SetRelativeCoords(false) ; -- Set up the mouse cursor tracking board -- evenly spaced actors of rectangles that we check if they're selected (don't care about interact) -- allows us to aim the player based on mouse position -- smaller actors for more tracking fidelty improves aiming -- load player data GetPlayerDisplayAndPosition() ; -- set up UI -- what level did they select -- load and set up the level -- start the game
  • VS Mode - Main (OJF) - -- entry print ( "Starting Client Scene" ) ; --TODO: investigate what is available to us using getfenv() -- it is used to hook up to mouse click events so I wonder if there is a way to get get the cursor position this way as well --local fenv = getfenv() ; -- TESTING SpawnFodder( CREATURE_DATA_ZOMBIE, playerPosition + Vector:New( 10, 10, 0 ) ) ; -- main loop while (sceneRunning) do -- update player position (and display) so it can be used in other places GetPlayerDisplayAndPosition() ; SpawnFodder( CREATURE_DATA_ZOMBIE, playerPosition + Vector:New( 10, 10, 0 ) ) ; -- process server events ProcessSceneEvents() ; -- update rate Wait(UPDATE_RATE_GAME) ; -- there is some kind of lag on Wait() giving us an extra iteration after reaching our target gameTimer = gameTimer + UPDATE_RATE_GAME ; if gameTimer >= (10 - UPDATE_RATE_GAME) then sceneRunning = false ; end end -- exit Client Scene print ( "Exiting Client Scene" ) ; scene:EndScene() ;
  • VS Mode - Data - Creatures - Scourge (OJF) - -- Creature data arrays for Scourge levels -- Data description: -- FACING_RATE: How often the creature turns to look at the target, higher value updates more frequently -- SPAWN_VALUE: Points this spawn counts for when being spawned. Useful for scaling wave sizes depending on current level and wave values. -- Fodder CREATURE_DATA_ZOMBIE = { CREATURE_ID = 212301, SCALE = 1, FACING_RATE = 5, HEALTH = 1, DAMAGE = 1, SPEED = 5, ATTACK_DELAY = 1, SPAWN_VALUE = 1, SPELLS = { }, LOOT_TABLE = LOOT_TABLE_DEFAULT, } ; -- Boss
  • VS Mode - Data - Player - Weapons (OJF)-- Data for basic player weapons and attacks
  • VS Mode - Globals (OJF) - ----------------------------------------------------------------------------------------- -- DEFINES -- Notation: VARIABLE_NAME ----------------------------------------------------------------------------------------- -- how long every frame waits at the end before looping -- in milliseconds, default minimum is 0.1 UPDATE_RATE_GAME = 0.1 ; UPDATE_RATE_CREATURE = 0.5 ; MAX_ENEMIES = 100 ; MAX_ITEMS = 100 ; MAX_OBSTACLES = 100 ; ----------------------------------------------------------------------------------------- -- Variables -- Notation: variableName ----------------------------------------------------------------------------------------- -- while true, runs the client scene. Exits Client Scene on false sceneRunning = true ; -- is the game running or paused gamePause = false ; -- gets updated as we move the cursor around the selection grid cursorPosition = Vector:New( 0, 0, 0 ) ; -- player values playerLevel = 1 ; playerHealth = 1 ; playerSpeed = 1 ; playerDisplay = nil ; playerPosition = Vector:New( 0, 0, 0 ) ; -- game values gameLevel = 1 ; gameTimer = 0 ; -- entity arrays gameEnemies = {} ; gameItems = {} ; gameObstacles = {} ;
  • VS Mode - Data - Player - Stats (OJF) - -- Starting player data PLAYER_BASE_HEALTH = 100 ; PLAYER_BASE_SPEED = 1 ;
  • VS Mode - Event Handler (OJF) - -- handle client scene events here -- process an event function ProcessEvent(event) print ( "ProcessEvent") ; if not event then print ( "ProcessEvent: event invalid" ) ; return false ; end print ( event ) ; print ( event.type ) ; end -- scene events handler function function ProcessSceneEvents() local event = scene:PeekEvent() ; while event.type ~= SceneEventType.None do ProcessEvent( event ) ; -- event has been processed, pop and move on to the next one scene:PopEvent() ; event = scene:PeekEvent() ; end end
  • VS Mode - Creatures - Behavior - Coroutines (OJF) - -- coroutines to add to creature entities to control their behavior function AddFodderAICoroutine(...) scene:AddCoroutineWithParams(FodderAICoroutineFunction, ...) ; end function FodderAICoroutineFunction( actor, health, speed ) -- creature AI update loop -- updates at a rate of UPDATE_RATE_CREATURE while health > 0 do -- Update our movmement target actor:StopMovement() ; -- update movement target RunToLocation( actor, speed, playerPosition.x, playerPosition.y, playerPosition.z, nil, true ) ; -- Wait Wait( UPDATE_RATE_CREATURE ) ; end end
  • VS Mode - Functions - Spawning (OJF) - -- functions to spawn entities -- returns the entity on successful spawn, and also registers the entity to the global entity tracking array function SpawnFodder( creatureData, pos ) local enemy = nil ; -- spawn the actor local createData = ActorCreateData:New() ; -- default data for all VS Mode Enemies createData.groundSnap = true ; createData.interactible = true ; createData.selectable = true ; createData.floatingTooltip = false ; createData.aoiSettings.range = ActorAOIRange.Normal ; createData.overrideReaction = ReactionType.Hostile ; createData.scale = creatureData.SCALE ; createData.creatureID = creatureData.CREATURE_ID ; createData.transform = Transform:New(pos, 0) ; enemy = scene:SpawnActor( createData ) ; -- start moving towards the player RunToLocation( enemy, creatureData.SPEED, playerPosition.x, playerPosition.y, playerPosition.z, nil, true ) ; -- face the player on spawn -- set up the AI update coroutine AddFodderAICoroutine( enemy, creatureData.HEALTH, creatureData.SPEED ) ; -- track entity in the global array if enemy ~= nil then table.insert( gameEnemies, enemy ) ; end return enemy ; end -- TODO function SpawnItem( itemData, pos ) print ( "SpawnItem" ) ; local item = nil ; -- track entity in the global array if item ~= nil then table.insert( gameItems, item ) ; end return item ; end -- TODO function SpawnObstacle( obstacleData, pos ) print ( "SpawnObstacle" ) ; local obstacle = nil ; -- track entity in the global array if obstacle ~= nil then table.insert( gameObstacle, obstacle ) ; end return obstacle ; end
  • VS Mode - Data - Items (OJF) - -- data arrays for items that players can collect -- XP collectible items ITEM_DATA_XP_SMALL = { MODEL_FILEDATA_ID = 1, XP = 1, }; ITEM_DATA_XP_MEDIUM = { MODEL_FILEDATA_ID = 1, XP = 10, }; ITEM_DATA_XP_LARGE = { MODEL_FILEDATA_ID = 1, XP = 100, };
  • VS Mode - Data - Creatures - Loot Tables (OJF) - -- arrays of loot tables we can assign to creatures LOOT_TABLE_DEFAULT = { { ITEM = ITEM_DATA_XP_SMALL, CHANCE = 0.1 } , } ;
  • VS Mode - Creatures - Behavior - Functions (OJF) - -- behavior functions for creatures that do not have to run as coroutines
  • VS Mode - Data - Creatures - Spells (OJF) - -- spells for creatures
  • VS Mode - Level 000 (OJF) - -- template/test level for VS Mode Client SceneEventType -- level timer -- level up timer -- level enemies: spawn level, amounts -- level bosses -- level items -- level obstacles -- level power ups
  • VS Mode - Functions - Player (OJF) - -- functions related to the player -- updates the global variables playerDisplay and playerPosition -- we only want to do this once per update if possible function GetPlayerDisplayAndPosition() playerDisplay = scene:GetActivePlayerDisplay() ; if playerDisplay ~= nil then playerPosition = playerDisplay:GetPosition() ; else playerPosition = nil ; end end
  • VS Mode - Functions - Game (OJF) - -- game related functions
  • VS Mode - Documentation (OJF) - --[[ Author: XXX Contact: XXX Text documentation only for how this client scene works and can be used by other devs. Do not implement code here. UNDER CONSTRUCTION NOT INTENDED FOR GENERAL USE Game mode currently is not functional. Should not crash but functionality is minimal. Intended to be used in conjunction with a vehicle to handle controling the players movement and camera. Current progress: Can spawn a Zombie creature that runs at the player. Client scene persists for 10 seconds then shuts down. ]]--
    • I've censored the author's name and contact on purpose so that spam bots don't pick it up.

A thorough check of the Season of Discovery and Wrath Classic database files confirmed that these specific scenescript text entries are exclusive to the retail client.

With this data in hand, we can start piecing together what the Vampire Survivors mode might bring to the World of Warcraft universe.

The Vampire Survival Mode introduces a survival game mechanic where players aim and move using their mouse, facing waves of zombie enemies. The game initializes with global coordinates for precision, tracks player position for aiming, and involves real-time combat with various weapons and abilities. Enemies have diverse stats and behaviors, requiring strategic management. The mode features a progression system through XP items, dynamic event handling, and a main gameplay loop with spawning enemies and updating player actions.

Do you reckon the Vampire Survival Mode has something to do with the mysterious Patch 10.2.6? Drop your thoughts in the comments below!

Share this post


Link to post
Share on other sites

If it has anything to do with vampires, then it's rather odd choice to mark it with "pirate flag". It was implied to be some type of event, so not an ongoing feature, but maybe something time limited?

Share this post


Link to post
Share on other sites

The speculation of what this event could be could be (double entendre) fuel for one hundred more events! Amazing what a little suspense can accomplish. My bet is still pirates. They did claim it was based somewhat on community speculation and the pirate theme for next x pac was the big "miss" in expansion predictions. There really wasn't any speculation about vampires or survival style games.

Hopefully there will be a raid boss involved (or at least a world boss) but it should be fun.

Share this post


Link to post
Share on other sites

I've learned my lesson about not hyping myself up via speculation because the actual reveal will never live up to the hype.

Share this post


Link to post
Share on other sites
On 2/12/2024 at 11:01 PM, Arcling said:

If it has anything to do with vampires, then it's rather odd choice to mark it with "pirate flag". It was implied to be some type of event, so not an ongoing feature, but maybe something time limited?

The mode would be similar to a game called Vampire Survivors, but likely it wouldn't have anything to do with vampires. 

Share this post


Link to post
Share on other sites
13 hours ago, VictorVakaras said:

The mode would be similar to a game called Vampire Survivors, but likely it wouldn't have anything to do with vampires. 

I wonder how it would work in WoW. Would it still involve top-down perspective? Not sure how game's engine will handle it. I think the closest we had to something like this might have been that Plants and Zombies minigame from Cataclysm.

Edited by Arcling

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Staff
      Here comes a big one as Blizzard have unveiled the official War Within cinematic! Featuring some shots we've seen already, this full cinematic expands on them and we get to see Azj-Kahet and Nerub'ar palace, not to mention the Dawnbreaker entering the zone! 
    • By Stan
      Solozerro has defeated Mythic Garrosh alone in MoP Remix! Congrats to the amazing feat that took months of dedication to accomplish!
      In an emotional tribute to a friend who passed away during the transition between World of Warcraft's Wrath of the Lich King and Cataclysm expansions, one dedicated player has fulfilled a long-standing promise to leave their mark in the game's history.
      "I promised her I would make a name for myself in WoW history, and today, I can finally say I've done this in her honor," Solozerro said.
      This accomplishment was the result of several evenings of dedicated attempts, each preceded by a week of rigorous farming. The process spanned multiple weeks, with each attempt lasting about 15 minutes.
      The player faced significant challenges, particularly with the Y’Shaarj adds during Garrosh Hellscream’s Empowered Whirlwind phase. "You need a high DPS check just for those adds," Solozerro explained.
      Back when the fight was nearly impossible to solo as a DPS, Solo had to do it in tank specialization to avoid fight resets due to mind control, which significantly impacted their damage output.
      Despite these obstacles, the player remained steadfast. "In total, I collected over 1.5 million threads on my cloak," they said, underscoring the extent of their efforts.

      Even the recent nerfs to Garrosh Hellscream posed a unique challenge. "I overslept and when I woke up and heard about the nerfs, I was sure someone would have tried it. During the fight, I still had adds up, but luckily, I managed to meet the DPS check to avoid the Empowered Whirlwind."
      This achievement not only honors a friend's memory but also serves as an inspiration to the WoW community. "These changes will affect a lot and might actually push more people to try it," the player reflected.
      Here’s the solo video! We want to congratulate Solozerro once again and express how thrilled we are to have been part of this incredible journey!
      Solozerro's journey has come to an end today with 24 days of MoP Remix remaining! The player has soloed Mythic Garrosh after the recent raid nerfs, nearly 1 months after soloing the Paragons of Klaxxi.
    • By Stan
      We've looked at the latest Druid changes that went live on the War Within Beta this week.
      Druid
      Restoration Druid - Restoration Druid core passive: Increases damage/healing by 96%: 74%: Improved Prowl, Pouncing Strikes, Shred, Thrashing Claws Increases damage/healing by 31%: 24%: Improved Prowl and Pouncing Strikes Renewal - Usable in all shapeshift forms. Instantly heals you for 20% 30% of maximum health Rip - Lasts longer per combo point. Finishing move that causes Bleed damage over time 1 point : [ 100.5% 110.5% of Attack Power ] over 8 sec 2 points: [ 150.7% 165.8% of Attack Power ] over 12 sec 3 points: [ 201% 221% of Attack Power ] over 16 sec 4 points: [ 251.2% 276.3% of Attack Power ] over 20 sec 5 points: [ 301.4% 331.6% of Attack Power ] over 24 sec Frenzied Regeneration - Heals you for 15% 24% health over 3 sec, and increases healing received by 20%. Primal Wrath - Lasts longer per combo point. Finishing move that deals instant damage and applies Rip to all enemies within 10 yards 1 point : [ 28.6% 34.4% of Attack Power ] plus Rip for 4 sec 2 points: [ 42.9% 51.6% of Attack Power ] plus Rip for 6 sec 3 points: [ 57.2% 68.8% of Attack Power ] plus Rip for 8 sec 4 points: [ 71.5% 86% of Attack Power ] plus Rip for 10 sec 5 points: [ 85.8% 103.2% of Attack Power ] plus Rip for 12 sec Berserk: Frenzy - During Berserk your combo point-generating abilities bleed the target for an additional 135% 150% of their direct damage over 8 sec. Rampant Ferocity - Damage reduced beyond 5 targets.. Ferocious Bite also deals [ 33.3% of Attack Power ] damage per combo point spent to all nearby enemies affect by your Rip Spending extra Energy on Ferocious Bite increases damage dealt by up to 50% 100% Bursting Growth - Damage reduced above 5 targets. When Symbiotic Blooms expire or you cast Rejuvenation on their target flowers grow around their target, healing them and up to 3 nearby allies for [ 20% of Spell Power ]. When Bloodseeker Vines expire or you use Ferocious Bite on their target they explode in thorns, dealing [ 70% 91% of Attack Power ] physical damage to nearby enemies Adaptive Swarm - Upon expiration, finds a new target, preferring to alternate between friend and foe up to 3 times. Command a swarm that heals [ 157.5% of Spell Power ] or deals [ 180% 216% of Spell Power ] Nature damage over 12 sec to a target, and increases the effectiveness of your periodic effects on them by 25% Rake - While stealthed, Rake will also stun the target for 4 sec and deal 60% increased damage. Awards 1 combo points.. Reduces the target's movement speed by 20% for 12 sec Rake the target for [ 21.54% 28% of Attack Power ] Bleed damage and an additional [ 141.4% of Attack Power ] Bleed damage over 15 sec Lunar Insight - Moonfire deals 20 20% additional damage. Berserk - While Berserk: Generate 1 combo points every 1.5 sec. Go Berserk for 15 sec. Combo point generating abilities generate 1 additional combo points. Finishing moves restore up to 3 combo points generated over the cap All attack and ability damage is increased by 10%. 15%. Brutal Slash - Deals 15% increased damage against bleeding targets. Awards 1 combo points.. Deals reduced damage beyond 5 targets. Awards 1 combo points. Applies the Bleed from Thrash Normal: Strikes all nearby enemies with a massive slash, inflicting [ 147.6% 192% of Attack Power ] Physical damage. Thrashing Claws : Strikes all nearby enemies with a massive slash, inflicting [ 147.6% 192% of Attack Power ] Physical damage Incarnation: Avatar of Ashamane - During Incarnation: Energy cost of all Cat Form abilities is reduced by [ 20 25% of Spell Power ]%, and Prowl can be used once while in combat. An improved Cat Form that grants all of your known Berserk effects and lasts 20 sec. Finishing moves restore up to 3 combo points generated over the cap. Generate 1 combo points every 1.5 sec. Combo point generating abilities generate 1 additional combo points. You may shapeshift in and out of this improved Cat Form for its duration All attack and ability damage is increased by 10%. 15%. Thriving Growth - Multiple instances of these can overlap.. Wild Growth, Regrowth, and Efflorescence healing has a chance to cause Symbiotic Blooms to grow on the target, healing for [ 120% of Spell Power ] over 6 sec Rip and Rake damage has a chance to cause Bloodseeker Vines to grow on the victim, dealing [ 135% 121.5% of Attack Power ] Bleed damage over 6 sec Bond with Nature - Healing you receive is increased by 3%. 4%. Druid Guardian 11.0 Class Set 4pc - Arcane damage you deal is increased by 5% and bleed damage you deal is increased by 5%. 8%. Taste for Blood - Ferocious Bite deals 15% 12% increased damage and an additional 15% 12% during Tiger's Fury. Evoker
      Animosity - Casting an empower spell extends the duration of Dragonrage by 4 5 sec, up to a maximum of 16 20 sec. Titanic Wrath - Essence Burst increases the damage of affected spells by 8.0%. 15.0%.
    • By Stan
      As of the War Within pre-patch, Alysrazor in the Firelands raid is bugged, preventing players from getting the Flametalon of Alysrazor mount.
      Blizzard made various updates to flying in the War Within pre-patch, and a possible side-effect could be tied to Alysrazor not leaving her spawn location when you engage her in the raid.
      Hopefully, Blizzard will soon release a fix for the issue. Until then, don't bother soloing the Firelands!
    • By Starym
      It's time for some more preliminary stats, as the pre-patch has been here a whole 3 days (well, not exactly "whole", especially considering the game time gifts)! We're taking a look at how the class changes shifted the dungeon meta, but keep in mind these are really early numbers and fewer players do Mythic+ in post-season.
      Warcraft Logs Points
      The below logs are based on POINTS, and not actual damage or healing, meaning they log the timed completion for the specs, with higher keys getting more points, obviously. The time in which the dungeon is completed is also a factor, but a much, much smaller one, as it grants very few points if you do it significantly faster than just any in-time completion. We're also using the Normalized Aggregate Scores numbers, for clarity, meaning the top spec is marked as 100 and then the rest are ranked in relation to that peak point.
      All Keys
      95th percentile DPS
      While the very top spot remains unchallenged, as Augmentation is set to rule M+ forever, the rest is pretty different! We have some Fyr'alath action right after the Evoker, as Fury and Ret fight it out over the silver, while Shadow falls down to 4th, but is still very much in the game. Unholy makes a solid leap up and passes Elemental, with Fire dropping down some. Devastation and Demonology are newcomers to the bottom 3, where Enhancement welcomes them as a pretty much permanent resident.

      Mythic+ All Keys 95th Percentile Data by Warcraft Logs.
      All Percentiles
      Things are looking similar in the generalist bracket, but Retribution takes down Fury here and Fire is significantly higher. Survival is also doing a lot better than in the top percentiles, and Beast Mastery makes the top 10 as well.

      Mythic+ All Keys All Percentile Data by Warcraft Logs.
      All Percentiles Tank (Points)
      The tanks show basically no change whatsoever, as is customary, with only Protection Warrior managing to climb one up and leave Brewmaster at the bottom.
      Mythic+ All Keys All Percentile Data by Warcraft Logs.
      Healer (Points)
      Holy is pushing up and then some, claiming 2nd right below the long-time emperor, Resto Druid. Shaman climbs up from much lower to grab 3rd, while Discipline falls down to the bottom.

      Mythic+ All Keys All Percentile Data by Warcraft Logs.
       
      For even more in-depth data for each individual key head on over to Warcraft Logs. And if you're interested in more info on the specs themselves you can always check out our class guides (updated for the pre-patch), as well as our Mythic+ guides and Mythic+ tier list.
×
×
  • Create New...