class Cerberus(DragonBase): ele = 'flame' att = 127 a = [('a', 0.6)] dragonform = { 'act': 'c3-s', # "c3 c2 s c2 c2 c2 c2 c2 c2" 'dx1.dmg': 2.00, 'dx1.startup': 12 / 60.0, # c1 frames 'dx1.hit': 1, 'dx2.dmg': 1.40, 'dx2.startup': 26 / 60.0, # c2 frames 'dx2.hit': 1, 'dx3.dmg': 1.40 * 2, 'dx3.startup': (41 + 15) / 60.0, # c3 frames 'dx3.recovery': 38 / 60.0, # recovery 'dx3.hit': 2, 'ds.recovery': 270 / 60, # skill frames 'ds.hit': 7, } def oninit(self, adv): super().oninit(adv) from core.advbase import Debuff self.ds_buff = Debuff('ds', -0.05, 10) def ds_proc(self): dmg = self.adv.dmg_make('ds', 1.10, 's') self.ds_buff.on() self.adv.afflics.burn('ds', 120, 0.97, 12, dtype='s') return dmg + self.adv.dmg_make('ds', 1.10 * 6, 's')
class Apollo(DragonBase): ele = 'flame' att = 127 a = [('k_burn', 0.2), ('a', 0.5)] dragonform = { 'act': 'c3-s', 'dx1.dmg': 1.90, 'dx1.startup': 23 / 60.0, # c1 frames 'dx1.hit': 1, 'dx2.dmg': 2.09, 'dx2.startup': 36 / 60.0, # c2 frames 'dx2.hit': 1, 'dx3.dmg': 2.57, 'dx3.startup': 35 / 60.0, # c3 frames 'dx3.recovery': 41 / 60.0, # recovery 'dx3.hit': 1, 'ds.recovery': 110 / 60, # skill frames 'ds.hit': 2, } def oninit(self, adv): super().oninit(adv) from core.advbase import Debuff self.ds_buff = Debuff('ds', -0.05, 10) def ds_proc(self): dmg = self.adv.dmg_make('ds', 1.80, 's') self.ds_buff.on() self.adv.afflics.burn('ds', 120, 0.311, 30, dtype='s') return dmg + self.adv.dmg_make('ds', 4.20, 's')
class Pazuzu(DragonBase): ele = 'wind' att = 127 a = [('k_poison', 0.2), ('a', 0.5)] dragonform = { 'act': 'c2 s', 'dx1.dmg': 1.40, 'dx1.startup': 20 / 60.0, # c1 frames 'dx1.hit': 1, 'dx2.dmg': 1.54, 'dx2.startup': 38 / 60.0, # c2 frames 'dx2.hit': 1, 'dx3.dmg': 1.93, 'dx3.startup': 38 / 60.0, # c3 frames 'dx3.recovery': 47 / 60.0, # recovery 'dx3.hit': 3, 'ds.recovery': 146 / 60, # skill frames 'ds.hit': 5, 'dodge.startup': 39 / 60, # dodge frames } def oninit(self, adv): super().oninit(adv) from core.advbase import Debuff self.ds_buff = Debuff('ds', -0.05, 10) def ds_proc(self): dmg = self.adv.dmg_make('ds', 0.91, 's') self.ds_buff.on() self.adv.afflics.poison('ds', 120, 0.291, 30, dtype='s') return dmg + self.adv.dmg_make('ds', 4 * 0.91, 's')
def oninit(self, adv): super().oninit(adv) from core.advbase import Debuff, EffectBuff, Timer self.sp_convert = adv.sp_convert self.s1 = adv.s1 self.s2 = adv.s2 self.ds_buff = Debuff('ds',-0.20,15) self.sp_regen_buff = EffectBuff('ds_sp', 90, lambda: self.sp_regen_timer.on(), lambda: self.sp_regen_timer.off()) self.sp_regen_timer = Timer(self.sp_regen, 1.99, 1)
def on(self, name, rate, duration=None): p = super().on(name, rate, duration) if p: from core.advbase import Debuff Debuff('{}_bog'.format(name), -0.5 * p, self.duration, 1, 'att', 'bog').on() return p
class Ramiel(DragonBase): ele = 'shadow' att = 128 a = [('a', 0.6), ('dp', 50)] # need framedata dragonform = { 'act': 'c3-s', 'dx1.dmg': 1.95, 'dx1.startup': 20 / 60.0, # c1 frames 'dx1.hit': 1, 'dx2.dmg': 2.35, 'dx2.startup': 40 / 60.0, # c2 frames 'dx2.hit': 1, 'dx3.dmg': 3.40, 'dx3.startup': 55 / 60.0, # c3 frames 'dx3.recovery': 45 / 60.0, # recovery 'dx3.hit': 1, 'ds.recovery': 220 / 60, 'ds.hit': -2, } def oninit(self, adv): super().oninit(adv) from core.advbase import Debuff, EffectBuff, Timer self.sp_convert = adv.sp_convert self.s1 = adv.s1 self.s2 = adv.s2 self.ds_buff = Debuff('ds',-0.20,15) self.sp_regen_buff = EffectBuff('ds_sp', 90, lambda: self.sp_regen_timer.on(), lambda: self.sp_regen_timer.off()) self.sp_regen_timer = Timer(self.sp_regen, 1.99, 1) def sp_regen(self, t): self.s1.charge(self.sp_convert(0.015, self.s1.sp)) self.s2.charge(self.sp_convert(0.015, self.s2.sp)) def ds_proc(self): dmg = self.adv.dmg_make('ds',3.224,'s') self.adv.afflics.poison('ds',120,0.582,dtype='s') self.ds_buff.on() self.s2.charge(self.s2.sp) self.sp_regen_buff.on() return dmg + self.adv.dmg_make('ds',4.836,'s')
def dmg_proc(self, name, amount): if name[0] == 'x' and self.s2_buff.get(): Debuff('s2_ab', 0.05, 5, self.s2_chance()).on()
def oninit(self, adv): super().oninit(adv) from core.advbase import Debuff self.ds_buff = Debuff('ds', -0.05, 10)