import SkillBase from "../core/SkillBase"; import GameUtil from "../../core/GameUtil"; import SKDataUtil from "../../gear/SKDataUtil"; import {EAttrTypeL1, EMagicType, ESkillQuality, ESkillType} from "../../role/EEnum"; // 震天动地 export default class ZhenTianDongDi extends SkillBase { constructor() { super(); this.skill_id = ESkillType.ZhenTianDongDi; this.skill_name = "震天动地"; this.effectMap = { [EAttrTypeL1.PHY_BREAK]: { add: 0.8, index: 0 }, [EAttrTypeL1.PHY_BREAK_PROB]: { add: 0.8, index: 0 }, [EAttrTypeL1.ATK]: { add: 1350, index: 0 }, }; this.skill_type = EMagicType.PHYSICS; this.quality = ESkillQuality.HIGH; } getEffect(params: any = null): any { let level = params.level || 0; let relive = params.relive || 0; let qinmi = params.qinmi || 0; let profic = params.profic || 0; let sweep = params.sweep || 0; let atk = params.atk || 0; let po = params.po || 0; let polv = params.polv || 0; let nilin = params.nilin || 0; let ret = SKDataUtil.clone(GameUtil.skillEffect); let addhurt = Math.floor(55 * level * (profic ** 0.3 * 2.8853998 / 200 + 1) + Math.floor(50 * relive * (profic * 0.1 * 2 / 280 + 1))); let pohurt = 0; let randkb = GameUtil.random(0, 10000); ret.cnt = Math.floor(Math.random() * (3 - 6) + 6); if (randkb < polv * 100) { pohurt = Math.floor(addhurt * (po/20)); } if(nilin > 0){ ret.cnt++; ret.hurt = addhurt+(addhurt*sweep/100)+atk/2+pohurt + 12345; }else{ ret.hurt = addhurt+(addhurt*sweep/100)+atk/2+pohurt; } return ret; } }