From 031fd248420caab63c5c1bef55625a6b86edd5bc Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Mon, 13 Jan 2025 09:21:01 -0600 Subject: [PATCH] PLayerCharacter.java Cleanup --- src/engine/objects/PlayerCharacter.java | 397 ------------------------ 1 file changed, 397 deletions(-) diff --git a/src/engine/objects/PlayerCharacter.java b/src/engine/objects/PlayerCharacter.java index 2ad270ea..90fa4d54 100644 --- a/src/engine/objects/PlayerCharacter.java +++ b/src/engine/objects/PlayerCharacter.java @@ -3133,26 +3133,8 @@ public class PlayerCharacter extends AbstractCharacter { public void calculateSpeedMod() { // get base race speed modifer - - //this is retarded. *** Refactor - // if (this.race != null) { - // int ID = this.race.getObjectUUID(); - // if (ID == 2004 || ID == 2005) - // this.raceRunMod = 1.21f; // centaur run bonus 22% - //// else if (ID == 2017) - //// this.raceRunMod = 1.14f; // mino run bonus 15% - // else - // this.raceRunMod = 1; - // } else - // this.raceRunMod = 1; - - float bonus = 1f; - // // TODO: hardcoded, as didnt have time to introduce DB column to base object - // if (baseClass.getName().equals("Fighter") || baseClass.getName().equals("Rogue")) - // bonus += .05f; - // get running skill if (this.skills != null) { CharacterSkill running = this.skills.get("Running"); @@ -3205,14 +3187,6 @@ public class PlayerCharacter extends AbstractCharacter { return this.follow; } - public int getLastGroupToInvite() { - return this.lastGroupToInvite; - } - - public void setLastGroupToInvite(int value) { - this.lastGroupToInvite = value; - } - @Override public float getAltitude() { if (this.altitude < 0) @@ -3261,10 +3235,6 @@ public class PlayerCharacter extends AbstractCharacter { return this.loadedStaticObjects; } - public void setLoadedStaticObjects(HashSet value) { - this.loadedStaticObjects = value; - } - public boolean isTeleportMode() { return teleportMode; } @@ -3272,20 +3242,6 @@ public class PlayerCharacter extends AbstractCharacter { public void setTeleportMode(boolean teleportMode) { this.teleportMode = teleportMode; } - - // public ConcurrentHashMap - // getRecycleTimers() { - // return this.recycleTimers; - // } - // public UsePowerJob getLastPower() { - // return this.lastPower; - // } - // public void setLastPower(UsePowerJob value) { - // this.lastPower = value; - // } - // public void clearLastPower() { - // this.lastPower = null; - // } public long chatFloodTime(int chatOpcode, long chatTimeMilli, int qtyToSave) { if (qtyToSave < 1) return 0L; // disabled @@ -3799,22 +3755,6 @@ public class PlayerCharacter extends AbstractCharacter { return this.statStrCurrent - this.race.getStrStart() - this.baseClass.getStrMod(); } - public int getDexForClient() { - return this.statDexCurrent - this.race.getDexStart() - this.baseClass.getDexMod(); - } - - public int getConForClient() { - return this.statConCurrent - this.race.getConStart() - this.baseClass.getConMod(); - } - - public int getIntForClient() { - return this.statIntCurrent - this.race.getIntStart() - this.baseClass.getIntMod(); - } - - public int getSpiForClient() { - return this.statSpiCurrent - this.race.getSpiStart() - this.baseClass.getSpiMod(); - } - public int getTrainsAvailable() { return this.trainsAvailable.get(); } @@ -3852,15 +3792,6 @@ public class PlayerCharacter extends AbstractCharacter { } ConcurrentHashMap equipped = this.charItemManager.getEquipped(); - // // Reset passives - // if (this.bonuses != null) { - // this.bonuses.setBool("Block", false); - // this.bonuses.setBool("Parry", false); - // if (this.baseClass != null && this.baseClass.getUUID() == 2502) - // this.bonuses.setBool("Dodge", true); - // else - // this.bonuses.setBool("Dodge", false); - // } // calculate atr and damage for each hand calculateAtrDamageForWeapon(equipped.get(MBServerStatics.SLOT_MAINHAND), true, equipped.get(MBServerStatics.SLOT_OFFHAND)); calculateAtrDamageForWeapon(equipped.get(MBServerStatics.SLOT_OFFHAND), false, equipped.get(MBServerStatics.SLOT_MAINHAND)); @@ -3985,17 +3916,6 @@ public class PlayerCharacter extends AbstractCharacter { max = (float) wb.getMaxDamage(); strBased = wb.isStrBased(); - // - // Add parry bonus for weapon and allow parry if needed - - // // Only Fighters and Thieves can Parry - // if ((this.baseClass != null && this.baseClass.getUUID() == 2500) - // || (this.promotionClass != null && this.promotionClass.getUUID() == 2520)) { - // if (wbMain == null || wbMain.getRange() < MBServerStatics.RANGED_WEAPON_RANGE) - // if (wbOff == null || wbOff.getRange() < MBServerStatics.RANGED_WEAPON_RANGE) - // this.bonuses.setBool("Parry", true); - // } - // } } if (this.effects != null && this.effects.containsKey("DeathShroud")) @@ -4479,36 +4399,6 @@ public class PlayerCharacter extends AbstractCharacter { return (amount - attackerLevel + this.getLevel()) / 4; } - public float getPassiveChance1(ModType modType, SourceType sourceType, int attackerLevel, boolean fromCombat) { - if (this.skills == null || this.bonuses == null) - return 0f; - - // must be allowed to use this passive - if (!this.bonuses.getBool(modType, sourceType)) - return 0f; - - // must not be stunned - if (this.bonuses.getBool(ModType.Stunned, SourceType.None)) - return 0f; - - // Get base skill amount - CharacterSkill sk = this.skills.get(sourceType.name()); - float amount; - if (sk == null) - amount = CharacterSkill.getQuickMastery(this, modType.name()); - else - amount = sk.getModifiedAmount(); - - // Add bonuses - amount += this.bonuses.getFloat(modType, sourceType); - - // Add item bonuses and return - if (sourceType.equals(SourceType.Dodge) && !fromCombat) - return ((amount / 4) - attackerLevel + this.getLevel()) / 4; - else - return (amount - attackerLevel + this.getLevel()) / 4; - } - public float getRegenModifier(ModType type) { float regen = 1f; @@ -4593,10 +4483,6 @@ public class PlayerCharacter extends AbstractCharacter { super.removeFromCache(); } - public void storeIgnoreListDB() { - - } - public void updateSkillsAndPowersToDatabase() { if (this.skills != null) for (CharacterSkill skill : this.skills.values()) { @@ -4765,17 +4651,6 @@ public class PlayerCharacter extends AbstractCharacter { return true; } - // Method is called by Server Heartbeat simulation tick. - // Stat regen and transform updates should go in here. - - public boolean isNoTeleScreen() { - return noTeleScreen; - } - - public void setNoTeleScreen(boolean noTeleScreen) { - this.noTeleScreen = noTeleScreen; - } - private double getDeltaTime() { return (System.currentTimeMillis() - lastUpdateTime) * .001f; @@ -4817,30 +4692,6 @@ public class PlayerCharacter extends AbstractCharacter { return false; } - public boolean isSwimming(Vector3fImmutable currentLoc) { - - // If char is flying they aren't quite swimming - try { - - float localAltitude = HeightMap.getWorldHeight(currentLoc); - - Zone zone = ZoneManager.findSmallestZone(currentLoc); - - if (zone.getSeaLevel() != 0) { - - if (localAltitude < zone.getSeaLevel()) - return true; - } else { - if (localAltitude < 0) - return true; - } - } catch (Exception e) { - Logger.info(this.getName() + e); - } - - return false; - } - private static void forceRespawn(PlayerCharacter sourcePlayer) throws MsgSendException { if (sourcePlayer == null) @@ -4897,11 +4748,6 @@ public class PlayerCharacter extends AbstractCharacter { while (this.level < 10) { grantXP(Experience.getBaseExperience(this.level + 1) - this.exp); } - //if(this.charItemManager != null && this.charItemManager.getGoldInventory() != null && this.charItemManager.getGoldInventory().getNumOfItems() < 1000) { - // this.getCharItemManager().addGoldToInventory(1000, false); - // this.getCharItemManager().addItemToInventory(new MobLoot(this, ItemBase.getItemBase(980066), 1, false).promoteToItem(this)); - // this.getCharItemManager().updateInventory(); - //} } if(this.isBoxed && !this.containsEffect(1672601862)) { @@ -5064,7 +4910,6 @@ public class PlayerCharacter extends AbstractCharacter { ChatManager.chatSystemInfo(this, "Arrived at End location. " + this.getEndLoc()); return; - //Next upda } setLoc(newLoc); @@ -5076,11 +4921,6 @@ public class PlayerCharacter extends AbstractCharacter { if (this.getStamina() < 10) MovementManager.sendOOS(this); - - // if (MBServerStatics.MOVEMENT_SYNC_DEBUG || this.getDebug(1)) - // Logger.info("MovementManager", "Updating movement current loc:" + this.getLoc().getX() + " " + this.getLoc().getZ() - // + " end loc: " + this.getEndLoc().getX() + " " + this.getEndLoc().getZ() + " distance " + this.getEndLoc().distance2D(this.getLoc())); - } @Override @@ -5457,23 +5297,11 @@ public class PlayerCharacter extends AbstractCharacter { return movementState; } - public boolean isHasAnniversery() { - return hasAnniversery; - } - public void setHasAnniversery(boolean hasAnniversery) { DbManager.PlayerCharacterQueries.SET_ANNIVERSERY(this, hasAnniversery); this.hasAnniversery = hasAnniversery; } - public int getSpamCount() { - return spamCount; - } - - public void setSpamCount(int spamCount) { - this.spamCount = spamCount; - } - public String getHash() { return hash; } @@ -5499,10 +5327,6 @@ public class PlayerCharacter extends AbstractCharacter { this.lastRealmID = lastRealmID; } - public int getSubRaceID() { - return subRaceID; - } - public void setSubRaceID(int subRaceID) { this.subRaceID = subRaceID; } @@ -5515,29 +5339,6 @@ public class PlayerCharacter extends AbstractCharacter { this.guildHistory = guildHistory; } - public void moveTo(Vector3fImmutable endLoc) { - this.setInBuilding(-1); - this.setInFloorID(-1); - MoveToPointMsg moveToMsg = new MoveToPointMsg(); - moveToMsg.setStartCoord(this.getLoc()); - moveToMsg.setEndCoord(endLoc); - moveToMsg.setInBuilding(-1); - moveToMsg.setUnknown01(-1); - moveToMsg.setSourceType(GameObjectType.PlayerCharacter.ordinal()); - moveToMsg.setSourceID(this.getObjectUUID()); - - Dispatch dispatch = Dispatch.borrow(this, moveToMsg); - DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY); - - try { - MovementManager.movement(moveToMsg, this); - } catch (MsgSendException e) { - // TODO Auto-generated catch block - Logger.error("Player.MoveTo", this.getName() + " tripped error " + e.getMessage()); - } - - } - public void updateScaleHeight() { float strengthScale = 0; @@ -5574,10 +5375,6 @@ public class PlayerCharacter extends AbstractCharacter { this.overFlowEXP = overFlowEXP; } - public MovementState getLastMovementState() { - return lastMovementState; - } - public void setLastMovementState(MovementState lastMovementState) { this.lastMovementState = lastMovementState; } @@ -5609,14 +5406,6 @@ public class PlayerCharacter extends AbstractCharacter { return characterHeight; } - public void setCharacterHeight(float characterHeight) { - this.characterHeight = characterHeight; - } - - public void setCenterHeight(float centerHeight) { - this.centerHeight = centerHeight; - } - public boolean isEnteredWorld() { return enteredWorld; } @@ -5625,26 +5414,10 @@ public class PlayerCharacter extends AbstractCharacter { this.enteredWorld = enteredWorld; } - public long getChannelMute() { - return channelMute; - } - - public void setChannelMute(long channelMute) { - this.channelMute = channelMute; - } - public boolean isLastSwimming() { return lastSwimming; } - public boolean isTeleporting() { - return isTeleporting; - } - - public void setTeleporting(boolean isTeleporting) { - this.isTeleporting = isTeleporting; - } - @Override public final void teleport(final Vector3fImmutable targetLoc) { @@ -5694,176 +5467,6 @@ public class PlayerCharacter extends AbstractCharacter { dirtyLock.writeLock().unlock(); } - public static float getRegenRate(PlayerCharacter player, ModType type){ - float regenRate = player.getRegenModifier(type); - - player.updateMovementState(); - switch (player.movementState) { - case IDLE: - if(player.walkMode){ - switch(type){ - case HealthRecoverRate: - regenRate = MBServerStatics.HEALTH_REGEN_WALK * regenRate; - break; - case ManaRecoverRate: - regenRate = MBServerStatics.MANA_REGEN_WALK * regenRate; - break; - case StaminaRecoverRate: - regenRate = MBServerStatics.STAMINA_REGEN_WALK * regenRate; - break; - } - }else{ - switch(type){ - case HealthRecoverRate: - regenRate = MBServerStatics.HEALTH_REGEN_IDLE * regenRate; - break; - case ManaRecoverRate: - regenRate = MBServerStatics.MANA_REGEN_IDLE * regenRate; - break; - case StaminaRecoverRate: - regenRate = MBServerStatics.STAMINA_REGEN_IDLE * regenRate; - break; - } - } - break; - case RUNNING: - if(type.equals(ModType.StaminaRecoverRate)){ - if(player.walkMode){ - regenRate = 0f; - }else{ - if(player.combat){ - regenRate = MBServerStatics.STAMINA_REGEN_RUN_COMBAT * regenRate; - }else{ - regenRate = MBServerStatics.STAMINA_REGEN_RUN_NONCOMBAT * regenRate; - } - } - }else{ - regenRate = 0f; - } - break; - case SWIMMING: - switch(type){ - case HealthRecoverRate: - regenRate = MBServerStatics.HEALTH_REGEN_IDLE_STATIC * regenRate; - break; - case ManaRecoverRate: - regenRate = MBServerStatics.MANA_REGEN_IDLE * regenRate; - break; - case StaminaRecoverRate: - regenRate = MBServerStatics.STAMINA_REGEN_SWIM; - break; - } - break; - case SITTING: - switch(type){ - case HealthRecoverRate: - regenRate = MBServerStatics.HEALTH_REGEN_SIT * regenRate; - break; - case ManaRecoverRate: - regenRate = MBServerStatics.MANA_REGEN_SIT * regenRate; - break; - case StaminaRecoverRate: - regenRate = MBServerStatics.STAMINA_REGEN_SIT * regenRate; - break; - } - break; - case FLYING: - switch(type){ - case HealthRecoverRate: - regenRate = MBServerStatics.HEALTH_REGEN_SIT * regenRate; - break; - case ManaRecoverRate: - regenRate = MBServerStatics.MANA_REGEN_IDLE * regenRate; - break; - case StaminaRecoverRate: - regenRate = MBServerStatics.STAMINA_REGEN_FLY_IDLE * regenRate; - break; - } - break; - } - - return regenRate; - } - - public void regenerate(){ - - if ((!this.isAlive()) || (!this.isActive()) || this.getLoc().x == 0 && this.getLoc().z == 0) - return; - - float healthPerSecond = this.healthMax * 0.01f; // 1% of health - float manaPerSecond = this.manaMax * 0.01f; // 1% of health - float staminaPerSecond = this.staminaMax * 0.01f; // 1% of health - - float healthRegenrated = 0f; - float manaRegenrated = 0f; - float staminaRegenrated = 0f; - - long currentTime = System.currentTimeMillis(); - - if (this.updateLock.writeLock().tryLock()) { - try { - Long regenTime; - if(this.timestamps.containsKey("LastRegen")) - regenTime = this.timestamps.get("LastRegen"); - else - regenTime = currentTime; - float secondsPassed = (currentTime - regenTime) / 1000f; - - healthRegenrated = healthPerSecond * secondsPassed * getRegenRate(this, ModType.HealthRecoverRate); - manaRegenrated = manaPerSecond * secondsPassed * getRegenRate(this, ModType.ManaRecoverRate); - staminaRegenrated = staminaPerSecond * secondsPassed * getRegenRate(this, ModType.StaminaRecoverRate); - - boolean workedHealth = false; - boolean workedMana = false; - boolean workedStamina = false; - - float old, mod; - while (!workedHealth || !workedMana || !workedStamina) { - if (!this.isAlive() || !this.isActive()) - return; - if (!workedHealth) { - old = this.health.get(); - mod = old + healthRegenrated; - if (mod > this.healthMax) - mod = healthMax; - else if (mod <= 0) { - if (this.isAlive.compareAndSet(true, false)) - killCharacter("Water"); - return; - } - workedHealth = this.health.compareAndSet(old, mod); - } - if (!workedStamina) { - old = this.stamina.get(); - mod = old + staminaRegenrated; - if (mod > this.staminaMax) - mod = staminaMax; - else if (mod < 0) - mod = 0; - workedStamina = this.stamina.compareAndSet(old, mod); - } - if (!workedMana) { - old = this.mana.get(); - mod = old + manaRegenrated; - if (mod > this.manaMax) - mod = manaMax; - else if (mod < 0) - mod = 0; - workedMana = this.mana.compareAndSet(old, mod); - } - } - if (this.stamina.get() < this.staminaMax * 0.1f && this.isFlying()) - this.syncClient(); - - } catch (Exception e) { - Logger.error(e); - } finally { - this.timestamps.put("LastRegen",currentTime); - this.updateLock.writeLock().unlock(); - } - } - } - public void doRegen(){ if (this.updateLock.writeLock().tryLock()) { try {