12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #include "ItemModifier.h"
- using namespace Framework;
- ItemModifier::ItemModifier()
- : ReferenceCounter()
- {}
- AttributeItemModifier::AttributeItemModifier(
- Framework::Text attribute, Framework::Text value)
- : ItemModifier(),
- attribute(attribute),
- value(value)
- {}
- void AttributeItemModifier::applyOn(Item* zItem)
- {
- if (attribute.istGleich("hp"))
- {
- float hp = 0;
- if (value.positionVon("+=") == 0 || value.positionVon("-=") == 0)
- {
- hp = zItem->getHp();
- if (value.positionVon("+=") == 0)
- hp += TextZuFloat(value.getText() + 2);
- if (value.positionVon("-=") == 0)
- hp -= TextZuFloat(value.getText() + 2);
- }
- if (value.positionVon("=") == 0)
- {
- hp = TextZuFloat(value.getText() + 1);
- }
- zItem->setHp(hp);
- }
- }
- CombinedItemModifier::CombinedItemModifier()
- : ItemModifier()
- {}
- void CombinedItemModifier::addModifier(ItemModifier* modifier)
- {
- modifiers.add(modifier);
- }
- void CombinedItemModifier::applyOn(Item* zItem)
- {
- for (ItemModifier* modifier : modifiers)
- {
- modifier->applyOn(zItem);
- }
- }
|