Пример #1
0
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')
Пример #2
0
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')
Пример #3
0
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')
Пример #4
0
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')