사이트 로그인
2019.11.14 22:26
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 | 운영자 투명 소스 | 우시기 | 2020.01.03 | 678 |
996 | 나비켓 db 각 테이블 설명 [5] | 베르니니 | 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 |
감사합니다 ~