public override bool act_W() { if ((W_skill.level > 0) && (W_timer.is_over()) && (!W_flag) && can_cast()) { W_flag = true; W_timer.restart(); W_dur_timer.restart(); W_dmg_rdc_runtime = W_damage_reduction; update_dmg_reduction(); } return(false); }
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(); } }
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(); } }