댄싱 블레이즈 (야매)
일단 앞서 하셨던 분들이 계시다면 도움좀 주세요 ``
야매기 때문에 이런저런 문제가 있습니다.
일단 사용하는거랑 잘 되는데, 이펙트가 맞는지 모르겠고, 파이어 웨폰을 사용하면 댄싱 블레이즈 효과가 사라집니다...
L1SKillId.java
public static final int BLESS_OF_FIRE = 155; // 이 부분 검색해서
public static final int DANCING_BLAZE = 155; // 댄싱 블레이즈로 바꿈
(이렇게 하면 기존에 BLESS_OF_FIRE 관련 부분 에러날 껍니다. 주석처리나 삭제하세요)
L1Skilluse.java
case WIND_WALK: { // 해당 부분 검색해서 끝나는곳 아래에 삽입
case DANCING_BLAZE: { // 처음 사용시
L1PcInstance pc = (L1PcInstance) cha;
if(pc.getWeapon().getItem().getType1() == 4 || pc.getWeapon().getItem().getType1() == 46){
pc.sendPackets(new S_SkillBrave(pc.getId(), 1, _getBuffIconDuration));
Broadcaster.broadcastPacket(pc, new S_SkillBrave(pc.getId(), 1, 0));
pc.sendPackets(new S_SkillIconAura(154, _getBuffIconDuration));
pc.getMoveState().setBraveSpeed(1);
} else {
pc.sendPackets(new S_SystemMessage("댄싱 블레이즈는 단검 또는 한손검을 착용해야 합니다.")); // 무기 확인
}
}
case WIND_WALK: // 해당 부분 검색해서 끝나는 곳 아래에 삽입
case DANCING_BLAZE: // 두번째 사용시
if(pc.getWeapon().getItem().getType1() == 4 || pc.getWeapon().getItem().getType1() == 46){
pc.sendPackets(new S_SkillBrave(pc.getId(), 1, _getBuffIconDuration));
Broadcaster.broadcastPacket(pc, new S_SkillBrave(pc.getId(), 1, 0));
pc.sendPackets(new S_SkillIconAura(154, _getBuffIconDuration));
} else {
pc.sendPackets(new S_SystemMessage("댄싱 블레이즈는 단검 또는 한손검을 착용해야 합니다."));
}
break;
L1SKillTimer.java
case WIND_WALK: // 이 부분 검색 해서 끝나는 곳 아래에 삽입
case DANCING_BLAZE:
if (cha instanceof L1PcInstance) {
L1PcInstance pc = (L1PcInstance) cha;
pc.sendPackets(new S_SkillBrave(pc.getId(), 0, 0));
Broadcaster.broadcastPacket(pc, new S_SkillBrave(pc.getId(), 0, 0));
pc.sendPackets(new S_SkillIconAura(154, 0));
}
cha.getMoveState().setBraveSpeed(0);
break;
C_SelectCharacter.java
case STATUS_HASTE: // 이 부분 검색해서 끝나는 곳 아래에 삽입
case DANCING_BLAZE:
if(pc.getEquipSlot().getWeapon().getItem().getType1() == 4 || pc.getEquipSlot().getWeapon().getItem().getType1() == 46){
pc.sendPackets(new S_SkillBrave(pc.getId(), 1, remaining_time));
pc.sendPackets(new S_SkillIconAura(154, remaining_time));
pc.getMoveState().setBraveSpeed(1);
}
break;
L1Pcinstance.java
public boolean isFastMovable() { // 이 부분 검색해서 끝나는 곳 아래에 삽입
public boolean isDancingBlaze() {
return getSkillEffectTimerSet().hasSkillEffect(L1SkillId.DANCING_BLAZE);
}
L1Teleportation.java
pc.setTeleport(false); // 이 부분 검색해서 아래에 삽입
if (pc.getSkillEffectTimerSet().hasSkillEffect(L1SkillId.DANCING_BLAZE)) {
pc.sendPackets(new S_SkillBrave(pc.getId(), 1, pc.getSkillEffectTimerSet().getSkillEffectTimeSec(L1SkillId.DANCING_BLAZE)));
pc.sendPackets(new S_SkillIconAura(154, pc.getSkillEffectTimerSet().getSkillEffectTimeSec(L1SkillId.DANCING_BLAZE)));
}
L1EquipmentSlot.java
private void setWeapon(L1ItemInstance weapon) {
_owner.setWeapon(weapon);
_owner.setCurrentWeapon(weapon.getItem().getType1());
weapon.startEquipmentTimer(_owner);
_weapon = weapon; // 여기까지 검색해서 바로 아래에 삽입
// 요정의 경우, 단검이나 한손검 착용이 아닌경우 댄싱 블레이즈 제거
if(_owner.isElf() && !(_weapon.getItem().getType1() == 4 || _weapon.getItem().getType1() == 46)){
_owner.sendPackets(new S_SkillBrave(_owner.getId(), 0, 0));
_owner.sendPackets(new S_SkillIconAura(154, 0));
_owner.getMoveState().setBraveSpeed(0);
}
AcceleratorChecker.java // 이거 없는 분은 아래꺼 안하셔도 무방합니다.
if (_pc.isBrave()) {
interval *= HASTE_RATE;
} // 해당 부분 검색해서 바로 밑에 아래 내용삽입
if (_pc.isDancingBlaze()){ // 댄싱 블레이즈
interval *= HASTE_RATE;
}
이렇게 하시면 야매로 구현된 댄싱 블레이즈가 가능하실껍니다.
(단 파이어 웨폰쓰면 효과가 사라짐... 크흡 야매라서 한계가 여실히 느껴집니다...)
직접 짜집기한 소스인데 뭐 무기도 체크하고 그렇긴 합니다 ㅠ
출저는 그냥 제가 짠거니까 올려도 되겠죠 `` 엄청 간만에 소스는 올리네요..
[출처] 댄싱 블레이즈 (야매) (비공개 카페)

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