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
1009 리마스터팩 유저커맨드에 던전초기화 추가 jstory 2020.05.22 361
1008 리마스터팩 기사단의 주화 드랍 [1] jstory 2020.05.22 386
1007 로테이션 엔피씨 생성 소스 [1] 하날따라 2020.05.12 542
1006 신규캐릭생성시 아이템지급관련.. [1] 박지미 2020.03.05 1037
1005 유저 전체 소환 주혁이 2020.02.26 469
1004 보스몹 리스폰 시 멘트 띄우기 [3] 주혁이 2020.02.26 626
1003 운영자 채팅파티 초대금지 [2] 뜨아 2020.01.22 286
1002 변신시 이펙넣기 [1] 뜨아 2020.01.22 964
1001 스핵방어소스 [1] 뜨아 2020.01.22 799
1000 스트라이커게일 실시간소스 프리린2고 2020.01.14 395
999 파워그립시간 본섭화 소스 프리린2고 2020.01.14 223
998 기란던전 야간에 텔 [1] 코더서버 2020.01.14 369
997 운영자 투명 소스 file 우시기 2020.01.03 678
996 나비켓 db 각 테이블 설명 [5] file 베르니니 2019.12.20 3149
995 HP 영구적 올리는 물약 [4] 스크래치 2019.12.13 839
994 특정맵 경험치 추가하기 [2] 스크래치 2019.12.13 574
993 NPC에게 호칭 달아주기 [1] 린지뽕뽕 2019.11.20 535
992 성혈만 사용할수 있는 주문서 소스 만들기 린지뽕뽕 2019.11.16 374
991 아지트 지급하기 명령어 만들기 린지뽕뽕 2019.11.16 299
990 실시간 .리로드 관련입니다. [1] 린지뽕뽕 2019.11.16 710
989 3.80 낚시터 리뉴얼 [3] 스크래치 2019.11.14 536
» 에바팩에 디아 시스템 추가 [1] 스크래치 2019.11.14 490
987 무한대전 조절 [2] 린지뽕뽕 2019.11.05 446
986 npc마법데미지본섭화 [1] 린지뽕뽕 2019.11.05 416
985 유저 전체 소환 린지뽕뽕 2019.11.05 240
984 맥락인데 원거리 공격모션 린지뽕뽕 2019.11.05 165
983 대만팩 고질적인 다중접속막는소스 [2] 쇼부2 2019.11.05 387
982 점프팩 로봇들AI 패치 [3] 쇼부2 2019.11.05 788
981 맞는 데미지 5%흡수 소스 [1] 린지뽕뽕 2019.10.29 426
980 유저에게 영자 권한 린지뽕뽕 2019.10.29 529
979 로봇 변신 본섭 [2] 린지뽕뽕 2019.10.29 611
978 기란던전 야간일때 텔안되게 [1] 린지뽕뽕 2019.10.29 198
977 교환버그 방지 [3] 린지뽕뽕 2019.10.28 345
976 광연 켄슬 하게하기 린지뽕뽕 2019.10.27 239
975 달의 장궁 만들기 NPC 소스 린지뽕뽕 2019.10.27 347
974 깃털상점 재 판매시 깃털로 지급 린지뽕뽕 2019.10.27 157
973 gm 명령어 2탄 [4] 그러나너는 2019.10.24 10152
972 gm 명령어 [2] 그러나너는 2019.10.24 1462
971 1위부터 5위까지 자동 지급 [2] 린지뽕뽕 2019.10.23 444
970 3단 가속 물약 적용 [1] 린지뽕뽕 2019.10.23 556
969 중계기 차단 소스 린지뽕뽕 2019.10.22 210
968 2중 로그인 방지 린지뽕뽕 2019.10.22 133
967 로또 복권 소스 린지뽕뽕 2019.10.22 183
966 오림 은둔형 린지뽕뽕 2019.10.22 71
965 스텟 제한풀기 [1] 린지뽕뽕 2019.10.15 496
964 인형 마법부여~ [1] 린지뽕뽕 2019.10.15 416
963 같은 계정에 있는 케릭 검사 [2] 레이더 2019.09.26 242
962 70렙이하 버프 [1] 레이더 2019.09.26 189
961 현상금 시스템 레이더 2019.09.26 275
960 살생부 시스템 [1] 레이더 2019.09.26 219