close_btn
로그인, 회원가입후 더 많은 혜택을 누리세요 로그인 회원가입 닫기

짜집기 기르관련 스킬들

2016.07.07 10:16

준희미니 조회 수:80

몇분 쪽지온걸 이제 확인했네요 이런 미흡한소스라도 원하시는분들이 계시다니 용기내어 일단 올려볼게요..^^;;

 

소스는 정말 올리는게 부끄럽슴다 ... 막상 영상에서는 어떻게 보이실지모르겠지만..

 

정말 초보급의실력으로 만든것이기에 소스를보시면 정말 대충만들었구나 하실거예욤..ㅠㅠ

 

기존 기르타스관련 스킬에는 스킬사운드만 덮어서요 하기쉬우실거예여 스킬사운드 파일은 같이올려놓을게염..

 

비록 허약한소스이지만...서버여시는분들은 조금은 색다르게 교체해서 써주세요 흐흐....

 

기르타스관련한 모든그대로 복사신공으로 올려드리는거라 비교해서 적용하셔욤..

 

나비켓 skills 테이블

 

10126 기르타스(사풍) 0 0 0 0 0 0 0 0 none 3 20 1 0 0 0 0 64 0 -1 3 0 0  18 11573 0 0 0 0
10127 기르타스(아스크에이크) 0 0 0 0 0 0 0 0 none 3 20 1 0 0 0 0 64 0 0 15 0 0  18 11583 0 0 0 0
10128 기르타스(아이스 호흡) 0 0 0 0 0 0 0 0 none 3 20 1 0 0 0 0 64 0 6 3 0 0  12 2510 0 0 0 0
10129 기르타스(독무) 0 0 0 0 0 0 0 0 none 3 20 1 0 0 0 0 64 0 0 15 1 0  19 11577 0 0 0 0
10130 기르타스(블루 바리어) 0 0 0 0 0 0 0 8 none 0 0 0 0 0 0 0 2 0 0 5 1 0  12 2510 0 0 0 1200
242 기르타스(미티어스트라이크) 0 0 60 0 0 0 3000 0 attack 3 30 20 10 0 0 2 64 0 15 0 0 0  46 11473 0 0 0 0
243 기르타스독구름 0 0 8 0 0 0 0 10 attack 3 80 1 0 0 0 0 64 0 15 10 0 0  18 1263 0 0 0 0
244 기르파어윌 0 0 8 0 0 0 0 25 attack 3 60 50 0 0 0 1 64 0 15 5 0 0  75 11569 0 0 0 0

 

나비켓 mobskill 테이블

 

181163 0 기르타스(미티어) 2 10 0 0 -10 0 0 0 0 0 80 242 0 0 0 0 0 0
181163 1 기르타스(물리 공격 1) 1 60 0 0 -3 0 0 3 0 0 60 0 11597 74 0 0 0 0
181163 2 기르타스(물리 공격 2) 1 20 0 0 -3 0 0 3 0 0 50 0 0 46 0 0 0 0
181163 3 기르타스(아스크에이크) 2 20 0 0 -20 0 0 0 0 0 100 10127 0 0 0 0 0 0
181163 4 기르타스(독무) 2 20 0 0 -20 0 0 0 0 0 160 10129 0 0 0 0 0 0
181163 5 기르타스(아이스 호흡) 2 20 0 0 -20 0 0 0 0 0 100 10128 0 0 0 0 0 0
181163 6 기르타스(사풍) 2 10 0 0 -20 0 0 0 0 0 120 10126 0 0 0 0 0 0
181163 7 기르타스(블루 바리어) 2 20 30 0 -20 0 0 0 0 0 100 10130 0 0 0 0 0 0
181163 8 기르타스(쇼크스턴) 2 8 0 0 -10 0 0 0 0 0 0 30005 0 0 0 0 0 0
181163 9 기르타스독구름 2 6 0 0 -15 0 0 0 0 0 50 243 0 0 0 0 0 0
181163 10 기르타스전체운석 1 20 0 0 0 0 0 15 10 10 60 0 11584 46 0 0 0 0
181163 11 기르타스파어윌 2 30 0 0 -15 0 0 0 0 0 80 244 0 0 0 0 0 0
181163 12 기르오른손치기 1 20 0 0 0 0 3 3 3 3 50 0 11588 1 0 0 0 0
181163 13 기르양손찍기 1 20 0 0 0 0 3 3 3 3 50 0 11593 19 0 0 0 0

