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

에바팩에 디아 시스템 추가

2019.11.14 22:26

스크래치 조회 수:319

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 411
1024 2.7 자동 물약 소스 [1] 퍽퍽띠 2022.11.17 66
1023 2.0 자동칼질소스 (클래스 파일에서 빼왔습니다) [3] drumlinek 2022.11.05 83
1022 npc가 인겜에서 채팅으로 말하기 하늘마음 2022.10.06 59
1021 유저 아이피보는 소스 [1] 캐빈N.01 2020.12.15 355
1020 인공지능 [3] 캐빈N.01 2020.12.15 563
1019 아데나가 19억이 되면 자동으로 1억으로 금괴로 바꾸기 [2] 강우리 2020.12.11 483
1018 린올기반 휘장 각반 견갑 장비인식 안되는거 수정함 [1] 신화서버 2020.11.16 183
1017 방어구 인챈트별 피 증가 소스 [4] LGTwins 2020.09.11 424
1016 장신구 옵션 변경 [2] LGTwins 2020.08.30 453
1015 자동물약 [7] legena 2020.07.04 1486
1014 리마스터팩 스냅퍼 개방 레벨설정 본섭화 수정(몽양님 요청) [4] jstory 2020.06.12 540
1013 리마스터팩 룬마력제거 검사 적용안대는 부분 수정 [3] jstory 2020.06.09 212
1012 리마스터팩 쓸모없는 아이템 활용 [3] jstory 2020.06.09 491
1011 리마스터팩 요정 소울 엠피 수정 [2] jstory 2020.06.09 272
1010 리마스터팩 자동공지시간에 버프주기 [3] jstory 2020.06.09 293
1009 리마스터팩 유저커맨드에 던전초기화 추가 jstory 2020.05.22 276
1008 리마스터팩 기사단의 주화 드랍 [1] jstory 2020.05.22 296
1007 로테이션 엔피씨 생성 소스 [1] 하날따라 2020.05.12 411
1006 신규캐릭생성시 아이템지급관련.. 박지미 2020.03.05 753
1005 유저 전체 소환 주혁이 2020.02.26 357
1004 보스몹 리스폰 시 멘트 띄우기 [2] 주혁이 2020.02.26 468
1003 운영자 채팅파티 초대금지 [2] 뜨아 2020.01.22 231
1002 변신시 이펙넣기 [1] 뜨아 2020.01.22 667
1001 스핵방어소스 뜨아 2020.01.22 605
1000 스트라이커게일 실시간소스 프리린2고 2020.01.14 304
999 파워그립시간 본섭화 소스 프리린2고 2020.01.14 178
998 기란던전 야간에 텔 [1] 코더서버 2020.01.14 289
997 운영자 투명 소스 file 우시기 2020.01.03 452
996 나비켓 db 각 테이블 설명 [3] file 베르니니 2019.12.20 2302
995 HP 영구적 올리는 물약 [4] 스크래치 2019.12.13 583
994 특정맵 경험치 추가하기 [1] 스크래치 2019.12.13 430
993 NPC에게 호칭 달아주기 [1] 린지뽕뽕 2019.11.20 414
992 성혈만 사용할수 있는 주문서 소스 만들기 린지뽕뽕 2019.11.16 296
991 아지트 지급하기 명령어 만들기 린지뽕뽕 2019.11.16 222
990 실시간 .리로드 관련입니다. 린지뽕뽕 2019.11.16 497
989 3.80 낚시터 리뉴얼 [3] 스크래치 2019.11.14 360
» 에바팩에 디아 시스템 추가 [1] 스크래치 2019.11.14 319
987 무한대전 조절 [2] 린지뽕뽕 2019.11.05 293
986 npc마법데미지본섭화 [1] 린지뽕뽕 2019.11.05 297
985 유저 전체 소환 린지뽕뽕 2019.11.05 165
984 맥락인데 원거리 공격모션 린지뽕뽕 2019.11.05 113
983 대만팩 고질적인 다중접속막는소스 [2] 쇼부2 2019.11.05 253
982 점프팩 로봇들AI 패치 [2] 쇼부2 2019.11.05 472
981 맞는 데미지 5%흡수 소스 [1] 린지뽕뽕 2019.10.29 270
980 유저에게 영자 권한 린지뽕뽕 2019.10.29 327
979 로봇 변신 본섭 [2] 린지뽕뽕 2019.10.29 377
978 기란던전 야간일때 텔안되게 [1] 린지뽕뽕 2019.10.29 145
977 교환버그 방지 [3] 린지뽕뽕 2019.10.28 254
976 광연 켄슬 하게하기 린지뽕뽕 2019.10.27 161
975 달의 장궁 만들기 NPC 소스 린지뽕뽕 2019.10.27 229