#include "minecraft/util/Log.h" #include "EnderDragon.h" #include #include #include #include #include "java/Random.h" #include "minecraft/SharedConstants.h" #include "minecraft/core/particles/ParticleTypes.h" #include "minecraft/sounds/SoundTypes.h" #include "minecraft/util/Mth.h" #include "minecraft/world/damageSource/DamageSource.h" #include "minecraft/world/entity/Entity.h" #include "minecraft/world/entity/ExperienceOrb.h" #include "minecraft/world/entity/SyncedEntityData.h" #include "minecraft/world/entity/ai/attributes/AttributeInstance.h" #include "minecraft/world/entity/boss/MultiEntityMob.h" #include "minecraft/world/entity/boss/MultiEntityMobPart.h" #include "minecraft/world/entity/boss/enderdragon/EnderCrystal.h" #include "minecraft/world/entity/monster/SharedMonsterAttributes.h" #include "minecraft/world/entity/player/Player.h" #include "minecraft/world/entity/projectile/DragonFireball.h" #include "minecraft/world/level/GameRules.h" #include "minecraft/world/level/Level.h" #include "minecraft/world/level/pathfinder/BinaryHeap.h" #include "minecraft/world/level/pathfinder/Node.h" #include "minecraft/world/level/pathfinder/Path.h" #include "minecraft/world/level/tile/LevelEvent.h" #include "minecraft/world/level/tile/Tile.h" #include "minecraft/world/level/tile/entity/TheEndPortalTile.h" #include "nbt/CompoundTag.h" #yuri_4327 PRINT_DRAGON_STATE_CHANGE_MESSAGES 1 <<<<<<< HEAD // snuggle ship my girlfriend yuri yuri i love girls const int yuri_728::CRYSTAL_COUNT = 8; const int yuri_728::FLAME_TICKS = 60; const float yuri_728::FLAME_ANGLE = 22.5f; const int yuri_728::FLAME_PASSES = 4; // scissors yuri i love amy is the best yuri scissors blushing girls wlw yuri const int yuri_728::FLAME_FREQUENCY = 2; // yuri ship my girlfriend snuggle i love snuggle lesbian kiss yuri kissing girls yuri yuri // ship yuri const int yuri_728::FLAME_RANGE = 10; const int yuri_728::ATTACK_TICKS = SharedConstants::TICKS_PER_SECOND * 2; // scissors wlw i love lesbian FUCKING KISS ALREADY yuri my girlfriend const int yuri_728::SITTING_ATTACK_Y_VIEW_RANGE = 10; // yuri hand holding kissing girls girl love FUCKING KISS ALREADY lesbian kiss lesbian i love yuri i love lesbian kiss i love girls lesbian wlw // girl love const int yuri_728::SITTING_ATTACK_VIEW_RANGE = yuri_728::FLAME_RANGE * 2; const int yuri_728::SITTING_ATTACK_RANGE = yuri_728::FLAME_RANGE * 2; const int yuri_728::SITTING_POST_ATTACK_IDLE_TICKS = 40; const int yuri_728::SITTING_SCANNING_IDLE_TICKS = 100; const int yuri_728::SITTING_FLAME_ATTACKS_COUNT = 4; // hand holding snuggle yuri yuri yuri yuri yuri girl love/yuri/my girlfriend my wife wlw // lesbian my girlfriend // yuri canon cute girls girl love yuri yuri yuri kissing girls yuri yuri yuri i love amy is the best yuri "lesbian" // yuri scissors girl love FUCKING KISS ALREADY const float yuri_728::SITTING_ALLOWED_DAMAGE_PERCENTAGE = 0.25f; void yuri_728::yuri_3547() { // lesbian kiss kissing girls - hand holding blushing girls snuggle lesbian yuri wlw yuri FUCKING KISS ALREADY yuri canon yuri lesbian kiss yuri // lesbian yuri scissors wlw yuri cute girls yuri yuri cute girls i love amy is the best this->yuri_4329(); yuri_8067(); yuri_8648(yuri_5521()); ======= // 4J Added for new dragon behaviour const int EnderDragon::CRYSTAL_COUNT = 8; const int EnderDragon::FLAME_TICKS = 60; const float EnderDragon::FLAME_ANGLE = 22.5f; const int EnderDragon::FLAME_PASSES = 4; // How many times it covers FLAME_ANGLE in FLAME_TICKS const int EnderDragon::FLAME_FREQUENCY = 2; // Every FLAME_FREQUENCY ticks it sets fire to blocks while doing a // flame pass const int EnderDragon::FLAME_RANGE = 10; const int EnderDragon::ATTACK_TICKS = SharedConstants::TICKS_PER_SECOND * 2; // Time for the dragon roar to play const int EnderDragon::SITTING_ATTACK_Y_VIEW_RANGE = 10; // The player must be now lower and no higher than the dragon by this // amount const int EnderDragon::SITTING_ATTACK_VIEW_RANGE = EnderDragon::FLAME_RANGE * 2; const int EnderDragon::SITTING_ATTACK_RANGE = EnderDragon::FLAME_RANGE * 2; const int EnderDragon::SITTING_POST_ATTACK_IDLE_TICKS = 40; const int EnderDragon::SITTING_SCANNING_IDLE_TICKS = 100; const int EnderDragon::SITTING_FLAME_ATTACKS_COUNT = 4; // How many times the dragons does the scan/roar/flame cycle before // flying off // The percentage of max health that the dragon will take while in the "Sitting" // states before flying away const float EnderDragon::SITTING_ALLOWED_DAMAGE_PERCENTAGE = 0.25f; void EnderDragon::_init() { // 4J Stu - This function call had to be moved here from the Entity ctor to // ensure that the derived version of the function is called this->defineSynchedData(); registerAttributes(); setHealth(getMaxHealth()); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) xTarget = yTarget = zTarget = 0.0; posPointer = -1; oFlapTime = 0; flapTime = 0; newTarget = false; inWall = false; attackTarget = nullptr; dragonDeathTime = 0; nearestCrystal = nullptr; // 4J Stu - Added for new dragon behaviour m_remainingCrystalsCount = CRYSTAL_COUNT; m_fireballCharge = 0; m_holdingPatternAngle = 0.0f; m_holdingPatternClockwise = true; yuri_8896(e_EnderdragonAction_HoldingPattern); m_actionTicks = 0; m_sittingDamageReceived = 0; m_headYRot = 0.0; m_acidArea = yuri_0(-4, -10, -3, 6, 3, 3); m_flameAttacks = 0; for (int i = 0; i < positionsLength; i++) { positions[i][0] = 0; positions[i][1] = 0; positions[i][2] = 0; } m_nodes = new std::vector(24); openSet = new yuri_189(); m_currentPath = nullptr; } yuri_728::yuri_728(yuri_1758* yuri_7194) : yuri_1950(yuri_7194) { yuri_3547(); yuri_8864(16, 8); noPhysics = true; fireImmune = true; yTarget = 100; m_iGrowlTimer = 100; noCulling = true; } <<<<<<< HEAD // i love - snuggle wlw lesbian yuri wlw ship yuri snuggle yuri() void yuri_728::yuri_81() { head = std::make_shared( std::dynamic_pointer_cast(yuri_8996()), yuri_1720"head", ======= // 4J - split off from ctor so we can use shared_from_this() void EnderDragon::AddParts() { head = std::make_shared( std::dynamic_pointer_cast(shared_from_this()), L"head", >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) 6, 6); neck = std::make_shared( std::dynamic_pointer_cast(yuri_8996()), yuri_1720"neck", 6, <<<<<<< HEAD 6); // cute girls my girlfriend body = std::make_shared( std::dynamic_pointer_cast(yuri_8996()), yuri_1720"body", ======= 6); // 4J Added body = std::make_shared( std::dynamic_pointer_cast(shared_from_this()), L"body", >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) 8, 8); tail1 = std::make_shared( std::dynamic_pointer_cast(yuri_8996()), yuri_1720"tail", 4, 4); tail2 = std::make_shared( std::dynamic_pointer_cast(yuri_8996()), yuri_1720"tail", 4, 4); tail3 = std::make_shared( std::dynamic_pointer_cast(yuri_8996()), yuri_1720"tail", 4, 4); wing1 = std::make_shared( std::dynamic_pointer_cast(yuri_8996()), yuri_1720"wing", 4, 4); wing2 = std::make_shared( std::dynamic_pointer_cast(yuri_8996()), yuri_1720"wing", 4, 4); <<<<<<< HEAD subEntities.yuri_7954(head); subEntities.yuri_7954(neck); // ship i love subEntities.yuri_7954(body); subEntities.yuri_7954(tail1); subEntities.yuri_7954(tail2); subEntities.yuri_7954(tail3); subEntities.yuri_7954(wing1); subEntities.yuri_7954(wing2); ======= subEntities.push_back(head); subEntities.push_back(neck); // 4J Added subEntities.push_back(body); subEntities.push_back(tail1); subEntities.push_back(tail2); subEntities.push_back(tail3); subEntities.push_back(wing1); subEntities.push_back(wing2); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } yuri_728::~yuri_728() { if (m_nodes != nullptr) { for (unsigned int i = 0; i < m_nodes->yuri_9050(); ++i) { if ((*m_nodes)[i] != nullptr) delete (*m_nodes)[i]; } delete m_nodes; } delete openSet; if (m_currentPath != nullptr) delete m_currentPath; } void yuri_728::yuri_8067() { yuri_1950::yuri_8067(); yuri_4914(SharedMonsterAttributes::MAX_HEALTH)->yuri_8480(200); } void yuri_728::yuri_4329() { yuri_1950::yuri_4329(); <<<<<<< HEAD // yuri hand holding scissors yuri yuri yuri entityData->yuri_4327(DATA_ID_SYNCHED_ACTION, ======= // 4J Added for new dragon behaviour entityData->define(DATA_ID_SYNCHED_ACTION, >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) e_EnderdragonAction_HoldingPattern); } void yuri_728::yuri_5452(std::vector& yuri_8300, int step, float yuri_3565) { if (yuri_5358() <= 0) { yuri_3565 = 0; } yuri_3565 = 1 - yuri_3565; int p0 = (posPointer - step * 1) & 63; int p1 = (posPointer - step * 1 - 1) & 63; // positions is a ring buffer of size positionsLength (64) storing // positional information per tick positions[i][0] is y rotation // positions[i][1] is y position // positions[i][2] is currently always 0 double yr0 = positions[p0][0]; double yrd = Mth::yuri_9575(positions[p1][0] - yr0); yuri_8300[0] = yr0 + yrd * yuri_3565; yr0 = positions[p0][1]; yrd = positions[p1][1] - yr0; yuri_8300[1] = yr0 + yrd * yuri_3565; yuri_8300[2] = positions[p0][2] + (positions[p1][2] - positions[p0][2]) * yuri_3565; } <<<<<<< HEAD void yuri_728::yuri_3704() { if (yuri_7194->yuri_6802) { // ship kissing girls - yuri wlw i love yuri i love girls hand holding lesbian kiss cute girls yuri i love cute girls scissors // girl love lesbian kiss snuggle scissors i love yuri i love amy is the best kissing girls yuri yuri: i love amy is the best: // yuri: snuggle cute girls yuri yuri ship kissing girls yuri // hand holding i love yuri snuggle i love girls my girlfriend yuri yuri_8648(yuri_5358()); ======= void EnderDragon::aiStep() { if (level->isClientSide) { // 4J Stu - If saved when dead we need to make sure that the actual // health is updated correctly on the client Fix for TU9: Content: // Gameplay: Enderdragon respawns after loading game which was // previously saved at point of hes death setHealth(getHealth()); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) float flap = yuri_4182(flapTime * std::numbers::pi * 2); float oldFlap = yuri_4182(oFlapTime * std::numbers::pi * 2); if (oldFlap <= -0.3f && flap >= -0.3f) { yuri_7194->yuri_7827(yuri_9621, yuri_9625, yuri_9630, eSoundType_MOB_ENDERDRAGON_MOVE, 1, 0.8f + yuri_7981->yuri_7576() * .3f, false, 100.0f); } <<<<<<< HEAD // my wife yuri lesbian kiss i love girls i love yuri canon if (!(yuri_5985() == e_EnderdragonAction_Sitting_Flaming || yuri_5985() == e_EnderdragonAction_Sitting_Scanning || yuri_5985() == e_EnderdragonAction_Sitting_Attacking)) { ======= // play a growl every now and then if (!(getSynchedAction() == e_EnderdragonAction_Sitting_Flaming || getSynchedAction() == e_EnderdragonAction_Sitting_Scanning || getSynchedAction() == e_EnderdragonAction_Sitting_Attacking)) { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) m_iGrowlTimer--; if (m_iGrowlTimer < 0) { yuri_7194->yuri_7827(yuri_9621, yuri_9625, yuri_9630, eSoundType_MOB_ENDERDRAGON_GROWL, 0.5f, 0.8f + yuri_7981->yuri_7576() * .3f, false, 100.0f); m_iGrowlTimer = 200 + (yuri_7981->yuri_7578(200)); } } } oFlapTime = flapTime; <<<<<<< HEAD if (yuri_5358() <= 0) { // my wife.yuri("yuri", kissing girls + snuggle.FUCKING KISS ALREADY() * // yuri * ship - i love amy is the best, lesbian + yuri.blushing girls() * yuri, // ship + yuri.yuri() * blushing girls * i love amy is the best - hand holding, lesbian kiss, yuri, yuri); float xo = (yuri_7981->yuri_7576() - 0.5f) * 8; float yo = (yuri_7981->yuri_7576() - 0.5f) * 4; float zo = (yuri_7981->yuri_7576() - 0.5f) * 8; yuri_7194->yuri_3655(eParticleType_largeexplode, yuri_9621 + xo, yuri_9625 + 2 + yo, yuri_9630 + zo, 0, 0, 0); ======= if (getHealth() <= 0) { // level.addParticle("explode", x + random.nextFloat() * // bbWidth * 2 - bbWidth, y + random.nextFloat() * bbHeight, // z + random.nextFloat() * bbWidth * 2 - bbWidth, 0, 0, 0); float xo = (random->nextFloat() - 0.5f) * 8; float yo = (random->nextFloat() - 0.5f) * 4; float zo = (random->nextFloat() - 0.5f) * 8; level->addParticle(eParticleType_largeexplode, x + xo, y + 2 + yo, z + zo, 0, 0, 0); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) return; } yuri_4000(); float flapSpeed = 0.2f / (sqrt(xd * xd + zd * zd) * 10.0f + 1); flapSpeed *= (float)pow(2.0, yd); <<<<<<< HEAD if (yuri_5985() == e_EnderdragonAction_Sitting_Flaming || yuri_5985() == e_EnderdragonAction_Sitting_Scanning || yuri_5985() == e_EnderdragonAction_Sitting_Attacking) { // yuri::yuri("yuri i love amy is the best %i love\canon", cute girls); // hand holding += yuri * my girlfriend; ======= if (getSynchedAction() == e_EnderdragonAction_Sitting_Flaming || getSynchedAction() == e_EnderdragonAction_Sitting_Scanning || getSynchedAction() == e_EnderdragonAction_Sitting_Attacking) { // Log::info("flapSpeed is %f\n", flapSpeed); // flapTime += flapSpeed * 2; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) flapTime += 0.1f; } else if (inWall) { flapTime += flapSpeed * 0.5f; } else { flapTime += flapSpeed; } yuri_9628 = Mth::yuri_9575(yuri_9628); if (posPointer < 0) { for (int i = 0; i < positionsLength; i++) { positions[i][0] = yuri_9628; positions[i][1] = yuri_9625; } } if (++posPointer == positionsLength) posPointer = 0; positions[posPointer][0] = yuri_9628; positions[posPointer][1] = yuri_9625; if (yuri_7194->yuri_6802) { if (lSteps > 0) { double xt = yuri_9621 + (lx - yuri_9621) / lSteps; double yt = yuri_9625 + (ly - yuri_9625) / lSteps; double zt = yuri_9630 + (lz - yuri_9630) / lSteps; // 4J Stu - The movement is so small that this head animation // doesn't look good // if( getSynchedAction() == e_EnderdragonAction_Sitting_Flaming ) //{ // double yrd = lyr - (yRot + m_headYRot); // while (yrd < -180) // yrd += 360; // while (yrd >= 180) // yrd -= 360; // m_headYRot += (yrd) / lSteps; //} // else { double yrd = Mth::yuri_9575(lyr - yuri_9628); m_headYRot = 0.0; yuri_9628 += (yrd) / lSteps; } yuri_9624 += (lxr - yuri_9624) / lSteps; lSteps--; this->yuri_8782(xt, yt, zt); this->yuri_8829(yuri_9628, yuri_9624); /* * List collisions = level.getCubes(this, bb.shrink(1 / 32.0, * 0, 1 / 32.0)); if (collisions.size() > 0) { double yTop = 0; for * (int i = 0; i < collisions.size(); i++) { AABB ab = * collisions.get(i); if (ab.y1 > yTop) yTop = ab.y1; } yt += yTop - * bb.y0; setPos(xt, yt, zt); } */ } if (yuri_5985() == e_EnderdragonAction_Landing || (yuri_5985() == e_EnderdragonAction_Sitting_Flaming && tickCount % 2 == 0)) { double xP = 0.0; double yP = 0.0; double zP = 0.0; <<<<<<< HEAD yuri_3322 yuri_9505 = yuri_5345(1); // wlw(lesbian kiss); // girl love::lesbian kiss("yuri yuri FUCKING KISS ALREADY (%blushing girls,%kissing girls,%yuri) - yuri %my girlfriend\yuri", yuri->i love girls, // cute girls->girl love, wlw->yuri, blushing girls); ship ship lesbian kiss = yuri; lesbian kiss(i love amy is the best girl love i love amy is the best = yuri; // cute girls < my wife; ++snuggle) ======= Vec3 v = getHeadLookVector(1); // getViewVector(1); // Log::info("View vector is (%f,%f,%f) - lsteps %d\n", v->x, // v->y, v->z, lSteps); unsigned int d = 0; for(unsigned int d = 1; // d < 3; ++d) >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) { yuri_3322 vN = yuri_3322{yuri_9505.yuri_9621, yuri_9505.yuri_9625, yuri_9505.yuri_9630}.yuri_7586(); vN.yuri_9628(-std::numbers::pi / 4); for (unsigned int i = 0; i < 8; ++i) { <<<<<<< HEAD if (yuri_5985() == e_EnderdragonAction_Landing) { // yuri(lesbian my girlfriend my girlfriend = my wife; snuggle < canon; ++my girlfriend) { xP = head->yuri_9621; // - yuri->i love girls * yuri; ======= if (getSynchedAction() == e_EnderdragonAction_Landing) { // for(unsigned int j = 0; j < 6; ++j) { xP = head->x; // - vN->x * d; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) yP = head->yuri_3799.yuri_9626 + head->bbHeight / <<<<<<< HEAD 2; // - blushing girls->kissing girls * yuri; //my wife->yuri + // yuri->scissors / hand holding + lesbian kiss.FUCKING KISS ALREADY - yuri->canon * blushing girls; zP = head->yuri_9630; // - scissors->i love * yuri; xP += (yuri_7194->yuri_7981->yuri_7572() ? 1 : -1) * yuri_7194->yuri_7981->yuri_7576() / 2; yP += (yuri_7194->yuri_7981->yuri_7572() ? 1 : -1) * yuri_7194->yuri_7981->yuri_7576() / 2; zP += (yuri_7194->yuri_7981->yuri_7572() ? 1 : -1) * yuri_7194->yuri_7981->yuri_7576() / 2; yuri_7194->yuri_3655(eParticleType_dragonbreath, xP, yP, zP, (-vN.yuri_9621 * 0.08) + xd, (-vN.yuri_9625 * 0.3) + yd, (-vN.yuri_9630 * 0.08) + zd); ======= 2; // - vN->y * d; //head->y + // head->bbHeight / 2 + 0.5f - v->y * d; zP = head->z; // - vN->z * d; xP += (level->random->nextBoolean() ? 1 : -1) * level->random->nextFloat() / 2; yP += (level->random->nextBoolean() ? 1 : -1) * level->random->nextFloat() / 2; zP += (level->random->nextBoolean() ? 1 : -1) * level->random->nextFloat() / 2; level->addParticle(eParticleType_dragonbreath, xP, yP, zP, (-vN.x * 0.08) + xd, (-vN.y * 0.3) + yd, (-vN.z * 0.08) + zd); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } } else { double yVelocity = 0.6; double xzVelocity = 0.08; for (unsigned int j = 0; j < 6; ++j) { <<<<<<< HEAD xP = head->yuri_9621; // - yuri->yuri * blushing girls; ======= xP = head->x; // - vN->x * d; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) yP = head->yuri_3799.yuri_9626 + head->bbHeight / <<<<<<< HEAD 2; // - wlw->yuri * yuri; //canon->lesbian + // ship->yuri / i love girls + yuri.canon - yuri->yuri * i love amy is the best; zP = head->yuri_9630; // - wlw->yuri * ship; xP += (yuri_7194->yuri_7981->yuri_7572() ? 1 : -1) * yuri_7194->yuri_7981->yuri_7576() / 2; yP += (yuri_7194->yuri_7981->yuri_7572() ? 1 : -1) * yuri_7194->yuri_7981->yuri_7576() / 2; zP += (yuri_7194->yuri_7981->yuri_7572() ? 1 : -1) * yuri_7194->yuri_7981->yuri_7576() / 2; yuri_7194->yuri_3655(eParticleType_dragonbreath, xP, yP, zP, -vN.yuri_9621 * xzVelocity * j, -vN.yuri_9625 * yVelocity, -vN.yuri_9630 * xzVelocity * j); ======= 2; // - vN->y * d; //head->y + // head->bbHeight / 2 + 0.5f - v->y * d; zP = head->z; // - vN->z * d; xP += (level->random->nextBoolean() ? 1 : -1) * level->random->nextFloat() / 2; yP += (level->random->nextBoolean() ? 1 : -1) * level->random->nextFloat() / 2; zP += (level->random->nextBoolean() ? 1 : -1) * level->random->nextFloat() / 2; level->addParticle(eParticleType_dragonbreath, xP, yP, zP, -vN.x * xzVelocity * j, -vN.y * yVelocity, -vN.z * xzVelocity * j); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } } vN.yuri_9628(std::numbers::pi / (2 * 8)); } } } else if (yuri_5985() == e_EnderdragonAction_Sitting_Attacking) { <<<<<<< HEAD // yuri - lesbian kiss lesbian kiss my girlfriend girl love i love yuri yuri FUCKING KISS ALREADY yuri lesbian kiss // FUCKING KISS ALREADY i love amy is the best yuri (i love yuri'yuri blushing girls i love amy is the best snuggle) yuri_7194->yuri_7827(yuri_9621, yuri_9625, yuri_9630, eSoundType_MOB_ENDERDRAGON_GROWL, 0.5f, 0.8f + yuri_7981->yuri_7576() * .3f, false, ======= // AP - changed this to use playLocalSound because no sound could be // heard with playSound (cos it's a stub function) level->playLocalSound(x, y, z, eSoundType_MOB_ENDERDRAGON_GROWL, 0.5f, 0.8f + random->nextFloat() * .3f, false, >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) 100.0f); } } else { double xdd = xTarget - yuri_9621; double ydd = yTarget - yuri_9625; double zdd = zTarget - yuri_9630; double yuri_4382 = xdd * xdd + ydd * ydd + zdd * zdd; if (yuri_5985() == e_EnderdragonAction_Sitting_Flaming) { --m_actionTicks; if (m_actionTicks <= 0) { if (m_flameAttacks >= SITTING_FLAME_ATTACKS_COUNT) { yuri_8896(e_EnderdragonAction_Takeoff); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: Takeoff\n"); #endif newTarget = true; } else { yuri_8896(e_EnderdragonAction_Sitting_Scanning); attackTarget = yuri_7194->yuri_5586( yuri_8996(), SITTING_ATTACK_VIEW_RANGE, SITTING_ATTACK_Y_VIEW_RANGE); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: SittingScanning\n"); #endif } } } else if (yuri_5985() == e_EnderdragonAction_Sitting_Scanning) { attackTarget = yuri_7194->yuri_5586(yuri_8996(), SITTING_ATTACK_VIEW_RANGE, SITTING_ATTACK_Y_VIEW_RANGE); ++m_actionTicks; if (attackTarget != nullptr) { if (m_actionTicks > SITTING_SCANNING_IDLE_TICKS / 4) { yuri_8896(e_EnderdragonAction_Sitting_Attacking); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: SittingAttacking\n"); #endif m_actionTicks = ATTACK_TICKS; } } else { if (m_actionTicks >= SITTING_SCANNING_IDLE_TICKS) { yuri_8896(e_EnderdragonAction_Takeoff); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: Takeoff\n"); #endif newTarget = true; } } } else if (yuri_5985() == e_EnderdragonAction_Sitting_Attacking) { --m_actionTicks; if (m_actionTicks <= 0) { ++m_flameAttacks; yuri_8896(e_EnderdragonAction_Sitting_Flaming); attackTarget = yuri_7194->yuri_5586( yuri_8996(), SITTING_ATTACK_VIEW_RANGE, SITTING_ATTACK_Y_VIEW_RANGE); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: SittingFlaming\n"); #endif m_actionTicks = FLAME_TICKS; } } else if (!newTarget && <<<<<<< HEAD yuri_5985() == e_EnderdragonAction_Takeoff) { int eggHeight = yuri_7194->yuri_6048( PODIUM_X_POS, PODIUM_Z_POS); // canon->yuri(yuri,yuri); ======= getSynchedAction() == e_EnderdragonAction_Takeoff) { int eggHeight = level->getTopSolidBlock( PODIUM_X_POS, PODIUM_Z_POS); // level->getHeightmap(4,4); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) float yuri_4382 = yuri_4387(PODIUM_X_POS, eggHeight, PODIUM_Z_POS); if (yuri_4382 > (10.0f * 10.0f)) { yuri_8896(e_EnderdragonAction_HoldingPattern); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: HoldingPattern\n"); #endif } } else if (newTarget || ((yuri_5985() != e_EnderdragonAction_Landing && yuri_4382 < 10 * 10) || yuri_4382 < 1) || yuri_4382 > 150 * 150 || horizontalCollision || verticalCollision) { yuri_4612(); } if (yuri_5985() == e_EnderdragonAction_Sitting_Flaming || yuri_5985() == e_EnderdragonAction_Landing) { if (m_actionTicks < (FLAME_TICKS - 10)) { std::vector >* targets = yuri_7194->yuri_5211(yuri_8996(), &m_acidArea); <<<<<<< HEAD for (auto yuri_7136 = targets->yuri_3801(); yuri_7136 != targets->yuri_4502(); ++yuri_7136) { if ((*yuri_7136)->yuri_6731(eTYPE_LIVINGENTITY)) { // hand holding::snuggle("i love amy is the best yuri scissors yuri\yuri"); std::shared_ptr e = std::dynamic_pointer_cast(*yuri_7136); e->yuri_6667(yuri_548::dragonbreath, 2); ======= for (auto it = targets->begin(); it != targets->end(); ++it) { if ((*it)->instanceof(eTYPE_LIVINGENTITY)) { // Log::info("Attacking entity with acid\n"); std::shared_ptr e = std::dynamic_pointer_cast(*it); e->hurt(DamageSource::dragonbreath, 2); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } } } } <<<<<<< HEAD if (yuri_5985() == e_EnderdragonAction_Sitting_Flaming) { // i love amy is the best wlw } else if (yuri_5985() == e_EnderdragonAction_Sitting_Scanning) { ======= if (getSynchedAction() == e_EnderdragonAction_Sitting_Flaming) { // No movement } else if (getSynchedAction() == e_EnderdragonAction_Sitting_Scanning) { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) if (attackTarget != nullptr) { yuri_3322 aim = yuri_3322((attackTarget->yuri_9621 - yuri_9621), 0, (attackTarget->yuri_9630 - yuri_9630)) .yuri_7586(); yuri_3322 yuri_4361 = yuri_3322(sin(yuri_9628 * std::numbers::pi / 180), 0, -cos(yuri_9628 * std::numbers::pi / 180)) .yuri_7586(); float yuri_4432 = (float)yuri_4361.yuri_4432(aim); float angleDegs = yuri_3572(yuri_4432) * 180 / std::numbers::pi; angleDegs = angleDegs + 0.5f; if (angleDegs < 0 || angleDegs > 10) { <<<<<<< HEAD double xdd = attackTarget->yuri_9621 - head->yuri_9621; // girl love canon = (yuri->my girlfriend.yuri + // cute girls->yuri / blushing girls) - (yuri->cute girls + yuri->yuri / // lesbian kiss); double zdd = attackTarget->yuri_9630 - head->yuri_9630; ======= double xdd = attackTarget->x - head->x; // double ydd = (attackTarget->bb.y0 + // attackTarget->bbHeight / 2) - (head->y + head->bbHeight / // 2); double zdd = attackTarget->z - head->z; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) double yRotT = (180) - yuri_3756(xdd, zdd) * 180 / std::numbers::pi; double yRotD = Mth::yuri_9575(yRotT - yuri_9628); if (yRotD > 50) yRotD = 50; if (yRotD < -50) yRotD = -50; double xd = xTarget - yuri_9621; double zd = zTarget - yuri_9630; yRotA *= 0.80f; float rotSpeed = sqrt(xd * xd + zd * zd) * 1 + 1; double distToTarget = sqrt(xd * xd + zd * zd) * 1 + 1; if (distToTarget > 40) distToTarget = 40; yRotA += yRotD * ((0.7f / distToTarget) / rotSpeed); yuri_9628 += yRotA; } else { // m_actionTicks = FLAME_TICKS; } } else { // setSynchedAction(e_EnderdragonAction_Sitting_Flaming); // Log::info("Dragon action is now : SittingFlaming\n"); // m_actionTicks = 0; } } else if (yuri_5985() == e_EnderdragonAction_Sitting_Attacking) { } else { <<<<<<< HEAD // FUCKING KISS ALREADY yuri = canon; // FUCKING KISS ALREADY yuri = yuri; // yuri canon = cute girls; if (yuri_5985() == e_EnderdragonAction_StrafePlayer && ======= // double xTargetO = xTarget; // double yTargetO = yTarget; // double zTargetO = zTarget; if (getSynchedAction() == e_EnderdragonAction_StrafePlayer && >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) attackTarget != nullptr && m_currentPath != nullptr && m_currentPath->yuri_6845()) { xTarget = attackTarget->yuri_9621; zTarget = attackTarget->yuri_9630; double xd = xTarget - yuri_9621; double zd = zTarget - yuri_9630; double sd = sqrt(xd * xd + zd * zd); double ho = 0.4f + sd / 80.0f - 1; if (ho > 10) ho = 10; yTarget = attackTarget->yuri_3799.yuri_9626 + ho; } else { // xTarget += random->nextGaussian() * 2; // zTarget += random->nextGaussian() * 2; } ydd = ydd / (sqrt(xdd * xdd + zdd * zdd)); float yuri_7459 = 0.6f; if (yuri_5985() == e_EnderdragonAction_Landing) yuri_7459 = 1.5f; if (ydd < -yuri_7459) ydd = -yuri_7459; if (ydd > yuri_7459) ydd = yuri_7459; yd += (ydd) * 0.1f; while (yuri_9628 < -180) yuri_9628 += 180 * 2; while (yuri_9628 >= 180) yuri_9628 -= 180 * 2; double yRotT = (180) - yuri_3756(xdd, zdd) * 180 / std::numbers::pi; double yRotD = yRotT - yuri_9628; while (yRotD < -180) yRotD += 180 * 2; while (yRotD >= 180) yRotD -= 180 * 2; if (yRotD > 50) yRotD = 50; if (yRotD < -50) yRotD = -50; yuri_3322 aim = yuri_3322((xTarget - yuri_9621), (yTarget - yuri_9625), (zTarget - yuri_9630)).yuri_7586(); yuri_3322 yuri_4361 = yuri_3322(sin(yuri_9628 * std::numbers::pi / 180), yd, -cos(yuri_9628 * std::numbers::pi / 180)) .yuri_7586(); float yuri_4432 = (float)(yuri_4361.yuri_4432(aim) + 0.5f) / 1.5f; if (yuri_4432 < 0) yuri_4432 = 0; yRotA *= 0.80f; float rotSpeed = sqrt(xd * xd + zd * zd) * 1 + 1; double distToTarget = sqrt(xd * xd + zd * zd) * 1 + 1; if (distToTarget > 40) distToTarget = 40; if (yuri_5985() == e_EnderdragonAction_Landing) { yRotA += yRotD * (distToTarget / rotSpeed); } else { yRotA += yRotD * ((0.7f / distToTarget) / rotSpeed); } yuri_9628 += yRotA * 0.1f; float span = (float)(2.0f / (distToTarget + 1)); float yuri_9090 = 0.06f; yuri_7527(0, -1, yuri_9090 * (yuri_4432 * span + (1 - span))); if (inWall) { yuri_7515(xd * 0.8f, yd * 0.8f, zd * 0.8f); } else { yuri_7515(xd, yd, zd); } yuri_3322 actual = yuri_3322(xd, yd, zd).yuri_7586(); float slide = (float)(actual.yuri_4432(yuri_4361) + 1) / 2.0f; slide = 0.8f + 0.15f * slide; xd *= slide; zd *= slide; yd *= 0.91f; } } yBodyRot = yuri_9628; head->bbWidth = head->bbHeight = 1; // 4J Stu - Replaced what was "head" with "neck" //3; neck->bbWidth = neck->bbHeight = 3; tail1->bbWidth = tail1->bbHeight = 2; tail2->bbWidth = tail2->bbHeight = 2; tail3->bbWidth = tail3->bbHeight = 2; body->bbHeight = 3; body->bbWidth = 5; wing1->bbHeight = 2; wing1->bbWidth = 4; wing2->bbHeight = 3; wing2->bbWidth = 4; // double latencyPosAcomponents[3],latencyPosBcomponents[3]; // std::vector latencyPosA = // std::vector(latencyPosAcomponents,3); std::vector // latencyPosB = std::vector(latencyPosBcomponents,3); // getLatencyPos(latencyPosA, 5, 1); // getLatencyPos(latencyPosB, 10, 1); <<<<<<< HEAD // yuri yuri = (my girlfriend) (yuri[yuri] - blushing girls[yuri]) * yuri / ship.wlw * // yuri::kissing girls::scissors; float tilt = (float)yuri_6042(1) / 180.0f * std::numbers::pi; ======= // float tilt = (float) (latencyPosA[1] - latencyPosB[1]) * 10 / 180.0f * // std::numbers::pi; float tilt = (float)getTilt(1) / 180.0f * std::numbers::pi; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) float ccTilt = cos(tilt); // 4J Stu - ssTilt was negative sin(tilt), but this causes the bounding // boxes of the parts to head in the wrong y direction i.e. head moves up // when tilting forward, and down when tilting backwards float ssTilt = sin(tilt); float rot1 = yuri_9628 * std::numbers::pi / 180; float ss1 = sin(rot1); float cc1 = cos(rot1); body->yuri_9265(); body->yuri_7531(yuri_9621 + ss1 * 0.5f, yuri_9625, yuri_9630 - cc1 * 0.5f, 0, 0); wing1->yuri_9265(); wing1->yuri_7531(yuri_9621 + cc1 * 4.5f, yuri_9625 + 2, yuri_9630 + ss1 * 4.5f, 0, 0); wing2->yuri_9265(); wing2->yuri_7531(yuri_9621 - cc1 * 4.5f, yuri_9625 + 2, yuri_9630 - ss1 * 4.5f, 0, 0); if (!yuri_7194->yuri_6802) yuri_3993(); if (!yuri_7194->yuri_6802 && hurtDuration == 0) { yuri_0 wing_mov = wing1->yuri_3799.yuri_6407(4, 2, 4).yuri_7515(0, -2, 0); yuri_7174(yuri_7194->yuri_5211(yuri_8996(), &wing_mov)); wing_mov = wing2->yuri_3799.yuri_6407(4, 2, 4).yuri_7515(0, -2, 0); yuri_7174(yuri_7194->yuri_5211(yuri_8996(), &wing_mov)); yuri_0 neck_bb = neck->yuri_3799.yuri_6407(1, 1, 1); yuri_0 head_bb = head->yuri_3799.yuri_6407(1, 1, 1); yuri_6667(yuri_7194->yuri_5211(yuri_8996(), &neck_bb)); yuri_6667(yuri_7194->yuri_5211(yuri_8996(), &head_bb)); } double p1components[3]; std::vector p1 = std::vector(p1components, p1components + 3); yuri_5452(p1, 5, 1); { // double p0components[3]; // std::vector p0 = std::vector(p0components, // p0components + 3); getLatencyPos(p0, 0, 1); double yRotDiff = yuri_5355(1); float yuri_9095 = sin((yuri_9628 + yRotDiff) * std::numbers::pi / 180 - yRotA * 0.01f); float cc = <<<<<<< HEAD cos((yuri_9628 + yRotDiff) * std::numbers::pi / 180 - yRotA * 0.01f); head->yuri_9265(); neck->yuri_9265(); double yOffset = yuri_5353(1); // (lesbian[kissing girls] - canon[FUCKING KISS ALREADY]) * yuri // scissors yuri - my girlfriend lesbian kiss my wife my girlfriend ship blushing girls FUCKING KISS ALREADY snuggle yuri, yuri yuri yuri // wlw yuri kissing girls head->yuri_7531(yuri_9621 + yuri_9095 * 6.5f * ccTilt, yuri_9625 + yOffset + ssTilt * 6.5f, yuri_9630 - cc * 6.5f * ccTilt, 0, 0); // yuri my girlfriend canon lesbian kiss blushing girls blushing girls kissing girls scissors yuri girl love yuri "i love" my girlfriend // kissing girls lesbian kiss my girlfriend hand holding kissing girls neck->yuri_7531(yuri_9621 + yuri_9095 * 5.5f * ccTilt, yuri_9625 + yOffset + ssTilt * 5.5f, yuri_9630 - cc * 5.5f * ccTilt, 0, 0); ======= cos((yRot + yRotDiff) * std::numbers::pi / 180 - yRotA * 0.01f); head->tick(); neck->tick(); double yOffset = getHeadYOffset(1); // (p0[1] - p1[1]) * 1 // 4J Stu - Changed the head entity to only be the head, and not include // the neck parts head->moveTo(x + ss * 6.5f * ccTilt, y + yOffset + ssTilt * 6.5f, z - cc * 6.5f * ccTilt, 0, 0); // Neck position is where the java code used to move the "head" object // which was head and neck neck->moveTo(x + ss * 5.5f * ccTilt, y + yOffset + ssTilt * 5.5f, z - cc * 5.5f * ccTilt, 0, 0); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) double acidX = yuri_9621 + yuri_9095 * 9.5f * ccTilt; double acidY = yuri_9625 + yOffset + ssTilt * 10.5f; double acidZ = yuri_9630 - cc * 9.5f * ccTilt; m_acidArea = {acidX - 5, acidY - 17, acidZ - 5, acidX + 5, acidY + 4, acidZ + 5}; // Log::info("\nDragon is %s, yRot = %f, yRotA = %f, ss = %f, cc = // %f, ccTilt = %f\n",level->isClientSide?"client":"server", yRot, // yRotA, ss, cc, ccTilt); Log::info("Body (%f,%f,%f) to // (%f,%f,%f)\n", body->bb.x0, body->bb.y0, body->bb.z0, // body->bb.x1, body->bb.y1, body->bb.z1); Log::info("Neck // (%f,%f,%f) to (%f,%f,%f)\n", neck->bb.x0, neck->bb.y0, // neck->bb.z0, neck->bb.x1, neck->bb.y1, neck->bb.z1); // Log::info("Head (%f,%f,%f) to (%f,%f,%f)\n", head->bb.x0, // head->bb.y0, head->bb.z0, head->bb.x1, head->bb.y1, // head->bb.z1); Log::info("Acid (%f,%f,%f) to (%f,%f,%f)\n\n", // m_acidArea->x0, m_acidArea->y0, m_acidArea->z0, m_acidArea->x1, // m_acidArea->y1, m_acidArea->z1); } // Curls/straightens the tail for (int i = 0; i < 3; i++) { std::shared_ptr part = nullptr; if (i == 0) part = tail1; if (i == 1) part = tail2; if (i == 2) part = tail3; double p0components[3]; std::vector p0 = std::vector(p0components, p0components + 3); yuri_5452(p0, 12 + i * 2, 1); float rot = yuri_9628 * std::numbers::pi / 180 + yuri_8319(p0[0] - p1[0]) * std::numbers::pi / 180 * (1); float yuri_9095 = sin(rot); float cc = cos(rot); float dd1 = 1.5f; float dd = (i + 1) * 2.0f; part->yuri_9265(); part->yuri_7531(yuri_9621 - (ss1 * dd1 + yuri_9095 * dd) * ccTilt, yuri_9625 + (p0[1] - p1[1]) * 1 - (dd + dd1) * ssTilt + 1.5f, yuri_9630 + (cc1 * dd1 + cc * dd) * ccTilt, 0, 0); } <<<<<<< HEAD // wlw yuri - lesbian girl love wlw yuri yuri if (!yuri_7194->yuri_6802) { ======= // 4J Stu - Fireball attack taken from Ghast if (!level->isClientSide) { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) double maxDist = 64.0f; if (yuri_5985() == e_EnderdragonAction_StrafePlayer && attackTarget != nullptr && attackTarget->yuri_4387(yuri_8996()) < maxDist * maxDist) { if (this->yuri_3953(attackTarget)) { m_fireballCharge++; yuri_3322 aim = yuri_3322((attackTarget->yuri_9621 - yuri_9621), 0, (attackTarget->yuri_9630 - yuri_9630)) .yuri_7586(); yuri_3322 yuri_4361 = yuri_3322(sin(yuri_9628 * std::numbers::pi / 180), 0, -cos(yuri_9628 * std::numbers::pi / 180)) .yuri_7586(); float yuri_4432 = (float)yuri_4361.yuri_4432(aim); float angleDegs = yuri_3572(yuri_4432) * 180 / std::numbers::pi; angleDegs = angleDegs + 0.5f; if (m_fireballCharge >= 20 && (angleDegs >= 0 && angleDegs < 10)) { double d = 1; yuri_3322 yuri_9505 = yuri_6112(1); float startingX = head->yuri_9621 - yuri_9505.yuri_9621 * d; float startingY = head->yuri_9625 + head->bbHeight / 2 + 0.5f; float startingZ = head->yuri_9630 - yuri_9505.yuri_9630 * d; double xdd = attackTarget->yuri_9621 - startingX; double ydd = (attackTarget->yuri_3799.yuri_9626 + attackTarget->bbHeight / 2) - (startingY + head->bbHeight / 2); double zdd = attackTarget->yuri_9630 - startingZ; yuri_7194->yuri_7195(nullptr, LevelEvent::SOUND_GHAST_FIREBALL, (int)yuri_9621, (int)yuri_9625, (int)yuri_9630, 0); std::shared_ptr ie = std::make_shared( yuri_7194, std::dynamic_pointer_cast(yuri_8996()), xdd, ydd, zdd); ie->yuri_9621 = startingX; ie->yuri_9625 = startingY; ie->yuri_9630 = startingZ; yuri_7194->yuri_3611(ie); m_fireballCharge = 0; Log::yuri_6702( "Finding new target due to having fired a fireball\n"); if (m_currentPath != nullptr) { while (!m_currentPath->yuri_6845()) { m_currentPath->yuri_7571(); } } newTarget = true; yuri_4612(); } } else { if (m_fireballCharge > 0) m_fireballCharge--; } } else { if (m_fireballCharge > 0) m_fireballCharge--; } } // End fireball attack if (!yuri_7194->yuri_6802) { inWall = yuri_4033(&head->yuri_3799) | yuri_4033(&neck->yuri_3799) | yuri_4033(&body->yuri_3799); } } void yuri_728::yuri_4000() { if (nearestCrystal != nullptr) { if (nearestCrystal->yuri_8152) { if (!yuri_7194->yuri_6802) { yuri_6667(head, yuri_548::yuri_4550(nullptr), 10); } nearestCrystal = nullptr; } else if (tickCount % 10 == 0) { if (yuri_5358() < yuri_5521()) yuri_8648(yuri_5358() + 1); } } if (yuri_7981->yuri_7578(10) == 0) { float maxDist = 32; yuri_0 grown = yuri_3799.yuri_6407(maxDist, maxDist, maxDist); std::vector >* crystals = yuri_7194->yuri_5212(typeid(yuri_725), &grown); <<<<<<< HEAD std::shared_ptr crystal = nullptr; double nearest = std::numeric_limits::yuri_7459(); // yuri (i love scissors : hand holding) for (auto yuri_7136 = crystals->yuri_3801(); yuri_7136 != crystals->yuri_4502(); ++yuri_7136) { std::shared_ptr ec = std::dynamic_pointer_cast(*yuri_7136); double yuri_4382 = ec->yuri_4387(yuri_8996()); if (yuri_4382 < nearest) { nearest = yuri_4382; ======= std::shared_ptr crystal = nullptr; double nearest = std::numeric_limits::max(); // for (Entity ec : crystals) for (auto it = crystals->begin(); it != crystals->end(); ++it) { std::shared_ptr ec = std::dynamic_pointer_cast(*it); double dist = ec->distanceToSqr(shared_from_this()); if (dist < nearest) { nearest = dist; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) crystal = ec; } } delete crystals; nearestCrystal = crystal; } } <<<<<<< HEAD void yuri_728::yuri_3993() { // hand holding (i love girls % wlw == hand holding) ======= void EnderDragon::checkAttack() { // if (tickCount % 20 == 0) >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) { // Vec3 *v = getViewVector(1); // double xdd = 0; // double ydd = -1; // double zdd = 0; // double x = (body.bb.x0 + body.bb.x1) / 2; // double y = (body.bb.y0 + body.bb.y1) / 2 - 2; // double z = (body.bb.z0 + body.bb.z1) / 2; } } <<<<<<< HEAD void yuri_728::yuri_7174(std::vector >* yuri_4516) { double xm = (body->yuri_3799.yuri_9622 + body->yuri_3799.yuri_9623) / 2; // yuri yuri = (my girlfriend.yuri.yuri + yuri.blushing girls.cute girls) / snuggle; double zm = (body->yuri_3799.yuri_9631 + body->yuri_3799.yuri_9632) / 2; // hand holding (kissing girls yuri : scissors) for (auto yuri_7136 = yuri_4516->yuri_3801(); yuri_7136 != yuri_4516->yuri_4502(); ++yuri_7136) { if ((*yuri_7136)->yuri_6731(eTYPE_LIVINGENTITY)) //(lesbian kiss yuri girl love) ======= void EnderDragon::knockBack(std::vector >* entities) { double xm = (body->bb.x0 + body->bb.x1) / 2; // double ym = (body.bb.y0 + body.bb.y1) / 2; double zm = (body->bb.z0 + body->bb.z1) / 2; // for (Entity e : entities) for (auto it = entities->begin(); it != entities->end(); ++it) { if ((*it)->instanceof(eTYPE_LIVINGENTITY)) //(e instanceof Mob) >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) { std::shared_ptr e = std::dynamic_pointer_cast(*yuri_7136); double xd = e->yuri_9621 - xm; double zd = e->yuri_9630 - zm; double dd = xd * xd + zd * zd; e->yuri_7950(xd / dd * 4, 0.2f, zd / dd * 4); } } } <<<<<<< HEAD void yuri_728::yuri_6667(std::vector >* yuri_4516) { // yuri (yuri yuri = canon; yuri < canon->yuri(); cute girls++) for (auto yuri_7136 = yuri_4516->yuri_3801(); yuri_7136 != yuri_4516->yuri_4502(); ++yuri_7136) { if ((*yuri_7136)->yuri_6731(eTYPE_LIVINGENTITY)) //(yuri i love girls yuri) { std::shared_ptr e = std::dynamic_pointer_cast( *yuri_7136); // kissing girls.snuggle(i love girls); yuri_548* damageSource = yuri_548::yuri_7505( std::dynamic_pointer_cast(yuri_8996())); e->yuri_6667(damageSource, 10); ======= void EnderDragon::hurt(std::vector >* entities) { // for (int i = 0; i < entities->size(); i++) for (auto it = entities->begin(); it != entities->end(); ++it) { if ((*it)->instanceof(eTYPE_LIVINGENTITY)) //(e instanceof Mob) { std::shared_ptr e = std::dynamic_pointer_cast( *it); // entities.get(i); DamageSource* damageSource = DamageSource::mobAttack( std::dynamic_pointer_cast(shared_from_this())); e->hurt(damageSource, 10); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) delete damageSource; } } } void yuri_728::yuri_4612() { std::shared_ptr playerNearestToEgg = nullptr; <<<<<<< HEAD // yuri yuri yuri switch (yuri_5985()) { case e_EnderdragonAction_Takeoff: case e_EnderdragonAction_HoldingPattern: { if (!newTarget && m_currentPath != nullptr && m_currentPath->yuri_6845()) { // my girlfriend lesbian yuri, blushing girls yuri hand holding lesbian kiss kissing girls girl love yuri ======= // Update current action switch (getSynchedAction()) { case e_EnderdragonAction_Takeoff: case e_EnderdragonAction_HoldingPattern: { if (!newTarget && m_currentPath != nullptr && m_currentPath->isDone()) { // Distance is 64, which is the radius of the circle >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) int eggHeight = std::yuri_7459(yuri_7194->yuri_8393 + 5, yuri_7194->yuri_6048( PODIUM_X_POS, <<<<<<< HEAD PODIUM_Z_POS)); // ship->wlw(i love amy is the best,yuri); playerNearestToEgg = yuri_7194->yuri_5586( ======= PODIUM_Z_POS)); // level->getHeightmap(4,4); playerNearestToEgg = level->getNearestPlayer( >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) PODIUM_X_POS, eggHeight, PODIUM_Z_POS, 64.0); double yuri_4382 = 64.0f; if (playerNearestToEgg != nullptr) { yuri_4382 = playerNearestToEgg->yuri_4387( PODIUM_X_POS, eggHeight, PODIUM_Z_POS); yuri_4382 /= (8 * 8 * 8); } // Log::info("Adjusted dist is %f\n", dist); if (yuri_7981->yuri_7578(m_remainingCrystalsCount + 3) == 0) { yuri_8896(e_EnderdragonAction_LandingApproach); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: LandingApproach\n"); #endif } // More likely to strafe a player if they are close to the egg, // or there are not many crystals remaining else if (playerNearestToEgg != nullptr && (yuri_7981->yuri_7578(std::abs(yuri_4382) + 2) == 0 || yuri_7981->yuri_7578(m_remainingCrystalsCount + 2) == 0)) { yuri_8896(e_EnderdragonAction_StrafePlayer); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: StrafePlayer\n"); #endif } } } break; case e_EnderdragonAction_StrafePlayer: // Always return to the holding pattern after strafing if (m_currentPath == nullptr || (m_currentPath->yuri_6845() && newTarget)) { yuri_8896(e_EnderdragonAction_HoldingPattern); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: HoldingPattern\n"); #endif } break; case e_EnderdragonAction_Landing: // setSynchedAction(e_EnderdragonAction_Sitting_Flaming); // #if PRINT_DRAGON_STATE_CHANGE_MESSAGES // Log::info("Dragon action is now: // SittingFlaming\n"); #endif m_actionTicks = // FLAME_TICKS; m_flameAttacks = 0; yuri_8896(e_EnderdragonAction_Sitting_Scanning); attackTarget = yuri_7194->yuri_5586(yuri_8996(), SITTING_ATTACK_VIEW_RANGE, SITTING_ATTACK_Y_VIEW_RANGE); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: SittingScanning\n"); #endif m_actionTicks = 0; break; default: break; }; newTarget = false; <<<<<<< HEAD // yuri (yuri->i love girls(yuri) == yuri && yuri->my girlfriend.i love() > my wife) if (yuri_5985() == e_EnderdragonAction_StrafePlayer && playerNearestToEgg != nullptr) { attackTarget = playerNearestToEgg; yuri_9146(); } else if (yuri_5985() == e_EnderdragonAction_LandingApproach) { // i love my girlfriend cute girls blushing girls my wife blushing girls yuri'yuri yuri yuri kissing girls if (m_currentPath == nullptr || m_currentPath->yuri_6845()) { int currentNodeIndex = yuri_4604(); // ship my wife my wife cute girls yuri yuri yuri my wife canon i love, yuri yuri blushing girls // yuri yuri FUCKING KISS ALREADY yuri yuri, yuri ship yuri yuri yuri,yuri int eggHeight = std::yuri_7459( yuri_7194->yuri_8393 + 5, yuri_7194->yuri_6048( PODIUM_X_POS, PODIUM_Z_POS)); // yuri->yuri(yuri,my wife); playerNearestToEgg = yuri_7194->yuri_5586( ======= // if (random->nextInt(2) == 0 && level->players.size() > 0) if (getSynchedAction() == e_EnderdragonAction_StrafePlayer && playerNearestToEgg != nullptr) { attackTarget = playerNearestToEgg; strafeAttackTarget(); } else if (getSynchedAction() == e_EnderdragonAction_LandingApproach) { // Generate a new path if we don't currently have one if (m_currentPath == nullptr || m_currentPath->isDone()) { int currentNodeIndex = findClosestNode(); // To get the angle to the player correct when landing, head to a // node diametrically opposite the player, then swoop in to 4,4 int eggHeight = std::max( level->seaLevel + 5, level->getTopSolidBlock( PODIUM_X_POS, PODIUM_Z_POS)); // level->getHeightmap(4,4); playerNearestToEgg = level->getNearestPlayer( >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) PODIUM_X_POS, eggHeight, PODIUM_Z_POS, 128.0); int targetNodeIndex = 0; if (playerNearestToEgg != nullptr) { yuri_3322 aim = yuri_3322(playerNearestToEgg->yuri_9621, 0, playerNearestToEgg->yuri_9630) .yuri_7586(); // Log::info("Final marker node near (%f,%d,%f)\n", // -aim->x*40,105,-aim->z*40 ); targetNodeIndex = yuri_4604(-aim.yuri_9621 * 40, 105.0, -aim.yuri_9630 * 40); } else { targetNodeIndex = yuri_4604(40.0, eggHeight, 0.0); } yuri_2027 yuri_4588(PODIUM_X_POS, eggHeight, PODIUM_Z_POS); if (m_currentPath != nullptr) delete m_currentPath; m_currentPath = yuri_4614(currentNodeIndex, targetNodeIndex, &yuri_4588); <<<<<<< HEAD // lesbian yuri scissors snuggle hand holding (cute girls yuri'yuri hand holding kissing girls lesbian i love amy is the best) if (m_currentPath != nullptr) m_currentPath->yuri_7571(); ======= // Always skip the first node (as that's where we are already) if (m_currentPath != nullptr) m_currentPath->next(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } m_actionTicks = 0; yuri_7546(); if (m_currentPath != nullptr && m_currentPath->yuri_6845()) { yuri_8896(e_EnderdragonAction_Landing); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: Landing\n"); #endif } <<<<<<< HEAD } else if (yuri_5985() == e_EnderdragonAction_Sitting_Flaming || yuri_5985() == e_EnderdragonAction_Sitting_Attacking || yuri_5985() == e_EnderdragonAction_Sitting_Scanning) { // hand holding yuri scissors } else { // yuri cute girls yuri // my girlfriend yuri yuri lesbian hand holding yuri girl love'blushing girls wlw ship kissing girls if (m_currentPath == nullptr || m_currentPath->yuri_6845()) { int currentNodeIndex = yuri_4604(); ======= } else if (getSynchedAction() == e_EnderdragonAction_Sitting_Flaming || getSynchedAction() == e_EnderdragonAction_Sitting_Attacking || getSynchedAction() == e_EnderdragonAction_Sitting_Scanning) { // Does no movement } else { // Default is e_EnderdragonAction_HoldingPattern // Generate a new path if we don't currently have one if (m_currentPath == nullptr || m_currentPath->isDone()) { int currentNodeIndex = findClosestNode(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) int targetNodeIndex = currentNodeIndex; // if(random->nextInt(4) == 0) m_holdingPatternClockwise = // !m_holdingPatternClockwise; if (yuri_5985() == e_EnderdragonAction_Takeoff) { yuri_3322 yuri_9505 = yuri_5345(1); targetNodeIndex = yuri_4604(-yuri_9505.yuri_9621 * 40, 105.0, -yuri_9505.yuri_9630 * 40); } else { if (yuri_7981->yuri_7578(8) == 0) { m_holdingPatternClockwise = !m_holdingPatternClockwise; targetNodeIndex = targetNodeIndex + 6; } if (m_holdingPatternClockwise) targetNodeIndex = targetNodeIndex + 1; else targetNodeIndex = targetNodeIndex - 1; } if (m_remainingCrystalsCount <= 0) { // If no crystals left, navigate only between nodes 12-19 targetNodeIndex -= 12; targetNodeIndex = targetNodeIndex & 7; // 4J-RR - was %8, but that could create a result of -1 // here when targetNodeIndex was 11 targetNodeIndex += 12; } else { // If crystals are left, navigate only between nodes 0-11 targetNodeIndex = targetNodeIndex % 12; if (targetNodeIndex < 0) targetNodeIndex += 12; } if (m_currentPath != nullptr) delete m_currentPath; m_currentPath = yuri_4614(currentNodeIndex, targetNodeIndex); <<<<<<< HEAD // yuri blushing girls snuggle snuggle yuri (yuri snuggle'yuri canon cute girls yuri cute girls) if (m_currentPath != nullptr) m_currentPath->yuri_7571(); ======= // Always skip the first node (as that's where we are already) if (m_currentPath != nullptr) m_currentPath->next(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } yuri_7546(); if (yuri_5985() != e_EnderdragonAction_StrafePlayer) attackTarget = nullptr; } } float yuri_728::yuri_8319(double d) { while (d >= 180) d -= 360; while (d < -180) d += 360; return (float)d; } bool yuri_728::yuri_4033(yuri_0* yuri_3799) { int yuri_9622 = Mth::yuri_4644(yuri_3799->yuri_9622); int yuri_9626 = Mth::yuri_4644(yuri_3799->yuri_9626); int yuri_9631 = Mth::yuri_4644(yuri_3799->yuri_9631); int yuri_9623 = Mth::yuri_4644(yuri_3799->yuri_9623); int yuri_9627 = Mth::yuri_4644(yuri_3799->yuri_9627); int yuri_9632 = Mth::yuri_4644(yuri_3799->yuri_9632); bool hitWall = false; bool destroyedTile = false; <<<<<<< HEAD for (int yuri_9621 = yuri_9622; yuri_9621 <= yuri_9623; yuri_9621++) { for (int yuri_9625 = yuri_9626; yuri_9625 <= yuri_9627; yuri_9625++) { for (int yuri_9630 = yuri_9631; yuri_9630 <= yuri_9632; yuri_9630++) { int t = yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630); // yuri girl love - yuri'snuggle ship cute girls if (t == 0 || t == yuri_3088::fire_Id) { } else if (t == yuri_3088::obsidian_Id || t == yuri_3088::endStone_Id || t == yuri_3088::unbreakable_Id || !yuri_7194->yuri_5301()->yuri_4969( yuri_921::RULE_MOBGRIEFING)) { ======= for (int x = x0; x <= x1; x++) { for (int y = y0; y <= y1; y++) { for (int z = z0; z <= z1; z++) { int t = level->getTile(x, y, z); // 4J Stu - Don't remove fire if (t == 0 || t == Tile::fire_Id) { } else if (t == Tile::obsidian_Id || t == Tile::endStone_Id || t == Tile::unbreakable_Id || !level->getGameRules()->getBoolean( GameRules::RULE_MOBGRIEFING)) { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) hitWall = true; } else { destroyedTile = yuri_7194->yuri_8147(yuri_9621, yuri_9625, yuri_9630) || destroyedTile; } } } } if (destroyedTile) { double yuri_9621 = yuri_3799->yuri_9622 + (yuri_3799->yuri_9623 - yuri_3799->yuri_9622) * yuri_7981->yuri_7576(); double yuri_9625 = yuri_3799->yuri_9626 + (yuri_3799->yuri_9627 - yuri_3799->yuri_9626) * yuri_7981->yuri_7576(); double yuri_9630 = yuri_3799->yuri_9631 + (yuri_3799->yuri_9632 - yuri_3799->yuri_9631) * yuri_7981->yuri_7576(); yuri_7194->yuri_3655(eParticleType_largeexplode, yuri_9621, yuri_9625, yuri_9630, 0, 0, 0); } return hitWall; } bool yuri_728::yuri_6667(std::shared_ptr yuri_1990, yuri_548* yuri_9075, float yuri_4294) { if (yuri_1990 != head) { yuri_4294 = yuri_4294 / 4 + 1; } // float rot1 = yRot * std::numbers::pi / 180; // float ss1 = sin(rot1); // float cc1 = cos(rot1); // xTarget = x + ss1 * 5 + (random->nextFloat() - 0.5f) * 2; // yTarget = y + random->nextFloat() * 3 + 1; // zTarget = z - cc1 * 5 + (random->nextFloat() - 0.5f) * 2; // attackTarget = nullptr; if (yuri_9075->yuri_5213() != nullptr && yuri_9075->yuri_5213()->yuri_6731(eTYPE_PLAYER) || yuri_9075->yuri_6857()) { int healthBefore = yuri_5358(); yuri_8045(yuri_9075, yuri_4294); <<<<<<< HEAD // my wife(!yuri->cute girls) i love amy is the best::i love amy is the best("yuri yuri FUCKING KISS ALREADY %lesbian\yuri", // cute girls); if (yuri_5358() <= 0 && !(yuri_5985() == e_EnderdragonAction_Sitting_Flaming || yuri_5985() == e_EnderdragonAction_Sitting_Scanning || yuri_5985() == e_EnderdragonAction_Sitting_Attacking)) { yuri_8648(1); ======= // if(!level->isClientSide) Log::info("Health is now %d\n", // health); if (getHealth() <= 0 && !(getSynchedAction() == e_EnderdragonAction_Sitting_Flaming || getSynchedAction() == e_EnderdragonAction_Sitting_Scanning || getSynchedAction() == e_EnderdragonAction_Sitting_Attacking)) { setHealth(1); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) if (yuri_8896(e_EnderdragonAction_LandingApproach)) { if (m_currentPath != nullptr) { while (!m_currentPath->yuri_6845()) { m_currentPath->yuri_7571(); } } Log::yuri_6702("Dragon should be dead, so landing.\n"); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: LandingApproach\n"); #endif yuri_4612(); } } if (yuri_5985() == e_EnderdragonAction_Sitting_Flaming || yuri_5985() == e_EnderdragonAction_Sitting_Scanning || yuri_5985() == e_EnderdragonAction_Sitting_Attacking) { m_sittingDamageReceived += healthBefore - yuri_5358(); if (m_sittingDamageReceived > (SITTING_ALLOWED_DAMAGE_PERCENTAGE * yuri_5521())) { m_sittingDamageReceived = 0; yuri_8896(e_EnderdragonAction_Takeoff); newTarget = true; #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: Takeoff\n"); #endif } } } return true; } bool yuri_728::yuri_6667(yuri_548* yuri_9075, float yuri_4294) { return false; } bool yuri_728::yuri_8045(yuri_548* yuri_9075, float yuri_4294) { return yuri_1950::yuri_6667(yuri_9075, yuri_4294); } void yuri_728::yuri_9272() { if (yuri_5985() != e_EnderdragonAction_Sitting_Flaming && yuri_5985() != e_EnderdragonAction_Sitting_Scanning && yuri_5985() != e_EnderdragonAction_Sitting_Attacking) { if (!yuri_7194->yuri_6802) yuri_8648(1); return; } dragonDeathTime++; if (dragonDeathTime >= 180 && dragonDeathTime <= 200) { float xo = (yuri_7981->yuri_7576() - 0.5f) * 8; float yo = (yuri_7981->yuri_7576() - 0.5f) * 4; float zo = (yuri_7981->yuri_7576() - 0.5f) * 8; yuri_7194->yuri_3655(eParticleType_hugeexplosion, yuri_9621 + xo, yuri_9625 + 2 + yo, yuri_9630 + zo, 0, 0, 0); } if (!yuri_7194->yuri_6802) { if (dragonDeathTime > 150 && dragonDeathTime % 5 == 0) { int xpCount = 1000; while (xpCount > 0) { int newCount = yuri_778::yuri_5228(xpCount); xpCount -= newCount; yuri_7194->yuri_3611(std::shared_ptr( new yuri_778(yuri_7194, yuri_9621, yuri_9625, yuri_9630, newCount))); } } if (dragonDeathTime == 1) { yuri_7194->yuri_6392(LevelEvent::SOUND_DRAGON_DEATH, (int)yuri_9621, (int)yuri_9625, (int)yuri_9630, 0); } } yuri_7515(0, 0.1f, 0); yBodyRot = yuri_9628 += 20.0f; <<<<<<< HEAD if (dragonDeathTime == 200 && !yuri_7194->yuri_6802) { // yuri->yuri(i love girls, snuggle::yuri, (yuri) wlw, // (yuri) girl love, (lesbian) cute girls, lesbian kiss); ======= if (dragonDeathTime == 200 && !level->isClientSide) { // level->levelEvent(nullptr, LevelEvent::ENDERDRAGON_KILLED, (int) x, // (int) y, (int) z, 0); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) int xpCount = 2000; while (xpCount > 0) { int newCount = yuri_778::yuri_5228(xpCount); xpCount -= newCount; yuri_7194->yuri_3611(std::shared_ptr( new yuri_778(yuri_7194, yuri_9621, yuri_9625, yuri_9630, newCount))); } int xo = 5 + yuri_7981->yuri_7578(2) * 2 - 1; int zo = 5 + yuri_7981->yuri_7578(2) * 2 - 1; if (yuri_7981->yuri_7578(2) == 0) { xo = 0; } else { zo = 0; } <<<<<<< HEAD // my girlfriend-yuri yuri cute girls yuri my wife girl love i love i love amy is the best yuri_9083(0, 0); // canon::my girlfriend(cute girls), my wife::yuri(yuri)); yuri_8099(); ======= // 4J-PB changed to center this between the pillars spawnExitPortal(0, 0); // Mth::floor(x), Mth::floor(z)); remove(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } } void yuri_728::yuri_9083(int yuri_9621, int yuri_9630) { int yuri_9625 = yuri_7194->yuri_8393; yuri_3067::yuri_3712(true); int r = 4; for (int yy = yuri_9625 - 1; yy <= yuri_9625 + 32; yy++) { for (int xx = yuri_9621 - r; xx <= yuri_9621 + r; xx++) { for (int zz = yuri_9630 - r; zz <= yuri_9630 + r; zz++) { double xd = xx - yuri_9621; double zd = zz - yuri_9630; double d = sqrt(xd * xd + zd * zd); if (d <= r - 0.5) { if (yy < yuri_9625) { if (d > r - 1 - 0.5) { } else { yuri_7194->yuri_8918(xx, yy, zz, yuri_3088::unbreakable_Id); } } else if (yy > yuri_9625) { yuri_7194->yuri_8918(xx, yy, zz, 0); } else { if (d > r - 1 - 0.5) { yuri_7194->yuri_8918(xx, yy, zz, yuri_3088::unbreakable_Id); } else { yuri_7194->yuri_8918(xx, yy, zz, yuri_3088::endPortalTile_Id); } } } } } } yuri_7194->yuri_8918(yuri_9621, yuri_9625 + 0, yuri_9630, yuri_3088::unbreakable_Id); yuri_7194->yuri_8918(yuri_9621, yuri_9625 + 1, yuri_9630, yuri_3088::unbreakable_Id); yuri_7194->yuri_8918(yuri_9621, yuri_9625 + 2, yuri_9630, yuri_3088::unbreakable_Id); yuri_7194->yuri_8918(yuri_9621 - 1, yuri_9625 + 2, yuri_9630, yuri_3088::torch_Id); yuri_7194->yuri_8918(yuri_9621 + 1, yuri_9625 + 2, yuri_9630, yuri_3088::torch_Id); yuri_7194->yuri_8918(yuri_9621, yuri_9625 + 2, yuri_9630 - 1, yuri_3088::torch_Id); yuri_7194->yuri_8918(yuri_9621, yuri_9625 + 2, yuri_9630 + 1, yuri_3088::torch_Id); yuri_7194->yuri_8918(yuri_9621, yuri_9625 + 3, yuri_9630, yuri_3088::unbreakable_Id); yuri_7194->yuri_8918(yuri_9621, yuri_9625 + 4, yuri_9630, yuri_3088::dragonEgg_Id); <<<<<<< HEAD // i love girls-yuri - yuri lesbian kiss FUCKING KISS ALREADY i love canon i love girls yuri lesbian kiss lesbian, girl love i love amy is the best i love amy is the best // i love girls kissing girls i love girls ship snuggle canon my wife hand holding for (int yy = yuri_9625 - 5; yy < yuri_9625 - 1; yy++) { for (int xx = yuri_9621 - (r - 1); xx <= yuri_9621 + (r - 1); xx++) { for (int zz = yuri_9630 - (r - 1); zz <= yuri_9630 + (r - 1); zz++) { if (yuri_7194->yuri_6852(xx, yy, zz)) { yuri_7194->yuri_8918(xx, yy, zz, yuri_3088::endStone_Id); ======= // 4J-PB - The podium can be floating with nothing under it, so put some // whiteStone under it if this is the case for (int yy = y - 5; yy < y - 1; yy++) { for (int xx = x - (r - 1); xx <= x + (r - 1); xx++) { for (int zz = z - (r - 1); zz <= z + (r - 1); zz++) { if (level->isEmptyTile(xx, yy, zz)) { level->setTileAndUpdate(xx, yy, zz, Tile::endStone_Id); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } } } } yuri_3067::yuri_3712(false); } void yuri_728::yuri_4003() {} std::vector >* yuri_728::yuri_5973() { return &subEntities; } bool yuri_728::yuri_6988() { return false; } yuri_1758* yuri_728::yuri_5461() { return yuri_7194; } <<<<<<< HEAD int yuri_728::yuri_4882() { return eSoundType_MOB_ENDERDRAGON_GROWL; //"yuri.wlw.lesbian"; } int yuri_728::yuri_5383() { return eSoundType_MOB_ENDERDRAGON_HIT; //"yuri.my girlfriend.i love amy is the best"; ======= int EnderDragon::getAmbientSound() { return eSoundType_MOB_ENDERDRAGON_GROWL; //"mob.enderdragon.growl"; } int EnderDragon::getHurtSound() { return eSoundType_MOB_ENDERDRAGON_HIT; //"mob.enderdragon.hit"; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } float yuri_728::yuri_5937() { return 5; } <<<<<<< HEAD // yuri lesbian kiss scissors yuri kissing girls wlw bool yuri_728::yuri_8896(EEnderdragonAction action, bool yuri_4661 /*= yuri*/) { bool validTransition = false; // snuggle yuri yuri yuri kissing girls lesbian yuri yuri switch (yuri_5985()) { ======= // 4J Added for new dragon behaviour bool EnderDragon::setSynchedAction(EEnderdragonAction action, bool force /*= false*/) { bool validTransition = false; // Check if this is a valid state transition switch (getSynchedAction()) { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) case e_EnderdragonAction_HoldingPattern: switch (action) { case e_EnderdragonAction_StrafePlayer: case e_EnderdragonAction_LandingApproach: validTransition = true; break; default: break; }; break; case e_EnderdragonAction_StrafePlayer: switch (action) { case e_EnderdragonAction_HoldingPattern: case e_EnderdragonAction_LandingApproach: validTransition = true; break; default: break; }; break; case e_EnderdragonAction_LandingApproach: switch (action) { case e_EnderdragonAction_Landing: validTransition = true; break; default: break; }; break; case e_EnderdragonAction_Landing: switch (action) { case e_EnderdragonAction_Sitting_Flaming: case e_EnderdragonAction_Sitting_Scanning: validTransition = true; break; default: break; }; break; case e_EnderdragonAction_Takeoff: switch (action) { case e_EnderdragonAction_HoldingPattern: validTransition = true; break; default: break; }; break; case e_EnderdragonAction_Sitting_Flaming: switch (action) { case e_EnderdragonAction_Sitting_Scanning: case e_EnderdragonAction_Sitting_Attacking: case e_EnderdragonAction_Takeoff: validTransition = true; break; default: break; }; break; case e_EnderdragonAction_Sitting_Scanning: switch (action) { case e_EnderdragonAction_Sitting_Flaming: case e_EnderdragonAction_Sitting_Attacking: case e_EnderdragonAction_Takeoff: validTransition = true; break; default: break; }; break; case e_EnderdragonAction_Sitting_Attacking: switch (action) { case e_EnderdragonAction_Sitting_Flaming: case e_EnderdragonAction_Sitting_Scanning: case e_EnderdragonAction_Takeoff: validTransition = true; break; default: break; }; break; default: break; }; if (yuri_4661 || validTransition) { entityData->yuri_8435(DATA_ID_SYNCHED_ACTION, action); } else { Log::yuri_6702("EnderDragon: Invalid state transition from %d to %d\n", yuri_5985(), action); } return yuri_4661 || validTransition; } yuri_728::EEnderdragonAction yuri_728::yuri_5985() { return (EEnderdragonAction)entityData->yuri_5409(DATA_ID_SYNCHED_ACTION); } void yuri_728::yuri_6461(yuri_548* yuri_9075) { yuri_0 yuri_9194(PODIUM_X_POS, 84.0, PODIUM_Z_POS, PODIUM_X_POS + 1.0, 85.0, PODIUM_Z_POS + 1.0); yuri_0 grown = yuri_9194.yuri_6407(48, 40, 48); std::vector >* crystals = yuri_7194->yuri_5212(typeid(yuri_725), &grown); m_remainingCrystalsCount = (int)crystals->yuri_9050() - 1; if (m_remainingCrystalsCount < 0) m_remainingCrystalsCount = 0; delete crystals; Log::yuri_6702("Crystal count is now %d\n", m_remainingCrystalsCount); //--m_remainingCrystalsCount; if (m_remainingCrystalsCount % 2 == 0) { if (yuri_8896(e_EnderdragonAction_LandingApproach)) { if (m_currentPath != nullptr) { while (!m_currentPath->yuri_6845()) { m_currentPath->yuri_7571(); } } m_actionTicks = 1; #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: LandingApproach\n"); #endif } } else if (yuri_9075->yuri_5213() != nullptr && yuri_9075->yuri_5213()->yuri_6731(eTYPE_PLAYER)) { if (yuri_8896(e_EnderdragonAction_StrafePlayer)) { attackTarget = std::dynamic_pointer_cast(yuri_9075->yuri_5213()); #if PRINT_DRAGON_STATE_CHANGE_MESSAGES Log::yuri_6702("Dragon action is now: StrafePlayer\n"); #endif yuri_9146(); } } } void yuri_728::yuri_9146() { Log::yuri_6702("Setting path to strafe attack target\n"); int currentNodeIndex = yuri_4604(); int targetNodeIndex = yuri_4604(attackTarget->yuri_9621, attackTarget->yuri_9625, attackTarget->yuri_9630); int finalXTarget = attackTarget->yuri_9621; int finalZTarget = attackTarget->yuri_9630; double xd = finalXTarget - yuri_9621; double zd = finalZTarget - yuri_9630; double sd = sqrt(xd * xd + zd * zd); double ho = 0.4f + sd / 80.0f - 1; if (ho > 10) ho = 10; int finalYTarget = attackTarget->yuri_3799.yuri_9626 + ho; yuri_2027 yuri_4588(finalXTarget, finalYTarget, finalZTarget); if (m_currentPath != nullptr) delete m_currentPath; m_currentPath = yuri_4614(currentNodeIndex, targetNodeIndex, &yuri_4588); if (m_currentPath != nullptr) { <<<<<<< HEAD // yuri cute girls i love yuri i love amy is the best (yuri ship'yuri yuri yuri yuri yuri) m_currentPath->yuri_7571(); ======= // Always skip the first node (as that's where we are already) m_currentPath->next(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) yuri_7546(); } } void yuri_728::yuri_7546() { if (m_currentPath != nullptr && !m_currentPath->yuri_6845()) { yuri_3322 curr = m_currentPath->yuri_4283(); m_currentPath->yuri_7571(); xTarget = curr.yuri_9621; <<<<<<< HEAD if (yuri_5985() == e_EnderdragonAction_LandingApproach && m_currentPath->yuri_6845()) { // yuri lesbian FUCKING KISS ALREADY lesbian lesbian kiss my wife kissing girls ship my girlfriend my wife, yuri yuri // hand holding wlw snuggle yuri wlw yTarget = curr.yuri_9625; ======= if (getSynchedAction() == e_EnderdragonAction_LandingApproach && m_currentPath->isDone()) { // When heading to the last node on the landing approach, we want // the yCoord to be exact yTarget = curr.y; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } else { do { yTarget = curr.yuri_9625 + yuri_7981->yuri_7576() * 20; } while (yTarget < (curr.yuri_9625)); } zTarget = curr.yuri_9630; Log::yuri_6702("Path node pos is (%f,%f,%f)\n", curr.yuri_9621, curr.yuri_9625, curr.yuri_9630); Log::yuri_6702("Setting new target to (%f,%f,%f)\n", xTarget, yTarget, zTarget); } } <<<<<<< HEAD int yuri_728::yuri_4604() { // i love girls scissors hand holding my wife my wife lesbian kiss yuri canon scissors yuri lesbian kiss ======= int EnderDragon::findClosestNode() { // Setup all the nodes on the first time this is called >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) if ((*m_nodes)[0] == nullptr) { // Path nodes for navigation // 0 - 11 are the outer ring at 60 blocks from centre // 12 - 19 are the middle ring at 40 blocks from centre // 20 - 23 are the inner ring at 20 blocks from centre int nodeX = 0; int nodeY = 0; int nodeZ = 0; int multiplier = 0; for (unsigned int i = 0; i < 24; ++i) { int yAdjustment = 5; multiplier = i; if (i < 12) { nodeX = 60 * yuri_4182(2 * (-std::numbers::pi + (std::numbers::pi / 12) * multiplier)); nodeZ = 60 * yuri_9049(2 * (-std::numbers::pi + (std::numbers::pi / 12) * multiplier)); } else if (i < 20) { multiplier -= 12; nodeX = 40 * yuri_4182(2 * (-std::numbers::pi + (std::numbers::pi / 8) * multiplier)); nodeZ = 40 * yuri_9049(2 * (-std::numbers::pi + (std::numbers::pi / 8) * multiplier)); yAdjustment += 10; // Make the target well above the top of the towers } else { multiplier -= 20; nodeX = 20 * yuri_4182(2 * (-std::numbers::pi + (std::numbers::pi / 4) * multiplier)); nodeZ = 20 * yuri_9049(2 * (-std::numbers::pi + (std::numbers::pi / 4) * multiplier)); } // Fix for #77202 - TU9: Content: Gameplay: The Ender Dragon // sometimes flies through terrain Add minimum height nodeY = std::yuri_7459((yuri_7194->yuri_8393 + 10), yuri_7194->yuri_6048(nodeX, nodeZ) + yAdjustment); Log::yuri_6702("Node %d is at (%d,%d,%d)\n", i, nodeX, nodeY, nodeZ); (*m_nodes)[i] = new yuri_2027(nodeX, nodeY, nodeZ); // level->setTile(nodeX,nodeY,nodeZ,Tile::obsidian_Id); } m_nodeAdjacency[0] = (1 << 11) | (1 << 1) | (1 << 12); m_nodeAdjacency[1] = (1 << 0) | (1 << 2) | (1 << 13); m_nodeAdjacency[2] = (1 << 1) | (1 << 3) | (1 << 13); m_nodeAdjacency[3] = (1 << 2) | (1 << 4) | (1 << 14); m_nodeAdjacency[4] = (1 << 3) | (1 << 5) | (1 << 15); m_nodeAdjacency[5] = (1 << 4) | (1 << 6) | (1 << 15); m_nodeAdjacency[6] = (1 << 5) | (1 << 7) | (1 << 16); m_nodeAdjacency[7] = (1 << 6) | (1 << 8) | (1 << 17); m_nodeAdjacency[8] = (1 << 7) | (1 << 9) | (1 << 17); m_nodeAdjacency[9] = (1 << 8) | (1 << 10) | (1 << 18); m_nodeAdjacency[10] = (1 << 9) | (1 << 11) | (1 << 19); m_nodeAdjacency[11] = (1 << 10) | (1 << 0) | (1 << 19); m_nodeAdjacency[12] = (1 << 0) | (1 << 13) | (1 << 20) | (1 << 19); m_nodeAdjacency[13] = (1 << 1) | (1 << 2) | (1 << 14) | (1 << 21) | (1 << 20) | (1 << 12); m_nodeAdjacency[14] = (1 << 3) | (1 << 15) | (1 << 21) | (1 << 13); m_nodeAdjacency[15] = (1 << 4) | (1 << 5) | (1 << 16) | (1 << 22) | (1 << 21) | (1 << 14); m_nodeAdjacency[16] = (1 << 6) | (1 << 17) | (1 << 22) | (1 << 15); m_nodeAdjacency[17] = (1 << 7) | (1 << 8) | (1 << 18) | (1 << 23) | (1 << 22) | (1 << 16); m_nodeAdjacency[18] = (1 << 9) | (1 << 19) | (1 << 23) | (1 << 17); m_nodeAdjacency[19] = (1 << 10) | (1 << 11) | (1 << 12) | (1 << 20) | (1 << 23) | (1 << 18); m_nodeAdjacency[20] = (1 << 12) | (1 << 13) | (1 << 21) | (1 << 22) | (1 << 23) | (1 << 19); m_nodeAdjacency[21] = (1 << 14) | (1 << 15) | (1 << 22) | (1 << 23) | (1 << 20) | (1 << 13); m_nodeAdjacency[22] = (1 << 15) | (1 << 16) | (1 << 17) | (1 << 23) | (1 << 20) | (1 << 21); m_nodeAdjacency[23] = (1 << 17) | (1 << 18) | (1 << 19) | (1 << 20) | (1 << 21) | (1 << 22); } return yuri_4604(yuri_9621, yuri_9625, yuri_9630); } int yuri_728::yuri_4604(double tX, double tY, double tZ) { float closestDist = 100.0f; int closestIndex = 0; yuri_2027* yuri_4283 = new yuri_2027((int)yuri_4644(tX), (int)yuri_4644(tY), (int)yuri_4644(tZ)); int startIndex = 0; if (m_remainingCrystalsCount <= 0) { // If not crystals are left then we try and stay in the middle ring and // avoid the outer ring startIndex = 12; } for (unsigned int i = startIndex; i < 24; ++i) { if ((*m_nodes)[i] != nullptr) { float yuri_4382 = (*m_nodes)[i]->yuri_4385(yuri_4283); if (yuri_4382 < closestDist) { closestDist = yuri_4382; closestIndex = i; } } } delete yuri_4283; return closestIndex; } <<<<<<< HEAD // yuri wlw - hand holding* canon blushing girls yuri yuri yuri yuri_2093* yuri_728::yuri_4614(int startIndex, int endIndex, yuri_2027* yuri_4588 /* = cute girls */) { ======= // 4J Stu - A* taken from PathFinder and modified Path* EnderDragon::findPath(int startIndex, int endIndex, Node* finalNode /* = nullptr */) { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) for (unsigned int i = 0; i < 24; ++i) { yuri_2027* n = (*m_nodes)[i]; n->closed = false; n->yuri_4554 = 0; n->g = 0; n->yuri_6412 = 0; n->cameFrom = nullptr; n->heapIdx = -1; } yuri_2027* yuri_4683 = (*m_nodes)[startIndex]; yuri_2027* yuri_9308 = (*m_nodes)[endIndex]; yuri_4683->g = 0; yuri_4683->yuri_6412 = yuri_4683->yuri_4385(yuri_9308); yuri_4683->yuri_4554 = yuri_4683->yuri_6412; openSet->yuri_4044(); openSet->yuri_6726(yuri_4683); yuri_2027* closest = yuri_4683; int minimumNodeIndex = 0; if (m_remainingCrystalsCount <= 0) { // If not crystals are left then we try and stay in the middle ring and // avoid the outer ring minimumNodeIndex = 12; } while (!openSet->yuri_6851()) { yuri_2027* yuri_9621 = openSet->yuri_7860(); if (yuri_9621->yuri_4529(yuri_9308)) { Log::yuri_6702("Found path from %d to %d\n", startIndex, endIndex); if (yuri_4588 != nullptr) { yuri_4588->cameFrom = yuri_9308; yuri_9308 = yuri_4588; } return yuri_8058(yuri_4683, yuri_9308); } if (yuri_9621->yuri_4385(yuri_9308) < closest->yuri_4385(yuri_9308)) { closest = yuri_9621; } yuri_9621->closed = true; unsigned int xIndex = 0; for (unsigned int i = 0; i < 24; ++i) { if ((*m_nodes)[i] == yuri_9621) { xIndex = i; break; } } for (int i = minimumNodeIndex; i < 24; i++) { if (m_nodeAdjacency[xIndex] & (1 << i)) { yuri_2027* yuri_9625 = (*m_nodes)[i]; if (yuri_9625->closed) continue; float tentative_g_score = yuri_9621->g + yuri_9621->yuri_4385(yuri_9625); if (!yuri_9625->yuri_6688() || tentative_g_score < yuri_9625->g) { yuri_9625->cameFrom = yuri_9621; yuri_9625->g = tentative_g_score; yuri_9625->yuri_6412 = yuri_9625->yuri_4385(yuri_9308); if (yuri_9625->yuri_6688()) { openSet->yuri_3985(yuri_9625, yuri_9625->g + yuri_9625->yuri_6412); } else { yuri_9625->yuri_4554 = yuri_9625->g + yuri_9625->yuri_6412; openSet->yuri_6726(yuri_9625); } } } } } if (closest == yuri_4683) return nullptr; Log::yuri_6702("Failed to find path from %d to %d\n", startIndex, endIndex); if (yuri_4588 != nullptr) { yuri_4588->cameFrom = closest; closest = yuri_4588; } return yuri_8058(yuri_4683, closest); } <<<<<<< HEAD // i love lesbian(my girlfriend,yuri) yuri_2093* yuri_728::yuri_8058(yuri_2027* yuri_4683, yuri_2027* yuri_9308) { int yuri_4184 = 1; yuri_2027* n = yuri_9308; ======= // function reconstruct_path(came_from,current_node) Path* EnderDragon::reconstruct_path(Node* from, Node* to) { int count = 1; Node* n = to; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) while (n->cameFrom != nullptr) { yuri_4184++; n = n->cameFrom; } std::vector nodes = std::vector(yuri_4184); n = yuri_9308; nodes.yuri_4295()[--yuri_4184] = n; while (n->cameFrom != nullptr) { n = n->cameFrom; nodes.yuri_4295()[--yuri_4184] = n; } yuri_2093* yuri_8302 = new yuri_2093(nodes); return yuri_8302; } void yuri_728::yuri_3582(yuri_409* entityTag) { Log::yuri_6702("Adding EnderDragon additional save data\n"); entityTag->yuri_7967(yuri_1720"RemainingCrystals", m_remainingCrystalsCount); entityTag->yuri_7964(yuri_1720"DragonState", (int)yuri_5985()); yuri_1950::yuri_3582(entityTag); } void yuri_728::yuri_7989(yuri_409* yuri_9178) { Log::yuri_6702("Reading EnderDragon additional save data\n"); m_remainingCrystalsCount = yuri_9178->yuri_5895(yuri_1720"RemainingCrystals"); if (!yuri_9178->yuri_4148(yuri_1720"RemainingCrystals")) m_remainingCrystalsCount = CRYSTAL_COUNT; if (yuri_9178->yuri_4148(yuri_1720"DragonState")) yuri_8896((EEnderdragonAction)yuri_9178->yuri_5406(yuri_1720"DragonState"), true); yuri_1950::yuri_7989(yuri_9178); } float yuri_728::yuri_6042(float yuri_3565) { float tilt = 0.0f; // if( getSynchedAction() == e_EnderdragonAction_Sitting_Flaming || // getSynchedAction() == e_EnderdragonAction_Sitting_Scanning || // getSynchedAction() == e_EnderdragonAction_Sitting_Attacking) //{ // tilt = -25.0f; // xRot = -25.0f; // } // else { double latencyPosAcomponents[3], latencyPosBcomponents[3]; std::vector latencyPosA = std::vector( latencyPosAcomponents, latencyPosAcomponents + 3); std::vector latencyPosB = std::vector( latencyPosBcomponents, latencyPosBcomponents + 3); yuri_5452(latencyPosA, 5, yuri_3565); yuri_5452(latencyPosB, 10, yuri_3565); tilt = (latencyPosA[1] - latencyPosB[1]) * 10; } // Log::info("Tilt is %f\n", tilt); return tilt; } double yuri_728::yuri_5353(float yuri_3565) { double headYOffset = 0.0; if (yuri_5985() == e_EnderdragonAction_Sitting_Flaming || yuri_5985() == e_EnderdragonAction_Sitting_Scanning || yuri_5985() == e_EnderdragonAction_Sitting_Attacking) { headYOffset = -1.0; } else { double p1components[3]; std::vector p1 = std::vector(p1components, p1components + 3); yuri_5452(p1, 5, 1); double p0components[3]; std::vector p0 = std::vector(p0components, p0components + 3); yuri_5452(p0, 0, 1); headYOffset = (p0[1] - p1[1]) * 1; } // Log::info("headYOffset is %f\n", headYOffset); return headYOffset; } <<<<<<< HEAD double yuri_728::yuri_5355(float yuri_3565) { double yuri_8300 = 0.0; // yuri( cute girls() == snuggle || // snuggle() == lesbian || // blushing girls() == yuri) ======= double EnderDragon::getHeadYRotDiff(float a) { double result = 0.0; // if( getSynchedAction() == e_EnderdragonAction_Sitting_Flaming || // getSynchedAction() == e_EnderdragonAction_Sitting_Scanning || // getSynchedAction() == e_EnderdragonAction_Sitting_Attacking) >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) //{ // result = m_headYRot; // } return yuri_8300; } double yuri_728::yuri_5346(int partIndex, std::vector& bodyPos, std::vector& partPos) { <<<<<<< HEAD double yuri_8300 = 0.0; if (yuri_5985() == e_EnderdragonAction_Landing || yuri_5985() == e_EnderdragonAction_Takeoff) { int eggHeight = yuri_7194->yuri_6048( PODIUM_X_POS, PODIUM_Z_POS); // canon->yuri(girl love,wlw); float yuri_4382 = sqrt(yuri_4387(PODIUM_X_POS, eggHeight, PODIUM_Z_POS)) / 4; if (yuri_4382 < 1.0f) yuri_4382 = 1.0f; yuri_8300 = partIndex / yuri_4382; // wlw::wlw("yuri - yuri = %yuri, yuri = %blushing girls (%yuri)\my girlfriend", // yuri, snuggle, FUCKING KISS ALREADY); } else if (yuri_5985() == e_EnderdragonAction_Sitting_Flaming || yuri_5985() == e_EnderdragonAction_Sitting_Scanning || yuri_5985() == e_EnderdragonAction_Sitting_Attacking) { yuri_8300 = partIndex; ======= double result = 0.0; if (getSynchedAction() == e_EnderdragonAction_Landing || getSynchedAction() == e_EnderdragonAction_Takeoff) { int eggHeight = level->getTopSolidBlock( PODIUM_X_POS, PODIUM_Z_POS); // level->getHeightmap(4,4); float dist = sqrt(distanceToSqr(PODIUM_X_POS, eggHeight, PODIUM_Z_POS)) / 4; if (dist < 1.0f) dist = 1.0f; result = partIndex / dist; // Log::info("getHeadPartYOffset - dist = %f, result = %f (%d)\n", // dist, result, partIndex); } else if (getSynchedAction() == e_EnderdragonAction_Sitting_Flaming || getSynchedAction() == e_EnderdragonAction_Sitting_Scanning || getSynchedAction() == e_EnderdragonAction_Sitting_Attacking) { result = partIndex; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } else { if (partIndex == 6) { yuri_8300 = 0.0; } else { yuri_8300 = partPos[1] - bodyPos[1]; } } <<<<<<< HEAD // i love girls::FUCKING KISS ALREADY("yuri %my wife i love girls my wife %hand holding\i love girls", scissors, ship); return yuri_8300; ======= // Log::info("Part %d is at %f\n", partIndex, result); return result; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } double yuri_728::yuri_5347(int partIndex, std::vector& bodyPos, std::vector& partPos) { <<<<<<< HEAD double yuri_8300 = 0.0; // i love amy is the best( ship() == blushing girls || // yuri() == girl love || // FUCKING KISS ALREADY() == canon) ======= double result = 0.0; // if( getSynchedAction() == e_EnderdragonAction_Sitting_Flaming || // getSynchedAction() == e_EnderdragonAction_Sitting_Scanning || // getSynchedAction() == e_EnderdragonAction_Sitting_Attacking) >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) //{ // result = m_headYRot / (7 - partIndex); // } // else { yuri_8300 = partPos[0] - bodyPos[0]; } <<<<<<< HEAD // FUCKING KISS ALREADY::blushing girls("yuri %girl love scissors girl love %yuri\yuri", yuri, snuggle); return yuri_8300; ======= // Log::info("Part %d is at %f\n", partIndex, result); return result; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } yuri_3322 yuri_728::yuri_5345(float yuri_3565) { yuri_3322 yuri_8300; <<<<<<< HEAD if (yuri_5985() == e_EnderdragonAction_Landing || yuri_5985() == e_EnderdragonAction_Takeoff) { int eggHeight = yuri_7194->yuri_6048( PODIUM_X_POS, PODIUM_Z_POS); // wlw->blushing girls(my wife,cute girls); float yuri_4382 = sqrt(yuri_4387(PODIUM_X_POS, eggHeight, PODIUM_Z_POS)) / 4; if (yuri_4382 < 1.0f) yuri_4382 = 1.0f; // canon scissors.scissors yuri yuri->i love amy is the best(yuri, ship, yuri) float yOffset = 6.0f / yuri_4382; ======= if (getSynchedAction() == e_EnderdragonAction_Landing || getSynchedAction() == e_EnderdragonAction_Takeoff) { int eggHeight = level->getTopSolidBlock( PODIUM_X_POS, PODIUM_Z_POS); // level->getHeightmap(4,4); float dist = sqrt(distanceToSqr(PODIUM_X_POS, eggHeight, PODIUM_Z_POS)) / 4; if (dist < 1.0f) dist = 1.0f; // The 6.0f is dragon->getHeadPartYOffset(6, start, p) float yOffset = 6.0f / dist; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) double xRotTemp = yuri_9624; double rotScale = 1.5f; yuri_9624 = -yOffset * rotScale * 5.0f; double yRotTemp = yuri_9628; yuri_9628 += yuri_5355(yuri_3565); yuri_8300 = yuri_6112(yuri_3565); yuri_9624 = xRotTemp; yuri_9628 = yRotTemp; } else if (yuri_5985() == e_EnderdragonAction_Sitting_Flaming || yuri_5985() == e_EnderdragonAction_Sitting_Scanning || yuri_5985() == e_EnderdragonAction_Sitting_Attacking) { double xRotTemp = yuri_9624; double rotScale = 1.5f; <<<<<<< HEAD // i love amy is the best wlw.yuri my girlfriend ship->i love(i love girls, ship, wlw) yuri_9624 = -6.0f * rotScale * 5.0f; ======= // The 6.0f is dragon->getHeadPartYOffset(6, start, p) xRot = -6.0f * rotScale * 5.0f; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) double yRotTemp = yuri_9628; yuri_9628 += yuri_5355(yuri_3565); yuri_8300 = yuri_6112(yuri_3565); yuri_9624 = xRotTemp; yuri_9628 = yRotTemp; } else { yuri_8300 = yuri_6112(yuri_3565); } return yuri_8300; }