나비켓 npc 테이블

 

181163 기르타스 $4305  L1Monster 11490 85 532767 10000 -70 80 35 40 42 45 180 9802000 -900 large 8 3 0 0 2450 3600 3600 3 0 0 1 1 1  0 -1 -1 0 0 0 15000 500 58400 230 0 0 0 0 0 0 0 50 1 0 0 1 0 0 -1 0 0 1 0 0
181164   기르화염이펙트 L1Effect 11465 0 0 0 0 0 0 0 0 0 0 0 0 large 0 0 0 860 0 0 0 0 0 0 1 1 1  0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0
181165   기르화염이펙트 L1Effect 11467 0 0 0 0 0 0 0 0 0 0 0 0 small 0 0 0 860 0 0 0 0 0 0 1 1 1  0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0

L1Skillid.java

 

/** 기르타스 스킬 */
 public static final int TROGIR_MILPITAS   = 242;
 public static final int TROGIR_MILPITAS1  = 243;
 public static final int TROGIR_MILPITAS2  = 244;
 public static final int TROGIR_MILPITAS3  = 10126;
 public static final int TROGIR_MILPITAS4  = 10127;
 public static final int TROGIR_MILPITAS5  = 10128;
 public static final int TROGIR_MILPITAS6  = 10129;
 public static final int TROGIR_MILPITAS7  = 10130;

 

L1SkillUse.java

 

private void sendGrfx(boolean isSkillAction) {
  int actionId = _skill.getActionId();
  int castgfx = _skill.getCastGfx();
  if (castgfx == 0) {
   return;
  } //검색하신후 밑에부분에

 

////////추가 독구름(기르타스)///////////////
  if (_skillId == TROGIR_MILPITAS1) {
   int xx = 0;
   int yy = 0;
   int xx1 = 0;
   int yy1 = 0;
   int xx2 = 0;
   int yy2 = 0;
   Random random = new Random();
   int randomxy = random.nextInt(8);
   int a1 = 3 + randomxy;
   int a2 = -3 - randomxy;
   int b1 = 2 + randomxy;
   int b2 = -2 - randomxy;
   int heading = _npc.getMoveState().getHeading();
   switch (heading){
   case 1: xx = a1; yy = a2; yy1 = a2; xx2 = a1; break;
   case 2: xx = a1; xx1 = b1; yy1 = a2; xx2 = b1; yy2 = a1; break;
   case 3: xx = a1; yy = a1; xx1 = a1; yy2 = a1; break;
   case 4: yy = a1; xx1 = a1; yy1 = b1; xx2 = a2; yy2 = b1; break;
   case 5: xx = a2; yy = a1; yy1 = a1; xx2 = a2; break;
   case 6: xx = a2; xx1 = b2; yy1 = a1; xx2 = b2; yy2 = a2; break;
   case 7: xx = a2; yy = a2; xx1 = a2; yy2 = a2; break;
   case 0: yy = a2; xx1 = a2; yy1 = b2; xx2 = a1; yy2 = b2; break;
   default:break;}
   int x = _npc.getX() + xx; int y = _npc.getY() + yy;
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x, y, _user.getMapId());  
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x, y + 3, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x, y - 4, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x, y - 6, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x - 1, y, _user.getMapId());  
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x - 2, y + 2, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x - 3, y - 4, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x - 4, y - 8, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x + 5, y + 2, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x + 6, y - 5, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x + 5, y, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x + 3, y - 4, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x + 5, y - 6, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x + 7, y - 4, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x + 3, y, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x + 1, y + 3, _user.getMapId());
   int x1 = _npc.getX() + xx1; int y1 = _npc.getY() + yy1;
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1, y1, _user.getMapId());  
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1, y1 + 1, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1, y1 - 2, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1, y1 - 3, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1 - 6, y1, _user.getMapId());  
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1 - 5, y1 + 7, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1 - 4, y1 - 6, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1 - 3, y1 - 1, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1 + 5, y1 + 2, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1 + 4, y1 - 3, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1 + 3, y1, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1 + 2, y1 - 4, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1 + 8, y1 - 5, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1 + 7, y1 - 2, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1 + 6, y1, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x1 + 5, y1 + 3, _user.getMapId());
   int x2 = _npc.getX() + xx2; int y2 = _npc.getY() + yy2;
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2, y2, _user.getMapId());  
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2, y2 + 3, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2, y2 - 4, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2, y2 - 6, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2 - 2, y2, _user.getMapId());  
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2 - 8, y2 + 2, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2 - 6, y2 - 3, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2 - 4, y2 - 7, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2 + 5, y2 + 5, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2 + 3, y2 - 3, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2 + 7, y2, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2 + 6, y2 - 6, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2 + 8, y2 - 5, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2 + 3, y2 - 7, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2 + 4, y2, _user.getMapId());
   L1EffectSpawn.getInstance().spawnEffect(71268, _skill.getBuffDuration() * 1000, x2 + 6, y2 + 2, _user.getMapId());
   return;
  } //공개된소스에 범위수치만 제멋대로 막 변경해놓은것뿐이없네요..^^;;

 

