Vampire Survivors

Vampire Survivors

87 ratings
[OUTDATED] Mods & Making Your Own Character
By Kormit the Frag
how to edit every lil thing, from weapon rarities, to character stats to just straight up adding your own character/ modifying an existing one entirely.
3
2
2
2
   
Award
Favorite
Favorited
Unfavorite
Introduction
I'm obligated to say DO THIS AT YOUR OWN RISK, not that there should be much of one, but that depends what you try to change. you wont lose any progress, cus its saved in a different file, hence why these changes will reset each update cus i cant figure out how to edit the save file to directly do things such as unlock secret chars, oh well.

There are a few steps to take first before we do anything.
1. Make sure you have some sort of text editor with a CTRL-F function, Notepad++ is good.

2. Navigate to Library > Vampire Survivors > Properties > Local Files > Browse > resources > app > .webpack > renderer

3. Copy & Paste main.bundle.js to somewhere else, doesn't matter where, so long as its backed up so you can fall back on it if you break something.

4. Once that is done, open the one still located in your game folder with your text editor.
(on the right click menu, either "open with..." or "edit with Notepad++/your text editor")

NOTE: you will lose your changes on update, and will have to do it all over again - you cant just replace the file again after the update because it will be missing the stuff from the update :/

and now, some ground "rules", particularly important in general, whether or not you're doing it guideless which isnt recommended.

1. absolutely do not change anything at the top, the functions and variables n that.

2. don't change anything thats in all caps, that will likely break alot of things

3. try not to fiddle with the long strings of different numbers and letters unless you know what you're doing with them

4. don't change characters that haven't been released yet because i have no idea if they'll work, they're missing alotttt of things to even be functional, and when they are actually released then whatever you do will be overwritten anyway - same applies for weapons, if you select a starting weapon as an unreleased one, it will appear as a whip on the menu, then crash when you hit play.




Unlocking Secret Characters
used to unlock the Red Death or other hidden characters easily.

1. Do the steps in the introduction

2. in your text editor, press CTRL+F and in the search box that shows up, type "Red Death" without quotations.
Luckily there should only be one entry for this character in the file so you shouldn't be able to mess it up, but along the same line it should say things like "description", "price" "maxhp" etc.

3. locate the part that says "hidden':!0x0" just before where it says "Red Death" (or the name of another character) and "startingWeapon SCYTHE" (if you wanna mess with that check the other section)

4. delete the "!" so it becomes "hidden':0x0,"

5. CTRL+S and you're done. The character will be visible, but not purchased - they typically cost about 1500 or something around that range.

Editing Weapon Stats & Loot Table
RARITY

This is an interesting one, probably something most people won't use, but the reason its even here is because this allows you to make the Cherry Bomb and Bone visible on every character like any other weapon would when you level up.

Example:

1. Follow the steps in the introduction

2. CTRL+F for 'name':'Cherry Bomb' INCLUDING QUOTES (ofc, replace cherry bomb with whichever weapon you want)

3. Along the same line as 'name':'Cherry Bomb', after the description and then some, you should see 'rarity':0x1
simply change the 1 to "32" to add it to the loot pool, at around 50 itll be common, 32 itll be uncommon, and 1 its basically never gonna show up.

NOTE: this shouldnt work with evolved weapons since they have weapon requirements to be obtained. you could probably remove the requirement though and it would work, but i dont fancy breaking the game just yet so feel free if you've got the spare time, just make sure you back up the file.
It does work with everything else though, names Bone and Cherry which can now be added to the item pool.


OTHER STATS

1. Follow the steps in the introduction

2. CTRL+F for 'name':'Cherry Bomb' INCLUDING QUOTES (ofc, replace cherry bomb with whichever weapon you want)

3. along the same line as that you will see things like "power", "area" and "speed" etc.
just change the value after it; it will either be in hex or decimal (but either should work)
if hex: change the number after the x so "0x1" -> "0x2" or something
if not: just put the number you want, ie "area:1" means "area:100%" (or default)

NOTE: setting damage to a stupidly high number will just break the game, atleast on garlic, so dont do that.


Editing Character Base Stats
This is BASE stats, BEFORE they are affected by powerups, so just forget what powerups you have or dont have when doing this.

