Stage One Proposal For Custom Mob Waves

This proposal just lists how you could add and modify mobs to your map based on Blanc’s suggestion.
Original Post by Blanc :


Map Submission

For the map submission, you will need to list the mobs, the amount of certain mobs, and any modifications that have to do with mobs in the class breakdown.

The mobs will also need to be checked by the zombies manager who is handling the map.

Mobs & Waves

Precursors And Notes

  • Firstly and most obviously, the map will have to be completed (and by that I mean in the zombies dimension).
  • Secondly, you’ll have to select the arena normally for the commands.
  • Thirdly, no mobs at all will just make the map have normal mob spawning.

Collections And Events

Collections are collections of mobs that spawn. The default collection is the normal collection that is used in zombies right now. You will be able to use the default collections, use other map’s collections, or make your own collections. This applies to events collections too. Every map will need these three collections in order to be made public. Collections are named from the maps they come from, except for the default collection, which is simply known as default. Event types can be either Christmas (“ch”) or Halloween (“ha”). In commands, if these are left blank, it will have no event.

Waves

Waves work in numbered ways, which means that they are numbered and the wave numbered 1 spawns first, 2 spawns second, 3 spawns third, and so on. A single mob put into a wave (for example a big pincushion zombie) will duplicate itself for the mob spawns. Multiple mobs of a single type will duplicate themselves for every mob spawn (for example with four spawns in a map and a mob type having the amount of two, eight of the mob type will spawn.) Multiple mobs of multiple types will be duplicated for every mob spawn as so. If a wave in between two other defined waves is not defined, it ignores every wave past it. It’s also worth noting that adding a mob twice via command will make the mobs’ amounts add up and work as normal, except that the groups are separate so you can mod them individually.

Command List

Using Other Collections :
Uses a collection of another map or uses the default collection. Will auto be selected to modify.
/zcoll use [collection name] [event]

Making A New Collection :
Creates a new collection that will use the map’s name. Will auto be selected to modify.
/zcoll new [event type]

Selecting Collections :
Selects the collection that is being used by the map.
/zcoll select [collection name] [event]

Selecting Rounds :
Selects the round which the commands will be run into.
/selectround [round number]

Adding Waves :
Adds a wave (which will consist of mobs) to a round.
/zwave add [which wave it will be in a round, I.E. 2 or 5]

Deleting Waves :
Deletes a wave from a round.
/zwave del [wave number]

Clearing Mobs
Deletes all the mobs of a round.
/clearround
Deletes a wave of the round.
/clearwave [wave number]

Listing Content :
Lists all the mobs in a wave and the amount of the mobs.
/zwave list [wave number]
The output lists in this format:

Wave [number]
[Mob ID] - [Mob Name] ([Amount of Mobs]) | [Any Modifications]

Here is an example of what the output will look like :

Wave 7, Round 12
268 - Ichor Sticker (5) | Damage : 100 | HP : 300 | Secondary
80 - Light Mummy (7) | HP : 350 
657 - Queen Slime (1) | Score (Decreasing) 195000 
564 - Dark Mage (5) | Secondary
479 - Baby Mothron (2) | HP : 400 | Score (Constant) 12500
476 - Jungle Mimic (1) | Secondary
475 - Hallowed Mimic (1) | Secondary
474 - Crimson Mimic (1) | Secondary
473 - Corrupt Mimic (1) | Secondary

Adding Mobs :
Adds a mob to a wave.
/zmob add [name of mob] [wave number] [amount]
If the wave number = all, the mob gets added to every wave in the round. Can be modified and deleted as normal with wave number all.

Deleting Mobs :
Deletes a mob from a wave.
/zmob del [name of mob] [wave number]

Modifying Mobs :
Modifies a mob of a wave.
/zmob mod [name of mob] [wave number] [modification type] [value]
Mob stat modifications are :

  • Damage (0)
  • Health (1)

Adding Score Values :
Adds the amount of score given to the player when they defeat it. No score value will just give points every hit like normal.
/zmob mod [name of mob] [wave number] 2 [value] [constant or decreasing over time]
Score values can be constant, which means the score it gives when killed stays constant like with a brain suckler in normal rounds, or decreasing over time like with a boss.

Changing Type To Secondary
Another type of mob, the secondary mob is a mob that when spawned, which mobspawn it spawns at is random. With multiple secondary mobs, this process runs for every secondary mob to spawn and spreads them out.
/zmob mod [name of mob] [wave number] 3 [number of times the secondary will spawn]
Automatically makes a mob secondary type.

Replicating Mobs From Real Rounds

10 Possessed Armors For Every Wave (Round 10 Waves)

/selectround 10
/zmob add 140 all 10

Round 5 Boss (The Last Wave Of Round Five Which I’m Guessing Is 6)

/selectround 5
/zmob add 280 6 1
/zmob mod 280 6 1 1000
/zmob mod 280 6 2 15000 decreasing

Three Wandering Eyes (Round 6, Wave 1)

/selectround 6
/zmob add 133 1 1
/zmob mod 133 1 3 3
/zmob mod 133 1 2 1000 constant

What About Infinite Rounds?

The last round will be repeated forever.

KB Resistance, defense, immunity, movement speed and ai type aren’t configurable, it’s possible but it would require a hacky solution and would probably use way more resources (for example, ai type modification would send an npc update per frame of the game, which results in a lot of data being sent out per custom ai npc, this is possible, we had it before, a boss called Jellytron, but it’s not something we can seriously add to something like this). Shooting custom projectiles and inflicting debuffs is custom behaviour and not possible without an extra implementation.

You also have conflated wave and round. A wave is spawned when the mob count is below the threshold, that’s when a group of mobs spawn together. A round is the culmination of waves with specific enemy types.