PC, NPC 양쪽 모두 효과가 있는 스킬

switch(_skillId){ //검색하신후 적당한곳에 추가

 

/** 기르타스 관련 */
    case TROGIR_MILPITAS3:{
     L1PcInstance pc = (L1PcInstance) cha;
     pc.sendPackets(new S_Sound(11002));
     pc.broadcastPacket(new S_Sound(11002));
     dmg = _magic.calcMagicDamage(_skillId);
    }
    break;
    case TROGIR_MILPITAS4:{
     L1PcInstance pc = (L1PcInstance) cha;
     pc.sendPackets(new S_Sound(11003));
     pc.broadcastPacket(new S_Sound(11003));
     dmg = _magic.calcMagicDamage(_skillId);
    }
    break;
    case TROGIR_MILPITAS5:{
     L1PcInstance pc = (L1PcInstance) cha;
     pc.sendPackets(new S_Sound(11004));
     pc.broadcastPacket(new S_Sound(11004));
     dmg = _magic.calcMagicDamage(_skillId);
    }
    break;
    case TROGIR_MILPITAS6:{
     L1PcInstance pc = (L1PcInstance) cha;
     pc.sendPackets(new S_Sound(11008));
     pc.broadcastPacket(new S_Sound(11008));
     dmg = _magic.calcMagicDamage(_skillId);
    }
    break;
    case TROGIR_MILPITAS7:{
     L1PcInstance pc = (L1PcInstance) cha;
     pc.sendPackets(new S_Sound(11007));
     pc.broadcastPacket(new S_Sound(11007));
     dmg = _magic.calcMagicDamage(_skillId);
    }
    break;
    case TROGIR_MILPITAS2:{
     L1PcInstance pc = (L1PcInstance) cha;
     pc.sendPackets(new S_Sound(11009));
     pc.broadcastPacket(new S_Sound(11009));
     int[] mobArray = { 181164 };
     int rnd = _random.nextInt(mobArray.length);
     L1SpawnUtil.spawn(pc, mobArray[rnd], 5, 6 * 2000, true);
     pc.sendPackets(new S_Sound(11006));
     pc.broadcastPacket(new S_Sound(11006));
     pc.sendPackets(new S_SkillSound(pc.getId(), 11473));
     pc.broadcastPacket(new S_SkillSound(pc.getId(), 11473));
     dmg = _magic.calcMagicDamage(_skillId);
    }
    break;

 

L1SpawnUtil.java

public static void spawn(L1PcInstance pc, int npcId, int randomRange,
   int timeMillisToDelete, boolean isUsePainwand) { //검색

L1World.getInstance().addVisibleObject(npc); //이쯤 밑에부분에

 

if (npcId == 181164) { //기르타스 큰화염
    npc.broadcastPacket(new S_NPCPack(npc));
    npc.broadcastPacket(new S_DoActionGFX(npc.getId(), 4));
    npc.setActionStatus(4); 
    npc.broadcastPacket(new S_NPCPack(npc));
    npc.broadcastPacket(new S_DoActionGFX(npc.getId(), 0));
    npc.setActionStatus(0);
    npc.broadcastPacket(new S_NPCPack(npc));
    npc.broadcastPacket(new S_DoActionGFX(npc.getId(), 8));
    npc.setActionStatus(8);
   }

 

_random 오류나시는분은 l1j.server.server.clientpackets 쪽에 _random.java 클래스파일생성하신후

 

package l1j.server.server.clientpackets;

public class _random {

 public static int nextInt(int i) {
  // TODO Auto-generated method stub
  return 0;
 }

}

 

막상 소스를보시면 정말 별거없네요 ㅠㅠ;; 이게 잘해놓은건지 어디서 에러를 낼수있는건아닐지..

 

걱정반...비록좋은소스는 못되지만 잘이용하셔서 좋은 보스몬스터 멎지게만드시길바랄게요

 

모든소스는 직접만든게아닌 기본적인틀은 공개소스를 바탕으로 되어있습니다..출처를 자세히몰라서 죄송합니다 ㅠㅠ..

 

P.S 정말 어려운부탁일수도있겠지만 저도 자수정이 너무 하고싶습니다 ㅠ ㅠ...패킷만이라도 부탁좀드릴순없을까요 흑흑..

 

앱솔 방어부분 이렇게넣으면될까요..

 

L1SkillUse.java

 

if (pc.getSkillEffectTimerSet().hasSkillEffect(ABSOLUTE_BARRIER)) {  //검색후 아래추가

 

|| _skillId == TROGIR_MILPITAS
      || _skillId == TROGIR_MILPITAS1
      || _skillId == TROGIR_MILPITAS2
      || _skillId == TROGIR_MILPITAS3
      || _skillId == TROGIR_MILPITAS4
      || _skillId == TROGIR_MILPITAS5
      || _skillId == TROGIR_MILPITAS6
      || _skillId == TROGIR_MILPITAS7) {

return true;
    } else {
     return false;
    }
   }
  }

 

