"frame"은 일종의 변수입니다. 두 개로 분리한 애드온에 같은 변수명를 사용해서 발생하는 에러입니다. 분리된 애드온의 변수명을 다르게 지정하면 됩니다. 스크린 샷 1~10라인과 13~22라인을 비교해 보면 변수명이 다른 것을 확인할 수 있습니다.

언급하신 "파란부분"이 안 보이는데, 제 웹브라우저가 잘못된 건가요? 대략 어느 부분을 말하는지 짐작은 가지만 상관은 없습니다. 이벤트가 발생하면 두 개의 애드온에서 지정한 이벤트 핸들러가 모두 호출이 되고 각각 알아서 일합니다. 한 번의 이벤트 발생에 두 개의 함수를 호출하는 만큼 더 많은 CPU자원을 사용하겠지만, 여러 애드온에서 이런 저런 이벤트에 따라서 많은 함수들이 호출되고 있으니 거기에 한개 더 늘어난다고 와우가 느려지거나 그러지는 않습니다.

하지만 의도대로 하려면 파일을 분리하는 것 보다는 한 개의 파일로 하되 특정 직업일 때만 실행되는 코드를 조건문안에 넣어주는 게 효과적일 겁니다. 스크린 샷의 26~37 라인의 예에서 처럼 캐릭터의 직업을 확인(30라인 코드)해서 if문(31라인 이후 코드)으로 특정 직업이면 코드를 실행하고 아니면 건너뛰는 방법입니다.