Currently missing coverage for:

  • How it will interact with Events like Halloween and Christmas.
  • How the waves are designed and thus in what different ways map makers will be able to configure/change waves
  • How waves work in rounds past those that have been defined

For example your commands do not describe how you would replicate what exists. Think about it like this. Take what exists in zombies and imagine it in your idea of the system. How would you literally add each round via your implementation? (Not every mob, but pick out the individual things, for example bosses, basic mobs, things like wandering eyes). Right now, your solution would seem to spawn every mob equally.

4 Likes

I edited the post, is it good now?

3 Likes

This isn’t relevant to the topic of discussion, but never knew about this distinction:

I’m not sure if this already exists, but is there a guide which outlines every mob that spawns in the waves of each round?

3 Likes
  1. We know there are technically infinite rounds, how do you handle that?
  2. How do you handle wandering eyes for example. There’s not one spawning per mob spawn, depending on the round there are more/less of secondary mob spawns (depending on which secondary mob)
  3. It seems like it would be tedious to make the later round’s waves.
  4. What happens if you define wave 1 and 3. Does it skip 2 or does it ignore 3?
  5. How do you see which rounds are defined, which mobs exist in those rounds?
  6. You removed the custom projectile modification, but projectile speed is just custom projectiles
  7. What happens if you add a mob via command, then do it again?
3 Likes

As how it works in normal zombies, it keeps repeating the last round that’s been defined. So for example if I added one zombie for the entirety of round one and put no other rounds after it, it would keep spawning in one zombie every round.

You could have another type of mob which spawns randomly across mob spawns X/M times, X being the amount the creator wants it to spawn and M being the number of mob spawns. Would this work?

Can you define how?

It ignores every wave past 2, so yes it ignores 3.

/zwave list

I thought you meant that creators can’t add a different projectile for the zombie to shoot, but they can still modify the original projectile the zombie shoots if it has one.

They work as two different groups, and can still be modified individually. The problem is modifying a certain group. If you added two of the same weapons in the same class to the same tier in a chest and wanted to modify one, maybe the same solution to that situation could be applied to this situation.

4 Likes

Make sure to update the OP with any decisions, since that’s the proposal. People should only have to read the OP to know everything about the proposal other than anything undecided.

Pure random, no. Since then there’s no way to show how many mobs will spawn in the current round.

There are many waves at those rounds. You would be constantly adding new waves, and it would be easy to make a mistake and have to dig through the list of waves to find it.

Changing anything is custom behaviour, and like I said before, there’s no implementation of that already.

3 Likes

What if we had universal mobs, which spawn every wave? /zmob add [name of mob] all [amount]

What I mean is that you can set a mob to spawn X number of times, but which mobspawns they spawn is random. For example if you set a mob to this type and set it to spawn 5 times and you had 10 mobspawns, then five of the mobspawns would spawn the mob, and which ones would be completely random.

What exactly is the OP?

4 Likes

original post/original poster: This can refer to either the first post in a topic, or the person who created the topic. This is usually shortened to OP.

In this case I’m talking about the original post (the one you made to create the topic).

For now I’ll hold off and wait to see if anyone else has anything to add.

3 Likes

Ok, I will edit it now

4 Likes

I think you forgot to list the types along with the numbers

I think it’d be better to share a command with /zmob. Bosses are just mobs with special treatment

6 Likes

Oh.

True. Now that I realize it, it could just be a modification of the modification type of three of the modification command.

4 Likes

Proposal for possible output:

Wave [Number]
  [Mob ID] - [Mob Name] | (Modifications)

example (Round 5)

Wave 6
  280 - Sword Hell Armored Bones | HP: 1000 | Score(Decreasing): 15000
5 Likes

This will work. It might also help to put amounts if there are any mistakes having to do with amounts.

6 Likes

Oh right, I forgot amounts, that looks good :+1:

6 Likes

Can you explain this more.
For example, in the context of one we’ve had already: the way Halloween works is that we change the round manager to a Halloween themed one that spawns mobs related to Halloween with a few changes (entire rounds have their mobs changed, swapped out / new bosses, rewards related to killing certain bosses or getting to a certain round).

If we go back in time, if the proposed system existed before that event, how would that event be done given people have customised their mob spawns completely?

I would say ideally we would open up choice for the players to play on any map for the event, but for a truly event-themed experience it seems to me that we might just have to create a map and make that map the only map for the event?

5 Likes

I’m not sure if this already exists, but is there a guide which outlines every mob that spawns in the waves of each round?

Here is a guide that outlines what mobs spawn in each stage:

This is slightly outdated in terms of when expert/master mode is enabled i’m pretty sure, and it’d obviously would became useless for most maps unless i let zombie map editors access to the document as well and add their rounds in

5 Likes

If we go back in time, if the proposed system existed before that event, how would that event be done given people have customised their mob spawns completely?

Maybe we could let map creators make their own event rounds as well, and if not only a few select maps would be available for the event, such as the maps with the default rounds. But that could possibly be too complex for map creators.

I would say ideally we would open up choice for the players to play on any map for the event, but for a truly event-themed experience it seems to me that we might just have to create a map and make that map the only map for the event?

I like the idea of Event exclusive maps.

5 Likes

Could Work.

What I mean is that during the events, the round changes the customized enemies to their Christmas/Halloween counterparts. People can customize this even further if they want (except for a few mobs and bosses which actually give the Christmas reward).

6 Likes

To add to this, I think a set of collective rounds then become an enemy collection. There would be 3 default collections, one for non-event, one for Halloween, and one for Christmas. Maps creators can then build off the default or make their own. Map creators don’t necessarily have to follow the mobs in each default mob by mob. However, map creators would need to submit their own collection for review to get that map approved for the event

5 Likes