여긴 카운터매직부분인데 기르타스 전용궁극기하나 염두해두고 카매를뚫어버리도록...ㅎㅎ;; 여긴 원하시는분만;;

private static final int[] EXCEPT_COUNTER_MAGIC = {  //검색후 안쪽에추가

TROGIR_MILPITAS,

 

앗 ...빠진부분이또;;

 

private void addMagicList(L1Character cha, boolean repetition) { //검색후

if (_skillId == CURSE_POISON //이쪽부근속에 쏘옥

|| _skillId == TROGIR_MILPITAS1 //추가

 

case CURSE_POISON: //검색하신후

case TROGIR_MILPITAS1:{ //추가

L1DamagePoison.doInfection(_user, cha, 3000, 5);
    }
    break;

 

 
 

[출처] 짜집기 기르관련 스킬들.. (비공개 카페)

번호 제목 글쓴이 날짜 조회 수
공지 소스자료는 직접 올려주세요 게임존 2017.06.06 550
509 UI6 펫/서먼 업데이트 준희미니 2016.07.07 84
508 인벤정보 표기 B.C 준희미니 2016.07.07 88
507 펫 밥 그 릇. 준희미니 2016.07.07 37
506 에바)샤르나 75,80변신 준희미니 2016.07.07 72
505 UI6차 기억창 로딩부분 18세이상만님께서 수정했던 자료 준희미니 2016.07.07 43
504 일팩용 3.53c 옵코드 준희미니 2016.07.07 57
503 중계기 노딜X그!! 준희미니 2016.07.07 231
502 기르관련 맵(중앙광장포함) 준희미니 2016.07.07 41
501 혈맹채팅 안되시는 분들... 준희미니 2016.07.07 22
500 혈맹업데이트(수정) 준희미니 2016.07.07 48
499 숨계도리아 준희미니 2016.07.07 26
498 일본팩에서 해상전 추출 통으로~ 준희미니 2016.07.07 69
497 일본팩에서 해상전 추출 통으로~ 2 준희미니 2016.07.07 19
496 일본팩에서 해상전 추출 통으로~ 3 준희미니 2016.07.07 18
495 일본팩에서 해상전 추출 통으로~ 4 준희미니 2016.07.07 17
494 일본팩에서 해상전 추출 통으로~ 마지막 준희미니 2016.07.07 23
493 일팩해상전 에바 적용중 에러 준희미니 2016.07.07 40
492 일팩 해상전 및 기억 temp창 수정할수있는 통소스 파일.파헤쳐야함 file 준희미니 2016.07.07 20
491 스킬 gfx 변경 사항 준희미니 2016.07.07 195
490 오렌 리뉴얼중 X 지역 땅굴포탈 좌표 준희미니 2016.07.07 16
489 편지 공개않하는 이유라도 있나요? 준희미니 2016.07.07 61
488 해상전.에 몹나오게하는방법. (요청)허접자료임 고수분들패스 준희미니 2016.07.07 57
487 편지 리스트 삭제 준희미니 2016.07.07 16
» 짜집기 기르관련 스킬들 준희미니 2016.07.07 80
485 해상전 일팩소스 에바소스로 변경작업. 에러 5남기고..필요한파일첨부.조금의희망 준희미니 2016.07.07 30
484 만피제한소스 뤼니징 2016.07.07 64
483 사운드 재생 PACKETBOX 준희미니 2016.07.07 44
482 차단, 스펨편지차단 준희미니 2016.07.07 21
481 차단, 스펨편지차단 준희미니 2016.07.07 13
480 기억창 사라지는 문제점 해결.. 소스아님 준희미니 2016.07.07 57
479 픽시의 변신 막대 준희미니 2016.07.07 43
478 혈맹창 file 준희미니 2016.07.07 1013
477 혈맹창 준희미니 2016.07.07 42
476 다중 편지 발송.. 준희미니 2016.07.07 29
475 편지차단/차단 준희미니 2016.07.07 13
474 제가 설명했던 배열을 이용한 원형큐 예제입니다 file 준희미니 2016.07.07 51
473 방향오류 file 준희미니 2016.07.07 25
472 혈맹창고 이용 내역 준희미니 2016.07.05 38
471 특정렙특정맵에서 경험치 안먹게하기 준희미니 2016.07.05 45
470 말섬 리뉴얼 입니다 준희미니 2016.07.05 102
469 짜집기 단테스의유물상자^^;; file 준희미니 2016.07.05 111
468 심해 알드란 텔[능동적 자료] file 준희미니 2016.07.05 19
467 독 아이콘 eva 버전 file 준희미니 2016.07.05 48
466 MiNA 기준 실시간 포트 변경 준희미니 2016.07.05 49
465 그냥 별건아닌데 준희미니 2016.07.05 160
464 군주 파티시 피바 준희미니 2016.07.05 48
463 짜집기 혈맹버프^^;; 준희미니 2016.07.05 65
462 다이노 인형 짜집기 준희미니 2016.07.05 41
461 [UI6] 혈맹탈퇴 준희미니 2016.07.05 18
460 새로운 본던멥입니당 준희미니 2016.07.05 46