JSGXmdsComInterface.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using CommonAI.data;
  2. using CommonAI.Data;
  3. using CommonAI.Zone.Formula;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using XmdsCommon.Plugin;
  10. using XmdsCommonServer.Plugin;
  11. using XmdsCommonServer.XLS.Data;
  12. using XmdsCommonSkill.Plugin.CardSkill;
  13. namespace XmdsCommon.JSGModule.Interface
  14. {
  15. /** 卡牌模块技能基类 */
  16. public interface IJSCardSkillModule : ICardModule
  17. {
  18. void Init(XmdsVirtual owner);
  19. void Update(int interval, bool slowRefresh);
  20. void OnHitOther(XmdsVirtual hitter, AttackSource source, int damage, DamageType damageType); // 攻击其他人
  21. void OnHitDamage(XmdsVirtual attacker, AttackSource source, int damage, DamageType damageType); // 收到攻击
  22. void Dispose();
  23. /** 重载卡牌权重信息 */
  24. void ReloadCardSkillWeight();
  25. //技能数据变更
  26. void OnSkillDataChange(GameSkill info);
  27. void OnInitOver(GameSkill gs, IJSGCardSkill cardSkill);
  28. //改变某一类型卡牌权重
  29. void ChangeCardWeight(CardType type, CardRateChgType chgType, int value, int validTime, bool isPrecent = true, int validTimes = -1, int uniqueID = 0);
  30. //额外增加一个球:指定类型和属性
  31. void AddCard(CardType type, int nums);
  32. //额外产生一个球:random(true: 使用权重来获取,false: 获得一个权重最高额)
  33. void AddCard(int nums, bool random);
  34. //上一次释放技能信息
  35. GetCardData GetLastCardData();
  36. //下一次强化效果相关
  37. // 获得特殊效果强化加成
  38. void TriggerSkillLoadStrength(CardSkillData skillData, int sameNums);
  39. IntIntData GetStrengthInfo(CardStrengthenType strgnthenType);
  40. // 添加下一次强化效果(和策划约定:下一次某种类型的卡牌强化,只要触发了改类型卡牌,可用次数减1。不考虑同类卡切卡的问题【如果要考虑则要开发走表格配置功能,根据表格类型控制】)
  41. NextCardStrengthenInfo AddNextStrengthInfo(CardType type, CardStrengthenType strenghType, int value1, int value2, int validTime, int validTimes = -1,
  42. byte needSames = 0, DamageType dmgType = DamageType.None, CardLayerRule layerRules = null);
  43. }
  44. /** 卡牌技能基类 */
  45. public interface IJSGCardSkill
  46. {
  47. int GetEffectID(int skillLv, int sameNums);
  48. void TriggerCardSkill(XmdsVirtual player, XmdsVirtual hitter, AttackSource source, CardSkillData skillData, int sameNums);
  49. }
  50. public class XmdsComSrvData
  51. {
  52. public static readonly int BOSS_CARD_SKILLID = 1999000;
  53. }
  54. //buff移除类型
  55. public enum BuffRemoveType : byte
  56. {
  57. Normal = 0, // 时间到等自然结束
  58. Replace = 1, // 替换
  59. Remove = 2,
  60. }
  61. }