사이트 로그인
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 |
1059 | 구버전 구축방법[1.63.버전] [21] | 찰떡01 | 2018.08.10 | 34693 |
1058 | gm 명령어 2탄 [4] | 그러나너는 | 2019.10.24 | 10143 |
1057 | 나비켓 db 각 테이블 설명 [5] | 베르니니 | 2019.12.20 | 3147 |
1056 | 리마스터 접속기 소스자료 [16] | 홍자놀기 | 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 | 전사팩 로봇가능 | 노력하자 | 2023.03.16 | 1075 |
1046 | 신규캐릭생성시 아이템지급관련.. [1] | 박지미 | 2020.03.05 | 1037 |
1045 | 프리서버 오픈소스 리니지 카운터 배리어 본섭화 소스 | 찰떡01 | 2018.09.12 | 1012 |
1044 | 혈맹창 | 준희미니 | 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] | 깡스 | 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] | 001001 | 2023.04.25 | 701 |
1020 | 최신클라 본섭 업데이트 안하고 클라버전 유지 하면서 패치파일 묶는법 [1] | 찰떡01 | 2018.08.10 | 699 |
1019 | 매니저창 구버전 하시는분들한테 좋을거 같아서 올립니다. | 로스트사가 | 2016.05.04 | 680 |
1018 | 이클립스 컴파일 [환경 변수] [1] | 인자기 | 2019.08.16 | 679 |
1017 | 운영자 투명 소스 | 우시기 | 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] | ddddgdfgh42 | 2017.06.20 | 622 |
감사합니다 ~