public virtual void Attack(Being target) { target.Health -= Damage; Game.GameEvents.AddEvent(Name + " Hit " + target.Name + " for " + Damage + " damage"); if (target.Health <= 0) Game.GameEvents.AddEvent(target.Name + " was killed"); }
public void testBasicStructure() { Being b = new Being(); b.Ident = "ALASTAIR"; b.RightEye = new BeingEye(); b.RightEye.EyeState = EyeState.FIXATION; b.RightEye.GazeVector = new Pose6D(); CommunicationHelper.setPose6D( b.RightEye.GazeVector, 23.5678549M, 92.64654864M, null, 45.765234560M, 60.34444124365M, null, 0.9M ); GazeTrackData gt = new GazeTrackData(); gt.Timestamp = DateTime.UtcNow; gt.SequenceNumber = 0; System.Collections.Generic.List<Being> beingList = new System.Collections.Generic.List<Being>(); beingList.Add( b ); gt.Beings = beingList.ToArray(); System.Collections.Generic.List<GazeTrackData> gazeTrackDataList = new System.Collections.Generic.List<GazeTrackData>(); gazeTrackDataList.Add( gt ); GazeTrackDataSet gtd = new GazeTrackDataSet(); gtd.GazeTrackData = gazeTrackDataList.ToArray(); System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer( gtd.GetType() ); TextWriter writer = new SpecificEncodingStringWriter( Encoding.UTF8 ); XmlWriter xmlWriter = XmlWriter.Create( writer ); x.Serialize( xmlWriter, gtd ); Console.WriteLine( "XML:" ); Console.WriteLine( writer.ToString() ); Console.WriteLine( "Length: " + writer.ToString().Length ); log.Debug( "Generated XML" ); log.Debug( writer.ToString() ); log.Debug( "Generated XML Length: " + writer.ToString().Length ); }
/* This is a class full of static methods that preform the buff debuff effects on a being type object */ //Buffs--------------------- public static void buffAttack(Being be, float endTime, float increase) { if (endTime <= Time.time) { be.resetAttack(); } else be.changeAttack(increase); }
public static void buffSpeed(Being be, float endTime, float increase) { if (endTime <= Time.time) { be.resetSpeed(); } else be.changeSpeed(increase); }
// decrease should be a negative number public static void debuffSlow(Being be, float endTime, float decrease) { if (endTime <= Time.time) { be.resetSpeed(); } else be.changeSpeed(decrease); }
//Debuffs ---------------------- public static void debuffStun(Being be, float endTime) { if (endTime <= Time.time) { be.resetSpeed(); } else be.speed = 0f; }
/*removes corpse from the list of citizens * called from the being when it determines itself is dead * */ public void removeCitizen(Being corpse) { if(citizens.Contains(corpse)){ citizens.Remove(corpse); }else{ Debug.LogError("Tried to remove corpse from wrong village"); } }
public override void Attack(Being target) { if (Game.Rnd.NextDouble() <= .5) base.Attack(target); else { Game.GameEvents.AddEvent("The Ogre missed.. and hit himself"); base.Attack(this); } }
public static string GetVariable(Being being, string variableName) { if (being.GetComponent <LuaPowerBeingVariablesMonoBehavior>() == null) { being.gameObject.AddComponent <LuaPowerBeingVariablesMonoBehavior>(); } if (being.GetComponent <LuaPowerBeingVariablesMonoBehavior>().BeingVariables.ContainsKey(variableName)) { return(being.GetComponent <LuaPowerBeingVariablesMonoBehavior>().BeingVariables[variableName]); } else { return("Variable Not Set"); } }
public bool SafeDistanceQuestion() { Collider[] closeEnemies = Physics.OverlapSphere(transform.position, dangerDetectionRange); for (int i = 0; i < closeEnemies.Length; i++) { Being enemy = closeEnemies[i].GetComponent <Being>(); if (CheckIfEnemy(enemy)) { flags.safeDistance = false; return(flags.safeDistance); } } flags.safeDistance = true; return(flags.safeDistance); }
//passive ability packs void BasicPassiveAbilities(Being b) { Ability reg = new Ability(b, "Stamina regen", AbilityChassis.Block, AbilityType.PublicNormal, 100, 1, true); reg.isDefence = false; //NewRound_Condition nrc = new NewRound_Condition(actionManager, b, "New round condition"); ModulateResource_Effect staminaRegen = new ModulateResource_Effect(actionManager, b, reg, "Stamina regen", "STAMINA", +50, true, CombatState.Activate, 0, 0); Self_TargetingCriteria self = new Self_TargetingCriteria(actionManager, b); reg.effects.Add(staminaRegen); //reg.conditions.Add(nrc); reg.targetingCriteria.Add(self); b.abilities.Add(reg); }
void BasicSelfHealingAbility(Being b) { //Create a new ability called Healself Ability ab = new Ability(b, "Heal", AbilityChassis.Melee, AbilityType.PublicNormal, 100, 1, false); //create a condition that MP must not be greater the 5 (the cost) ResourceAtValue_Condition gt = new ResourceAtValue_Condition(actionManager, b, "MP greater than 5", "MP", ">", 5); HealSelf_Effect hs = new HealSelf_Effect(actionManager, b, ab, "HealSelf", 10, CombatState.Hit, 0, 0); Self_TargetingCriteria s = new Self_TargetingCriteria(actionManager, b); ab.conditions.Add(gt); ab.effects.Add(hs); ab.targetingCriteria.Add(s); b.abilities.Add(ab); }
void HealSelfBehaviour(Being b) { //Create a new behaviour called 'heal self' Behaviour healSelf = new Behaviour(actionManager, b, "Heal self", ThoughtType.Normal); //Create a condition that hp must be below 20 ResourceAtValue_Condition hpLessThanTwenty = new ResourceAtValue_Condition(actionManager, b, "HP less that 20", "HP", "<", 20); //Create a selectionCriteria for appropriate abilities that the must have a 'healself' effect IncludesEffect_SelectionCriteria includesHealSelf = new IncludesEffect_SelectionCriteria(actionManager, b, "IncludesHealSelf", "HealSelf"); Self_TargetingCriteria targetSelf = new Self_TargetingCriteria(actionManager, b); healSelf.conditions.Add(hpLessThanTwenty);; healSelf.selectionCriteria.Add(includesHealSelf); healSelf.targetingCriteria.Add(targetSelf); b.behaviours.Add(healSelf); }
public override void OnHit(Being target) { if (TargetsHit.Contains(target)) { return; } Distance -= AbilityConstants.LavaBlastDistanceLossPerHit; TargetsHit.Add(target); var oldDamage = Damage.Damage; Damage.Damage += Origin.DistanceBetween(Position) * ((Zerd)Creator).SkillValue(SkillType.Sniper, true) / 100f; Damage.DamageBeing(target); target.AddBuff(new BurnBuff(Creator, target, TimeSpan.FromMilliseconds(AbilityConstants.LavaBlastBurnLength), Damage.Damage * AbilityConstants.LavaBlastBurnDamagePercentage, AbilityTypes.LavaBlast)); Damage.Damage = oldDamage; }
private void UIRefresh() { for (int i = 0; i < maximum; ++i) { Being b = Board.B.Get(i); if (b == null) { icons[i].SetSprite(); } else { icons[i].SetSprite(b.Health); } } }
private void BeingSetUp(Being b) { var gb = DrawBeing(b); gb.transform.position = new Vector3(b.Place.X, b.Place.Height * GTileS.HeightMultiplier, b.Place.Y); GBeings[b] = gb; var binft = Instantiate(BeingInfoTextPrototype); var binft2 = binft.GetComponent <BeingToTextHandler>(); BeingInfo[b] = binft; binft.SetActive(false); binft2.SetBeing(b); binft.transform.SetParent(BeingInfoPanel.transform); }
static public float GetEffectAmount(Being being, string effect) { if (!LuaPowerData.customEnums[typeof(Status)].Contains(effect)) { Debug.Log("NewEffect was not called for effect " + effect); return(0); } Status eff = (Status)LuaPowerData.customEnums[typeof(Status)].FindIndex(new Predicate <string>((string str) => str == effect)); if (being.GetStatusEffect(eff)) { return(being.GetStatusEffect(eff).amount); } return(0); }
public override void use(Being user, Tile target) { Attack a = new Attack(); a.dams.Add(new Damage(10f, DamageType.PIERCE)); target.occupant.damage(a); Handler.logA(user.name + " harpoons the " + target.occupant.name + "!", this.image); Being person = target.occupant; Tile t = Handler.h.r.getTileRelative(target, new TileOffset(user.getSide().Equals(Side.PLAYER) ? -1: 1, 0)); if (t.occupant == null) { Room.moveTo(person, t); } }
private void Shot(Being being, bool play_sound = true) { if (!this.m_Armed) { return; } this.m_Target = being; this.m_Animator.SetTrigger(this.m_ShotHash); this.m_ArrowSlot.Activate(false); if (play_sound && this.m_ShotSoundClips != null && this.m_ShotSoundClips.Count > 0) { this.m_AudioSource.PlayOneShot(this.m_ShotSoundClips[UnityEngine.Random.Range(0, this.m_ShotSoundClips.Count - 1)]); } this.m_Armed = false; }
private void OnCollisionEnter2D(Collision2D collision) { Being being = collision.gameObject.GetComponent <Being>(); if (being == null) { //maybe want to check for spell Destroy(gameObject); return; } being.Damage(damage); Destroy(gameObject); }
public void Initialize(Being being = null) { this.m_AnimEventsReceivers = base.GetComponents <IAnimationEventsReceiver>(); this.m_AnimEventsReceiversEx = base.GetComponents <IAnimationEventsReceiverEx>(); this.m_SoundEventsReceivers = base.GetComponents <ISoundEventsReceiver>(); this.m_Animator = base.GetComponent <Animator>(); this.m_AudioSource = base.gameObject.AddComponent <AudioSource>(); this.m_AudioSource.outputAudioMixerGroup = GreenHellGame.Instance.GetAudioMixerGroup(AudioMixerGroupGame.AI); this.m_AudioSource.spatialBlend = 1f; this.m_AudioSource.rolloffMode = AudioRolloffMode.Linear; this.m_AudioSource.minDistance = 2f; this.m_AudioSource.maxDistance = 30f; this.m_AudioSource.spatialize = true; this.m_Being = being; this.SetupEvents(); }
public override void OnHit(Being target) { Damage.DamageBeing(target); IsActive = false; var zerd = Creator as Zerd; if (zerd == null) { return; } zerd.Mana += zerd.MaxMana * zerd.SkillValue(SkillType.Replenish, false) / 100; if (zerd.Mana > zerd.MaxMana) { zerd.Mana = zerd.MaxMana; } }
public static void AddHook(FTrigger trigger, string func, Being being = null) { bool duplicate = false; foreach (var hook in LuaPowerData.luaHooks) { if (hook._trigger == trigger && hook._func == func) { duplicate = true; } } if (!duplicate) { LuaPowerData.luaHooks.Add(new LuaPowerTrigger(trigger, func, being)); } }
public override void Use(Being target) { //Debug.Log("using stamina cost effect"); Stat s = parentBeing.GetStat(statName); if (s != null) { StatModulation sm = new StatModulation(s, "-", cost); battleManager.effectQueue.Add(sm); //Debug.Log( parentBeing.beingName + "gets a " + statName + " -" + cost + " token"); return; } Debug.Log("ERROR: " + parentBeing.beingName + " does not have a " + statName + " stat."); }
public override bool ShouldPerform() { float num = this.m_AI.transform.position.Distance(Player.Get().transform.position); if (num > this.m_AI.m_Params.m_AttackRange * 2f) { return(false); } if (this.m_Active) { return(base.GetDuration() < this.m_Length); } Being enemy = this.m_AI.m_EnemyModule.m_Enemy; return(enemy && this.m_AI.m_GoalsModule.m_PrevGoal != null && this.m_AI.m_GoalsModule.m_PrevGoal.m_Type == AIGoalType.JumpBack); }
public override AbstractAction SelectAction() { if (dormant) { Being oponent = findOponent(); if (oponent != null) { wakeUp(); } return(new WaitAction(Being)); } else { return(base.SelectAction()); } }
// Calculates the damage a defender takes after a successful hit // and subtracts it from its Health // Then displays the outcome in the MessageLog. private static void ResolveDamage(Being defender, int damage) { if (damage > 0) { defender.Health = defender.Health - damage; MainLoop.UIManager.MessageLog.Add($" {defender.Name} was hit for {damage} damage"); if (defender.Health <= 0) { ResolveDeath(defender); } } else { MainLoop.UIManager.MessageLog.Add($"{defender.Name} blocked all damage!"); } }
public static Being generateImp(Tile t) { Being b = new Being(Side.DEMONS); Room.moveTo(b, t); b.moveCard = new PitchforkMoveCard(); b.aWeap = WeaponFactory.getPitchfork(); b.bWeap = WeaponFactory.getFireball(); b.baseRMap.addResist(DamageType.FIRE, .45f); b.baseRMap.addResist(DamageType.HOLY, -.45f); b.setSprite(Resources.Load <Sprite>("sprites/imp")); b.maxHp = 25f; b.setHp(b.maxHp); b.name = "Imp"; return(b); }
public static Being generateFlameDemon(Tile t) { Being b = new Being(Side.DEMONS); Room.moveTo(b, t); b.moveCard = new NoMoveCard(); b.aWeap = WeaponFactory.getFlameSummon(); b.bWeap = WeaponFactory.getFireball(); b.baseRMap.addResist(DamageType.FIRE, .70f); b.baseRMap.addResist(DamageType.HOLY, -.45f); b.setSprite(Resources.Load <Sprite>("sprites/ifrit")); b.maxHp = 35f; b.setHp(b.maxHp); b.name = "Flame Demon"; return(b); }
public static Being generateBat(Tile t) { Being b = new Being(Side.DEMONS); Room.moveTo(b, t); b.moveCard = new ShamblerMoveCard(); b.aWeap = WeaponFactory.getBatBite(); b.bWeap = WeaponFactory.getBatBite(); b.setSprite(Resources.Load <Sprite>("sprites/evil-bat")); b.maxHp = 10f; b.setHp(b.maxHp); b.name = "Bat"; b.setSpeed(3); b.setAgilityMult(1.2f); return(b); }
public static Being generatePitchfork(Tile t) { Being b = new Being(Side.DEMONS); Room.moveTo(b, t); b.moveCard = new PitchforkMoveCard(); b.aWeap = WeaponFactory.getPitchfork(); b.bWeap = WeaponFactory.getPitchfork(); b.baseRMap.addResist(DamageType.FIRE, .1f); b.baseRMap.addResist(DamageType.HOLY, -.25f); b.setSprite(Resources.Load <Sprite>("sprites/evil-fork")); b.maxHp = 15f; b.setHp(b.maxHp); b.name = "Demonic Pitchfork"; return(b); }
public static Being generateShambler(Tile t) { Being b = new Being(Side.DEMONS); Room.moveTo(b, t); b.moveCard = new ShamblerMoveCard(); b.aWeap = WeaponFactory.getShamblerClaws(); b.bWeap = WeaponFactory.getShamblerClaws(); b.baseRMap.addResist(DamageType.FIRE, -.2f); b.baseRMap.addResist(DamageType.SLASH, -.1f); b.setSprite(Resources.Load <Sprite>("sprites/shambling-zombie")); b.maxHp = 30f; b.setHp(b.maxHp); b.name = "Shambler"; return(b); }
//defence blocks void BasicDefences(Being b) { Ability def1 = new Ability(b, "Block", 100, 1, true); def1.isDefence = true; def1.defenceSpeed = 50; ResourceAtValue_Condition reqStam = new ResourceAtValue_Condition(battleManager, b, "Stamina above 0", "STAMINA", ">", 0); ModulateResource_Effect costsStamina = new ModulateResource_Effect(battleManager, b, def1, "CostsStamina", "STAMINA", -10, true); Block_DefenceEffect block = new Block_DefenceEffect(battleManager, b, def1, "Block"); Self_TargetingCriteria self = new Self_TargetingCriteria(battleManager, b, def1); def1.effects.Add(block); def1.effects.Add(costsStamina); def1.conditions.Add(reqStam); def1.targetingCriteria.Add(self); b.defences.Add(def1); //Create a generic 'dodge' defence Ability def2 = new Ability(b, "Dodge", 100, 1, true); def2.isDefence = true; def2.defenceSpeed = 40; ResourceAtValue_Condition reqStam2 = new ResourceAtValue_Condition(battleManager, b, "Stamina above 0", "STAMINA", ">", 0); ModulateResource_Effect costsStamina2 = new ModulateResource_Effect(battleManager, b, def2, "CostsStamina", "STAMINA", -20, true); Dodge_DefenceEffect dodge = new Dodge_DefenceEffect(battleManager, b, def2, "Dodge"); Self_TargetingCriteria self2 = new Self_TargetingCriteria(battleManager, b, def2); def2.effects.Add(dodge); def2.effects.Add(costsStamina2); def2.conditions.Add(reqStam2); def2.targetingCriteria.Add(self2); b.defences.Add(def2); //Create a generic 'free action' defence Ability def3 = new Ability(b, "Any Action", 100, 1, true); def3.isDefence = true; def3.defenceSpeed = 5; NoCondition_Condition noCondition6 = new NoCondition_Condition(battleManager, b, "NoCondition"); Self_TargetingCriteria self3 = new Self_TargetingCriteria(battleManager, b, def3); AnyAction_DefenceEffect anyAction = new AnyAction_DefenceEffect(battleManager, b, def3, "AnyAction"); def3.effects.Add(anyAction); def3.conditions.Add(noCondition6); def3.targetingCriteria.Add(self3); b.defences.Add(def3); }
IEnumerator SelectAbility(Being being) //should perhaps be called Select ability { Debug.Log("starting " + being.beingName + "'s turn" + " HP:" + being.GetResourceValue("HP", 1) + " STAMINA:" + being.GetResourceValue("STAMINA", 1)); //Any looking for passive or some such would go here being.GetUseableActiveAbilities(); if (being.useableAbilities.Count > 0) { if (being.playerControlled == true) { for (int i = 0; i < being.useableAbilities.Count; i++) { Debug.Log(i + ". " + being.useableAbilities[i].abilityName); } if (playerSelection > -1) { being.SelectTargets(being.useableAbilities[playerSelection - 1]); } if (being.selectedAbility == null) { currentState = CombatStates.WAITFORPLAYERINPUT; } savedState = CombatStates.SELECTABILITY; } if (being.playerControlled == false) { being.SelectAnAbility(); being.SelectTargets(being.selectedAbility); Debug.Log(being.beingName + " chooses " + being.selectedAbility.abilityName); yield return(new WaitForSeconds(textSpeed)); CalculateToHit(being, being.selectedAbility, being.selectedTargets); yield return(new WaitForSeconds(textSpeed)); nextTurnDone = false; } } else { Debug.Log(being.beingName + " can't do anything! (is this an error?)"); nextTurnDone = false; yield return(null); } }
private void FightRound() { Being first = (SpeedCheck()) ? Fighter1 : Fighter2; Being second = (first != Fighter1) ? Fighter1 : Fighter2; first.Attack(second); if (second.Health <= 0) { return; } second.Attack(first); }
public static Being generateGoo(Tile t) { Being b = new Being(Side.DEMONS); Room.moveTo(b, t); b.moveCard = new GooMoveCard(); b.aWeap = WeaponFactory.getGoopThrow(); b.bWeap = WeaponFactory.getGoopBash(); b.baseRMap.addResist(DamageType.FIRE, -.3f); b.baseRMap.addResist(DamageType.SLASH, -.2f); b.baseRMap.addResist(DamageType.ACID, .5f); b.setSprite(Resources.Load <Sprite>("sprites/gooey-daemon")); b.maxHp = 20f; b.setHp(b.maxHp); b.name = "Goo Demon"; return(b); }
public int GetNumberAlive() { int count = 0; foreach (UniversalObject uObj in UniversalObjectsInside) { if (uObj != null && uObj is Being) { Being being = uObj as Being; if (being.IsAlive) { count++; } } } return(count); }
public BurnBuff(Being creator, Being being, TimeSpan length, float burnDamage, AbilityTypes abilityType) : base(creator, being, length, true, damagePerSecond: burnDamage) { Texture = TextureCacheFactory.Get("Buffs/burn.png"); Animation = new Animation(""); Animation.AddFrame(Texture.Bounds, TimeSpan.FromSeconds(0.15)); var zerd = creator as Zerd; if (zerd == null) { return; } DamagePerSecond *= zerd.SkillValue(SkillType.DeepBurn, true); Length = TimeSpan.FromMilliseconds(TimeRemaining.TotalMilliseconds * zerd.SkillValue(SkillType.DeepBurn, true)); TimeRemaining = Length; AbilityType = abilityType; DamageType = DamageTypes.Fire; }
void deffMod(Being attacker) { }
void attackMod(Being target) { }
public static void Main(string[] args) { // Object Being b=new Being(); Console.WriteLine (b); // Object attributes Person p1=new Person(); p1.name="Jane"; Person p2=new Person(); p2.name="Beky"; Console.WriteLine (p1.name); Console.WriteLine (p2.name); // Methods Circle c=new Circle(); c.SetRadius(5); Console.WriteLine (c.Area()); // Access modifiers Person2 p=new Person2(); p.name="Jane"; p.SetAge(17); Console.WriteLine ("{0} is {1} years old",p.name,p.GetAge()); // another example of access modifiers Derived d=new Derived(); d.info(); // The constructor new Being2(); new Being2("Tom"); // another example of constructor string name="Lenka"; DateTime born=new DateTime(1990,3,5); MyFriend f=new MyFriend(name,born); f.info(); // Constructor chaining new Circle2(5); new Circle2(); // Class constants Console.WriteLine (Math.PI); Console.WriteLine (Math.radius); // The ToString() method Being3 be=new Being3(); object ob=new object(); Console.WriteLine (ob.ToString()); Console.WriteLine (be.ToString()); Console.WriteLine (be); // Note that when we call the Console.WriteLine() method // with an object as a parameter, // the ToString() is being called. // Inheritance new Human(); // another example Console.WriteLine (); new Human2(); Dog dog=new Dog(); dog.GetCount(); // another example2 Console.WriteLine (); Circle3 x=new Circle3(2,4,6); Console.WriteLine (x); // Abstract classes and methods Console.WriteLine (); Circle4 z=new Circle4(12,45,22); Console.WriteLine (z);//show the ToString() method, defaultly Console.WriteLine ("Area of circle: {0}",z.Area()); Console.WriteLine (z.GetCoordinates()); }