SimulationCraft
SimulationCraft is a tool to explore combat mechanics in the popular MMO RPG World of Warcraft (tm).
item_targetdata_initializer.hpp
1 // ==========================================================================
2 // Dedmonwakeen's Raid DPS/TPS Simulator.
3 // Send questions to [email protected]
4 // ==========================================================================
5 
6 #pragma once
7 
8 #include "config.hpp"
9 #include "sc_enums.hpp"
10 #include "util/span.hpp"
11 
12 #include <vector>
13 
14 struct actor_target_data_t;
15 struct player_t;
16 struct special_effect_t;
17 
31 {
32  unsigned item_id;
33  std::vector< slot_e > slots_;
34 
35  item_targetdata_initializer_t(unsigned iid, util::span<const slot_e> s);
36 
38 
39  // Returns the special effect based on item id and slots to source from. Overridable if more
40  // esoteric functionality is needed
41  virtual const special_effect_t* find_effect(player_t* player) const;
42 
43  // Override to initialize the targetdata object.
44  virtual void operator()(actor_target_data_t*) const = 0;
45 };
Targetdata initializer for items.
Definition: item_targetdata_initializer.hpp:30
Definition: player.hpp:109
Definition: actor_target_data.hpp:15
Definition: special_effect.hpp:39