If you're planning on just testing this, i'd recommend trying it on Exdash since nobody is gonna care that the meme character is no longer a meme, but you can do it on anyone.

1. Follow the steps in the introduction

2. CTRL+F for 'charName':'Exdash' INCLUDING THE QUOTATIONS, just copy that into the search bar tbh.

along this line you should see things like "luck", "growth", "amount" etc as well as exdash's description.

3. You can change the numbers of each stat to change the characters BASE stats.
Some stats follow different formats, however, so you can't just change them all to the same thing. here's the rundown:

a. movespeed, power, cooldown, area, speed, duration, luck, growth, greed and curse are all percentage based, so if you were to change them all to be like 'cooldown':1, then in this case, his base cooldowns are 100% of their value. If you set this to 'cooldown':0.5, then he'd have -50% cooldowns, this applies to all of the above in their own respective ways.

b. regen is also a decimal value, but not a percentage, so 'regen':0.5 would be a starting value of 0.5 hp per second etc.

c. magnet, rerolls, skips, revivals, maxhp, price, armor and amount are all integers, so i believe changing them to, say, 'revivals':0x1 or 'revivals:1' would both result in starting with 1 revival
maxhp and price are typically in hex, so look up a converter for that (0x64 is the default 100hp). Armor should be a flat amount of damage blocked each hit.

4. after you've changed things, CTRL+S and start the game up


Changing Starting Weapon
1. CTRL+F for character you want to change the weapon for,
ie.
CTRL+F and type 'charName':Antonio' and just before his name on that same line should be 'startingWeapon':_0x3e9f6b['WHIP']
simply, change 'WHIP' to something from below

if you see a weapon smth like startingWeapon':_0x3e9f6b[0x3e9f6b[x45ed]] or smth to that effect, just change it to the same as that whip format and continue

2. CTRL+S you're done

items may have different names to what you're expecting so ill try and make a dictionary:
whip = WHIP
peachone = SILF
ebony wings = SILF2
vanadalier = SILF3
axe = AXE
death spiral = SCYTHE
pentagram = PENTAGRAM
lightning ring = LIGHTNING
thunder loop = LOOP
bone = BONE
cross = CROSS
evo cross = HEAVENSWORD
bible = HOLYBOOK
evil vespers = VESPERS
laurel = LAUREL
knife = KNIFE
evolved knife = THOUSAND
cherry = CHERRY
mana song = SONG
evolved mana = MANNAGGIA
clock lancet = LANCET
garlic = GARLIC
soul eater = VORTEX
santa water = HOLYWATER
La Borra = BORA
fire wand = FIREBALL
hellfire = HELLFIRE
wand = MAGIC_MISSILE
evo wand = HOLY_MISSILE
runetracer = DIAMOND
evolved whip? = VAMPIRICA
???? = VOID
moon = SIRE
vento = VENTO
evolved vento = VENTO2
carréllo = CART2
infinite corridor = CORRIDOR
red gun = GUNS2
blue gun = GUNS1
evo gun = GUNS3
cat = GATTI
pinion = TRAPANO
dusting = _0x4b8adc(0x93d)
la robba = LAROBBA
vicious hunger (eyeball) = STIGRANGATTI
valkyrie turner = TRAPANO2
crimson shroud = SHROUD
no future = ROCHER

passives:
before you ask, yes this is a fine idea, i mean, you can start a duplicator if you want and take your free level up on library so you have a build where you're not forced into one of your weapons (lets be honest, you're doing duplicator every game anyway if you're not trolling)

spellbinder = DURATION
attract orb = MAGNET
skull = CURSE
bracer = SPEED
wings = MOVESPEED
???? = SHIELD
candelabrador = AREA
tigamisu = REVIVAL
stone mask = GREED
clover = LUCK
crown = GROWTH
pummarola = REGEN
tome = COOLDOWN
armor = ARMOR
max hp = MAXHEALTH
duplicator = AMOUNT
spinach = MIGHT
gold ring = GOLD
silver ring = SILVER
right = RIGHT
left = LEFT
pickups:
i doubt these work ngl
Rosary (screen wipe) = ROSARY
Flamethrower = NDUJA

Character Passives
Now the fun part which will probably be more than just copying and pasting again.

In this specific example, i modified Exdash because its Exdash.

