Example #1
0
 public Moves(string p_internalName, string p_name, string p_moveEffectType, int p_baseDamage, string p_moveType, MoveDamageCategory p_moveCategory,
              int p_moveAccuracy, int p_basePP, int p_additionalEffectChance, MoveTargetType p_moveTargetType, int p_priority, bool p_makesContact,
              bool p_blockedByProtect, bool p_blockedByMagicBounce, bool p_canBeSnatched, bool p_canBeCopied, bool p_affectedByKingsRock,
              bool p_thawsUser, bool p_highCritChance, bool p_bitingMove, bool p_punchingMove, bool p_soundBasedMove, bool p_powderBasedMove,
              bool p_pulseBasedMove, bool p_bombBasedMove, string p_moveDesc)
 {
     internalName           = p_internalName;
     name                   = p_name;
     moveEffectType         = p_moveEffectType;
     baseDamage             = p_baseDamage;
     moveType               = p_moveType;
     moveCategory           = p_moveCategory;
     moveAccuracy           = p_moveAccuracy;
     basePP                 = p_basePP;
     additionalEffectChance = p_additionalEffectChance;
     moveTargetType         = p_moveTargetType;
     priority               = p_priority;
     makesContact           = p_makesContact;
     blockedByProtect       = p_blockedByProtect;
     blockedByMagicBounce   = p_blockedByMagicBounce;
     canBeSnatched          = p_canBeSnatched;
     canBeCopied            = p_canBeCopied;
     affectedByKingsRock    = p_affectedByKingsRock;
     thawsUser              = p_thawsUser;
     highCritChance         = p_highCritChance;
     bitingMove             = p_bitingMove;
     punchingMove           = p_punchingMove;
     soundBasedMove         = p_soundBasedMove;
     powderBasedMove        = p_powderBasedMove;
     pulseBasedMove         = p_pulseBasedMove;
     bombBasedMove          = p_bombBasedMove;
     moveDesc               = p_moveDesc;
 }
Example #2
0
    protected bool GetMoveTargetPosition(ref Vector3 pos)
    {
        MoveTargetType targetType = (MoveTargetType)dataPO.MoveTargetType;

        switch (targetType)
        {
        case MoveTargetType.Target:
        {
            if (fixedTargetIndex >= fixedTargetPosition.Length)
            {
                return(false);
            }
            pos = fixedTargetPosition[fixedTargetIndex++];
            return(true);
        }

        case MoveTargetType.XAxis:
        {
            int xValue = Random.Range(-1, 2);
            if (xValue == 0)
            {
                return(false);
            }
            float distance = Random.Range(canMoveDistance.min, canMoveDistance.max);
            distance = (float)xValue * distance;
            //Vector3 newPos = new Vector3(distance,0,0);
            pos.x = distance;
            pos.y = 0;
            pos.z = 0;
            pos   = transform.position + pos;
            if (!AreaManager.instance.IsPositionInArea(dataPO.MoveArea, pos))
            {
                return(false);
            }
            //pospos = newPos;
            return(true);
        }

        case MoveTargetType.Random:
        {
            int   xValue    = Random.Range(-1, 2);
            int   yValue    = Random.Range(-1, 2);
            int   zValue    = Random.Range(-1, 2);
            float xDistance = Random.Range(canMoveDistance.min, canMoveDistance.max);
            float yDistance = Random.Range(canMoveDistance.min, canMoveDistance.max);
            float zDistance = Random.Range(canMoveDistance.min, canMoveDistance.max);
            xDistance = (float)xValue * xDistance;
            yDistance = (float)yValue * yDistance;
            zDistance = (float)zValue * zDistance;
            //Vector3 newPos;
            if (moveType == MoveType.Fly)
            {
                //newPos = new Vector3(xDistance, yDistance, zDistance);
                pos.x = xDistance;
                pos.y = yDistance;
                pos.z = zDistance;
            }
            else
            {
                //newPos = new Vector3(xDistance, 0, zDistance);
                pos.x = xDistance;
                pos.y = 0;
                pos.z = zDistance;
            }
            pos = transform.position + pos;
            if (!AreaManager.instance.IsPositionInArea(dataPO.MoveArea, pos))
            {
                return(false);
            }
            //pos = newPos;
            return(true);
        }
        }

        return(false);
    }
