Commit 50408057 authored by 18류지석's avatar 18류지석

애드온 색칠해놓은거 효과는 다 구현함. 이제 그림만 있으면 됨

parent 5b77dbee
...@@ -347,9 +347,12 @@ MonoBehaviour: ...@@ -347,9 +347,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
damage: 2 damage: 2
knockBackMultiplier: 1 knockBackMultiplier: 1
debuffNum: 0 debuffTime:
debuffType: - 0
debuffTime: 00000000000000000000000000000000000000000000000000000000000000000000000000000000 - 0
- 0
- 0
- 0
--- !u!114 &114880704145925944 --- !u!114 &114880704145925944
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
...@@ -364,6 +367,7 @@ MonoBehaviour: ...@@ -364,6 +367,7 @@ MonoBehaviour:
attack: 000000 attack: 000000
cancel: 0 cancel: 0
playingSkill: 0 playingSkill: 0
originComboTime: 1
comboTime: 1 comboTime: 1
time: {fileID: 0} time: {fileID: 0}
combo: {fileID: 0} combo: {fileID: 0}
...@@ -375,7 +379,6 @@ MonoBehaviour: ...@@ -375,7 +379,6 @@ MonoBehaviour:
- {fileID: 7400000, guid: b1bf5cd583e214e448b83335f6c2d7a6, type: 2} - {fileID: 7400000, guid: b1bf5cd583e214e448b83335f6c2d7a6, type: 2}
- {fileID: 7400000, guid: b7ca0c87c2a73cb4e939b4d06abd4217, type: 2} - {fileID: 7400000, guid: b7ca0c87c2a73cb4e939b4d06abd4217, type: 2}
- {fileID: 7400000, guid: 9133e696bcae7294c86f6702b20b4ae7, type: 2} - {fileID: 7400000, guid: 9133e696bcae7294c86f6702b20b4ae7, type: 2}
inventoryManager: {fileID: 0}
lifeStoneManager: {fileID: 0} lifeStoneManager: {fileID: 0}
--- !u!114 &114906702720267008 --- !u!114 &114906702720267008
MonoBehaviour: MonoBehaviour:
......
...@@ -997,6 +997,11 @@ Prefab: ...@@ -997,6 +997,11 @@ Prefab:
propertyPath: m_Enabled propertyPath: m_Enabled
value: 1 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 114880704145925944, guid: 3d077a5f727dd1e4780e9265ed26e036,
type: 2}
propertyPath: originComboTime
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 3d077a5f727dd1e4780e9265ed26e036, type: 2} m_SourcePrefab: {fileID: 100100000, guid: 3d077a5f727dd1e4780e9265ed26e036, type: 2}
m_IsPrefabAsset: 0 m_IsPrefabAsset: 0
......
...@@ -7,6 +7,7 @@ public class PlayerAttack : MonoBehaviour { ...@@ -7,6 +7,7 @@ public class PlayerAttack : MonoBehaviour {
public bool cancel; public bool cancel;
public bool playingSkill; public bool playingSkill;
private bool comboEndDelay = true; private bool comboEndDelay = true;
public float originComboTime;
public float comboTime; public float comboTime;
public Text time, combo; public Text time, combo;
public string comboArray; public string comboArray;
...@@ -116,6 +117,7 @@ public class PlayerAttack : MonoBehaviour { ...@@ -116,6 +117,7 @@ public class PlayerAttack : MonoBehaviour {
IEnumerator SkillEndCoroutine() IEnumerator SkillEndCoroutine()
{ {
comboEndTime = Time.time + comboTime; comboEndTime = Time.time + comboTime;
comboTime = originComboTime;
comboTimeOn = true; comboTimeOn = true;
while (Time.time < comboEndTime && comboTimeOn && !playingSkill) while (Time.time < comboEndTime && comboTimeOn && !playingSkill)
{ {
......
...@@ -253,7 +253,7 @@ public class PlayerController : MonoBehaviour ...@@ -253,7 +253,7 @@ public class PlayerController : MonoBehaviour
downKeyDown = false; downKeyDown = false;
jump = false; jump = false;
} }
bool IsGrounded() // Is player grounded? public bool IsGrounded() // Is player grounded?
{ {
RaycastHit2D hit = Physics2D.BoxCast(transform.position, new Vector2(Player.X, boxHeight), 0, Vector2.down, Player.Y / 2f, groundLayer); RaycastHit2D hit = Physics2D.BoxCast(transform.position, new Vector2(Player.X, boxHeight), 0, Vector2.down, Player.Y / 2f, groundLayer);
Debug.DrawLine(transform.position + new Vector3(0, -Player.Y / 2f) + new Vector3(-Player.X, -boxHeight, 0) / 2, Debug.DrawLine(transform.position + new Vector3(0, -Player.Y / 2f) + new Vector3(-Player.X, -boxHeight, 0) / 2,
......
...@@ -24,34 +24,57 @@ public abstract class Addon { ...@@ -24,34 +24,57 @@ public abstract class Addon {
highlight = null; highlight = null;
sizeInventory = new Vector2(0, 0); sizeInventory = new Vector2(0, 0);
} }
public virtual float DamageAdder(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float DamageAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
return 0f; return 0f;
} }
public virtual float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
return 1f; return 1f;
} }
public virtual float[] DebuffAdder(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float DamageFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 0f;
}
public virtual float[] DebuffAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER]; float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f; for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
return varArray; return varArray;
} }
public virtual float[] DebuffMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float[] DebuffMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER]; float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 1f; for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 1f;
return varArray; return varArray;
} }
public virtual float KnockBackAdder(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float[] DebuffFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
return varArray;
}
public virtual float KnockBackAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
return 0f; return 0f;
} }
public virtual float KnockBackMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float KnockBackMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
return 1f; return 1f;
} }
public virtual float KnockBackFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 0f;
}
public virtual void OtherEffect(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
}
public virtual void OtherEffect(string combo)
{
}
} }
...@@ -2,18 +2,18 @@ ...@@ -2,18 +2,18 @@
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
/// <summary> /// <summary>
/// 애드온명: 기사의 등자 /// 애드온명: 대장장이의 브롯치
/// 번호: 8 /// 번호: 9
/// </summary> /// </summary>
public class KnightsStirrup : Addon public class BlacksmithsBrooch : Addon
{ {
public override void Declare() public override void Declare()
{ {
id = 8; name = "Knight's stirrup"; id = 9; name = "대장장이의 브롯치";
quality = ItemQuality.Study; quality = ItemQuality.Ordinary;
type = AddonType.Prop; type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/Knight's stirrup"); ; sprite = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Knight's stirrup"); ; highlight = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ;
sizeInventory = new Vector2(80, 80); sizeInventory = new Vector2(80, 80);
} }
} }
fileFormatVersion: 2 fileFormatVersion: 2
guid: ffe4f09c9db1a3a4693857c6195e8965 guid: 88d2d49b8f25be348858b3b79604ff7a
MonoImporter: MonoImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 2
......
...@@ -9,11 +9,21 @@ public class CoollyPride : Addon ...@@ -9,11 +9,21 @@ public class CoollyPride : Addon
{ {
public override void Declare() public override void Declare()
{ {
id = 10; name = "Coolly Pride"; id = 10; name = "차갑게 식은 긍지";
quality = ItemQuality.Ordinary; quality = ItemQuality.Ordinary;
type = AddonType.Theory; type = AddonType.Theory;
sprite = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ; sprite = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ; highlight = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ;
sizeInventory = new Vector2(80, 80); sizeInventory = new Vector2(80, 80);
} }
public override float[] DebuffAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
if (attackInfo.damage < 4) varArray[(int)EnemyDebuffCase.ice] = 2f;
return varArray;
}
} }
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 라거의 문양
/// 번호: 26
/// </summary>
public class DesignofRagur : Addon
{
public override void Declare()
{
id = 26; name = "라거의 문양";
quality = ItemQuality.Superior;
type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
sizeInventory = new Vector2(80, 80);
}
public override float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
int aNum = 0;
for (int i = 0; i < combo.Length; i++)
if (combo[i] == 'A')
aNum++;
return 1f + aNum * 0.4f;
}
}
fileFormatVersion: 2
guid: c704b40000832e742a1b53c5956dfb7d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 레아의 깃털
/// 번호: 21
/// </summary>
public class FeatherofRheA : Addon
{
public override void Declare()
{
id = 21; name = "레아의 깃털";
quality = ItemQuality.Ordinary;
type = AddonType.Matter;
sprite = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
sizeInventory = new Vector2(80, 80);
}
public override float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
if (!GameObject.Find("Player").GetComponent<PlayerController>().IsGrounded())
return 1.75f;
else
return 1f;
}
}
fileFormatVersion: 2
guid: 009f7b84f96f63d4bacf2f7128392109
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
...@@ -9,11 +9,21 @@ public class GlowingHerb : Addon ...@@ -9,11 +9,21 @@ public class GlowingHerb : Addon
{ {
public override void Declare() public override void Declare()
{ {
id = 14; name = "Glowing Herb"; id = 14; name = "이글거리는 약초";
quality = ItemQuality.Ordinary; quality = ItemQuality.Ordinary;
type = AddonType.Matter; type = AddonType.Matter;
sprite = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ; sprite = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ; highlight = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
sizeInventory = new Vector2(80, 80); sizeInventory = new Vector2(80, 80);
} }
public override float[] DebuffAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
varArray[(int)EnemyDebuffCase.fire] = 3f;
return varArray;
}
} }
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 식탐
/// 번호: 17
/// </summary>
public class Gluttony : Addon
{
public override void Declare()
{
id = 17; name = "식탐";
quality = ItemQuality.Ordinary;
type = AddonType.Theory;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80);
}
public override void OtherEffect(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
if(attackInfo.damage > enemyInfo.currHealth)
{
//생명석 2개 회복
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 007eade4476db14499fe59f20d9d5160
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 야누스의 동전
/// 번호: 24
/// </summary>
public class JanusCoin : Addon
{
public override void Declare()
{
id = 24; name = "야누스의 동전";
quality = ItemQuality.Superior;
type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80);
}
public override float DamageFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
LifeStoneManager lifeStoneManager = GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>();
if(Random.Range(0,2) == 0)
{
lifeStoneManager.DestroyStone(2);
return 0;
}
else
{
return enemyInfo.currHealth * 0.25f;
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 67b828e35a61f6842977ef133d81975b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
...@@ -9,11 +9,16 @@ public class ParchmentPiece : Addon ...@@ -9,11 +9,16 @@ public class ParchmentPiece : Addon
{ {
public override void Declare() public override void Declare()
{ {
id = 2; name = "parchment piece"; id = 2; name = "양피지 조각";
quality = ItemQuality.Study; quality = ItemQuality.Study;
type = AddonType.Prop; type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ; sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ; highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80); sizeInventory = new Vector2(80, 80);
} }
public override float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
if (attackInfo.damage < 3) return 2f;
else return 1f;
}
} }
\ No newline at end of file
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 모래 주머니
/// 번호: 29
/// </summary>
public class Sandbag : Addon
{
public override void Declare()
{
id = 29; name = "모래 주머니";
quality = ItemQuality.Superior;
type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80);
}
public override void OtherEffect(string combo)
{
GameObject.Find("Player").GetComponent<PlayerAttack>().comboTime *= 0.5f;
}
public override float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 2f;
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 007d4fcc831b5f14a9ffc1cc3a52f49e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 소형 렌즈
/// 번호: 18
/// </summary>
public class SmallLens : Addon
{
public override void Declare()
{
id = 18; name = "소형 렌즈";
quality = ItemQuality.Ordinary;
type = AddonType.Component;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80);
}
public override void OtherEffect(string combo)
{
GameObject.Find("Player").GetComponent<PlayerAttack>().comboTime *= 1.75f;
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 8340e16c6db504548a803272ee93a223
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 시간 톱니바퀴
/// 번호: 32
/// </summary>
public class ToothedWheelofTime : Addon
{
public override void Declare()
{
id = 32; name = "시간 톱니바퀴";
quality = ItemQuality.Superior;
type = AddonType.Component;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80);
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: ae352da159db1ed439c6451c957125b0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
...@@ -226,8 +226,7 @@ public class InventoryManager : Singleton<InventoryManager> { ...@@ -226,8 +226,7 @@ public class InventoryManager : Singleton<InventoryManager> {
itemList.Add(item); itemList.Add(item);
ui.SetOnPosition(itemList, addonList); ui.SetOnPosition(itemList, addonList);
Debug.Log(itemList[0].combo[0] + " " + itemList[0].combo[1]);
return true; return true;
} }
/// <summary> /// <summary>
......
...@@ -24,6 +24,16 @@ public abstract class Item { ...@@ -24,6 +24,16 @@ public abstract class Item {
if (i == 0) PlaySkill1(); if (i == 0) PlaySkill1();
else if (i == 1) PlaySkill2(); else if (i == 1) PlaySkill2();
else if (i == 2) PlaySkill3(); else if (i == 2) PlaySkill3();
OtherEffect(currentCombo);
for (int j = 0; j < attachable.Length; j++)
{
if (attachable[j] && addons[j] != null)
{
addons[j].OtherEffect(currentCombo);
}
}
return true; return true;
} }
} }
...@@ -69,11 +79,13 @@ public abstract class Item { ...@@ -69,11 +79,13 @@ public abstract class Item {
PlayerAttackInfo originInfo = new PlayerAttackInfo(attackInfo); PlayerAttackInfo originInfo = new PlayerAttackInfo(attackInfo);
float[] tmpArray; float[] tmpArray;
//Adder
attackInfo.damage += DamageAdder(originInfo, enemyInfo, combo); attackInfo.damage += DamageAdder(originInfo, enemyInfo, combo);
attackInfo.knockBackMultiplier += KnockBackAdder(originInfo, enemyInfo, combo); attackInfo.knockBackMultiplier += KnockBackAdder(originInfo, enemyInfo, combo);
tmpArray = DebuffAdder(originInfo, enemyInfo, combo); tmpArray = DebuffAdder(originInfo, enemyInfo, combo);
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++)
attackInfo.debuffTime[i] += tmpArray[i]; attackInfo.debuffTime[i] += tmpArray[i];
for (int j = 0; j < attachable.Length; j++) for (int j = 0; j < attachable.Length; j++)
{ {
...@@ -87,6 +99,7 @@ public abstract class Item { ...@@ -87,6 +99,7 @@ public abstract class Item {
} }
} }
//Multiplier
attackInfo.damage *= DamageMultiplier(originInfo, enemyInfo, combo); attackInfo.damage *= DamageMultiplier(originInfo, enemyInfo, combo);
attackInfo.knockBackMultiplier *= KnockBackMultiplier(originInfo, enemyInfo, combo); attackInfo.knockBackMultiplier *= KnockBackMultiplier(originInfo, enemyInfo, combo);
tmpArray = DebuffMultiplier(originInfo, enemyInfo, combo); tmpArray = DebuffMultiplier(originInfo, enemyInfo, combo);
...@@ -104,35 +117,87 @@ public abstract class Item { ...@@ -104,35 +117,87 @@ public abstract class Item {
attackInfo.debuffTime[i] *= tmpArray[i]; attackInfo.debuffTime[i] *= tmpArray[i];
} }
} }
//FinalAdder
attackInfo.damage += DamageFinalAdder(originInfo, enemyInfo, combo);
attackInfo.knockBackMultiplier += KnockBackFinalAdder(originInfo, enemyInfo, combo);
tmpArray = DebuffFinalAdder(originInfo, enemyInfo, combo);
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++)
attackInfo.debuffTime[i] += tmpArray[i];
for (int j = 0; j < attachable.Length; j++)
{
if (attachable[j] && addons[j] != null)
{
attackInfo.damage += addons[j].DamageFinalAdder(originInfo, enemyInfo, combo);
attackInfo.knockBackMultiplier += addons[j].KnockBackFinalAdder(originInfo, enemyInfo, combo);
tmpArray = addons[j].DebuffFinalAdder(originInfo, enemyInfo, combo);
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++)
attackInfo.debuffTime[i] += tmpArray[i];
}
}
//OtherEffect
OtherEffect(attackInfo, enemyInfo, combo);
for (int j = 0; j < attachable.Length; j++)
{
if (attachable[j] && addons[j] != null)
{
addons[j].OtherEffect(attackInfo, enemyInfo, combo);
}
}
} }
public virtual float DamageAdder(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float DamageAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
return 0f; return 0f;
} }
public virtual float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
return 1f; return 1f;
} }
public virtual float[] DebuffAdder(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float DamageFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 0f;
}
public virtual float[] DebuffAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER]; float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i< (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f; for (int i = 0; i< (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
return varArray; return varArray;
} }
public virtual float[] DebuffMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float[] DebuffMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER]; float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 1f; for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 1f;
return varArray; return varArray;
} }
public virtual float KnockBackAdder(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float[] DebuffFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
return varArray;
}
public virtual float KnockBackAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
return 0f; return 0f;
} }
public virtual float KnockBackMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float KnockBackMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
return 1f; return 1f;
} }
public virtual float KnockBackFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 0f;
}
public virtual void OtherEffect(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
}
public virtual void OtherEffect(string combo)
{
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment