12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using CommonAI.data;
- using CommonAI.Data;
- using CommonAI.Zone.Formula;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using XmdsCommon.Plugin;
- using XmdsCommonServer.Plugin;
- using XmdsCommonServer.XLS.Data;
- using XmdsCommonSkill.Plugin.CardSkill;
- namespace XmdsCommon.JSGModule.Interface
- {
- /** 卡牌模块技能基类 */
- public interface IJSCardSkillModule : ICardModule
- {
- void Init(XmdsVirtual owner);
- void Update(int interval, bool slowRefresh);
- void OnHitOther(XmdsVirtual hitter, AttackSource source, int damage, DamageType damageType); // 攻击其他人
- void OnHitDamage(XmdsVirtual attacker, AttackSource source, int damage, DamageType damageType); // 收到攻击
- void Dispose();
- /** 重载卡牌权重信息 */
- void ReloadCardSkillWeight();
- //技能数据变更
- void OnSkillDataChange(GameSkill info);
- void OnInitOver(GameSkill gs, IJSGCardSkill cardSkill);
- //改变某一类型卡牌权重
- void ChangeCardWeight(CardType type, CardRateChgType chgType, int value, int validTime, bool isPrecent = true, int validTimes = -1, int uniqueID = 0);
- //额外增加一个球:指定类型和属性
- void AddCard(CardType type, int nums);
- //额外产生一个球:random(true: 使用权重来获取,false: 获得一个权重最高额)
- void AddCard(int nums, bool random);
-
- //上一次释放技能信息
- GetCardData GetLastCardData();
- //下一次强化效果相关
- // 获得特殊效果强化加成
- void TriggerSkillLoadStrength(CardSkillData skillData, int sameNums);
- IntIntData GetStrengthInfo(CardStrengthenType strgnthenType);
- // 添加下一次强化效果(和策划约定:下一次某种类型的卡牌强化,只要触发了改类型卡牌,可用次数减1。不考虑同类卡切卡的问题【如果要考虑则要开发走表格配置功能,根据表格类型控制】)
- NextCardStrengthenInfo AddNextStrengthInfo(CardType type, CardStrengthenType strenghType, int value1, int value2, int validTime, int validTimes = -1,
- byte needSames = 0, DamageType dmgType = DamageType.None, CardLayerRule layerRules = null);
- }
- /** 卡牌技能基类 */
- public interface IJSGCardSkill
- {
- int GetEffectID(int skillLv, int sameNums);
- void TriggerCardSkill(XmdsVirtual player, XmdsVirtual hitter, AttackSource source, CardSkillData skillData, int sameNums);
- }
- public class XmdsComSrvData
- {
- public static readonly int BOSS_CARD_SKILLID = 1999000;
- }
- //buff移除类型
- public enum BuffRemoveType : byte
- {
- Normal = 0, // 时间到等自然结束
- Replace = 1, // 替换
- Remove = 2,
- }
- }
|