public TimedMethod[] CheckLead() { TimedMethod[] messages = new TimedMethod[0]; TimedMethod[] temp; if (poisoned > 0) { self.SetHealth(System.Math.Max(self.GetHealth() - poisoned, 0)); temp = new TimedMethod[messages.Length + 2]; messages.CopyTo(temp, 0); temp[messages.Length] = new TimedMethod(0, "Audio", new object[] { "Poison Damage" }); temp[messages.Length + 1] = new TimedMethod( 0, "CharLogSprite", new object[] { poisoned.ToString() + " poison", self.partyIndex, "poison", self.GetPlayer() }); messages = temp; if (self.GetHealth() == 0) { TimedMethod[] dead = Party.CheckDeath(); temp = new TimedMethod[messages.Length + dead.Length]; messages.CopyTo(temp, 0); dead.CopyTo(temp, messages.Length); messages = temp; return(messages); } } if (apathetic > 0) { if (rng.Next(10) < 3) { passing = true; apathetic--; temp = new TimedMethod[messages.Length + 1]; messages.CopyTo(temp, 0); temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " struggled to care" }); messages = temp; } } if (possessed > 0) { temp = new TimedMethod[messages.Length + 1]; messages.CopyTo(temp, 0); temp[messages.Length] = new TimedMethod(60, "SwitchTo", new object[] { 1 }); messages = temp; } TimedMethod[] regular = Check(); temp = new TimedMethod[messages.Length + regular.Length]; messages.CopyTo(temp, 0); regular.CopyTo(temp, messages.Length); messages = temp; return(messages); }
public override TimedMethod[] EnemyTurn() { FratLord f = (FratLord)Party.GetEnemy(1); if (Attacks.EvasionCheck(Party.GetPlayer(), GetAccuracy())) { TimedMethod[] firePart = new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " was compelled to jump the bonfire, and failed" }), new TimedMethod(0, "StagnantAttack", new object[] { false, 5, 5, GetAccuracy(), true, false, false }) }; TimedMethod[] fratPart = f.Fail(); TimedMethod[] moves = new TimedMethod[firePart.Length + fratPart.Length]; firePart.CopyTo(moves, 0); fratPart.CopyTo(moves, firePart.Length); return(moves); } else { Party.enemySlot = 1; TimedMethod[] firePart = new TimedMethod[] { new TimedMethod(60, "Log", new object[] { ToString() + " was compelled to jump the bonfire" }), new TimedMethod(0, "AttackAny", new object[] { this, Party.GetPlayer(), 5, 5, GetAccuracy(), true, false, false }) }; TimedMethod[] fratPart = f.Third(); TimedMethod[] moves = new TimedMethod[firePart.Length + fratPart.Length]; firePart.CopyTo(moves, 0); fratPart.CopyTo(moves, firePart.Length); return(moves); } }
public override TimedMethod[] Use() { Attacks.SetAudio("Knife", 30); TimedMethod[] blindPart; if (Party.GetPlayer().GetAccuracy() > Party.GetEnemy().GetEvasion()) { blindPart = Party.GetEnemy().status.Blind(7); } else { blindPart = new TimedMethod[] { new TimedMethod("Null"), new TimedMethod("Null") }; } TimedMethod[] attackPart = new TimedMethod[] { new TimedMethod(0, "Audio", new object[] { "Small Swing" }), new TimedMethod(0, "StagnantAttack", new object[] { true, Party.GetPlayer().GetStrength(), Party.GetPlayer().GetStrength() + 2, Party.GetPlayer().GetAccuracy(), true, true, false }) }; TimedMethod[] total = new TimedMethod[4]; attackPart.CopyTo(total, 0); blindPart.CopyTo(total, 2); return(total); }
public TimedMethod[] Check() { string message = ""; TimedMethod[] messages = new TimedMethod[0]; TimedMethod[] temp; if (caffeine > 0) { caffeine--; if (caffeine == 0) { //self.SetPower(self.GetPower() - 10); self.GainAccuracy(-10); caffeine = -5; temp = new TimedMethod[messages.Length + 1]; messages.CopyTo(temp, 0); temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " crashed" }); messages = temp; } } else if (caffeine < 0) { caffeine++; if (caffeine == 0) { //self.SetPower(self.GetPower() + 5); self.GainAccuracy(5); temp = new TimedMethod[messages.Length + 1]; messages.CopyTo(temp, 0); temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " recovered" }); messages = temp; } } if (regeneration > 0) { self.Heal(regeneration); temp = new TimedMethod[messages.Length + 1]; messages.CopyTo(temp, 0); temp[messages.Length] = new TimedMethod( 0, "CharaLogSprite", new object[] { regeneration.ToString(), self.partyIndex, "regeneration", self.GetPlayer() }); messages = temp; } if (blinded > 0) { blinded--; } if (asleep > 0) { int threshold = rng.Next(6) + 1; if (waking || threshold <= asleep) { asleep = 0; waking = false; temp = new TimedMethod[messages.Length + 1]; messages.CopyTo(temp, 0); temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " woke up" }); messages = temp; } else { asleep++; temp = new TimedMethod[messages.Length + 1]; messages.CopyTo(temp, 0); temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " is asleep" }); messages = temp; } } if (possessed > 0) { possessed--; if (possessed == 0) { temp = new TimedMethod[messages.Length + 1]; messages.CopyTo(temp, 0); temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " got a hold of themself" }); messages = temp; } else { temp = new TimedMethod[messages.Length + 2]; messages.CopyTo(temp, 0); temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " attacked " + Party.GetPlayer().ToString() }); temp[messages.Length + 1] = new TimedMethod(0, "AttackAny", new object[] { self, Party.GetPlayer(), self.GetStrength(), self.GetStrength(), self.GetAccuracy(), true, true, false }); messages = temp; } } if (stunned > 0) { stunned--; if (stunned > 0) { temp = new TimedMethod[messages.Length + 1]; messages.CopyTo(temp, 0); temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " is stunned" }); messages = temp; } } if (passing == true) { //passing = false; temp = new TimedMethod[messages.Length + 1]; messages.CopyTo(temp, 0); temp[messages.Length] = new TimedMethod(60, "Log", new object[] { self.ToString() + " skipped their turn" }); messages = temp; } return(messages); }