[UI6] 레벨업 버프 효과
빨간색 = 추가
녹색 = 검색
검은색 =자바
l1skillid.java
/** 레벨버프 **/
public static final int LVL_BUFF = 9280; //추가
/** **/
l1skilltimer.java
/** 레벨버프 **/
case LVL_BUFF: //추가
if (cha instanceof L1PcInstance) {
L1PcInstance pc = (L1PcInstance) cha;
pc.sendPackets(new S_PacketBox(S_PacketBox.UNLIMITED_ICON, 5230, false));
pc.sendPackets(new S_SystemMessage("레벨버프가 사라졌습니다."));
}
break;
/** **/
l1pcinstance.java
private void levelUp(int gap) { //검색 밑에
/** 레벨버프 **/
levelBuff();
/** **/
CheckStatus(); //검색 위에
sendPackets(new S_OwnCharStatus(this));
/** 레벨버프 **/
private void levelBuff() {
if (getLevel() >= 52){
getSkillEffectTimerSet().setSkillEffect(L1SkillId.LVL_BUFF, 300 * 1000); //5분 입니다
sendPackets(new S_PacketBox(S_PacketBox.UNLIMITED_ICON, 5230, true));
sendPackets(new S_SystemMessage("레벨업 보너스 EXP +123%."));
}
}
/** **/
private void levelDown(int gap) { //검색
/** 레벨버프 **/if (getSkillEffectTimerSet().hasSkillEffect(L1SkillId.LVL_BUFF)) { //버프중이면
getSkillEffectTimerSet().removeSkillEffect(L1SkillId.LVL_BUFF);
getSkillEffectTimerSet().killSkillEffectTimer(L1SkillId.LVL_BUFF); //버프삭제
}
/** **/
sendPackets(new S_OwnCharStatus(this)); //검색 위에다가
charbufftable.java
/** 레벨버프 **/
LVL_BUFF,/** **/
c_selectcharacter.java
/** 레벨버프 **/
case LVL_BUFF:
pc.getSkillEffectTimerSet().setSkillEffect(LVL_BUFF,
remaining_time * 1000);
pc.sendPackets(new S_PacketBox(S_PacketBox.UNLIMITED_ICON, 5230, true));
break;
default:
/** **/
new L1SkillUse().handleCommands( // <<<검색 위에 추가
calcexp.java
private static void AddExp(L1PcInstance pc, int exp, int lawful) { //검색 밑에쭉
double gereng = 1;//게렝
/** 레벨버프 **/
double lvlbuff = 1;
/** **/
if (pc.getSkillEffectTimerSet().hasSkillEffect(L1SkillId.EXP_POTION3)) {
gereng = 1.3;
} // 요기 부근에다가
/** 레벨버프 **/
if (pc.getSkillEffectTimerSet().hasSkillEffect(L1SkillId.LVL_BUFF)) {
lvlbuff = 1.22;
//System.out.println("레벨버프효과 :" + lvlbuff);
}
/** **/
int add_exp = (int) (exp * settingEXP * foodBonus * expposion * levelBonus * lvlbuff /*추가*/
int add_inforEXP = (int) (exp * settingEXP * foodBonus * expposion * levelBonus * lvlbuff /*추가*/
pc.sendUhodo();// 우호도표기 //검색 없으면 맨밑에 괄호 바로위에 추가
/** 레벨버프 **/
if (pc.getLevel() >= 51){
int expcheck1 = ExpTable.getExpByLevel(pc.getLevel());
int expcheck2 = ExpTable.getExpByLevel(pc.getLevel() +1);
long expNeeded = (((expcheck2 - expcheck1) / 100) * 5) + expcheck1; // 5프로 입니다 올리고 싶으시면 5을 올리면 돼겠죠?
if (pc.getExp() >= expNeeded) {
if (pc.getSkillEffectTimerSet().hasSkillEffect(L1SkillId.LVL_BUFF)) { //버프중이면
pc.getSkillEffectTimerSet().removeSkillEffect(L1SkillId.LVL_BUFF); //버프삭제
pc.getSkillEffectTimerSet().killSkillEffectTimer(L1SkillId.LVL_BUFF); //타이머 리셋
}
}
}
}
도움주신 분들 감사합니다.
렙업시 버프 ,렙다시 버프삭제 ,경험치 5프로 획득시 삭제 ,리스후 저장 이상없이 잘돼는거 확인하였습니다.
[출처] [UI6] 레벨업 버프 효과 (비공개 카페)

준희미니 님의 최근 댓글
rt 2021 05.25 ㄳ 2021 05.11 ㄳ 2021 05.11 rt 2021 05.09 rt 2021 04.25