Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Reflection;
- namespace Kittehz
- {
- class Kitteh : SingletonBase, IKillable, IDisposable, IEdible, IFluffy, ITastey, IClaws, ICrusty, IComparable, IZombiable
- {
- internal enum Status : byte
- {
- Alive,
- Dead,
- Schroedingered,
- InSuperPosition //Far less perverted than it sounds
- }
- internal enum MeowTypes : byte
- {
- Angry,
- Happy,
- Horny,
- Barfing
- }
- internal enum Gender
- {
- Male,
- Female,
- Uhhhhhh,
- Shrug
- }
- internal enum Sex
- {
- Yes,
- No,
- Please,
- NotUntilAfterDrinks,
- What
- }
- internal enum SexualOrientation
- {
- Straight,
- Rainbow,
- Confused,
- SomwhereInBetween,
- Fluid
- }
- internal enum Moods
- {
- Happy,
- Angry
- }
- public Moods Mood { get{ return Moods.Angry; } }
- public Status LifeStatus { get; private set; }
- private int _lives = 9;
- public int Lives
- {
- get{ return this._lives;}
- set
- {
- if(value == 0)
- this.Kill();
- this._lives = value;
- }
- }
- public void Kill()
- {
- //Impliments Magic
- if(this.Lives == 0)
- {
- this.Dispose(Trash.Can.AtCurb);
- return;
- }
- this.Lives--;
- this.LifeStatus = Status.Dead;
- }
- public bool IsZombie
- {
- get
- {
- return (this.Lives <= 0);
- }
- }
- public event EventHandler<MeowingEventArgs> Meowing;
- public void Meow(MeowType type, double count = Math.Epsilon)
- {
- for(int i = 0; i < count; i++)
- {
- //ToDo, murder idiot who wrote this
- //tODo fuck oFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- // TODID LOLOLOLOL
- //this.Meow(type); // you heard me
- if (Meowing != null)
- Meowing(this, new MeowingEventArgs());
- }
- }
- public static operator implicit(Pussy pussy)
- {
- if (this.LifeStatus == Status.Alive)
- return new Pussy() { Shaved = false};
- return new BaldPussy();
- }
- public void ExposeToRadiation(bool IsObserved)
- {
- if (!IsObserved)
- this.LifeStatus = Status.Schroedingered;
- else
- this.Lives--;
- }
- public virtual bool Eat(IEdible item)
- {
- //WARNING: BEFORE YOU EDIT THIS METHOD YOU MUST VIEW http://www.youtube.com/watch?v=NzgfGhqQ4KQ
- //ToDo: create user group to decide if cats can eat other cats
- // Current votes: Yes: 42 No: -88
- if (item.GetType() == this.GetType() && !Starving)
- throw new CannibalismException();
- }
- public Hairball GetHairball()
- {
- }
- public bool HaveRelations(Kitteh partner)
- {
- if(this.Name == "Bill Clinton")
- Queue.Add(Denial.SexualRelations("That Kitteh");
- if (partner is FatKitteh)
- throw new TooFatToPenetrateException();
- if(this.Sex != Sex.Yes ||
- this.Sex != Sex.Please &&
- this.SusceptibilityToRoofies < 5 ||
- !Rape.IsLegalInThisCountry(ThreadCulture.GetCurrentCulture()) &&
- !this.HasExperiementedWithAlcohol &&
- !this.IsHighAsAKite)
- {
- throw new ImAnIdiotException("Kill Me NoW!!!!");
- }
- if(this.Gender == partner.Gender && this.SexualOrientation == SexualOrientation.Straight)
- throw new RickSantorumSaysNotPermittedByTheBibleException("Hallelujah!");
- }
- public void Pet()
- {
- if ((new Random()).Next()%3 != 0)
- {
- using(Owner owner = this.GetOwner())
- {
- this.Scratch(owner);
- }
- }
- else
- {
- if((new Random()).Next()%2929283 == 0)
- {
- Purr();
- }
- }
- }
- public void Scratch(ICreature target)
- {
- if(target.Inventory.Contains(Weapons.Katana))
- throw new EatenByGrueException();
- this.PrepClaws();
- this.ChooseTarget(target.Eyes | target.Groin);
- try
- {
- while(!target.RenderedUseless)
- {
- target.Attack();
- }
- }
- catch(BoredException boredEx)
- {
- this.ChooseTarget(Environment.CarboardBox);
- this.SetActivity(Clean.Self);
- }
- }
- }
- class FatKitteh : Kitteh
- {
- public override bool Eat(IEdible item)
- {
- return true;
- }
- }
- }
- public abstract class Hairball
- {
- }
- public class StickyHairball : Hairball
- {
- }
- public class OldHairball : Hairball
- {
- }
- public class WetNastyHairball : Hairball
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment