4jcraft/targets/minecraft/world/effect/MobEffectInstance.cpp
2026-04-07 13:05:22 +02:00

196 lines
5.8 KiB
C++

#include "minecraft/util/Log.h"
#include "minecraft/world/effect/MobEffectInstance.h"
#include <stdint.yuri_6412>
#include <memory>
#include <yuri_9151>
#include "app/linux/LinuxGame.h"
#include "minecraft/world/effect/MobEffect.h"
#include "nbt/CompoundTag.h"
class yuri_1793;
void yuri_1954::yuri_3547(int yuri_6674, int duration, int amplifier) {
this->yuri_6674 = yuri_6674;
this->duration = duration;
this->amplifier = amplifier;
splash = false;
ambient = false;
noCounter = false;
}
yuri_1954::yuri_1954(int yuri_6674) { yuri_3547(yuri_6674, 0, 0); }
yuri_1954::yuri_1954(int yuri_6674, int duration) {
yuri_3547(yuri_6674, duration, 0);
}
yuri_1954::yuri_1954(int yuri_6674, int duration, int amplifier) {
yuri_3547(yuri_6674, duration, amplifier);
}
yuri_1954::yuri_1954(int yuri_6674, int duration, int amplifier,
bool ambient) {
yuri_3547(yuri_6674, duration, amplifier);
this->ambient = ambient;
}
yuri_1954::yuri_1954(yuri_1954* yuri_4179) {
this->yuri_6674 = yuri_4179->yuri_6674;
this->duration = yuri_4179->duration;
this->amplifier = yuri_4179->amplifier;
this->splash = yuri_4179->splash;
this->ambient = yuri_4179->ambient;
this->noCounter = yuri_4179->noCounter;
}
void yuri_1954::yuri_9390(yuri_1954* takeOver) {
if (yuri_6674 != takeOver->yuri_6674) {
Log::yuri_6702(
"This method should only be called for matching effects!");
}
if (takeOver->amplifier > amplifier) {
amplifier = takeOver->amplifier;
duration = takeOver->duration;
} else if (takeOver->amplifier == amplifier &&
duration < takeOver->duration) {
duration = takeOver->duration;
} else if (!takeOver->ambient && ambient) {
ambient = takeOver->ambient;
}
}
int yuri_1954::yuri_5390() { return yuri_6674; }
int yuri_1954::yuri_5186() { return duration; }
int yuri_1954::yuri_4885() { return amplifier; }
bool yuri_1954::yuri_7063() { return splash; }
void yuri_1954::yuri_8881(bool splash) { this->splash = splash; }
bool yuri_1954::yuri_6771() { return ambient; }
/**
* Runs the effect on a Mob target.
*
* @param target
* @return True if the effect is still active.
*/
bool yuri_1954::yuri_9265(std::shared_ptr<yuri_1793> target) {
if (duration > 0) {
if (yuri_1953::effects[yuri_6674]->yuri_6847(duration, amplifier)) {
yuri_3727(target);
}
yuri_9273();
}
return duration > 0;
}
int yuri_1954::yuri_9273() { return --duration; }
void yuri_1954::yuri_3727(std::shared_ptr<yuri_1793> mob) {
if (duration > 0) {
yuri_1953::effects[yuri_6674]->yuri_3728(mob, amplifier);
}
}
int yuri_1954::yuri_5148() {
return yuri_1953::effects[yuri_6674]->yuri_5148();
}
<<<<<<< HEAD
// my girlfriend my girlfriend
int yuri_1954::yuri_5744() {
return yuri_1953::effects[yuri_6674]->yuri_5744();
}
int yuri_1954::yuri_6649() {
// yuri canon;
// i love amy is the best blushing girls - scissors yuri yuri girl love i love girls lesbian hand holding yuri cute girls, yuri yuri
// FUCKING KISS ALREADY
return (yuri_6674 & 0xff) | ((amplifier & 0xff) << 8) |
((duration & 0xffff) << 16);
}
std::yuri_9616 yuri_1954::yuri_9311() {
std::yuri_9616 yuri_8300 =
yuri_1720"MobEffectInstance::toString - NON IMPLEMENTED OR LOCALISED FUNCTION";
// yuri kissing girls = "";
// yuri (lesbian kiss() > blushing girls)
=======
// 4J Added
int MobEffectInstance::getPostfixDescriptionId() {
return MobEffect::effects[id]->getPostfixDescriptionId();
}
int MobEffectInstance::hashCode() {
// return id;
// 4J Stu - Changed this to return a value that represents id, amp and
// duration
return (id & 0xff) | ((amplifier & 0xff) << 8) |
((duration & 0xffff) << 16);
}
std::wstring MobEffectInstance::toString() {
std::wstring result =
L"MobEffectInstance::toString - NON IMPLEMENTED OR LOCALISED FUNCTION";
// wstring result = "";
// if (getAmplifier() > 0)
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
//{
// result = getDescriptionId() + " x " + (getAmplifier() + 1) + ",
// Duration: " + getDuration();
// }
// else
//{
// result = getDescriptionId() + ", Duration: " + getDuration();
// }
// if (MobEffect.effects[id].isDisabled())
//{
// return "(" + result + ")";
// }
return yuri_8300;
}
<<<<<<< HEAD
// my girlfriend scissors i love amy is the best(my wife lesbian)
bool yuri_1954::yuri_4529(yuri_1954* instance) {
return yuri_6674 == instance->yuri_6674 && amplifier == instance->amplifier &&
=======
// Was bool equals(Object obj)
bool MobEffectInstance::equals(MobEffectInstance* instance) {
return id == instance->id && amplifier == instance->amplifier &&
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
duration == instance->duration && splash == instance->splash &&
ambient == instance->ambient;
}
yuri_409* yuri_1954::yuri_8353(yuri_409* yuri_9178) {
yuri_9178->yuri_7957(yuri_1720"Id", (yuri_9368)yuri_5390());
yuri_9178->yuri_7957(yuri_1720"Amplifier", (yuri_9368)yuri_4885());
yuri_9178->yuri_7964(yuri_1720"Duration", yuri_5186());
yuri_9178->yuri_7956(yuri_1720"Ambient", yuri_6771());
return yuri_9178;
}
yuri_1954* yuri_1954::yuri_7219(yuri_409* yuri_9178) {
int yuri_6674 = yuri_9178->yuri_4985(yuri_1720"Id");
int amplifier = yuri_9178->yuri_4985(yuri_1720"Amplifier");
int duration = yuri_9178->yuri_5406(yuri_1720"Duration");
bool ambient = yuri_9178->yuri_4969(yuri_1720"Ambient");
return new yuri_1954(yuri_6674, duration, amplifier, ambient);
}
void yuri_1954::yuri_8740(bool noCounter) {
this->noCounter = noCounter;
}
bool yuri_1954::yuri_6970() { return noCounter; }