Attribute Anomaly Buddy
This buddy adds a system similar to the anomaly system in Zenless Zone Zero !
When a match starts, each character is given an attribute! Base cast are given attributes specific to them and workshop characters are given a random attribute on match start or creators can give compatibility to their character (attribute, colour, text, sprite) with the variables lower down in this description.
This attribute can be changed/chosen at the beginning of the game or in training range.
When players are hit, they accumulate anomaly based on the attribute of the character they were hit by. When accumulation reaches 100 they cause a special effect.
Fire: causes damage over time and spreads to nearby players.
Ice: freezes the player for a moment. When the duration ends or they are hit, they are shattered, dealing damage based on the time they spent frozen and increasing startup of all attacks by 4 frames.
Electric: causes attacks dealt to players to deal much more hitstun and flat damage increase, has a chance to jump to nearby players.
Ether: causes attacks dealt to players to deal extra damage based on hitpause and increases knockback scaling.
Physical: when procced, does an immediate high instance of damage based on the players weight class and forces their knockback angle to be 90.
Wind: when procced, inflicts the windswept state, causing wind attacks to deal extra damage. If another anomaly is applied on top, they are vortexed, dealing AOE damage based on the attribute applied. When vortexed, the player ALSO takes extra damage from the attribute that caused the vortex.
If any attribute (besides wind) applies anomaly on top of an already existing anomaly, the previous anomaly is discarded and DISORDER is triggered, dealing massive damage based on the duration that was left on the previous anomaly and taking increased knockback from the attack that caused it.
all base cast characters have an attribute assigned to them.
———————
If you want to assign a specific attribute to your character you can!
All of these go in init.gml. You can also modify them in any other script
You can assign a base element to your character using ‘attribute_anomaly_buddy_element’
Fire = 0, Ice = 1, Electric = 2, Ether = 3, Physical = 4, Wind = 5.
attribute_anomaly_buddy_element = 1; // this would set your attribute to ice.
If you want to go a step further you can also give it a custom colour, pop up text or even a sprite!
‘attribute_anomaly_buddy_colour’ accepts any supported GML colour format (on this version), so examples:
attribute_anomaly_buddy_colour = $d3ff00;
or
attribute_anomaly_buddy_colour = c_cyan;
the custom pop up text ‘attribute_anomaly_buddy_text’ accepts any string input. Keep in mind that the font is quite limited, so as of now the only accepted characters are "a – z" (will convert to uppercase) and "! , .". Any unsupported character will return blank. some examples:
attribute_anomaly_buddy_text = "HALLOWED!!" // Will return "HALLOWED!!"
attribute_anomaly_buddy_text = "Hall owed!." // Will return "HALL OWED!."
attribute_anomaly_buddy_text = "H%llowed++" // Will return "H LLOWED "
Please note there’s a max character limit of 30.
You can also use a custom sprite for your attribute if you wish, kind of like Yixuans ink or Miyabis frost; with ‘attribute_anomaly_buddy_anomaly_sprite’. Example:
attribute_anomaly_buddy_sprite = sprite_get("anemo_icon");
the sprite should be monochrome (black and white) to allow for recolouring, the icon size is 10×10 pixels (with no upscaling).
You can assign any of these, none of them are required by each other. I recommend though to at least assign your attribute if you’re going to assign a custom colour, text or sprite, as it might produce wacky results otherwise.
Keep in mind that assigning a custom colour or sprite will SEPERATE this attribute from attributes of the same type.
So if you have ice attribute with a custom colour or sprite, it will count as separate to regular ice, causing separate buildup and separate reactions. This means they can trigger disorder on each other, like Miyabi’s frost attribute in ZZZ.
They are also real time, so any of them can be changed during the match in your character! for example: Azula’s element is the default electric, however when she enters plusform, she gains a unique sprite, colour and text!

Her base attribute stays the same, but due to the colour and sprite being different, it’s treated as a unique attribute! Which also allows her to disorder on her own!
————————–
I tried to mimmick how these attributes work in ZZZ while still translating them for rivals of aether, as well as making them fun to mess around with and combo with and what not!. This buddy might hitch your game at times when there’s a lot of text.
Thank you Kibby for help with HUD stuff.
Thank you to my friends TheFishEye, Active and Divine for helping playtest and continued support
Please enjoy!
