//unpacks incoming stat changes and applies them public void unpackStatChange(statChange loi) { applyEffect(loi.duration, loi.effects); }
//TODO: implement all that special shit for enemies //special attack stuff public void specialAttack() { //checks if you can use youur special if (chargeCount >= 3) { foreach (special special in myCoolVariable.specialEffects) { effects newEffect = new effects(special.type, special.value); if (special.targets == target.enemy) { statChange marcel = new statChange(); marcel.duration = special.duration; marcel.effects = newEffect; statChanging.Raise(marcel); } else if (special.targets == target.self) { applyEffect(special.duration, newEffect); } } chargeCount = 0; specialUsing.Raise(); //instantiates the effects /* effects selfEffects = new effects (), enemyEffects = new effects (); * //these are f*****g flags so we don't do random shit we dont need * bool don = false, john = false; * * //these basically check if the special does the thing, who it does it to and sets the flag * * if (myCoolVariable.specialDealsDamage.onDog) { * enemyEffects.DamageValue = myCoolVariable.specialDealsDamage.value; * don = true; * } * if (myCoolVariable.specialDealsDamage.onSelf) { * selfEffects.DamageValue = myCoolVariable.specialDealsDamage.value; * john = true; * } * if (myCoolVariable.specialIncreasesHealth.onDog) { * enemyEffects.HealthValue = myCoolVariable.specialIncreasesHealth.value; * don = true; * } * if (myCoolVariable.specialIncreasesHealth.onSelf) { * selfEffects.HealthValue = myCoolVariable.specialIncreasesHealth.value; * john = true; * } * * if (myCoolVariable.specialIncreasesAttack.onDog) { * enemyEffects.AttackValue = myCoolVariable.specialIncreasesAttack.value; * don = true; * } * if (myCoolVariable.specialIncreasesAttack.onSelf) { * selfEffects.AttackValue = myCoolVariable.specialIncreasesAttack.value; * john = true; * } * if (myCoolVariable.specialIncreasesDefense.onDog) { * enemyEffects.DefenseValue = myCoolVariable.specialIncreasesDefense.value; * don = true; * } * if (myCoolVariable.specialIncreasesDefense.onSelf) { * selfEffects.DefenseValue = myCoolVariable.specialIncreasesDefense.value; * john = true; * } * if (myCoolVariable.specialIncreasesSpeed.onDog) { * enemyEffects.SpeedValue = myCoolVariable.specialIncreasesSpeed.value; * don = true; * } * if (myCoolVariable.specialIncreasesSpeed.onSelf) { * selfEffects.SpeedValue = myCoolVariable.specialIncreasesSpeed.value; * john = true; * } * //does special effects on self * if (john) { * applyEffect (myCoolVariable.specialDuration, selfEffects); * } * //does special effects on enemy * if (don) { * statChange marcel = new statChange (); * marcel.duration = myCoolVariable.specialDuration; * marcel.effects = enemyEffects; * statChanging.Raise (marcel); * } * } * chargeCount = 0; * specialUsing.Raise (); */ } }