en:rpd:artifact_buff
Table of Contents
Artifact Buff
Artifact Buff is a base class for artifact-related buffs in Remixed Dungeon. It extends the standard Buff class and adds specific behavior for artifact-sourced buffs.
Description
Artifact Buffs are special buffs that originate from artifact items (typically artifact rings). Unlike regular buffs, they have additional logic to track their artifact source and automatically detach if the source artifact is removed or invalid.
Key Features
- Source Tracking: Each ArtifactBuff tracks its source entity ID via `getSourceId()`
- Auto-Detach: If the source ID is `EntityIdSource.INVALID_ID` (meaning non-artifact source), the buff automatically detaches
- Persistence: Artifact buffs with valid source IDs don't get packed/saved with the game state (`dontPack()` returns `true`)
- Entity Kind: Returns “artifactBuff” + parent entity kind for unique identification
Code Implementation
```java public class ArtifactBuff extends Buff {
@Override
public boolean act() {
if(getSourceId()==EntityIdSource.INVALID_ID) { // non-artifact source
detach();
}
return super.act();
}
public String getEntityKind() {
return "artifactBuff" + super.getEntityKind();
}
@Override
public boolean dontPack() {
return getSourceId()!= EntityIdSource.INVALID_ID;
}
} ```
Known Subclasses
- Stone Walking Buff - Applied by Ring of Stone Blood
- Other artifact ring buffs (extend ArtifactBuff)
Code References
- Buff.java (parent class)
- EntityIdSource.java (source ID tracking)
String Resources
Artifact buffs use the string resources of their specific implementations. See individual buff pages for string references.
Related Pages
- Buff Mechanics - Base buff system
- Ring of Stone Blood - Example artifact ring
- Stone Walking Buff - Example artifact buff
- Doom Interface - Interface for doom-type buffs
en/rpd/artifact_buff.txt · Last modified: by 127.0.0.1
