class Daikokuten(DragonBase): ele = 'light' att = 124 a = [('a', 0.25, 'hit15'), ('a', 0.55)] dragonform = { 'act': 'c3 s', 'dx1.dmg': 2.55, 'dx1.startup': 18 / 60.0, # c1 frames 'dx1.hit': 3, 'dx2.dmg': 2.92, 'dx2.startup': 39 / 60.0, # c2 frames 'dx2.hit': 4, 'dx3.dmg': 4.10, 'dx3.startup': 39 / 60.0, # c3 frames 'dx3.recovery': 66 / 60.0, # recovery 'dx3.hit': 5, 'ds.recovery': 120 / 60, # skill frames 'ds.hit': 1, } def oninit(self, adv): super().oninit(adv) from core.advbase import Spdbuff self.ds_buff = Spdbuff('ds',0.2,10,wide='team') self.ds_buff.bufftime = self.ds_buff._no_bufftime def ds_proc(self): self.ds_buff.on() return self.adv.dmg_make('ds',7.00,'s')
def oninit(self, adv, afrom=None): from core.advbase import Selfbuff, Spdbuff self.atk_buff = Selfbuff(f'{self.name}_att',self.att,-1,'att','passive') self.spd_buff = Spdbuff(f'{self.name}_spd',self.spd,-1) def l_cas_buff(e): if e.hp <= 30: self.atk_buff.on() self.spd_buff.on() else: self.atk_buff.off() self.spd_buff.off() adv.Event('hp').listener(l_cas_buff)
class Crisis_Att_Spd(Ability): BUFF_LEVEL = { 2: (0.15, 0.10), 3: (0.20, 0.10) } def __init__(self, name, lvl): self.att, self.spd = Crisis_Att_Spd.BUFF_LEVEL[lvl] super().__init__(name) def oninit(self, adv, afrom=None): from core.advbase import Selfbuff, Spdbuff self.atk_buff = Selfbuff(f'{self.name}_att',self.att,-1,'att','passive') self.spd_buff = Spdbuff(f'{self.name}_spd',self.spd,-1) def l_cas_buff(e): if e.hp <= 30: self.atk_buff.on() self.spd_buff.on() else: self.atk_buff.off() self.spd_buff.off() adv.Event('hp').listener(l_cas_buff)
def ds_proc(self): from core.advbase import Spdbuff Spdbuff('ds', 0.2, 10, wide='team').no_bufftime().on() return self.adv.dmg_make('ds', 7.00, 's')
def oninit(self, adv): super().oninit(adv) from core.advbase import Spdbuff self.ds_buff = Spdbuff('ds',0.2,10,wide='team') self.ds_buff.bufftime = self.ds_buff._no_bufftime