close_btn
로그인, 회원가입후 더 많은 혜택을 누리세요 로그인 회원가입 닫기

에바팩에 디아 시스템 추가

2019.11.14 22:26

스크래치 조회 수:490

1j.server.server.storage.CharactersItemStorage.java
-------------------------------------------------------------------------
public static CharactersItemStorage create() { //검색후 윗줄에 추가

public abstract void updateItemUhp(L1ItemInstance item)
throws Exception;

public abstract void updateItemUmp(L1ItemInstance item)
throws Exception;

public abstract void updateItemUhpr(L1ItemInstance item)
throws Exception;

public abstract void updateItemUmpr(L1ItemInstance item)
throws Exception;

public abstract void updateItemUmd(L1ItemInstance item)
throws Exception;

public abstract void updateItemUmxd(L1ItemInstance item)
throws Exception;

public abstract void updateItemUdmg(L1ItemInstance item)
throws Exception;

public abstract void updateItemUhit(L1ItemInstance item)
throws Exception;

-------------------------------------------------------------------------

l1j.server.server.model.L1PcInventory.java

-------------------------------------------------------------------------
public static final int COL_REMAINING_TIME = 256; //검색후 윗줄에 추가
public static final int COL_UHIT = 2097152;

public static final int COL_UDMG = 1048576;

public static final int COL_UMXD = 524288;

public static final int COL_UMD = 262144;

public static final int COL_UMPR = 131072;

public static final int COL_UHPR = 65536;

public static final int COL_UMP = 32768;

public static final int COL_UHP = 16384;

//이부분 추가하실때 장식 속성 소스 적용안되신분은 마지막 숫자의 2의배수로 숫자 넣어주시면 됩니다.
-------------------------------------------------------------------------
public void updateItem(L1ItemInstance item, int column) { //검색
if (column >= COL_UHP) { 
_owner.sendPackets(new S_ItemStatus(item));
column -= COL_UHP;
}

if (column >= COL_UMP) { 
_owner.sendPackets(new S_ItemStatus(item));
column -= COL_UMP;
}

if (column >= COL_UHPR) { 
_owner.sendPackets(new S_ItemStatus(item));
column -= COL_UHPR;
}

if (column >= COL_UMPR) { 
_owner.sendPackets(new S_ItemStatus(item));
column -= COL_UMPR;
}

if (column >= COL_UMD) { 

_owner.sendPackets(new S_ItemStatus(item));
column -= COL_UMD;
}

if (column >= COL_UMXD) { 
_owner.sendPackets(new S_ItemStatus(item));
column -= COL_UMXD;
}

if (column >= COL_UDMG) { 
_owner.sendPackets(new S_ItemStatus(item));
column -= COL_UDMG;
}

if (column >= COL_UHIT) { 
_owner.sendPackets(new S_ItemStatus(item));
column -= COL_UHIT;
}
-------------------------------------------------------------------------
public void saveItem(L1ItemInstance item, int column) {
if (column == 0) {
return;
}

try {
CharactersItemStorage storage = CharactersItemStorage.create(); //검색

if (column >= COL_UHP) { 
storage.updateItemUhp(item);
column -= COL_UHP;
}

if (column >= COL_UMP) { 
storage.updateItemUmp(item);
column -= COL_UMP;
}

if (column >= COL_UHPR) { 
storage.updateItemUhpr(item);
column -= COL_UHPR;
}

if (column >= COL_UMPR) { 
storage.updateItemUmpr(item);
column -= COL_UMPR;
}

if (column >= COL_UMD) { 
storage.updateItemUmd(item);
column -= COL_UMD;
}

if (column >= COL_UMXD) { 
storage.updateItemUmxd(item);
column -= COL_UMXD;
}

if (column >= COL_UDMG) { 
storage.updateItemUdmg(item);
column -= COL_UDMG;
}

if (column >= COL_UHIT) { 
storage.updateItemUhit(item);
column -= COL_UHIT;
}

-------------------------------------------------------------------------

l1j.server.server.model.Instance.L1ItemInstance.java

-------------------------------------------------------------------------
private L1PcInstance _pc; //검색
private int _uhp;

private int _ump;

private int _uhpr;

private int _umpr;

private int _umd;

private int _umxd;

private int _udmg;

private int _uhit;
-------------------------------------------------------------------------
public L1ItemInstance() {
_count = 1;
_enchantLevel = 0; //검색

_uhp = 0;
_ump = 0;
_uhpr = 0;
_umpr = 0;
_umd = 0;
_umxd = 0;
_udmg = 0;
_uhit = 0;
-------------------------------------------------------------------------
public void setEnchantLevel(int enchantLevel) {
_enchantLevel = enchantLevel;
} //검색
public int getUhp() {
return _uhp;
}

public void setUhp(int uhp) {
_uhp = uhp;
}

public int getUmp() {
return _ump;
}

public void setUmp(int ump) {
_ump = ump;
}

public int getUhpr() {
return _uhpr;
}

public void setUhpr(int uhpr) {
_uhpr = uhpr;
}

public int getUmpr() {
return _umpr;
}

public void setUmpr(int umpr) {
_umpr = umpr;
}
public int getUmd() {
return _umd;
}

public void setUmd(int umd) {
_umd = umd;
}

public int getUmxd() {
return _umxd;
}

public void setUmxd(int umxd) {
_umxd = umxd;
}

public int getUdmg() {
return _udmg;
}

public void setUdmg(int udmg) {
_udmg = udmg;
}

public int getUhit() {
return _uhit;
}

public void setUhit(int uhit) {
_uhit = uhit;
}
-------------------------------------------------------------------------
public int remainingTime; //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
public int uhp;

public int ump;

public int uhpr;

public int umpr;

public int umd;

public int umxd;

public int udmg;

public int uhit;
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
remainingTime = getRemainingTime(); //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
uhp = getUhp();
ump = getUmp();
uhpr = getUhpr();
umpr = getUmpr();
umd = getUmd();
umxd = getUmxd();
udmg = getUdmg();
uhit = getUhit();
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
public void updateEnchantLevel() {
enchantLevel = getEnchantLevel();
} //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
public void updateUhp() {
uhp = getUhp();
}

public void updateUmp() {
ump = getUmp();
}

public void updateUhpr() {
uhpr = getUhpr();
}

public void updateUmpr() {
umpr = getUmpr();
}

public void updateUmd() {
umd = getUmd();
}

public void updateUmxd() {
umxd = getUmxd();
}

public void updateUdmg() {
udmg = getUdmg();
}

public void updateUhit() {
uhit = getUhit();
}
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
if (getEnchantLevel() != _lastStatus.enchantLevel) {
column += L1PcInventory.COL_ENCHANTLVL;
} //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
if (getUhp() != _lastStatus.uhp) {
column += L1PcInventory.COL_UHP;
}

if (getUmp() != _lastStatus.ump) {
column += L1PcInventory.COL_UMP;
}

if (getUhpr() != _lastStatus.uhpr) {
column += L1PcInventory.COL_UHPR;
}

if (getUmpr() != _lastStatus.umpr) {
column += L1PcInventory.COL_UMPR;
}

if (getUmd() != _lastStatus.umd) {
column += L1PcInventory.COL_UMD;
}

if (getUmxd() != _lastStatus.umxd) {
column += L1PcInventory.COL_UMXD;
}

if (getUdmg() != _lastStatus.udmg) {
column += L1PcInventory.COL_UDMG;
}

if (getUhit() != _lastStatus.uhit) {
column += L1PcInventory.COL_UHIT;
}
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
// ■■■■■■ 디아블로 소스 ■■■■■■
if (getItem().get_addhp() != 0 || getUpacse() != 0 || getUhp() != 0) {
os.writeC(14);
os.writeH(getItem().get_addhp() + (getUpacse() * 2) + getUhp());
}
if (getItem().get_addmp() != 0 || getUpacse() != 0 || getUmp() != 0) {
os.writeC(32);
os.writeC(getItem().get_addmp() + getUpacse() + getUmp());
}
// ■■■■■■ 디아블로 소스 ■■■■■■

// 장식 속성 소스 안하신분은 if (getItem().get_addhp() != 0 검색하세요
-------------------------------------------------------------------------
// ■■■■■■ 디아블로 소스 ■■■■■■
if (getItem().getDmgModifier() != 0 || getUdmg() != 0) {
os.writeC(6);
os.writeC(getItem().getDmgModifier() + getUdmg());
}
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
// ■■■■■■ 디아블로 소스 ■■■■■■
if (getItem().getHitModifier() != 0 || getUhit() != 0) {
os.writeC(5);
os.writeC(getItem().getHitModifier() + getUhit());
}
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
// ■■■■■■ 디아블로 소스 ■■■■■■
if (itemType2 == 1 || getUmd() != 0 || getUmxd() != 0) { // weapon
// 타격치
os.writeC(1);
os.writeC(getItem().getDmgSmall() + getUmd());
os.writeC(getItem().getDmgLarge() + getUmxd());
os.writeC(getItem().getMaterial());
os.writeD(getWeight());
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------

l1j.server.server.storage.mysql.MySqlCharactersItemStorage.java

-------------------------------------------------------------------------
item.setLastUsed(rs.getTimestamp("last_used")); //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
item.setUhp(rs.getInt("uhp"));
item.setUmp(rs.getInt("ump"));
item.setUhpr(rs.getInt("uhpr"));
item.setUmpr(rs.getInt("umpr"));
item.setUmd(rs.getInt("umd"));
item.setUmxd(rs.getInt("umxd"));
item.setUdmg(rs.getInt("udmg"));
item.setUhit(rs.getInt("uhit"));
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
.prepareStatement("INSERT INTO character_items SET id = ?, item_id = ?, char_id = ?, item_name = ?, count = ?, is_equipped = 0, enchantlvl = ?, is_id = ?, durability = ?, charge_count = ?, remaining_time = ?, last_used = ?, upacse = ?, upearth = ?, upwind = ?, upfire = ?, upwater = ?, uhp = ?, ump = ?, uhpr = ?, umpr = ?, umd = ?, umxd = ?, udmg = ?, uhit = ? ");
// 속성소스안한분은 , upacse = ?, upearth = ?, upwind = ?, upfire = ?, upwater = ? <- 없음

-------------------------------------------------------------------------
pstm.setTimestamp(11, item.getLastUsed()); //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
pstm.setInt(17, item.getUhp());
pstm.setInt(18, item.getUmp());
pstm.setInt(19, item.getUhpr());
pstm.setInt(20, item.getUmpr());
pstm.setInt(21, item.getUmd());
pstm.setInt(22, item.getUmxd());
pstm.setInt(23, item.getUdmg());
pstm.setInt(24, item.getUhit());
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
@Override
public void updateItemDelayEffect(L1ItemInstance item) throws Exception {
executeUpdate(item.getId(),
"UPDATE character_items SET last_used = ? WHERE id = ?", item
.getLastUsed());
item.getLastStatus().updateLastUsed();
} //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
@Override
public void updateItemUhp(L1ItemInstance item) throws Exception {
executeUpdate(item.getId(),
"UPDATE character_items SET uhp = ? WHERE id = ?", item
.getUhp());
item.getLastStatus().updateUhp();
}

@Override
public void updateItemUmp(L1ItemInstance item) throws Exception {
executeUpdate(item.getId(),
"UPDATE character_items SET ump = ? WHERE id = ?", item
.getUmp());
item.getLastStatus().updateUmp();
}

@Override
public void updateItemUhpr(L1ItemInstance item) throws Exception {
executeUpdate(item.getId(),
"UPDATE character_items SET uhpr = ? WHERE id = ?", item
.getUhpr());
item.getLastStatus().updateUhpr();
}

@Override
public void updateItemUmpr(L1ItemInstance item) throws Exception {
executeUpdate(item.getId(),
"UPDATE character_items SET umpr = ? WHERE id = ?", item
.getUmpr());
item.getLastStatus().updateUmpr();
}

@Override
public void updateItemUmd(L1ItemInstance item) throws Exception {
executeUpdate(item.getId(),
"UPDATE character_items SET umd = ? WHERE id = ?", item
.getUmd());
item.getLastStatus().updateUmd();
}

@Override
public void updateItemUmxd(L1ItemInstance item) throws Exception {
executeUpdate(item.getId(),
"UPDATE character_items SET umxd = ? WHERE id = ?", item
.getUmxd());
item.getLastStatus().updateUmxd();
}

@Override
public void updateItemUdmg(L1ItemInstance item) throws Exception {
executeUpdate(item.getId(),
"UPDATE character_items SET udmg = ? WHERE id = ?", item
.getUdmg());
item.getLastStatus().updateUdmg();
}

@Override
public void updateItemUhit(L1ItemInstance item) throws Exception {
executeUpdate(item.getId(),
"UPDATE character_items SET uhit = ? WHERE id = ?", item
.getUhit());
item.getLastStatus().updateUhit();
}
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------

l1j.server.server.model.L1Inventory.java

-------------------------------------------------------------------------
carryItem.setLastUsed(item.getLastUsed()); //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
carryItem.setUhp(item.getUhp());
carryItem.setUmp(item.getUmp());
carryItem.setUhpr(item.getUhpr());
carryItem.setUmpr(item.getUmpr());
carryItem.setUmd(item.getUmd());
carryItem.setUmxd(item.getUmxd());
carryItem.setUdmg(item.getUdmg());
carryItem.setUhit(item.getUhit());
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------

l1j.server.server.model.L1DwarfForClanInventory.java

-----------------------------------------------------------------------------
item.setLastUsed(rs.getTimestamp("last_used")); //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
item.setUhp(rs.getInt("uhp"));
item.setUmp(rs.getInt("ump"));
item.setUhpr(rs.getInt("uhpr"));
item.setUmpr(rs.getInt("umpr"));
item.setUmd(rs.getInt("umd"));
item.setUmxd(rs.getInt("umxd"));
item.setUdmg(rs.getInt("udmg"));
item.setUhit(rs.getInt("uhit"));
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
.prepareStatement("INSERT INTO clan_warehouse SET id = ?, clan_name = ?, item_id = ?, item_name = ?, count = ?, is_equipped=0, enchantlvl = ?, is_id= ?, durability = ?, charge_count = ?, remaining_time = ?, last_used = ?, upacse = ?, upearth = ?, upwind = ?, upfire = ?, upwater = ?, uhp = ?, ump = ?, uhpr = ?, umpr = ?, umd = ?, umxd = ?, udmg = ?, uhit = ? ");
-------------------------------------------------------------------------
pstm.setTimestamp(11, item.getLastUsed()); //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
pstm.setInt(17, item.getUhp());
pstm.setInt(18, item.getUmp());
pstm.setInt(19, item.getUhpr());
pstm.setInt(20, item.getUmpr());
pstm.setInt(21, item.getUmd());
pstm.setInt(22, item.getUmxd());
pstm.setInt(23, item.getUdmg());
pstm.setInt(24, item.getUhit());
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------

l1j.server.server.model.L1DwarfForElfInventory.java

------------------------------------------------------------------------------
item.setLastUsed(rs.getTimestamp("last_used")); //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
item.setUhp(rs.getInt("uhp"));
item.setUmp(rs.getInt("ump"));
item.setUhpr(rs.getInt("uhpr"));
item.setUmpr(rs.getInt("umpr"));
item.setUmd(rs.getInt("umd"));
item.setUmxd(rs.getInt("umxd"));
item.setUdmg(rs.getInt("udmg"));
item.setUhit(rs.getInt("uhit"));
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
.prepareStatement("INSERT INTO character_elf_warehouse SET id = ?, account_name = ?, item_id = ?, item_name = ?, count = ?, is_equipped=0, enchantlvl = ?, is_id = ?, durability = ?, charge_count = ?, remaining_time = ?, last_used = ?, upacse = ?,upearth = ?, upwind = ?, upfire = ?, upwater = ?, uhp = ?, ump = ?, uhpr = ?, umpr = ?, umd = ?, umxd = ?, udmg = ?, uhit = ? ");
-------------------------------------------------------------------------
pstm.setTimestamp(11, item.getLastUsed()); //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
pstm.setInt(17, item.getUhp());
pstm.setInt(18, item.getUmp());
pstm.setInt(19, item.getUhpr());
pstm.setInt(20, item.getUmpr());
pstm.setInt(21, item.getUmd());
pstm.setInt(22, item.getUmxd());
pstm.setInt(23, item.getUdmg());
pstm.setInt(24, item.getUhit());
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------

l1j.server.server.model.L1DwarfInventory.java

--------------------------------------------------------------------------------
item.setLastUsed(rs.getTimestamp("last_used")); //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
item.setUhp(rs.getInt("uhp"));
item.setUmp(rs.getInt("ump"));
item.setUhpr(rs.getInt("uhpr"));
item.setUmpr(rs.getInt("umpr"));
item.setUmd(rs.getInt("umd"));
item.setUmxd(rs.getInt("umxd"));
item.setUdmg(rs.getInt("udmg"));
item.setUhit(rs.getInt("uhit"));
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
.prepareStatement("INSERT INTO character_warehouse SET id = ?, account_name = ?, item_id = ?, item_name = ?, count = ?, is_equipped=0, enchantlvl = ?, is_id = ?, durability = ?, charge_count = ?, remaining_time = ?, last_used = ?, upacse = ?, upearth = ?, upwind = ?, upfire = ?, upwater = ?, uhp = ?, ump = ?, uhpr = ?, umpr = ?, umd = ?, umxd = ?, udmg = ?, uhit = ? ");
-------------------------------------------------------------------------
pstm.setTimestamp(11, item.getLastUsed()); //검색
// ■■■■■■ 디아블로 소스 ■■■■■■
pstm.setInt(17, item.getUhp());
pstm.setInt(18, item.getUmp());
pstm.setInt(19, item.getUhpr());
pstm.setInt(20, item.getUmpr());
pstm.setInt(21, item.getUmd());
pstm.setInt(22, item.getUmxd());
pstm.setInt(23, item.getUdmg());
pstm.setInt(24, item.getUhit());
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------

l1j.server.server.model.L1Attack.java

-------------------------------------------------------------------------
// ■■■■■■ 디아블로 소스 ■■■■■■
weapon = _pc.getWeapon();
if (weapon != null) {
_weaponId = weapon.getItem().getItemId();
_weaponType = weapon.getItem().getType1();
_weaponAddHit = weapon.getItem().getHitModifier()
+ weapon.getHitByMagic() + (weapon.getUhit());
_weaponAddDmg = weapon.getItem().getDmgModifier() + (weapon.getUdmg());
_weaponSmall = weapon.getItem().getDmgSmall() + (weapon.getUmd());
_weaponLarge = weapon.getItem().getDmgLarge() + (weapon.getUmxd());
_weaponBless = weapon.getItem().getBless();
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------

l1j.server.server.model.L1PcInventory.java

-------------------------------------------------------------------------
// ■■■■■■ 디아블로 소스 ■■■■■■
public int hpRegenPerTick() {
int hpr = 0;
for (Object itemObject : _items) {
L1ItemInstance item = (L1ItemInstance) itemObject;
if (item.isEquipped()) {
hpr += item.getItem().get_addhpr() + item.getUhpr();
}
}
return hpr;
}
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
// ■■■■■■ 디아블로 소스 ■■■■■■
public int mpRegenPerTick() {
int mpr = 0;
for (Object itemObject : _items) {
L1ItemInstance item = (L1ItemInstance) itemObject;
if (item.isEquipped()) {
mpr += item.getItem().get_addmpr() + item.getUmpr();
}
}
return mpr;
}
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------

l1j.server.server.clientpackets.C_ItemUSe.java

---------------------------------------------------------------------------
} else if (itemId == 40126 || itemId == 40098) { // 확인 스크롤
if (!l1iteminstance1.isIdentified()) {
l1iteminstance1.setIdentified(true);
pc.getInventory().updateItem(l1iteminstance1,
L1PcInventory.COL_IS_ID); //검색후 아래에 추가
// ■■■■■■ 디아블로 소스 ■■■■■■ 랜덤옵션부여부분
pc.sendPackets(new S_ItemName(l1iteminstance1));
Random random = new Random();
int c1 = random.nextInt(25) + 5; //hp <- hp옵션부여 5-29범위
int c2 = random.nextInt(25) + 5; //mp <- mp옵션부여 5-29범위
int c3 = random.nextInt(5) + 1; //hpr <- hpr옵션부여 1-5범위
int c4 = random.nextInt(5) + 1; //mpr <- mpr옵션부여 1-5범위
int c5 = random.nextInt(5) + 1; //md <- 작은몹뎀추가 1-5범위
int c6 = random.nextInt(5) + 1; //mxd <- 큰몹뎀추가 1-5범위
int c7 = random.nextInt(5) + 1; // dmg<- 추공 1-5범위
int c8 = random.nextInt(5) + 1; //hit <- 공성 1-5범위
for (int j = 0; j < random.nextInt(5) + 1; j++) //최소1에서 최대5 가지의 옵션이 부여됨
switch (random.nextInt(8) + 1 ) { //case 범위 1-8까지중에 램덤으로 한가지 선택(중복가능)
case 1: // hp

int z1 = random.nextInt(10) + 1; //50%확율로 -값부여 6을 낮추면 확율이 낮아집니다. 
if (z1 < 6) { 
c1 = -c1;
}

int newuhp = l1iteminstance1.getUhp() + c1;
l1iteminstance1.setUhp(newuhp);
client.getActiveChar().getInventory().updateItem(l1iteminstance1,L1PcInventory.COL_UHP);
break;
case 2: //mp

int z2 = random.nextInt(10) + 1;

if (z2 < 6) { 
c2 = -c2;
}

int newump = l1iteminstance1.getUmp() + c2; 
l1iteminstance1.setUmp(newump);
client.getActiveChar().getInventory().updateItem(l1iteminstance1,L1PcInventory.COL_UMP);
break;
case 3: //hpr

int z3 = random.nextInt(10) + 1;

if (z3 < 6) { 
c3 = -c3;
}

int newuhpr = l1iteminstance1.getUhpr() + c3; 
l1iteminstance1.setUhpr(newuhpr);
client.getActiveChar().getInventory().updateItem(l1iteminstance1,L1PcInventory.COL_UHPR);
break;
case 4: //mpr

int z4 = random.nextInt(10) + 1;

if (z4 < 6) { 
c4 = -c4;
}

int newumpr = l1iteminstance1.getUmpr() + c4; 
l1iteminstance1.setUmpr(newumpr);
client.getActiveChar().getInventory().updateItem(l1iteminstance1,L1PcInventory.COL_UMPR);
break;
case 5: //min dmg

int z5 = random.nextInt(10) + 1;

if (z5 < 6) { 
c5 = -c5;
}

int newumd = l1iteminstance1.getUmd() + c5; 
l1iteminstance1.setUmd(newumd);
client.getActiveChar().getInventory().updateItem(l1iteminstance1,L1PcInventory.COL_UMD);
break;
case 6: //max dmg

int z6 = random.nextInt(10) + 1;

if (z6 < 6) { 
c6 = -c6;
}

int newumxd = l1iteminstance1.getUmxd() + c6; 
l1iteminstance1.setUmxd(newumxd);
client.getActiveChar().getInventory().updateItem(l1iteminstance1,L1PcInventory.COL_UMXD);
break;
case 7: //max dmg

int z7 = random.nextInt(10) + 1;

if (z7 < 6) { 
c7 = -c7;
}

int newudmg = l1iteminstance1.getUdmg() + c7; 
l1iteminstance1.setUdmg(newudmg);
client.getActiveChar().getInventory().updateItem(l1iteminstance1,L1PcInventory.COL_UDMG);
break;
case 8: //max dmg

int z8 = random.nextInt(10) + 1;

if (z8 < 6) { 
c8 = -c8;
}

int newuhit = l1iteminstance1.getUhit() + c8; 
l1iteminstance1.setUhit(newuhit);
client.getActiveChar().getInventory().updateItem(l1iteminstance1,L1PcInventory.COL_UHIT);
break;
}

// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------

l1j.server.server.model.L1EquipmentSlot.java

-----------------------------------------------------------------------------
_owner.addMaxHp(-(item.get_addhp() + (equipment.getUpacse() * 2) + equipment.getUhp()));
_owner.addMaxMp(-(item.get_addmp() + equipment.getUpacse() + equipment.getUmp()));
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------
// ■■■■■■ 디아블로 소스 ■■■■■■
_owner.addMaxHp(item.get_addhp() + (equipment.getUpacse() * 2) + equipment.getUhp());
_owner.addMaxMp(item.get_addmp() + equipment.getUpacse() + equipment.getUmp());
// ■■■■■■ 디아블로 소스 ■■■■■■
-------------------------------------------------------------------------

테이블 설계

character_elf_warehouse , character_items , character_warehouse , clan_warehouse 

위 4개의 테이블에 필드 추가 

필드명 : uhp , 타입 : int , 길이 : 11 , 십진법 : 0 , 제로허용 : ■

필드명 : ump , 타입 : int , 길이 : 11 , 십진법 : 0 , 제로허용 : ■

필드명 : uhpr , 타입 : int , 길이 : 11 , 십진법 : 0 , 제로허용 : ■

필드명 : umpr , 타입 : int , 길이 : 11 , 십진법 : 0 , 제로허용 : ■

필드명 : umd , 타입 : int , 길이 : 11 , 십진법 : 0 , 제로허용 : ■ 

필드명 : umxd , 타입 : int , 길이 : 11 , 십진법 : 0 , 제로허용 : ■

필드명 : udmg , 타입 : int , 길이 : 11 , 십진법 : 0 , 제로허용 : ■

필드명 : uhit , 타입 : int , 길이 : 11 , 십진법 : 0 , 제로허용 : ■

-------------------------------------------------------------------------------

 

 

번호 제목 글쓴이 날짜 조회 수
공지 소스자료는 직접 올려주세요 게임존 2017.06.06 549
1059 구버전 구축방법[1.63.버전] [21] 찰떡01 2018.08.10 34693
1058 gm 명령어 2탄 [4] 그러나너는 2019.10.24 10143
1057 나비켓 db 각 테이블 설명 [5] file 베르니니 2019.12.20 3147
1056 리마스터 접속기 소스자료 [16] file 홍자놀기 2023.09.07 2136
1055 자동물약 [11] legena 2020.07.04 2036
1054 린1 자동사냥 소스 [3] 넷시아 2019.06.12 1731
1053 gm 명령어 [2] 그러나너는 2019.10.24 1462
1052 리니지 스타트 초보관련 및 게임상 운영자 권한 과 그외 받아야할 파일들 [2] 찰떡01 2018.08.10 1384
1051 상점템 축 저주표시 찰떡01 2018.08.13 1321
1050 2.7 자동 물약 소스 [3] 퍽퍽띠 2022.11.17 1162
1049 인공지능 [4] 캐빈N.01 2020.12.15 1092
1048 구버젼3.63서버 통정리 [6] 사냥전투충 2019.06.15 1090
1047 전사팩 로봇가능 file 노력하자 2023.03.16 1075
1046 신규캐릭생성시 아이템지급관련.. [1] 박지미 2020.03.05 1037
1045 프리서버 오픈소스 리니지 카운터 배리어 본섭화 소스 찰떡01 2018.09.12 1012
1044 혈맹창 file 준희미니 2016.07.07 1011
1043 소스 파일별 간단한 역할 인게임 2017.01.06 966
1042 아데나가 19억이 되면 자동으로 1억으로 금괴로 바꾸기 [5] 강우리 2020.12.11 965
1041 변신시 이펙넣기 [1] 뜨아 2020.01.22 963
1040 인벤토리 이미지 정리 1~9528 [7] file 깡스 2019.03.26 960
1039 저처럼 생초자분들을 위한... 찰떡01 2018.08.10 902
1038 2.0 자동칼질소스 (클래스 파일에서 빼왔습니다) [3] drumlinek 2022.11.05 875
1037 리니지 서버 구축을 하기 위한 준비물 [2] 인자기 2019.08.16 861
1036 HP 영구적 올리는 물약 [4] 스크래치 2019.12.13 839
1035 나비켓 질의문 활용 인게임 2017.01.06 838
1034 구버젼 6.38 10년전 리니지 통 저렴정리중 사냥전투충 2019.07.04 837
1033 스핵방어소스 [1] 뜨아 2020.01.22 799
1032 점프팩 로봇들AI 패치 [3] 쇼부2 2019.11.05 788
1031 패킷 변조 / 중계기 방지 소스 찰떡01 2018.10.29 779
1030 메티스 설정 찰떡01 2018.08.09 758
1029 리마스터팩 스냅퍼 개방 레벨설정 본섭화 수정(몽양님 요청) [4] jstory 2020.06.12 753
1028 [160216] 서버버전/키패킷/seed (린올,감자) (린존에서퍼옴) [1] 천사 2016.02.28 742
1027 [에바] 나비켓 테이블 관련 설명 [1] 준희미니 2016.07.29 739
1026 프리서버 오픈소스 리니지 맵 낑김 방지 소스 아옳옳 2018.03.17 738
1025 리니지 운영자 상점 추가 찰떡01 2018.09.14 736
1024 장신구 옵션 변경 [2] LGTwins 2020.08.30 725
1023 실시간 .리로드 관련입니다. [1] 린지뽕뽕 2019.11.16 710
1022 리마스터팩 쓸모없는 아이템 활용 [3] jstory 2020.06.09 706
1021 리니지 리마스터 몹 스폰수 어디서 줄일 수 있나요? [4] file 001001 2023.04.25 701
1020 최신클라 본섭 업데이트 안하고 클라버전 유지 하면서 패치파일 묶는법 [1] 찰떡01 2018.08.10 699
1019 매니저창 구버전 하시는분들한테 좋을거 같아서 올립니다. file 로스트사가 2016.05.04 680
1018 이클립스 컴파일 [환경 변수] [1] 인자기 2019.08.16 679
1017 운영자 투명 소스 file 우시기 2020.01.03 678
1016 방어구 인챈트별 피 증가 소스 [5] LGTwins 2020.09.11 675
1015 프리서버 오픈소스 리니지 피가 영구적으로 증가되는 물약 만들기 찰떡01 2018.08.17 660
1014 [펌] 로봇팩 보완 안약 2016.11.13 635
1013 유저 아이피보는 소스 [1] 캐빈N.01 2020.12.15 628
1012 입맛대로 인형 수정해보는 소스 [1] 장췐 2019.02.11 627
1011 보스몹 리스폰 시 멘트 띄우기 [3] 주혁이 2020.02.26 626
1010 초보팩추가하기 [1] file ddddgdfgh42 2017.06.20 622