Skip to content
Snippets Groups Projects
Commit 80002ec6 authored by Robin Halseth Sandvik's avatar Robin Halseth Sandvik
Browse files

Changed to use the new AbilityParam.

- Also changed dodge to use the movement direction.
parent f3811097
No related branches found
No related tags found
1 merge request!53ToolTips, new ability parameter system & misc clean ups.
......@@ -28,19 +28,14 @@ namespace BigSock {
/*
Activates the ability.
*/
protected override bool Activate(Character actor, Vector3? target) {
if(target == null) return false;
// Get direction.
var temp = (target.Value - actor.transform.position);
temp.z = 0;
var direction = (Vector2) temp.normalized;
// Get the force.
var force = BASE_FORCE * actor.Stats.MoveSpeed;
protected override bool Activate(IAbilityParam par) {
var actor = par.Actor;
var direction = par.MovementDir;
if(direction == null) return false;
// Apply the push and iframes.
actor.KnockBack(force, direction);
actor.KnockBack(BASE_FORCE * actor.Stats.MoveSpeed, direction.Value);
actor.AddStatusEffect(StatusEffectType.Invincible, IFRAME_DURATION);
return true;
......
......@@ -41,31 +41,24 @@ namespace BigSock {
- Even if nothing was hit, used to indicate that cooldowns should be updated.
This should be overridden in sub-classes for the actual abilities.
*/
protected override bool Activate(Character actor, Vector3? target) {
protected override bool Activate(IAbilityParam par) {
var actor = par.Actor;
var target = par.TargetPos;
if(target == null)
return false;
return false;
var attack = (AttackStats) AttackStats.Calculate(actor.Stats);
//var attack = (AttackStats) AttackStats.Apply(actor.Stats);
attack.Actor = actor;
var temp = (target.Value - actor.transform.position);
var temp1 = temp;
temp.z = 0;
temp1.z = 90;
var bullet = PrefabService.SINGLETON.Instance(PROJECTILE_NAME, actor.transform.position);
//bullet.transform.rotation = Quaternion.LookRotation(temp.normalized);
//bullet.transform.rotation = Quaternion.LookRotation(temp1 ,Vector3.up);
var bulletScript = bullet.GetComponent<AttackMovement>();
//bulletScript.Actor = actor;
bulletScript.Stats = attack;
bulletScript.Direction = temp.normalized;
bulletScript.Direction = (target.Value - (Vector2) actor.transform.position).normalized;
//MonoBehaviour.Instantiate(PROJECTILE_BASE, (Vector3) actor.transform.position, PROJECTILE_BASE.transform.rotation);
......
......@@ -42,25 +42,20 @@ namespace BigSock {
- Even if nothing was hit, used to indicate that cooldowns should be updated.
This should be overridden in sub-classes for the actual abilities.
*/
protected override bool Activate(Character actor, Vector3? target) {
protected override bool Activate(IAbilityParam par) {
var actor = par.Actor;
var target = par.TargetPos;
if(target == null) return false;
var attack = (AttackStats) AttackStats.Calculate(actor.Stats);
//var attack = (AttackStats) AttackStats.Apply(actor.Stats);
attack.Actor = actor;
var temp = (target.Value - actor.transform.position);
temp.z = 0;
var bullet = PrefabService.SINGLETON.Instance(PROJECTILE_NAME, actor.transform.position);
var bulletScript = bullet.GetComponent<AttackMovement>();
//bulletScript.Actor = actor;
bulletScript.Stats = attack;
bulletScript.Direction = temp.normalized;
bulletScript.Direction = (target.Value - (Vector2) actor.transform.position).normalized;
//MonoBehaviour.Instantiate(PROJECTILE_BASE, (Vector3) actor.transform.position, PROJECTILE_BASE.transform.rotation);
return true;
}
......
......@@ -45,25 +45,20 @@ namespace BigSock {
- Even if nothing was hit, used to indicate that cooldowns should be updated.
This should be overridden in sub-classes for the actual abilities.
*/
protected override bool Activate(Character actor, Vector3? target) {
protected override bool Activate(IAbilityParam par) {
var actor = par.Actor;
var target = par.TargetPos;
if(target == null) return false;
var attack = (AttackStats) AttackStats.Calculate(actor.Stats);
//var attack = (AttackStats) AttackStats.Apply(actor.Stats);
attack.Actor = actor;
var temp = (target.Value - actor.transform.position);
temp.z = 0;
var bullet = PrefabService.SINGLETON.Instance(PROJECTILE_NAME, actor.transform.position);
var bulletScript = bullet.GetComponent<AttackMovement>();
//bulletScript.Actor = actor;
bulletScript.Stats = attack;
bulletScript.Direction = temp.normalized;
bulletScript.Direction = (target.Value - (Vector2) actor.transform.position).normalized;
//MonoBehaviour.Instantiate(PROJECTILE_BASE, (Vector3) actor.transform.position, PROJECTILE_BASE.transform.rotation);
return true;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment