게시판 제목 잘보고 올리세요 일반게시판에 홍보글 보이면 바로 회원 차단입니다

1.63 빛나팩 광도에 무한 용기 적용

컨텐츠 정보

본문

일단 저는 플밍 문외한이구요.
이동용 광전사의 도끼 착용시 무한용기까지 적용하고 싶어서
잼민아이, 클로드 4.6??무료버전 갈궈서 내뱉어준 코드인데
정상 작동할지 몰라서요..

기존 기능: db item_setoption 테이블 광도에 용기 효과 적용시, 용기 물약 막은것처럼 딱 한번만 적용 되고 두번다시 용기효과가 발동하지 않음.
원하는 기능: 광전사의 도끼 착용시 무한 용기까지 적용.

ItemInstance.java 파일 514줄 516줄
public void setEquipped(boolean equipped) {
this.equipped = equipped;
}
요 사이에  이 아래 코드 적용하고 컴파일 하면 된다고 하는데 정상작동여부나 지적사항 있으면 알려주시면 감사..

public void setEquipped(boolean equipped) {
    this.equipped = equipped;

    // 1. 아이템 정보와 착용 캐릭터(this.cha)가 존재하는지 확인
    if (getItem() != null && this.cha != null) {
        // 세트 옵션 정보 조회
        lineage.bean.database.ItemSetoption setoption = lineage.database.ItemSetoptionDatabase.find(getItem().getSetId());

        if (setoption != null) {
            if (this.equipped) {
                // [장착 시]
                // 1. 헤이스트 처리 (43번)
                if (setoption.isHaste()) {
                    lineage.bean.database.Skill s = lineage.database.SkillDatabase.find(43);
                    if (s != null) {
                        BuffController.append(this.cha, lineage.world.object.magic.Haste.clone(BuffController.getPool(lineage.world.object.magic.Haste.class), s, -1, false));
                    }
                }
                // 2. 용기 처리 (201번) - 무한(-1)
                if (setoption.isBrave()) {
                    lineage.bean.database.Skill s = lineage.database.SkillDatabase.find(201);
                    if (s != null) {
                        BuffController.append(this.cha, lineage.world.object.magic.GreaterHaste.clone(BuffController.getPool(lineage.world.object.magic.GreaterHaste.class), s, -1, false));
                        // 용기는 속도 2단계로 강제 갱신 필요 (BuffController 내부 로직이 약할 경우 대비)
                        this.cha.setSpeed(2);
                    }
                }
            } else {
                // [해제 시]
                // 1. 헤이스트 제거
                if (setoption.isHaste()) {
                    BuffController.remove(this.cha, lineage.world.object.magic.Haste.class);
                }
                // 2. 용기 제거
                if (setoption.isBrave()) {
                    BuffController.remove(this.cha, lineage.world.object.magic.GreaterHaste.class);
                    // 클로드의 지적대로 setSpeed(0)은 삭제!
                    // BuffController가 다른 버프 유무를 판단해 알아서 속도를 재조정하도록 맡깁니다.
                }
            }
        }
    }
}

관련자료

댓글 3
profile_image

개인구축러님의 댓글의 댓글

광도 헤이효과처럼 광도 착용 중엔 용기 효과가 무한으로 발동되는걸 원해서요.
광도 헤이는 코드에 무한 구현되어있습니다.
db에서 광도 brave값 true로 바꾸면 그냥 용기의 물약 한개 먹은것처럼 발동되고 끝나버리네요.
전체 4,007 / 1 페이지
번호
제목
이름

포인트 랭킹


알림 0