仙魔无双SDK
面向策划逻辑制作的游戏开发包
|
实现范围效果计算的高层逻辑 更多...
函数 | |
int | HealthRangeByTeam (FxCreature *pActor, unsigned long nSkillID, int nValue, unsigned long nRadius, int nThreatRate=100, bool bShared=false, unsigned long nRealAttackerID=0, bool bSkill=true) |
角色pActor对范围内的队友进行治疗。 更多... | |
int | HealthRangeByTeam_Rate (FxCreature *pActor, unsigned long nSkillID, int nRate, unsigned long nRadius, int nThreatRate=100, unsigned long nRealAttackerID=0, bool bSkill=true) |
角色pActor对范围内的队友进行治疗,按比例恢复。 更多... | |
int | HealthRange (FxCreature *pActor, unsigned long nSkillID, int nValue, unsigned long nRadius, int nMaxCount, int bTargetExclude=0, int bByTarget=0, int nThreatRate=100, bool bShared=false, unsigned long nRealAttackerID=0, bool bSkill=true) |
角色pActor以自身为圆心进行范围治疗。 更多... | |
int | HealthRangeByRate (FxCreature *pActor, unsigned long nSkillID, int nRate, unsigned long nRadius, int nMaxCount, int bTargetExclude=1, int bByTarget=0, int nThreatRate=100, unsigned long nRealAttackerID=0, bool bSkill=true) |
角色pActor以自身为圆心进行范围治疗,对每个目标按其血量上限的比例进行恢复。 更多... | |
int | AttackTargetNearby_Physic (FxCreature *pSrcActor, int nRadius, int nDamage, int nSpellDamage, int nDamageType, unsigned long nSkillID, int nMaxCount, bool bTargetExclude=false, bool bByTarget=false, unsigned long nRealAttackerID=0, bool bSkill=true, int nThreatRate=100, int nIgnoreDefence=0, int nMinRadius=0, unsigned long nEffectHeight=0xFFFFFFFF) |
角色pSrcActor对附近目标造成物理伤害,圆周 更多... | |
int | AttackTargetNearby_Spell (FxCreature *pSrcActor, int nRadius, int nDamage, int nSpellDamage, int nDamageType, unsigned long nSkillID, int nMaxCount, bool bTargetExclude=false, bool bByTarget=false, unsigned long nRealAttackerID=0, bool bSkill=true, int nThreatRate=100, int nIgnoreDefence=0, int nMinRandius=0, unsigned long nEffectHeight=0xFFFFFFFF) |
角色pSrcActor对附近目标造成法术伤害,圆周 更多... | |
int | AttackTargetRectangle_Physic (FxCreature *pSrcActor, int nLength, int nDamage, int nSpellDamage, int nDamageType, unsigned long nSkillID, int nMaxCount, bool bTargetExclude=false, int nThreatRate=100, unsigned long nRealAttackerID=0, bool bSkill=true, int nIgnoreDefence=0, int nWidth=200, bool bToTarget=true) |
角色pSrcActor对附近目标造成物理伤害,线状,矩形 更多... | |
int | AttackTargetRectangle_Spell (FxCreature *pSrcActor, int nLength, int nDamage, int nSpellDamage, int nDamageType, unsigned long nSkillID, int nMaxCount, bool bTargetExclude=false, int nThreatRate=100, unsigned long nRealAttackerID=0, bool bSkill=true, int nIgnoreDefence=0, int nWidth=200, bool bToTarget=true) |
角色pSrcActor对附近目标造成法术伤害,线状,矩形 更多... | |
int | AttackTargetSector_Spell (FxCreature *pSrcActor, int nRadius, int nRadian, int nDamage, int nSpellDamage, int nDamageType, unsigned long nSkillID, int nMaxCount, bool bTargetExclude=false, int nThreatRate=100, unsigned long nRealAttackerID=0, bool bSkill=true, int nIgnoreDefence=0) |
角色pSrcActor对附近目标造成法术伤害,扇形 更多... | |
int | AttackTargetSector_Physic (FxCreature *pSrcActor, int nRadius, int nRadian, int nDamage, int nPhysicDamage, int nDamageType, unsigned long nSkillID, int nMaxCount, bool bTargetExclude=false, int nThreatRate=100, unsigned long nRealAttackerID=0, bool bSkill=true, int nIgnoreDefence=0) |
角色pSrcActor对附近目标造成物理伤害,扇形 更多... | |
int | DamageMultiTargets_Rate (FxCreature *pActor, const std::vector< FxCreature *> &vecCreature, unsigned long nSkillID, float fDamageRate, int nThreatRate=100, unsigned long nRealAttackerID=0, bool bSkill=true) |
角色pActor以自身为圆心进行范围治疗,对每个目标按其血量上限的比例进行恢复。 更多... | |
int | AttackMultiTargets_Physic (FxCreature *pSrcActor, const std::vector< FxCreature *> &vecCreature, int nPhyDamage, int nPropertyDamage, int nPropertyType, int nSkillID, int nThreatRate=100, int nAttackerID=0, bool bSkill=true, int nIgnoreDefence=0, unsigned long nFakeAttackID=0, unsigned long nEffectHeight=0xFFFFFFFF) |
物理攻击多个角色,附带相同的伤害值 更多... | |
int | AttackMultiTargets_Spell (FxCreature *pSrcActor, const std::vector< FxCreature *> &vecCreature, int nSpellDamage, int nPropertyDamage, int nPropertyType, int nSkillID, int nThreatRate=100, int nAttackerID=0, bool bSkill=true, int nIgnoreDefence=0) |
法术攻击多个角色,附带相同的伤害值 更多... | |
int | HealthMultiTargets (FxCreature *pSrcActor, const std::vector< FxCreature *> &vecCreature, int nHealValue, int nSkillID, int nThreatRate, int nAttackerID, bool bSkill) |
角色pActor以自身为圆心进行范围治疗。 更多... | |
实现范围效果计算的高层逻辑
int AttackMultiTargets_Physic | ( | FxCreature * | pSrcActor, |
const std::vector< FxCreature *> & | vecCreature, | ||
int | nPhyDamage, | ||
int | nPropertyDamage, | ||
int | nPropertyType, | ||
int | nSkillID, | ||
int | nThreatRate = 100 , |
||
int | nAttackerID = 0 , |
||
bool | bSkill = true , |
||
int | nIgnoreDefence = 0 , |
||
unsigned long | nFakeAttackID = 0 , |
||
unsigned long | nEffectHeight = 0xFFFFFFFF |
||
) |
物理攻击多个角色,附带相同的伤害值
pSrcActor | [角色] 发动攻击的角色 |
vecCreature | [数组] 多个被攻击对象 |
nPhyDamage | [整数] 法术伤害 |
nPropertyDamage | [整数] 属性伤害 |
nPropertyType | [整数] 属性类型 |
nSkillID | [整数] 技能ID |
nThreatRate | [整数] 仇恨率,默认100,意思是100% |
nAttackerID | [整数] 攻击者ID,默认0 |
bSkill | [布尔] 是否是技能 true 是技能;false 不是技能。默认true,是技能 |
nIgnoreDefence | [整数] 是否忽略防御,1 忽略防御属性;0 不忽略防御属性。默认0。 |
nFakeAttackID | [整数] 表现的攻击者ID,用于做链状效果。默认0。 |
nEffectHeight | [整数] 生效的高度差 -1: 使用默认的高度差,默认800; 0: 不做高度判定; 其他: 指定的高度差。默认-1. |
int AttackMultiTargets_Spell | ( | FxCreature * | pSrcActor, |
const std::vector< FxCreature *> & | vecCreature, | ||
int | nSpellDamage, | ||
int | nPropertyDamage, | ||
int | nPropertyType, | ||
int | nSkillID, | ||
int | nThreatRate = 100 , |
||
int | nAttackerID = 0 , |
||
bool | bSkill = true , |
||
int | nIgnoreDefence = 0 |
||
) |
法术攻击多个角色,附带相同的伤害值
pSrcActor | [角色] 发动攻击的角色 |
vecCreature | [数组] 多个被攻击对象 |
nSpellDamage | [整数] 法术伤害 |
nPropertyDamage | [整数] 属性伤害 |
nPropertyType | [整数] 属性类型 |
nSkillID | [整数] 技能ID |
nThreatRate | [整数] 仇恨率,默认100,意思是100% |
nAttackerID | [整数] 攻击者ID,默认0 |
bSkill | [布尔] 是否是技能 true 是技能;false 不是技能。默认true,是技能 |
nIgnoreDefence | [整数] 是否忽略防御,1 忽略防御属性;0 不忽略防御属性。默认0。 |
int AttackTargetNearby_Physic | ( | FxCreature * | pSrcActor, |
int | nRadius, | ||
int | nDamage, | ||
int | nSpellDamage, | ||
int | nDamageType, | ||
unsigned long | nSkillID, | ||
int | nMaxCount, | ||
bool | bTargetExclude = false , |
||
bool | bByTarget = false , |
||
unsigned long | nRealAttackerID = 0 , |
||
bool | bSkill = true , |
||
int | nThreatRate = 100 , |
||
int | nIgnoreDefence = 0 , |
||
int | nMinRadius = 0 , |
||
unsigned long | nEffectHeight = 0xFFFFFFFF |
||
) |
角色pSrcActor对附近目标造成物理伤害,圆周
pSrcActor | [角色] 发动AOE的角色。 |
nRadius | [整数] 半径 |
nDamage | [整数] 伤害的数值 |
nSpellDamage | [整数] 属性伤害的数值 |
nDamageType | [整数] 属性伤害的类型 |
nSkillID | [整数] 使用的技能ID |
nMaxCount | [整数] 最大攻击的个数,如果是-1,表示不限制 |
bTargetExclude | [布尔] 是否排除当前目标,默认false,不排除 |
bByTarget | [布尔] 默认false。如果是true,自己会在被AOE。 |
nRealAttackerID | [整数] 真实的攻击者ID。形如烈焰风暴之类的,肯定是使用NPC挂接buff的形式来AOE,这时候这个nRealAttackerID表示,是谁真正在发动攻击。用于仇恨计算。 |
bSkill | [布尔] 是否技能 1 技能 2 buff,默认技能 |
nThreatRate | [整数] 仇恨 |
nIgnoreDefence | [整数] 是否忽略防御,默认0 |
nMinRadius | [整数] 最小半径,默认0,用于环机制 |
nEffectHeight | [整数] 生效的高度差 -1: 使用默认的高度差,默认800; 0: 不做高度判定; 其他: 指定的高度差。默认-1. |
int AttackTargetNearby_Spell | ( | FxCreature * | pSrcActor, |
int | nRadius, | ||
int | nDamage, | ||
int | nSpellDamage, | ||
int | nDamageType, | ||
unsigned long | nSkillID, | ||
int | nMaxCount, | ||
bool | bTargetExclude = false , |
||
bool | bByTarget = false , |
||
unsigned long | nRealAttackerID = 0 , |
||
bool | bSkill = true , |
||
int | nThreatRate = 100 , |
||
int | nIgnoreDefence = 0 , |
||
int | nMinRandius = 0 , |
||
unsigned long | nEffectHeight = 0xFFFFFFFF |
||
) |
角色pSrcActor对附近目标造成法术伤害,圆周
pSrcActor | [角色] 发动AOE的角色。 |
nRadius | [整数] 半径 |
nDamage | [整数] 伤害的数值 |
nSpellDamage | [整数] 属性伤害的数值 |
nDamageType | [整数] 属性伤害的类型 |
nSkillID | [整数] 使用的技能ID |
nMaxCount | [整数] 最大攻击的个数,如果是-1,表示不限制 |
bTargetExclude | [布尔] 是否排除当前目标,默认false,不排除 |
bByTarget | [布尔] 默认false。如果是true,自己会在被AOE。 |
nRealAttackerID | [整数] 真实的攻击者ID。形如烈焰风暴之类的,肯定是使用NPC挂接buff的形式来AOE,这时候这个nRealAttackerID表示,是谁真正在发动攻击。用于仇恨计算。 |
bSkill | [布尔] 是否技能 1 技能 2 buff,默认技能 |
nThreatRate | [整数] 仇恨 |
nIgnoreDefence | [整数] 是否忽略防御,默认0 |
nMinRandius | [整数] 最小半径,默认0,用于环机制 |
nEffectHeight | [整数] 生效的高度差 -1: 使用默认的高度差,默认800; 0: 不做高度判定; 其他: 指定的高度差。默认-1. |
int AttackTargetRectangle_Physic | ( | FxCreature * | pSrcActor, |
int | nLength, | ||
int | nDamage, | ||
int | nSpellDamage, | ||
int | nDamageType, | ||
unsigned long | nSkillID, | ||
int | nMaxCount, | ||
bool | bTargetExclude = false , |
||
int | nThreatRate = 100 , |
||
unsigned long | nRealAttackerID = 0 , |
||
bool | bSkill = true , |
||
int | nIgnoreDefence = 0 , |
||
int | nWidth = 200 , |
||
bool | bToTarget = true |
||
) |
角色pSrcActor对附近目标造成物理伤害,线状,矩形
pSrcActor | [角色] 发动AOE的角色。 |
nLength | [整数] 线性AOE的直线距离 |
nDamage | [整数] 伤害的数值 |
nSpellDamage | [整数] 属性伤害的数值 |
nDamageType | [整数] 属性伤害的类型 |
nSkillID | [整数] 使用的技能ID |
nMaxCount | [整数] 最大攻击的个数,如果是-1,表示不限制 |
bTargetExclude | [布尔] 是否排除当前目标,默认false,不排除 |
nThreatRate | [整数] 威胁值比例,默认100 |
nRealAttackerID | [整数] 真实的攻击者ID,默认0 |
bSkill | [布尔] 是否技能 1 技能 2 buff,默认技能 |
nIgnoreDefence | [整数] 是否忽略防御,默认0 |
nWidth | [整数] 宽度,默认200 |
bToTarget | [布尔] 计算角度的时候是否瞄准目标。true: 瞄准目标。false: 不瞄准目标。默认true |
int AttackTargetRectangle_Spell | ( | FxCreature * | pSrcActor, |
int | nLength, | ||
int | nDamage, | ||
int | nSpellDamage, | ||
int | nDamageType, | ||
unsigned long | nSkillID, | ||
int | nMaxCount, | ||
bool | bTargetExclude = false , |
||
int | nThreatRate = 100 , |
||
unsigned long | nRealAttackerID = 0 , |
||
bool | bSkill = true , |
||
int | nIgnoreDefence = 0 , |
||
int | nWidth = 200 , |
||
bool | bToTarget = true |
||
) |
角色pSrcActor对附近目标造成法术伤害,线状,矩形
pSrcActor | [角色] 发动AOE的角色。 |
nLength | [整数] 线性AOE的直线距离 |
nDamage | [整数] 伤害的数值 |
nSpellDamage | [整数] 属性伤害的数值 |
nDamageType | [整数] 属性伤害的类型 |
nSkillID | [整数] 使用的技能ID |
nMaxCount | [整数] 最大攻击的个数,如果是-1,表示不限制 |
bTargetExclude | [布尔] 是否排除当前目标,默认false,不排除 |
nThreatRate | [整数] 威胁值比例,默认100 |
nRealAttackerID | [整数] 真实的攻击者ID,默认0 |
bSkill | [布尔] 是否技能 1 技能 2 buff,默认技能 |
nIgnoreDefence | [整数] 是否忽略防御,默认0 |
nWidth | [整数] 宽度,默认200 |
bToTarget | [布尔] 计算角度的时候是否瞄准目标。true: 瞄准目标。false: 不瞄准目标。默认true |
int AttackTargetSector_Physic | ( | FxCreature * | pSrcActor, |
int | nRadius, | ||
int | nRadian, | ||
int | nDamage, | ||
int | nPhysicDamage, | ||
int | nDamageType, | ||
unsigned long | nSkillID, | ||
int | nMaxCount, | ||
bool | bTargetExclude = false , |
||
int | nThreatRate = 100 , |
||
unsigned long | nRealAttackerID = 0 , |
||
bool | bSkill = true , |
||
int | nIgnoreDefence = 0 |
||
) |
角色pSrcActor对附近目标造成物理伤害,扇形
pSrcActor | [角色] 发动AOE的角色。 |
nRadius | [整数] 扇形的半径 |
nRadian | [整数] 扇形的角度:半圆180这种 |
nDamage | [整数] 伤害的数值 |
nPhysicDamage | [整数] 属性伤害的数值 |
nDamageType | [整数] 属性伤害的类型 |
nSkillID | [整数] 使用的技能ID |
nMaxCount | [整数] 最大攻击的个数,如果是-1,表示不限制 |
bTargetExclude | [布尔] 是否排除当前目标,默认false,不排除 |
nThreatRate | [整数] 威胁值比例,默认100 |
nRealAttackerID | [整数] 真实的攻击者ID,默认0 |
bSkill | [布尔] 是否技能 1 技能 2 buff,默认技能 |
nIgnoreDefence | [整数] 是否忽略防御,默认0 |
int AttackTargetSector_Spell | ( | FxCreature * | pSrcActor, |
int | nRadius, | ||
int | nRadian, | ||
int | nDamage, | ||
int | nSpellDamage, | ||
int | nDamageType, | ||
unsigned long | nSkillID, | ||
int | nMaxCount, | ||
bool | bTargetExclude = false , |
||
int | nThreatRate = 100 , |
||
unsigned long | nRealAttackerID = 0 , |
||
bool | bSkill = true , |
||
int | nIgnoreDefence = 0 |
||
) |
角色pSrcActor对附近目标造成法术伤害,扇形
pSrcActor | [角色] 发动AOE的角色。 |
nRadius | [整数] 扇形的半径 |
nRadian | [整数] 扇形的角度:半圆180这种 |
nDamage | [整数] 伤害的数值 |
nSpellDamage | [整数] 属性伤害的数值 |
nDamageType | [整数] 属性伤害的类型 |
nSkillID | [整数] 使用的技能ID |
nMaxCount | [整数] 最大攻击的个数,如果是-1,表示不限制 |
bTargetExclude | [布尔] 是否排除当前目标,默认false,不排除 |
nThreatRate | [整数] 威胁值比例,默认100 |
nRealAttackerID | [整数] 真实的攻击者ID,默认0 |
bSkill | [布尔] 是否技能 1 技能 2 buff,默认技能 |
nIgnoreDefence | [整数] 是否忽略防御,默认0 |
int DamageMultiTargets_Rate | ( | FxCreature * | pActor, |
const std::vector< FxCreature *> & | vecCreature, | ||
unsigned long | nSkillID, | ||
float | fDamageRate, | ||
int | nThreatRate = 100 , |
||
unsigned long | nRealAttackerID = 0 , |
||
bool | bSkill = true |
||
) |
角色pActor以自身为圆心进行范围治疗,对每个目标按其血量上限的比例进行恢复。
pActor | [角色] 发动攻击的角色 |
vecCreature | [数组] 多个被攻击对象 |
nSkillID | [整数] 使用的技能ID。 |
fDamageRate | [浮点] 伤害比例(按最大HP扣HP) |
nThreatRate | [整数] 范围内治疗目标个数的上限,如果是-1,表示不设限。 |
nRealAttackerID | [整数] 真实攻击者的ID,用于区域AOE |
bSkill | [布尔] 是否技能 1 技能 2 buff,默认技能 |
int HealthMultiTargets | ( | FxCreature * | pSrcActor, |
const std::vector< FxCreature *> & | vecCreature, | ||
int | nHealValue, | ||
int | nSkillID, | ||
int | nThreatRate, | ||
int | nAttackerID, | ||
bool | bSkill | ||
) |
角色pActor以自身为圆心进行范围治疗。
pSrcActor | [角色] 要进行范围治疗的角色。 |
vecCreature | [数组] 多个被治疗的对象 |
nHealValue | [整数] 医疗效果值。 |
nSkillID | [整数] 技能ID |
nThreatRate | [整数] 仇恨率,默认100,意思是100% |
nAttackerID | [整数] 攻击者ID,默认0 |
bSkill | [布尔] 是否是技能 true 是技能;false 不是技能。默认true,是技能 |
int HealthRange | ( | FxCreature * | pActor, |
unsigned long | nSkillID, | ||
int | nValue, | ||
unsigned long | nRadius, | ||
int | nMaxCount, | ||
int | bTargetExclude = 0 , |
||
int | bByTarget = 0 , |
||
int | nThreatRate = 100 , |
||
bool | bShared = false , |
||
unsigned long | nRealAttackerID = 0 , |
||
bool | bSkill = true |
||
) |
角色pActor以自身为圆心进行范围治疗。
pActor | [角色] 要进行范围治疗的角色。 |
nSkillID | [整数] 使用的技能ID。 |
nValue | [整数] 进行范围治疗的数值。 |
nRadius | [整数] 进行范围治疗的半径。 |
nMaxCount | [整数] 范围内治疗目标个数的上限,如果是-1,表示不设限。 |
bTargetExclude | [整数] 是否把当前选择的目标排除,默认0。需要排除目标的只有木系天赋4062静气这个场合,所以只有这里需要时1。 |
bByTarget | [整数] 暂时保留,应该是前期设计的遗留功能。 |
nThreatRate | [整数] 范围内治疗目标个数的上限,如果是-1,表示不设限。 |
bShared | [布尔] 进行范围治疗的数值。 |
nRealAttackerID | [整数] 真实攻击者的ID,用于区域AOE |
bSkill | [布尔] 是否技能 1 技能 2 buff,默认技能 |
int HealthRangeByRate | ( | FxCreature * | pActor, |
unsigned long | nSkillID, | ||
int | nRate, | ||
unsigned long | nRadius, | ||
int | nMaxCount, | ||
int | bTargetExclude = 1 , |
||
int | bByTarget = 0 , |
||
int | nThreatRate = 100 , |
||
unsigned long | nRealAttackerID = 0 , |
||
bool | bSkill = true |
||
) |
角色pActor以自身为圆心进行范围治疗,对每个目标按其血量上限的比例进行恢复。
pActor | [角色] 要进行范围治疗的角色。 |
nSkillID | [整数] 使用的技能ID。 |
nRate | [整数] 进行范围治疗所恢复的比例。 |
nRadius | [整数] 进行范围治疗的半径。 |
nMaxCount | [整数] 范围内治疗目标个数的上限,如果是-1,表示不设限。 |
bTargetExclude | [整数] 是否把当前选择的目标排除,默认0。需要排除目标的只有木系天赋4062静气这个场合,所以只有这里需要时1。 |
bByTarget | [整数] 暂时保留,应该是前期设计的遗留功能。 |
nThreatRate | [整数] 范围内治疗目标个数的上限,如果是-1,表示不设限。 |
nRealAttackerID | [整数] 真实攻击者的ID,用于区域AOE |
bSkill | [布尔] 是否技能 1 技能 2 buff,默认技能 |
int HealthRangeByTeam | ( | FxCreature * | pActor, |
unsigned long | nSkillID, | ||
int | nValue, | ||
unsigned long | nRadius, | ||
int | nThreatRate = 100 , |
||
bool | bShared = false , |
||
unsigned long | nRealAttackerID = 0 , |
||
bool | bSkill = true |
||
) |
角色pActor对范围内的队友进行治疗。
pActor | [角色] 要治疗队友的角色。 |
nSkillID | [整数] 使用的技能ID。 |
nValue | [整数] 治疗的数值。 |
nRadius | [整数] 群体治疗的半径 |
nThreatRate | [整数] 仇恨比率,默认100% |
bShared | [布尔] 是否均摊这一次治疗的数值 |
nRealAttackerID | [整数] 真实攻击者的ID,用于区域AOE |
bSkill | [布尔] 是否技能 1 技能 2 buff,默认技能 |
int HealthRangeByTeam_Rate | ( | FxCreature * | pActor, |
unsigned long | nSkillID, | ||
int | nRate, | ||
unsigned long | nRadius, | ||
int | nThreatRate = 100 , |
||
unsigned long | nRealAttackerID = 0 , |
||
bool | bSkill = true |
||
) |
角色pActor对范围内的队友进行治疗,按比例恢复。
pActor | [角色] 要治疗队友的角色。 |
nSkillID | [整数] 使用的技能ID。 |
nRate | [整数] 治疗的百分比。 |
nRadius | [整数] 群体治疗的半径 |
nThreatRate | [整数] 仇恨比率,默认100% |
nRealAttackerID | [整数] 真实攻击者的ID,用于区域AOE |
bSkill | [布尔] 是否技能 1 技能 2 buff,默认技能 |