传奇生物文档

对MOD开发相关的说明


Chara(角色)

<p><strong>简要描述:</strong> </p> <ul> <li>出现在游戏中的角色</li> </ul> <p><strong>属性:</strong></p> <table> <thead> <tr> <th style="text-align: left;">属性</th> <th>类型</th> <th>说明</th> <th>使用范例</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">id</td> <td><code>string</code></td> <td>角色标识</td> </tr> <tr> <td style="text-align: left;">chaName</td> <td><code>string</code></td> <td>角色名称</td> </tr> <tr> <td style="text-align: left;">cell</td> <td><code>Vector2</code></td> <td>角色在棋盘中的位置</td> <td>左上角<code>Vector2(0, 0)</code> 右下角<code>Vector2(9, 5)</code></td> </tr> <tr> <td style="text-align: left;">position</td> <td><code>Vector2</code></td> <td>角色在画面上的位置</td> <td>一格表示一百,通常是cell的一百倍</td> </tr> <tr> <td style="text-align: left;">moveSpeed</td> <td><code>int</code></td> <td>角色的移动速度,默认300,既每秒移动3格(一格100)</td> </tr> <tr> <td style="text-align: left;">aiOn</td> <td><code>boolean</code></td> <td>是否开启ai自动攻击</td> <td>为<code>false</code>则不会进行攻击,但技能CD会照转</td> </tr> <tr> <td style="text-align: left;">aiCha</td> <td><code>Chara</code></td> <td>当前的仇恨目标</td> <td>为友军则会攻击友军</td> </tr> <tr> <td style="text-align: left;">att</td> <td><code>Att</code></td> <td>角色呈现的最终属性</td> <td>修改无效</td> </tr> <tr> <td style="text-align: left;">attInfo</td> <td><code>Att</code></td> <td>临时属性(会在上下场时清空)</td> <td>参考绿巨人的血量成长</td> </tr> <tr> <td style="text-align: left;">attCoe</td> <td><code>Att</code></td> <td>角色的基础属性点</td> </tr> <tr> <td style="text-align: left;">attAdd</td> <td><code>Att</code></td> <td>角色的附加属性值</td> </tr> <tr> <td style="text-align: left;">buffs</td> <td><code>Array</code></td> <td>角色身上拥有的buff列表</td> <td>清空此列表会导致装备失效</td> </tr> <tr> <td style="text-align: left;">items</td> <td><code>Array</code></td> <td>装备列表</td> </tr> <tr> <td style="text-align: left;">isMoveIng</td> <td><code>boolean</code></td> <td>角色是否在移动中</td> </tr> <tr> <td style="text-align: left;">isDeath</td> <td><code>boolean</code></td> <td>角色是否已死亡</td> </tr> <tr> <td style="text-align: left;">isSumm</td> <td><code>boolean</code></td> <td>角色是否召唤生物</td> </tr> <tr> <td style="text-align: left;">skillStrs</td> <td><code>Array</code></td> <td>技能描述文本列表</td> </tr> <tr> <td style="text-align: left;">atkEff</td> <td><code>string</code></td> <td>攻击时的特效名字</td> <td><code>atkEff = "atk_dao"</code></td> </tr> <tr> <td style="text-align: left;">lv</td> <td><code>int</code></td> <td>角色等级</td> <td></td> </tr> <tr> <td style="text-align: left;">skills</td> <td><code>Array</code></td> <td>cd技能列表</td> <td>每一个cd技能都拥有<code>id</code> <code>cd</code> <code>nowTime</code>三个属性</td> </tr> <tr> <td style="text-align: left;">HurtType</td> <td><code>enum</code></td> <td>伤害类型<code>PHY/MGI/REAL</code> 代表<code>物理/魔法/真实</code></td> <td><code>Chara.HurtType.MGI</code></td> </tr> <tr> <td style="text-align: left;">AtkType</td> <td><code>enum</code></td> <td>攻击类型<code>NORMAL/SKILL/EFF/MISS</code> 代表<code>正常/技能/特效/落空</code></td> <td><code>if atkInfo.atkType == Chara.AtkType.NORMAL:</code></td> </tr> <tr> <td style="text-align: left;">atkIng</td> <td><code>var</code></td> <td>判断是否在攻击,只读</td> </tr> <tr> <td style="text-align: left;">sprcPos</td> <td><code>Vector2</code></td> <td>数值和特效的出现点,默认角色图片中心</td> </tr> <tr> <td style="text-align: left;">normalSpr</td> <td><code>Object</code></td> <td>角色图片的偏移</td> <td>X轴以右为正方向,Y轴以下位正方向。向左偏移40像素 <code>normalSpr.position = Vector2(-40, 0)</code></td> </tr> <tr> <td style="text-align: left;">isDrag</td> <td><code>boolean</code></td> <td>角色是否可拖拽</td> </tr> <tr> <td style="text-align: left;">dire</td> <td><code>int</code></td> <td>角色当前的左右面向</td> <td>1朝右,-1朝左</td> </tr> <tr> <td style="text-align: left;">evos</td> <td><code>Array</code></td> <td>角色的进化分支列表</td> </tr> </tbody> </table> <p><strong>信号列表</strong></p> <table> <thead> <tr> <th style="text-align: left;">事件名</th> <th style="text-align: left;">参数</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">onHurt(atkInfo)</td> <td style="text-align: left;">aktInfo:伤害信息</td> <td>角色受伤时</td> </tr> <tr> <td style="text-align: left;">onHurtEnd(atkInfo)</td> <td style="text-align: left;">aktInfo:伤害信息</td> <td>角色受伤后</td> </tr> <tr> <td style="text-align: left;">onPlusHp(val)</td> <td style="text-align: left;">val:恢复值</td> <td>恢复生命时</td> </tr> <tr> <td style="text-align: left;">onKillChara(atkInfo)</td> <td style="text-align: left;">aktInfo:伤害信息</td> <td>击杀其他单位时</td> </tr> <tr> <td style="text-align: left;">onDeath(atkInfo)</td> <td style="text-align: left;">aktInfo:伤害信息</td> <td>死亡时</td> </tr> <tr> <td style="text-align: left;">onAtkChara(atkInfo)</td> <td style="text-align: left;">atkInfo:伤害信息</td> <td>造成伤害时</td> </tr> <tr> <td style="text-align: left;">onChangeTeam(team)</td> <td style="text-align: left;">team:队伍编号</td> <td>改变队伍时</td> </tr> <tr> <td style="text-align: left;">onPressed(cha)</td> <td style="text-align: left;">cha:点击的角色</td> <td>角色被点击时</td> </tr> <tr> <td style="text-align: left;">onAddItem(item)</td> <td style="text-align: left;">item:添加的道具</td> <td>添加道具时</td> </tr> <tr> <td style="text-align: left;">onDelItem(item)</td> <td style="text-align: left;">item:删除的道具</td> <td>删除道具时</td> </tr> <tr> <td style="text-align: left;">onCastCdSkill(id)</td> <td style="text-align: left;">id:技能编号</td> <td>施放技能时</td> </tr> <tr> <td style="text-align: left;">onAddBuff(buff)</td> <td style="text-align: left;">buff:添加的buff</td> <td>添加buff时</td> </tr> <tr> <td style="text-align: left;">onCharaDel(cha)</td> <td style="text-align: left;">cha:被删除的角色</td> <td>被删除时</td> </tr> <tr> <td style="text-align: left;">onNewChara(cha)</td> <td style="text-align: left;">cha:被召唤角色</td> <td>召唤生物时</td> </tr> </tbody> </table> <p><strong>方法列表</strong> </p> <table> <thead> <tr> <th style="text-align: left;">方法名</th> <th style="text-align: left;">参数类型</th> <th>说明</th> <th style="text-align: left;">返回类型</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">addSkillTxt(string)</td> <td style="text-align: left;"><code>string</code></td> <td>给角色技能描述</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">moveCell(cell)</td> <td style="text-align: left;"><code>Vector2</code></td> <td>向指定量移动位置</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">setCell(cell)</td> <td style="text-align: left;"><code>Vector2</code></td> <td>向指定位置移动,若指定位置被占用,则移动失败</td> <td style="text-align: left;"><code>boolean</code></td> </tr> <tr> <td style="text-align: left;">matCha(cell)</td> <td style="text-align: left;"><code>Vector2</code></td> <td>获取目标位置的单位,没有则返回空</td> <td style="text-align: left;"><code>Chara</code>/<code>null</code></td> </tr> <tr> <td style="text-align: left;">isMatin(cell)</td> <td style="text-align: left;"><code>Vector2</code></td> <td>判断目标位置是否在地图内</td> <td style="text-align: left;"><code>boolean</code></td> </tr> <tr> <td style="text-align: left;">getCellChas(cell, ran, mTeam)</td> <td style="text-align: left;"><code>Vector2</code>/<code>int</code>/<code>int</code></td> <td>从cell格子开始,获取ran范围内的mTeam单位(0:所有,1:敌人,2:友军)</td> <td style="text-align: left;"><code>Array</code></td> </tr> <tr> <td style="text-align: left;">getAllChas(mTeam)</td> <td style="text-align: left;"><code>int</code>队伍编号 (0:所有 1:敌军 2:友军)</td> <td>获取队伍内所有单位</td> <td style="text-align: left;"><code>Array</code></td> </tr> <tr> <td style="text-align: left;">rndChas(chas,num)</td> <td style="text-align: left;"><code>Array</code>/<code>int</code></td> <td>从一个单位组 返回随机num个单位 若只有一个单位就返回一个</td> <td style="text-align: left;"><code>Chara</code>/<code>Array</code></td> </tr> <tr> <td style="text-align: left;">hurtChara(cha,val,hurtType,atkType )</td> <td style="text-align: left;">cha:目标单位 val:伤害值 hurtType:伤害类型 atkType:攻击类型</td> <td>对目标单位造成伤害,无法触发暴击等普攻效果</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">hurtArit(atkInfo)</td> <td style="text-align: left;">atkInfo:伤害信息</td> <td>造成伤害 需要自己设置 攻击信息</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">plusHp(val,veff)</td> <td style="text-align: left;">val:恢复量 veff:是否显示特效<code>boolean</code>默认显示</td> <td>恢复血量,为负则扣血,若通过此方法将单位扣至负血,则该单位无法死亡,需要注意</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">upAtt()</td> <td style="text-align: left;">--</td> <td>立即更新属性,特殊时才使用,否则都会自动更新</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">addBuff(buff)</td> <td style="text-align: left;">buff:要添加的状态</td> <td>给角色添加Buff</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">hasBuff(id)</td> <td style="text-align: left;">id:buff的id</td> <td>查找是否有目标id的buff</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">delBuff(buff)</td> <td style="text-align: left;">buff:要删除的buff</td> <td>删除目标buff</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">delAllBuff()</td> <td style="text-align: left;">--</td> <td>删除除了装备以外的buff,也会删掉装备效果</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">addItem(item)</td> <td style="text-align: left;">item:目标装备</td> <td>添加装备,仅临时添加给角色</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">delItem(item)</td> <td style="text-align: left;">item:目标装备</td> <td>删除装备,仅从角色身上删除</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">hasItem(id)</td> <td style="text-align: left;">id:装备id</td> <td>是否有目标装备</td> <td style="text-align: left;"><code>boolean</code></td> </tr> <tr> <td style="text-align: left;">get_team()</td> <td style="text-align: left;"></td> <td>返回角色的队伍</td> <td style="text-align: left;"><code>int</code></td> </tr> <tr> <td style="text-align: left;">addCdSkill(id,cd)</td> <td style="text-align: left;">id:技能id cd:冷却时间</td> <td>添加cd型技能</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">getSkill(id)</td> <td style="text-align: left;">id:技能id</td> <td>获取目标技能信息</td> <td style="text-align: left;"><code>Object</code></td> </tr> <tr> <td style="text-align: left;">revive(hp)</td> <td style="text-align: left;">hp:复活恢复的血量,疑似无效</td> <td>复活角色,当角色死透时方可调用</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">cellRan(v,cell )</td> <td style="text-align: left;">v:位置1 cell:位置2(为空时为自己的位置)</td> <td>返回两个位置之间的距离</td> <td style="text-align: left;"><code>int</code></td> </tr> <tr> <td style="text-align: left;">normalAtkChara(cha)</td> <td style="text-align: left;">cha:目标角色</td> <td>产生普通攻击</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">newChara(id,cell)</td> <td style="text-align: left;">id:召唤的角色id cell:位置</td> <td>召唤单位到指定位置</td> <td style="text-align: left;"><code>Chara</code></td> </tr> <tr> <td style="text-align: left;">_onHurt(atkInfo)</td> <td style="text-align: left;">atkInfo:攻击信息</td> <td>被攻击事件</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">_onKillChara(atkInfo)</td> <td style="text-align: left;">atkInfo:攻击信息</td> <td>杀死单位时</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">_onDeath(atkInfo)</td> <td style="text-align: left;">atkInfo:攻击信息</td> <td>角色死亡时,此时角色尚未死透</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">_onAtkChara(atkInfo)</td> <td style="text-align: left;">atkInfo:攻击信息</td> <td>发起攻击时,可以修改攻击伤害,但无法修改暴击</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">_onBattleStart()</td> <td style="text-align: left;"></td> <td>战斗开始时</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">_onBattleEnd()</td> <td style="text-align: left;"></td> <td>战斗结束时</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">_onCharaDel(cha)</td> <td style="text-align: left;">cha:被删除的角色</td> <td>被删除时</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">_upS()</td> <td style="text-align: left;"></td> <td>每秒执行</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">newEff(name,offset,isUi)</td> <td style="text-align: left;">name:特效名称(字符串) offset:偏移 isUi:是否时ui</td> <td>创建一个新的特效</td> <td style="text-align: left;"><code>Eff</code></td> </tr> <tr> <td style="text-align: left;">remove()</td> <td style="text-align: left;"></td> <td>移除角色</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">_onNormalAtk(cha)</td> <td style="text-align: left;">cha:普攻目标</td> <td>进行普攻时</td> <td style="text-align: left;"><code>void</code></td> </tr> <tr> <td style="text-align: left;">_onAtkInfo(atkInfo)</td> <td style="text-align: left;">atkInfo:攻击信息</td> <td>获得攻击信息时,攻击或受伤均会触发,同时是否暴击等操作可以在此进行</td> <td style="text-align: left;"><code>void</code></td> </tr> </tbody> </table> <p><strong>备注</strong> </p> <ul> <li>更多返回错误代码请看首页的错误代码描述</li> </ul>

页面列表

ITEM_HTML