1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2025-12-10 09:22:49 +00:00

Character calculators

Signed-off-by: Rogiel <rogiel@rogiel.com>
This commit is contained in:
2011-05-23 23:49:19 -03:00
parent 1909bb06cc
commit a1b1211616
206 changed files with 4749 additions and 1170 deletions

View File

@@ -138,21 +138,22 @@ public class CharacterInformationBroadcastPacket extends AbstractServerPacket {
// end of t1 new h's
buffer.writeInt(0x00); // pvp flag
buffer.writeInt(0x00); // karma
buffer.writeInt(character.getKarma()); // karma
buffer.writeInt(character.getAttributes().getCastSpeed());
buffer.writeInt(character.getAttributes().getAttackSpeed());
buffer.writeInt(character.getStats().getMagicalAttackSpeed());
buffer.writeInt(character.getStats().getPhysicalAttackSpeed());
buffer.writeInt(0x00); // unk
buffer.writeInt((int) character.getAttributes().getRunSpeed());
buffer.writeInt((int) character.getAttributes().getRunSpeed());
buffer.writeInt((int) character.getAttributes().getRunSpeed());
buffer.writeInt((int) character.getAttributes().getRunSpeed());
buffer.writeInt((int) character.getAttributes().getRunSpeed());
buffer.writeInt((int) character.getAttributes().getRunSpeed());
buffer.writeInt((int) character.getAttributes().getRunSpeed());
buffer.writeInt((int) character.getAttributes().getRunSpeed());
// FIXME half of those are walk speed
buffer.writeInt((int) character.getStats().getRunSpeed());
buffer.writeInt((int) character.getStats().getRunSpeed());
buffer.writeInt((int) character.getStats().getRunSpeed());
buffer.writeInt((int) character.getStats().getRunSpeed());
buffer.writeInt((int) character.getStats().getRunSpeed());
buffer.writeInt((int) character.getStats().getRunSpeed());
buffer.writeInt((int) character.getStats().getRunSpeed());
buffer.writeInt((int) character.getStats().getRunSpeed());
buffer.writeDouble(0x01); // move speed multiplier
buffer.writeDouble(0x01); // attack speed multiplier
@@ -171,7 +172,7 @@ public class CharacterInformationBroadcastPacket extends AbstractServerPacket {
buffer.writeInt(character.getAppearance().getHairColor().option);
buffer.writeInt(character.getAppearance().getFace().option);
BufferUtils.writeString(buffer, "TODO"); // TODO title
BufferUtils.writeString(buffer, character.getTitle());
// dont send those 4 if using cursed weapon
buffer.writeInt(0); // clan id
@@ -182,11 +183,12 @@ public class CharacterInformationBroadcastPacket extends AbstractServerPacket {
buffer.writeByte(0x01); // sitting
buffer.writeByte((character.getMoveType() == CharacterMoveType.RUN ? 0x01
: 0x00));
buffer.writeByte(0x00); // is in combat
buffer.writeByte((character.isAttacking() ? 0x01 : 0x00)); // is in
// combat
buffer.writeByte(0x00); // alike dead
buffer.writeByte(0x00); // invisible = 1 visible =0
buffer.writeByte((character.getAppearance().isVisible() ? 0x00 : 0x01));
// 1-on Strider, 2-on Wyvern,
// 3-on Great Wolf, 0-no mount
@@ -233,7 +235,6 @@ public class CharacterInformationBroadcastPacket extends AbstractServerPacket {
buffer.writeInt(character.getAppearance().getTitleColor().toInteger());
buffer.writeInt(0x00); // cursed weapon id
buffer.writeInt(0x00); // clan reputation
// T1

View File

@@ -46,9 +46,9 @@ import org.jboss.netty.buffer.ChannelBuffer;
import com.l2jserver.game.net.Lineage2Connection;
import com.l2jserver.game.net.packet.AbstractServerPacket;
import com.l2jserver.model.world.Actor.ActorSex;
import com.l2jserver.model.world.Item;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.Actor.ActorSex;
import com.l2jserver.model.world.actor.ActorExperience;
import com.l2jserver.model.world.character.CharacterInventory.InventoryPaperdoll;
import com.l2jserver.util.BufferUtils;
@@ -89,17 +89,17 @@ public class CharacterInformationPacket extends AbstractServerPacket {
buffer.writeInt(character.getLevel());
buffer.writeLong(ActorExperience.LEVEL_1.experience);
buffer.writeInt(character.getAttributes().getStrength());
buffer.writeInt(character.getAttributes().getDexterity());
buffer.writeInt(character.getAttributes().getConcentration());
buffer.writeInt(character.getAttributes().getIntelligence());
buffer.writeInt(character.getAttributes().getWitness());
buffer.writeInt(character.getAttributes().getMentality());
buffer.writeInt(200); // max hp
buffer.writeInt(character.getHP()); // cur hp
buffer.writeInt(200); // max mp
buffer.writeInt((int) 200); // cur mp
buffer.writeInt(0); // sp
buffer.writeInt(character.getStats().getStrength());
buffer.writeInt(character.getStats().getDexterity());
buffer.writeInt(character.getStats().getConcentration());
buffer.writeInt(character.getStats().getIntelligence());
buffer.writeInt(character.getStats().getWitness());
buffer.writeInt(character.getStats().getMentality());
buffer.writeInt(character.getStats().getMaxHP()); // max hp
buffer.writeInt((int) character.getHP()); // cur hp
buffer.writeInt(character.getStats().getMaxMP()); // max mp
buffer.writeInt((int) character.getMP()); // cur mp
buffer.writeInt(character.getSP()); // sp
buffer.writeInt(0); // load
buffer.writeInt(character.getAttributes().getMaxWeigth()); // max load
@@ -189,26 +189,26 @@ public class CharacterInformationPacket extends AbstractServerPacket {
buffer.writeInt(0x00); // (max?) talismans count
buffer.writeInt(0x00); // cloak sratus
buffer.writeInt((int) character.getAttributes().getPhysicalAttack());
buffer.writeInt(character.getAttributes().getAttackSpeed());
buffer.writeInt((int) character.getAttributes().getPhysicalDefense());
buffer.writeInt(character.getStats().getPhysicalAttack());
buffer.writeInt(character.getStats().getPhysicalAttackSpeed());
buffer.writeInt(character.getStats().getPhysicalDefense());
buffer.writeInt(character.getAttributes().getEvasionChance()); // evasion
buffer.writeInt(character.getAttributes().getAccuracy());
buffer.writeInt(character.getAttributes().getCriticalChance());
buffer.writeInt(character.getStats().getEvasionRate()); // evasion
buffer.writeInt(character.getStats().getAccuracy());
buffer.writeInt(character.getStats().getPhysicalCriticalRate());
buffer.writeInt((int) character.getAttributes().getMagicalAttack());
buffer.writeInt(character.getAttributes().getCastSpeed());
buffer.writeInt(character.getAttributes().getAttackSpeed());
buffer.writeInt((int) character.getAttributes().getMagicalDefense());
buffer.writeInt(character.getStats().getMagicalAttack());
buffer.writeInt(character.getStats().getMagicalAttackSpeed());
buffer.writeInt(character.getStats().getPhysicalAttackSpeed());
buffer.writeInt(character.getStats().getMagicalDefense());
buffer.writeInt(0x00); // 0-non-pvp 1-pvp = violett name
buffer.writeInt(0x00); // karma
buffer.writeInt(character.getKarma()); // karma
buffer.writeInt((int) character.getAttributes().getRunSpeed());
buffer.writeInt((int) character.getAttributes().getWalkSpeed());
buffer.writeInt((int) character.getAttributes().getRunSpeed());
buffer.writeInt((int) character.getAttributes().getWalkSpeed());
buffer.writeInt((int) character.getStats().getRunSpeed());
buffer.writeInt((int) character.getStats().getWalkSpeed());
buffer.writeInt((int) character.getStats().getRunSpeed());
buffer.writeInt((int) character.getStats().getWalkSpeed());
buffer.writeInt(0); // unk
buffer.writeInt(0); // unk
buffer.writeInt(0); // fly speed -only if flying
@@ -243,8 +243,7 @@ public class CharacterInformationPacket extends AbstractServerPacket {
buffer.writeInt(character.getAppearance().getFace().option);
buffer.writeInt(0x01); // is gm
String title = "Testing"; // title
BufferUtils.writeString(buffer, title);
BufferUtils.writeString(buffer, character.getTitle());
buffer.writeInt((character.getClanID() != null ? character.getClanID()
.getID() : 0x00)); // clanid
@@ -258,8 +257,8 @@ public class CharacterInformationPacket extends AbstractServerPacket {
buffer.writeByte(0x00); // mount type
buffer.writeByte(0x00); // private store type
buffer.writeByte(0x00); // dwarven craft
buffer.writeInt(0x00); // pk kills
buffer.writeInt(0x00); // pvp kills
buffer.writeInt(character.getPkKills()); // pk kills
buffer.writeInt(character.getPvpKills()); // pvp kills
buffer.writeShort(0x00); // cubics size
// short:cubicsid[cubicssize]
@@ -279,8 +278,8 @@ public class CharacterInformationPacket extends AbstractServerPacket {
buffer.writeInt(character.getCharacterClass().id);
buffer.writeInt(0x00); // special effects? circles around player...
buffer.writeInt(200); // max cp
buffer.writeInt(200); // cur cp
buffer.writeInt(character.getStats().getMaxCP());
buffer.writeInt((int) character.getCP()); // cur cp
buffer.writeByte(0x00); // is mount or is airshilhelp = 0; otherwise
// enchant effect (minimum 127)

View File

@@ -128,16 +128,16 @@ public class CharacterSelectionListPacket extends AbstractServerPacket {
buffer.writeInt(character.getPoint().getY()); // y
buffer.writeInt(character.getPoint().getZ()); // z
buffer.writeDouble(20); // hp cur
buffer.writeDouble(20); // mp cur
buffer.writeDouble(character.getHP()); // hp cur
buffer.writeDouble(character.getMP()); // mp cur
buffer.writeInt(320); // sp
buffer.writeLong(4640); // exp
buffer.writeInt(5); // level
buffer.writeInt(character.getSP()); // sp
buffer.writeLong(character.getExperience()); // exp
buffer.writeInt(character.getLevel()); // level
buffer.writeInt(0x00); // karma
buffer.writeInt(0x00); // pk
buffer.writeInt(0x00); // pvp
buffer.writeInt(character.getKarma()); // karma
buffer.writeInt(character.getPkKills()); // pk
buffer.writeInt(character.getPvpKills()); // pvp
for (int n = 0; n < 7; n++) {
buffer.writeInt(0x00); // unk
@@ -184,8 +184,8 @@ public class CharacterSelectionListPacket extends AbstractServerPacket {
// face
buffer.writeInt(character.getAppearance().getFace().option);
buffer.writeDouble(30); // hp max
buffer.writeDouble(30); // mp max
buffer.writeDouble(character.getStats().getMaxHP()); // hp max
buffer.writeDouble(character.getStats().getMaxMP()); // mp max
buffer.writeInt(0x0); // seconds left before delete
buffer.writeInt(character.getCharacterClass().id); // class

View File

@@ -59,7 +59,7 @@ public class ServerObjectPacket extends AbstractServerPacket {
buffer.writeDouble(template.getAttackSpeedMultiplier());
buffer.writeDouble(template.getCollisionRadius()); // coll radius
buffer.writeDouble(template.getCollisionHeight()); // coll height
buffer.writeInt((template.isAttackable() ? npc.getHP() : 0x00));
buffer.writeInt((int) (template.isAttackable() ? npc.getHP() : 0x00));
buffer.writeInt((int) (template.isAttackable() ? template.getMaxHP()
: 0x00));
buffer.writeInt(0x01); // object type