Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
2.7 kB · 129 lines
C++
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129#include "stdafx.h"
#include "AttributeModifier.h"#include "HtmlString.h"
void AttributeModifier::_init(eMODIFIER_ID id, const wstring name, double amount, int operation){ assert(operation < TOTAL_OPERATIONS); this->amount = amount; this->operation = operation; this->name = name; this->id = id; this->serialize = true;}
AttributeModifier::AttributeModifier(double amount, int operation){ // Create an anonymous attribute _init(eModifierId_ANONYMOUS, name, amount, operation);}
AttributeModifier::AttributeModifier(eMODIFIER_ID id, double amount, int operation){ _init(id, name, amount, operation);
//Validate.notEmpty(name, "Modifier name cannot be empty"); //Validate.inclusiveBetween(0, TOTAL_OPERATIONS - 1, operation, "Invalid operation");}
eMODIFIER_ID AttributeModifier::getId(){ return id;}
wstring AttributeModifier::getName(){ return name;}
int AttributeModifier::getOperation(){ return operation;}
double AttributeModifier::getAmount(){ return amount;}
bool AttributeModifier::isSerializable(){ return serialize;}
AttributeModifier *AttributeModifier::setSerialize(bool serialize){ this->serialize = serialize; return this;}
bool AttributeModifier::equals(AttributeModifier *modifier){ if (this == modifier) return true; if (modifier == NULL) return false; //|| getClass() != o.getClass()) return false;
if (id != modifier->id) return false;
return true;}
wstring AttributeModifier::toString(){ return L"";
/*return L"AttributeModifier{" + L"amount=" + amount + L", operation=" + operation + L", name='" + name + '\'' + L", id=" + id + L", serialize=" + serialize + L'}';*/}
HtmlString AttributeModifier::getHoverText(eATTRIBUTE_ID attribute){ double amount = getAmount(); double displayAmount;
if (getOperation() == AttributeModifier::OPERATION_MULTIPLY_BASE || getOperation() == AttributeModifier::OPERATION_MULTIPLY_TOTAL) { displayAmount = getAmount() * 100.0f; } else { displayAmount = getAmount(); }
eMinecraftColour color;
if (amount > 0) { color = eHTMLColor_9; } else if (amount < 0) { displayAmount *= -1; color = eHTMLColor_c; }
bool percentage = false; switch(getOperation()) { case AttributeModifier::OPERATION_ADDITION: percentage = false; break; case AttributeModifier::OPERATION_MULTIPLY_BASE: case AttributeModifier::OPERATION_MULTIPLY_TOTAL: percentage = true; break; default: // No other operations assert(0); }
wchar_t formatted[256]; swprintf(formatted, 256, L"%ls%d%ls %ls", (amount > 0 ? L"+" : L"-"), (int) displayAmount, (percentage ? L"%" : L""), app.GetString(Attribute::getName(attribute)));
return HtmlString(formatted, color);}