示例#1
0
    public override void update_timers()
    {
        autoAtkTimer.update_timer();
        Q_timer.update_timer();
        W_timer.update_timer();
        E_timer.update_timer();
        R_timer.update_timer();
        Passive_timer.update_timer();
        death_timer.update_timer();
        if (flags.in_combat)
        {
            inCombat_timer.update_timer();
            if (inCombat_timer.is_over())
            {
                change_incombat_state(false);
            }
        }

        if (!flags.is_dead)
        {
            regen_timer.update_timer();
            if (regen_timer.is_over())
            {
                regen_timer.reset_timer();
                change_health(runtime_u_stats.hp_reg);
                //TODO mana regen here
            }
        }

        //update and possibily, clear status
        List <Status> trashbin = new List <Status>();

        foreach (Status sts in status)
        {
            sts.update_status();
            if (sts.is_over())
            {
                trashbin.Add(sts);
            }
        }
        foreach (Status trash in trashbin)
        {
            flags.set_flag_from_string(trash.flags, false);
            status.Remove(trash);
        }
        trashbin.Clear();

        if (isPlayer)
        {
            refresh_player_panel();
        }
    }
示例#2
0
    GameObject E_obj;    //runtime e object

    public override void update_timers()
    {
        if (!netID.isLocalPlayer)
        {
            return;
        }

        autoAtkTimer.update_timer();
        Q_timer.update_timer();
        W_timer.update_timer();
        E_timer.update_timer();
        R_timer.update_timer();
        Passive_timer.update_timer();
        death_timer.update_timer();

        if (!flags.is_dead)
        {
            regen_timer.update_timer();
            if (regen_timer.is_over())
            {
                regen_timer.reset_timer();
                change_health(runtime_u_stats.hp_reg);
                //TODO mana regen here
            }
        }

        //Q skills
        Q_dur_timer.update_timer();
        if (Q_dur_timer.is_over())
        {
            Q_dur_timer.reset_timer();
            Q_flag = false;
        }
        Q_move_dur_timer.update_timer();
        if (Q_move_dur_timer.is_over())
        {
            Q_move_dur_timer.reset_timer();
            bonus_u_stats_mult.move_speed -= Q_move_bonus;
            update_movement_speed();
        }
        W_dur_timer.update_timer();
        if (W_dur_timer.is_over())
        {
            W_dur_timer.reset_timer();
            W_flag            = false;
            W_dmg_rdc_runtime = 0f;
            update_dmg_reduction();
        }

        E_dur_timer.update_timer();
        if (E_dur_timer.is_over())
        {
            if (E_obj == null)
            {
                E_dur_timer.reset_timer();
            }

            E_flag = false;
        }

        //update and possibily, clear status
        List <Status> trashbin = new List <Status>();

        foreach (Status sts in status)
        {
            sts.update_status();
            if (sts.is_over())
            {
                trashbin.Add(sts);
            }
        }
        foreach (Status trash in trashbin)
        {
            flags.set_flag_from_string(trash.flags, false);
            status.Remove(trash);
        }
        trashbin.Clear();

        if (isPlayer)
        {
            refresh_player_panel();
        }
    }