마법공격시 보라돌이,유저공격시 카오적용.txt
case 77: // 디스인티그레이트
if(!cha.get_Buff_사일런스()){
arrset = Possible(cha.get_x(),cha.get_y(), temp.get_x(), temp.get_y(), cha.get_map()); // 장매물이 잇나검색 <==추가
if(arrset == 0){ // 장애물이없다면
//엡솔소스
if(temp instanceof L1PcInstance){ // 유저라면
L1PcInstance use = (L1PcInstance)temp;
int MrDmg = (use.get_baseMr()/100)*Dmg;//유저 마방
int intpowerDmg = (cha.get_int()/100)*Dmg;//유저 인트
if(cha.Use_AttackCK(use)){ // 공격 가능 지역인지 검색
if(use.get_Buff_앱솔루트())
{//엡솔루트 상태이면
Dmg = 0;//데미지 0
}
if(use.get_Buff_포그())
{//어스바인드 상태이면
Dmg = 0;//데미지 0
}
if(use.get_Buff_EarthBind())
{//어스바인드 상태이면
Dmg = 0;//데미지 0
}
if(use.get_Buff_ShockSturn())
{//쇼크스턴 상태이면
Dmg = 0;//데미지 0
}
if(use.get_Buff_랜스()){
Dmg = 0;//데미지 0
}
if(cha.get_lawful()>=65536){
cha.AllsendPackets(cha.get_netConnection().bph().S_CharCriminal(cha, 30), true);
use.AllsendPackets(cha.get_netConnection().bph().S_CharCriminal(cha, 30), true);
cha.sendPackets(cha.get_netConnection().bph().get_AttackPacket().S_MagicAttackPacket(cha, use, Dmg, skills.getCastGfx()), true, true); // 마법쓰는액션
use.set_currentHp( use.get_currentHp() - ((Dmg +intpowerDmg)-MrDmg));//총합된데미지
}
if(use.is_isdead()){ // 만약 죽었다면
if((cha.get_wmp()>=0)&&(cha.get_wmp()<=15)){ // 노말존
if((use.get_wmp()>=0)&&(use.get_wmp()<=15)){ // 노말존
if(use.get_lawful() >= 65536){ // 카오가 아니라면
if(cha.get_lawful()>=65536){
cha.set_lawful(62536);
} else {
cha.set_lawful(cha.get_lawful()-5000); //카오상태에서 라우풀 캐릭을 죽였을시는 수치가 5000씩 감소
}
}else if (use.get_lawful() < 65536){ //카오라면 //내가 죽인 상대가 카오라면 라우풀은 그대로..
cha.set_lawful(cha.get_lawful());
}
}
}
}
}else{
cha.sendPackets(cha.get_netConnection().bph().get_AttackPacket().S_MagicAttackPacket(cha, use, 0, skills.getCastGfx()), true, true); // 마법쓰는액션
}
}else if(temp instanceof L1MonsterInstance){ // 몬스터라면
L1MonsterInstance mon = (L1MonsterInstance)temp;
int MrDmgmob = (mon.get_Mr()/100)*Dmg;//몹마방
int intpowerDmg = (cha.get_int()/100)*Dmg;//케릭인트
cha.sendPackets(cha.get_netConnection().bph().get_AttackPacket().S_MagicAttackPacket(cha, mon, Dmg, skills.getCastGfx()), true, true); // 마법쓰는액션
mon.set_currentHp( mon.get_currentHp() - ((Dmg + intpowerDmg) -MrDmgmob));//총합된데미지
//-- 몬스터 전투관련 인공지능 시작
mon.AddFightPlayer(cha);
mon.AddExpList(cha);
mon.FightStart(cha, false);
cha.AddFightList(mon);
}else if(temp instanceof L1NpcInstance){ // npc라면
L1NpcInstance npc = (L1NpcInstance)temp;
cha.sendPackets(cha.get_netConnection().bph().get_AttackPacket().S_MagicAttackPacket(cha, npc, Dmg, skills.getCastGfx()), true, true); // 마법쓰는액션
}
}
}else {
}
break;
빨간색 부분을 볼까요?
if(cha.get_lawful()>=65536){
cha.AllsendPackets(cha.get_netConnection().bph().S_CharCriminal(cha, 30), true);
use.AllsendPackets(cha.get_netConnection().bph().S_CharCriminal(cha, 30), true);
cha.sendPackets(cha.get_netConnection().bph().get_AttackPacket().S_MagicAttackPacket(cha, use, Dmg, skills.getCastGfx()), true, true); // 마법쓰는액션
use.set_currentHp( use.get_currentHp() - ((Dmg +intpowerDmg)-MrDmg));//총합된데미지
}
이상하죠? 마법보라 적용시키는데 시전자의 라우풀이 무슨관계일까요 ㅡ.ㅡ;
시전자가 카오면 당연히 적용되는거고 시전자가 뉴트럴이나 라우풀이어도 보라는 적용되는것인데.
대상의 라우풀 수치를 가져와야되는거였던 것이었죠 -_-;
if(use.get_lawful() >=65536){
cha.sendPackets(cha.get_netConnection().bph().S_CharCriminal(cha, 30), true, true);
}
cha.sendPackets(cha.get_netConnection().bph().get_AttackPacket().S_MagicAttackPacket(cha, use, Dmg, skills.getCastGfx()), true, true); // 마법쓰는액션
use.set_currentHp( use.get_currentHp() - ((Dmg +intpowerDmg)-MrDmg));//총합된데미지
요로코롬 살짜쿵 바까주시면 되겠습니다 (_ _)
출처 - 도우미님
[출처] 마법공격시 보라돌이,유저공격시 카오적용.txt (비공개 카페)

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