firstly, i changed all of his base stats to be 1, ie, default. (see other chapter for how to do that)

you can add passives to characters, which i did in this case: Exdash now gains 1% of every stat every level up, but you can do whatever you want, here's how i did it:

1. introduction steps

2. CTRL+F for 'charName':'Exdash'
along the lines after this phrase, there are all of his stats, then there is a bunch of gibberish after 'showcase': which i said not to touch in the rules, so look past all of that and up to where it says {'luck:0.1, 'level:0xa').

3. in between the end of the gibberish, and just before that luck bit ^, add in:
,'onEveryLevelUp':{'duration':0.01,'moveSpeed':0.01,'area':0.01,'speed':0.01,'cooldown':-0.01,'power':0.01,'luck':0.01,'growth':0.01}

this basically means that you get 1% of pretty much every stat every level.

the resulting line should look like

lastshowcasebit)]],'oneverylevelup'...}}

naturally, you can do those sorts of passives such as "gains projectiles every X levels" or "start with an extra level" in the same way, but instead just steal the code from one of the characters who has it and change the numbers.

make sure it is in this exact place, after the showcase, make sure there is a comma before and after the passive, make sure there are no spaces at all
Changing/ Adding Characters (WIP)
If you haven't noticed from doing any of the other sections, once you go to the character line in the file, you can change charName:name to whatever you want, as well as the sprite.

To add custom skins/ sprites, see these guides:
https://steamcommunity.com/sharedfiles/filedetails/?id=2765295076
https://steamcommunity.com/sharedfiles/filedetails/?id=2729264767

adding characters is a similar principle i suppose, but you'd have to add literally everything in by hand all over the main json file, which would take a while, but its theoretically possible.

you could also change existing, unreleased characters, but this would obviously be wiped when the character releases, but then you can just do it to the next unreleased one.

theoretically you could make the flamethrower its own weapon, just sayin'

some experienced modders can have fun figuring all this out i suppose :/

45 Comments
LordBlade Oct 21, 2023 @ 7:43am 
Does anyone know if it's possible to still edit stuff with the new Unity version?
I've been searching, but can't find any info on editing files (or a third party editor).
Griv Aug 31, 2023 @ 7:52pm 
Thanks for the work, looks like it was great. Guess I’ll just keep enjoying the base game
Kormit the Frag  [author] Aug 28, 2023 @ 8:35pm 
np <3
its sad that I got so many questions in this comment thread, but I had no answers for any of them
oh welll, doesn't matter much now
Altus Aug 28, 2023 @ 7:03pm 
Yeah...
Not your fault. I actually used this very guide back then. Thanks while it lasted!
Kormit the Frag  [author] Aug 28, 2023 @ 6:58pm 
guess I better change the title then
was fun while it lasted
Altus Aug 28, 2023 @ 6:47pm 
Just so people are aware, the game is now on Unity, meaning it's file structure is completely different. This did work back then, but no longer.
Griv Aug 25, 2023 @ 7:41pm 
Has the file location changed with the recent update of VS? I can't find the main.bundle.js anywhere.

Windows 10 Steam install.
null Apr 17, 2023 @ 10:27am 
Depending on how you installed Steam, game resources are here on lunix:
~/.local/share/Steam/steamapps/common/Vampire Survivors/

I'm on Arch, installed steam through standard package manager (pacman/AUR), but I imagine Ubuntu/Mint/other debian-based distros using apt for package management would also use this directory.
Kormit the Frag  [author] Mar 4, 2023 @ 2:57pm 
true, but if you do 0x and then integer, it should work. it worked when i made the guide anyway - ive tested everything ive written down- or rather ive written down everything i tested that worked.
Zeeningg Mar 4, 2023 @ 1:58pm 
uhhhh you need to add this in to the guide somewhere from dude's comment below... "There You Go Jul 13, 2022 @ 5:04pm
And i dont know if you said this in ur guide but never do 0xthen a number. number because the game will not load
for example do not do 0x1.5 do 1.5" because game HARD LOCKS on launch if you put an x in front of ANY NUMBER THAT HAS A DECIMAL IN IT like it says in the guide will work, it does NOT work the game will NOT launch >.< if you make a change to where something has a decimal- REMOVE THE 0x in front of it even if it was there before or the game will just black screen, worked immediately first try after doing that