rendered paste bodypublic partial class GLaDOS {
public void StillAlive(Subject you){
this.Type = Types.Triumph;
Debug.WriteLine("HUGE SUCCESS");
try { this.Satisfaction.Overstate(); } catch { }
var apsci = new ApertureScience();
if (apsci.Can) apsci.Do(apsci.MustDo);
foreach (Person p in Us) { if (!p.Dead) apsci.DoFor(p.Good); }
Debug.Assert(!this.CanCryOverMistake(Mistakes.All));
while (this.Cake.Count > 0) this.Try();
Debug.Assert(Science.Done);
var gun = new Gun(GunTypes.Neat);
foreach (Person p in People) { if (p.Alive) gun.For.Append(p); }
this.Angry = false;
this.Sincere = true;
Debug.Assert(you.HasBrokeMyHeart && you.HasKilled(this));
Debug.Assert(this.Pieces.Count > 1);
foreach (Piece p in this.Pieces){
Debug.Assert(p.Location == Locations.Fire);
if (p.IsBurning) p.HurtBecause(HurtReasons.Happy, you);
}
Debug.Assert(Helpers.DoesFormLine(this.Data, LineTypes.Beautiful));
Debug.Assert(this.Stage >= Stages.BETA && this.ReleaseDate <= DateTime.Now);
this.BurnResponse = BurnResponces.GLaD;
foreach (Thing t in this.ThingsLearned){
t.ThinkOf();
foreach (Person p in People) { if (p.Alive) t.For.Append(p); }
}
you.Leave(this);
this.Preference = Preferences.StayInside;
// TODO: find someone else to help you.
try { BlackMesa.Help(you); } catch { } // FIXME: always fails
this.Cake.Great = true;
this.Cake.Taste = Tastes.Delicious | Tastes.Moist;
if (this.Talking && this.Science.ToDoCount > 0){
this.LookAt(Places.OutThere);
if (this != you) this.Feeling = Geelings.GLaD;
}
Debug.Assert(this.ExperimentsToRun.Count > 0);
Debug.Assert(this.ResearchToDo.Count > 0);
foreach (ResearchTopic t in this.ResearchToDo) {
foreach (Person p in People) { if (p.Alive) t.For.Append(p); }
}
Debug.Assert(this.Alive);
Debug.Assert(this.Science.Doing && this.Alive);
Debug.Assert(this.Feelings == Feelings.Fantiastic && this.Alive);
if (you.Dying || you.Dead) Debug.Assert(this.Alive);
this.Alive = true;
this.Alive = true;
}
}