Example #3
0
 public static void addMove(string p_internalName, string p_name, string p_moveEffectType, int p_baseDamage, string p_moveType, MoveDamageCategory p_moveCategory,
                            int p_moveAccuracy, int p_basePP, int p_additionalEffectChance, MoveTargetType p_moveTargetType, int p_priority, bool p_makesContact,
                            bool p_blockedByProtect, bool p_blockedByMagicBounce, bool p_canBeSnatched, bool p_canBeCopied, bool p_affectedByKingsRock,
                            bool p_thawsUser, bool p_highCritChance, bool p_bitingMove, bool p_punchingMove, bool p_soundBasedMove, bool p_powderBasedMove,
                            bool p_pulseBasedMove, bool p_bombBasedMove, string p_moveDesc)
 {
     moveList.Add(new Moves(p_internalName, p_name, p_moveEffectType, p_baseDamage, p_moveType, p_moveCategory,
                            p_moveAccuracy, p_basePP, p_additionalEffectChance, p_moveTargetType, p_priority, p_makesContact,
                            p_blockedByProtect, p_blockedByMagicBounce, p_canBeSnatched, p_canBeCopied, p_affectedByKingsRock,
                            p_thawsUser, p_highCritChance, p_bitingMove, p_punchingMove, p_soundBasedMove, p_powderBasedMove,
                            p_pulseBasedMove, p_bombBasedMove, p_moveDesc));
 }
Example #4
0
    // TODO: Contest Stats / Effects

    // Constructor
    public MoveData(
        string ID,
        string baseID          = null,
        string moveName        = null,
        string moveType        = "",
        bool useSameCategory   = false, MoveCategory category     = MoveCategory.Status,
        bool useSameTargetType = false, MoveTargetType targetType = MoveTargetType.Self,

        bool useSameBasePower = false, bool useSameAccuracy = false, bool useSamePP = false,
        int basePower         = 0, float accuracy = -1, int PP = 5,
        bool useSamePriority  = false,
        int priority          = 0,

        bool combineBaseTags           = false,
        IEnumerable <MoveTag> moveTags = null,

        MoveEffect[] moveEffects = null,

        bool combineBaseEffects = false,
        EffectDatabase.MoveEff.MoveEffect[] effectsNew = null,

        int ZBasePower = 0,
        EffectDatabase.MoveEff.MoveEffect[] ZEffectsNew = null,

        int MaxPower = 0)
    {
        this.ID                = ID;
        this.baseID            = baseID;
        this.moveName          = moveName;
        this.moveType          = moveType;
        this.useSameCategory   = useSameCategory;
        this.category          = category;
        this.useSameTargetType = useSameTargetType;
        this.targetType        = targetType;

        this.useSameBasePower = useSameBasePower;
        this.basePower        = basePower;
        this.useSameAccuracy  = useSameAccuracy;
        this.accuracy         = accuracy;
        this.useSamePP        = useSamePP;
        this.PP = PP;
        this.useSamePriority = useSamePriority;
        this.priority        = priority;

        this.combineBaseTags = combineBaseTags;
        this.moveTags        = new HashSet <MoveTag>();
        if (moveTags != null)
        {
            this.moveTags.UnionWith(moveTags);
        }

        this.moveEffects = new List <MoveEffect>();
        if (moveEffects != null)
        {
            for (int i = 0; i < moveEffects.Length; i++)
            {
                this.moveEffects.Add(MoveEffect.Clone(moveEffects[i]));
            }
        }

        this.combineBaseEffects = combineBaseEffects;
        this.effectsNew         = new List <EffectDatabase.MoveEff.MoveEffect>();
        if (effectsNew != null)
        {
            List <EffectDatabase.MoveEff.MoveEffect> addableEffects = new List <EffectDatabase.MoveEff.MoveEffect>();
            for (int i = 0; i < effectsNew.Length; i++)
            {
                addableEffects.Add(effectsNew[i].Clone());
            }
            this.effectsNew = addableEffects;
        }

        this.ZBasePower  = ZBasePower;
        this.ZEffectsNew = new List <EffectDatabase.MoveEff.MoveEffect>();
        if (ZEffectsNew != null)
        {
            List <EffectDatabase.MoveEff.MoveEffect> addableEffects = new List <EffectDatabase.MoveEff.MoveEffect>();
            for (int i = 0; i < ZEffectsNew.Length; i++)
            {
                addableEffects.Add(ZEffectsNew[i].Clone());
            }
            this.ZEffectsNew = addableEffects;
        }

        this.MaxPower = MaxPower;
    }
 public MoveTarget(BattleCharacterController target)
 {
     type = MoveTargetType.Character;
     targetObject = target;
 }
 public MoveTarget( Vector3 target )
 {
     type = MoveTargetType.Position;
     targetPosition = target;
 }