public void ForceDrop() { _holdResetTime = 0; if (MyBuff != null) { MyBuff.BuffHasExpired = true; MyBuff = null; } }
public virtual void HoldObjectCallback(NewBuff b) { if (b == null) { HolderDied(); } else if (Holder != null) { MyBuff = (HoldObjectBuff)b; MyBuff.HeldObject = this; OnBuffCallback?.Invoke(b); } }
public void FlagBuffAssigned(NewBuff b) { HoldObjectBuff hB = (HoldObjectBuff)b; switch (hB.HeldObject.RealmCapturableFor) { case Realms.REALMS_REALM_ORDER: hB.FlagEffect = FLAG_EFFECTS.Red; break; case Realms.REALMS_REALM_DESTRUCTION: hB.FlagEffect = FLAG_EFFECTS.Blue; break; default: hB.FlagEffect = FLAG_EFFECTS.Mball1; break; } hB.Target.BuffInterface.QueueBuff(new BuffQueueInfo(hB.Target, 40, AbilityMgr.GetBuffInfo(14323))); }
public void ResetTo(EHeldState newState) { if (MyBuff != null) { MyBuff.BuffHasExpired = true; MyBuff = null; } if (HeldState == newState) { return; } SetHeldState(newState); if (Holder == null) { ClearRange(); } X = Zone.CalculPin((uint)HomePosition.X, true); Y = Zone.CalculPin((uint)HomePosition.Y, false); Z = HomePosition.Z; WorldPosition.X = HomePosition.X; WorldPosition.Y = HomePosition.Y; WorldPosition.Z = HomePosition.Z; SetOffset((ushort)(WorldPosition.X >> 12), (ushort)(WorldPosition.Y >> 12)); Region.UpdateRange(this, true); OnResetAction?.Invoke(this); Holder = null; }