protected override void DestroyInternal() { base.DestroyInternal(); if ((Polity != null) && Polity.StillPresent) { Tribe tribe = Polity as Tribe; long triggerDate = CalculateTriggerDate(tribe); if (triggerDate < 0) { // skip reseting the event since the trigger date is invalid return; } if (triggerDate <= tribe.World.CurrentDate) { throw new System.Exception( "Trigger Date (" + triggerDate + ") less or equal to current date: " + tribe.World.CurrentDate); } tribe.ResetEvent(FosterTribeRelationDecisionEventId, triggerDate); } }