Files
2022-10-26 12:25:11 +08:00

117 lines
4.4 KiB
Ruby

def setup(checker)
# 검증할 스크립트 파일 목록 구성
# 스크립트 간 교차 검증의 경우 등록 순서가 중요할 수도 있음
# 아이템
checker.add(true, 'AccessoryItemInfo.txt')
checker.add(true, 'ArmorItemInfo.txt')
checker.add(true, 'WasteItemInfo.txt')
checker.add(true, 'WeaponItemInfo.txt')
checker.add(true, 'ChargeItemInfo.txt')
checker.add(true, 'Limitediteminfo.txt')
# 스킬 & 스타일
checker.add(true, 'SkillInfo.txt')
checker.add(true, 'StyleInfo.txt')
# NPC
checker.add(true, 'NPCInfo.txt')
checker.add(true, 'NPCExtraInfo.txt')
checker.add(true, 'Group.txt')
checker.add(true, 'Regen.txt')
checker.add(true, 'Regen_pos.txt')
# AI
checker.add(true, 'AICommonInfo.txt')
checker.add(true, 'AITypeInfo.txt')
# 월드
checker.add(true, 'World.txt')
checker.add(true, 'Worldsubinfo.txt')
# 필드
checker.add(true, 'Field.txt')
checker.add(true, 'Fieldwmo.txt')
checker.add(true, 'Fieldwut.txt')
checker.add(true, 'MapEnterancePortal.txt')
# Drop
checker.add(true, 'DropRatioInfo.txt')
checker.add(true, 'ItemTypeDropRatio.txt')
checker.add(true, 'ItemTypeList.txt')
# 미션 랭킹
checker.add(true, 'MissionRankingReward.txt')
checker.add(true, 'MissionRankingLVArea.txt')
# 기타
checker.add(true, 'ShopInfo.txt')
checker.add(true, 'StateInfo.txt')
checker.add(true, 'ItemCompositeInfo.txt')
checker.add(true, 'SocketOptionInfo.txt')
checker.add(true, 'MissionRewardInfo.txt')
checker.add(true, 'FormulaRatio.txt')
checker.add(true, 'StyleQuickRegistInfo.txt')
checker.add(true, 'Enchant.txt')
checker.add(true, 'ExtraStoneOptionInfo.txt')
checker.add(true, 'ItemComposeList.txt')
checker.add(true, 'ItemCrystalizeList.txt')
checker.add(true, 'ExpValueInfo.txt')
checker.add(true, 'VSHuntingRewardInfo.txt')
checker.add(true, 'RewardInfoList.txt')
checker.add(true, 'SunEventInfo.txt')
checker.add(true, 'ArmorTypeDamageInfo.txt')
checker.add(true, 'PKScript.txt')
checker.add(true, 'RankOptionInfo.txt')
checker.add(true, 'InitCharInfoList.txt')
checker.add(true, 'MonsterSummon.txt')
checker.add(true, 'Filter.txt')
checker.add(true, 'FilterName.txt')
checker.add(true, 'PointRankingRule.txt')
checker.add(false, 'ExchangeRewardInfo.txt')
checker.add(true, 'Gambleoptionlist.txt')
checker.add(true, 'SetItemOptionInfo.txt')
checker.add(true, 'GuildRankInfo.txt')
checker.add(true, 'GuildRightInfo.txt')
checker.add(true, 'GuildMemberInfo.txt')
checker.add(true, 'Luckyiteminfo.txt')
checker.add(true, 'EventRewardInfo.txt')
checker.add(false, 'PetManageInfo.txt')
checker.add(false, 'EtherBulletInfo.txt')
checker.add(true, 'LotteryInfo.txt')
checker.add(true, 'QuestInfo.txt')
checker.add(true, 'ACScript.txt')
checker.add(true, 'SSQInfo.txt')
checker.add(true, 'SSQPattern.txt')
checker.add(false, 'StrengthPenalty.txt')
checker.add(false, 'CollectInfo.txt')
checker.add(false, 'GroupInfo.txt')
checker.add(false, 'RidingInfo.txt')
checker.add(true, 'MatchInfo.txt')
checker.add(true, 'RequireFieldLevelInfo.txt')
checker.add(true, 'CurseTowerTime.txt')
checker.add(true, 'NewCharacterItemInfo.txt')
checker.add(true, 'ShoutRange.txt')
checker.add(true, 'AbusingOption.txt')
checker.add(false, 'DominationInfo.txt')
checker.add(false, 'DominationTimeInfo.txt')
end
# 스크립트 객체 팩토리 클래스
class ScriptFactory
# 스크립트 파일에 대응하는 스크립트 객체 생성
def ScriptFactory.create(required, name, path)
case name.downcase
when 'accessoryiteminfo.txt' then ItemInfoScript.new(required, name, path)
when 'armoriteminfo.txt' then ItemInfoScript.new(required, name, path)
when 'wasteiteminfo.txtt' then ItemInfoScript.new(required, name, path)
when 'weaponiteminfo.txt' then ItemInfoScript.new(required, name, path)
when 'chargeiteminfo.txt' then ItemInfoScript.new(required, name, path)
when 'filter.txt' then FilterScript.new(required, name, path)
when 'filtername.txt' then FilterScript.new(required, name, path)
when 'abusingoption.txt' then AbusingOptionScript.new(required, name, path)
else Script.new(required, name, path)
end
end
end