package net.sourceforge.pain.tinylib.logic.affect;
import net.sourceforge.pain.*;
import net.sourceforge.pain.data.*;
import net.sourceforge.pain.logic.*;
import net.sourceforge.pain.tinylib.data.type.*;
import net.sourceforge.pain.tinylib.logic.fn.*;
/**
* NoTell Affect
* <p/>
* Codebase require from all affect controllers (Affect subclasses) to have constructor with (AffectData d) param.
* this constructor is used for automatically affect controller instantiation and initialization with
* persistent image
*/
public class NoTellAffect extends Affect {
/**
* this constructor is required by codebase
*/
public NoTellAffect(AffectData ad) {
super(ad);
}
public static void applyToObject(Interactive inter) throws Exception {
new AffectData(Codebase.getDB(), inter, NoTellAffect.class, AffectType.AFFECT_NOTELL);
MessageOutFn.outln(inter, "You can't tell anymore");//just an example
}
/**
* user is allowed to cancel affect manualy
*/
public static void cancelAffect(Creature mob) {
AffectData ad = mob.getAffectData(AffectType.AFFECT_NOTELL);
ad.delete();
MessageOutFn.outln(mob, "You can tell now");//just an example
}
}