try {
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
for(Iterator<Combat> it=tmp.iterator();it.hasNext();) {
Combat c=it.next();
if(!c.isActive()) {
((DefaultListModel)cList.getModel()).addElement(c.getName());
parser.getData().addCombatToAllStats(c);
}
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
cList.revalidate();
cList.repaint();
DefaultTableModel dtm=new DefaultTableModel();
allDPSO.setModel(dtm);
dtm.addColumn("Participant");
dtm.addColumn("Combats");
dtm.addColumn("Duration of all combats");
dtm.addColumn("Damage done");
dtm.addColumn("DPS");
for(Iterator<Participant> it=parser.getData().getDPSSortedParticipantList().iterator();it.hasNext();) {
Participant p=it.next();
dtm.addRow(new Object[]{p.getName(),p.getCombats(),p.getCombatDuration(),p.getDamageDone(),p.getDPS()});
}
dtm.fireTableDataChanged();
allDPSO.revalidate();
allDPSO.repaint();
dtm=new DefaultTableModel();
allHPS.setModel(dtm);
dtm.addColumn("Participant");
dtm.addColumn("Combats");
dtm.addColumn("Duration of all combats");
dtm.addColumn("Healing done");
dtm.addColumn("HPS");
for(Iterator<Participant> it=parser.getData().getHPSSortedParticipantList().iterator();it.hasNext();) {
Participant p=it.next();
dtm.addRow(new Object[]{p.getName(),p.getCombats(),p.getCombatDuration(),p.getHealingDone(),p.getHPS()});
}
dtm.fireTableDataChanged();
allHPS.revalidate();
allHPS.repaint();
dtm=new DefaultTableModel();
allDPST.setModel(dtm);
dtm.addColumn("Participant");
dtm.addColumn("Combats");
dtm.addColumn("Duration of all combats");
dtm.addColumn("Damage taken");
dtm.addColumn("DTPS");
for(Iterator<Participant> it=parser.getData().getDTPSSortedParticipantList().iterator();it.hasNext();) {
Participant p=it.next();
dtm.addRow(new Object[]{p.getName(),p.getCombats(),p.getCombatDuration(),p.getDamageTaken(),p.getDTPS()});
}
dtm.fireTableDataChanged();
allDPST.revalidate();
allDPST.repaint();
}
if(eventType==RRAMediator.EventNewFile || eventType==EventCombatDeselected) {
if(eventType==RRAMediator.EventNewFile) {
((DefaultListModel)cList.getModel()).removeAllElements();
cList.revalidate();
cList.repaint();
parser.getData().clearCombatAllStats();
allDPSO.setModel(new DefaultTableModel());
allDPSO.revalidate();
allDPSO.repaint();
allHPS.setModel(new DefaultTableModel());
allHPS.revalidate();
allHPS.repaint();
allDPST.setModel(new DefaultTableModel());
allDPST.revalidate();
allDPST.repaint();
}
combatName.setText("");
combatStart.setText("");
combatEnd.setText("");
combatDuration.setText("");
dpso.setModel(new DefaultTableModel());
dpso.revalidate();
dpso.repaint();
dpsoPanel.removeAll();
dpsoPanel.revalidate();
dpsoPanel.repaint();
hps.setModel(new DefaultTableModel());
hps.revalidate();
hps.repaint();
hpsPanel.removeAll();
hpsPanel.revalidate();
hpsPanel.repaint();
dpst.setModel(new DefaultTableModel());
dpst.revalidate();
dpst.repaint();
dpstPanel.removeAll();
dpstPanel.revalidate();
dpstPanel.repaint();
((DefaultListModel)cParticipants.getModel()).removeAllElements();
cParticipants.revalidate();
cParticipants.repaint();
x1_dps1Stats.setModel(new DefaultTableModel());
x1_dps1Stats.revalidate();
x1_dps1Stats.repaint();
x1_dps2Stats.setModel(new DefaultTableModel());
x1_dps2Stats.revalidate();
x1_dps2Stats.repaint();
x1_dtps1Stats.setModel(new DefaultTableModel());
x1_dtps1Stats.revalidate();
x1_dtps1Stats.repaint();
x1_dtps2Stats.setModel(new DefaultTableModel());
x1_dtps2Stats.revalidate();
x1_dtps2Stats.repaint();
x1_hps1Stats.setModel(new DefaultTableModel());
x1_hps1Stats.revalidate();
x1_hps1Stats.repaint();
x1_hps2Stats.setModel(new DefaultTableModel());
x1_hps2Stats.revalidate();
x1_hps2Stats.repaint();
x1_hps3Stats.setModel(new DefaultTableModel());
x1_hps3Stats.revalidate();
x1_hps3Stats.repaint();
x1_dtpsTypes.setModel(new DefaultTableModel());
x1_dtpsTypes.revalidate();
x1_dtpsTypes.repaint();
interrupts.setModel(new DefaultTableModel());
interrupts.revalidate();
interrupts.repaint();
deaths.setModel(new DefaultTableModel());
deaths.revalidate();
deaths.repaint();
}
if(eventType==RRAMediator.EventCombatChanged) {
DefaultTableModel dtm=new DefaultTableModel();
dpso.setModel(dtm);
dtm.addColumn("");
dtm.addColumn("Combat participant");
dtm.addColumn("Damage done");
dtm.addColumn("DPS");
dtm.addColumn("DPSe");
dtm.addColumn("Activity");
Combat c=this.parser.getCombat((String)parameters.toArray()[0]);
if(c==null) return;
int marked=3;
XYSeriesCollection dps_dataset=new XYSeriesCollection();
for(Iterator<CombatParticipant> it=c.getSortedDPSParticipantList().iterator();it.hasNext();) {
CombatParticipant cp=it.next();
((DefaultListModel)cParticipants.getModel()).addElement(cp.getName());
dtm.addRow(new Object[]{(marked>0),cp.getName(),cp.getDpsRealTimeStats().getDamage(),cp.getDpsRealTimeStats().getDPS(c.getCombatDuration()),cp.getDpsRealTimeStats().getDPSe(),cp.getDpsRealTimeStats().getActivity(c.getCombatDuration())});
if(marked>0)
dps_dataset.addSeries(createDPSSeries(c,cp));
marked--;
}
dpsoChart=ChartFactory.createXYLineChart("Real time DPS", "Seconds of combat", "DPS", dps_dataset, PlotOrientation.VERTICAL, true, true, false);
dpsoChart.getXYPlot().setRenderer(new XYSplineRenderer());
dpsoChartPanel=new ChartPanel(dpsoChart);
dpsoChartPanel.setLayout(new BorderLayout());
dpsoPanel.removeAll();
dpsoPanel.add(dpsoChartPanel);
dpsoChartPanel.revalidate();
dpsoChartPanel.repaint();
dpso.getColumnModel().getColumn(0).setMaxWidth(30);
dpso.getColumnModel().getColumn(0).setCellRenderer(new CheckBoxCellRenderer());
dpso.getColumnModel().getColumn(0).setCellEditor(new DPSCheckBoxCellEditor(c.getName(),this));
dtm.fireTableDataChanged();
dpso.revalidate();
dpso.repaint();
combatName.setText(c.getName());
SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss");
combatStart.setText(sdf.format(c.getCombatStart()));
combatEnd.setText(sdf.format(c.getCombatEnd()));
combatDuration.setText(Long.toString(c.getCombatDuration()));
((DefaultListModel)cParticipants.getModel()).removeAllElements();
for(Iterator<CombatParticipant> it=c.getSortedParticipantList().iterator();it.hasNext();) {
CombatParticipant cp=it.next();
((DefaultListModel)cParticipants.getModel()).addElement(cp.getName());
}
x1_dps1Stats.setModel(new DefaultTableModel());
x1_dps1Stats.revalidate();
x1_dps1Stats.repaint();
x1_dps2Stats.setModel(new DefaultTableModel());
x1_dps2Stats.revalidate();
x1_dps2Stats.repaint();
x1_dtps1Stats.setModel(new DefaultTableModel());
x1_dtps1Stats.revalidate();
x1_dtps1Stats.repaint();
x1_dtps2Stats.setModel(new DefaultTableModel());
x1_dtps2Stats.revalidate();
x1_dtps2Stats.repaint();
x1_hps1Stats.setModel(new DefaultTableModel());
x1_hps1Stats.revalidate();
x1_hps1Stats.repaint();
x1_hps2Stats.setModel(new DefaultTableModel());
x1_hps2Stats.revalidate();
x1_hps2Stats.repaint();
x1_hps3Stats.setModel(new DefaultTableModel());
x1_hps3Stats.revalidate();
x1_hps3Stats.repaint();
x1_dtpsTypes.setModel(new DefaultTableModel());
x1_dtpsTypes.revalidate();
x1_dtpsTypes.repaint();
interrupts.setModel(new DefaultTableModel());
interrupts.revalidate();
interrupts.repaint();
deaths.setModel(new DefaultTableModel());
deaths.revalidate();
deaths.repaint();
cParticipants.revalidate();
cParticipants.repaint();
DefaultTableModel htm=new DefaultTableModel();
hps.setModel(htm);
htm.addColumn("");
htm.addColumn("Combat participant");
htm.addColumn("Healing done");
htm.addColumn("Overhealing");
htm.addColumn("HPS");
htm.addColumn("HPSe");
htm.addColumn("Activity");
marked=3;
XYSeriesCollection hps_dataset=new XYSeriesCollection();
for(Iterator<CombatParticipant> it=c.getSortedHPSParticipantList().iterator();it.hasNext();) {
CombatParticipant cp=it.next();
htm.addRow(new Object[]{(marked>0),cp.getName(),cp.getHpsRealTimeStats().getHealingDone(),cp.getHpsRealTimeStats().getOverhealingDone(),cp.getHpsRealTimeStats().getHPS(c.getCombatDuration()),cp.getHpsRealTimeStats().getHPSe(),cp.getHpsRealTimeStats().getActivity(c.getCombatDuration())});
if(marked>0)
hps_dataset.addSeries(createHPSSeries(c,cp));
marked--;
}
hpsChart=ChartFactory.createXYLineChart("Real time HPS", "Seconds of combat", "HPS", hps_dataset, PlotOrientation.VERTICAL, true, true, false);
hpsChart.getXYPlot().setRenderer(new XYSplineRenderer());
hpsChartPanel=new ChartPanel(hpsChart);
hpsChartPanel.setLayout(new BorderLayout());
hpsPanel.removeAll();
hpsPanel.add(hpsChartPanel);
hpsChartPanel.revalidate();
hpsChartPanel.repaint();
hps.getColumnModel().getColumn(0).setMaxWidth(30);
hps.getColumnModel().getColumn(0).setCellRenderer(new CheckBoxCellRenderer());
hps.getColumnModel().getColumn(0).setCellEditor(new HPSCheckBoxCellEditor(c.getName(),this));
htm.fireTableDataChanged();
hps.revalidate();
hps.repaint();
DefaultTableModel dttm=new DefaultTableModel();
dpst.setModel(dttm);
dttm.addColumn("");
dttm.addColumn("Combat participant");
dttm.addColumn("Damage taken");
dttm.addColumn("DTPS");
dttm.addColumn("DTPSe");
dttm.addColumn("Activity");
marked=3;
XYSeriesCollection dtps_dataset=new XYSeriesCollection();
for(Iterator<CombatParticipant> it=c.getSortedDTPSParticipantList().iterator();it.hasNext();) {
CombatParticipant cp=it.next();
dttm.addRow(new Object[]{(marked>0),cp.getName(),cp.getDtpsRealTimeStats().getDamage(),cp.getDtpsRealTimeStats().getDPS(c.getCombatDuration()),cp.getDtpsRealTimeStats().getDPSe(),cp.getDtpsRealTimeStats().getActivity(c.getCombatDuration())});
if(marked>0)
dtps_dataset.addSeries(createDTPSSeries(c,cp));
marked--;
}
dpstChart=ChartFactory.createXYLineChart("Real time damage taken", "Seconds of combat", "DTPS", dtps_dataset, PlotOrientation.VERTICAL, true, true, false);
dpstChart.getXYPlot().setRenderer(new XYSplineRenderer());
dpstChartPanel=new ChartPanel(dpstChart);
dpstChartPanel.setLayout(new BorderLayout());
dpstPanel.removeAll();
dpstPanel.add(dpstChartPanel);
dpstChartPanel.revalidate();
dpstChartPanel.repaint();
dpst.getColumnModel().getColumn(0).setMaxWidth(30);
dpst.getColumnModel().getColumn(0).setCellRenderer(new CheckBoxCellRenderer());
dpst.getColumnModel().getColumn(0).setCellEditor(new DTPSCheckBoxCellEditor(c.getName(),this));
dttm.fireTableDataChanged();
dpst.revalidate();
dpst.repaint();
}
if(eventType==RRAMediator.EventDPSCombatParticipantChange) {
Combat c=this.parser.getCombat((String)parameters.toArray()[0]);
for(Iterator<CombatParticipant> it=c.getSortedDPSParticipantList().iterator();it.hasNext();) {
CombatParticipant cp=it.next();
if(cp.getName().equalsIgnoreCase((String)parameters.toArray()[1])) {
boolean select=((Boolean)parameters.toArray()[2]).booleanValue();
XYSeriesCollection dataset=(XYSeriesCollection)dpsoChart.getXYPlot().getDataset();
boolean exists=false;
for(Iterator<XYSeries> it2=dataset.getSeries().iterator();it2.hasNext() && !exists;) {
XYSeries xys=it2.next();
if(xys.getKey().equals(cp.getName())) exists=true;
if(!select && xys.getKey().equals(cp.getName())) {
dataset.removeSeries(xys);
}
}
if(!exists && select) {
dataset.addSeries(createDPSSeries(c,cp));
}
}
}
dpsoChart.fireChartChanged();
dpsoChartPanel.revalidate();
dpsoChartPanel.repaint();
}
if(eventType==RRAMediator.EventHPSCombatParticipantChange) {
Combat c=this.parser.getCombat((String)parameters.toArray()[0]);
for(Iterator<CombatParticipant> it=c.getSortedHPSParticipantList().iterator();it.hasNext();) {
CombatParticipant cp=it.next();
if(cp.getName().equalsIgnoreCase((String)parameters.toArray()[1])) {
boolean select=((Boolean)parameters.toArray()[2]).booleanValue();
XYSeriesCollection dataset=(XYSeriesCollection)hpsChart.getXYPlot().getDataset();
boolean exists=false;
for(Iterator<XYSeries> it2=dataset.getSeries().iterator();it2.hasNext() && !exists;) {
XYSeries xys=it2.next();
if(xys.getKey().equals(cp.getName())) exists=true;
if(!select && xys.getKey().equals(cp.getName())) {
dataset.removeSeries(xys);
}
}
if(!exists && select) {
dataset.addSeries(createHPSSeries(c,cp));
}
}
}
hpsChart.fireChartChanged();
hpsChartPanel.revalidate();
hpsChartPanel.repaint();
}
if(eventType==RRAMediator.EventDTPSCombatParticipantChange) {
Combat c=this.parser.getCombat((String)parameters.toArray()[0]);
for(Iterator<CombatParticipant> it=c.getSortedDTPSParticipantList().iterator();it.hasNext();) {
CombatParticipant cp=it.next();
if(cp.getName().equalsIgnoreCase((String)parameters.toArray()[1])) {
boolean select=((Boolean)parameters.toArray()[2]).booleanValue();
XYSeriesCollection dataset=(XYSeriesCollection)dpstChart.getXYPlot().getDataset();
boolean exists=false;
for(Iterator<XYSeries> it2=dataset.getSeries().iterator();it2.hasNext() && !exists;) {
XYSeries xys=it2.next();
if(xys.getKey().equals(cp.getName())) exists=true;
if(!select && xys.getKey().equals(cp.getName())) {
dataset.removeSeries(xys);
}
}
if(!exists && select) {
dataset.addSeries(createDTPSSeries(c,cp));
}
}
}
dpstChart.fireChartChanged();
dpstChartPanel.revalidate();
dpstChartPanel.repaint();
}
if(eventType==RRAMediator.EventNewCombat) {
this.tmp=parameters;
try {
final Combat c=(Combat)tmp.toArray()[0];
parser.getData().addCombatToAllStats(c);
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
((DefaultListModel)cList.getModel()).addElement(c.getName());
}
});
} catch (Exception e) {
e.printStackTrace();
}
cList.revalidate();
cList.repaint();
DefaultTableModel dtm=new DefaultTableModel();
allDPSO.setModel(dtm);
dtm.addColumn("Participant");
dtm.addColumn("Combats");
dtm.addColumn("Duration of all combats");
dtm.addColumn("Damage done");
dtm.addColumn("DPS");
for(Iterator<Participant> it=parser.getData().getDPSSortedParticipantList().iterator();it.hasNext();) {
Participant p=it.next();
dtm.addRow(new Object[]{p.getName(),p.getCombats(),p.getCombatDuration(),p.getDamageDone(),p.getDPS()});
}
dtm.fireTableDataChanged();
allDPSO.revalidate();
allDPSO.repaint();
dtm=new DefaultTableModel();
allHPS.setModel(dtm);
dtm.addColumn("Participant");
dtm.addColumn("Combats");
dtm.addColumn("Duration of all combats");
dtm.addColumn("Healing done");
dtm.addColumn("HPS");
for(Iterator<Participant> it=parser.getData().getHPSSortedParticipantList().iterator();it.hasNext();) {
Participant p=it.next();
dtm.addRow(new Object[]{p.getName(),p.getCombats(),p.getCombatDuration(),p.getHealingDone(),p.getHPS()});
}
dtm.fireTableDataChanged();
allHPS.revalidate();
allHPS.repaint();
dtm=new DefaultTableModel();
allDPST.setModel(dtm);
dtm.addColumn("Participant");
dtm.addColumn("Combats");
dtm.addColumn("Duration of all combats");
dtm.addColumn("Damage taken");
dtm.addColumn("DTPS");
for(Iterator<Participant> it=parser.getData().getDTPSSortedParticipantList().iterator();it.hasNext();) {
Participant p=it.next();
dtm.addRow(new Object[]{p.getName(),p.getCombats(),p.getCombatDuration(),p.getDamageTaken(),p.getDTPS()});
}
dtm.fireTableDataChanged();
allDPST.revalidate();
allDPST.repaint();
}
if(eventType==RRAMediator.EventCombatParticipantChanged) {
Combat c=this.parser.getCombat((String)parameters.toArray()[0]);
if(c==null) return;
for(Iterator<CombatParticipant> it=c.getSortedDPSParticipantList().iterator();it.hasNext();) {
CombatParticipant cp=it.next();
if(cp.getName().equalsIgnoreCase((String)parameters.toArray()[1])) {
// DPS Abilities
DefaultTableModel tm=new DefaultTableModel();
x1_dps1Stats.setModel(tm);
tm.addColumn("Name");
tm.addColumn("Hit");
tm.addColumn("Crit");
tm.addColumn("Miss");
tm.addColumn("Dodge");
tm.addColumn("Parry");
tm.addColumn("Block");
tm.addColumn("Absorb");
tm.addColumn("Intercepted");
for(Iterator<DPSStats> it2=cp.getDamageAbilityList().iterator();it2.hasNext();) {
DPSStats xx=it2.next();
tm.addRow(new Object[]{xx.getAbilityName(),
xx.getAbilityDamage(DPSStats.OutcomeHit)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeHit)+")",
xx.getAbilityDamage(DPSStats.OutcomeCrit)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeCrit)+")",
xx.getOutcomeEventPercentages(DPSStats.OutcomeMiss),
xx.getOutcomeEventPercentages(DPSStats.OutcomeDodge),
xx.getOutcomeEventPercentages(DPSStats.OutcomeParry),
xx.getAbilityDamage(DPSStats.OutcomeBlock)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeBlock)+")",
xx.getAbilityDamage(DPSStats.OutcomeAbsorbed)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeAbsorbed)+")",
xx.getAbilityDamage(DPSStats.OutcomeIntercepted)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeIntercepted)+")"});
}
tm.fireTableDataChanged();
x1_dps1Stats.getColumnModel().getColumn(0).setMinWidth(150);
x1_dps1Stats.getColumnModel().getColumn(1).setMinWidth(120);
x1_dps1Stats.getColumnModel().getColumn(2).setMinWidth(120);
x1_dps1Stats.getColumnModel().getColumn(3).setMinWidth(70);
x1_dps1Stats.getColumnModel().getColumn(4).setMinWidth(70);
x1_dps1Stats.getColumnModel().getColumn(5).setMinWidth(70);
x1_dps1Stats.getColumnModel().getColumn(6).setMinWidth(120);
x1_dps1Stats.getColumnModel().getColumn(7).setMinWidth(120);
x1_dps1Stats.revalidate();
x1_dps1Stats.repaint();
tm=new DefaultTableModel();
x1_dps2Stats.setModel(tm);
tm.addColumn("Target");
tm.addColumn("Hit");
tm.addColumn("Crit");
tm.addColumn("Miss");
tm.addColumn("Dodge");
tm.addColumn("Parry");
tm.addColumn("Block");
tm.addColumn("Absorb");
tm.addColumn("Intercepted");
for(Iterator<DPSStats> it3=cp.getDamageTargetList().iterator();it3.hasNext();) {
DPSStats xx=it3.next();
tm.addRow(new Object[]{xx.getAbilityName(),
xx.getAbilityDamage(DPSStats.OutcomeHit)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeHit)+")",
xx.getAbilityDamage(DPSStats.OutcomeCrit)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeCrit)+")",
xx.getOutcomeEventPercentages(DPSStats.OutcomeMiss),
xx.getOutcomeEventPercentages(DPSStats.OutcomeDodge),
xx.getOutcomeEventPercentages(DPSStats.OutcomeParry),
xx.getAbilityDamage(DPSStats.OutcomeBlock)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeBlock)+")",
xx.getAbilityDamage(DPSStats.OutcomeAbsorbed)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeAbsorbed)+")",
xx.getAbilityDamage(DPSStats.OutcomeIntercepted)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeIntercepted)+")"});
}
tm.fireTableDataChanged();
x1_dps2Stats.getColumnModel().getColumn(0).setMinWidth(150);
x1_dps2Stats.getColumnModel().getColumn(1).setMinWidth(120);
x1_dps2Stats.getColumnModel().getColumn(2).setMinWidth(120);
x1_dps2Stats.getColumnModel().getColumn(3).setMinWidth(70);
x1_dps2Stats.getColumnModel().getColumn(4).setMinWidth(70);
x1_dps2Stats.getColumnModel().getColumn(5).setMinWidth(70);
x1_dps2Stats.getColumnModel().getColumn(6).setMinWidth(120);
x1_dps2Stats.getColumnModel().getColumn(7).setMinWidth(120);
x1_dps2Stats.revalidate();
x1_dps2Stats.repaint();
tm=new DefaultTableModel();
x1_dtps1Stats.setModel(tm);
tm.addColumn("Ability");
tm.addColumn("Hit");
tm.addColumn("Crit");
tm.addColumn("Miss");
tm.addColumn("Dodge");
tm.addColumn("Parry");
tm.addColumn("Block");
tm.addColumn("Absorb");
tm.addColumn("Intercepted");
for(Iterator<DPSStats> it3=cp.getDamageTakenAbilityList().iterator();it3.hasNext();) {
DPSStats xx=it3.next();
tm.addRow(new Object[]{xx.getAbilityName(),
xx.getAbilityDamage(DPSStats.OutcomeHit)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeHit)+")",
xx.getAbilityDamage(DPSStats.OutcomeCrit)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeCrit)+")",
xx.getOutcomeEventPercentages(DPSStats.OutcomeMiss),
xx.getOutcomeEventPercentages(DPSStats.OutcomeDodge),
xx.getOutcomeEventPercentages(DPSStats.OutcomeParry),
xx.getAbilityDamage(DPSStats.OutcomeBlock)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeBlock)+")",
xx.getAbilityDamage(DPSStats.OutcomeAbsorbed)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeAbsorbed)+")",
xx.getAbilityDamage(DPSStats.OutcomeIntercepted)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeIntercepted)+")"});
}
tm.fireTableDataChanged();
x1_dtps1Stats.getColumnModel().getColumn(0).setMinWidth(150);
x1_dtps1Stats.getColumnModel().getColumn(1).setMinWidth(120);
x1_dtps1Stats.getColumnModel().getColumn(2).setMinWidth(120);
x1_dtps1Stats.getColumnModel().getColumn(3).setMinWidth(70);
x1_dtps1Stats.getColumnModel().getColumn(4).setMinWidth(70);
x1_dtps1Stats.getColumnModel().getColumn(5).setMinWidth(70);
x1_dtps1Stats.getColumnModel().getColumn(6).setMinWidth(120);
x1_dtps1Stats.getColumnModel().getColumn(7).setMinWidth(120);
x1_dtps1Stats.revalidate();
x1_dtps1Stats.repaint();
tm=new DefaultTableModel();
x1_dtps2Stats.setModel(tm);
tm.addColumn("Source");
tm.addColumn("Hit");
tm.addColumn("Crit");
tm.addColumn("Miss");
tm.addColumn("Dodge");
tm.addColumn("Parry");
tm.addColumn("Block");
tm.addColumn("Absorb");
tm.addColumn("Intercepted");
for(Iterator<DPSStats> it3=cp.getDamageTakenTargetList().iterator();it3.hasNext();) {
DPSStats xx=it3.next();
tm.addRow(new Object[]{xx.getAbilityName(),
xx.getAbilityDamage(DPSStats.OutcomeHit)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeHit)+")",
xx.getAbilityDamage(DPSStats.OutcomeCrit)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeCrit)+")",
xx.getOutcomeEventPercentages(DPSStats.OutcomeMiss),
xx.getOutcomeEventPercentages(DPSStats.OutcomeDodge),
xx.getOutcomeEventPercentages(DPSStats.OutcomeParry),
xx.getAbilityDamage(DPSStats.OutcomeBlock)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeBlock)+")",
xx.getAbilityDamage(DPSStats.OutcomeAbsorbed)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeAbsorbed)+")",
xx.getAbilityDamage(DPSStats.OutcomeIntercepted)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeIntercepted)+")"});
}
tm.fireTableDataChanged();
x1_dtps2Stats.getColumnModel().getColumn(0).setMinWidth(150);
x1_dtps2Stats.getColumnModel().getColumn(1).setMinWidth(120);
x1_dtps2Stats.getColumnModel().getColumn(2).setMinWidth(120);
x1_dtps2Stats.getColumnModel().getColumn(3).setMinWidth(70);
x1_dtps2Stats.getColumnModel().getColumn(4).setMinWidth(70);
x1_dtps2Stats.getColumnModel().getColumn(5).setMinWidth(70);
x1_dtps2Stats.getColumnModel().getColumn(6).setMinWidth(120);
x1_dtps2Stats.getColumnModel().getColumn(7).setMinWidth(120);
x1_dtps2Stats.revalidate();
x1_dtps2Stats.repaint();
tm=new DefaultTableModel();
x1_dtpsTypes.setModel(tm);
tm.addColumn("Damage type");
tm.addColumn("Hit");
tm.addColumn("Crit");
tm.addColumn("Miss");
tm.addColumn("Dodge");
tm.addColumn("Parry");
tm.addColumn("Block");
tm.addColumn("Absorb");
tm.addColumn("Intercepted");
for(Iterator<DPSStats> it3=cp.getDamageTakenTypeList().iterator();it3.hasNext();) {
DPSStats xx=it3.next();
tm.addRow(new Object[]{xx.getAbilityName(),
xx.getAbilityDamage(DPSStats.OutcomeHit)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeHit)+")",
xx.getAbilityDamage(DPSStats.OutcomeCrit)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeCrit)+")",
xx.getOutcomeEventPercentages(DPSStats.OutcomeMiss),
xx.getOutcomeEventPercentages(DPSStats.OutcomeDodge),
xx.getOutcomeEventPercentages(DPSStats.OutcomeParry),
xx.getAbilityDamage(DPSStats.OutcomeBlock)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeBlock)+")",
xx.getAbilityDamage(DPSStats.OutcomeAbsorbed)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeAbsorbed)+")",
xx.getAbilityDamage(DPSStats.OutcomeIntercepted)+" ("+xx.getOutcomeEventPercentages(DPSStats.OutcomeIntercepted)+")"});
}
tm.fireTableDataChanged();
x1_dtpsTypes.getColumnModel().getColumn(0).setMinWidth(150);
x1_dtpsTypes.getColumnModel().getColumn(1).setMinWidth(120);
x1_dtpsTypes.getColumnModel().getColumn(2).setMinWidth(120);
x1_dtpsTypes.getColumnModel().getColumn(3).setMinWidth(70);
x1_dtpsTypes.getColumnModel().getColumn(4).setMinWidth(70);
x1_dtpsTypes.getColumnModel().getColumn(5).setMinWidth(70);
x1_dtpsTypes.getColumnModel().getColumn(6).setMinWidth(120);
x1_dtpsTypes.getColumnModel().getColumn(7).setMinWidth(120);
x1_dtpsTypes.revalidate();
x1_dtpsTypes.repaint();
tm=new DefaultTableModel();
x1_hps1Stats.setModel(tm);
tm.addColumn("Ability");
tm.addColumn("Healing");
tm.addColumn("Overhealing");
for(Iterator<HPSStats> it3=cp.getHealingAbilityList().iterator();it3.hasNext();) {
HPSStats xx=it3.next();
tm.addRow(new Object[]{xx.getAbilityName(),
xx.getAbilityHealing()+" (crit "+xx.getHealingCritPercentage()+")",
xx.getAbilityOverhealing()+" ("+xx.getOverhealingPercentage()+")"});
}
tm.fireTableDataChanged();
x1_hps1Stats.revalidate();
x1_hps1Stats.repaint();
tm=new DefaultTableModel();
x1_hps2Stats.setModel(tm);
tm.addColumn("Target");
tm.addColumn("Healing");
tm.addColumn("Overhealing");
for(Iterator<HPSStats> it3=cp.getHealingTargetList().iterator();it3.hasNext();) {
HPSStats xx=it3.next();
tm.addRow(new Object[]{xx.getAbilityName(),
xx.getAbilityHealing()+" (crit "+xx.getHealingCritPercentage()+")",
xx.getAbilityOverhealing()+" ("+xx.getOverhealingPercentage()+")"});
}
tm.fireTableDataChanged();
x1_hps2Stats.revalidate();
x1_hps2Stats.repaint();
x1_hps3Stats.setModel(new DefaultTableModel());
x1_hps3Stats.revalidate();
x1_hps3Stats.repaint();
tm=new DefaultTableModel();
interrupts.setModel(tm);
tm.addColumn("Ability");
tm.addColumn("Combat second");
for(Iterator<InterruptStats> it3=cp.getInterruptList().iterator();it3.hasNext();) {
InterruptStats xx=it3.next();
long[] seconds=xx.getInterrupts();
for(int i=0;i<seconds.length;i++)
tm.addRow(new Object[]{xx.getAbilityName(),seconds[i]});
}
tm.fireTableDataChanged();
interrupts.revalidate();
interrupts.repaint();
tm=new DefaultTableModel();
deaths.setModel(tm);
tm.addColumn("Killed by");
tm.addColumn("Combat second");
for(Iterator<DeathDetail> it3=cp.getDeathList().iterator();it3.hasNext();) {
DeathDetail xx=it3.next();
tm.addRow(new Object[]{xx.getKilledBy(),xx.getDiedAt()});
}
tm.fireTableDataChanged();
deaths.revalidate();
deaths.repaint();
}
}
}
if(eventType==RRAMediator.EventHealingTargetChanged) {
Combat c=this.parser.getCombat((String)parameters.toArray()[0]);
for(Iterator<CombatParticipant> it=c.getSortedDPSParticipantList().iterator();it.hasNext();) {
CombatParticipant cp=it.next();
if(cp.getName().equalsIgnoreCase((String)parameters.toArray()[1])) {
for(Iterator<HPSStats> it3=cp.getHealingTargetList().iterator();it3.hasNext();) {
HPSStats xx=it3.next();
if(xx.getAbilityName().equalsIgnoreCase((String)parameters.toArray()[2])) {