Table of Contents

Buff System - Code References

Core Classes

Key Interfaces

Buff Registration

BuffFactory maintains a static map of buff class names to Class objects:

private static final Map<String, Class<? extends Buff>> buffMap = new HashMap<>();
 
static {
    // Register all buff classes
    buffMap.put("Bleeding", Bleeding.class);
    buffMap.put("Poison", Poison.class);
    // ... etc
}

Retrieving buff by name:

public static Buff getBuffByName(String className) {
    Class<? extends Buff> buffClass = buffMap.get(className);
    return buffClass != null ? buffClass.newInstance() : null;
}

Char Buff Management

Doom Buffs (Special Death)

Buffs implementing Doom interface:

Artifact Buffs

Buffs granted by artifacts (implement ArtifactBuff):

String Resources

Standard string naming pattern for buffs:

JSON Configuration

Most buffs are registered in BuffFactory, not configured via JSON. Some artifact buffs are configured in: