Exemplo n.º 1
0
    //ability packs
    void BasicAttackAbilities(Being b)
    {
        Ability ab3 = new Ability(b, "Poor punch", 100, 1, false);
        NoCondition_Condition    noCondition2 = new NoCondition_Condition(battleManager, b, "NoCondition");
        ModulateResource_Effect  damage       = new ModulateResource_Effect(battleManager, b, ab3, "Damage", "HP", -3, false);
        Others_TargetingCriteria o            = new Others_TargetingCriteria(battleManager, b, ab3);

        ab3.conditions.Add(noCondition2);
        ab3.effects.Add(damage);
        ab3.targetingCriteria.Add(o);
        ab3.numberOfTargets = 1;
        // b.abilities.Add(ab3);


        Ability ab4 = new Ability(b, "Punch", 100, 1, false);
        ResourceAtValue_Condition reqStam      = new ResourceAtValue_Condition(battleManager, b, "Stamina above 0", "STAMINA", ">", 0);
        ModulateResource_Effect   costsStamina = new ModulateResource_Effect(battleManager, b, ab3, "CostsStamina", "STAMINA", -20, true);
        ModulateResource_Effect   damage2      = new ModulateResource_Effect(battleManager, b, ab4, "Damage", "HP", -10, false);
        Others_TargetingCriteria  o2           = new Others_TargetingCriteria(battleManager, b, ab4);

        ab4.abilityType = AbilityType.PublicNormal;
        ab4.conditions.Add(reqStam);
        ab4.effects.Add(costsStamina);
        ab4.effects.Add(damage2);
        ab4.targetingCriteria.Add(o2);
        ab4.numberOfTargets = 1;
        b.abilities.Add(ab4);
    }
Exemplo n.º 2
0
    void HealSelfBehaviour(Being b)
    {
        //Create a new behaviour called 'heal self'
        Behaviour healSelf = new Behaviour(battleManager, b, "Heal self");
        //Create a condition that hp must be below 20
        ResourceAtValue_Condition hpLessThanTwenty = new ResourceAtValue_Condition(battleManager, 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(battleManager, b, "IncludesHealSelf", "HealSelf", 20, 30);

        healSelf.conditions.Add(hpLessThanTwenty);;
        healSelf.selectionCriteria.Add(includesHealSelf);
        b.behaviours.Add(healSelf);
    }
Exemplo n.º 3
0
    void BasicSelfHealingAbility(Being b)
    {
        //Create a new ability called Healself
        Ability ab = new Ability(b, "Heal", 100, 1, false);
        //create a condition that MP must not be greater the 5 (the cost)
        ResourceAtValue_Condition gt = new ResourceAtValue_Condition(battleManager, b, "MP greater than 5", "MP", ">", 5);

        HealSelf_Effect        hs = new HealSelf_Effect(battleManager, b, ab, "HealSelf", 10);
        Self_TargetingCriteria s  = new Self_TargetingCriteria(battleManager, b, ab);

        ab.conditions.Add(gt);
        ab.effects.Add(hs);
        ab.targetingCriteria.Add(s);
        b.abilities.Add(ab);
    }
Exemplo n.º 4
0
    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);
    }
Exemplo n.º 5
0
    //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);
    }
Exemplo n.º 6
0
    void BasicAttackAbilities(Being b)
    {
        Ability ab3 = new Ability(b, "Echoing Punch", AbilityChassis.Melee, AbilityType.PublicNormal, 100, 1, false);
        StatusIsNot_Condition     notStaggered  = new StatusIsNot_Condition(actionManager, b, "IsNotStaggered", Being.Status.staggered);
        ResourceAtValue_Condition reqStam1      = new ResourceAtValue_Condition(actionManager, b, "Stamina above 0", "STAMINA", ">", 0);
        ModulateResource_Effect   costsStamina1 = new ModulateResource_Effect(actionManager, b, ab3, "CostsStamina", "STAMINA", -20, true, CombatState.Activate, 0, 0);
        Damage_Effect             damage        = new Damage_Effect(actionManager, b, ab3, "Damage", "HP", 1, CombatState.Hit, 0, 0);
        Others_TargetingCriteria  o             = new Others_TargetingCriteria(actionManager, b);

        ab3.conditions.Add(notStaggered);
        ab3.conditions.Add(reqStam1);
        ab3.effects.Add(costsStamina1);
        ab3.effects.Add(damage);
        ab3.targetingCriteria.Add(o);
        ab3.numberOfTargets = 1;
        b.abilities.Add(ab3);


        Ability ab4 = new Ability(b, "Punch", AbilityChassis.Melee, AbilityType.PublicNormal, 100, 1, false);
        StatusIsNot_Condition     notStaggered2 = new StatusIsNot_Condition(actionManager, b, "NoCondition", Being.Status.staggered);
        ResourceAtValue_Condition reqStam       = new ResourceAtValue_Condition(actionManager, b, "Stamina above 0", "STAMINA", ">", 0);
        ModulateResource_Effect   costsStamina  = new ModulateResource_Effect(actionManager, b, ab3, "CostsStamina", "STAMINA", -20, true, CombatState.Activate, 0, 0);
        Damage_Effect             damage2       = new Damage_Effect(actionManager, b, ab3, "Damage", "HP", 2, CombatState.Hit, 0, 0);
        Others_TargetingCriteria  o2            = new Others_TargetingCriteria(actionManager, b);

        ab4.abilityType = AbilityType.PublicNormal;
        ab4.conditions.Add(notStaggered2);
        //ab4.conditions.Add(reqStam);
        ab4.effects.Add(costsStamina);
        ab4.effects.Add(damage2);
        ab4.targetingCriteria.Add(o2);
        ab4.numberOfTargets = 1;
        b.abilities.Add(ab4);

        Ability                   overcome    = new Ability(b, "Overcome Stagger", AbilityChassis.StaggerRecover, AbilityType.PublicNormal, 100, 1, false);
        StatusIs_Condition        isStaggered = new StatusIs_Condition(actionManager, b, "Staggered", Being.Status.staggered);
        ResourceAtValue_Condition reqStam2    = new ResourceAtValue_Condition(actionManager, b, "Stamina above 0", "STAMINA", ">", 0);
        Self_TargetingCriteria    selftarget  = new Self_TargetingCriteria(actionManager, b);

        overcome.conditions.Add(isStaggered);
        overcome.conditions.Add(reqStam2);
        overcome.targetingCriteria.Add(selftarget);
        b.abilities.Add(overcome);
    }