package net.sourceforge.pain.logic.affect;
import net.sourceforge.pain.*;
import net.sourceforge.pain.data.*;
import net.sourceforge.pain.data.type.*;
import net.sourceforge.pain.logic.*;
import net.sourceforge.pain.logic.fn.*;
/**
* User: fmike Date: Mar 22, 2004 Time: 3:51:36 AM
*/
public final class ImmortalityAffect extends Affect {
public ImmortalityAffect(AffectData ad) {
super(ad);
}
public static void makeImmortal(Creature c) throws Exception {
if (c == null) {
throw new NullPointerException("creature == null!!!");
}
new AffectData(Core.getDB(), c, ImmobilityAffect.class, AffectType.AFFECT_IMMORTAL);
MessageOutFn.outln(c, "Immortality ON");//just an example
}
public static void makeMortal(Creature c) throws Exception {
AffectData ad = c.getAffectImage(AffectType.AFFECT_IMMORTAL);
if (ad == null) {
return;
}
ad.delete();
MessageOutFn.outln(c, "Immortality OFF!");//just an example
}
/**
* required by codebase (performance)
*/
public Affect newInstance(AffectData ad) {
return new ImmortalityAffect(ad);
}
}