8 public virtual bool IsKilled => base.value <= 0;
17 obj = base.value.ToString();
53 Debug.LogError(
"#source can't create condition from alias '" + alias +
"'");
55 string text = row.
type.IsEmpty(alias);
57 if (condition ==
null)
61 ModUtil.LogModError(
"source condition row '" + alias +
"' has invalid type '" + text +
"'", row);
63 condition.power =
power;
64 condition.id = row.
id;
65 condition._source = row;
66 onCreate?.Invoke(condition);
82 base.isPerfume =
true;
83 base.value = duration;
87 public override void Tick()
108 public void Kill(
bool silent =
false)
112 if (!silent && !
owner.
isDead && !base.source.textEnd.IsEmpty())
124 owner.emoIcon =
Emo2.none;
virtual bool ShouldRefresh
virtual string RefString1
virtual int EvaluateTurn(int p)
void Mod(int a, bool force=false)
virtual void PlayEndEffect()
ElementContainer elements
void Say(string lang, string ref1=null, string ref2=null)
void Refresh(bool calledRecursive=false)
List< Condition > conditions
virtual void OnCalculateFov(Fov fov, ref int radius, ref float power)
virtual void OnStacked(int p)
override BaseNotification CreateNotification()
Condition SetPerfume(int duration=3)
void Kill(bool silent=false)
virtual void OnCreateFov(Fov fov)
override void OnValueChanged()
virtual string TextDuration
static Condition Create(string alias, int power=100, Action< Condition > onCreate=null)
static T Create< T >(int power=100, Action< T > onCreate=null)
static SourceManager sources
virtual void RefreshAll()